📄 sliceheaderbase.h
字号:
Bool getDiscardableFlag () const { return m_bDiscardableFlag; }
Bool getOutputFlag () const { return m_bOutputFlag; }
Void setNalRefIdc ( NalRefIdc eNalRefIdc ) { m_eNalRefIdc = eNalRefIdc; }
Void setNalUnitType ( NalUnitType eNalUnitType ) { m_eNalUnitType = eNalUnitType; }
Void setIdrFlag ( Bool bIdrFlag ) { m_bIdrFlag = bIdrFlag; }
Void setPriorityId ( UInt uiPriorityId ) { m_uiPriorityId = uiPriorityId; }
Void setNoInterLayerPredFlag ( Bool bNoInterLayerPredFlag ) { m_bNoInterLayerPredFlag = bNoInterLayerPredFlag; }
Void setDependencyId ( UInt uiDependencyId ) { m_uiDependencyId = uiDependencyId; }
Void setQualityId ( UInt uiQualityId ) { m_uiQualityId = uiQualityId; }
Void setTemporalId ( UInt uiTemporalId ) { m_uiTemporalId = uiTemporalId; }
Void setUseRefBasePicFlag ( Bool bUseRefBasePicFlag ) { m_bUseRefBasePicFlag = bUseRefBasePicFlag; }
Void setDiscardableFlag ( Bool bDiscardableFlag ) { m_bDiscardableFlag = bDiscardableFlag; }
Void setOutputFlag ( Bool bOutputFlag ) { m_bOutputFlag = bOutputFlag; }
private:
Bool m_bForbiddenZeroBit;
NalRefIdc m_eNalRefIdc;
NalUnitType m_eNalUnitType;
Bool m_bReservedOneBit;
Bool m_bIdrFlag;
UInt m_uiPriorityId;
Bool m_bNoInterLayerPredFlag;
UInt m_uiDependencyId;
UInt m_uiQualityId;
UInt m_uiTemporalId;
Bool m_bUseRefBasePicFlag;
Bool m_bDiscardableFlag;
Bool m_bOutputFlag;
UInt m_uiReservedThree2Bits;
};
class H264AVCCOMMONLIB_API AUDelimiter : public NalUnitHeader
{
public:
AUDelimiter();
AUDelimiter( const NalUnitHeader& rcNalUnitHeader );
AUDelimiter( const AUDelimiter& rcAUDelimiter );
virtual ~AUDelimiter();
Void copy ( const AUDelimiter& rcAUDelimiter, Bool bInclusiveNALUnitHeader = true );
ErrVal write ( HeaderSymbolWriteIf& rcWriteIf, Bool bInclusiveNALUnitHeader = true ) const;
ErrVal read ( HeaderSymbolReadIf& rcReadIf, Bool bInclusiveNALUnitHeader = false );
UInt getPrimaryPicType () const { return m_uiPrimaryPicType; }
Void setPrimaryPicType ( UInt uiPrimaryPicType ) { m_uiPrimaryPicType = uiPrimaryPicType; }
private:
UInt m_uiPrimaryPicType;
};
class H264AVCCOMMONLIB_API EndOfSequence : public NalUnitHeader
{
public:
EndOfSequence();
EndOfSequence( const NalUnitHeader& rcNalUnitHeader );
EndOfSequence( const EndOfSequence& rcEndOfSequence );
virtual ~EndOfSequence();
Void copy ( const EndOfSequence& rcEndOfSequence, Bool bInclusiveNALUnitHeader = true );
ErrVal write ( HeaderSymbolWriteIf& rcWriteIf, Bool bInclusiveNALUnitHeader = true ) const;
ErrVal read ( HeaderSymbolReadIf& rcReadIf, Bool bInclusiveNALUnitHeader = false );
};
class H264AVCCOMMONLIB_API EndOfStream : public NalUnitHeader
{
public:
EndOfStream();
EndOfStream( const NalUnitHeader& rcNalUnitHeader );
EndOfStream( const EndOfStream& rcEndOfStream );
virtual ~EndOfStream();
Void copy ( const EndOfStream& rcEndOfStream, Bool bInclusiveNALUnitHeader = true );
ErrVal write ( HeaderSymbolWriteIf& rcWriteIf, Bool bInclusiveNALUnitHeader = true ) const;
ErrVal read ( HeaderSymbolReadIf& rcReadIf, Bool bInclusiveNALUnitHeader = false );
};
class H264AVCCOMMONLIB_API FillerData : public NalUnitHeader
{
public:
FillerData();
FillerData( const NalUnitHeader& rcNalUnitHeader );
FillerData( const FillerData& rcFillerData );
virtual ~FillerData();
Void copy ( const FillerData& rcFillerData, Bool bInclusiveNalUnitHeader = true );
ErrVal writePrefix ( HeaderSymbolWriteIf& rcWriteIf, Bool bInclusiveNalUnitHeader = true ) const;
ErrVal write ( HeaderSymbolWriteIf& rcWriteIf, Bool bInclusiveNalUnitHeader = true ) const;
ErrVal read ( HeaderSymbolReadIf& rcReadIf, Bool bInclusiveNalUnitHeader = false );
UInt getNumFFBytes() const { return m_uiNumFFBytes; }
Void setNumFFBytes( UInt uiNumFFBytes ) { m_uiNumFFBytes = uiNumFFBytes; }
private:
UInt m_uiNumFFBytes;
};
class H264AVCCOMMONLIB_API PrefixHeader : public NalUnitHeader
{
public:
PrefixHeader();
PrefixHeader( const NalUnitHeader& rcNalUnitHeader );
PrefixHeader( const PrefixHeader& rcPrefixHeader );
virtual ~PrefixHeader();
Void copy ( const PrefixHeader& rcPrefixHeader, Bool bInclusiveNALUnitHeader = true );
ErrVal write ( HeaderSymbolWriteIf& rcWriteIf, Bool bInclusiveNALUnitHeader = true ) const;
ErrVal read ( HeaderSymbolReadIf& rcReadIf, Bool bInclusiveNALUnitHeader = false );
Bool getStoreRefBasePicFlag () const { return m_bStoreRefBasePicFlag; }
const DecRefPicMarking& getDecRefBasePicMarking () const { return m_cDecRefBasePicMarking; }
DecRefPicMarking& getDecRefBasePicMarking () { return m_cDecRefBasePicMarking; }
Void setStoreRefBasePicFlag ( Bool bStoreRefBasePicFlag ) { m_bStoreRefBasePicFlag = bStoreRefBasePicFlag; }
protected:
Bool m_bStoreRefBasePicFlag;
DecRefPicMarking m_cDecRefBasePicMarking;
private:
Bool m_bPrefixNalUnitAdditionalExtensionFlag;
};
class H264AVCCOMMONLIB_API SliceHeaderSyntax : public PrefixHeader
{
public:
SliceHeaderSyntax();
SliceHeaderSyntax( const NalUnitHeader& rcNalUnitHeader );
SliceHeaderSyntax( const PrefixHeader& rcPrefixHeader );
SliceHeaderSyntax( const SliceHeaderSyntax& rcSliceHeaderSyntax );
SliceHeaderSyntax( const SequenceParameterSet& rcSPS,
const PictureParameterSet& rcPPS );
virtual ~SliceHeaderSyntax();
ErrVal init ( const SequenceParameterSet& rcSPS,
const PictureParameterSet& rcPPS );
Void copy ( const SliceHeaderSyntax& rcSliceHeaderSyntax, Bool bInclusiveNalUnitHeader = true );
ErrVal writePrefix ( HeaderSymbolWriteIf& rcWriteIf, Bool bInclusiveNalUnitHeader = true ) const;
ErrVal write ( HeaderSymbolWriteIf& rcWriteIf, Bool bInclusiveNalUnitHeader = true ) const;
ErrVal read ( ParameterSetMng& rcParameterSetMng,
HeaderSymbolReadIf& rcReadIf, Bool bInclusiveNalUnitHeader = false );
Bool isPSlice () const { return ( m_eSliceType % 5 ) == P_SLICE; }
Bool isBSlice () const { return ( m_eSliceType % 5 ) == B_SLICE; }
Bool isISlice () const { return ( m_eSliceType % 5 ) == I_SLICE; }
Bool isSPSlice () const { return ( m_eSliceType % 5 ) == SP_SLICE; }
Bool isSISlice () const { return ( m_eSliceType % 5 ) == SI_SLICE; }
Bool isIntraSlice () const { return isISlice() || isSISlice (); }
Bool isPorSPSlice () const { return isPSlice() || isSPSlice (); }
Bool isInterSlice () const { return isBSlice() || isPorSPSlice (); }
Bool isMbaffFrame () const { AOF( parameterSetsInitialized() ); return getSPS().getMbAdaptiveFrameFieldFlag() && !m_bFieldPicFlag; }
Bool isFrameMbsOnly() const { AOF( parameterSetsInitialized() ); return getSPS().getFrameMbsOnlyFlag(); }
Int getPPSQp () const { AOF( parameterSetsInitialized() ); return getPPS().getPicInitQp(); }
UInt getFirstMbInSlice () const { return ( isMbaffFrame() ? m_uiFirstMbInSlice << 1 : m_uiFirstMbInSlice ); }
SliceType getSliceType () const { return SliceType( m_eSliceType % 5 ); }
UInt getPicParameterSetId () const { return m_uiPicParameterSetId; }
UInt getColourPlaneId () const { return m_uiColourPlaneId; }
UInt getFrameNum () const { return m_uiFrameNum; }
Bool getFieldPicFlag () const { return m_bFieldPicFlag; }
Bool getBottomFieldFlag () const { return m_bBottomFieldFlag; }
UInt getIdrPicId () const { return m_uiIdrPicId; }
UInt getPicOrderCntLsb () const { return m_uiPicOrderCntLsb; }
Int getDeltaPicOrderCntBottom () const { return m_iDeltaPicOrderCntBottom; }
Int getDeltaPicOrderCnt0 () const { return m_iDeltaPicOrderCnt0; }
Int getDeltaPicOrderCnt1 () const { return m_iDeltaPicOrderCnt1; }
UInt getRedundantPicCnt () const { return m_uiRedundantPicCnt; }
Bool getDirectSpatialMvPredFlag () const { return m_bDirectSpatialMvPredFlag; }
Bool getNumRefIdxActiveOverrideFlag () const { return m_bNumRefIdxActiveOverrideFlag; }
UInt getNumRefIdxL0ActiveMinus1 () const { return m_uiNumRefIdxL0ActiveMinus1; }
UInt getNumRefIdxL0Active () const { return m_uiNumRefIdxL0ActiveMinus1 + 1; }
UInt getNumRefIdxL1ActiveMinus1 () const { return m_uiNumRefIdxL1ActiveMinus1; }
UInt getNumRefIdxL1Active () const { return m_uiNumRefIdxL1ActiveMinus1 + 1; }
UInt getNumRefIdxActive ( ListIdx eListIdx ) const { return ( eListIdx == LIST_0 ? m_uiNumRefIdxL0ActiveMinus1 + 1 : m_uiNumRefIdxL1ActiveMinus1 + 1 ); }
const RefPicListReOrdering& getRefPicListReorderingL0 () const { return m_cRefPicListReorderingL0; }
RefPicListReOrdering& getRefPicListReorderingL0 () { return m_cRefPicListReorderingL0; }
const RefPicListReOrdering& getRefPicListReorderingL1 () const { return m_cRefPicListReorderingL1; }
RefPicListReOrdering& getRefPicListReorderingL1 () { return m_cRefPicListReorderingL1; }
const RefPicListReOrdering& getRefPicListReordering ( ListIdx eListIdx ) const { return ( eListIdx == LIST_0 ? m_cRefPicListReorderingL0 : m_cRefPicListReorderingL1 ); }
RefPicListReOrdering& getRefPicListReordering ( ListIdx eListIdx ) { return ( eListIdx == LIST_0 ? m_cRefPicListReorderingL0 : m_cRefPicListReorderingL1 ); }
Bool getBasePredWeightTableFlag () const { return m_bBasePredWeightTableFlag; }
UInt getLumaLog2WeightDenom () const { return m_uiLumaLog2WeightDenom; }
UInt getLumaWeightDenom () const { return ( 1 << m_uiLumaLog2WeightDenom ); }
UInt getChromaLog2WeightDenom () const { return m_uiChromaLog2WeightDenom; }
UInt getChromaWeightDenom () const { return ( 1 << m_uiChromaLog2WeightDenom ); }
const PredWeightTable& getPredWeightTableL0 () const { return m_cPredWeightTableL0; }
PredWeightTable& getPredWeightTableL0 () { return m_cPredWeightTableL0; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -