![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
VVC代码学习-解码端
VVC代码学习-解码端
柴门风雪夜
这个作者很懒,什么都没留下…
展开
-
VTM10.0代码学习8:xReconInter()
此系列是为了记录自己学习VTM10.0的过程和锻炼表达能力,主要是从解码端进行入手。由于本人水平有限,出现的错误恳请大家指正,欢迎与大家一起交流进步。上一篇博文(VTM10.0代码学习7)的第1大节提到xReconInter(),这个函数是用来重构帧间模式或IBC模式下的CU块,本篇博文就来细说它。1. xReconInter()if( cu.geoFlag )//如果当前CU开启GPM{ m_pcInterPred->motionCompensationGeo( cu, m_.原创 2020-12-07 20:44:26 · 597 阅读 · 0 评论 -
VTM10.0代码学习7:decompressCtu()&xReconIntraQT()
此系列是为了记录自己学习VTM10.0的过程和锻炼表达能力,主要是从解码端进行入手。由于本人水平有限,出现的错误恳请大家指正,欢迎与大家一起交流进步。之前的博文(VTM10.0代码学习3)提到两个重要的函数coding_tree_unit()和decompressCtu(),coding_tree_unit()已经说过了,本篇博文就来讲解一下decompressCtu()。这个函数是利用coding_tree_unit()得到的语义信息来重构CTU块,涉及到多种预测模式。前面也提到过VTM中主要将预.原创 2020-12-02 10:17:04 · 639 阅读 · 0 评论 -
VTM10.0代码学习6:cu_residual()
此系列是为了记录自己学习VTM10.0的过程和锻炼表达能力,主要是从解码端进行入手。由于本人水平有限,出现的错误恳请大家指正,欢迎与大家一起交流进步。上一篇博文(VTM10.0代码学习5)中第1节的末尾提到了cu_residual()这个函数,本篇博文就来讲述这个与解析变换残差语法元素相关的函数。1. cu_residual()if (!CU::isIntra(cu))//如果当前CU不是传统帧内预测{ PredictionUnit& pu = *cu.firstPU; .原创 2020-11-14 11:25:53 · 560 阅读 · 0 评论 -
VTM10.0代码学习5:coding_unit()&cu_pred_data()
此系列是为了记录自己学习VTM10.0的过程和锻炼表达能力,主要是从解码端进行入手。由于本人水平有限,出现的错误恳请大家指正,欢迎与大家一起交流进步。上一篇博客(VTM10.0代码学习4)讲述了将语法元素的处理从CTU级划分到CU级,并在其2.5节提到coding_unit()这个函数。我原本以为能用一篇博客讲述完coding_unit(),但实际需要两篇,错估了自己的能力(真不想承认啊,这是我太过年轻而犯下的错)。CU级语法元素处理的主要部分可以分为预测模式的参数和变换残差,本篇博客先讲述codi.原创 2020-11-09 15:11:00 · 1133 阅读 · 0 评论 -
VTM10.0代码学习4:CABACReader_coding_tree_unit()
此系列是为了记录自己学习VTM10.0的过程和锻炼表达能力,主要是从解码端进行入手。由于本人水平有限,出现的错误恳请大家指正,欢迎与大家一起交流进步。上一篇博客(VTM10.0代码学习3)提到两个重要的函数coding_tree_unit()和decompressCtu(),接下来就用两篇博客的篇幅讲解一下coding_tree_unit()这个函数,本篇博客主要是讲从码流解析得到如何将CTU划分成CU,CU级的语义信息讲解会留在下一篇博客中。1.coding_tree_unit()CUCtx.原创 2020-11-02 10:29:12 · 822 阅读 · 1 评论 -
VTM10.0代码学习3:DecSlice_decompressSlice()
此系列是为了记录自己学习VTM10.0的过程和锻炼表达能力,主要是从解码端进行入手。由于本人水平有限,出现的错误恳请大家指正,欢迎与大家一起交流进步。接着本系列的上一篇博客继续讲,上一篇博客的末尾讲到调用slice解码器进行解码,就是m_cSliceDecoder.decompressSlice()这个函数。大致的作用就是将slice切成CTU然后继续解码,下面开始讲解具体流程。1. decompressSlice() //-- For time output for each slice.原创 2020-10-23 21:21:10 · 1657 阅读 · 2 评论 -
VTM10.0代码学习2:NALU的解码
此系列是为了记录自己学习VTM10.0的过程和锻炼表达能力,主要是从解码端进行入手。由于本人水平有限,出现的错误恳请大家指正,欢迎与大家一起交流进步。1. m_cDecLib.decode接着本系列的上一篇博客继续讲,之前的2.1.1小节讲到函数m_cDecLib.decode是调用解码器类进行NALU解码。NALU分两大类VCL和non-VCL类型,这两种类型下面又有很多细分,相应的解码也要把不同类型的NALU分开解码。 bool ret; // ignore all NAL units.原创 2020-10-19 11:19:57 · 1446 阅读 · 3 评论 -
VTM10.0代码学习1:DecApp_decode()
此系列是为了记录自己学习VTM10.0的过程和锻炼表达能力,主要是从解码端进行入手。由于本人水平有限,出现的错误恳请大家指正,欢迎与大家一起交流进步。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aSQsOeUL-1602146705625)(https://hjhyxq2014-blog-images.oss-cn-beijing.aliyuncs.com/img/DecApp_decode()].png)1.初始化int poc;.原创 2020-10-08 16:58:02 · 2939 阅读 · 3 评论