HEVC代码学习1:TAppEncoder的main函数
来源:互联网 发布:如何在淘宝上申请直播 编辑:程序博客网 时间:2024/06/05 20:50
这里使用的是HM16.6。
TAppEncoder是编码器工程,完成视频序列的编码。
运行时,首先调用encmain.cpp中的main函数
main函数中完成的工作主要有初始化encoder类,解析cfg文件,然后调用TAppEncTop::encode函数进入下一层,并且对编码过程进行计时。
其中调用了重要参数TAppEncTop::encode,是编码器的最上层的入口。
主要过程是:
代码如下:
<span style="font-size:14px;">int main(int argc, char* argv[]){ TAppEncTop cTAppEncTop; //定义cTAppEncTop // print information 打印信息并标准输出HM版本信息 fprintf( stdout, "\n" ); fprintf( stdout, "HM software: Encoder Version [%s] (including RExt)", NV_VERSION ); fprintf( stdout, NVM_ONOS ); fprintf( stdout, NVM_COMPILEDBY ); fprintf( stdout, NVM_BITS ); fprintf( stdout, "\n\n" ); // create application encoder class cTAppEncTop.create(); //创建encoder类,实际create是一个空函数,不做任何操作。 // parse configuration 解析cfg配置文件 try { if(!cTAppEncTop.parseCfg( argc, argv ))//如果cfg文件正确,会调用xCheckParameter函数,在命令行窗口中输出解析提示,并调用xPrintParameter来回显参数 { cTAppEncTop.destroy(); //如果cfg文件错误,调用destroy函数,实际也是一个空函数,不做任何操作。#if ENVIRONMENT_VARIABLE_DEBUG_AND_TEST EnvVar::printEnvVar();#endif return 1; } } catch (df::program_options_lite::ParseFailure &e) //异常处理,如果cfg文件错误时回显错误提示 { std::cerr << "Error parsing option \""<< e.arg <<"\" with argument \""<< e.val <<"\"." << std::endl; return 1; }#if PRINT_MACRO_VALUES //打印宏块值 printMacroSettings();#endif#if ENVIRONMENT_VARIABLE_DEBUG_AND_TEST EnvVar::printEnvVarInUse();#endif // starting time Double dResult; clock_t lBefore = clock(); //计时 // call encoding function cTAppEncTop.encode(); //调用encode函数,进行编码 // ending time dResult = (Double)(clock()-lBefore) / CLOCKS_PER_SEC; //计时结果 printf("\n Total Time: %12.3f sec.\n", dResult); //显示计时结果 // destroy application encoder class cTAppEncTop.destroy(); //调用destroy函数 return 0;}</span>
其中调用了重要参数TAppEncTop::encode,是编码器的最上层的入口。
0 0
- HEVC代码学习1:TAppEncoder的main函数
- HEVC代码学习2:TAppEncTop::encode函数
- HEVC代码学习3:TEncTop::encode函数
- HEVC代码学习7:xPatternSearchFracDIF函数
- HEVC代码学习8:xMotionEstimation函数
- HEVC代码学习9:getInterMergeCandidates函数
- HEVC代码学习11:xCompressCU函数
- HEVC代码学习12:xCheckRDCostInter函数
- HEVC代码学习13:predInterSearch函数
- HEVC代码学习14:motionCompensation函数
- HEVC代码学习15:AMVP相关函数
- HEVC代码学习20:xPatternSearchFast函数
- HEVC代码学习21:xTZSearch函数
- HEVC代码学习22:xTZSearchHelp函数
- HEVC代码学习23:xTZ8PointDiamondSearch函数
- HEVC代码学习24:encodeResAndCalcRdInterCU函数
- HEVC代码学习25:xDecompressCU函数
- HEVC代码学习27:calcRdCost函数
- Cause: net.sf.cglib.beans.BulkBeanException 之解决方法
- chmod命令详解
- 服务器数据库数据恢复
- php中的处理字符串的函数
- windows 内核函数前缀解析
- HEVC代码学习1:TAppEncoder的main函数
- Android开发之如何获取Android手机屏幕的大小(分辨率、密度)
- Android引导页控件 收集
- android 6.0以下,拒绝录音权限后处理
- 详细注释-Android五子棋
- 服务器上的tomcat偶尔响应变慢
- 【JZOJ4816】【NOIP2016提高A组五校联考4】label
- Android studio两种工程目录视图对比--Using the Android Project View
- 解决Linux关闭终端(关闭SSH等)后运行的程序自动停止