TAVS2.2中的m_puhInteDir变量分析

m_puhInterDir

m_puhInterDir表示的是当前的Inter CU的参考方向,可分为:
单向(INTER_FORWARD,INTER_BACKWARD, INTER_UNI)
双向(INTER_DUAL, INTER_BID, INTER_SYM)
调用: getInterDir(Idx)
设置: setInterDirSubParts()

m_puhInterDir定义在LibCommon中,在LibEncoder和LibDecoder中使用:

  • LibEncoder中,由于编码端CTU的具体划分方式不定,无法一整个CTU共用一个m_puhInterDir指针。因此,每个CU会存放一个m_puhInterDir指针 ,而且在TAVS中,没有PU和TU概念了(还保存有PU相关的变量代码接口,如PU_idx等),因此每个CU的PU_idx恒等于0,在对m_puhInterDir进行赋值的时候,setInterDirSubParts函数中的uiAbsPartIdx参数始终为0(主要在predInterSearch、predffineInterSearch、predSkipSearch、predHmvpSearch函数中被调用)。
  • LibDecoder中,CTU的划分方式可以确定下来,因此整个CTU使用一个m_puhInterDir指针。此时调用setInterDirSubParts()时的参数uiAbsPartIdx不再恒等于零,而是当前CU左上角4x4块在当前CTU内的Z-order索引(在decodeInterDirRD、decodePredInfo函数中被调用)。uiAbsPartIdx参数则在xDecodeCU函数中被修改并循环调用xDecodeCU
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值