]> granicus.if.org Git - libvpx/commitdiff
Don't use hybrid transform (ADST) for superblocks.
authorRonald S. Bultje <rbultje@google.com>
Tue, 13 Nov 2012 20:09:02 +0000 (12:09 -0800)
committerRonald S. Bultje <rbultje@google.com>
Wed, 14 Nov 2012 16:58:24 +0000 (08:58 -0800)
This is in line with other cases where we disable ADST if prediction
size and transform size don't match. Before this patch, the RD loop
will use ADST for superblocks, but frame encoding/decoding won't.

Change-Id: I700368c632eb72b5e089c22ef25649d99d7697d0

vp9/common/blockd.h

index 0cfa9dcff4a7d04c5002a00682066cfb8485b173..7722ed108507b789272e98c4c26821f64f9734a4 100644 (file)
@@ -501,6 +501,9 @@ static TX_TYPE get_tx_type_8x8(const MACROBLOCKD *xd, const BLOCKD *b) {
 static TX_TYPE get_tx_type_16x16(const MACROBLOCKD *xd, const BLOCKD *b) {
   TX_TYPE tx_type = DCT_DCT;
   if (xd->mode_info_context->mbmi.mode < I8X8_PRED &&
+#if CONFIG_SUPERBLOCKS
+      !xd->mode_info_context->mbmi.encoded_as_sb &&
+#endif
       xd->q_index < ACTIVE_HT16) {
     tx_type = txfm_map(pred_mode_conv(xd->mode_info_context->mbmi.mode));
   }