From: Ronald S. Bultje Date: Tue, 13 Nov 2012 20:09:02 +0000 (-0800) Subject: Don't use hybrid transform (ADST) for superblocks. X-Git-Tag: v1.3.0~1217^2~104^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1e3dd49fe389dcbd0745dafa556235d118674515;p=libvpx 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 --- diff --git a/vp9/common/blockd.h b/vp9/common/blockd.h index 0cfa9dcff..7722ed108 100644 --- a/vp9/common/blockd.h +++ b/vp9/common/blockd.h @@ -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)); }