0

所以我在玩 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 块的实际像素?

谢谢

4

1 回答 1

1

由于去块滤波模块对重构像素进行滤波,您可以参考源代码(TComLoopF​​ilter.cpp)了解如何访问重构像素。

TComPicYuv* pcPicYuvRec = pcCU->getPic()->getPicYuvRec();
Pel* piSrc    = pcPicYuvRec->getLumaAddr( pcCU->getAddr(), uiAbsZorderIdx );

pcCU->getAddr() 表示 CTU 的索引

uiAbsZorderIdx 表示 CTU 中的 zindex(通常可能是 4x4 块索引)

于 2014-02-13T02:27:51.293 回答