接下来有关HEVC的文章都是HEVC学习系列的延续,但由于序号偏多,为方便起见,就不再单独编号,直接以讨论内容作为题目了。
要研究CU级的代码,少不了要接触到这么一个类TComDataCU。为了比较顺畅地看代码,对这个类的重要成员自然需要有比较好的认识才行,这就是本文的目的,给大家提供一个共同讨论类中私有成员含义与作用的平台。
class TComDataCU
{
private:
// -------------------------------------------------------------------------------------------------------------------
// class pointers
// -------------------------------------------------------------------------------------------------------------------
TComPic* m_pcPic; ///< picture class pointer
TComSlice* m_pcSlice; ///< slice header pointer
TComPattern* m_pcPattern; ///< neighbour access class pointer
// -------------------------------------------------------------------------------------------------------------------
// CU description
// -------------------------------------------------------------------------------------------------------------------
UInt m_uiCUAddr; ///< CU address in a slice
UInt m_uiAbsIdxInLCU; ///< absolute address in a CU. It's Z scan order
UInt m_uiCUPelX; ///< CU position in a pixel (X)
UInt m_uiCUPelY; ///< CU position in a pixel (Y)
UInt m_uiNumPartition; ///< total number of minimum partitions in a CU
UChar* m_puhWidth; ///< array of widths
UChar* m_puhHeight; ///< array of heights
UChar* m_puhDepth; ///< array of depths
Int m_unitSize; ///< size of a "minimum partition"
// --------------------------------------------------------------------------------------------------------

本文聚焦于HEVC编码标准中的CU(Coding Unit)级别,特别是TComDataCU类。通过对类的私有成员进行分析,探讨其在HEVC编码过程中的作用,旨在为读者提供理解代码的入口。同时,文章提及了RasterAddress命名空间中的函数,虽然实现细节可能不详,但结合函数名称和注释,足以理解其基本功能,为阅读和理解HEVC代码扫清障碍。
最低0.47元/天 解锁文章
395





