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

简介: <p><span style="color:#cc0000"><u>HM14.0下载地址:http://download.csdn.net/detail/frd2009041510/7707363</u></span></p> <p><strong>一、程序从TAppEncoder中的encmain.cpp开始,在主程序中按顺序做了以下几件事情:</strong></p> <p>①、创

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、编码时间等)。


待续。。。。。。


目录
相关文章
|
Ubuntu Windows
Qt开发笔记之编码h264码流并封装mp4(六):ubuntu平台编译mp4v2并封装mp4
Qt开发笔记之编码h264码流并封装mp4(六):ubuntu平台编译mp4v2并封装mp4
Qt开发笔记之编码h264码流并封装mp4(六):ubuntu平台编译mp4v2并封装mp4
攻防世界---misc---[中等] QR1
攻防世界---misc---[中等] QR1
|
7月前
|
数据安全/隐私保护
BUUCTF---misc---[HBNIS2018]来题中等的吧
BUUCTF---misc---[HBNIS2018]来题中等的吧
|
7月前
|
移动开发 算法 安全
安卓逆向 -- 算法基础(Base64与HEX)
安卓逆向 -- 算法基础(Base64与HEX)
40 1
|
Unix
App Inventor 2 从.aia项目文件中提取.aix拓展包
App Inventor 2 如何从.aia项目文件中提取.aix拓展包,详细的操作步骤。
217 0
App Inventor 2 从.aia项目文件中提取.aix拓展包
|
编解码 IDE 测试技术
HEVC编码之HM学习
HM是HEVC的官方标准测试模型,想要对HEVC进行了解,需要对HM源码进行一定解读才能够更加深入。
441 0
|
传感器 编解码 缓存
海思3559 sample解析:venc
海思3559 sample解析:venc
1087 0
海思3559 sample解析:venc
|
Web App开发 JavaScript 前端开发
TE二次开发:BS和CS的架构说明
skyline二次开发,BS和CS的架构说明
153 0
|
传感器 缓存 编解码
海思3559 sample解析:vio
拿到开发板,编完了平台sample,自然按捺不住要去简单学习测试了。打开最直观相对也比较简单的vio例程做个到手分析和流程梳理吧
2139 0
海思3559 sample解析:vio
|
存储 芯片 异构计算
使用ISE iMPACT实现一键bit转mcs,bit文件下载,mcs文件下载
使用ISE iMPACT实现一键bit转mcs,bit文件下载,mcs文件下载
848 0
使用ISE iMPACT实现一键bit转mcs,bit文件下载,mcs文件下载