TAppEncoder的main函数

TAppEncoder是编码器工程,完成视频序列的编码。

运行时,首先调用encmain.cpp中的main函数

 

main函数中完成的工作主要有初始化encoder类,解析cfg文件,然后调用TAppEncTop::encode函数进入下一层,并且对编码过程进行计时。

其中调用了重要参数TAppEncTop::encode,是编码器的最上层的入口。

 

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 classcTAppEncTop.create(); //创建encoder类,实际create是一个空函数,不做任何操作。// parse configuration 解析cfg配置文件try{if(!cTAppEncTop.parseCfg( argc, argv ))//如果cfg文件正确,会调用xCheckParameter函数,在命令行窗口中输出解析提示,并调用xPrintParameter来回显参数{cTAppEncTop.destroy(); //如果cfg文件错误,调用destroy函数,实际也是一个空函数,不做任何操作。
#if ENVIRONMENT_VARIABLE_DEBUG_AND_TESTEnvVar::printEnvVar();
#endifreturn 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_TESTEnvVar::printEnvVarInUse();
#endif// starting timeDouble dResult;clock_t lBefore = clock(); //计时// call encoding functioncTAppEncTop.encode(); //调用encode函数,进行编码// ending timedResult = (Double)(clock()-lBefore) / CLOCKS_PER_SEC; //计时结果printf("\n Total Time: %12.3f sec.\n", dResult); //显示计时结果// destroy application encoder classcTAppEncTop.destroy();  //调用destroy函数return 0;
}

  

转载于:https://www.cnblogs.com/chenjz1993/p/6784573.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/401057.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【mq】从零开始实现 mq-01-生产者、消费者启动

&#x1f680; 优质资源分享 &#x1f680; 学习路线指引&#xff08;点击解锁&#xff09;知识定位人群定位&#x1f9e1; Python实战微信订餐小程序 &#x1f9e1;进阶级本课程是python flask微信小程序的完美结合&#xff0c;从项目搭建到腾讯云部署上线&#xff0c;打造一…

远程连接Ubuntu桌面配置

1、打开终端&#xff1a;依次安装 sudo apt-get install xrdpsudo apt-get install vnc4server tightvncserversudo apt-get install xubuntu-desktop 2、安装完&#xff1a;xubuntu-desktop之后&#xff0c;做如下配置以及启动 roothd-slave2:jvm# echo "xfce4-session&q…

【大话云原生】微服务篇-五星级酒店的服务方式

&#x1f680; 优质资源分享 &#x1f680; 学习路线指引&#xff08;点击解锁&#xff09;知识定位人群定位&#x1f9e1; Python实战微信订餐小程序 &#x1f9e1;进阶级本课程是python flask微信小程序的完美结合&#xff0c;从项目搭建到腾讯云部署上线&#xff0c;打造一…

从C#到TypeScript - Generator

从C#到TypeScript - Generator 上篇讲了Promise&#xff0c;Promise的执行需要不停的调用then&#xff0c;虽然比callback要好些&#xff0c;但也显得累赘。所以ES6里添加了Generator来做流程控制&#xff0c;可以更直观的执行Promise&#xff0c;但终级方案还是ES7议案中的asy…

C#中检查null的语法糖

&#x1f680; 优质资源分享 &#x1f680; 学习路线指引&#xff08;点击解锁&#xff09;知识定位人群定位&#x1f9e1; Python实战微信订餐小程序 &#x1f9e1;进阶级本课程是python flask微信小程序的完美结合&#xff0c;从项目搭建到腾讯云部署上线&#xff0c;打造一…

iOS UItextView监听输入特定字符跳转页面选择选项返回

今天有朋友问我一个需求的实现,于是自己写了一个Demo简单的实现了一下: 需求是: 1>比如: 检测用户输入"A"字符串,跳转页面选择选项,将选择的选项放置textView里,作为当前的输入; 2>不是"A"字符,则正常的textView输入; 3.用户跳转选择了,则将选择的输…

PDCA循环——快速提升软件质量的必备工具

&#x1f680; 优质资源分享 &#x1f680; 学习路线指引&#xff08;点击解锁&#xff09;知识定位人群定位&#x1f9e1; Python实战微信订餐小程序 &#x1f9e1;进阶级本课程是python flask微信小程序的完美结合&#xff0c;从项目搭建到腾讯云部署上线&#xff0c;打造一…

oracle 表空间 用户

