所以我正在玩HEVC的代码,并想知道如何找到一个块的像素。更具体地说,我有一个32x32 CU,如何找到32x32块中的实际像素?
我用来提取CU的代码(取自3d-HEVC的TEncSearch.cpp):
TComPic* pcPicTex = pcCU->getSlice()->getTexturePic();
TComDataCU* pcColTexCU = pcPicTex->getCU( pcCU->getAddr() );
从那里我添加了以下内容,结果是32x32块:
printf("CU %ux%u \n", pcColTexCU->getWidth(0), pcColTexCU->getHeight(0) );
有谁知道如何找到32x32块的实际像素?
由于
答案 0 :(得分:1)
由于去块滤波器模块对重建像素进行滤波,您可以参考源代码(TComLoopFilter.cpp)来查看如何访问重建像素。
TComPicYuv* pcPicYuvRec = pcCU->getPic()->getPicYuvRec();
Pel* piSrc = pcPicYuvRec->getLumaAddr( pcCU->getAddr(), uiAbsZorderIdx );
pcCU-> getAddr()表示CTU的索引
uiAbsZorderIdx表示CTU中的zindex(通常可能是4x4块索引)