📄 sliceheaderbase.h
字号:
//JVT-U106 Behaviour at slice boundaries}
//===== set parameters =====
Void setNalRefIdc ( NalRefIdc e ) { m_eNalRefIdc = e; }
Void setNalUnitType ( NalUnitType e ) { m_eNalUnitType = e; }
Void setLayerId ( UInt ui ) { m_uiLayerId = ui; }
Void setTemporalLevel ( UInt ui ) { m_uiTemporalLevel = ui; }
Void setQualityLevel ( UInt ui ) { m_uiQualityLevel = ui; }
Void setFirstMbInSlice ( UInt ui ) { m_uiFirstMbInSlice = ui; }
Void setSliceType ( SliceType e ) { m_eSliceType = e; }
Void setPicParameterSetId ( UInt ui ) { m_uiPicParameterSetId = ui; }
Void setFrameNum ( UInt ui ) { m_uiFrameNum = ui; }
Void setNumMbsInSlice ( UInt ui ) { m_uiNumMbsInSlice = ui; }
Void setFgsComponentSep ( Bool b ) { m_bFgsComponentSep = b; }
Void setIdrPicId ( UInt ui ) { m_uiIdrPicId = ui; }
Void setBasePredWeightTableFlag ( Bool b ) { m_bBasePredWeightTableFlag = b; }
Void setLumaLog2WeightDenom ( UInt ui ) { m_uiLumaLog2WeightDenom = ui; }
Void setChromaLog2WeightDenom ( UInt ui ) { m_uiChromaLog2WeightDenom = ui; }
Void setDirectSpatialMvPredFlag ( Bool b ) { m_bDirectSpatialMvPredFlag = b; }
Void setUseBaseRepresentationFlag ( Bool b ) { m_bUseBasePredictionFlag = b;
m_bStoreBaseRepresentationFlag = b; }
Void setBaseLayerId ( UInt ui ) { m_uiBaseLayerId = ui;
m_bLayerBaseFlag = (m_uiBaseLayerId==MSYS_UINT_MAX);}
Void setLayerBaseFlag ( Bool b ) { m_bLayerBaseFlag = b;
if (m_bLayerBaseFlag) m_uiBaseLayerId=MSYS_UINT_MAX;}
Void setBaseQualityLevel ( UInt ui ) { m_uiBaseQualityLevel = ui; }
Void setAdaptivePredictionFlag ( Bool b ) { m_bAdaptivePredictionFlag = b; }
// JVT-U160 LMI {
Void setAdaptiveResPredictionFlag ( Bool b ) { m_bAdaptiveResPredictionFlag = b; }
Void setAdaptiveMotPredictionFlag ( Bool b ) { m_bAdaptiveMotPredictionFlag = b; }
Void setDefaultBaseModFlag ( Bool b ) { m_bDefaultBaseModeFlag = b; }
Void setDefaultMotPredictionFlag ( Bool b ) { m_bDefaultMotPredictionFlag = b; }
// JVT-U160 LMI }
Void setNumRefIdxActiveOverrideFlag( Bool b ) { m_bNumRefIdxActiveOverrideFlag = b; }
Void setNumRefIdxActive ( ListIdx e,
UInt ui ) { m_auiNumRefIdxActive[e] = ui; }
Void setNumRefIdxUpdate ( UInt ui,
ListIdx e,
UInt p ) { m_aauiNumRefIdxActiveUpdate[ui][e] = p; }
Void setNoOutputOfPriorPicsFlag ( Bool b ) { m_bNoOutputOfPriorPicsFlag = b; }
Void setAdaptiveRefPicBufferingFlag( Bool b ) { m_bAdaptiveRefPicBufferingModeFlag = b; }
Void setAdaptiveRefPicMarkingFlag (Bool b ) { m_bAdaptiveRefPicMarkingModeFlag = b; }//JVT-S036 lsj
Void setCabacInitIdc ( UInt ui ) { m_uiCabacInitIdc = ui; }
Void setSliceQpDelta ( Int i ) { m_iSliceQpDelta = i; }
Void setSliceHeaderQp ( Int i ) { setSliceQpDelta( i - m_rcPPS.getPicInitQp() ); }
Void setSimplePriorityId (UInt ui) { m_uiPriorityId = ui;}
Void setDiscardableFlag (Bool b) { m_bDiscardableFlag = b;}
Void setBaseLayerUsesConstrainedIntraPred( Bool b ) { m_bBaseLayerUsesConstrainedIntraPred = b; }
Void setSliceGroupChangeCycle(UInt uiSliceGroupChangeCycle){m_uiSliceGroupChangeCycle = uiSliceGroupChangeCycle;};
ErrVal FMOInit();
ErrVal FMOUninit(); //TMM_INTERLACE
Void setFieldPicFlag ( Bool b ) { m_bFieldPicFlag = b; }
Void setBottomFieldFlag ( Bool b ) { m_bBottomFieldFlag = b; }
Void setPicOrderCntLsb ( UInt ui ) { m_uiPicOrderCntLsb = ui; }
Void setDeltaPicOrderCntBottom ( Int i ) { m_iDeltaPicOrderCntBottom = i; }
Void setDeltaPicOrderCnt ( UInt ui,
Int i ) { m_aiDeltaPicOrderCnt[ui] = i; }
// TMM_EC {{
Bool getTrueSlice() const { return m_bTrueSlice;}
Void setTrueSlice( Bool bTrueSlice) { m_bTrueSlice = bTrueSlice;}
ERROR_CONCEAL m_eErrorConceal;
Bool m_bTrueSlice;
// TMM_EC }}
Void setRedundantPicCnt (UInt ui ) { m_uiRedundantPicCnt = ui; } // JVT-Q054 Red. Picture
Void setFGSCycleAlignedFragment ( Bool bFlag ) { m_bFGSCycleAlignedFragment = bFlag; }
Bool getFGSCycleAlignedFragment () { return m_bFGSCycleAlignedFragment; }
Void setFGSCodingMode ( Bool b ) { m_bFGSCodingMode = b; }
Bool getFGSCodingMode () { return m_bFGSCodingMode; }
Void setGroupingSize ( UInt ui ) { m_uiGroupingSize = ui; }
UInt getGroupingSize () { return m_uiGroupingSize; }
//JVT-T054{
Void setLayerCGSSNR(UInt ui) { m_uiLayerCGSSNR = ui;}
UInt getLayerCGSSNR() { return m_uiLayerCGSSNR;}
Void setQualityLevelCGSSNR(UInt ui) { m_uiQualityLevelCGSSNR = ui;}
UInt getQualityLevelCGSSNR() { return m_uiQualityLevelCGSSNR;}
Void setBaseLayerCGSSNR(UInt ui) { m_uiBaseLayerCGSSNR = ui;}
Void setBaseQualityLevelCGSSNR(UInt ui) { m_uiBaseQualityLevelCGSSNR = ui;}
//JVT-T054}
//EIDR bug-fix
Void setInIDRAccess(Bool b) { m_bInIDRAccess = b; }
Bool getInIDRAccess() { return m_bInIDRAccess; }
Bool getUseSmoothedRef() { return m_bUseSmoothedRef;} //JVT-V058
Void setUseSmoothedRef(Bool b) {m_bUseSmoothedRef = b;}//JVT-V058
protected:
ErrVal xReadH264AVCCompatible ( HeaderSymbolReadIf* pcReadIf );
ErrVal xReadScalable ( HeaderSymbolReadIf* pcReadIf );
ErrVal xWriteScalable ( HeaderSymbolWriteIf* pcWriteIf ) const;
ErrVal xWriteH264AVCCompatible ( HeaderSymbolWriteIf* pcWriteIf ) const;
public:
ErrVal ReadLastBit ( );
HeaderSymbolReadIf* m_pcReadIf;
protected:
const PictureParameterSet& m_rcPPS;
const SequenceParameterSet& m_rcSPS;
NalRefIdc m_eNalRefIdc;
NalUnitType m_eNalUnitType;
UInt m_uiLayerId;
UInt m_uiTemporalLevel;
UInt m_uiQualityLevel;
UInt m_uiFirstMbInSlice;
SliceType m_eSliceType;
UInt m_uiPicParameterSetId;
UInt m_uiFrameNum;
UInt m_uiNumMbsInSlice;
Bool m_bFgsComponentSep;
UInt m_uiIdrPicId;
Bool m_bBasePredWeightTableFlag;
UInt m_uiLumaLog2WeightDenom;
UInt m_uiChromaLog2WeightDenom;
PredWeightTable m_acPredWeightTable[2];
Bool m_bDirectSpatialMvPredFlag;
Bool m_bUseBasePredictionFlag;
Bool m_bStoreBaseRepresentationFlag;
Bool m_bLayerBaseFlag;
UInt m_uiBaseLayerId;
UInt m_uiBaseQualityLevel;
UInt m_uiBaseFragmentOrder;
Bool m_bAdaptivePredictionFlag;
// JVT-U160 LMI {
Bool m_bAdaptiveResPredictionFlag;
Bool m_bDefaultBaseModeFlag;
Bool m_bAdaptiveMotPredictionFlag;
Bool m_bDefaultMotPredictionFlag;
// JVT-U160 LMI }
Bool m_bNumRefIdxActiveOverrideFlag;
UInt m_auiNumRefIdxActive[2];
RplrBuffer m_acRplrBuffer [2];
UInt m_aauiNumRefIdxActiveUpdate[MAX_TEMP_LEVELS][2];
Bool m_bNoOutputOfPriorPicsFlag;
Bool m_bAdaptiveRefPicBufferingModeFlag;
//JVT-S036 lsj start
Bool m_bAdaptiveRefPicMarkingModeFlag;
UInt m_bMemoryManagementControlOperation;
UInt m_bDifferenceOfPicNumsMinus1;
UInt m_bLongTermPicNum;
MmcoBuffer m_cMmmcoBaseBuffer;
//JVT-S036 lsj end
MmcoBuffer m_cMmmcoBuffer;
UInt m_uiCabacInitIdc;
Int m_iSliceQpDelta;
DeblockingFilterParameterScalable m_cDeblockingFilterParameterScalable;
UInt m_uiSliceGroupChangeCycle;
FMO* m_pcFMO;
Bool m_bBaseLayerUsesConstrainedIntraPred;
UInt m_uiPriorityId;
Bool m_bDiscardableFlag;
//JVT-P031
Bool m_bFragmentedFlag;
UInt m_uiFragmentOrder;
Bool m_bLastFragmentFlag;
//~JVT-P031
// JVT-V088 LMI {
// JVT-U116 LMI {
Bool m_bTl0PicIdxPresentFlag;
UInt m_uiTl0PicIdx;
UInt m_uiPrevTl0PicIdx;
Bool m_bTl0PicIdxResetFlag;
UInt m_uiNumTl0PicIdxUpdate;
// JVT-U116 LMI }
// JVT-V088 LMI }
UInt m_uiRedundantPicCnt; // JVT-Q054 Red. Picture
Bool m_bFieldPicFlag;
Bool m_bBottomFieldFlag;
UInt m_uiPicOrderCntLsb;
Int m_iDeltaPicOrderCntBottom;
Int m_aiDeltaPicOrderCnt[2];
//JVT-T054{
UInt m_uiLayerCGSSNR;
UInt m_uiQualityLevelCGSSNR;
UInt m_uiBaseLayerCGSSNR;
UInt m_uiBaseQualityLevelCGSSNR;
//JVT-T054}
//JVT-U106 Behaviour at slice boundaries{
Bool m_bCIUFlag;
//JVT-U106 Behaviour at slice boundaries}
Bool m_bAVCRewriteFlag; // V-035
// TMM_ESS {
public:
Int getLeftOffset () const { return m_iScaledBaseLeftOffset; }
Int getRightOffset () const { return m_iScaledBaseRightOffset; }
Int getTopOffset () const { return m_iScaledBaseTopOffset; }
Int getBottomOffset () const { return m_iScaledBaseBottomOffset; }
Int getBaseChromaPhaseX () const { return (Int)m_uiBaseChromaPhaseXPlus1-1; }
Int getBaseChromaPhaseY () const { return (Int)m_uiBaseChromaPhaseYPlus1-1; }
Void setLeftOffset ( Int i ) { m_iScaledBaseLeftOffset = i; }
Void setRightOffset ( Int i ) { m_iScaledBaseRightOffset = i; }
Void setTopOffset ( Int i ) { m_iScaledBaseTopOffset = i; }
Void setBottomOffset ( Int i ) { m_iScaledBaseBottomOffset = i; }
Void setBaseChromaPhaseX ( Int i) { m_uiBaseChromaPhaseXPlus1 = i+1; }
Void setBaseChromaPhaseY ( Int i) { m_uiBaseChromaPhaseYPlus1 = i+1; }
Void Print ( );
Bool m_bBaseFrameFromBotFieldFlag;
Bool m_bBaseBotFieldSyncFlag;
Bool m_bBaseFrameMbsOnlyFlag;
Bool m_bBaseFieldPicFlag;
Bool m_bBaseBotFieldFlag;
protected:
UInt m_uiBaseChromaPhaseXPlus1;
UInt m_uiBaseChromaPhaseYPlus1;
Int m_iScaledBaseLeftOffset;
Int m_iScaledBaseTopOffset;
Int m_iScaledBaseRightOffset;
Int m_iScaledBaseBottomOffset;
#ifdef _JVTV074_
public:
Void setResampleFilterIdx ( Int i ) { m_uiResampleFilterIdx = i; }
Int getResampleFilterIdx ( ) const { return m_uiResampleFilterIdx; }
protected:
UInt m_uiResampleFilterIdx;
#endif //_JVTV074_
// TMM_ESS }
Bool m_bArFgsUsageFlag;
Bool m_bFgsEntropyOrderFlag;
UInt m_uiLowPassFgsMcFilter;
UInt m_uiBaseWeightZeroBaseBlock;
UInt m_uiBaseWeightZeroBaseCoeff;
UInt m_uiVectorModeIndex;
UInt m_uiGroupingSize;
Bool m_bFGSCycleAlignedFragment;
Bool m_bFGSCodingMode;
UInt m_uiNumPosVectors;
UInt m_uiPosVect[16];
Bool m_bFGSVectorModeOverrideFlag;
//EIDR bug-fix
Bool m_bInIDRAccess;
Bool m_bUseSmoothedRef;//JVT-V058
};
#if defined( WIN32 )
# pragma warning( default: 4251 )
# pragma warning( default: 4275 )
#endif
typedef SliceHeaderBase::PredWeight PW;
H264AVC_NAMESPACE_END
#endif // !defined(AFX_SLICEHEADERBASE_H__2CC1FD0F_CACB_4799_84BE_FC5FC9B9C245__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -