From: Yaowu Xu <yaowu@google.com>
Date: Thu, 25 Jul 2013 17:28:38 +0000 (-0700)
Subject: fix a bug where flags are not reset
X-Git-Tag: v1.3.0~745^2
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3e386aefc20333209639a19f1a3a5559c25de2c2;p=libvpx

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
---

diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c
index 798adc1f3..5fe136ece 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) {