⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 codingparameter.h

📁 jsvm开发代码包括抽样,编码,抽取,解码等一系列功能,可以做工具或研究用
💻 H
📖 第 1 页 / 共 4 页
字号:
  UInt                            getAVCmode              ()              const   { return m_uiAVCmode; }
  UInt                            getFrameWidth           ()              const   { return m_uiFrameWidth; }
  UInt                            getFrameHeight          ()              const   { return m_uiFrameHeight; }
  UInt                            getSymbolMode           ()              const   { return m_uiSymbolMode; }
  UInt                            get8x8Mode              ()              const   { return m_ui8x8Mode; }
  Double                          getBasisQp              ()              const   { return m_dBasisQp; }
  UInt                            getDPBSize              ()              const   { return m_uiDPBSize; }
  UInt                            getNumDPBRefFrames      ()              const   { return m_uiNumDPBRefFrames; }
  UInt                            getLog2MaxFrameNum      ()              const   { return m_uiLog2MaxFrameNum; }
  UInt                            getLog2MaxPocLsb        ()              const   { return m_uiLog2MaxPocLsb; }
  std::string                     getSequenceFormatString ()              const   { return m_cSequenceFormatString; }
  Double                          getDeltaQpLayer         ( UInt ui )     const   { return m_adDeltaQpLayer[ui]; }
  UInt                            getMaxRefIdxActiveBL0   ()              const   { return m_uiMaxRefIdxActiveBL0; }
  UInt                            getMaxRefIdxActiveBL1   ()              const   { return m_uiMaxRefIdxActiveBL1; }
  UInt                            getMaxRefIdxActiveP     ()              const   { return m_uiMaxRefIdxActiveP; }

  Void                            setInputFile            ( Char*   p )   { m_cInputFile            = p; }

  UInt                            getLARDOEnable          ()              const   { return m_uiLARDOEnable;} //JVT-R057 LA-RDO
  UInt							              getPreAndSuffixUnitEnable	  ()		      const	  { return m_uiPreAndSuffixUnitEnable;} //prefix unit
	UInt							              getMMCOBaseEnable		  ()			  const	  { return m_uiMMCOBaseEnable; } //JVT-S036 lsj
  // JVT-T073 {
  UInt                            getNestingSEIEnable     ()              const   { return m_uiNestingSEIEnable; }
  UInt                            getSceneInfoEnable      ()              const   { return m_uiSceneInfoEnable; }
  // JVT-T073 }

  Void                            setMaximumFrameRate     ( Double  d )   { m_dMaximumFrameRate     = d; }
  Void                            setMaximumDelay         ( Double  d )   { m_dMaximumDelay         = d; }
  Void                            setTotalFrames          ( UInt    n )   { m_uiTotalFrames         = n; }
  Void                            setGOPSize              ( UInt    n )   { m_uiGOPSize             = n; }
  Void                            setDecompositionStages  ( UInt    n )   { m_uiDecompositionStages = n; }
  Void                            setIntraPeriod          ( UInt    n )   { m_uiIntraPeriod         = n; }
  Void                            setIntraPeriodLowPass   ( UInt    n )   { m_uiIntraPeriodLowPass  = n; }
  Void                            setNumRefFrames         ( UInt    n )   { m_uiNumRefFrames        = n; }
  Void                            setBaseLayerMode        ( UInt    n )   { m_uiBaseLayerMode       = n; }
  Void                            setNumberOfLayers       ( UInt    n )   { m_uiNumberOfLayers      = n; }
  Void                            setExtendedPriorityId   ( Bool    b )   { m_bExtendedPriorityId   = b; }
  Void                            setNumSimplePris        ( UInt    n )   { m_uiNumSimplePris       = n; }
 /* Void                            setSimplePriorityMap ( UInt uiSimplePri, UInt uiTemporalLevel, UInt uiLayer, UInt uiQualityLevel )
                                                                          { m_uiTemporalLevelList[uiSimplePri] = uiTemporalLevel;
                                                                            m_uiDependencyIdList [uiSimplePri] = uiLayer;
                                                                            m_uiQualityLevelList [uiSimplePri] = uiQualityLevel;
                                                                          }
 JVT-S036 lsj */
  Void                            setAVCmode              ( UInt    p )   { m_uiAVCmode             = p; }
  Void                            setFrameWidth           ( UInt    p )   { m_uiFrameWidth          = p; }
  Void                            setFrameHeight          ( UInt    p )   { m_uiFrameHeight         = p; }
  Void                            setSymbolMode           ( UInt    p )   { m_uiSymbolMode          = p; }
  Void                            set8x8Mode              ( UInt    p )   { m_ui8x8Mode             = p; }
  Void                            setBasisQp              ( Double  p )   { m_dBasisQp              = p; }
  Void                            setDPBSize              ( UInt    p )   { m_uiDPBSize             = p; }
  Void                            setNumDPBRefFrames      ( UInt    p )   { m_uiNumDPBRefFrames     = p; }
  Void                            setLog2MaxFrameNum      ( UInt    p )   { m_uiLog2MaxFrameNum     = p; }
  Void                            setLog2MaxPocLsb        ( UInt    p )   { m_uiLog2MaxPocLsb       = p; }
  Void                            setSequenceFormatString ( Char*   p )   { m_cSequenceFormatString = p; }
  Void                            setDeltaQpLayer         ( UInt    n,
                                                            Double  p )   { m_adDeltaQpLayer[n]     = p; }
  Void                            setMaxRefIdxActiveBL0   ( UInt    p )   { m_uiMaxRefIdxActiveBL0  = p; }
  Void                            setMaxRefIdxActiveBL1   ( UInt    p )   { m_uiMaxRefIdxActiveBL1  = p; }
  Void                            setMaxRefIdxActiveP     ( UInt    p )   { m_uiMaxRefIdxActiveP    = p; }

  ErrVal                          check                   ();
  
  // TMM_ESS 
  ResizeParameters*               getResizeParameters  ( UInt    n )    { return m_acLayerParameters[n].getResizeParameters(); }

  Void                            setLowPassEnhRef        ( Double d )   
  { 
    m_dLowPassEnhRef = ( d < 0.0 ) ? 0.0 : ( ( d > 1.0 ) ? 1.0 : d );
  }

  Double                          getLowPassEnhRef        ()            { return m_dLowPassEnhRef;        }
  Void                            setAdaptiveRefFGSWeights( UInt  uiBlock, UInt  uiCoeff )
  {
    // do not allow 1, to store it in 5-bit fixed-length
    AOT( uiBlock > AR_FGS_MAX_BASE_WEIGHT );
    m_uiBaseWeightZeroBaseBlock = (uiBlock <= 1) ? 0 : uiBlock; 

    AOT( uiCoeff > AR_FGS_MAX_BASE_WEIGHT );
    m_uiBaseWeightZeroBaseCoeff = (uiCoeff <= 1) ? 0 : uiCoeff;
  }
  Void                            getAdaptiveRefFGSWeights( UInt& uiBlock, UInt& uiCoeff )
  { 
    uiBlock = m_uiBaseWeightZeroBaseBlock; 
    uiCoeff = m_uiBaseWeightZeroBaseCoeff;
  }

  Void                            setFgsEncStructureFlag( UInt  flag )
  {
    m_uiFgsEncStructureFlag = flag;
  }
  UInt                            getFgsEncStructureFlag( )
  { 
    return m_uiFgsEncStructureFlag; 
  }

  Void                            setLowPassFgsMcFilter   ( UInt ui )   { m_uiLowPassFgsMcFilter  = ui;   }
  UInt                            getLowPassFgsMcFilter   ()            { return m_uiLowPassFgsMcFilter;  }

  Int							  getNonRequiredEnable    ()			{ return m_bNonRequiredEnable; }  //NonRequired JVT-Q066 (06-04-08)
  Void                            setFGSParallelDecodingFlag  ( Bool bFlag )  { m_bFGSParallelDecodingFlag = bFlag; }
  Bool                            getFGSParallelDecodingFlag  ()              { return m_bFGSParallelDecodingFlag;  }