-- create user mapecun identified by "accp"; --alter user 用户名 quota unlimited on 表空间; --alter user mapecun quota unlimited on USERS; --grant create sequence to mapecun; /** grant create session to mapecun; grant create table to mapecun; g…

如何在Web前端实现CAD图文字全文搜索功能之技术分享

&#x1f680; 优质资源分享 &#x1f680; 学习路线指引&#xff08;点击解锁&#xff09;知识定位人群定位&#x1f9e1; Python实战微信订餐小程序 &#x1f9e1;进阶级本课程是python flask微信小程序的完美结合&#xff0c;从项目搭建到腾讯云部署上线&#xff0c;打造一…

基于Java (spring-boot)的仓库管理系统

一、项目介绍 本系统的使用者一共有系统管理员、仓库管理员和普通用户这3种角色: 1.系统管理员&#xff1a;通过登录系统后&#xff0c;可以进行管理员和用户信息的管理、仓库和物品分类的管理&#xff0c;以及操作日志的查询&#xff0c;具有全面的系统管理权限。 2.仓库管理…

基于语义感知SBST的API场景测试智能生成

&#x1f680; 优质资源分享 &#x1f680; 学习路线指引&#xff08;点击解锁&#xff09;知识定位人群定位&#x1f9e1; Python实战微信订餐小程序 &#x1f9e1;进阶级本课程是python flask微信小程序的完美结合&#xff0c;从项目搭建到腾讯云部署上线&#xff0c;打造一…

【KMP模板】简单写个KMP~

本来easy的KMP 却一直过不了洛谷的模板题。。。 仔细一看原来在输出next数组时打的回车而不是空格。。。 身败名裂。。。 话说有个sunday貌似一般状况下比KMP快呢。。。去看看2333 #include<cstdio> #include<iostream> #include<cstring> #include<algor…

2015 CALLED THE INTERFACE OF 2014

Writer&#xff1a;BYSocket&#xff08;泥沙砖瓦浆木匠&#xff09; 微博&#xff1a;BYSocket豆瓣&#xff1a;BYSocketReprint it anywhere u want. ”Hi , Happy New Year.Written in Stupid Enlish,Dont push me *.* ” 2014 System 2015 is coming.But 2014 is not over.…

论文解读(MERIT)《Multi-Scale Contrastive Siamese Networks for Self-Supervised Graph Representation Learni

&#x1f680; 优质资源分享 &#x1f680; 学习路线指引&#xff08;点击解锁&#xff09;知识定位人群定位&#x1f9e1; Python实战微信订餐小程序 &#x1f9e1;进阶级本课程是python flask微信小程序的完美结合&#xff0c;从项目搭建到腾讯云部署上线&#xff0c;打造一…

Fiddler抓包9-保存会话(save)

前言 为什么要保存会话呢&#xff1f;举个很简单的场景&#xff0c;你在上海测试某个功能接口的时候&#xff0c;发现了一个BUG&#xff0c;而开发这个接口的开发人员是北京的一家合作公司。你这时候给对方开发提bug&#xff0c; 如何显得专业一点&#xff0c;能让对方心服口服…

『现学现忘』Git基础 — 17、Commit对象

&#x1f680; 优质资源分享 &#x1f680; 学习路线指引&#xff08;点击解锁&#xff09;知识定位人群定位&#x1f9e1; Python实战微信订餐小程序 &#x1f9e1;进阶级本课程是python flask微信小程序的完美结合&#xff0c;从项目搭建到腾讯云部署上线&#xff0c;打造一…

Spring/MVC映射WEB-INF下的文件(img、css、js等)

学过Mvc的都知道并且会访问该目录下面的jsp 页面&#xff08;这是最基础的&#xff09; 但我们想访问里面的图片什么的&#xff0c;又该怎么去访问呢&#xff0c; 一句代码&#xff1a; <mvc:resources mapping"/img/**" location"/WEB-INF/img/"/> …

NSDate 类的总结,全面基础

NSDate 类的总结,全面基础 <span style"font-size:24px;"><span style"font-size:18px;">//1.创建日期对象//创建的NSDate对象,获得的永远是0时区时间,假设要是求东八区时间,就加8个小时NSDate *date [NSDate date];NSLog("%",date…

《HelloGitHub》第 73 期

&#x1f680; 优质资源分享 &#x1f680; 学习路线指引&#xff08;点击解锁&#xff09;知识定位人群定位&#x1f9e1; Python实战微信订餐小程序 &#x1f9e1;进阶级本课程是python flask微信小程序的完美结合&#xff0c;从项目搭建到腾讯云部署上线&#xff0c;打造一…

FTP命令大全

项目需要&#xff0c;接触到ftp的一些操作&#xff0c;这里搬运一些ftp命令供以后参考 命令描述ABOR(ABORT)此命令使服务器终止前一个FTP服务命令以及任何相关数据传输。ACCT(ACCOUNT)此命令的参数部分使用一个Telnet字符串来指明用户的账户。ADAT(AUTHENTICATION/SECURITY DAT…