博客专栏  >  综合   >  HEVC代码学习

HEVC代码学习

记录分享一下自己对于HEVC参考软件HM代码的学习过程,希望与更多的视频编码研究者交流。

关注
25 已关注
43篇博文
  • HEVC代码学习41:解码器代码整体学习

    最近看了一些解码端的代码,为了方便阅读,写个总结梳理一下思路,之后会不断补充。 这里借用雷神的图: decmain.cpp HM解码器入口是TAppDecoder的decmain.cpp,调...

    6天前 10:15
    14
  • HEVC代码学习40:decodePredInfo和decodePUWise函数

    在之前的 HEVC代码学习39:decodeCtu和xDecodeCU函数 中提到,xDecodeCU通过迭代完成每个CU的解码,其中skip模式会直接解码merge列表和索引,取出对应MV;PCM模...

    6天前 09:33
    12
  • HEVC代码学习39:decodeCtu和xDecodeCU函数

    在之前 HEVC代码学习38:decompressSlice函数 学习中提到,解码slice会遍历所有CTU,调用decodeCtu和decompressCtu解码每一个CTU。下面就来学习一下dec...

    2018-05-11 16:02
    23
  • HEVC代码学习38:decompressSlice函数

    好久没看HEVC了,今天回归,来学习一下解码端的decompressSlice函数,有两个,一个是TDecGop类的成员函数,另一个是TDecSlice类的。 TDecGop::decompress...

    2018-05-11 10:04
    17
  • HEVC代码学习37:帧内预测代码整体学习

    最近一直在看变换部分的东西,由于很多变换模式是针对帧内预测模式设计的,来简单学习一下帧内预测流程。通过之前xCompressCU的学习,我们知道了帧内、帧间的入口函数都在xCompressCU中,下面...

    2018-01-22 17:53
    235
  • HEVC代码学习36:xTrMxN函数

    之前在transformNxN的学习中提到,xT函数是前向变换的入口函数,实际上xT完成的是变换前的准备工作,真正的前向变换由xTrMxN函数实现。 先来看下xT函数。xT只是一个入口函数,首先定义...

    2018-01-15 16:17
    82
  • HEVC代码学习36:transformNxN函数

    今天来学习变换相关的函数,帧内帧间最终都会调用transformNxN来进行变换。下面来对transformNxN进行学习。 其工作流程如下: 1.RDPCM,对残差进行PCM处理,利用周围临近残...

    2018-01-15 11:55
    148
  • HEVC代码学习35:xEncodeCU函数

    xEncodeCU是由encodeCtu调用,其作用是从CTU开始迭代对每个CU进行编码。注意,xEncodeCU是在最优分块已经划分完成后进行编码时使用的,在xCompressCU中没有使用。 x...

    2017-12-01 17:21
    360
  • HEVC代码学习34:compressSlice函数

    compressSlice,是Slice层编码的入口函数,主要完成的功能就是Slice层编码参数的初始化,其中会调用compressCtu(其中会调用xCompressCU,对CU进行划分)和enco...

    2017-11-30 11:15
    273
  • HEVC代码学习33:量化相关代码学习

    今天来看量化相关的代码。HEVC中,变换和量化是相互结合的,这里重点关注量化部分。在HM的TLibCommon中,有TComTrQuant.h,从名字上可知是变换量化相关的,就从这个头文件入手开始学习...

    2017-11-23 15:23
    258
  • HEVC代码学习32:getInterMergeCandidates函数

    今天来看xCheckRDCostMerge2Nx2N函数中提到的重要函数getInterMergeCandidates,其功能是创建merge候选列表,这里重点来看空域候选列表的建立。首先来回忆一下m...

    2017-11-19 11:24
    256
  • HEVC代码学习31:xCheckRDCostMerge2Nx2N函数

    推荐阅读 http://blog.csdn.net/nb_vol_1/article/details/51163625 http://blog.csdn.net/guoyaoyao1990/art...

    2017-11-16 17:55
    259
  • HEVC代码学习30:fillMvpCand函数

    fillMvpCand函数的功能就是为AMVP建立候选列表。AMVP的理论见: http://blog.csdn.net/lin453701006/article/details/54340405f...

    2017-11-01 22:16
    327
  • HEVC代码学习29:getDistPart函数

    getDistPart的功能是根据输入的当前图像和原始图像的信息来计算失真,分为失真参数初始化和计算失真两部分。计算失真是通过函数指针FpDistFunc DistFunc来实现的,DistFunc会...

    2017-10-02 19:50
    556
  • HEVC代码学习28:setLambda函数

    在之前的TComRdCost类学习中,我们提到,要计算率失真代价,需要三个量:失真D、拉格朗日因子λ和码率R。下面就来看一下λ的设置函数。 在TComRdCost类中定义了setLambda函数,来...

    2017-10-02 11:03
    602
  • HEVC代码学习27:calcRdCost函数

    之前在率失真代价TComRdCost类中提到,计算率失真代价的函数为:calcRdCost,下面就来学习一下。calcRdCost工作流程如下: 1、根据输入的失真类型eDFunc来设置λ。 2、...

    2017-09-30 20:53
    738
  • HEVC代码学习26:率失真代价类TComRdCost

    HEVC代码学习25:xDecompressCU函数

    2017-09-28 15:39
    457
  • HEVC代码学习25:xDecompressCU函数

    今天来看解码端的xDecompressCU函数。对应x CompressCU,解码端有xDecompressCU函数,来完成CU的划分即各CU模式的选择。相比编码端,解码端就简单多了,只需要按照编码...

    2017-08-18 15:54
    357
  • HEVC代码学习24:encodeResAndCalcRdInterCU函数

    推荐http://blog.csdn.net/nb_vol_1/article/details/51190324在http://blog.csdn.net/lin453701006/article/d...

    2017-08-16 16:14
    683
  • HEVC代码学习23:xTZ8PointDiamondSearch函数

    今天来学习xTZ8PointDiamondSearch函数。 xTZ8PointDiamondSearch是xTZSearch调用的一个重要函数,实现的是菱形模板搜索。xTZ8PointDiamon...

    2017-08-14 23:21
    462

img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部