/*
 * Copyright (c) 2021, Alliance for Open Media. All rights reserved
 *
 * This source code is subject to the terms of the BSD 3-Clause Clear License
 * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
 * License was not distributed with this source code in the LICENSE file, you
 * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
 * Alliance for Open Media Patent License 1.0 was not distributed with this
 * source code in the PATENTS file, you can obtain it at
 * aomedia.org/license/patent-license/.
 */
#ifndef AOM_AV1_ARG_DEFS_H_
#define AOM_AV1_ARG_DEFS_H_

#ifdef __cplusplus
extern "C" {
#endif

#include "config/aom_config.h"
#include "common/args_helper.h"
#if CONFIG_WEBM_IO
#include "common/webmenc.h"
#endif
#include "aom/aomcx.h"

enum TestDecodeFatality {
  TEST_DECODE_OFF,
  TEST_DECODE_FATAL,
  TEST_DECODE_WARN,
};

typedef struct av1_codec_arg_definitions {
  arg_def_t help;
  arg_def_t debugmode;
  arg_def_t outputfile;
#if CONFIG_PARAKIT_COLLECT_DATA
  arg_def_t datafilesuffix;
  arg_def_t datafilepath;
#endif
  arg_def_t reconfile;
  arg_def_t use_yv12;
  arg_def_t use_i420;
  arg_def_t use_i422;
  arg_def_t use_i444;
  arg_def_t codecarg;
  arg_def_t passes;
  arg_def_t pass_arg;
  arg_def_t fpf_name;
  arg_def_t limit;
  arg_def_t skip;
  arg_def_t step;
  arg_def_t good_dl;
  arg_def_t quietarg;
  arg_def_t verbosearg;
  arg_def_t psnrarg;
  arg_def_t use_cfg;
  arg_def_t recontest;
  arg_def_t framerate;
  arg_def_t use_webm;
  arg_def_t use_ivf;
  arg_def_t use_obu;
  arg_def_t q_hist_n;
  arg_def_t rate_hist_n;
  arg_def_t disable_warnings;
  arg_def_t disable_warning_prompt;
  arg_def_t bitdeptharg;
  arg_def_t inbitdeptharg;
  arg_def_t input_chroma_subsampling_x;
  arg_def_t input_chroma_subsampling_y;
  arg_def_t usage;
  arg_def_t threads;
  arg_def_t profile;
  arg_def_t width;
  arg_def_t height;
  arg_def_t forced_max_frame_width;
  arg_def_t forced_max_frame_height;
#if CONFIG_WEBM_IO
  arg_def_t stereo_mode;
#endif
  arg_def_t timebase;
  arg_def_t global_error_resilient;
  arg_def_t lag_in_frames;
  arg_def_t large_scale_tile;
  arg_def_t monochrome;
  arg_def_t full_still_picture_hdr;
#if CONFIG_TCQ
  arg_def_t enable_tcq;
#endif  // CONFIG_TCQ
  arg_def_t dropframe_thresh;
  arg_def_t resize_mode;
  arg_def_t resize_denominator;
  arg_def_t resize_kf_denominator;
#if CONFIG_ENABLE_SR
  arg_def_t superres_mode;
  arg_def_t superres_denominator;
  arg_def_t superres_kf_denominator;
  arg_def_t superres_qthresh;
  arg_def_t superres_kf_qthresh;
#endif  // CONFIG_ENABLE_SR
  arg_def_t end_usage;
  arg_def_t target_bitrate;
  arg_def_t min_q_level;
  arg_def_t max_q_level;
  arg_def_t min_qp_level;
  arg_def_t max_qp_level;
  arg_def_t undershoot_pct;
  arg_def_t overshoot_pct;
  arg_def_t buf_sz;
  arg_def_t buf_initial_sz;
  arg_def_t buf_optimal_sz;
  arg_def_t minsection_pct;
  arg_def_t maxsection_pct;
  arg_def_t fwd_kf_enabled;
  arg_def_t kf_min_dist;
  arg_def_t kf_max_dist;
  arg_def_t kf_disabled;
  arg_def_t sframe_dist;
  arg_def_t sframe_mode;
  arg_def_t save_as_annexb;
  arg_def_t noise_sens;
  arg_def_t sharpness;
  arg_def_t static_thresh;
  arg_def_t auto_altref;
  arg_def_t arnr_maxframes;
  arg_def_t arnr_strength;
  arg_def_t tune_metric;
  arg_def_t cq_level;
  arg_def_t qp_level;
  arg_def_t max_intra_rate_pct;
#if CONFIG_AV1_ENCODER
  arg_def_t cpu_used_av1;
  arg_def_t rowmtarg;
  arg_def_t tile_cols;
  arg_def_t tile_rows;
  arg_def_t enable_tpl_model;
  arg_def_t enable_keyframe_filtering;
  arg_def_t tile_width;
  arg_def_t tile_height;
  arg_def_t lossless;
  arg_def_t enable_deblocking;
  arg_def_t enable_cdef;
  arg_def_t enable_restoration;
  arg_def_t enable_wiener;
  arg_def_t enable_sgrproj;
  arg_def_t enable_pc_wiener;
  arg_def_t enable_wiener_nonsep;
  arg_def_t enable_ccso;
#if CONFIG_LF_SUB_PU
  arg_def_t enable_lf_sub_pu;
#endif  // CONFIG_LF_SUB_PU
  arg_def_t disable_ml_partition_speed_features;
  arg_def_t erp_pruning_level;
  arg_def_t use_ml_erp_pruning;
  arg_def_t enable_ext_partitions;
  arg_def_t enable_rect_partitions;
  arg_def_t enable_uneven_4way_partitions;
  arg_def_t disable_ml_transform_speed_features;
  arg_def_t enable_sdp;
  arg_def_t enable_extended_sdp;
  arg_def_t enable_mrls;
  arg_def_t enable_tip;
#if CONFIG_TMVP_SIMPLIFICATIONS_F085
  arg_def_t enable_mv_traj;
#endif  // CONFIG_TMVP_SIMPLIFICATIONS_F085
  arg_def_t enable_bawp;
  arg_def_t enable_cwp;
#if CONFIG_D071_IMP_MSK_BLD
  arg_def_t enable_imp_msk_bld;
#endif  // CONFIG_D071_IMP_MSK_BLD
  arg_def_t enable_fsc;
  arg_def_t enable_orip;
  arg_def_t enable_ist;
  arg_def_t enable_inter_ist;
#if CONFIG_CHROMA_TX
  arg_def_t enable_chroma_dctonly;
#endif  // CONFIG_CHROMA_TX
#if CONFIG_INTER_DDT
  arg_def_t enable_inter_ddt;
#endif  // CONFIG_INTER_DDT
  arg_def_t enable_cctx;
  arg_def_t enable_ibp;
  arg_def_t enable_adaptive_mvd;
  arg_def_t enable_flex_mvres;
#if CONFIG_IMPROVED_CFL
  arg_def_t select_cfl_ds_filter;
#endif  // CONFIG_IMPROVED_CFL
  arg_def_t enable_joint_mvd;
#if CONFIG_REFINEMV
  arg_def_t enable_refinemv;
#endif  // CONFIG_REFINEMV
#if CONFIG_DERIVED_MVD_SIGN
  arg_def_t enable_mvd_sign_derive;
#endif  // CONFIG_DERIVED_MVD_SIGN
  arg_def_t min_partition_size;
  arg_def_t max_partition_size;
  arg_def_t enable_chroma_deltaq;
  arg_def_t enable_intra_edge_filter;
  arg_def_t enable_order_hint;
  arg_def_t enable_tx64;
  arg_def_t enable_flip_idtx;
  arg_def_t enable_masked_comp;
  arg_def_t enable_onesided_comp;
  arg_def_t enable_interintra_comp;
  arg_def_t enable_smooth_interintra;
  arg_def_t enable_diff_wtd_comp;
  arg_def_t enable_interinter_wedge;
  arg_def_t enable_interintra_wedge;
  arg_def_t enable_global_motion;
  arg_def_t enable_warped_motion;
  arg_def_t enable_warp_causal;
  arg_def_t enable_warp_delta;
#if CONFIG_SIX_PARAM_WARP_DELTA
  arg_def_t enable_six_param_warp_delta;
#endif  // CONFIG_SIX_PARAM_WARP_DELTA
  arg_def_t enable_warp_extend;
  arg_def_t enable_filter_intra;
#if CONFIG_DIP
  arg_def_t enable_intra_dip;
#endif  // CONFIG_DIP
  arg_def_t enable_smooth_intra;
  arg_def_t enable_paeth_intra;
  arg_def_t enable_cfl_intra;
#if CONFIG_ENABLE_MHCCP
  arg_def_t enable_mhccp;
#endif  // CONFIG_ENABLE_MHCCP
  arg_def_t force_video_mode;
  arg_def_t enable_overlay;
  arg_def_t enable_palette;
  arg_def_t enable_intrabc;
#if CONFIG_IBC_SR_EXT
  arg_def_t enable_intrabc_ext;
#endif  // CONFIG_IBC_SR_EXT
  arg_def_t enable_angle_delta;
  arg_def_t enable_opfl_refine;
#if CONFIG_AFFINE_REFINEMENT
  arg_def_t enable_affine_refine;
#endif  // CONFIG_AFFINE_REFINEMENT
  arg_def_t enable_trellis_quant;
  arg_def_t enable_qm;
  arg_def_t qm_min;
  arg_def_t qm_max;
  arg_def_t reduced_tx_type_set;
  arg_def_t use_intra_dct_only;
  arg_def_t use_inter_dct_only;
  arg_def_t use_intra_default_tx_only;
  arg_def_t quant_b_adapt;
  arg_def_t coeff_cost_upd_freq;
  arg_def_t mode_cost_upd_freq;
  arg_def_t mv_cost_upd_freq;
  arg_def_t num_tg;
  arg_def_t mtu_size;
  arg_def_t timing_info;
#if CONFIG_TUNE_VMAF
  arg_def_t vmaf_model_path;
#endif
  arg_def_t film_grain_test;
  arg_def_t film_grain_table;
#if CONFIG_DENOISE
  arg_def_t denoise_noise_level;
  arg_def_t denoise_block_size;
#endif
  arg_def_t enable_ref_frame_mvs;
  arg_def_t frame_parallel_decoding;
  arg_def_t error_resilient_mode;
  arg_def_t aq_mode;
  arg_def_t deltaq_mode;
  arg_def_t deltalf_mode;
  arg_def_t frame_periodic_boost;
  arg_def_t gf_cbr_boost_pct;
  arg_def_t max_inter_rate_pct;
  arg_def_t min_gf_interval;
  arg_def_t max_gf_interval;
  arg_def_t gf_min_pyr_height;
  arg_def_t gf_max_pyr_height;
  arg_def_t max_reference_frames;
  arg_def_t reduced_reference_set;
  arg_def_t explicit_ref_frame_map;
  arg_def_t enable_frame_output_order;
  arg_def_t target_seq_level_idx;
  arg_def_t set_min_cr;
  arg_def_t input_color_primaries;
  arg_def_t input_transfer_characteristics;
  arg_def_t input_matrix_coefficients;
  arg_def_t input_chroma_sample_position;
  arg_def_t tune_content;
  arg_def_t cdf_update_mode;
  arg_def_t superblock_size;
  arg_def_t set_tier_mask;
  arg_def_t use_fixed_qp_offsets;
  arg_def_t fixed_qp_offsets;
  arg_def_t vbr_corpus_complexity_lap;
  arg_def_t subgop_config_str;
  arg_def_t subgop_config_path;
  arg_def_t max_drl_refmvs;
#if CONFIG_IBC_BV_IMPROVEMENT && CONFIG_IBC_MAX_DRL
  arg_def_t max_drl_refbvs;
#endif  //  CONFIG_IBC_BV_IMPROVEMENT && CONFIG_IBC_MAX_DRL
  arg_def_t enable_refmvbank;
#if CONFIG_DRL_REORDER_CONTROL
  arg_def_t enable_drl_reorder;
#endif  // CONFIG_DRL_REORDER_CONTROL
#if CONFIG_CDEF_ENHANCEMENTS
  arg_def_t enable_cdef_on_skip_txfm;
#endif  // CONFIG_CDEF_ENHANCEMENTS
#if CONFIG_ENHANCED_FRAME_CONTEXT_INIT
  arg_def_t enable_avg_cdf;
  arg_def_t avg_cdf_type;
#elif CONFIG_TILE_CDFS_AVG_TO_FRAME
  arg_def_t enable_tiles_cdfs_avg;
#endif  // CONFIG_ENHANCED_FRAME_CONTEXT_INIT
  arg_def_t enable_parity_hiding;
#if CONFIG_MRSSE
  arg_def_t enable_mrsse;
#endif  // CONFIG_MRSSE
#if CONFIG_EXT_SEG
  arg_def_t enable_ext_seg;
#endif  // CONFIG_EXT_SEG
#if CONFIG_EXTRA_DPB
  arg_def_t num_extra_dpb;
#endif  // CONFIG_EXTRA_DPB
#if CONFIG_BRU
  arg_def_t enable_bru;
#endif  // CONFIG_BRU
#endif  // CONFIG_AV1_ENCODER
  arg_def_t frame_hash_metadata;
  arg_def_t frame_hash_per_plane;
#if CONFIG_REFRESH_FLAG
  arg_def_t enable_short_refresh_frame_flags;
#endif  // CONFIG_REFRESH_FLAG
} av1_codec_arg_definitions_t;

extern const av1_codec_arg_definitions_t g_av1_codec_arg_defs;

#ifdef __cplusplus
}
#endif
#endif  // AOM_AV1_ARG_DEFS_H_
