Fix in returning end of bitstream error for MBAFF

In case of MBAFF streams, slices should terminate on
even MB boundary. If bytes are exhausted with odd number
of MBs decoded for MBAff, then treat that as error.

Bug: 33933140

Change-Id: Ifc26b66ff8ebdb3aec5c0d6c512e4cac3f54c5b7
This commit is contained in:
Harish Mahendrakar 2016-12-15 18:04:53 +05:30 committed by Ray Essick
parent 43a184ad48
commit 7950bf47b6
2 changed files with 8 additions and 0 deletions

View file

@ -870,6 +870,10 @@ WORD32 ih264d_parse_islice_data_cavlc(dec_struct_t * ps_dec,
if(u1_mbaff)
{
ih264d_update_mbaff_left_nnz(ps_dec, ps_cur_mb_info);
if(!uc_more_data_flag && (0 == (i2_cur_mb_addr & 1)))
{
return ERROR_EOB_FLUSHBITS_T;
}
}
/**************************************************************/
/* Get next Macroblock address */

View file

@ -1350,6 +1350,10 @@ WORD32 ih264d_parse_inter_slice_data_cavlc(dec_struct_t * ps_dec,
if(u1_mbaff)
{
ih264d_update_mbaff_left_nnz(ps_dec, ps_cur_mb_info);
if(!uc_more_data_flag && !i2_mb_skip_run && (0 == (i2_cur_mb_addr & 1)))
{
return ERROR_EOB_FLUSHBITS_T;
}
}
/**************************************************************/
/* Get next Macroblock address */