From: Yaowu Xu Date: Sat, 8 Oct 2011 22:48:53 +0000 (-0700) Subject: fixed a decoder bug X-Git-Tag: v1.3.0~1217^2~380^2~185 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3ca849691cf09d4b4e0561f334e9a4247cc9f06a;p=libvpx 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 --- diff --git a/vp8/decoder/decodframe.c b/vp8/decoder/decodframe.c index 0f4b47463..7445ca82a 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);