HEVC Study One(基于HM14.0平台)
2014-09-03 09:49
288 查看
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()(这里有个小插曲,即编码时间从此刻开始计时)。
TAppEncoder的encmain.cpp中剩余部分都无关紧要,也就是结束编码时间和破坏类等琐事。
二、接着程序进入TAppEncTop.cpp中的TAppEncTop::encode(),主要按顺序完成了以下几件事情:
①、利用fstream构造命名文件并指定模式(这里涉及一坨C文件,不详)。
②、图像YUV缓冲区类创建:
TComPicYuv* pcPicYuvOrg = new TComPicYuv;
TComPicYuv* pcPicYuvRec = NULL;
具体细节在TComPicYuv.cpp和TComPicYuv.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、编码时间等)。
待续。。。。。。
一、程序从TAppEncoder中的encmain.cpp开始,在主程序中按顺序做了以下几件事情:
①、创建类cTAppEncTop,为TAppEncTop.cpp做准备,同时在TAppEncTop.cpp中初始化m_iFrameRcvd(number of received frames)、m_totalBytes和m_essentialBytes(其实,利用Step Into调试可以发现里面涉及众多的初始化工作,不详)。
②、打印相关信息,如软件版本等,见下图。
③、解析配置文件
④、调用编码函数cTAppEncTop.encode()(这里有个小插曲,即编码时间从此刻开始计时)。
TAppEncoder的encmain.cpp中剩余部分都无关紧要,也就是结束编码时间和破坏类等琐事。
二、接着程序进入TAppEncTop.cpp中的TAppEncTop::encode(),主要按顺序完成了以下几件事情:
①、利用fstream构造命名文件并指定模式(这里涉及一坨C文件,不详)。
②、图像YUV缓冲区类创建:
TComPicYuv* pcPicYuvOrg = new TComPicYuv;
TComPicYuv* pcPicYuvRec = NULL;
具体细节在TComPicYuv.cpp和TComPicYuv.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、编码时间等)。
待续。。。。。。
相关文章推荐
- HEVC Study One(基于HM14.0平台)
- HEVC Study Three(基于HM14.0平台)--GOP研究之大揭秘
- HEVC Study Three(基于HM14.0平台)--GOP研究之大揭秘
- HEVC Study Two(基于HM14.0平台)--如何在HEVC中加入背景建模技术(一)
- HEVC Study Two(基于HM14.0平台)--如何在HEVC中加入背景建模技术(一)
- HEVC Study Two(基于HM14.0平台)--如何在HEVC中加入背景建模技术(二)
- HEVC Study Two(基于HM14.0平台)--如何在HEVC中加入背景建模技术(二)
- HEVC framework before starting encoding(基于HM14.0平台)
- HEVC framework before starting encoding(基于HM14.0平台)
- 基于React-Native的高仿「ONE·一个」,兼容Android、iOS双平台
- 移植HM(HEVC测试软件)到Android平台(ARM)
- 肖康-基于Storm利用空闲资源构建实时计算平台
- 在DaoCloud平台部署基于Docker镜像的应用
- 谈基于.Net平台开发中的模式窗体
- 如何学习嵌入式系统(基于ARM平台)
- 如何制作一款像超级玛丽兄弟一样基于平台的游戏-第二部分 (xcode,物理引擎,TMXTiledMap相关应用)
- 云效平台——基于jmeter的轻量级性能测试平台
- 基于Spark的异构分布式深度学习平台
- 基于Android 平台简易即时通讯的研究与设计[转]