📄 sequenceparameterset.h
字号:
Void setNumRefFrames ( UInt ui ) { m_uiNumRefFrames = ui; }
Void setGapsInFrameNumValueAllowedFlag ( Bool b ) { m_bGapsInFrameNumValueAllowedFlag = b; }
Void setFrameWidthInMbs ( UInt ui ) { m_uiFrameWidthInMbs = ui; }
Void setFrameHeightInMbs ( UInt ui ) { m_uiFrameHeightInMbs = ui; }
Void setDirect8x8InferenceFlag ( Bool b ) { m_bDirect8x8InferenceFlag = b; }
Void setInitState ( Bool b ) { m_bInitDone = b; }
Void setFGSInfoPresentFlag ( Bool b ) { m_bFGSInfoPresentFlag = b; }
Void setFGSCycleAlignedFragment ( Bool b ) { m_bFGSCycleAlignedFragment = b; }
Void setNumFGSVectModes ( UInt ui ) { m_uiNumFGSVectModes = ui; }
Void setFGSCodingMode ( UInt uiIndex, Bool b ) { m_abFGSCodingMode[uiIndex] = b; }
Void setGroupingSize ( UInt uiIndex, UInt ui ) { m_auiGroupingSize[uiIndex] = ui; }
Void setPosVect ( UInt uiIndex, UInt uiNum, UInt uiVect) { m_auiPosVect[uiIndex][uiNum] = uiVect; }
Void setInterlayerDeblockingPresent ( Bool b ) { m_bInterlayerDeblockingPresent = b ;}
Bool getInterlayerDeblockingPresent () const { return m_bInterlayerDeblockingPresent; }
Void setPaff ( UInt ui ) { m_uiPaff = ui; }
Void setFrameMbsOnlyFlag ( Bool b ) { m_bFrameMbsOnlyFlag = b; }
Void setMbAdaptiveFrameFieldFlag ( Bool b ) { m_bMbAdaptiveFrameFieldFlag = b; }
ErrVal initOffsetForRefFrame( UInt uiSize )
{
ROT ( uiSize<1 );
RNOK( m_piOffsetForRefFrame.uninit() );
RNOK( m_piOffsetForRefFrame.init( uiSize ) );
return Err::m_nOK;
}
ErrVal write( HeaderSymbolWriteIf* pcWriteIf ) const;
ErrVal read ( HeaderSymbolReadIf* pcReadIf,
NalUnitType eNalUnitType );
// TMM_ESS {
Void setResizeParameters ( const ResizeParameters * params );
Void getResizeParameters ( ResizeParameters * params ) const;
Void setExtendedSpatialScalability ( UInt ui ) { m_uiExtendedSpatialScalability = ui ;}
UInt getExtendedSpatialScalability () const { return m_uiExtendedSpatialScalability; }
// JVT-V035
Bool getAVCRewriteFlag () const { return m_bAVCRewriteFlag; }
Bool getAVCAdaptiveRewriteFlag () const { return m_bAVCAdaptiveRewriteFlag; }
Void setAVCRewriteFlag( Bool b ) { m_bAVCRewriteFlag = b; }
Void setAVCAdaptiveRewriteFlag ( Bool b )
{
if( getAVCRewriteFlag() == false && b == true )
printf("WARNING: Setting AVCAdaptiveRewriteFlag when AVCRewriteFlag is false.\n");
m_bAVCAdaptiveRewriteFlag = b;
}
// needs to be called after all the position vectors are set
ErrVal checkPosVectors ( UInt uiIndex )
{
UInt uiTotalVectorLength = 0;
Bool bBadVector = false;
m_auiNumPosVectors[ uiIndex ] = 0;
while( uiTotalVectorLength < 16 && m_auiNumPosVectors[ uiIndex ] < 16 )
{
if( m_auiPosVect[uiIndex][m_auiNumPosVectors[uiIndex]] == 0 )
{
bBadVector = true;
break;
}
if( m_auiPosVect[uiIndex][m_auiNumPosVectors[uiIndex]] > (16 - uiTotalVectorLength) )
m_auiPosVect[uiIndex][m_auiNumPosVectors[uiIndex]] = 16 - uiTotalVectorLength;
uiTotalVectorLength += m_auiPosVect[uiIndex][m_auiNumPosVectors[uiIndex]];
m_auiNumPosVectors[uiIndex]++;
}
if( bBadVector )
{
// set the vector length to 1
for( m_auiNumPosVectors[uiIndex] = 0; m_auiNumPosVectors[uiIndex] < 16; m_auiNumPosVectors[uiIndex] ++ )
m_auiPosVect[uiIndex][m_auiNumPosVectors[uiIndex]] = 1;
}
return Err::m_nOK;
}
// TMM_ESS }
Bool getRCDOBlockSizes () const { return m_bRCDOBlockSizes; }
Bool getRCDOMotionCompensationY() const { return m_bRCDOMotionCompensationY; }
Bool getRCDOMotionCompensationC() const { return m_bRCDOMotionCompensationC; }
Bool getRCDODeblocking () const { return m_bRCDODeblocking; }
Void setRCDOBlockSizes ( Bool b ) { m_bRCDOBlockSizes = b; }
Void setRCDOMotionCompensationY( Bool b ) { m_bRCDOMotionCompensationY = b; }
Void setRCDOMotionCompensationC( Bool b ) { m_bRCDOMotionCompensationC = b; }
Void setRCDODeblocking ( Bool b ) { m_bRCDODeblocking = b; }
Void set4TapMotionCompensationY( Bool b ) {m_b4TapMotionCompensationY = b; } // V090
Bool get4TapMotionCompensationY() const { return m_b4TapMotionCompensationY; } // V090
protected:
ErrVal xReadPicOrderCntInfo ( HeaderSymbolReadIf* pcReadIf );
static ErrVal xGetLevelLimit ( const LevelLimit*& rpcLevelLimit,
Int iLevelIdc );
ErrVal xReadFrext ( HeaderSymbolReadIf* pcReadIf );
ErrVal xWriteFrext ( HeaderSymbolWriteIf* pcWriteIf ) const;
protected:
Bool m_bInitDone;
NalUnitType m_eNalUnitType;
UInt m_uiLayerId;
Profile m_eProfileIdc;
Bool m_bConstrainedSet0Flag;
Bool m_bConstrainedSet1Flag;
Bool m_bConstrainedSet2Flag;
Bool m_bConstrainedSet3Flag;
UInt m_uiLevelIdc;
UInt m_uiSeqParameterSetId;
Bool m_bSeqScalingMatrixPresentFlag;
ScalingMatrix m_cSeqScalingMatrix;
UInt m_uiLog2MaxFrameNum;
UInt m_uiPicOrderCntType;
UInt m_uiLog2MaxPicOrderCntLsb;
Bool m_bDeltaPicOrderAlwaysZeroFlag;
Int m_iOffsetForNonRefPic;
Int m_iOffsetForTopToBottomField;
UInt m_uiNumRefFramesInPicOrderCntCycle;
DynBuf<Int> m_piOffsetForRefFrame;
UInt m_uiNumRefFrames;
Bool m_bGapsInFrameNumValueAllowedFlag;
UInt m_uiFrameWidthInMbs;
UInt m_uiFrameHeightInMbs;
Bool m_bDirect8x8InferenceFlag;
// TMM_ESS {
UInt m_uiExtendedSpatialScalability;
UInt m_uiChromaPhaseXPlus1;
UInt m_uiChromaPhaseYPlus1;
Int m_iScaledBaseLeftOffset;
Int m_iScaledBaseTopOffset;
Int m_iScaledBaseRightOffset;
Int m_iScaledBaseBottomOffset;
#ifdef _JVTV074_
public:
UInt getNumResampleFiltersMinus1( ) const { return m_uiNumResampleFiltersMinus1;}
protected:
UInt m_uiNumResampleFiltersMinus1;
Bool m_bIntegerPosFilterPresentFlag[16];
Int m_iResampleFilterParamA[16][9];
Int m_iResampleFilterParamB[16][9];
#endif //_JVTV074_
// TMM_ESS }
Bool m_bInterlayerDeblockingPresent;
// VW {
UInt m_auiNumRefIdxUpdateActiveDefault[2];
// VW }
Bool m_bFGSInfoPresentFlag;
Bool m_bFGSCycleAlignedFragment;
UInt m_uiNumFGSVectModes;
Bool m_abFGSCodingMode [MAX_NUM_FGS_VECT_MODES];
UInt m_auiGroupingSize [MAX_NUM_FGS_VECT_MODES];
UInt m_auiNumPosVectors[MAX_NUM_FGS_VECT_MODES];
UInt m_auiPosVect [MAX_NUM_FGS_VECT_MODES] [16];
UInt m_uiPaff;
Bool m_bFrameMbsOnlyFlag;
Bool m_bMbAdaptiveFrameFieldFlag;
Bool m_bRCDOBlockSizes;
Bool m_bRCDOMotionCompensationY;
Bool m_bRCDOMotionCompensationC;
Bool m_bRCDODeblocking;
Bool m_b4TapMotionCompensationY; // V090
Bool m_bAVCRewriteFlag; // V-035
Bool m_bAVCAdaptiveRewriteFlag;
private:
static const LevelLimit m_aLevelLimit[52];
};
H264AVC_NAMESPACE_END
#endif // !defined(AFX_SEQUENCEPARAMETERSET_H__66281283_5BFB_429A_B722_6DDE7A11D086__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -