Use key-value based parameter method for the disable ml sf flag

Change-Id: I7ba6351d5812e448b8a6f282e4e541e49572daa5
diff --git a/aom/aomcx.h b/aom/aomcx.h
index 92c5514..db2a744 100644
--- a/aom/aomcx.h
+++ b/aom/aomcx.h
@@ -1307,14 +1307,6 @@
   /*!\brief Control to get frame info
    */
   AV1E_GET_FRAME_INFO = 165,
-
-  /*!\brief Codec control function to disable ML based partition search speed
-   * features.
-   *
-   * - 0 = off (default)
-   * - 1 = on
-   */
-  AV1E_SET_DISABLE_ML_PARTITION_SPEED_FEATURES = 166,
 };
 
 /*!\brief aom 1-D scaling mode
@@ -1579,9 +1571,6 @@
 AOM_CTRL_USE_TYPE(AV1E_SET_TIMING_INFO_TYPE, int) /* aom_timing_info_type_t */
 #define AOM_CTRL_AV1E_SET_TIMING_INFO_TYPE
 
-AOM_CTRL_USE_TYPE(AV1E_SET_DISABLE_ML_PARTITION_SPEED_FEATURES, int)
-#define AOM_CTRL_AV1E_SET_DISABLE_ML_PARTITION_SPEED_FEATURES
-
 AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_RECT_PARTITIONS, int)
 #define AOM_CTRL_AV1E_SET_ENABLE_RECT_PARTITIONS
 
diff --git a/apps/aomenc.c b/apps/aomenc.c
index fda2159..cc7aa86 100644
--- a/apps/aomenc.c
+++ b/apps/aomenc.c
@@ -118,118 +118,115 @@
   return 0;
 }
 
