ref: 7189198d53123273fe89f20e35ee11ae45ee8fcd
parent: a0ed4e63802a395c6147b5abb70311f50b98d95e
author: Yaowu Xu <yaowu@google.com>
date: Thu Nov 10 12:15:06 EST 2011
fixed the decoder when using 8x8 transform updated the decode_macroblock logic to reflect that 8x8 transform is not used for "SPLITMV". Also fixed an issue where 2nd order haar block has wrong dequant/idct process. Change-Id: I1e373f6535c009dfec503b6362c8a5cfc196e1da
--- a/vp8/decoder/decodframe.c
+++ b/vp8/decoder/decodframe.c
@@ -393,34 +393,18 @@
((int *)b->qcoeff)[0] = 0;
}
}
-
}
else if (mode == SPLITMV)
{
-#if CONFIG_T8X8
- if ( tx_type == TX_8X8 )
- {
- DEQUANT_INVOKE (&pbi->dequant, idct_add_y_block_8x8)
- (xd->qcoeff, xd->block[0].dequant,
- xd->predictor, xd->dst.y_buffer,
- xd->dst.y_stride, xd->eobs, xd);
- }
- else
-#endif
- {
- DEQUANT_INVOKE (&pbi->dequant, idct_add_y_block)
- (xd->qcoeff, xd->block[0].dequant,
- xd->predictor, xd->dst.y_buffer,
- xd->dst.y_stride, xd->eobs);
- }
+ DEQUANT_INVOKE (&pbi->dequant, idct_add_y_block)
+ (xd->qcoeff, xd->block[0].dequant,
+ xd->predictor, xd->dst.y_buffer,
+ xd->dst.y_stride, xd->eobs);
}
else
{
BLOCKD *b = &xd->block[24];
- DEQUANT_INVOKE(&pbi->dequant, block)(b);
-
- /* do 2nd order transform on the dc block */
#if CONFIG_T8X8
if( tx_type == TX_8X8 )
{
@@ -455,6 +439,7 @@
else
#endif
{
+ DEQUANT_INVOKE(&pbi->dequant, block)(b);
if (xd->eobs[24] > 1)
{
IDCT_INVOKE(RTCD_VTABLE(idct), iwalsh16)(&b->dqcoeff[0], b->diff);
--
⑨