📄 codingparameter.h
字号:
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 getLayerId () const {return m_uiLayerId; }
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; }
UInt getClosedLoop () const {return m_uiClosedLoop; }
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 getNumFGSLayers () const {return m_dNumFGSLayers; }
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; }
UInt getFGSMode () const {return m_uiFGSMode; }
const std::string& getFGSFilename () const {return m_cFGSRateFilename; }
Double getFGSRate () const {return m_dFGSRate; }
UInt getDecompositionStages () const {return m_uiDecompositionStages; }
UInt getNotCodedMCTFStages () const {return m_uiNotCodedMCTFStages; }
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 getUseDiscardable () const {return m_bUseDiscardable;} //JVT-P031
Double getPredFGSRate () const {return m_dPredFGSRate;} //JVT-P031
Bool getUseRedundantSliceFlag () const {return m_uiUseRedundantSlice == 1; } //JVT-Q054 Red. Picture
//--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 getFGSCodingMode () { return m_uiFGSCodingMode; }
UInt getGroupingSize () { return m_uiGroupingSize; }
UInt getPosVect (UInt uiNum) {return m_uiPosVect[uiNum];}
Bool getAVCRewriteFlag () const { return m_bAVCRewriteFlag==1; }
Bool getAVCAdaptiveRewriteFlag () const { return m_bAVCAdaptiveRewriteFlag==1; }
//===== set =====
Void setLayerId (UInt p) { m_uiLayerId = 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 setClosedLoop (UInt p) { m_uiClosedLoop = 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 setNumFGSLayers (Double p) { m_dNumFGSLayers = 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 setFGSMode (UInt p) { m_uiFGSMode = p; }
Void setFGSFilename (Char* p) { m_cFGSRateFilename = p; }
Void setFGSRate (Double p) { m_dFGSRate = p; }
Void setDecompositionStages (UInt p) { m_uiDecompositionStages = p; }
Void setNotCodedMCTFStages (UInt p) { m_uiNotCodedMCTFStages = 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; }
Void setUseDiscardable (Bool b) {m_bUseDiscardable = b;} //JVT-P031
Void setPredFGSRate (Double d) {m_dPredFGSRate = d;} //JVT-P031
Void setFGSCodingMode ( UInt ui ) { m_uiFGSCodingMode = ui; }
Void setGroupingSize ( UInt ui ) { m_uiGroupingSize = ui; }
Void setPosVect ( UInt uiNum, UInt uiVect) { m_uiPosVect[uiNum] = uiVect; }
// TMM_ESS {
int getExtendedSpatialScalability () { return m_ResizeParameter.m_iExtendedSpatialScalability; }
int getSpatialScalabilityType () { return m_ResizeParameter.m_iSpatialScalabilityType; }
Void setResizeParameters (ResizeParameters *p) { memcpy(&m_ResizeParameter, p, sizeof(ResizeParameters)); }
ResizeParameters* getResizeParameters () {return &m_ResizeParameter; }
// TMM_ESS }
// 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
//===== check =====
ErrVal check();
//--ICU/ETRI FMO Implementation
Void setSliceGroupId(int i, UInt value) { m_uiSliceGroupId[i] = value;}
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;
// do not allow 1, to store it in 5-bit fixed-length
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;
}
UInt getFGSMotionMode() { return m_uiFGSMotionMode; }
Void setFGSMotionMode( UInt uiFGSMotionMode ) { m_uiFGSMotionMode = uiFGSMotionMode; }
Void setUseRedundantSliceFlag(Bool b) { m_uiUseRedundantSlice = b; } // JVT-Q054 Red. Picture
//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 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;}
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 setUseSmoothedRef( UInt ui) { m_uiUseSmoothedRef = ui;}//JVT-V058
UInt getUseSmoothedRef() { return m_uiUseSmoothedRef;} //JVT-V058
public:
UInt m_uiLayerId;
UInt m_uiFrameWidth;
UInt m_uiFrameHeight;
Double m_dInputFrameRate;
Double m_dOutputFrameRate;
std::string m_cInputFilename;
std::string m_cOutputFilename;
UInt m_uiClosedLoop;
UInt m_uiEntropyCodingModeFlag;
UInt m_uiAdaptiveTransform;
UInt m_uiMaxAbsDeltaQP;
Double m_dBaseQpResidual;
Double m_dNumFGSLayers;
Double m_adQpModeDecision[MAX_DSTAGES];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -