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