From: Geza Lore Date: Wed, 3 Feb 2016 12:40:34 +0000 (+0000) Subject: Fix for supertx: ignore skip_txfm optimization X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=17a3d31d859ed0768b37191ff265ee0626ceb2bf;p=libvpx Fix for supertx: ignore skip_txfm optimization Change-Id: I80eedb548c449ec43c6b5b88c5493b665606906e --- diff --git a/vp10/encoder/encodeframe.c b/vp10/encoder/encodeframe.c index 09e502de6..f903ae44d 100644 --- a/vp10/encoder/encodeframe.c +++ b/vp10/encoder/encodeframe.c @@ -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;