📄 codingparameter.h
字号:
public:
const MotionVectorSearchParams& getMotionVectorSearchParams () const {return m_cMotionVectorSearchParams; }
const LoopFilterParams& getLoopFilterParams () const {return m_cLoopFilterParams; }
MotionVectorSearchParams& getMotionVectorSearchParams () {return m_cMotionVectorSearchParams; }
LoopFilterParams& getLoopFilterParams () {return m_cLoopFilterParams; }
const LayerParameters& getLayerParameters ( UInt n ) const { return m_acLayerParameters[n]; }
LayerParameters& getLayerParameters ( UInt n ) { return m_acLayerParameters[n]; }
//TMM_WP
SampleWeightingParams& getSampleWeightingParams(UInt uiLayerId) {return m_cSampleWeightingParams[uiLayerId];}
//TMM_WP
const std::string& getInputFile () const { return m_cInputFile; }
Double getMaximumFrameRate () const { return m_dMaximumFrameRate; }
Double getMaximumDelay () const { return m_dMaximumDelay; }
UInt getTotalFrames () const { return m_uiTotalFrames; }
UInt getGOPSize () const { return m_uiGOPSize; }
UInt getDecompositionStages () const { return m_uiDecompositionStages; }
UInt getIntraPeriod () const { return m_uiIntraPeriod; }
UInt getIntraPeriodLowPass () const { return m_uiIntraPeriodLowPass; }
UInt getNumRefFrames () const { return m_uiNumRefFrames; }
UInt getBaseLayerMode () const { return m_uiBaseLayerMode; }
UInt getNumberOfLayers () const { return m_uiNumberOfLayers; }
Bool getExtendedPriorityId () const { return m_bExtendedPriorityId; }
UInt getNumSimplePris () const { return m_uiNumSimplePris; }
/* Void getSimplePriorityMap ( UInt uiSimplePri, UInt& uiTemporalLevel, UInt& uiLayer, UInt& uiQualityLevel )
{ uiTemporalLevel = m_uiTemporalLevelList[uiSimplePri];
uiLayer = m_uiDependencyIdList [uiSimplePri];
uiQualityLevel = m_uiQualityLevelList [uiSimplePri];
}
JVT-S036 lsj */
//TMM_WP
UInt getIPMode() const { return m_uiIPMode; }
UInt getBMode() const { return m_uiBMode; }
//TMM_WP
UInt getMVCmode () const { return m_uiMVCmode; }
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 getSuffixUnitEnable () const { return m_uiSuffixUnitEnable;} //JVT-S036 lsj
UInt getMMCOBaseEnable () const { return m_uiMMCOBaseEnable; } //JVT-S036 lsj
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 setMVCmode ( UInt p ) { m_uiMVCmode = 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(); }
//{{Adaptive GOP structure
// --ETRI & KHU
UInt getUseAGS () const { return m_uiUseAGS; }
Void setUseAGS (UInt p) { m_uiUseAGS = p; }
UInt getWriteGOPMode () const { return m_uiWriteGOPMode; }
Void setWriteGOPMode (UInt p) { m_uiWriteGOPMode = p; }
const std::string& getGOPModeFile () const { return m_cGOPModeFilename; }
Void setGOPModeFile (Char* p) { m_cGOPModeFilename = p; }
//}}Adaptive GOP structure
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 AR_FGS_MAX_BASE_WEIGHT - 1, to store it in 5-bit fixed-length
m_uiBaseWeightZeroBaseBlock = (uiBlock >= AR_FGS_MAX_BASE_WEIGHT - 1)
? AR_FGS_MAX_BASE_WEIGHT : uiBlock;
m_uiBaseWeightZeroBaseCoeff = (uiCoeff >= AR_FGS_MAX_BASE_WEIGHT - 1)
? AR_FGS_MAX_BASE_WEIGHT : 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)
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;
/* UInt m_uiTemporalLevelList[1 << PRI_ID_BITS];
UInt m_uiDependencyIdList [1 << PRI_ID_BITS];
UInt m_uiQualityLevelList [1 << PRI_ID_BITS];
JVT-S036 lsj */
EncoderConfigLineBase* m_pEncoderLines[MAX_CONFIG_PARAMS];
EncoderConfigLineBase* m_pLayerLines [MAX_CONFIG_PARAMS];
//{{Adaptive GOP structure
// --ETRI & KHU
UInt m_uiWriteGOPMode;
UInt m_uiUseAGS;
std::string m_cGOPModeFilename;
//}}Adaptive GOP structure
Double m_dLowPassEnhRef;
UInt m_uiBaseWeightZeroBaseBlock;
UInt m_uiBaseWeightZeroBaseCoeff;
UInt m_uiFgsEncStructureFlag;
UInt m_uiLowPassFgsMcFilter;
UInt m_uiMVCmode;
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_uiSuffixUnitEnable; //JVT-S036 lsj
UInt m_uiMMCOBaseEnable; //JVT-S036 lsj
};
#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 + -