xref: /aosp_15_r20/external/libaom/av1/arg_defs.c (revision 77c1e3ccc04c968bd2bc212e87364f250e820521)
1*77c1e3ccSAndroid Build Coastguard Worker /*
2*77c1e3ccSAndroid Build Coastguard Worker  * Copyright (c) 2021, Alliance for Open Media. All rights reserved.
3*77c1e3ccSAndroid Build Coastguard Worker  *
4*77c1e3ccSAndroid Build Coastguard Worker  * This source code is subject to the terms of the BSD 2 Clause License and
5*77c1e3ccSAndroid Build Coastguard Worker  * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
6*77c1e3ccSAndroid Build Coastguard Worker  * was not distributed with this source code in the LICENSE file, you can
7*77c1e3ccSAndroid Build Coastguard Worker  * obtain it at www.aomedia.org/license/software. If the Alliance for Open
8*77c1e3ccSAndroid Build Coastguard Worker  * Media Patent License 1.0 was not distributed with this source code in the
9*77c1e3ccSAndroid Build Coastguard Worker  * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
10*77c1e3ccSAndroid Build Coastguard Worker  */
11*77c1e3ccSAndroid Build Coastguard Worker 
12*77c1e3ccSAndroid Build Coastguard Worker #include "av1/arg_defs.h"
13*77c1e3ccSAndroid Build Coastguard Worker 
14*77c1e3ccSAndroid Build Coastguard Worker static const struct arg_enum_list test_decode_enum[] = {
15*77c1e3ccSAndroid Build Coastguard Worker   { "off", TEST_DECODE_OFF },
16*77c1e3ccSAndroid Build Coastguard Worker   { "fatal", TEST_DECODE_FATAL },
17*77c1e3ccSAndroid Build Coastguard Worker   { "warn", TEST_DECODE_WARN },
18*77c1e3ccSAndroid Build Coastguard Worker   { NULL, 0 }
19*77c1e3ccSAndroid Build Coastguard Worker };
20*77c1e3ccSAndroid Build Coastguard Worker 
21*77c1e3ccSAndroid Build Coastguard Worker static const struct arg_enum_list bitdepth_enum[] = {
22*77c1e3ccSAndroid Build Coastguard Worker   { "8", AOM_BITS_8 }, { "10", AOM_BITS_10 }, { "12", AOM_BITS_12 }, { NULL, 0 }
23*77c1e3ccSAndroid Build Coastguard Worker };
24*77c1e3ccSAndroid Build Coastguard Worker 
25*77c1e3ccSAndroid Build Coastguard Worker #if CONFIG_WEBM_IO
26*77c1e3ccSAndroid Build Coastguard Worker static const struct arg_enum_list stereo_mode_enum[] = {
27*77c1e3ccSAndroid Build Coastguard Worker   { "mono", STEREO_FORMAT_MONO },
28*77c1e3ccSAndroid Build Coastguard Worker   { "left-right", STEREO_FORMAT_LEFT_RIGHT },
29*77c1e3ccSAndroid Build Coastguard Worker   { "bottom-top", STEREO_FORMAT_BOTTOM_TOP },
30*77c1e3ccSAndroid Build Coastguard Worker   { "top-bottom", STEREO_FORMAT_TOP_BOTTOM },
31*77c1e3ccSAndroid Build Coastguard Worker   { "right-left", STEREO_FORMAT_RIGHT_LEFT },
32*77c1e3ccSAndroid Build Coastguard Worker   { NULL, 0 }
33*77c1e3ccSAndroid Build Coastguard Worker };
34*77c1e3ccSAndroid Build Coastguard Worker #endif
35*77c1e3ccSAndroid Build Coastguard Worker 
36*77c1e3ccSAndroid Build Coastguard Worker static const struct arg_enum_list end_usage_enum[] = { { "vbr", AOM_VBR },
37*77c1e3ccSAndroid Build Coastguard Worker                                                        { "cbr", AOM_CBR },
38*77c1e3ccSAndroid Build Coastguard Worker                                                        { "cq", AOM_CQ },
39*77c1e3ccSAndroid Build Coastguard Worker                                                        { "q", AOM_Q },
40*77c1e3ccSAndroid Build Coastguard Worker                                                        { NULL, 0 } };
41*77c1e3ccSAndroid Build Coastguard Worker 
42*77c1e3ccSAndroid Build Coastguard Worker static const struct arg_enum_list tuning_enum[] = {
43*77c1e3ccSAndroid Build Coastguard Worker   { "psnr", AOM_TUNE_PSNR },
44*77c1e3ccSAndroid Build Coastguard Worker   { "ssim", AOM_TUNE_SSIM },
45*77c1e3ccSAndroid Build Coastguard Worker   { "vmaf_with_preprocessing", AOM_TUNE_VMAF_WITH_PREPROCESSING },
46*77c1e3ccSAndroid Build Coastguard Worker   { "vmaf_without_preprocessing", AOM_TUNE_VMAF_WITHOUT_PREPROCESSING },
47*77c1e3ccSAndroid Build Coastguard Worker   { "vmaf", AOM_TUNE_VMAF_MAX_GAIN },
48*77c1e3ccSAndroid Build Coastguard Worker   { "vmaf_neg", AOM_TUNE_VMAF_NEG_MAX_GAIN },
49*77c1e3ccSAndroid Build Coastguard Worker   { "butteraugli", AOM_TUNE_BUTTERAUGLI },
50*77c1e3ccSAndroid Build Coastguard Worker   { "vmaf_saliency_map", AOM_TUNE_VMAF_SALIENCY_MAP },
51*77c1e3ccSAndroid Build Coastguard Worker   { NULL, 0 }
52*77c1e3ccSAndroid Build Coastguard Worker };
53*77c1e3ccSAndroid Build Coastguard Worker 
54*77c1e3ccSAndroid Build Coastguard Worker static const struct arg_enum_list dist_metric_enum[] = {
55*77c1e3ccSAndroid Build Coastguard Worker   { "psnr", AOM_DIST_METRIC_PSNR },
56*77c1e3ccSAndroid Build Coastguard Worker   { "qm-psnr", AOM_DIST_METRIC_QM_PSNR },
57*77c1e3ccSAndroid Build Coastguard Worker   { NULL, 0 }
58*77c1e3ccSAndroid Build Coastguard Worker };
59*77c1e3ccSAndroid Build Coastguard Worker 
60*77c1e3ccSAndroid Build Coastguard Worker #if CONFIG_AV1_ENCODER
61*77c1e3ccSAndroid Build Coastguard Worker static const struct arg_enum_list timing_info_enum[] = {
62*77c1e3ccSAndroid Build Coastguard Worker   { "unspecified", AOM_TIMING_UNSPECIFIED },
63*77c1e3ccSAndroid Build Coastguard Worker   { "constant", AOM_TIMING_EQUAL },
64*77c1e3ccSAndroid Build Coastguard Worker   { "model", AOM_TIMING_DEC_MODEL },
65*77c1e3ccSAndroid Build Coastguard Worker   { NULL, 0 }
66*77c1e3ccSAndroid Build Coastguard Worker };
67*77c1e3ccSAndroid Build Coastguard Worker 
68*77c1e3ccSAndroid Build Coastguard Worker static const struct arg_enum_list superblock_size_enum[] = {
69*77c1e3ccSAndroid Build Coastguard Worker   { "dynamic", AOM_SUPERBLOCK_SIZE_DYNAMIC },
70*77c1e3ccSAndroid Build Coastguard Worker   { "64", AOM_SUPERBLOCK_SIZE_64X64 },
71*77c1e3ccSAndroid Build Coastguard Worker   { "128", AOM_SUPERBLOCK_SIZE_128X128 },
72*77c1e3ccSAndroid Build Coastguard Worker   { NULL, 0 }
73*77c1e3ccSAndroid Build Coastguard Worker };
74*77c1e3ccSAndroid Build Coastguard Worker 
75*77c1e3ccSAndroid Build Coastguard Worker static const struct arg_enum_list matrix_coefficients_enum[] = {
76*77c1e3ccSAndroid Build Coastguard Worker   { "identity", AOM_CICP_MC_IDENTITY },
77*77c1e3ccSAndroid Build Coastguard Worker   { "bt709", AOM_CICP_MC_BT_709 },
78*77c1e3ccSAndroid Build Coastguard Worker   { "unspecified", AOM_CICP_MC_UNSPECIFIED },
79*77c1e3ccSAndroid Build Coastguard Worker   { "fcc73", AOM_CICP_MC_FCC },
80*77c1e3ccSAndroid Build Coastguard Worker   { "bt470bg", AOM_CICP_MC_BT_470_B_G },
81*77c1e3ccSAndroid Build Coastguard Worker   { "bt601", AOM_CICP_MC_BT_601 },
82*77c1e3ccSAndroid Build Coastguard Worker   { "smpte240", AOM_CICP_CP_SMPTE_240 },
83*77c1e3ccSAndroid Build Coastguard Worker   { "ycgco", AOM_CICP_MC_SMPTE_YCGCO },
84*77c1e3ccSAndroid Build Coastguard Worker   { "bt2020ncl", AOM_CICP_MC_BT_2020_NCL },
85*77c1e3ccSAndroid Build Coastguard Worker   { "bt2020cl", AOM_CICP_MC_BT_2020_CL },
86*77c1e3ccSAndroid Build Coastguard Worker   { "smpte2085", AOM_CICP_MC_SMPTE_2085 },
87*77c1e3ccSAndroid Build Coastguard Worker   { "chromncl", AOM_CICP_MC_CHROMAT_NCL },
88*77c1e3ccSAndroid Build Coastguard Worker   { "chromcl", AOM_CICP_MC_CHROMAT_CL },
89*77c1e3ccSAndroid Build Coastguard Worker   { "ictcp", AOM_CICP_MC_ICTCP },
90*77c1e3ccSAndroid Build Coastguard Worker   { NULL, 0 }
91*77c1e3ccSAndroid Build Coastguard Worker };
92*77c1e3ccSAndroid Build Coastguard Worker 
93*77c1e3ccSAndroid Build Coastguard Worker static const struct arg_enum_list chroma_sample_position_enum[] = {
94*77c1e3ccSAndroid Build Coastguard Worker   { "unknown", AOM_CSP_UNKNOWN },
95*77c1e3ccSAndroid Build Coastguard Worker   { "vertical", AOM_CSP_VERTICAL },
96*77c1e3ccSAndroid Build Coastguard Worker   { "colocated", AOM_CSP_COLOCATED },
97*77c1e3ccSAndroid Build Coastguard Worker   { NULL, 0 }
98*77c1e3ccSAndroid Build Coastguard Worker };
99*77c1e3ccSAndroid Build Coastguard Worker 
100*77c1e3ccSAndroid Build Coastguard Worker static const struct arg_enum_list tune_content_enum[] = {
101*77c1e3ccSAndroid Build Coastguard Worker   { "default", AOM_CONTENT_DEFAULT },
102*77c1e3ccSAndroid Build Coastguard Worker   { "screen", AOM_CONTENT_SCREEN },
103*77c1e3ccSAndroid Build Coastguard Worker   { "film", AOM_CONTENT_FILM },
104*77c1e3ccSAndroid Build Coastguard Worker   { NULL, 0 }
105*77c1e3ccSAndroid Build Coastguard Worker };
106*77c1e3ccSAndroid Build Coastguard Worker 
107*77c1e3ccSAndroid Build Coastguard Worker static const struct arg_enum_list transfer_characteristics_enum[] = {
108*77c1e3ccSAndroid Build Coastguard Worker   { "unspecified", AOM_CICP_CP_UNSPECIFIED },
109*77c1e3ccSAndroid Build Coastguard Worker   { "bt709", AOM_CICP_TC_BT_709 },
110*77c1e3ccSAndroid Build Coastguard Worker   { "bt470m", AOM_CICP_TC_BT_470_M },
111*77c1e3ccSAndroid Build Coastguard Worker   { "bt470bg", AOM_CICP_TC_BT_470_B_G },
112*77c1e3ccSAndroid Build Coastguard Worker   { "bt601", AOM_CICP_TC_BT_601 },
113*77c1e3ccSAndroid Build Coastguard Worker   { "smpte240", AOM_CICP_TC_SMPTE_240 },
114*77c1e3ccSAndroid Build Coastguard Worker   { "lin", AOM_CICP_TC_LINEAR },
115*77c1e3ccSAndroid Build Coastguard Worker   { "log100", AOM_CICP_TC_LOG_100 },
116*77c1e3ccSAndroid Build Coastguard Worker   { "log100sq10", AOM_CICP_TC_LOG_100_SQRT10 },
117*77c1e3ccSAndroid Build Coastguard Worker   { "iec61966", AOM_CICP_TC_IEC_61966 },
118*77c1e3ccSAndroid Build Coastguard Worker   { "bt1361", AOM_CICP_TC_BT_1361 },
119*77c1e3ccSAndroid Build Coastguard Worker   { "srgb", AOM_CICP_TC_SRGB },
120*77c1e3ccSAndroid Build Coastguard Worker   { "bt2020-10bit", AOM_CICP_TC_BT_2020_10_BIT },
121*77c1e3ccSAndroid Build Coastguard Worker   { "bt2020-12bit", AOM_CICP_TC_BT_2020_12_BIT },
122*77c1e3ccSAndroid Build Coastguard Worker   { "smpte2084", AOM_CICP_TC_SMPTE_2084 },
123*77c1e3ccSAndroid Build Coastguard Worker   { "hlg", AOM_CICP_TC_HLG },
124*77c1e3ccSAndroid Build Coastguard Worker   { "smpte428", AOM_CICP_TC_SMPTE_428 },
125*77c1e3ccSAndroid Build Coastguard Worker   { NULL, 0 }
126*77c1e3ccSAndroid Build Coastguard Worker };
127*77c1e3ccSAndroid Build Coastguard Worker 
128*77c1e3ccSAndroid Build Coastguard Worker static const struct arg_enum_list color_primaries_enum[] = {
129*77c1e3ccSAndroid Build Coastguard Worker   { "bt709", AOM_CICP_CP_BT_709 },
130*77c1e3ccSAndroid Build Coastguard Worker   { "unspecified", AOM_CICP_CP_UNSPECIFIED },
131*77c1e3ccSAndroid Build Coastguard Worker   { "bt601", AOM_CICP_CP_BT_601 },
132*77c1e3ccSAndroid Build Coastguard Worker   { "bt470m", AOM_CICP_CP_BT_470_M },
133*77c1e3ccSAndroid Build Coastguard Worker   { "bt470bg", AOM_CICP_CP_BT_470_B_G },
134*77c1e3ccSAndroid Build Coastguard Worker   { "smpte240", AOM_CICP_CP_SMPTE_240 },
135*77c1e3ccSAndroid Build Coastguard Worker   { "film", AOM_CICP_CP_GENERIC_FILM },
136*77c1e3ccSAndroid Build Coastguard Worker   { "bt2020", AOM_CICP_CP_BT_2020 },
137*77c1e3ccSAndroid Build Coastguard Worker   { "xyz", AOM_CICP_CP_XYZ },
138*77c1e3ccSAndroid Build Coastguard Worker   { "smpte431", AOM_CICP_CP_SMPTE_431 },
139*77c1e3ccSAndroid Build Coastguard Worker   { "smpte432", AOM_CICP_CP_SMPTE_432 },
140*77c1e3ccSAndroid Build Coastguard Worker   { "ebu3213", AOM_CICP_CP_EBU_3213 },
141*77c1e3ccSAndroid Build Coastguard Worker   { NULL, 0 }
142*77c1e3ccSAndroid Build Coastguard Worker };
143*77c1e3ccSAndroid Build Coastguard Worker #endif  // CONFIG_AV1_ENCODER
144*77c1e3ccSAndroid Build Coastguard Worker 
145*77c1e3ccSAndroid Build Coastguard Worker const av1_codec_arg_definitions_t g_av1_codec_arg_defs = {
146*77c1e3ccSAndroid Build Coastguard Worker   .help = ARG_DEF(NULL, "help", 0, "Show usage options and exit"),
147*77c1e3ccSAndroid Build Coastguard Worker   .debugmode =
148*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF("D", "debug", 0, "Debug mode (makes output deterministic)"),
149*77c1e3ccSAndroid Build Coastguard Worker   .outputfile = ARG_DEF("o", "output", 1, "Output filename"),
150*77c1e3ccSAndroid Build Coastguard Worker   .use_nv12 = ARG_DEF(NULL, "nv12", 0, "Input file is NV12"),
151*77c1e3ccSAndroid Build Coastguard Worker   .use_yv12 = ARG_DEF(NULL, "yv12", 0, "Input file is YV12"),
152*77c1e3ccSAndroid Build Coastguard Worker   .use_i420 = ARG_DEF(NULL, "i420", 0, "Input file is I420 (default)"),
153*77c1e3ccSAndroid Build Coastguard Worker   .use_i422 = ARG_DEF(NULL, "i422", 0, "Input file is I422"),
154*77c1e3ccSAndroid Build Coastguard Worker   .use_i444 = ARG_DEF(NULL, "i444", 0, "Input file is I444"),
155*77c1e3ccSAndroid Build Coastguard Worker   .codecarg = ARG_DEF(NULL, "codec", 1, "Codec to use"),
156*77c1e3ccSAndroid Build Coastguard Worker   .passes = ARG_DEF("p", "passes", 1, "Number of passes (1/2/3)"),
157*77c1e3ccSAndroid Build Coastguard Worker   .pass_arg = ARG_DEF(NULL, "pass", 1, "Pass to execute (1/2/3)"),
158*77c1e3ccSAndroid Build Coastguard Worker   .fpf_name = ARG_DEF(NULL, "fpf", 1, "First pass statistics file name"),
159*77c1e3ccSAndroid Build Coastguard Worker   .limit = ARG_DEF(NULL, "limit", 1, "Stop encoding after n input frames"),
160*77c1e3ccSAndroid Build Coastguard Worker   .skip = ARG_DEF(NULL, "skip", 1, "Skip the first n input frames"),
161*77c1e3ccSAndroid Build Coastguard Worker   .good_dl = ARG_DEF(NULL, "good", 0, "Use Good Quality Deadline"),
162*77c1e3ccSAndroid Build Coastguard Worker   .rt_dl = ARG_DEF(NULL, "rt", 0, "Use Realtime Quality Deadline"),
163*77c1e3ccSAndroid Build Coastguard Worker   .ai_dl = ARG_DEF(NULL, "allintra", 0, "Use all intra mode"),
164*77c1e3ccSAndroid Build Coastguard Worker   .quietarg = ARG_DEF("q", "quiet", 0, "Do not print encode progress"),
165*77c1e3ccSAndroid Build Coastguard Worker   .verbosearg = ARG_DEF("v", "verbose", 0, "Show encoder parameters"),
166*77c1e3ccSAndroid Build Coastguard Worker   .psnrarg = ARG_DEF(
167*77c1e3ccSAndroid Build Coastguard Worker       NULL, "psnr", -1,
168*77c1e3ccSAndroid Build Coastguard Worker       "Show PSNR in status line "
169*77c1e3ccSAndroid Build Coastguard Worker       "(0: Disable PSNR status line display, 1: PSNR calculated using input "
170*77c1e3ccSAndroid Build Coastguard Worker       "bit-depth (default), 2: PSNR calculated using stream bit-depth); "
171*77c1e3ccSAndroid Build Coastguard Worker       "takes default option when arguments are not specified"),
172*77c1e3ccSAndroid Build Coastguard Worker   .use_cfg = ARG_DEF("c", "cfg", 1, "Config file to use"),
173*77c1e3ccSAndroid Build Coastguard Worker   .recontest = ARG_DEF_ENUM(NULL, "test-decode", 1,
174*77c1e3ccSAndroid Build Coastguard Worker                             "Test encode/decode mismatch", test_decode_enum),
175*77c1e3ccSAndroid Build Coastguard Worker   .framerate = ARG_DEF(NULL, "fps", 1, "Stream frame rate (rate/scale)"),
176*77c1e3ccSAndroid Build Coastguard Worker   .use_webm =
177*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "webm", 0, "Output WebM (default when WebM IO is enabled)"),
178*77c1e3ccSAndroid Build Coastguard Worker   .use_ivf = ARG_DEF(NULL, "ivf", 0, "Output IVF"),
179*77c1e3ccSAndroid Build Coastguard Worker   .use_obu = ARG_DEF(NULL, "obu", 0, "Output OBU"),
180*77c1e3ccSAndroid Build Coastguard Worker   .q_hist_n =
181*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "q-hist", 1, "Show quantizer histogram (n-buckets)"),
182*77c1e3ccSAndroid Build Coastguard Worker   .rate_hist_n =
183*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "rate-hist", 1, "Show rate histogram (n-buckets)"),
184*77c1e3ccSAndroid Build Coastguard Worker   .disable_warnings =
185*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "disable-warnings", 0,
186*77c1e3ccSAndroid Build Coastguard Worker               "Disable warnings about potentially incorrect encode settings"),
187*77c1e3ccSAndroid Build Coastguard Worker   .disable_warning_prompt =
188*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF("y", "disable-warning-prompt", 0,
189*77c1e3ccSAndroid Build Coastguard Worker               "Display warnings, but do not prompt user to continue"),
190*77c1e3ccSAndroid Build Coastguard Worker   .bitdeptharg =
191*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF_ENUM("b", "bit-depth", 1, "Bit depth for codec", bitdepth_enum),
192*77c1e3ccSAndroid Build Coastguard Worker   .inbitdeptharg = ARG_DEF(NULL, "input-bit-depth", 1, "Bit depth of input"),
193*77c1e3ccSAndroid Build Coastguard Worker 
194*77c1e3ccSAndroid Build Coastguard Worker   .input_chroma_subsampling_x = ARG_DEF(NULL, "input-chroma-subsampling-x", 1,
195*77c1e3ccSAndroid Build Coastguard Worker                                         "Chroma subsampling x value"),
196*77c1e3ccSAndroid Build Coastguard Worker   .input_chroma_subsampling_y = ARG_DEF(NULL, "input-chroma-subsampling-y", 1,
197*77c1e3ccSAndroid Build Coastguard Worker                                         "Chroma subsampling y value"),
198*77c1e3ccSAndroid Build Coastguard Worker 
199*77c1e3ccSAndroid Build Coastguard Worker   .usage = ARG_DEF("u", "usage", 1,
200*77c1e3ccSAndroid Build Coastguard Worker                    "Usage profile number to use (0: good, 1: rt, 2: allintra)"),
201*77c1e3ccSAndroid Build Coastguard Worker   .threads = ARG_DEF("t", "threads", 1, "Max number of threads to use"),
202*77c1e3ccSAndroid Build Coastguard Worker   .profile = ARG_DEF(NULL, "profile", 1, "Bitstream profile number to use"),
203*77c1e3ccSAndroid Build Coastguard Worker   .width = ARG_DEF("w", "width", 1, "Frame width"),
204*77c1e3ccSAndroid Build Coastguard Worker   .height = ARG_DEF("h", "height", 1, "Frame height"),
205*77c1e3ccSAndroid Build Coastguard Worker   .forced_max_frame_width = ARG_DEF(NULL, "forced_max_frame_width", 1,
206*77c1e3ccSAndroid Build Coastguard Worker                                     "Maximum frame width value to force"),
207*77c1e3ccSAndroid Build Coastguard Worker   .forced_max_frame_height = ARG_DEF(NULL, "forced_max_frame_height", 1,
208*77c1e3ccSAndroid Build Coastguard Worker                                      "Maximum frame height value to force"),
209*77c1e3ccSAndroid Build Coastguard Worker #if CONFIG_WEBM_IO
210*77c1e3ccSAndroid Build Coastguard Worker   .stereo_mode = ARG_DEF_ENUM(NULL, "stereo-mode", 1, "Stereo 3D video format",
211*77c1e3ccSAndroid Build Coastguard Worker                               stereo_mode_enum),
212*77c1e3ccSAndroid Build Coastguard Worker #endif
213*77c1e3ccSAndroid Build Coastguard Worker   .timebase = ARG_DEF(NULL, "timebase", 1,
214*77c1e3ccSAndroid Build Coastguard Worker                       "Output timestamp precision (fractional seconds)"),
215*77c1e3ccSAndroid Build Coastguard Worker   .global_error_resilient = ARG_DEF(NULL, "global-error-resilient", 1,
216*77c1e3ccSAndroid Build Coastguard Worker                                     "Enable global error resiliency features"),
217*77c1e3ccSAndroid Build Coastguard Worker   .lag_in_frames =
218*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "lag-in-frames", 1, "Max number of frames to lag"),
219*77c1e3ccSAndroid Build Coastguard Worker   .large_scale_tile = ARG_DEF(
220*77c1e3ccSAndroid Build Coastguard Worker       NULL, "large-scale-tile", 1,
221*77c1e3ccSAndroid Build Coastguard Worker       "Large scale tile coding (0: off (default), 1: on (ivf output only))"),
222*77c1e3ccSAndroid Build Coastguard Worker   .monochrome =
223*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "monochrome", 0, "Monochrome video (no chroma planes)"),
224*77c1e3ccSAndroid Build Coastguard Worker   .full_still_picture_hdr = ARG_DEF(NULL, "full-still-picture-hdr", 0,
225*77c1e3ccSAndroid Build Coastguard Worker                                     "Use full header for still picture"),
226*77c1e3ccSAndroid Build Coastguard Worker   .use_16bit_internal =
227*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "use-16bit-internal", 0, "Force use of 16-bit pipeline"),
228*77c1e3ccSAndroid Build Coastguard Worker   .dropframe_thresh =
229*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "drop-frame", 1, "Temporal resampling threshold (buf %)"),
230*77c1e3ccSAndroid Build Coastguard Worker   .resize_mode = ARG_DEF(
231*77c1e3ccSAndroid Build Coastguard Worker       NULL, "resize-mode", 1,
232*77c1e3ccSAndroid Build Coastguard Worker       "Frame resize mode (0: off (default), 1: fixed, 2: random, 3: dynamic)"),
233*77c1e3ccSAndroid Build Coastguard Worker   .resize_denominator =
234*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "resize-denominator", 1, "Frame resize denominator"),
235*77c1e3ccSAndroid Build Coastguard Worker   .resize_kf_denominator = ARG_DEF(NULL, "resize-kf-denominator", 1,
236*77c1e3ccSAndroid Build Coastguard Worker                                    "Frame resize keyframe denominator"),
237*77c1e3ccSAndroid Build Coastguard Worker   .superres_mode =
238*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "superres-mode", 1,
239*77c1e3ccSAndroid Build Coastguard Worker               "Frame super-resolution mode (0: disabled (default), 1: fixed, "
240*77c1e3ccSAndroid Build Coastguard Worker               "2: random, 3: qthresh, 4: auto)"),
241*77c1e3ccSAndroid Build Coastguard Worker   .superres_denominator = ARG_DEF(NULL, "superres-denominator", 1,
242*77c1e3ccSAndroid Build Coastguard Worker                                   "Frame super-resolution denominator"),
243*77c1e3ccSAndroid Build Coastguard Worker   .superres_kf_denominator =
244*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "superres-kf-denominator", 1,
245*77c1e3ccSAndroid Build Coastguard Worker               "Frame super-resolution keyframe denominator"),
246*77c1e3ccSAndroid Build Coastguard Worker   .superres_qthresh = ARG_DEF(NULL, "superres-qthresh", 1,
247*77c1e3ccSAndroid Build Coastguard Worker                               "Frame super-resolution qindex threshold"),
248*77c1e3ccSAndroid Build Coastguard Worker   .superres_kf_qthresh =
249*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "superres-kf-qthresh", 1,
250*77c1e3ccSAndroid Build Coastguard Worker               "Frame super-resolution keyframe qindex threshold"),
251*77c1e3ccSAndroid Build Coastguard Worker   .end_usage =
252*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF_ENUM(NULL, "end-usage", 1, "Rate control mode", end_usage_enum),
253*77c1e3ccSAndroid Build Coastguard Worker   .target_bitrate = ARG_DEF(NULL, "target-bitrate", 1, "Bitrate (kbps)"),
254*77c1e3ccSAndroid Build Coastguard Worker   .min_quantizer = ARG_DEF(NULL, "min-q", 1, "Minimum (best) quantizer"),
255*77c1e3ccSAndroid Build Coastguard Worker   .max_quantizer = ARG_DEF(NULL, "max-q", 1, "Maximum (worst) quantizer"),
256*77c1e3ccSAndroid Build Coastguard Worker   .undershoot_pct = ARG_DEF(NULL, "undershoot-pct", 1,
257*77c1e3ccSAndroid Build Coastguard Worker                             "Datarate undershoot (min) target (%)"),
258*77c1e3ccSAndroid Build Coastguard Worker   .overshoot_pct =
259*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "overshoot-pct", 1, "Datarate overshoot (max) target (%)"),
260*77c1e3ccSAndroid Build Coastguard Worker   .buf_sz = ARG_DEF(NULL, "buf-sz", 1, "Client buffer size (ms)"),
261*77c1e3ccSAndroid Build Coastguard Worker   .buf_initial_sz =
262*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "buf-initial-sz", 1, "Client initial buffer size (ms)"),
263*77c1e3ccSAndroid Build Coastguard Worker   .buf_optimal_sz =
264*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "buf-optimal-sz", 1, "Client optimal buffer size (ms)"),
265*77c1e3ccSAndroid Build Coastguard Worker   .bias_pct = ARG_DEF(NULL, "bias-pct", 1, "CBR/VBR bias (0=CBR, 100=VBR)"),
266*77c1e3ccSAndroid Build Coastguard Worker   .minsection_pct =
267*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "minsection-pct", 1, "GOP min bitrate (% of target)"),
268*77c1e3ccSAndroid Build Coastguard Worker   .maxsection_pct =
269*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "maxsection-pct", 1, "GOP max bitrate (% of target)"),
270*77c1e3ccSAndroid Build Coastguard Worker   .fwd_kf_enabled =
271*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "enable-fwd-kf", 1, "Enable forward reference keyframes"),
272*77c1e3ccSAndroid Build Coastguard Worker   .kf_min_dist =
273*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "kf-min-dist", 1, "Minimum keyframe interval (frames)"),
274*77c1e3ccSAndroid Build Coastguard Worker   .kf_max_dist =
275*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "kf-max-dist", 1, "Maximum keyframe interval (frames)"),
276*77c1e3ccSAndroid Build Coastguard Worker   .kf_disabled = ARG_DEF(NULL, "disable-kf", 0, "Disable keyframe placement"),
277*77c1e3ccSAndroid Build Coastguard Worker   .sframe_dist = ARG_DEF(NULL, "sframe-dist", 1, "S-Frame interval (frames)"),
278*77c1e3ccSAndroid Build Coastguard Worker   .sframe_mode =
279*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "sframe-mode", 1, "S-Frame insertion mode (1..2)"),
280*77c1e3ccSAndroid Build Coastguard Worker   .save_as_annexb = ARG_DEF(NULL, "annexb", 1, "Save as Annex-B"),
281*77c1e3ccSAndroid Build Coastguard Worker   .noise_sens = ARG_DEF(NULL, "noise-sensitivity", 1,
282*77c1e3ccSAndroid Build Coastguard Worker                         "Noise sensitivity (frames to blur)"),
283*77c1e3ccSAndroid Build Coastguard Worker   .sharpness = ARG_DEF(NULL, "sharpness", 1,
284*77c1e3ccSAndroid Build Coastguard Worker                        "Bias towards block sharpness in rate-distortion "
285*77c1e3ccSAndroid Build Coastguard Worker                        "optimization of transform coefficients "
286*77c1e3ccSAndroid Build Coastguard Worker                        "(0..7), default is 0"),
287*77c1e3ccSAndroid Build Coastguard Worker   .static_thresh =
288*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "static-thresh", 1, "Motion detection threshold"),
289*77c1e3ccSAndroid Build Coastguard Worker   .auto_altref =
290*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "auto-alt-ref", 1, "Enable automatic alt reference frames"),
291*77c1e3ccSAndroid Build Coastguard Worker   .arnr_maxframes =
292*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "arnr-maxframes", 1, "AltRef max frames (0..15)"),
293*77c1e3ccSAndroid Build Coastguard Worker   .arnr_strength =
294*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "arnr-strength", 1, "AltRef filter strength (0..6)"),
295*77c1e3ccSAndroid Build Coastguard Worker   .tune_metric = ARG_DEF_ENUM(NULL, "tune", 1, "Distortion metric tuned with",
296*77c1e3ccSAndroid Build Coastguard Worker                               tuning_enum),
297*77c1e3ccSAndroid Build Coastguard Worker   .dist_metric = ARG_DEF_ENUM(
298*77c1e3ccSAndroid Build Coastguard Worker       NULL, "dist-metric", 1,
299*77c1e3ccSAndroid Build Coastguard Worker       "Distortion metric to use for in-block optimization", dist_metric_enum),
300*77c1e3ccSAndroid Build Coastguard Worker   .cq_level =
301*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "cq-level", 1, "Constant/Constrained Quality level"),
302*77c1e3ccSAndroid Build Coastguard Worker   .max_intra_rate_pct =
303*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "max-intra-rate", 1, "Max I-frame bitrate (pct)"),
304*77c1e3ccSAndroid Build Coastguard Worker #if CONFIG_AV1_ENCODER
305*77c1e3ccSAndroid Build Coastguard Worker   .cpu_used_av1 = ARG_DEF(NULL, "cpu-used", 1,
306*77c1e3ccSAndroid Build Coastguard Worker                           "Speed setting (0..6 in good mode, 5..11 in realtime "
307*77c1e3ccSAndroid Build Coastguard Worker                           "mode, 0..9 in all intra mode)"),
308*77c1e3ccSAndroid Build Coastguard Worker   .rowmtarg =
309*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "row-mt", 1,
310*77c1e3ccSAndroid Build Coastguard Worker               "Enable row based multi-threading (0: off, 1: on (default))"),
311*77c1e3ccSAndroid Build Coastguard Worker   .fpmtarg = ARG_DEF(
312*77c1e3ccSAndroid Build Coastguard Worker       NULL, "fp-mt", 1,
313*77c1e3ccSAndroid Build Coastguard Worker       "Enable frame parallel multi-threading (0: off (default), 1: on)"),
314*77c1e3ccSAndroid Build Coastguard Worker   .tile_cols =
315*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "tile-columns", 1, "Number of tile columns to use, log2"),
316*77c1e3ccSAndroid Build Coastguard Worker   .tile_rows =
317*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "tile-rows", 1, "Number of tile rows to use, log2"),
318*77c1e3ccSAndroid Build Coastguard Worker   .auto_tiles = ARG_DEF(NULL, "auto-tiles", 1,
319*77c1e3ccSAndroid Build Coastguard Worker                         "Enable auto tiles (0: false (default), 1: true)"),
320*77c1e3ccSAndroid Build Coastguard Worker   .enable_tpl_model = ARG_DEF(NULL, "enable-tpl-model", 1,
321*77c1e3ccSAndroid Build Coastguard Worker                               "RDO based on frame temporal dependency "
322*77c1e3ccSAndroid Build Coastguard Worker                               "(0: off, 1: backward source based); "
323*77c1e3ccSAndroid Build Coastguard Worker                               "required for deltaq mode"),
324*77c1e3ccSAndroid Build Coastguard Worker   .enable_keyframe_filtering = ARG_DEF(
325*77c1e3ccSAndroid Build Coastguard Worker       NULL, "enable-keyframe-filtering", 1,
326*77c1e3ccSAndroid Build Coastguard Worker       "Apply temporal filtering on key frame "
327*77c1e3ccSAndroid Build Coastguard Worker       "(0: no filter, 1: filter without overlay (default), "
328*77c1e3ccSAndroid Build Coastguard Worker       "2: filter with overlay - experimental, may break random access in "
329*77c1e3ccSAndroid Build Coastguard Worker       "players)"),
330*77c1e3ccSAndroid Build Coastguard Worker   .tile_width = ARG_DEF(NULL, "tile-width", 1, "Tile widths (comma separated)"),
331*77c1e3ccSAndroid Build Coastguard Worker   .tile_height =
332*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "tile-height", 1, "Tile heights (command separated)"),
333*77c1e3ccSAndroid Build Coastguard Worker   .lossless = ARG_DEF(NULL, "lossless", 1,
334*77c1e3ccSAndroid Build Coastguard Worker                       "Lossless mode (0: false (default), 1: true)"),
335*77c1e3ccSAndroid Build Coastguard Worker   .enable_cdef = ARG_DEF(
336*77c1e3ccSAndroid Build Coastguard Worker       NULL, "enable-cdef", 1,
337*77c1e3ccSAndroid Build Coastguard Worker       "Enable the constrained directional enhancement filter (0: false, "
338*77c1e3ccSAndroid Build Coastguard Worker       "1: true (default), 2: disable for non-reference frames)"),
339*77c1e3ccSAndroid Build Coastguard Worker   .enable_restoration = ARG_DEF(NULL, "enable-restoration", 1,
340*77c1e3ccSAndroid Build Coastguard Worker                                 "Enable the loop restoration filter (0: false "
341*77c1e3ccSAndroid Build Coastguard Worker                                 "(default in realtime mode), "
342*77c1e3ccSAndroid Build Coastguard Worker                                 "1: true (default in non-realtime mode))"),
343*77c1e3ccSAndroid Build Coastguard Worker   .enable_rect_partitions = ARG_DEF(NULL, "enable-rect-partitions", 1,
344*77c1e3ccSAndroid Build Coastguard Worker                                     "Enable rectangular partitions "
345*77c1e3ccSAndroid Build Coastguard Worker                                     "(0: false, 1: true (default))"),
346*77c1e3ccSAndroid Build Coastguard Worker   .enable_ab_partitions =
347*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "enable-ab-partitions", 1,
348*77c1e3ccSAndroid Build Coastguard Worker               "Enable ab partitions (0: false, 1: true (default))"),
349*77c1e3ccSAndroid Build Coastguard Worker   .enable_1to4_partitions = ARG_DEF(NULL, "enable-1to4-partitions", 1,
350*77c1e3ccSAndroid Build Coastguard Worker                                     "Enable 1:4 and 4:1 partitions "
351*77c1e3ccSAndroid Build Coastguard Worker                                     "(0: false, 1: true (default))"),
352*77c1e3ccSAndroid Build Coastguard Worker   .min_partition_size =
353*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "min-partition-size", 1,
354*77c1e3ccSAndroid Build Coastguard Worker               "Set min partition size "
355*77c1e3ccSAndroid Build Coastguard Worker               "(4:4x4, 8:8x8, 16:16x16, 32:32x32, 64:64x64, 128:128x128); "
356*77c1e3ccSAndroid Build Coastguard Worker               "with 4k+ resolutions or higher speed settings, min "
357*77c1e3ccSAndroid Build Coastguard Worker               "partition size will have a minimum of 8"),
358*77c1e3ccSAndroid Build Coastguard Worker   .max_partition_size =
359*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "max-partition-size", 1,
360*77c1e3ccSAndroid Build Coastguard Worker               "Set max partition size "
361*77c1e3ccSAndroid Build Coastguard Worker               "(4:4x4, 8:8x8, 16:16x16, 32:32x32, 64:64x64, 128:128x128)"),
362*77c1e3ccSAndroid Build Coastguard Worker   .enable_dual_filter = ARG_DEF(NULL, "enable-dual-filter", 1,
363*77c1e3ccSAndroid Build Coastguard Worker                                 "Enable dual filter "
364*77c1e3ccSAndroid Build Coastguard Worker                                 "(0: false, 1: true (default))"),
365*77c1e3ccSAndroid Build Coastguard Worker   .enable_chroma_deltaq = ARG_DEF(NULL, "enable-chroma-deltaq", 1,
366*77c1e3ccSAndroid Build Coastguard Worker                                   "Enable chroma delta quant "
367*77c1e3ccSAndroid Build Coastguard Worker                                   "(0: false (default), 1: true)"),
368*77c1e3ccSAndroid Build Coastguard Worker   .enable_intra_edge_filter = ARG_DEF(NULL, "enable-intra-edge-filter", 1,
369*77c1e3ccSAndroid Build Coastguard Worker                                       "Enable intra edge filtering "
370*77c1e3ccSAndroid Build Coastguard Worker                                       "(0: false, 1: true (default))"),
371*77c1e3ccSAndroid Build Coastguard Worker   .enable_order_hint = ARG_DEF(NULL, "enable-order-hint", 1,
372*77c1e3ccSAndroid Build Coastguard Worker                                "Enable order hint "
373*77c1e3ccSAndroid Build Coastguard Worker                                "(0: false, 1: true (default))"),
374*77c1e3ccSAndroid Build Coastguard Worker   .enable_tx64 =
375*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "enable-tx64", 1,
376*77c1e3ccSAndroid Build Coastguard Worker               "Enable 64-pt transform (0: false, 1: true (default))"),
377*77c1e3ccSAndroid Build Coastguard Worker   .enable_flip_idtx =
378*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "enable-flip-idtx", 1,
379*77c1e3ccSAndroid Build Coastguard Worker               "Enable extended transform type (0: false, 1: true (default)) "
380*77c1e3ccSAndroid Build Coastguard Worker               "including FLIPADST_DCT, DCT_FLIPADST, FLIPADST_FLIPADST, "
381*77c1e3ccSAndroid Build Coastguard Worker               "ADST_FLIPADST, FLIPADST_ADST, IDTX, V_DCT, H_DCT, V_ADST, "
382*77c1e3ccSAndroid Build Coastguard Worker               "H_ADST, V_FLIPADST, H_FLIPADST"),
383*77c1e3ccSAndroid Build Coastguard Worker   .enable_rect_tx =
384*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "enable-rect-tx", 1,
385*77c1e3ccSAndroid Build Coastguard Worker               "Enable rectangular transform (0: false, 1: true (default))"),
386*77c1e3ccSAndroid Build Coastguard Worker   .enable_dist_wtd_comp = ARG_DEF(NULL, "enable-dist-wtd-comp", 1,
387*77c1e3ccSAndroid Build Coastguard Worker                                   "Enable distance-weighted compound "
388*77c1e3ccSAndroid Build Coastguard Worker                                   "(0: false, 1: true (default))"),
389*77c1e3ccSAndroid Build Coastguard Worker   .enable_masked_comp = ARG_DEF(NULL, "enable-masked-comp", 1,
390*77c1e3ccSAndroid Build Coastguard Worker                                 "Enable masked (wedge/diff-wtd) compound "
391*77c1e3ccSAndroid Build Coastguard Worker                                 "(0: false, 1: true (default))"),
392*77c1e3ccSAndroid Build Coastguard Worker   .enable_onesided_comp = ARG_DEF(NULL, "enable-onesided-comp", 1,
393*77c1e3ccSAndroid Build Coastguard Worker                                   "Enable one sided compound "
394*77c1e3ccSAndroid Build Coastguard Worker                                   "(0: false, 1: true (default))"),
395*77c1e3ccSAndroid Build Coastguard Worker   .enable_interintra_comp = ARG_DEF(NULL, "enable-interintra-comp", 1,
396*77c1e3ccSAndroid Build Coastguard Worker                                     "Enable interintra compound "
397*77c1e3ccSAndroid Build Coastguard Worker                                     "(0: false, 1: true (default))"),
398*77c1e3ccSAndroid Build Coastguard Worker   .enable_smooth_interintra = ARG_DEF(NULL, "enable-smooth-interintra", 1,
399*77c1e3ccSAndroid Build Coastguard Worker                                       "Enable smooth interintra mode "
400*77c1e3ccSAndroid Build Coastguard Worker                                       "(0: false, 1: true (default))"),
401*77c1e3ccSAndroid Build Coastguard Worker   .enable_diff_wtd_comp = ARG_DEF(NULL, "enable-diff-wtd-comp", 1,
402*77c1e3ccSAndroid Build Coastguard Worker                                   "Enable difference-weighted compound "
403*77c1e3ccSAndroid Build Coastguard Worker                                   "(0: false, 1: true (default))"),
404*77c1e3ccSAndroid Build Coastguard Worker   .enable_interinter_wedge = ARG_DEF(NULL, "enable-interinter-wedge", 1,
405*77c1e3ccSAndroid Build Coastguard Worker                                      "Enable interinter wedge compound "
406*77c1e3ccSAndroid Build Coastguard Worker                                      "(0: false, 1: true (default))"),
407*77c1e3ccSAndroid Build Coastguard Worker   .enable_interintra_wedge = ARG_DEF(NULL, "enable-interintra-wedge", 1,
408*77c1e3ccSAndroid Build Coastguard Worker                                      "Enable interintra wedge compound "
409*77c1e3ccSAndroid Build Coastguard Worker                                      "(0: false, 1: true (default))"),
410*77c1e3ccSAndroid Build Coastguard Worker   .enable_global_motion = ARG_DEF(NULL, "enable-global-motion", 1,
411*77c1e3ccSAndroid Build Coastguard Worker                                   "Enable global motion "
412*77c1e3ccSAndroid Build Coastguard Worker                                   "(0: false, 1: true (default))"),
413*77c1e3ccSAndroid Build Coastguard Worker   .enable_warped_motion = ARG_DEF(NULL, "enable-warped-motion", 1,
414*77c1e3ccSAndroid Build Coastguard Worker                                   "Enable local warped motion "
415*77c1e3ccSAndroid Build Coastguard Worker                                   "(0: false, 1: true (default))"),
416*77c1e3ccSAndroid Build Coastguard Worker   .enable_filter_intra = ARG_DEF(NULL, "enable-filter-intra", 1,
417*77c1e3ccSAndroid Build Coastguard Worker                                  "Enable filter intra prediction mode "
418*77c1e3ccSAndroid Build Coastguard Worker                                  "(0: false, 1: true (default))"),
419*77c1e3ccSAndroid Build Coastguard Worker   .enable_smooth_intra = ARG_DEF(NULL, "enable-smooth-intra", 1,
420*77c1e3ccSAndroid Build Coastguard Worker                                  "Enable smooth intra prediction modes "
421*77c1e3ccSAndroid Build Coastguard Worker                                  "(0: false, 1: true (default))"),
422*77c1e3ccSAndroid Build Coastguard Worker   .enable_paeth_intra = ARG_DEF(
423*77c1e3ccSAndroid Build Coastguard Worker       NULL, "enable-paeth-intra", 1,
424*77c1e3ccSAndroid Build Coastguard Worker       "Enable Paeth intra prediction mode (0: false, 1: true (default))"),
425*77c1e3ccSAndroid Build Coastguard Worker   .enable_cfl_intra = ARG_DEF(NULL, "enable-cfl-intra", 1,
426*77c1e3ccSAndroid Build Coastguard Worker                               "Enable chroma from luma intra prediction mode "
427*77c1e3ccSAndroid Build Coastguard Worker                               "(0: false, 1: true (default))"),
428*77c1e3ccSAndroid Build Coastguard Worker   .enable_directional_intra =
429*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "enable-directional-intra", 1,
430*77c1e3ccSAndroid Build Coastguard Worker               "Enable directional intra prediction modes "
431*77c1e3ccSAndroid Build Coastguard Worker               "(0: false, 1: true (default))"),
432*77c1e3ccSAndroid Build Coastguard Worker   .enable_diagonal_intra =
433*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "enable-diagonal-intra", 1,
434*77c1e3ccSAndroid Build Coastguard Worker               "Enable diagonal (D45 to D203) intra prediction modes, which are "
435*77c1e3ccSAndroid Build Coastguard Worker               "a subset of directional modes; has no effect if "
436*77c1e3ccSAndroid Build Coastguard Worker               "enable-directional-intra is 0 (0: false, 1: true (default))"),
437*77c1e3ccSAndroid Build Coastguard Worker   .force_video_mode = ARG_DEF(
438*77c1e3ccSAndroid Build Coastguard Worker       NULL, "force-video-mode", 1,
439*77c1e3ccSAndroid Build Coastguard Worker       "Force video mode even for a single frame (0: false (default), 1: true)"),
440*77c1e3ccSAndroid Build Coastguard Worker   .enable_obmc = ARG_DEF(NULL, "enable-obmc", 1,
441*77c1e3ccSAndroid Build Coastguard Worker                          "Enable OBMC (0: false, 1: true (default))"),
442*77c1e3ccSAndroid Build Coastguard Worker   .enable_overlay =
443*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "enable-overlay", 1,
444*77c1e3ccSAndroid Build Coastguard Worker               "Enable coding overlay frames (0: false, 1: true (default))"),
445*77c1e3ccSAndroid Build Coastguard Worker   .enable_palette =
446*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "enable-palette", 1,
447*77c1e3ccSAndroid Build Coastguard Worker               "Enable palette prediction mode (0: false, 1: true (default))"),
448*77c1e3ccSAndroid Build Coastguard Worker   .enable_intrabc = ARG_DEF(NULL, "enable-intrabc", 1,
449*77c1e3ccSAndroid Build Coastguard Worker                             "Enable intra block copy prediction mode "
450*77c1e3ccSAndroid Build Coastguard Worker                             "(0: false, 1: true (default))"),
451*77c1e3ccSAndroid Build Coastguard Worker   .enable_angle_delta =
452*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "enable-angle-delta", 1,
453*77c1e3ccSAndroid Build Coastguard Worker               "Enable intra angle delta (0: false, 1: true (default))"),
454*77c1e3ccSAndroid Build Coastguard Worker   .disable_trellis_quant = ARG_DEF(
455*77c1e3ccSAndroid Build Coastguard Worker       NULL, "disable-trellis-quant", 1,
456*77c1e3ccSAndroid Build Coastguard Worker       "Disable trellis optimization of quantized coefficients (0: false "
457*77c1e3ccSAndroid Build Coastguard Worker       "1: true  2: true for rd search 3: true for estimate yrd search "
458*77c1e3ccSAndroid Build Coastguard Worker       "(default))"),
459*77c1e3ccSAndroid Build Coastguard Worker   .enable_qm =
460*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "enable-qm", 1,
461*77c1e3ccSAndroid Build Coastguard Worker               "Enable quantisation matrices (0: false (default), 1: true)"),
462*77c1e3ccSAndroid Build Coastguard Worker   .qm_min = ARG_DEF(NULL, "qm-min", 1,
463*77c1e3ccSAndroid Build Coastguard Worker                     "Min quant matrix flatness (0..15), default is 8"),
464*77c1e3ccSAndroid Build Coastguard Worker   .qm_max = ARG_DEF(NULL, "qm-max", 1,
465*77c1e3ccSAndroid Build Coastguard Worker                     "Max quant matrix flatness (0..15), default is 15"),
466*77c1e3ccSAndroid Build Coastguard Worker   .reduced_tx_type_set = ARG_DEF(NULL, "reduced-tx-type-set", 1,
467*77c1e3ccSAndroid Build Coastguard Worker                                  "Use reduced set of transform types"),
468*77c1e3ccSAndroid Build Coastguard Worker   .use_intra_dct_only =
469*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "use-intra-dct-only", 1, "Use DCT only for INTRA modes"),
470*77c1e3ccSAndroid Build Coastguard Worker   .use_inter_dct_only =
471*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "use-inter-dct-only", 1, "Use DCT only for INTER modes"),
472*77c1e3ccSAndroid Build Coastguard Worker   .use_intra_default_tx_only =
473*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "use-intra-default-tx-only", 1,
474*77c1e3ccSAndroid Build Coastguard Worker               "Use Default-transform only for INTRA modes"),
475*77c1e3ccSAndroid Build Coastguard Worker   .quant_b_adapt = ARG_DEF(NULL, "quant-b-adapt", 1, "Use adaptive quantize_b"),
476*77c1e3ccSAndroid Build Coastguard Worker   .coeff_cost_upd_freq = ARG_DEF(NULL, "coeff-cost-upd-freq", 1,
477*77c1e3ccSAndroid Build Coastguard Worker                                  "Update freq for coeff costs. "
478*77c1e3ccSAndroid Build Coastguard Worker                                  "0: SB, 1: SB Row per Tile, 2: Tile, 3: Off"),
479*77c1e3ccSAndroid Build Coastguard Worker   .mode_cost_upd_freq = ARG_DEF(NULL, "mode-cost-upd-freq", 1,
480*77c1e3ccSAndroid Build Coastguard Worker                                 "Update freq for mode costs. "
481*77c1e3ccSAndroid Build Coastguard Worker                                 "0: SB, 1: SB Row per Tile, 2: Tile, 3: Off"),
482*77c1e3ccSAndroid Build Coastguard Worker   .mv_cost_upd_freq = ARG_DEF(NULL, "mv-cost-upd-freq", 1,
483*77c1e3ccSAndroid Build Coastguard Worker                               "Update freq for mv costs. "
484*77c1e3ccSAndroid Build Coastguard Worker                               "0: SB, 1: SB Row per Tile, 2: Tile, 3: Off"),
485*77c1e3ccSAndroid Build Coastguard Worker   .dv_cost_upd_freq = ARG_DEF(NULL, "dv-cost-upd-freq", 1,
486*77c1e3ccSAndroid Build Coastguard Worker                               "Update freq for dv costs. "
487*77c1e3ccSAndroid Build Coastguard Worker                               "0: SB, 1: SB Row per Tile, 2: Tile, 3: Off"),
488*77c1e3ccSAndroid Build Coastguard Worker   .num_tg = ARG_DEF(NULL, "num-tile-groups", 1,
489*77c1e3ccSAndroid Build Coastguard Worker                     "Maximum number of tile groups, default is 1"),
490*77c1e3ccSAndroid Build Coastguard Worker   .mtu_size =
491*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "mtu-size", 1,
492*77c1e3ccSAndroid Build Coastguard Worker               "MTU size for a tile group, default is 0 (no MTU targeting), "
493*77c1e3ccSAndroid Build Coastguard Worker               "overrides maximum number of tile groups"),
494*77c1e3ccSAndroid Build Coastguard Worker   .timing_info = ARG_DEF_ENUM(
495*77c1e3ccSAndroid Build Coastguard Worker       NULL, "timing-info", 1,
496*77c1e3ccSAndroid Build Coastguard Worker       "Signal timing info in the bitstream (model only works for no "
497*77c1e3ccSAndroid Build Coastguard Worker       "hidden frames, no super-res yet):",
498*77c1e3ccSAndroid Build Coastguard Worker       timing_info_enum),
499*77c1e3ccSAndroid Build Coastguard Worker #if CONFIG_TUNE_VMAF
500*77c1e3ccSAndroid Build Coastguard Worker   .vmaf_model_path =
501*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "vmaf-model-path", 1, "Path to the VMAF model file"),
502*77c1e3ccSAndroid Build Coastguard Worker #endif
503*77c1e3ccSAndroid Build Coastguard Worker   .partition_info_path = ARG_DEF(NULL, "partition-info-path", 1,
504*77c1e3ccSAndroid Build Coastguard Worker                                  "Partition information read and write path"),
505*77c1e3ccSAndroid Build Coastguard Worker   .enable_rate_guide_deltaq =
506*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "enable-rate-guide-deltaq", 1,
507*77c1e3ccSAndroid Build Coastguard Worker               "Enable rate guide deltaq (1), by default off (0). "
508*77c1e3ccSAndroid Build Coastguard Worker               "It requires --deltaq-mode=3. "
509*77c1e3ccSAndroid Build Coastguard Worker               "If turned on, it requires an input file specified "
510*77c1e3ccSAndroid Build Coastguard Worker               "by --rate-distribution-info."),
511*77c1e3ccSAndroid Build Coastguard Worker   .rate_distribution_info =
512*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "rate-distribution-info", 1,
513*77c1e3ccSAndroid Build Coastguard Worker               "Rate distribution information input."
514*77c1e3ccSAndroid Build Coastguard Worker               "It requires --enable-rate-guide-deltaq=1."),
515*77c1e3ccSAndroid Build Coastguard Worker   .film_grain_test = ARG_DEF(
516*77c1e3ccSAndroid Build Coastguard Worker       NULL, "film-grain-test", 1,
517*77c1e3ccSAndroid Build Coastguard Worker       "Film grain test vectors (0: none (default), 1: test-1  2: test-2, "
518*77c1e3ccSAndroid Build Coastguard Worker       "... 16: test-16)"),
519*77c1e3ccSAndroid Build Coastguard Worker   .film_grain_table = ARG_DEF(NULL, "film-grain-table", 1,
520*77c1e3ccSAndroid Build Coastguard Worker                               "Path to file containing film grain parameters"),
521*77c1e3ccSAndroid Build Coastguard Worker #if CONFIG_DENOISE
522*77c1e3ccSAndroid Build Coastguard Worker   .denoise_noise_level =
523*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "denoise-noise-level", 1,
524*77c1e3ccSAndroid Build Coastguard Worker               "Amount of noise (from 0 = don't denoise, to 50)"),
525*77c1e3ccSAndroid Build Coastguard Worker   .denoise_block_size = ARG_DEF(NULL, "denoise-block-size", 1,
526*77c1e3ccSAndroid Build Coastguard Worker                                 "Denoise block size (default = 32)"),
527*77c1e3ccSAndroid Build Coastguard Worker   .enable_dnl_denoising = ARG_DEF(NULL, "enable-dnl-denoising", 1,
528*77c1e3ccSAndroid Build Coastguard Worker                                   "Apply denoising to the frame "
529*77c1e3ccSAndroid Build Coastguard Worker                                   "being encoded when denoise-noise-level is "
530*77c1e3ccSAndroid Build Coastguard Worker                                   "enabled (0: false, 1: true (default))"),
531*77c1e3ccSAndroid Build Coastguard Worker #endif
532*77c1e3ccSAndroid Build Coastguard Worker   .enable_ref_frame_mvs =
533*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "enable-ref-frame-mvs", 1,
534*77c1e3ccSAndroid Build Coastguard Worker               "Enable temporal mv prediction (default is 1)"),
535*77c1e3ccSAndroid Build Coastguard Worker   .frame_parallel_decoding =
536*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "frame-parallel", 1,
537*77c1e3ccSAndroid Build Coastguard Worker               "Enable frame parallel decodability features "
538*77c1e3ccSAndroid Build Coastguard Worker               "(0: false (default), 1: true)"),
539*77c1e3ccSAndroid Build Coastguard Worker   .error_resilient_mode = ARG_DEF(NULL, "error-resilient", 1,
540*77c1e3ccSAndroid Build Coastguard Worker                                   "Enable error resilient features "
541*77c1e3ccSAndroid Build Coastguard Worker                                   "(0: false (default), 1: true)"),
542*77c1e3ccSAndroid Build Coastguard Worker   .aq_mode = ARG_DEF(NULL, "aq-mode", 1,
543*77c1e3ccSAndroid Build Coastguard Worker                      "Adaptive quantization mode (0: off (default), 1: "
544*77c1e3ccSAndroid Build Coastguard Worker                      "variance 2: complexity, "
545*77c1e3ccSAndroid Build Coastguard Worker                      "3: cyclic refresh)"),
546*77c1e3ccSAndroid Build Coastguard Worker   .deltaq_mode =
547*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "deltaq-mode", 1,
548*77c1e3ccSAndroid Build Coastguard Worker               "Delta qindex mode (0: off, 1: deltaq objective (default), "
549*77c1e3ccSAndroid Build Coastguard Worker               "2: deltaq placeholder, 3: key frame visual quality, 4: user "
550*77c1e3ccSAndroid Build Coastguard Worker               "rating based visual quality optimization); "
551*77c1e3ccSAndroid Build Coastguard Worker               "requires --enable-tpl-model=1"),
552*77c1e3ccSAndroid Build Coastguard Worker   .deltaq_strength = ARG_DEF(NULL, "deltaq-strength", 1,
553*77c1e3ccSAndroid Build Coastguard Worker                              "Deltaq strength for"
554*77c1e3ccSAndroid Build Coastguard Worker                              " --deltaq-mode=4 (%)"),
555*77c1e3ccSAndroid Build Coastguard Worker   .deltalf_mode = ARG_DEF(NULL, "delta-lf-mode", 1,
556*77c1e3ccSAndroid Build Coastguard Worker                           "Enable delta-lf-mode (0: off (default), 1: on)"),
557*77c1e3ccSAndroid Build Coastguard Worker   .frame_periodic_boost =
558*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "frame-boost", 1,
559*77c1e3ccSAndroid Build Coastguard Worker               "Enable frame periodic boost (0: off (default), 1: on)"),
560*77c1e3ccSAndroid Build Coastguard Worker   .gf_cbr_boost_pct = ARG_DEF(NULL, "gf-cbr-boost", 1,
561*77c1e3ccSAndroid Build Coastguard Worker                               "Boost for Golden Frame in CBR mode (pct)"),
562*77c1e3ccSAndroid Build Coastguard Worker   .max_inter_rate_pct =
563*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "max-inter-rate", 1, "Max P-frame bitrate (pct)"),
564*77c1e3ccSAndroid Build Coastguard Worker   .min_gf_interval = ARG_DEF(
565*77c1e3ccSAndroid Build Coastguard Worker       NULL, "min-gf-interval", 1,
566*77c1e3ccSAndroid Build Coastguard Worker       "Min gf/arf frame interval (default 0, indicating in-built behavior)"),
567*77c1e3ccSAndroid Build Coastguard Worker   .max_gf_interval = ARG_DEF(
568*77c1e3ccSAndroid Build Coastguard Worker       NULL, "max-gf-interval", 1,
569*77c1e3ccSAndroid Build Coastguard Worker       "Max gf/arf frame interval (default 0, indicating in-built behavior)"),
570*77c1e3ccSAndroid Build Coastguard Worker   .gf_min_pyr_height =
571*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "gf-min-pyr-height", 1,
572*77c1e3ccSAndroid Build Coastguard Worker               "Min height for GF group pyramid structure (0 (default) to 5)"),
573*77c1e3ccSAndroid Build Coastguard Worker   .gf_max_pyr_height = ARG_DEF(
574*77c1e3ccSAndroid Build Coastguard Worker       NULL, "gf-max-pyr-height", 1,
575*77c1e3ccSAndroid Build Coastguard Worker       "Maximum height for GF group pyramid structure (0 to 5 (default))"),
576*77c1e3ccSAndroid Build Coastguard Worker   .max_reference_frames = ARG_DEF(NULL, "max-reference-frames", 1,
577*77c1e3ccSAndroid Build Coastguard Worker                                   "Maximum number of reference frames allowed "
578*77c1e3ccSAndroid Build Coastguard Worker                                   "per frame (3 to 7 (default))"),
579*77c1e3ccSAndroid Build Coastguard Worker   .reduced_reference_set =
580*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "reduced-reference-set", 1,
581*77c1e3ccSAndroid Build Coastguard Worker               "Use reduced set of single and compound references (0: off "
582*77c1e3ccSAndroid Build Coastguard Worker               "(default), 1: on)"),
583*77c1e3ccSAndroid Build Coastguard Worker   .target_seq_level_idx =
584*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "target-seq-level-idx", 1,
585*77c1e3ccSAndroid Build Coastguard Worker               "Target sequence level index. "
586*77c1e3ccSAndroid Build Coastguard Worker               "Possible values are in the form of \"ABxy\". "
587*77c1e3ccSAndroid Build Coastguard Worker               "AB: Operating point (OP) index, "
588*77c1e3ccSAndroid Build Coastguard Worker               "xy: Target level index for the OP. "
589*77c1e3ccSAndroid Build Coastguard Worker               "E.g. \"0\" means target level index 0 (2.0) for the 0th OP, "
590*77c1e3ccSAndroid Build Coastguard Worker               "\"1019\" means target level index 19 (6.3) for the 10th OP."),
591*77c1e3ccSAndroid Build Coastguard Worker   .set_min_cr = ARG_DEF(
592*77c1e3ccSAndroid Build Coastguard Worker       NULL, "min-cr", 1,
593*77c1e3ccSAndroid Build Coastguard Worker       "Set minimum compression ratio. Take integer values. Default is 0. "
594*77c1e3ccSAndroid Build Coastguard Worker       "If non-zero, encoder will try to keep the compression ratio of "
595*77c1e3ccSAndroid Build Coastguard Worker       "each frame to be higher than the given value divided by 100."),
596*77c1e3ccSAndroid Build Coastguard Worker 
597*77c1e3ccSAndroid Build Coastguard Worker   .input_color_primaries = ARG_DEF_ENUM(
598*77c1e3ccSAndroid Build Coastguard Worker       NULL, "color-primaries", 1,
599*77c1e3ccSAndroid Build Coastguard Worker       "Color primaries (CICP) of input content:", color_primaries_enum),
600*77c1e3ccSAndroid Build Coastguard Worker 
601*77c1e3ccSAndroid Build Coastguard Worker   .input_transfer_characteristics =
602*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF_ENUM(NULL, "transfer-characteristics", 1,
603*77c1e3ccSAndroid Build Coastguard Worker                    "Transfer characteristics (CICP) of input content:",
604*77c1e3ccSAndroid Build Coastguard Worker                    transfer_characteristics_enum),
605*77c1e3ccSAndroid Build Coastguard Worker 
606*77c1e3ccSAndroid Build Coastguard Worker   .input_matrix_coefficients = ARG_DEF_ENUM(
607*77c1e3ccSAndroid Build Coastguard Worker       NULL, "matrix-coefficients", 1,
608*77c1e3ccSAndroid Build Coastguard Worker       "Matrix coefficients (CICP) of input content:", matrix_coefficients_enum),
609*77c1e3ccSAndroid Build Coastguard Worker 
610*77c1e3ccSAndroid Build Coastguard Worker   .input_chroma_sample_position =
611*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF_ENUM(NULL, "chroma-sample-position", 1,
612*77c1e3ccSAndroid Build Coastguard Worker                    "The chroma sample position when chroma 4:2:0 is signaled:",
613*77c1e3ccSAndroid Build Coastguard Worker                    chroma_sample_position_enum),
614*77c1e3ccSAndroid Build Coastguard Worker 
615*77c1e3ccSAndroid Build Coastguard Worker   .tune_content = ARG_DEF_ENUM(NULL, "tune-content", 1, "Tune content type",
616*77c1e3ccSAndroid Build Coastguard Worker                                tune_content_enum),
617*77c1e3ccSAndroid Build Coastguard Worker 
618*77c1e3ccSAndroid Build Coastguard Worker   .cdf_update_mode =
619*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "cdf-update-mode", 1,
620*77c1e3ccSAndroid Build Coastguard Worker               "CDF update mode for entropy coding "
621*77c1e3ccSAndroid Build Coastguard Worker               "(0: no CDF update, 1: update CDF on all frames (default), "
622*77c1e3ccSAndroid Build Coastguard Worker               "2: selectively update CDF on some frames)"),
623*77c1e3ccSAndroid Build Coastguard Worker 
624*77c1e3ccSAndroid Build Coastguard Worker   .superblock_size = ARG_DEF_ENUM(NULL, "sb-size", 1, "Superblock size to use",
625*77c1e3ccSAndroid Build Coastguard Worker                                   superblock_size_enum),
626*77c1e3ccSAndroid Build Coastguard Worker 
627*77c1e3ccSAndroid Build Coastguard Worker   .set_tier_mask =
628*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "set-tier-mask", 1,
629*77c1e3ccSAndroid Build Coastguard Worker               "Set bit mask to specify which tier each of the 32 possible "
630*77c1e3ccSAndroid Build Coastguard Worker               "operating points conforms to. "
631*77c1e3ccSAndroid Build Coastguard Worker               "Bit value 0 (default): Main Tier, 1: High Tier."),
632*77c1e3ccSAndroid Build Coastguard Worker 
633*77c1e3ccSAndroid Build Coastguard Worker   .use_fixed_qp_offsets =
634*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "use-fixed-qp-offsets", 1,
635*77c1e3ccSAndroid Build Coastguard Worker               "Enable fixed QP offsets for frames at different levels of the "
636*77c1e3ccSAndroid Build Coastguard Worker               "pyramid. Selected automatically from --cq-level if "
637*77c1e3ccSAndroid Build Coastguard Worker               "--fixed-qp-offsets is not provided. If this option is not "
638*77c1e3ccSAndroid Build Coastguard Worker               "specified (default), offsets are adaptively chosen by the "
639*77c1e3ccSAndroid Build Coastguard Worker               "encoder."),
640*77c1e3ccSAndroid Build Coastguard Worker 
641*77c1e3ccSAndroid Build Coastguard Worker   .fixed_qp_offsets = ARG_DEF(
642*77c1e3ccSAndroid Build Coastguard Worker       NULL, "fixed-qp-offsets", 1,
643*77c1e3ccSAndroid Build Coastguard Worker       "Set fixed QP offsets for frames at different levels of the "
644*77c1e3ccSAndroid Build Coastguard Worker       "pyramid. Comma-separated list of 5 offsets for keyframe, ALTREF, "
645*77c1e3ccSAndroid Build Coastguard Worker       "and 3 levels of internal alt-refs. If this option is not "
646*77c1e3ccSAndroid Build Coastguard Worker       "specified (default), offsets are adaptively chosen by the "
647*77c1e3ccSAndroid Build Coastguard Worker       "encoder."),
648*77c1e3ccSAndroid Build Coastguard Worker 
649*77c1e3ccSAndroid Build Coastguard Worker   .vbr_corpus_complexity_lap = ARG_DEF(
650*77c1e3ccSAndroid Build Coastguard Worker       NULL, "vbr-corpus-complexity-lap", 1,
651*77c1e3ccSAndroid Build Coastguard Worker       "Set average corpus complexity per mb for single pass VBR using lap. "
652*77c1e3ccSAndroid Build Coastguard Worker       "(0..10000), default is 0"),
653*77c1e3ccSAndroid Build Coastguard Worker 
654*77c1e3ccSAndroid Build Coastguard Worker   .fwd_kf_dist = ARG_DEF(NULL, "fwd-kf-dist", -1,
655*77c1e3ccSAndroid Build Coastguard Worker                          "Set distance between forward keyframes. A value of "
656*77c1e3ccSAndroid Build Coastguard Worker                          "-1 (default) means no repetitive forward keyframes."),
657*77c1e3ccSAndroid Build Coastguard Worker 
658*77c1e3ccSAndroid Build Coastguard Worker   .enable_tx_size_search = ARG_DEF(
659*77c1e3ccSAndroid Build Coastguard Worker       NULL, "enable-tx-size-search", 1,
660*77c1e3ccSAndroid Build Coastguard Worker       "Enable transform size search to find the best size for each block. "
661*77c1e3ccSAndroid Build Coastguard Worker       "If false, transforms always have the largest possible size "
662*77c1e3ccSAndroid Build Coastguard Worker       "(0: false, 1: true (default)). Ignored in non rd pick mode in "
663*77c1e3ccSAndroid Build Coastguard Worker       "real-time coding."),
664*77c1e3ccSAndroid Build Coastguard Worker 
665*77c1e3ccSAndroid Build Coastguard Worker   .loopfilter_control = ARG_DEF(
666*77c1e3ccSAndroid Build Coastguard Worker       NULL, "loopfilter-control", 1,
667*77c1e3ccSAndroid Build Coastguard Worker       "Control loop filtering "
668*77c1e3ccSAndroid Build Coastguard Worker       "(0: Loopfilter disabled for all frames, 1: Enable loopfilter for all "
669*77c1e3ccSAndroid Build Coastguard Worker       "frames (default), 2: Disable loopfilter for non-reference frames, 3: "
670*77c1e3ccSAndroid Build Coastguard Worker       "Disable loopfilter for frames with low motion)"),
671*77c1e3ccSAndroid Build Coastguard Worker 
672*77c1e3ccSAndroid Build Coastguard Worker   .auto_intra_tools_off = ARG_DEF(
673*77c1e3ccSAndroid Build Coastguard Worker       NULL, "auto-intra-tools-off", 1,
674*77c1e3ccSAndroid Build Coastguard Worker       "Automatically turn off several intra coding tools for allintra mode; "
675*77c1e3ccSAndroid Build Coastguard Worker       "only in effect if --deltaq-mode=3"),
676*77c1e3ccSAndroid Build Coastguard Worker 
677*77c1e3ccSAndroid Build Coastguard Worker   .two_pass_input =
678*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "two-pass-input", 1,
679*77c1e3ccSAndroid Build Coastguard Worker               "The input file for the second pass for three-pass encoding"),
680*77c1e3ccSAndroid Build Coastguard Worker   .two_pass_output = ARG_DEF(
681*77c1e3ccSAndroid Build Coastguard Worker       NULL, "two-pass-output", 1,
682*77c1e3ccSAndroid Build Coastguard Worker       "The output file for the first two passes for three-pass encoding"),
683*77c1e3ccSAndroid Build Coastguard Worker   .two_pass_width =
684*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "two-pass-width", 1, "The width of two-pass-input"),
685*77c1e3ccSAndroid Build Coastguard Worker   .two_pass_height =
686*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "two-pass-height", 1, "The height of two-pass-input"),
687*77c1e3ccSAndroid Build Coastguard Worker   .second_pass_log =
688*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF("spf", "second-pass-log", 1, "Log file from second pass"),
689*77c1e3ccSAndroid Build Coastguard Worker   .strict_level_conformance =
690*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "strict-level-conformance", 1,
691*77c1e3ccSAndroid Build Coastguard Worker               "When set to 1, exit the encoder when it fails to encode "
692*77c1e3ccSAndroid Build Coastguard Worker               "to a given target level"),
693*77c1e3ccSAndroid Build Coastguard Worker   .kf_max_pyr_height = ARG_DEF(
694*77c1e3ccSAndroid Build Coastguard Worker       NULL, "kf-max-pyr-height", 1,
695*77c1e3ccSAndroid Build Coastguard Worker       "Maximum height of pyramid structure used for the GOP starting with a "
696*77c1e3ccSAndroid Build Coastguard Worker       "key frame (-1 to 5). When set to -1 (default), it does not have any "
697*77c1e3ccSAndroid Build Coastguard Worker       "effect. The actual maximum pyramid height will be the minimum of this "
698*77c1e3ccSAndroid Build Coastguard Worker       "value and the value of gf_max_pyr_height."),
699*77c1e3ccSAndroid Build Coastguard Worker   .sb_qp_sweep =
700*77c1e3ccSAndroid Build Coastguard Worker       ARG_DEF(NULL, "sb-qp-sweep", 1,
701*77c1e3ccSAndroid Build Coastguard Worker               "When set to 1, enable the superblock level qp sweep for a "
702*77c1e3ccSAndroid Build Coastguard Worker               "given lambda to minimize the rdcost."),
703*77c1e3ccSAndroid Build Coastguard Worker #endif  // CONFIG_AV1_ENCODER
704*77c1e3ccSAndroid Build Coastguard Worker };
705