//JVT-T054{
  UInt                            getCGSSNRRefinement     ()              const   { return m_uiCGSSNRRefinementFlag;}
  UInt                            getMaxLayerCGSSNR       ()              const   { return m_uiMaxLayerCGSSNR;}
  UInt                            getMaxQualityLevelCGSSNR ()             const   { return m_uiMaxQualityLevelCGSSNR;}
  Void                            setCGSSNRRefinement     ( UInt    b )   { m_uiCGSSNRRefinementFlag = b; }
  Void                            setMaxLayerCGSSNR       ( UInt    ui )  { m_uiMaxLayerCGSSNR       = ui; }
  Void                            setMaxQualityLevelCGSSNR( UInt    ui )  { m_uiMaxQualityLevelCGSSNR= ui; }
//JVT-T054}
// JVT-U085 LMI {
  Bool                            getTlevelNestingFlag    ()              const   { return m_uiTlevelNestingFlag > 0 ? true : false; }
  Void                            setTlevelNestingFlag    ( UInt  ui )    { m_uiTlevelNestingFlag = ui; }
// JVT-U085 LMI }
// JVT-U116 LMI {
  Bool                            getTl0PicIdxPresentFlag        ()              const   { return m_uiTl0PicIdxPresentFlag > 0 ? true : false; }
  Void                            setTl0PicIdxPresentFlag        ( UInt  ui )    { m_uiTl0PicIdxPresentFlag = ui; }
// JVT-U116 LMI }

  //JVT-U106 Behaviour at slice boundaries{
  void   setCIUFlag(UInt  flag)
  {
	  m_uiCIUFlag=flag;
  }
  UInt   getCIUFlag()
  {
	  return m_uiCIUFlag;
  }
  //JVT-U106 Behaviour at slice boundaries}

  UInt  getRCDOBlockSizes         ()  const { return m_uiRCDOBlockSizes; }
  UInt  getRCDOMotionCompensationY()  const { return m_uiRCDOMotionCompensationY; }
  UInt  getRCDOMotionCompensationC()  const { return m_uiRCDOMotionCompensationC; }
  UInt  getRCDODeblocking         ()  const { return m_uiRCDODeblocking; }

  UInt  get4TapMotionCompensationY()  const { return m_ui4TapMotionCompensationY; }  // V090
  Void  set4TapMotionCompensationY( UInt ui )  { m_ui4TapMotionCompensationY = ui; } // V090

  Void  setRCDOBlockSizes         ( UInt ui )  { m_uiRCDOBlockSizes          = ui; }
  Void  setRCDOMotionCompensationY( UInt ui )  { m_uiRCDOMotionCompensationY = ui; }
  Void  setRCDOMotionCompensationC( UInt ui )  { m_uiRCDOMotionCompensationC = ui; }
  Void  setRCDODeblocking         ( UInt ui )  { m_uiRCDODeblocking          = ui; }

  Void  setEncodeKeyPictures      ( UInt ui )          { m_uiEncodeKeyPictures = ui; }
  UInt  getEncodeKeyPictures      ()           const   { return m_uiEncodeKeyPictures; }

  Void  setMGSKeyPictureControl   ( UInt ui )          { m_uiMGSKeyPictureControl = ui; }
  UInt  getMGSKeyPictureControl   ()           const   { return m_uiMGSKeyPictureControl; }

  Void  setMGSKeyPictureMotRef    ( UInt ui )          { m_uiMGSKeyPictureMotionRefinement = ui; }
  UInt  getMGSKeyPictureMotRef    ()           const   { return m_uiMGSKeyPictureMotionRefinement; }

private:
  UInt                            getLogFactor            ( Double  r0,
                                                            Double  r1 );


