rtc: Fix to search_ref_filter for nonrd_pickmode
The best predictor from the filter search was not
being computed on exit from the function. This is
neeeded in block_yrd following search_ref_filter.
This affects fast nonrd_pickmode (speed >= 8 real-time).
bdrate gains for avg_psnr, speed 8;
rtc set: avg 1.8% gain, several clips over 3%, max 6%.
rtc_derf set: avg 2.1% gain, several clips 3%, max 4%.
Change-Id: Ibff2c727629542462f145cdfc3b75a1928780727
diff --git a/av1/encoder/nonrd_pickmode.c b/av1/encoder/nonrd_pickmode.c
index 53bae4a..7929044 100644
--- a/av1/encoder/nonrd_pickmode.c
+++ b/av1/encoder/nonrd_pickmode.c
@@ -1223,6 +1223,10 @@
*sse_y = pf_sse[best_filter_index];
this_rdc->skip = (best_skip || best_early_term);
*this_early_term = best_early_term;
+ if (best_filter_index < FILTER_SEARCH_SIZE - 1) {
+ av1_enc_build_inter_predictor(cm, xd, mi_row, mi_col, NULL, bsize,
+ AOM_PLANE_Y, AOM_PLANE_Y);
+ }
}
#define COLLECT_PICK_MODE_STAT 0