-static const int av1_arg_ctrl_map[] = {
-  AOME_SET_CPUUSED,
-  AOME_SET_ENABLEAUTOALTREF,
-  AOME_SET_SHARPNESS,
-  AOME_SET_STATIC_THRESHOLD,
-  AV1E_SET_ROW_MT,
-  AV1E_SET_TILE_COLUMNS,
-  AV1E_SET_TILE_ROWS,
-  AV1E_SET_ENABLE_TPL_MODEL,
-  AV1E_SET_ENABLE_KEYFRAME_FILTERING,
-  AOME_SET_ARNR_MAXFRAMES,
-  AOME_SET_ARNR_STRENGTH,
-  AOME_SET_TUNING,
-  AOME_SET_QP,
-  AOME_SET_MAX_INTRA_BITRATE_PCT,
-  AV1E_SET_MAX_INTER_BITRATE_PCT,
-  AV1E_SET_GF_CBR_BOOST_PCT,
-  AV1E_SET_LOSSLESS,
-  AV1E_SET_ENABLE_DEBLOCKING,
-  AV1E_SET_ENABLE_CDEF,
-  AV1E_SET_ENABLE_RESTORATION,
-  AV1E_SET_DISABLE_ML_PARTITION_SPEED_FEATURES,
-  AV1E_SET_ENABLE_RECT_PARTITIONS,
-  AV1E_SET_ENABLE_AB_PARTITIONS,
-  AV1E_SET_ENABLE_1TO4_PARTITIONS,
-  AV1E_SET_MIN_PARTITION_SIZE,
-  AV1E_SET_MAX_PARTITION_SIZE,
+static const int av1_arg_ctrl_map[] = { AOME_SET_CPUUSED,
+                                        AOME_SET_ENABLEAUTOALTREF,
+                                        AOME_SET_SHARPNESS,
+                                        AOME_SET_STATIC_THRESHOLD,
+                                        AV1E_SET_ROW_MT,
+                                        AV1E_SET_TILE_COLUMNS,
+                                        AV1E_SET_TILE_ROWS,
+                                        AV1E_SET_ENABLE_TPL_MODEL,
+                                        AV1E_SET_ENABLE_KEYFRAME_FILTERING,
+                                        AOME_SET_ARNR_MAXFRAMES,
+                                        AOME_SET_ARNR_STRENGTH,
+                                        AOME_SET_TUNING,
+                                        AOME_SET_QP,
+                                        AOME_SET_MAX_INTRA_BITRATE_PCT,
+                                        AV1E_SET_MAX_INTER_BITRATE_PCT,
+                                        AV1E_SET_GF_CBR_BOOST_PCT,
+                                        AV1E_SET_LOSSLESS,
+                                        AV1E_SET_ENABLE_DEBLOCKING,
+                                        AV1E_SET_ENABLE_CDEF,
+                                        AV1E_SET_ENABLE_RESTORATION,
+                                        AV1E_SET_ENABLE_RECT_PARTITIONS,
+                                        AV1E_SET_ENABLE_AB_PARTITIONS,
+                                        AV1E_SET_ENABLE_1TO4_PARTITIONS,
+                                        AV1E_SET_MIN_PARTITION_SIZE,
+                                        AV1E_SET_MAX_PARTITION_SIZE,
 #if !CONFIG_REMOVE_DUAL_FILTER
-  AV1E_SET_ENABLE_DUAL_FILTER,
+                                        AV1E_SET_ENABLE_DUAL_FILTER,
 #endif  // !CONFIG_REMOVE_DUAL_FILTER
-  AV1E_SET_ENABLE_CHROMA_DELTAQ,
-  AV1E_SET_ENABLE_INTRA_EDGE_FILTER,
-  AV1E_SET_ENABLE_ORDER_HINT,
-  AV1E_SET_ENABLE_TX64,
-  AV1E_SET_ENABLE_FLIP_IDTX,
+                                        AV1E_SET_ENABLE_CHROMA_DELTAQ,
+                                        AV1E_SET_ENABLE_INTRA_EDGE_FILTER,
+                                        AV1E_SET_ENABLE_ORDER_HINT,
+                                        AV1E_SET_ENABLE_TX64,
+                                        AV1E_SET_ENABLE_FLIP_IDTX,
 #if !CONFIG_REMOVE_DIST_WTD_COMP
-  AV1E_SET_ENABLE_DIST_WTD_COMP,
+                                        AV1E_SET_ENABLE_DIST_WTD_COMP,
 #endif  // !CONFIG_REMOVE_DIST_WTD_COMP
-  AV1E_SET_ENABLE_MASKED_COMP,
-  AV1E_SET_ENABLE_ONESIDED_COMP,
-  AV1E_SET_ENABLE_INTERINTRA_COMP,
-  AV1E_SET_ENABLE_SMOOTH_INTERINTRA,
-  AV1E_SET_ENABLE_DIFF_WTD_COMP,
-  AV1E_SET_ENABLE_INTERINTER_WEDGE,
-  AV1E_SET_ENABLE_INTERINTRA_WEDGE,
-  AV1E_SET_ENABLE_GLOBAL_MOTION,
-  AV1E_SET_ENABLE_WARPED_MOTION,
-  AV1E_SET_ENABLE_FILTER_INTRA,
-  AV1E_SET_ENABLE_SMOOTH_INTRA,
-  AV1E_SET_ENABLE_PAETH_INTRA,
-  AV1E_SET_ENABLE_CFL_INTRA,
-  AV1E_SET_FORCE_VIDEO_MODE,
-  AV1E_SET_ENABLE_OBMC,
-  AV1E_SET_ENABLE_OVERLAY,
-  AV1E_SET_ENABLE_PALETTE,
-  AV1E_SET_ENABLE_INTRABC,
-  AV1E_SET_ENABLE_ANGLE_DELTA,
-  AV1E_SET_ENABLE_TRELLIS_QUANT,
-  AV1E_SET_ENABLE_QM,
-  AV1E_SET_QM_MIN,
-  AV1E_SET_QM_MAX,
-  AV1E_SET_REDUCED_TX_TYPE_SET,
-  AV1E_SET_INTRA_DCT_ONLY,
-  AV1E_SET_INTER_DCT_ONLY,
-  AV1E_SET_INTRA_DEFAULT_TX_ONLY,
-  AV1E_SET_QUANT_B_ADAPT,
-  AV1E_SET_COEFF_COST_UPD_FREQ,
-  AV1E_SET_MODE_COST_UPD_FREQ,
-  AV1E_SET_MV_COST_UPD_FREQ,
-  AV1E_SET_FRAME_PARALLEL_DECODING,
-  AV1E_SET_ERROR_RESILIENT_MODE,
-  AV1E_SET_AQ_MODE,
-  AV1E_SET_DELTAQ_MODE,
-  AV1E_SET_DELTALF_MODE,
-  AV1E_SET_FRAME_PERIODIC_BOOST,
-  AV1E_SET_NOISE_SENSITIVITY,
-  AV1E_SET_TUNE_CONTENT,
-  AV1E_SET_CDF_UPDATE_MODE,
-  AV1E_SET_COLOR_PRIMARIES,
-  AV1E_SET_TRANSFER_CHARACTERISTICS,
-  AV1E_SET_MATRIX_COEFFICIENTS,
-  AV1E_SET_CHROMA_SAMPLE_POSITION,
-  AV1E_SET_MIN_GF_INTERVAL,
-  AV1E_SET_MAX_GF_INTERVAL,
-  AV1E_SET_GF_MIN_PYRAMID_HEIGHT,
-  AV1E_SET_GF_MAX_PYRAMID_HEIGHT,
-  AV1E_SET_SUPERBLOCK_SIZE,
-  AV1E_SET_NUM_TG,
-  AV1E_SET_MTU,
-  AV1E_SET_TIMING_INFO_TYPE,
-  AV1E_SET_FILM_GRAIN_TEST_VECTOR,
-  AV1E_SET_FILM_GRAIN_TABLE,
+                                        AV1E_SET_ENABLE_MASKED_COMP,
+                                        AV1E_SET_ENABLE_ONESIDED_COMP,
+                                        AV1E_SET_ENABLE_INTERINTRA_COMP,
+                                        AV1E_SET_ENABLE_SMOOTH_INTERINTRA,
+                                        AV1E_SET_ENABLE_DIFF_WTD_COMP,
+                                        AV1E_SET_ENABLE_INTERINTER_WEDGE,
+                                        AV1E_SET_ENABLE_INTERINTRA_WEDGE,
+                                        AV1E_SET_ENABLE_GLOBAL_MOTION,
+                                        AV1E_SET_ENABLE_WARPED_MOTION,
+                                        AV1E_SET_ENABLE_FILTER_INTRA,
+                                        AV1E_SET_ENABLE_SMOOTH_INTRA,
+                                        AV1E_SET_ENABLE_PAETH_INTRA,
+                                        AV1E_SET_ENABLE_CFL_INTRA,
+                                        AV1E_SET_FORCE_VIDEO_MODE,
+                                        AV1E_SET_ENABLE_OBMC,
+                                        AV1E_SET_ENABLE_OVERLAY,
+                                        AV1E_SET_ENABLE_PALETTE,
+                                        AV1E_SET_ENABLE_INTRABC,
+                                        AV1E_SET_ENABLE_ANGLE_DELTA,
+                                        AV1E_SET_ENABLE_TRELLIS_QUANT,
+                                        AV1E_SET_ENABLE_QM,
+                                        AV1E_SET_QM_MIN,
+                                        AV1E_SET_QM_MAX,
+                                        AV1E_SET_REDUCED_TX_TYPE_SET,
+                                        AV1E_SET_INTRA_DCT_ONLY,
+                                        AV1E_SET_INTER_DCT_ONLY,
+                                        AV1E_SET_INTRA_DEFAULT_TX_ONLY,
+                                        AV1E_SET_QUANT_B_ADAPT,
+                                        AV1E_SET_COEFF_COST_UPD_FREQ,
+                                        AV1E_SET_MODE_COST_UPD_FREQ,
+                                        AV1E_SET_MV_COST_UPD_FREQ,
+                                        AV1E_SET_FRAME_PARALLEL_DECODING,
+                                        AV1E_SET_ERROR_RESILIENT_MODE,
+                                        AV1E_SET_AQ_MODE,
+                                        AV1E_SET_DELTAQ_MODE,
+                                        AV1E_SET_DELTALF_MODE,
+                                        AV1E_SET_FRAME_PERIODIC_BOOST,
+                                        AV1E_SET_NOISE_SENSITIVITY,
+                                        AV1E_SET_TUNE_CONTENT,
+                                        AV1E_SET_CDF_UPDATE_MODE,
+                                        AV1E_SET_COLOR_PRIMARIES,
+                                        AV1E_SET_TRANSFER_CHARACTERISTICS,
+                                        AV1E_SET_MATRIX_COEFFICIENTS,
+                                        AV1E_SET_CHROMA_SAMPLE_POSITION,
+                                        AV1E_SET_MIN_GF_INTERVAL,
+                                        AV1E_SET_MAX_GF_INTERVAL,
+                                        AV1E_SET_GF_MIN_PYRAMID_HEIGHT,
+                                        AV1E_SET_GF_MAX_PYRAMID_HEIGHT,
+                                        AV1E_SET_SUPERBLOCK_SIZE,
+                                        AV1E_SET_NUM_TG,
+                                        AV1E_SET_MTU,
+                                        AV1E_SET_TIMING_INFO_TYPE,
+                                        AV1E_SET_FILM_GRAIN_TEST_VECTOR,
+                                        AV1E_SET_FILM_GRAIN_TABLE,
 #if CONFIG_DENOISE
-  AV1E_SET_DENOISE_NOISE_LEVEL,
-  AV1E_SET_DENOISE_BLOCK_SIZE,
+                                        AV1E_SET_DENOISE_NOISE_LEVEL,
+                                        AV1E_SET_DENOISE_BLOCK_SIZE,
 #endif  // CONFIG_DENOISE
-  AV1E_SET_MAX_REFERENCE_FRAMES,
-  AV1E_SET_REDUCED_REFERENCE_SET,
-  AV1E_SET_ENABLE_REF_FRAME_MVS,
-  AV1E_SET_TARGET_SEQ_LEVEL_IDX,
-  AV1E_SET_TIER_MASK,
-  AV1E_SET_MIN_CR,
-  AV1E_SET_VBR_CORPUS_COMPLEXITY_LAP,
-  AV1E_SET_CHROMA_SUBSAMPLING_X,
-  AV1E_SET_CHROMA_SUBSAMPLING_Y,
+                                        AV1E_SET_MAX_REFERENCE_FRAMES,
+                                        AV1E_SET_REDUCED_REFERENCE_SET,
+                                        AV1E_SET_ENABLE_REF_FRAME_MVS,
+                                        AV1E_SET_TARGET_SEQ_LEVEL_IDX,
+                                        AV1E_SET_TIER_MASK,
+                                        AV1E_SET_MIN_CR,
+                                        AV1E_SET_VBR_CORPUS_COMPLEXITY_LAP,
+                                        AV1E_SET_CHROMA_SUBSAMPLING_X,
+                                        AV1E_SET_CHROMA_SUBSAMPLING_Y,
 #if CONFIG_TUNE_VMAF
-  AV1E_SET_VMAF_MODEL_PATH,
+                                        AV1E_SET_VMAF_MODEL_PATH,
 #endif
-  AV1E_SET_SUBGOP_CONFIG_STR,
-  AV1E_SET_SUBGOP_CONFIG_PATH,
-  0
-};
+                                        AV1E_SET_SUBGOP_CONFIG_STR,
+                                        AV1E_SET_SUBGOP_CONFIG_PATH,
+                                        0 };
 
 const arg_def_t *main_args[] = { &g_av1_codec_arg_defs.help,
                                  &g_av1_codec_arg_defs.use_cfg,
@@ -341,7 +338,6 @@
   &g_av1_codec_arg_defs.enable_deblocking,
   &g_av1_codec_arg_defs.enable_cdef,
   &g_av1_codec_arg_defs.enable_restoration,
-  &g_av1_codec_arg_defs.disable_ml_partition_speed_features,
   &g_av1_codec_arg_defs.enable_rect_partitions,
   &g_av1_codec_arg_defs.enable_ab_partitions,
   &g_av1_codec_arg_defs.enable_1to4_partitions,
@@ -435,6 +431,7 @@
 
 const arg_def_t *av1_key_val_args[] = {
   &g_av1_codec_arg_defs.disable_ml_transform_speed_features,
+  &g_av1_codec_arg_defs.disable_ml_partition_speed_features,
 #if CONFIG_SDP
   &g_av1_codec_arg_defs.enable_sdp,
 #endif
@@ -584,6 +581,7 @@
   config->enable_rect_partitions = 1;
   config->enable_1to4_partitions = 1;
   config->disable_ml_transform_speed_features = 0;
+  config->disable_ml_partition_speed_features = 0;
 #if CONFIG_SDP
   config->enable_sdp = 1;
 #endif
diff --git a/av1/av1_cx_iface.c b/av1/av1_cx_iface.c
index a483654..6400e19 100644
--- a/av1/av1_cx_iface.c
+++ b/av1/av1_cx_iface.c
@@ -913,6 +913,8 @@
   extra_cfg->enable_1to4_partitions = cfg->enable_1to4_partitions;
   extra_cfg->disable_ml_transform_speed_features =
       cfg->disable_ml_transform_speed_features;
+  extra_cfg->disable_ml_partition_speed_features =
+      cfg->disable_ml_partition_speed_features;
 #if CONFIG_SDP
   extra_cfg->enable_sdp = cfg->enable_sdp;
 #endif
@@ -1889,14 +1891,6 @@
   return update_extra_cfg(ctx, &extra_cfg);
 }
 
-static aom_codec_err_t ctrl_set_disable_ml_partition_speed_features(
-    aom_codec_alg_priv_t *ctx, va_list args) {
-  struct av1_extracfg extra_cfg = ctx->extra_cfg;
-  extra_cfg.disable_ml_partition_speed_features =
-      CAST(AV1E_SET_DISABLE_ML_PARTITION_SPEED_FEATURES, args);
-  return update_extra_cfg(ctx, &extra_cfg);
-}
-
 static aom_codec_err_t ctrl_set_enable_rect_partitions(
     aom_codec_alg_priv_t *ctx, va_list args) {
   struct av1_extracfg extra_cfg = ctx->extra_cfg;
@@ -3815,8 +3809,6 @@
   { AV1E_SET_FRAME_PARALLEL_DECODING, ctrl_set_frame_parallel_decoding_mode },
   { AV1E_SET_ERROR_RESILIENT_MODE, ctrl_set_error_resilient_mode },
   { AV1E_SET_S_FRAME_MODE, ctrl_set_s_frame_mode },
-  { AV1E_SET_DISABLE_ML_PARTITION_SPEED_FEATURES,
-    ctrl_set_disable_ml_partition_speed_features },
   { AV1E_SET_ENABLE_RECT_PARTITIONS, ctrl_set_enable_rect_partitions },
   { AV1E_SET_ENABLE_AB_PARTITIONS, ctrl_set_enable_ab_partitions },
   { AV1E_SET_ENABLE_1TO4_PARTITIONS, ctrl_set_enable_1to4_partitions },