此系列是为了记录自己学习VTM10.0的过程,目前正在看编码端。主要的参考文档有JVET-S2001-vH和JVET-S2002-v1。由于本人水平有限,出现的错误恳请大家指正,欢迎与大家一起交流进步。
好久不见,距离上一次更新已经时隔一个多月了。从这篇博文开始就进入编码端的内容,由于不打算从main函数开始讲,前面的部分会一笔带过,下一篇博文会有比较详细的讲解,这篇就相当于预备阶段。整个VTM有众多的技术,但大部分平时是不开的,这里就以RA的cfg文件为指导,里面不开启的技术就不提了。与之前的博文一样,某一技术的具体实现不在内容范围之内,重点在编码流程。
扯了这么多,本文内容主要就是:一、引出下一篇博文要讲解的函数;二、提一下带有字典性质的函数(就是遇到相关的才会去看)
1. encmain.cpp
//创建和初始化编码器Lib类实例
pcEncApp[layerIdx]->createLib( layerIdx );
VTM中封装了很多类,大部分类拥有函数名包括init的函数,基本上会在这个函数里面调用(不一定直接调用)。除此之外还包括文件流的打开等作用,重点注意调用到的EncLib::init()这个函数。
while( !eos )