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