Commit 3ca84969 authored by Yaowu Xu's avatar Yaowu Xu
Browse files

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
parent 156b221a
......@@ -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);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment