Adding config file parsing implementation
Parameters from config file will be added at --cfg options location to
be processed
Config file example:
#ignore comment
ext-partition : 1 #ignore as well
codec : av1
psnr : ON
Note(s):
- Config file is a simple text file
- Comment starts with hash(#)
Can be full line or part of the line, after hash(#) details are
ignored
- Format: field : value
colon(:) as delimeter, otherwise full line will be ignored
Space(s) and tab(s) can be used, not inside field
- long names for field are prefered
existing --long_name option format
- "no value" fields should contain ON as value
Example of usage:
aomenc --cfg=some.cfg src_filename
Configurations support matrix:
enable-ext-partition : done
enable-loop-restoration : wip
enable-deblocking : wip
...
Change-Id: Iad867c5d2da64271cdafa825c89f7d6444582f61
diff --git a/av1/av1_cx_iface.c b/av1/av1_cx_iface.c
index 024926f..3304634 100644
--- a/av1/av1_cx_iface.c
+++ b/av1/av1_cx_iface.c
@@ -540,6 +540,7 @@
#endif
oxcf->mode = GOOD;
+ oxcf->cfg = &cfg->cfg;
switch (cfg->g_pass) {
case AOM_RC_ONE_PASS: oxcf->pass = 0; break;
@@ -1886,15 +1887,16 @@
2000, // rc_two_pass_vbrmax_section
// keyframing settings (kf)
- AOM_KF_AUTO, // g_kfmode
- 0, // kf_min_dist
- 9999, // kf_max_dist
- 0, // large_scale_tile
- 0, // monochrome
- 0, // tile_width_count
- 0, // tile_height_count
- { 0 }, // tile_widths
- { 0 }, // tile_heights
+ AOM_KF_AUTO, // g_kfmode
+ 0, // kf_min_dist
+ 9999, // kf_max_dist
+ 0, // large_scale_tile
+ 0, // monochrome
+ 0, // tile_width_count
+ 0, // tile_height_count
+ { 0 }, // tile_widths
+ { 0 }, // tile_heights
+ { CONFIG_EXT_PARTITION }, // config file
} },
};