📄 mbdatastruct.h
字号:
Void setResidualPredFlag ( Bool bFlag,
ParIdx8x16 eParIdx );
Void setResidualPredFlag ( Bool bFlag,
ParIdx8x8 eParIdx,
SParIdx8x8 eSParIdx );
Void setResidualPredFlag ( Bool bFlag,
ParIdx8x8 eParIdx,
SParIdx8x4 eSParIdx );
Void setResidualPredFlag ( Bool bFlag,
ParIdx8x8 eParIdx,
SParIdx4x8 eSParIdx );
Void setResidualPredFlag ( Bool bFlag,
ParIdx8x8 eParIdx,
SParIdx4x4 eSParIdx );
// TMM_ESS
Void setInCropWindowFlag ( Bool bFlag ) { m_bInCropWindowFlag = bFlag; }
ErrVal save( FILE* pFile );
ErrVal load( FILE* pFile );
ErrVal upsampleMotion ( const MbDataStruct& rcMbDataStruct,
Par8x8 ePar8x8, Bool bDirect8x8 );
Void setBLSkipFlag ( Bool b ) { m_bBLSkipFlag = b; }
Bool getBLSkipFlag () const { return m_bBLSkipFlag; }
#if JMVM_ONLY // JVT-W081
Void setMotionSkipFlag ( Bool b ) { m_bMotionSkipFlag = b; }
Bool getMotionSkipFlag () const { return m_bMotionSkipFlag; }
#endif // JVT-W081
Bool is8x8TrafoFlagPresent() const;
Bool isTransformSize8x8 () const { return m_bTransformSize8x8; }
Void setTransformSize8x8 ( Bool bTransformSize8x8) { m_bTransformSize8x8 = bTransformSize8x8; }
//-- JVT-R091
Void setSmoothedRefFlag ( Bool b ) { m_bSmoothedRefFlag = b; }
Bool getSmoothedRefFlag () const { return m_bSmoothedRefFlag; }
//--
public:
UInt m_uiSliceId;
Bool m_bBLSkipFlag;
#if JMVM_ONLY // JVT-W081
Bool m_bMotionSkipFlag;
#endif // JVT-W081
MbMode m_eMbMode;
UInt m_uiMbCbp;
UInt m_uiBCBP;
UShort m_usFwdBwd;
UChar m_ucChromaPredMode;
BlkMode m_aBlkMode[4];
SChar m_ascIPredMode[16];
UChar m_ucQp;
UShort m_usResidualPredFlags;
Bool m_bTransformSize8x8;
Bool m_bSkipFlag;
#if JMVM_ONLY
Bool m_bSkipFlagTmp; //JVT-W031
#endif
// TMM_ESS
Bool m_bInCropWindowFlag; // indicates if the scaled base layer MB is inside the cropping window
//-- JVT-R091
Bool m_bSmoothedRefFlag; // indicates if the smoothed reference mode is used
//--
public:
static const UChar m_aucACTab[6];
};
__inline
Void
MbDataStruct::setResidualPredFlag( Bool bFlag, LumaIdx cIdx )
{
m_usResidualPredFlags &= ~(UShort)(1<<cIdx.b4x4());
ROFVS( bFlag );
m_usResidualPredFlags += (1<<cIdx.b4x4());
}
__inline
Void
MbDataStruct::setResidualPredFlag( Bool bFlag/*, ParIdx16x16 eParIdx*/ )
{
setResidualPredFlag( bFlag, B4x4Idx( 0) );
setResidualPredFlag( bFlag, B4x4Idx( 1) );
setResidualPredFlag( bFlag, B4x4Idx( 2) );
setResidualPredFlag( bFlag, B4x4Idx( 3) );
setResidualPredFlag( bFlag, B4x4Idx( 4) );
setResidualPredFlag( bFlag, B4x4Idx( 5) );
setResidualPredFlag( bFlag, B4x4Idx( 6) );
setResidualPredFlag( bFlag, B4x4Idx( 7) );
setResidualPredFlag( bFlag, B4x4Idx( 8) );
setResidualPredFlag( bFlag, B4x4Idx( 9) );
setResidualPredFlag( bFlag, B4x4Idx(10) );
setResidualPredFlag( bFlag, B4x4Idx(11) );
setResidualPredFlag( bFlag, B4x4Idx(12) );
setResidualPredFlag( bFlag, B4x4Idx(13) );
setResidualPredFlag( bFlag, B4x4Idx(14) );
setResidualPredFlag( bFlag, B4x4Idx(15) );
}
__inline
Void
MbDataStruct::setResidualPredFlag( Bool bFlag, ParIdx16x8 eParIdx )
{
UInt ui = eParIdx;
setResidualPredFlag( bFlag, B4x4Idx(ui+ 0) );
setResidualPredFlag( bFlag, B4x4Idx(ui+ 1) );
setResidualPredFlag( bFlag, B4x4Idx(ui+ 2) );
setResidualPredFlag( bFlag, B4x4Idx(ui+ 3) );
setResidualPredFlag( bFlag, B4x4Idx(ui+ 4) );
setResidualPredFlag( bFlag, B4x4Idx(ui+ 5) );
setResidualPredFlag( bFlag, B4x4Idx(ui+ 6) );
setResidualPredFlag( bFlag, B4x4Idx(ui+ 7) );
}
__inline
Void
MbDataStruct::setResidualPredFlag( Bool bFlag, ParIdx8x16 eParIdx )
{
UInt ui = eParIdx;
setResidualPredFlag( bFlag, B4x4Idx(ui+ 0) );
setResidualPredFlag( bFlag, B4x4Idx(ui+ 1) );
setResidualPredFlag( bFlag, B4x4Idx(ui+ 4) );
setResidualPredFlag( bFlag, B4x4Idx(ui+ 5) );
setResidualPredFlag( bFlag, B4x4Idx(ui+ 8) );
setResidualPredFlag( bFlag, B4x4Idx(ui+ 9) );
setResidualPredFlag( bFlag, B4x4Idx(ui+12) );
setResidualPredFlag( bFlag, B4x4Idx(ui+13) );
}
__inline
Void
MbDataStruct::setResidualPredFlag( Bool bFlag, ParIdx8x8 eParIdx, SParIdx8x8 eSParIdx )
{
UInt ui = eParIdx+eSParIdx;
setResidualPredFlag( bFlag, B4x4Idx(ui+ 0) );
setResidualPredFlag( bFlag, B4x4Idx(ui+ 1) );
setResidualPredFlag( bFlag, B4x4Idx(ui+ 4) );
setResidualPredFlag( bFlag, B4x4Idx(ui+ 5) );
}
__inline
Void
MbDataStruct::setResidualPredFlag( Bool bFlag, ParIdx8x8 eParIdx, SParIdx8x4 eSParIdx )
{
UInt ui = eParIdx+eSParIdx;
setResidualPredFlag( bFlag, B4x4Idx(ui+ 0) );
setResidualPredFlag( bFlag, B4x4Idx(ui+ 1) );
}
__inline
Void
MbDataStruct::setResidualPredFlag( Bool bFlag, ParIdx8x8 eParIdx, SParIdx4x8 eSParIdx )
{
UInt ui = eParIdx+eSParIdx;
setResidualPredFlag( bFlag, B4x4Idx(ui+ 0) );
setResidualPredFlag( bFlag, B4x4Idx(ui+ 4) );
}
__inline
Void
MbDataStruct::setResidualPredFlag( Bool bFlag, ParIdx8x8 eParIdx, SParIdx4x4 eSParIdx )
{
UInt ui = eParIdx+eSParIdx;
setResidualPredFlag( bFlag, B4x4Idx(ui+ 0) );
}
H264AVC_NAMESPACE_END
#endif // !defined(AFX_MBDATASTRUCT_H__353D9AA9_2CC4_4959_94DB_97456E3C2454__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -