HEVC 常用之 类TComDataCU分析

来源:互联网 发布:三星clx3305清零软件 编辑:程序博客网 时间:2024/05/21 07:14

为了找到合适的模式或者合适的分割, 基本上都是采用两个TComDataCU来操作, TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU.

相当于两个指针对应两个乒乓buffer,  m_ppcBestCU[uiDepth], m_ppcTempCU[uiDepth], 当然每一个uiDepth都有一个对应的BestCU和TempCU的buffer.

 

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"  // -------------------------------------------------------  // CU data  // -------------------------------------------------------  Bool*         m_skipFlag;           ///< array of skip flags  Char*         m_pePartSize;         ///< array of partition sizes  Char*         m_pePredMode;         ///< array of prediction modes  Bool*         m_CUTransquantBypass;   ///< array of cu_transquant_bypass flags  Char*         m_phQP;               ///< array of QP values  UChar*        m_puhTrIdx;           ///< array of transform indices  UChar*        m_puhTransformSkip[3];///< array of transform skipping flags  UChar*        m_puhCbf[3];          ///< array of coded block flags (CBF)  TComCUMvField m_acCUMvField[2];     ///< array of motion vectors  TCoeff*       m_pcTrCoeffY;         ///< transformed coefficient buffer (Y)  TCoeff*       m_pcTrCoeffCb;        ///< transformed coefficient buffer (Cb)  TCoeff*       m_pcTrCoeffCr;        ///< transformed coefficient buffer (Cr)#if ADAPTIVE_QP_SELECTION  Int*          m_pcArlCoeffY;        ///< ARL coefficient buffer (Y)  Int*          m_pcArlCoeffCb;       ///< ARL coefficient buffer (Cb)  Int*          m_pcArlCoeffCr;       ///< ARL coefficient buffer (Cr)  bool          m_ArlCoeffIsAliasedAllocation; ///< ARL coefficient buffer is an alias of the global buffer and must not be free()'d  static Int*   m_pcGlbArlCoeffY;     ///< ARL coefficient buffer (Y)  static Int*   m_pcGlbArlCoeffCb;    ///< ARL coefficient buffer (Cb)  static Int*   m_pcGlbArlCoeffCr;    ///< ARL coefficient buffer (Cr)#endif  Pel*          m_pcIPCMSampleY;      ///< PCM sample buffer (Y)  Pel*          m_pcIPCMSampleCb;     ///< PCM sample buffer (Cb)  Pel*          m_pcIPCMSampleCr;     ///< PCM sample buffer (Cr)  Int*          m_piSliceSUMap;       ///< pointer of slice ID map  std::vector<NDBFBlockInfo> m_vNDFBlock; ..................  .............}


 其实就是HM中该类代码粘了过来。


来源: <http://blog.csdn.net/feixiang_john/article/details/8237160>
 原文名:分析HM代码,首先必须把class TComDataCU完全搞明白!
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 当屏幕出现暂时无法移动时怎么办 英雄联盟欧服连接不上服务器怎么办 试客联盟认证手机号成空号了怎么办 汽车脚垫不贴合翘起来了怎么办 版权保护迅雷下载不了的资源怎么办 30岁在外地城市找不到工作怎么办 新买的苹果爱拍充不进去电是怎么办 绝地求生东南亚服匹配不到人怎么办 电脑卡住了怎么办鼠标也点不动 幽灵行动荒野没有主线任务了怎么办 拼多多购买的东西下架了怎么办 电脑版的荒野行动玩的时候卡怎么办 欧洲卡车模拟2气压过低怎么办 word页眉和正文有段距离怎么办 酷派大神x7卡在开机界面怎么办 妹妹结婚跟领导请假不批怎么办 网页分享后不想显示连接网址怎么办 魔兽世界肉弹随从的任务断了怎么办 在美发店上班被小混混打了怎么办 孩子上四年级了不知道写作业怎么办 运动完第二天恶心想吐怎么办 吃减肥药皮肤变差了怎么办 生了孩子子宫没恢复好怎么办 cf我是新手不知道怎么报点怎么办 挑战人物已经有了又刷到怎么办 小米手机账户验证码隐藏了怎么办? 苹果手机绑定的邮箱密码忘了怎么办 魔域手机版不要的装备怎么办 魔域永恒多了的幻兽装备怎么办 魔域怀旧版70星以后宝宝怎么办 天猫确认收货后不寄发票怎么办 足球运动员踢了一半想撒尿了怎么办 17个月宝宝0型腿怎么办 走的路多了腿疼怎么办 如果新兵老被老兵打怎么办求求个位 做古董拍卖诈骗被警察抓了怎么办 武汉个人社保怎么办停转到海南来 狗狗车祸前脚软组织受伤了怎么办 6岁儿童夜里盗汗惊战发抖怎么办 一个月大的小狗尾巴掉毛怎么办 口袋妖怪用修改器被ban了怎么办