const TComDataCU* TComDataCU::getPUAbove( UInt& uiAPartUnitIdx,
UInt uiCurrPartUnitIdx,
Bool bEnforceSliceRestriction,
Bool planarAtCtuBoundary,
Bool bEnforceTileRestriction ) const
{
//当前PU块的最上边的4x4小块的Raster
UInt uiAbsPartIdx = g_auiZscanToRaster[uiCurrPartUnitIdx];
//当前CU在当前CTU中的Raster位置
UInt uiAbsZorderCUIdx = g_auiZscanToRaster[m_absZIdxInCtu];
const UInt numPartInCtuWidth = m_pcPic->getNumPartInCtuWidth();
//如果当前PU不在当前CTU的第0行
if ( !RasterAddress::isZeroRow( uiAbsPartIdx, numPartInCtuWidth ) )
{
//uiAPartUnitIdx 表示当前PU与uiAbsPartIdx 同列的上一行的4x4小块位置
uiAPartUnitIdx = g_auiRasterToZscan[ uiAbsPartIdx - numPartInCtuWidth ];
//如果当前PU的uiAbsPartIdx的块位置与当前CU处于同一行,则返回当前CTU指针以及uiAPartUnitIdx
if ( RasterAddress::isEqualRow( uiAbsPartIdx, uiAbsZorderCUIdx, numPart
getPUAbove函数 获取PU上面的块
最新推荐文章于 2021-07-24 12:24:54 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)