Turn on online inter_mode_rd_model_estimation
Also includes some code consolidation.
About 3-5% speed up with small loss of the order of 0.05%.
STATS_CHANGED
Change-Id: I1f7804a43f4f8a43119b050ebda01caa34a71f08
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index e3eabdb..442cc5f 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -12345,15 +12345,8 @@
const int data_idx = inter_modes_info->rd_idx_pair_arr[j].idx;
*mbmi = inter_modes_info->mbmi_arr[data_idx];
int64_t curr_est_rd = inter_modes_info->est_rd_arr[data_idx];
- if (cpi->sf.inter_mode_rd_model_estimation == 1) {
- if (curr_est_rd * 0.85 > top_est_rd) break;
- } else if (cpi->sf.inter_mode_rd_model_estimation == 2) {
- if (x->source_variance < 256) {
- if (curr_est_rd * 0.80 > top_est_rd) break;
- } else {
- if (curr_est_rd * 0.75 > top_est_rd) break;
- }
- }
+ if (curr_est_rd * 0.80 > top_est_rd) break;
+
const int mode_rate = inter_modes_info->mode_rate_arr[data_idx];
x->skip = 0;
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index f192c27..be317db 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -217,7 +217,7 @@
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;
+ sf->inter_mode_rd_model_estimation = 1;
sf->prune_ref_frame_for_rect_partitions =
!(boosted || cpi->refresh_bwd_ref_frame || cpi->refresh_alt2_ref_frame);