]> granicus.if.org Git - libvpx/commitdiff
Bug fix in tx-skip
authorhui su <huisu@google.com>
Mon, 22 Jun 2015 16:54:42 +0000 (09:54 -0700)
committerhui su <huisu@google.com>
Mon, 22 Jun 2015 16:54:42 +0000 (09:54 -0700)
This patch avoids using tx_size larger than 16x16 in lossless mode.
Big block quantization (32x32 or larger) is not lossless.

Change-Id: I69cd84d4f3fd06d641048d6096da1bfde18ad24e

vp9/encoder/vp9_rdopt.c

index a201e35dc22379871528647271d51da549768e28..9825416d35cbf4b2c7e5b48916a2ad1cc387c939 100644 (file)
@@ -793,7 +793,7 @@ static void txfm_rd_in_plane(MACROBLOCK *x,
 
 #if CONFIG_TX_SKIP
   if (xd->lossless && tx_size != TX_4X4 &&
-      !xd->mi[0].src_mi->mbmi.tx_skip[plane != 0]) {
+      (!xd->mi[0].src_mi->mbmi.tx_skip[plane != 0] || tx_size >= TX_32X32)) {
     *rate       = INT_MAX;
     *distortion = INT64_MAX;
     *sse        = INT64_MAX;