Remove motion_mode rd breakout speed feature
This feature is less useful with 2-pass inter mode search
and adaptive versions of that. Hence removing.
STATS_CHANGED
Change-Id: I456382fb7a500bb5c550988ba38d73fd512029db
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index 5a6556e..99accb3 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -9591,20 +9591,6 @@
}
}
- if (cpi->sf.model_based_motion_mode_rd_breakout && do_tx_search) {
- int model_rate;
- int64_t model_dist;
- model_rd_sb_fn[MODELRD_TYPE_MOTION_MODE_RD](
- cpi, mbmi->sb_type, x, xd, 0, num_planes - 1, mi_row, mi_col,
- &model_rate, &model_dist, NULL, NULL, NULL, NULL, NULL);
- const int64_t est_rd =
- RDCOST(x->rdmult, rd_stats->rate + model_rate, model_dist);
- if ((est_rd >> 3) * 6 > ref_best_rd) {
- mbmi->ref_frame[1] = ref_frame_1;
- continue;
- }
- }
-
if (!do_tx_search) {
int64_t curr_sse = -1;
int est_residue_cost = 0;
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index e3eb193..5794983 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -220,7 +220,6 @@
sf->use_dist_wtd_comp_flag = DIST_WTD_COMP_SKIP_MV_SEARCH;
sf->model_based_prune_tx_search_level = 1;
sf->model_based_post_interp_filter_breakout = 1;
- sf->model_based_motion_mode_rd_breakout = 1;
// TODO(debargha): Test, tweak and turn on either 1 or 2
sf->inter_mode_rd_model_estimation = 1;
@@ -444,7 +443,6 @@
sf->use_dist_wtd_comp_flag = DIST_WTD_COMP_SKIP_MV_SEARCH;
sf->model_based_prune_tx_search_level = 1;
sf->model_based_post_interp_filter_breakout = 1;
- sf->model_based_motion_mode_rd_breakout = 1;
// TODO(debargha): Test, tweak and turn on either 1 or 2
sf->inter_mode_rd_model_estimation = 0;
@@ -692,7 +690,6 @@
sf->tx_size_search_lgr_block = 0;
sf->model_based_prune_tx_search_level = 0;
sf->model_based_post_interp_filter_breakout = 0;
- sf->model_based_motion_mode_rd_breakout = 0;
sf->reduce_inter_modes = 0;
sf->selective_ref_gm = 1;
sf->adaptive_motion_search = 0;
@@ -790,9 +787,6 @@
// Set decoder side speed feature to use less dual sgr modes
sf->dual_sgr_penalty_level = 0;
- // TODO(angiebird, debargha): Re-evaluate the impact of
- // inter_mode_rd_model_estimation in conjunction with
- // model_based_motion_mode_rd_breakout
sf->inter_mode_rd_model_estimation = 0;
sf->inter_mode_rd_model_estimation_adaptive = 0;
diff --git a/av1/encoder/speed_features.h b/av1/encoder/speed_features.h
index 1cc1b82..358f4c9 100644
--- a/av1/encoder/speed_features.h
+++ b/av1/encoder/speed_features.h
@@ -354,11 +354,6 @@
// 1: use model based rd breakout
int model_based_post_interp_filter_breakout;
- // Model based breakout in motion_mode_rd
- // 0: no breakout
- // 1: use model based rd breakout
- int model_based_motion_mode_rd_breakout;
-
// Used if partition_search_type = FIXED_SIZE_PARTITION
BLOCK_SIZE always_this_block_size;