![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
HEVC
hubeiyawang
年轻秃头,以后就不用洗头了/1
展开
-
xCompressCU函数代码跟踪
啦啦啦啦!跟踪到最后的CU块就改方向了,也算是画个句号吧,毕竟学了这么久的hevc,拉跨是挺拉跨的,好歹花了时间,不能太嫌弃自己!加油!冲鸭!#if AMP_ENC_SPEEDUPVoid TEncCu::xCompressCU( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, const UInt uiDepth DEBUG_STRING_FN_DECLARE(sDebug_), PartSize eParentPartSize )原创 2020-10-18 11:52:06 · 317 阅读 · 0 评论 -
compressCtu函数代码跟踪
Slice再上篇对付了一下,好嘛,这不得把CTU也安排一下,这么短的代码不解读也罢!只跟踪!!!Void TEncCu::compressCtu( TComDataCU* pCtu ){ // initialize CU data m_ppcBestCU[0]->initCtu( pCtu->getPic(), pCtu->getCtuRsAddr() ); m_ppcTempCU[0]->initCtu( pCtu->getPic(), pCtu->原创 2020-10-18 11:49:29 · 209 阅读 · 0 评论 -
compressSlice函数代码跟踪
西巴,上篇随便对付了一下关于GOP的函数,那接下来当然是对付Slice函数啦!Void TEncSlice::compressSlice( TComPic* pcPic, const Bool bCompressEntireSlice, const Bool bFastDeltaQP ){ // if bCompressEntireSlice is true, then the entire slice (not slice segment) is compressed, // effe原创 2020-10-18 11:47:37 · 195 阅读 · 0 评论 -
compressGOP函数代码跟踪
之前的学习中对encode函数进行了跟踪解读,在里面调用了compressGOP函数(代码太多了,看完得猴年马月,要人命,对付一下对付一下!),看到这个代码名字就联想到视频的编码过程了吧,视频先分成GOP(两种形式的GOP),然后GOP又可以分成Slice和Tile(片和块),再往下就是CTU了,而CTU是由CU构成的,是不是就可以立即推视频编码压缩等等操作主要就是再CU之间啦!Void TEncGOP::compressGOP( Int iPOCLast, Int iNumPicRcvd, TCom原创 2020-10-18 11:43:00 · 837 阅读 · 0 评论 -
TEncTop::encode函数跟踪解读
在之前的学习中进行了TappENcTOp函数中的encode函数进行了代码解读,下面对它调用的TEncTop::encode函数进行跟踪解读函数TEncTop::encode的主要作用是为GOP压缩之前做一些准备工作,包括创建当前图像缓冲区、设定QP是否自适应、根据码率控制模式来确定是否需要先初始化GOP,然后调用TEncGop::compressGOP来压缩GOP。其为GOP压缩之前做一些准备工作,包括创建当前图像缓冲区、设定QP是否自适应、根据码率控制模式来确定是否需要先初始化GOP,然后调用T原创 2020-10-18 11:36:41 · 416 阅读 · 0 评论 -
TAPPEncTop:encode函数代码跟踪解读
上一篇中解读了main函数,跳转到下一层的编码函数,即TAPPEncTop中的encode函数,下面对此进行具体的学习此函数主要功能是进行编码之前的准备工作,即进行编码参数、视频文件的等等参数的初始化,为原始YUV文件分配缓冲区,之后再电泳TEncTap中的encode函数进行编码(两个encode函数,再不同文件中有着不同的作用,此篇文章解读的encode函数是为后面的encode函数做编码准备)进行编码参数等参数的初始化主要是通过一下三个函数xInitLibCfg()——初始化编码器的参数,原创 2020-10-18 11:30:12 · 421 阅读 · 0 评论 -
HEVC编码框架和main函数代码跟踪解读
刚入学的时候导师安排的是看Hevc,虽然后面转头去做别的东西了,不过还是想着把自己学习的皮毛记录下来叭!嗯,主要的框架图看到这篇文章写的很好,可以帮助我们进行代码跟踪化简之后的图为:代码我们从一层一层的慢慢往下看的,首先当然是看编码函数的main函数了,也就是TAppEncoder中的encmain.cpp文件,main函数也就是编码的入口函数,是最上面一层的编码函数,主要功能是定义TappEncTop函数、打印HM版本信息、创建encode类、解析cfg文件看是否有误、计时和最重要的调原创 2020-10-18 11:17:51 · 482 阅读 · 0 评论