项目

一般

简介

周报(侯震可)

由 侯 震可 在 超过 6 年 之前添加

研究HM(16.15)编码部分代码结构
Done:
从整个project的顶层往下,首先从main函数进入到编码应用顶层TAppEncTop到编码顶层TEncTop最后到编码压缩GOP的类
具体:
encmain.cpp中main()->TcTAppEncTop.encode()-> m_cTEncTop.encode()->m_cGOPEncoder.compressGOP()

其中对于前三个函数的结构分析在CSDN的“岳麓吹雪”的blog有详细分析,附上地址:
main():http://blog.csdn.net/lin453701006/article/details/52777708
TcTAppEncTop.encode():http://blog.csdn.net/lin453701006/article/details/52792320
m_cTEncTop.encode():http://blog.csdn.net/lin453701006/article/details/52804298

但对于compressGOP函数没有较为详尽的分析,故这周主要对该函数进行分析,简单看出compressGOP函数是循环以及内部之后调用函数递归编码输入视频源的唯一入口,
本周只分析到函数基本结构初始,重置GOPid的是否编码Flag,开始编码循环,设置循环跳出点,又上一帧相对poc得到绝对poc,之后初始slice,决定NAltype
但在这里发现在之前初始时已经初始slicetype,转而研究Slice的初始函数。
在自己分析后,又在他人那里看到更为详细的分析:http://blog.csdn.net/NB_vol_1/article/details/51151645

后附自己做的一部分compressGOP函数注释

Doing:
继续compressGOP函数分析,完善注释,同时了解CABAC与DB的模块结构,之后会做出详尽的结构流程图,并为重构db模块准备