废话不多说直接上代码注释。有错的话,请指教。
//设定当前CU中PU的参数
Void TComPattern::initPattern( TComDataCU* pcCU, //当前的CU(64*64到8*8)
UInt uiPartDepth, //PU相对于当前CU的深度
UInt uiAbsPartIdx ) //当前的PU以4*4块为单位,以Zscan扫描顺序的序号(以LCU为标准)
{
//为了计算参考点的位置:是否需要计算上一行,左一列
Int uiOffsetLeft = 0;
Int uiOffsetAbove = 0;
//当前PU的宽和高
//pcCU->getWidth (0)为当前CU的宽,当前CU可能会被分为很多层,第0个就是当前CU的尺寸
UChar uiWidth = pcCU->getWidth (0)>>uiPartDepth;
UChar uiHeight = pcCU->getHeight(0)>>uiPartDepth;
//先计算当前CU的起始地址,再加上Zscan的扫描序号,构成当前PU在整个图片中的绝对位置
UInt uiAbsZorderIdx = pcCU->getZorderIdxInCU() + uiAbsPartIdx;
UInt uiCurrPicPelX = pcCU->getCUPelX() + g_auiRasterToPe