protected:
  std::string               m_cInputFile;
  Double                    m_dMaximumFrameRate;
  Double                    m_dMaximumDelay;
  UInt                      m_uiTotalFrames;

  UInt                      m_uiGOPSize;
  UInt                      m_uiDecompositionStages;
  UInt                      m_uiIntraPeriod;
  UInt                      m_uiIntraPeriodLowPass;
  UInt                      m_uiNumRefFrames;
  UInt                      m_uiBaseLayerMode;

  MotionVectorSearchParams  m_cMotionVectorSearchParams;
  LoopFilterParams          m_cLoopFilterParams;

  UInt                      m_uiNumberOfLayers;
  LayerParameters           m_acLayerParameters[MAX_LAYERS];
  Bool                      m_bExtendedPriorityId;
  UInt                      m_uiNumSimplePris;

  EncoderConfigLineBase*    m_pEncoderLines[MAX_CONFIG_PARAMS];
  EncoderConfigLineBase*    m_pLayerLines  [MAX_CONFIG_PARAMS];

  Double                    m_dLowPassEnhRef;
  UInt                      m_uiBaseWeightZeroBaseBlock;
  UInt                      m_uiBaseWeightZeroBaseCoeff;
  UInt                      m_uiFgsEncStructureFlag;
  UInt                      m_uiLowPassFgsMcFilter;

  UInt                      m_uiAVCmode;
  UInt                      m_uiFrameWidth;
  UInt                      m_uiFrameHeight;
  UInt                      m_uiSymbolMode;
  UInt                      m_ui8x8Mode;
  Double                    m_dBasisQp;
  UInt                      m_uiDPBSize;
  UInt                      m_uiNumDPBRefFrames;
  UInt                      m_uiLog2MaxFrameNum;
  UInt                      m_uiLog2MaxPocLsb;
  std::string               m_cSequenceFormatString;
  Double                    m_adDeltaQpLayer[6];
  UInt                      m_uiMaxRefIdxActiveBL0;
  UInt                      m_uiMaxRefIdxActiveBL1;
  UInt                      m_uiMaxRefIdxActiveP;

//TMM_WP
  UInt m_uiIPMode;
  UInt m_uiBMode;

  SampleWeightingParams m_cSampleWeightingParams[MAX_LAYERS];
//TMM_WP

  Int						m_bNonRequiredEnable; //NonRequired JVT-Q066
  UInt                       m_uiLARDOEnable; //JVT-R057 LA-RDO

  UInt						m_uiPreAndSuffixUnitEnable; //JVT-S036 lsj 
  UInt						m_uiMMCOBaseEnable;  //JVT-S036 lsj

  Bool            m_bFGSParallelDecodingFlag;

//JVT-T054{
  UInt                      m_uiCGSSNRRefinementFlag;
  UInt                      m_uiMaxLayerCGSSNR;
  UInt                      m_uiMaxQualityLevelCGSSNR;
//JVT-T054}
//JVT-T073 {
  UInt                      m_uiNestingSEIEnable;
  UInt                      m_uiSceneInfoEnable;
//JVT-T073 }
// JVT-U085 LMI 
  UInt                      m_uiTlevelNestingFlag;
// JVT-U116 LMI 
  UInt                      m_uiTl0PicIdxPresentFlag;
  //JVT-U106 Behaviour at slice boundaries{
  UInt                      m_uiCIUFlag;
  //JVT-U106 Behaviour at slice boundaries}

  UInt    m_uiRCDOBlockSizes;
  UInt    m_uiRCDOMotionCompensationY;
  UInt    m_uiRCDOMotionCompensationC;
  UInt    m_uiRCDODeblocking;

  UInt    m_ui4TapMotionCompensationY;  // V090

  UInt    m_uiEncodeKeyPictures;  // 0:only FGS[default], 1:FGS&MGS, 2:always[useless]
  UInt    m_uiMGSKeyPictureControl;
  UInt    m_uiMGSKeyPictureMotionRefinement;
};

#if defined( MSYS_WIN32 )
# pragma warning( default: 4275 )
#endif


H264AVC_NAMESPACE_END


#endif // !defined(AFX_CODINGPARAMETER_H__8403A680_A65D_466E_A411_05C3A7C0D59F__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -