Decoder: Fix in error concealment in the case of Mbaff clips

In case of MBAff clips, if error is detected after parsing odd MB,
then treat that odd MB also as error. All MBAff processing is done
as an MB-Pair.

Bug: 33298089
This commit is contained in:
Harish Mahendrakar 2016-12-20 11:13:55 +05:30 committed by Ray Essick
parent 56b5563f3e
commit 3ebff7dc62

View file

@ -1583,8 +1583,13 @@ WORD32 ih264d_mark_err_slice_skip(dec_struct_t * ps_dec,
{
// Slice data corrupted
// in the case of mbaff, conceal from the even mb.
u1_num_mbs = (ps_dec->u4_num_mbs_cur_nmb >> u1_mbaff ) << u1_mbaff;
if((u1_mbaff) && (ps_dec->u4_num_mbs_cur_nmb & 1))
{
ps_dec->u4_num_mbs_cur_nmb = ps_dec->u4_num_mbs_cur_nmb - 1;
ps_dec->u2_cur_mb_addr--;
}
u1_num_mbs = ps_dec->u4_num_mbs_cur_nmb;
if(u1_num_mbs)
{
ps_cur_mb_info = ps_dec->ps_nmb_info + u1_num_mbs - 1;