Very different function call ?

I was going through a code for video coding (HEVC test model HM 4.0), I found a very strange code as given below:Please see the complete code in the following URL. ( code is too big to be pasted here)

URL is http://hevc.hhi.fraunhofer.de/HM-doc/_t_app_enc_cfg_8cpp_source.html

code Line 102

A set of parameters ( file I/O parameters) are enclosed in simple braces and are simply written line by line . What is the format ? I didn't get any idea.How the Input parameters are read and passed to appropriate functions?

Bool TAppEncCfg::parseCfg( Int argc, Char* argv[] )
{
bool do_help = false;

string cfg_InputFile;
string cfg_dQPFile;
po::Options opts;
opts.addOptions()

("help", do_help, false, "this help text")
("c", po::parseConfigFile, "configuration file name")


/* File, I/O and source parameters */

("InputFile,i", cfg_InputFile, string(""), "original YUV input file name")
("BitstreamFile,b", cfg_BitstreamFile, string(""), "bitstream output file name")
("ReconFile,o", cfg_ReconFile, string(""), "reconstructed YUV output file name")


("SourceWidth,-wdt", m_iSourceWidth, 0, "Source picture width")
.....
.......

/* Unit definition parameters */
("MaxCUWidth", m_uiMaxCUWidth, 64u)
("MaxCUHeight", m_uiMaxCUHeight, 64u)

......
.....
return true;
}
Note that the statement on line 111 go all the way until line 260 where you find the semicolon. addOptions() probably returns an object that has operator() defined that returns a reference to the same object. This is similar how you can print multiple things with cout by using operator<<.
Last edited on
Topic archived. No new replies allowed.