此函数用于输出当前CU左上角和右上角在当前CTU中的位置,位置是以4x4的块为单位的。
下图是博客 作者hevc_cjl所贴出来的:
m_absZIdxInCtu表示CU在当前CTU中的位置,uiAbsPartIdx表示当前PU划分所处的位置,都是基于4x4块的,如8x4 PU的第0个划分的uiAbsPartIdx = 0,第一个划分的uiAbsPartIdx = 2。
Void TComDataCU::deriveLeftRightTopIdxGeneral
( UInt uiAbsPartIdx, UInt uiPartIdx, UInt& ruiPartIdxLT, UInt& ruiPartIdxRT ) const
{
ruiPartIdxLT = m_absZIdxInCtu + uiAbsPartIdx;
UInt uiPUWidth = 0;
switch ( m_pePartSize[uiAbsPartIdx] )
{
case SIZE_2Nx2N: uiPUWidth = m_puhWidth[uiAbsPartIdx]; break;
case SIZE_2NxN: uiPUWidth = m_puhWidth[uiAbsPartIdx];