Clean up prune_motion_mode_level speed feature
The speed feature prune_motion_mode_level has been
found to be non-performing, and is cleaned up.
STATS_CHANGED
Change-Id: I040a912888791838c6e99dadb9085cc8b2161f49
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index b6f737b..beda867 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -395,7 +395,6 @@
sf->inter_sf.model_based_post_interp_filter_breakout = 1;
sf->inter_sf.prune_compound_using_single_ref = 1;
sf->inter_sf.prune_mode_search_simple_translation = 1;
- sf->inter_sf.prune_motion_mode_level = 1;
sf->inter_sf.prune_ref_frame_for_rect_partitions =
(boosted || (allow_screen_content_tools))
? 0
@@ -449,7 +448,6 @@
sf->inter_sf.prune_comp_search_by_single_result = boosted ? 2 : 1;
sf->inter_sf.prune_comp_type_by_comp_avg = 1;
sf->inter_sf.prune_comp_type_by_model_rd = boosted ? 0 : 1;
- sf->inter_sf.prune_motion_mode_level = 2;
sf->inter_sf.prune_ref_frame_for_rect_partitions =
(frame_is_intra_only(&cpi->common) || (allow_screen_content_tools))
? 0
@@ -758,7 +756,6 @@
sf->inter_sf.model_based_post_interp_filter_breakout = 1;
sf->inter_sf.prune_compound_using_single_ref = 0;
sf->inter_sf.prune_mode_search_simple_translation = 1;
- sf->inter_sf.prune_motion_mode_level = 1;
sf->inter_sf.prune_ref_frame_for_rect_partitions = !boosted;
sf->inter_sf.prune_wedge_pred_diff_based = 1;
sf->inter_sf.reduce_inter_modes = 1;
@@ -807,7 +804,6 @@
sf->inter_sf.skip_repeated_newmv = 1;
sf->inter_sf.disable_wedge_search_var_thresh = 0;
sf->inter_sf.prune_comp_type_by_comp_avg = 1;
- sf->inter_sf.prune_motion_mode_level = 2;
sf->interp_sf.cb_pred_filter_search = 1;
sf->interp_sf.use_interp_filter = 1;
@@ -870,7 +866,6 @@
// it with cpi->sf.disable_wedge_search_var_thresh.
sf->inter_sf.disable_wedge_interintra_search = 1;
sf->inter_sf.prune_comp_search_by_single_result = 2;
- sf->inter_sf.prune_motion_mode_level = boosted ? 2 : 3;
sf->inter_sf.selective_ref_frame = 4;
sf->tx_sf.tx_type_search.prune_2d_txfm_mode = TX_TYPE_PRUNE_2;
@@ -1164,7 +1159,6 @@
inter_sf->disable_interinter_wedge_newmv_search = 0;
inter_sf->enable_interinter_diffwtd_newmv_search = 0;
inter_sf->disable_smooth_interintra = 0;
- inter_sf->prune_motion_mode_level = 0;
inter_sf->disable_wedge_interintra_search = 0;
inter_sf->fast_interintra_wedge_search = 0;
inter_sf->prune_comp_type_by_model_rd = 0;
diff --git a/av1/encoder/speed_features.h b/av1/encoder/speed_features.h
index f2d9707..da522b7 100644
--- a/av1/encoder/speed_features.h
+++ b/av1/encoder/speed_features.h
@@ -686,12 +686,6 @@
// Disable one sided compound modes.
int disable_onesided_comp;
- // Prune/gate motion mode evaluation based on token based rd
- // during transform search for inter blocks
- // Values are 0 (not used) , 1 - 3 with progressively increasing
- // aggressiveness
- int prune_motion_mode_level;
-
// Prune obmc search using previous frame stats.
int prune_obmc_prob_thresh;
diff --git a/av1/encoder/tx_search.c b/av1/encoder/tx_search.c
index b8354b6..f88ce3f 100644
--- a/av1/encoder/tx_search.c
+++ b/av1/encoder/tx_search.c
@@ -3858,18 +3858,7 @@
const int64_t skip_txfm_rdcosty =
RDCOST(x->rdmult, mode_rate + skip_txfm_cost[1], rd_stats->sse);
const int64_t min_rdcosty = AOMMIN(non_skip_txfm_rdcosty, skip_txfm_rdcosty);
- if (min_rdcosty > ref_best_rd) {
- const int64_t tokenonly_rdy =
- AOMMIN(RDCOST(x->rdmult, rd_stats_y->rate, rd_stats_y->dist),
- RDCOST(x->rdmult, 0, rd_stats_y->sse));
- // Invalidate rd_stats_y to skip the rest of the motion modes search
- if (tokenonly_rdy -
- (tokenonly_rdy >> cpi->sf.inter_sf.prune_motion_mode_level) >
- rd_thresh) {
- av1_invalid_rd_stats(rd_stats_y);
- }
- return 0;
- }
+ if (min_rdcosty > ref_best_rd) return 0;
av1_init_rd_stats(rd_stats_uv);
const int num_planes = av1_num_planes(cm);