rtc: Separate speed features with no impact in encoding

This CL group the speed features those are not making
impact in encoding decision.

Change-Id: Ia7af4a01dc53d95be9613c2c710ca819f968b04b
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index 9d3dd86..9d3256f 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -1300,15 +1300,36 @@
   const int boosted = frame_is_boosted(cpi);
 
   // Currently, rt speed 0, 1, 2, 3, 4, 5 are the same.
-  // TODO(any, yunqing): tune these features for real-time use cases.
+  // Following set of speed features are not impacting encoder's decisions as
+  // the relevant tools are disabled by default.
   sf->gm_sf.gm_search_type = GM_REDUCED_REF_SEARCH_SKIP_L2_L3_ARF2;
-
-  sf->hl_sf.superres_auto_search_type = SUPERRES_AUTO_SOLO;
   sf->hl_sf.recode_loop = ALLOW_RECODE_KFARFGF;
+  sf->inter_sf.reuse_inter_intra_mode = 1;
+  sf->inter_sf.prune_compound_using_single_ref = 0;
+  sf->inter_sf.prune_comp_search_by_single_result = 2;
+  sf->inter_sf.prune_comp_type_by_comp_avg = 2;
+  sf->inter_sf.fast_wedge_sign_estimate = 1;
+  sf->inter_sf.use_dist_wtd_comp_flag = DIST_WTD_COMP_DISABLED;
+  sf->inter_sf.mv_cost_upd_level = INTERNAL_COST_UPD_SBROW;
+  sf->inter_sf.disable_interinter_wedge_var_thresh = 100;
+  sf->interp_sf.cb_pred_filter_search = 0;
+  sf->part_sf.ml_prune_partition = 1;
+  sf->part_sf.reuse_prev_rd_results_for_part_ab = 1;
+  sf->part_sf.prune_ext_partition_types_search_level = 2;
+  sf->part_sf.less_rectangular_check_level = 2;
+  sf->mv_sf.obmc_full_pixel_search_level = 1;
+  sf->intra_sf.dv_cost_upd_level = INTERNAL_COST_UPD_OFF;
+  sf->tx_sf.model_based_prune_tx_search_level = 0;
+  sf->lpf_sf.dual_sgr_penalty_level = 1;
+  sf->lpf_sf.disable_lr_filter = 1;
+  sf->rt_sf.skip_interp_filter_search = 1;
+  // End of set
+
+  // TODO(any, yunqing): tune these features for real-time use cases.
+  sf->hl_sf.superres_auto_search_type = SUPERRES_AUTO_SOLO;
   sf->hl_sf.frame_parameter_update = 0;
 
   sf->inter_sf.model_based_post_interp_filter_breakout = 1;
-  sf->inter_sf.prune_compound_using_single_ref = 0;
   // TODO(any): As per the experiments, this speed feature is doing redundant
   // computation since the model rd based pruning logic is similar to model rd
   // based gating when inter_mode_rd_model_estimation = 2. Enable this SF if
@@ -1318,16 +1339,7 @@
   //    (3) Motion mode or compound mode is enabled */
   sf->inter_sf.prune_mode_search_simple_translation = 0;
   sf->inter_sf.prune_ref_frame_for_rect_partitions = !boosted;
-
-  sf->inter_sf.reuse_inter_intra_mode = 1;
-  sf->inter_sf.disable_interinter_wedge_var_thresh = 100;
-  sf->inter_sf.fast_wedge_sign_estimate = 1;
-  sf->inter_sf.prune_comp_type_by_comp_avg = 2;
-  sf->inter_sf.use_dist_wtd_comp_flag = DIST_WTD_COMP_DISABLED;
-
-  sf->inter_sf.mv_cost_upd_level = INTERNAL_COST_UPD_SBROW;
   sf->inter_sf.disable_interintra_wedge_var_thresh = UINT_MAX;
-  sf->inter_sf.prune_comp_search_by_single_result = 2;
   sf->inter_sf.selective_ref_frame = 4;
   sf->inter_sf.alt_ref_search_fp = 2;
   sf->inter_sf.txfm_rd_gate_level = boosted ? 0 : 4;
@@ -1342,16 +1354,11 @@
   sf->interp_sf.use_fast_interpolation_filter_search = 1;
   sf->interp_sf.use_interp_filter = 1;
   sf->interp_sf.adaptive_interp_filter_search = 1;
-  sf->interp_sf.cb_pred_filter_search = 0;
   sf->interp_sf.disable_dual_filter = 1;
 
   sf->part_sf.default_max_partition_size = BLOCK_128X128;
   sf->part_sf.default_min_partition_size = BLOCK_8X8;
-  sf->part_sf.ml_prune_partition = 1;
-  sf->part_sf.reuse_prev_rd_results_for_part_ab = 1;
   sf->part_sf.use_best_rd_for_pruning = 1;
-  sf->part_sf.prune_ext_partition_types_search_level = 2;
-  sf->part_sf.less_rectangular_check_level = 2;
   sf->part_sf.early_term_after_none_split = 1;
   sf->part_sf.partition_search_breakout_dist_thr = (1 << 25);
   sf->part_sf.max_intra_bsize = BLOCK_16X16;
@@ -1361,7 +1368,6 @@
 
   sf->mv_sf.full_pixel_search_level = 1;
   sf->mv_sf.exhaustive_searches_thresh = INT_MAX;
-  sf->mv_sf.obmc_full_pixel_search_level = 1;
   sf->mv_sf.auto_mv_step_size = 1;
   sf->mv_sf.subpel_iters_per_step = 1;
   sf->mv_sf.use_accurate_subpel_search = USE_2_TAPS;
@@ -1373,7 +1379,6 @@
     sf->intra_sf.intra_y_mode_mask[i] = INTRA_DC;
     sf->intra_sf.intra_uv_mode_mask[i] = UV_INTRA_DC_CFL;
   }
-  sf->intra_sf.dv_cost_upd_level = INTERNAL_COST_UPD_OFF;
   sf->intra_sf.skip_intra_in_interframe = 5;
   sf->intra_sf.disable_smooth_intra = 1;
   sf->intra_sf.skip_filter_intra_in_inter_frames = 1;
@@ -1387,7 +1392,6 @@
   sf->tx_sf.tx_type_search.skip_tx_search = 1;
   sf->tx_sf.inter_tx_size_search_init_depth_rect = 1;
   sf->tx_sf.inter_tx_size_search_init_depth_sqr = 1;
-  sf->tx_sf.model_based_prune_tx_search_level = 0;
   sf->tx_sf.tx_type_search.prune_2d_txfm_mode = TX_TYPE_PRUNE_3;
   sf->tx_sf.refine_fast_tx_search_results = 0;
   sf->tx_sf.tx_type_search.fast_intra_tx_type_search = 1;
@@ -1399,10 +1403,8 @@
   sf->rd_sf.tx_domain_dist_level = 2;
   sf->rd_sf.tx_domain_dist_thres_level = 2;
 
-  sf->lpf_sf.dual_sgr_penalty_level = 1;
   sf->lpf_sf.cdef_pick_method = CDEF_FAST_SEARCH_LVL4;
   sf->lpf_sf.lpf_pick = LPF_PICK_FROM_Q;
-  sf->lpf_sf.disable_lr_filter = 1;
 
   sf->winner_mode_sf.dc_blk_pred_level = frame_is_intra_only(cm) ? 0 : 2;
   sf->winner_mode_sf.enable_winner_mode_for_tx_size_srch = 1;
@@ -1420,7 +1422,6 @@
   sf->rt_sf.mode_search_skip_flags |= FLAG_SKIP_INTRA_DIRMISMATCH;
   sf->rt_sf.num_inter_modes_for_tx_search = 5;
   sf->rt_sf.prune_inter_modes_using_temp_var = 1;
-  sf->rt_sf.skip_interp_filter_search = 1;
   sf->rt_sf.use_real_time_ref_set = 1;
   sf->rt_sf.use_simple_rd_model = 1;
   sf->rt_sf.prune_inter_modes_with_golden_ref = boosted ? 0 : 1;