HEVC Study One(基于HM14.0平台)

HM14.0下载地址:http://download.csdn.net/detail/frd2009041510/7707363

一、程序从TAppEncoder中的encmain.cpp开始,在主程序中按顺序做了以下几件事情:

①、创建类cTAppEncTop,为TAppEncTop.cpp做准备,同时在TAppEncTop.cpp中初始化m_iFrameRcvd(number of received frames)、m_totalBytes和m_essentialBytes(其实,利用Step Into调试可以发现里面涉及众多的初始化工作,不详)。

②、打印相关信息,如软件版本等,见下图。


③、解析配置文件


④、调用编码函数cTAppEncTop.encode()(这里有个小插曲,即编码时间从此刻开始计时)。

TAppEncoderencmain.cpp中剩余部分都无关紧要,也就是结束编码时间和破坏类等琐事。


二、接着程序进入TAppEncTop.cpp中的TAppEncTop::encode(),主要按顺序完成了以下几件事情:

①、利用fstream构造命名文件并指定模式(这里涉及一坨C文件,不详)。

②、图像YUV缓冲区类创建: 

TComPicYuv*       pcPicYuvOrg = new TComPicYuv;

TComPicYuv*       pcPicYuvRec = NULL;

具体细节在TComPicYuv.cppTComPicYuv.h中,very important.

③、初始化内部类和成员变量: 

xInitLibCfg();( initialize internal variables 

xCreateLib();( create files & encoder class 

xInitLib(m_isField);( initialize encoder class 

 

④、初始化编码循环变量iNumEncoded和bEos;

⑤、分配原始YUV缓冲区;

、进入编码循环,利用bEos控制(最关键部分);

⑦、释放原始YUV缓冲区;

⑧、释放在编码类中使用的缓冲区;

⑨、释放缓冲区和类;

⑩、打印总结信息(Bitrate、PSNR、编码时间等)。


待续。。。。。。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值