shithub: libvpx

Download patch

ref: 200d93545e51fcae1535c5a4d7f4a6862b16b10e
parent: 4f7060a431ac8e9f15d06f9cb44bd6792c3d1fae
parent: df3e3ab6ff03cdcbcb2d4658e619f8d96538f28a
author: Jingning Han <jingning@google.com>
date: Tue Dec 16 12:04:04 EST 2014

Merge "Fix intra mode update process in vp9_pick_inter_mode"

--- a/vp9/encoder/vp9_pickmode.c
+++ b/vp9/encoder/vp9_pickmode.c
@@ -872,7 +872,6 @@
       const PREDICTION_MODE this_mode = intra_mode_list[i];
       if (!((1 << this_mode) & cpi->sf.intra_y_mode_mask[intra_tx_size]))
         continue;
-      skip_txfm = x->skip_txfm[0];
       args.mode = this_mode;
       args.rate = 0;
       args.dist = 0;
@@ -893,10 +892,13 @@
         mbmi->ref_frame[0] = INTRA_FRAME;
         mbmi->uv_mode = this_mode;
         mbmi->mv[0].as_int = INVALID_MV;
-      } else {
-        x->skip_txfm[0] = best_mode_skip_txfm;
-        mbmi->tx_size = best_tx_size;
       }
+    }
+
+    // Reset mb_mode_info to the best inter mode.
+    if (mbmi->ref_frame[0] != INTRA_FRAME) {
+      x->skip_txfm[0] = best_mode_skip_txfm;
+      mbmi->tx_size = best_tx_size;
     }
   }