首先,写一些关于-f和-d命令的使用情况吧。
在jm代码内部,默认的设置文件是encoder.cfg,这个文件需要在工作目录下,程序才找得到。如果在工作目录下有这个cfg文件,选用-d xxxx.cfg或-f xxxx.cfg时的效果是一样的。如果工作目录下没有这个encoder.cfg文件,选用-d xxxx.cfg会达到效果,但是-f xxxx.cfg 却不能达到效果。我看了一下代码主要原因是程序在测试是否为-f命令之前要对一个配置文件进行解析,如果默认的配置文件不存在,程序在解析配置默认文件 (encoder.cfg)时出错,直接退出了
配置文件的理解:
- Files输入/输出文件配置
这个都比较明显,不用多说了。
- Encoder Control 编码控制
(3)接下来的是关于B帧,SP帧相关参数的设置
由于还没有研究到这一块,所以这里先略过这一块
(4)NAL的输出控制
(5)CABAC编码方式也不进行研究了
(6)MbAFF与PAFF的选择
这个选择可以在配置文件中进行设置,具体如下:
(7)剩下的几项都是一些现今我还没有研究到的地方,在这儿就先不分析了。
配置文件中一些量在configfile.h文件中都有对应关系,比如:
input