From 3e386aefc20333209639a19f1a3a5559c25de2c2 Mon Sep 17 00:00:00 2001 From: Yaowu Xu Date: Thu, 25 Jul 2013 10:28:38 -0700 Subject: [PATCH] fix a bug where flags are not reset The feature that uses small partition results as a measure to skip mode evaluation at larger partition requires the flags to be reset. The reset was missing in the code path that calls rd_use_partition(). Change-Id: Ia0a3a0aee1a862b6e2333d596808db7c48033d50 --- vp9/encoder/vp9_encodeframe.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c index 798adc1..5fe136e 100644 --- a/vp9/encoder/vp9_encodeframe.c +++ b/vp9/encoder/vp9_encodeframe.c @@ -1213,6 +1213,10 @@ static void rd_use_partition(VP9_COMP *cpi, MODE_INFO *m, TOKENEXTRA **tp, } save_context(cpi, mi_row, mi_col, a, l, sa, sl, bsize); + x->fast_ms = 0; + x->pred_mv.as_int = 0; + x->subblock_ref = 0; + if (cpi->sf.adjust_partitioning_from_last_frame) { // Check if any of the sub blocks are further split. if (partition == PARTITION_SPLIT && subsize > BLOCK_SIZE_SB8X8) { -- 2.7.4