HEVC中使用参考帧注意事项

1.背景

 这几天写了个算法,需要使用前一帧对应位置CTU的深度划分信息、YUV信息等,平台是HM16.7,随机存取编码模式。
 初始的算法是除了第一帧不需要利用前一参考帧信息(第一帧是I帧也不存在参考帧)外,其余帧都需要使用参考帧来预测当前帧的划分深度。需要使用到TComDateCU.h 中的TComDataCU* m_apcCUColocated[NUM_REF_PIC_LIST_01];(从HM16.9之后,TComDateCU.h中就不再存在TComDataCU* m_apcCUColocated[NUM_REF_PIC_LIST_01];所以使用HM16.9以上版本可以自己按照HM16.9的版本中对m_apcCUColocated的初始化和赋值语句来添加这个成员变量。

2.出现的问题

  代码写好,用序列跑了10几帧也没有出现问题,但是今天需要跑200帧,发现每次跑到POC=32的时候就会显示出错。

3.原因

  认真看了下RA的配置文件才发现,原来I帧的周期是32,也就说POC=0是I帧,POC=32也是I帧,而I帧是不使用参考帧的,所以对I帧引用其参考帧就是个错误的做法。
这里写图片描述

猜你喜欢

转载自blog.csdn.net/wu_qz/article/details/80337704