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