TAppEncoder的main函数
生活随笔
收集整理的這篇文章主要介紹了
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
總結
以上是生活随笔為你收集整理的TAppEncoder的main函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux使用flock解决cronta
- 下一篇: 如何梦到前世记忆