From eb43c8ebfc033506a4392b1de164181fae80c032 Mon Sep 17 00:00:00 2001 From: Marco Date: Mon, 23 Nov 2015 16:37:12 -0800 Subject: [PATCH] vp9 non-rd pickmode: Fix logic in reference masking. This change makes sure last reference with zero mv is always checked for mode selection. No change in metrics. Change-Id: Iaf01877bf34272b966c78bfe18daad882a0a419e --- 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 9db044f6b..8aafae1d4 100644 --- a/vp9/encoder/vp9_pickmode.c +++ b/vp9/encoder/vp9_pickmode.c @@ -1252,7 +1252,8 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x, if (const_motion[ref_frame] && this_mode == NEARMV) continue; - if (!(this_mode == ZEROMV && ref_frame == LAST_FRAME)) { + if (!(frame_mv[this_mode][ref_frame].as_int == 0 && + ref_frame == LAST_FRAME)) { i = (ref_frame == LAST_FRAME) ? GOLDEN_FRAME : LAST_FRAME; if ((cpi->ref_frame_flags & flag_list[i]) && sf->reference_masking) if (x->pred_mv_sad[ref_frame] > (x->pred_mv_sad[i] << 1)) -- 2.40.0