shithub: libvpx

Download patch

ref: 1e3dd49fe389dcbd0745dafa556235d118674515
parent: c79ae1713cc18f0a7952bffa3c244ab1d07aa249
author: Ronald S. Bultje <rbultje@google.com>
date: Tue Nov 13 07:09:02 EST 2012

Don't use hybrid transform (ADST) for superblocks.

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

--- a/vp9/common/blockd.h
+++ b/vp9/common/blockd.h
@@ -501,6 +501,9 @@
 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));
   }