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
am: 0382af937e
Change-Id: I6cda7c7e1165e64aef67976450b4438d22c70b97
This commit is contained in:
commit
ab7163fac0
2 changed files with 24 additions and 5 deletions
|
|
@ -864,6 +864,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);
|
||||
|
|
@ -877,7 +879,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 */
|
||||
{
|
||||
|
|
@ -1085,8 +1087,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;
|
||||
|
|
@ -1097,6 +1098,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