Merge "Decoder: Fix end of bitstream error." into mnc-dev am: 810356f4de am: 65077f6cfe am: 82c7a3628e am: fa3361f209 am: b1d2064d95 am: c81da59a51 am: 5b33069e8f
am: 45c34bc177
Change-Id: Ib7b3a9dba8930edd21fae57f63f170fd8e004e36
This commit is contained in:
commit
0382af937e
2 changed files with 24 additions and 5 deletions
|
|
@ -866,6 +866,8 @@ WORD32 ih264d_parse_islice_data_cavlc(dec_struct_t * ps_dec,
|
|||
ps_cur_deblk_mb->u1_mb_qp = ps_dec->u1_qp;
|
||||
}
|
||||
|
||||
uc_more_data_flag = MORE_RBSP_DATA(ps_bitstrm);
|
||||
|
||||
if(u1_mbaff)
|
||||
{
|
||||
ih264d_update_mbaff_left_nnz(ps_dec, ps_cur_mb_info);
|
||||
|
|
@ -879,7 +881,7 @@ WORD32 ih264d_parse_islice_data_cavlc(dec_struct_t * ps_dec,
|
|||
/**************************************************************/
|
||||
|
||||
i2_cur_mb_addr++;
|
||||
uc_more_data_flag = MORE_RBSP_DATA(ps_bitstrm);
|
||||
|
||||
|
||||
/* Store the colocated information */
|
||||
{
|
||||
|
|
@ -1087,8 +1089,7 @@ WORD32 ih264d_parse_islice_data_cabac(dec_struct_t * ps_dec,
|
|||
{
|
||||
ih264d_update_mbaff_left_nnz(ps_dec, ps_cur_mb_info);
|
||||
}
|
||||
/* Next macroblock information */
|
||||
i2_cur_mb_addr++;
|
||||
|
||||
|
||||
if(ps_cur_mb_info->u1_topmb && u1_mbaff)
|
||||
uc_more_data_flag = 1;
|
||||
|
|
@ -1099,6 +1100,16 @@ WORD32 ih264d_parse_islice_data_cabac(dec_struct_t * ps_dec,
|
|||
uc_more_data_flag = !uc_more_data_flag;
|
||||
COPYTHECONTEXT("Decode Sliceterm",!uc_more_data_flag);
|
||||
}
|
||||
|
||||
if(u1_mbaff)
|
||||
{
|
||||
if(!uc_more_data_flag && (0 == (i2_cur_mb_addr & 1)))
|
||||
{
|
||||
return ERROR_EOB_FLUSHBITS_T;
|
||||
}
|
||||
}
|
||||
/* Next macroblock information */
|
||||
i2_cur_mb_addr++;
|
||||
/* Store the colocated information */
|
||||
{
|
||||
|
||||
|
|
|
|||
|
|
@ -1006,8 +1006,7 @@ WORD32 ih264d_parse_inter_slice_data_cabac(dec_struct_t * ps_dec,
|
|||
{
|
||||
ih264d_update_mbaff_left_nnz(ps_dec, ps_cur_mb_info);
|
||||
}
|
||||
/* Next macroblock information */
|
||||
i2_cur_mb_addr++;
|
||||
|
||||
|
||||
if(ps_cur_mb_info->u1_topmb && u1_mbaff)
|
||||
uc_more_data_flag = 1;
|
||||
|
|
@ -1019,6 +1018,15 @@ WORD32 ih264d_parse_inter_slice_data_cabac(dec_struct_t * ps_dec,
|
|||
COPYTHECONTEXT("Decode Sliceterm",!uc_more_data_flag);
|
||||
}
|
||||
|
||||
if(u1_mbaff)
|
||||
{
|
||||
if(!uc_more_data_flag && (0 == (i2_cur_mb_addr & 1)))
|
||||
{
|
||||
return ERROR_EOB_FLUSHBITS_T;
|
||||
}
|
||||
}
|
||||
/* Next macroblock information */
|
||||
i2_cur_mb_addr++;
|
||||
u1_num_mbs++;
|
||||
u1_num_mbsNby2++;
|
||||
ps_parse_mb_data++;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue