From 3ca849691cf09d4b4e0561f334e9a4247cc9f06a Mon Sep 17 00:00:00 2001
From: Yaowu Xu <yaowu@google.com>
Date: Sat, 8 Oct 2011 15:48:53 -0700
Subject: [PATCH] fixed a decoder bug

When 8x8 transform is enabled, the decoder does an extra reconstruct
on MBs that are coded using 8x8. This commit fixed the logic around
the decoding of mb encoded with 8x8 transform.

Change-Id: I6926557c9ef00eecb375f62946f7e140c660bf6f
---
 vp8/decoder/decodframe.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/vp8/decoder/decodframe.c b/vp8/decoder/decodframe.c
index 0f4b47463a..7445ca82a4 100644
--- a/vp8/decoder/decodframe.c
+++ b/vp8/decoder/decodframe.c
@@ -449,6 +449,7 @@ static void decode_macroblock(VP8D_COMP *pbi, MACROBLOCKD *xd,
 
         else
 #endif
+        {
             if (xd->eobs[24] > 1)
             {
                 IDCT_INVOKE(RTCD_VTABLE(idct), iwalsh16)(&b->dqcoeff[0], b->diff);
@@ -471,6 +472,7 @@ static void decode_macroblock(VP8D_COMP *pbi, MACROBLOCKD *xd,
                 (xd->qcoeff, xd->block[0].dequant,
                 xd->predictor, xd->dst.y_buffer,
                 xd->dst.y_stride, xd->eobs, xd->block[24].diff);
+        }
     }
 #if CONFIG_T8X8
     if(xd->mode_info_context->mbmi.segment_id >= 2)
@@ -604,7 +606,7 @@ decode_mb_row(VP8D_COMP *pbi, VP8_COMMON *pc, int mb_row, MACROBLOCKD *xd)
         }
 
 #ifdef DEC_DEBUG
-        dec_debug = (pc->current_video_frame==5 && mb_row==2 && mb_col==3);
+        dec_debug = (pc->current_video_frame==0 && mb_row==1 && mb_col==11);
 #endif
         decode_macroblock(pbi, xd, mb_row * pc->mb_cols  + mb_col);
 
-- 
GitLab