From 5fc2d6cb9fb1262880e237bfd6873f7c3c4dd8c9 Mon Sep 17 00:00:00 2001 From: JackyChen Date: Wed, 29 Jun 2016 16:22:12 -0700 Subject: [PATCH] vp9: Change the scheme for modeling rd for 32x32 on newmv_last mode. For real time CBR mode, use model_rd_for_sb_y for 32x32 if the mode is newmv last, which is less aggressive in skipping transform and quantization, to avoid quality regression in some conditions. Change-Id: Ifa30be587f2a8a4a7f182a172de6ce277c0f8556 --- vp9/encoder/vp9_pickmode.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/vp9/encoder/vp9_pickmode.c b/vp9/encoder/vp9_pickmode.c index 7db6ef2..4f3b645 100644 --- a/vp9/encoder/vp9_pickmode.c +++ b/vp9/encoder/vp9_pickmode.c @@ -1744,7 +1744,8 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x, #if CONFIG_VP9_HIGHBITDEPTH const int large_block = bsize > BLOCK_32X32; #else - const int large_block = bsize >= BLOCK_32X32; + const int large_block = (this_mode == NEWMV && ref_frame == LAST_FRAME) ? + bsize > BLOCK_32X32 : bsize >= BLOCK_32X32; #endif mi->interp_filter = (filter_ref == SWITCHABLE) ? EIGHTTAP : filter_ref; vp9_build_inter_predictors_sby(xd, mi_row, mi_col, bsize); -- 2.7.4