]> granicus.if.org Git - libvpx/commitdiff
Fix for supertx: ignore skip_txfm optimization
authorGeza Lore <gezalore@gmail.com>
Wed, 3 Feb 2016 12:40:34 +0000 (12:40 +0000)
committerGeza Lore <gezalore@gmail.com>
Wed, 3 Feb 2016 12:51:39 +0000 (12:51 +0000)
Change-Id: I80eedb548c449ec43c6b5b88c5493b665606906e

vp10/encoder/encodeframe.c

index 09e502de66dafa24968f2da8d53946bada4a5b55..f903ae44d75d5e24943474641345602ce34ccbae 100644 (file)
@@ -5143,6 +5143,13 @@ static void rd_supertx_sb(VP10_COMP *cpi, ThreadData *td,
   predict_sb_complex(cpi, td, tile, mi_row, mi_col, mi_row, mi_col,
                      0, bsize, bsize, dst_buf, dst_stride, pc_tree);
 
+  // These skip_txfm flags are previously set by the non-supertx RD search.
+  // vp10_txfm_rd_in_plane_supertx calls block_rd_txfm, which checks these
+  // to reuse distortion values from the RD estimation, so we reset these
+  // flags here before evaluating RD for supertx coding.
+  for (plane = 0 ; plane < MAX_MB_PLANE ; plane++)
+    x->skip_txfm[plane << 2] = SKIP_TXFM_NONE;
+
   set_offsets(cpi, tile, x, mi_row, mi_col, bsize);
   *best_tx = DCT_DCT;