📄 codingparameter.h
字号:
, m_bEncSIP (false)
//S051}
//JVT-T054{
, m_uiLayerCGSSNR ( 0 )
, m_uiQualityLevelCGSSNR ( 0 )
, m_uiBaseLayerCGSSNR ( 0 )
, m_uiBaseQualityLevelCGSSNR ( 0 )
//DS_FIX_FT_09_2007
, m_bDiscardable ( true )
, m_uiQLDiscardable ( MAX_QUALITY_LEVELS )
//~DS_FIX_FT_09_2007
//JVT-T054}
, m_uiExplicitQPCascading( 0 )
{
for( UInt ui = 0; ui < MAX_DSTAGES; ui++ ) m_adQpModeDecision[ui] = 0.00;
::memset( m_uiMGSVect, 0x00, 16*sizeof(UInt) );
for( UInt uiTTL = 0; uiTTL < MAX_TEMP_LEVELS; uiTTL++ )
{
m_adDeltaQPTLevel[uiTTL] = 0.0;
}
}
virtual ~LayerParameters()
{
// JVT-S054 (ADD) ->
if (m_puiGridSliceWidthInMbsMinus1 != NULL)
{
free(m_puiGridSliceWidthInMbsMinus1);
m_puiGridSliceWidthInMbsMinus1 = NULL;
}
if (m_puiGridSliceHeightInMbsMinus1 != NULL)
{
free(m_puiGridSliceHeightInMbsMinus1);
m_puiGridSliceHeightInMbsMinus1 = NULL;
}
if (m_puiFirstMbInSlice != NULL)
{
free(m_puiFirstMbInSlice);
m_puiFirstMbInSlice = NULL;
}
if (m_puiLastMbInSlice != NULL)
{
free(m_puiLastMbInSlice);
m_puiLastMbInSlice = NULL;
}
if (m_puiSliceId != NULL)
{
free(m_puiSliceId);
m_puiSliceId = NULL;
}
// JVT-S054 (ADD) <-
}
//===== get =====
UInt getDependencyId () const {return m_uiDependencyId; }
UInt getFrameWidth () const {return m_uiFrameWidth; }
UInt getFrameHeight () const {return m_uiFrameHeight; }
Double getInputFrameRate () const {return m_dInputFrameRate; }
Double getOutputFrameRate () const {return m_dOutputFrameRate; }
const std::string& getInputFilename () const {return m_cInputFilename; }
const std::string& getOutputFilename () const {return m_cOutputFilename; }
Bool getEntropyCodingModeFlag () const {return m_uiEntropyCodingModeFlag == 1; }
UInt getAdaptiveTransform () const {return m_uiAdaptiveTransform; }
UInt getMaxAbsDeltaQP () const {return m_uiMaxAbsDeltaQP; }
Double getBaseQpResidual () const {return m_dBaseQpResidual; }
Double getQpModeDecision (UInt ui) const {return m_adQpModeDecision[ui]; }
Double getQpModeDecisionLP () const {return m_dQpModeDecisionLP; }
UInt getInterLayerPredictionMode () const {return m_uiInterLayerPredictionMode; }
UInt getBaseQualityLevel () const {return m_uiBaseQualityLevel; }
UInt getMotionInfoMode () const {return m_uiMotionInfoMode; }
const std::string& getMotionInfoFilename () const {return m_cMotionInfoFilename; }
//JVT-V079 Low-complexity MB mode decision {
UInt getLowComplexMbEnable () const { return m_uiLowComplexMbEnable; }
//JVT-V079 Low-complexity MB mode decision }
UInt getDecompositionStages () const {return m_uiDecompositionStages; }
UInt getNotCodedStages () const {return m_uiNotCodedStages ; }
UInt getTemporalResolution () const {return m_uiTemporalResolution; }
UInt getFrameDelay () const {return m_uiFrameDelay; }
UInt getBaseLayerSpatRes () const {return m_uiBaseLayerSpatRes; }
UInt getBaseLayerTempRes () const {return m_uiBaseLayerTempRes; }
Bool getContrainedIntraForLP () const {return m_bConstrainedIntraPredForLP; }
UInt getForceReorderingCommands () const {return m_uiForceReorderingCommands; }
UInt getBaseLayerId () const {return m_uiBaseLayerId; }
UInt getMbAff () const {return m_uiMbAff;}
UInt getPAff () const {return m_uiPAff;}
Bool getUseRedundantSliceFlag () const {return m_uiUseRedundantSlice == 1; } //JVT-Q054 Red. Picture
Bool getUseRedundantKeySliceFlag () const {return m_uiUseRedundantKeySlice == 1; } //JVT-W049
//--ICU/ETRI FMO Implementation : FMO start
UInt getNumSliceGroupsMinus1() const {return m_uiNumSliceGroupsMinus1;} //for test
UInt getSliceGroupMapType() const {return m_uiSliceGroupMapType; }
Bool getSliceGroupChangeDirection_flag () const {return m_bSliceGroupChangeDirection_flag;}
UInt getSliceGroupChangeRateMinus1 () const {return m_uiSliceGroupChangeRateMinus1;}
UInt getNumSliceGroupMapUnitsMinus1() const {return m_uiNumSliceGroupMapUnitsMinus1;}
UInt getSliceGroupId(Int i) const {return m_uiSliceGroupId[i];}
UInt getSliceMode() const {return m_uiSliceMode;}
UInt getSliceArgument() const { return m_uiSliceArgument ;}
const std::string& getSliceGroupConfigFileName() const{ return m_cSliceGroupConfigFileName;}
UInt getUseRedundantSlice() const { return m_uiUseRedundantSlice;}
UInt* getArrayRunLengthMinus1 () const {return (UInt*)m_uiRunLengthMinus1;}
UInt* getArrayTopLeft () const {return (UInt*)m_uiTopLeft;}
UInt* getArrayBottomRight () const {return (UInt*)m_uiBottomRight;}
UInt* getArraySliceGroupId() const {return (UInt*)m_uiSliceGroupId;}
//--ICU/ETRI FMO Implementation : FMO end
//<-- consider ROI Extraction ICU/ETRI DS
const std::string& getROIConfigFileName() const{ return m_cROIConfigFileName;}
UInt getNumROI() const {return m_uiNumROI;} //for test
UInt* getROIID () const {return (UInt*)m_uiROIID;}
UInt* getSGID () const {return (UInt*)m_uiSGID;}
UInt* getSLID () const {return (UInt*)m_uiSLID;}
//--> consider ROI Extraction ICU/ETRI DS
UInt getMGSVect (UInt uiNum) const { return m_uiMGSVectorMode ? m_uiMGSVect[uiNum] : (uiNum == 0 ? 16 : 0); }
Bool getTCoeffLevelPredictionFlag () const { return m_bAVCRewriteFlag==1; }
Bool getAVCAdaptiveRewriteFlag () const { return m_bAVCAdaptiveRewriteFlag==1; }
UInt getSliceSkip() const { return m_uiSliceSkip; }
UInt getSliceSkipTLevelStart() const { return m_uiSliceSkipTLevelStart; }
Void setSliceSkip( UInt uiSliceSkip ) { m_uiSliceSkip = uiSliceSkip; }
Void setSliceSkipTLevelStart( UInt ui ) { m_uiSliceSkipTLevelStart = ui; }
//===== set =====
Void setDependencyId (UInt p) { m_uiDependencyId = p; }
Void setFrameWidth (UInt p) { m_uiFrameWidth = p; }
Void setFrameHeight (UInt p) { m_uiFrameHeight = p; }
Void setInputFrameRate (Double p) { m_dInputFrameRate = p; }
Void setOutputFrameRate (Double p) { m_dOutputFrameRate = p; }
Void setInputFilename (Char* p) { m_cInputFilename = p; }
Void setOutputFilename (Char* p) { m_cOutputFilename = p; }
Void setEntropyCodingModeFlag (Bool p) { m_uiEntropyCodingModeFlag = p; }
Void setAdaptiveTransform (UInt p) { m_uiAdaptiveTransform = p; }
Void setMaxAbsDeltaQP (UInt p) { m_uiMaxAbsDeltaQP = p; }
Void setBaseQpResidual (Double p) { m_dBaseQpResidual = p; }
Void setQpModeDecision (UInt n,
Double p) { m_adQpModeDecision [n] = p; }
Void setQpModeDecisionLP (Double p) { m_dQpModeDecisionLP = p; }
Void setInterLayerPredictionMode (UInt p) { m_uiInterLayerPredictionMode = p; }
Void setMotionInfoMode (UInt p) { m_uiMotionInfoMode = p; }
Void setMotionInfoFilename (Char* p) { m_cMotionInfoFilename = p; }
Void setDecompositionStages (UInt p) { m_uiDecompositionStages = p; }
Void setNotCodedStages (UInt p) { m_uiNotCodedStages = p; }
Void setTemporalResolution (UInt p) { m_uiTemporalResolution = p; }
Void setFrameDelay (UInt p) { m_uiFrameDelay = p; }
Void setBaseLayerSpatRes (UInt p) { m_uiBaseLayerSpatRes = p; }
Void setBaseLayerTempRes (UInt p) { m_uiBaseLayerTempRes = p; }
Void setBaseQualityLevel (UInt p) { m_uiBaseQualityLevel = p; }
Void setContrainedIntraForLP () { m_bConstrainedIntraPredForLP = true; }
Void setForceReorderingCommands (UInt p) { m_uiForceReorderingCommands = p; }
Void setBaseLayerId (UInt p) { m_uiBaseLayerId = p; }
Void setMbAff (UInt p) { m_uiMbAff = p; }
Void setPAff (UInt p) { m_uiPAff = p; }
ResizeParameters& getResizeParameters () { return m_cResizeParameters; }
const std::string& getESSFilename () { return m_cESSFilename; }
// JVT-Q065 EIDR{
Int getIDRPeriod () { return m_iIDRPeriod; }
Bool getBLSkipEnable () { return m_bBLSkipEnable; }
Void setBLSkipEnable( Bool b ) { m_bBLSkipEnable = b; }
// JVT-Q065 EIDR}
UInt getPLR () { return m_uiPLR; } //JVT-R057 LA-RDO
Void setPLR (UInt ui){m_uiPLR=ui;} //JVT-W049
//===== check =====
ErrVal check();
//--ICU/ETRI FMO Implementation
Void setSliceGroupId(int i, UInt value) { m_uiSliceGroupId[i] = value;}
Void setUseRedundantSliceFlag(Bool b) { m_uiUseRedundantSlice = b; } // JVT-Q054 Red. Picture
Void setUseRedundantKeySliceFlag(UInt b) { m_uiUseRedundantKeySlice = b; } //JVT-W049
//S051{
const std::string& getInSIPFileName () const { return m_cInSIPFileName; }
const std::string& getOutSIPFileName () const { return m_cOutSIPFileName; }
Void setInSIPFileName (Char* p) { m_cInSIPFileName=p; }
Void setOutSIPFileName (Char* p) { m_cOutSIPFileName=p; }
Void setAnaSIP (UInt uiAnaSIP){ m_uiAnaSIP = uiAnaSIP;}
Void setEncSIP (Bool bEncSIP){ m_bEncSIP = bEncSIP;}
UInt getAnaSIP (){ return m_uiAnaSIP; }
Bool getEncSIP (){ return m_bEncSIP; }
//S051}
//JVT-T054{
UInt getLayerCGSSNR () { return m_uiLayerCGSSNR;}
UInt getQualityLevelCGSSNR () { return m_uiQualityLevelCGSSNR;}
UInt getNumberOfQualityLevelsCGSSNR () const;
UInt getBaseLayerCGSSNR () { return m_uiBaseLayerCGSSNR;}
UInt getBaseQualityLevelCGSSNR () { return m_uiBaseQualityLevelCGSSNR;}
Void setLayerCGSSNR (UInt ui) { m_uiLayerCGSSNR = ui;}
Void setQualityLevelCGSSNR (UInt ui) { m_uiQualityLevelCGSSNR = ui;}
Void setBaseLayerCGSSNR (UInt ui) { m_uiBaseLayerCGSSNR = ui;}
Void setBaseQualityLevelCGSSNR (UInt ui) { m_uiBaseQualityLevelCGSSNR = ui;}
//DS_FIX_FT_09_2007
Void setNonDiscardable () { m_bDiscardable = false;}
Void setQLDiscardable (UInt ui) { m_uiQLDiscardable = ui;}
UInt getQLDiscardable () { return m_uiQLDiscardable;}
//~DS_FIX_FT_09_2007
Bool isDiscardable () { return m_bDiscardable;}
//JVT-T054}
UInt getExplicitQPCascading () const { return m_uiExplicitQPCascading; }
Double getDeltaQPTLevel ( UInt ui ) const { return m_adDeltaQPTLevel[ui]; }
Void setExplicitQPCascading ( UInt ui ) { m_uiExplicitQPCascading = ui; }
Void setDeltaQPTLevel ( UInt tl,
Double d ) { m_adDeltaQPTLevel[tl] = d; }
Void setInterlaced( Bool b ) { m_bInterlaced = b; }
Bool isInterlaced() const { return m_bInterlaced; }
public:
UInt m_uiDependencyId;
UInt m_uiFrameWidth;
UInt m_uiFrameHeight;
Double m_dInputFrameRate;
Double m_dOutputFrameRate;
std::string m_cInputFilename;
std::string m_cOutputFilename;
UInt m_uiEntropyCodingModeFlag;
UInt m_uiAdaptiveTransform;
UInt m_uiMaxAbsDeltaQP;
Double m_dBaseQpResidual;
Double m_adQpModeDecision[MAX_DSTAGES];
Double m_dQpModeDecisionLP;
UInt m_uiInterLayerPredictionMode;
Bool m_bConstrainedIntraPredForLP;
UInt m_uiForceReorderingCommands;
UInt m_uiBaseLayerId;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -