Merge "Decoder: Fixes in accessing mbaff flag in error cases" into mnc-dev am: 7ace2f5ca2 am: ba33452066 am: e8faa24c74 am: 57ba056850 am: aff1a88f83
am: 41bb6d6a66
Change-Id: I1951187677257ee71722b49773c2ab4238c55a86
This commit is contained in:
commit
29718feb5c
1 changed files with 4 additions and 4 deletions
|
|
@ -1456,7 +1456,7 @@ WORD32 ih264d_mark_err_slice_skip(dec_struct_t * ps_dec,
|
||||||
UWORD32 u1_inter_mb_type;
|
UWORD32 u1_inter_mb_type;
|
||||||
UWORD32 u1_deblk_mb_type;
|
UWORD32 u1_deblk_mb_type;
|
||||||
UWORD16 u2_total_mbs_coded;
|
UWORD16 u2_total_mbs_coded;
|
||||||
UWORD32 u1_mbaff = ps_slice->u1_mbaff_frame_flag;
|
UWORD32 u1_mbaff;
|
||||||
parse_part_params_t *ps_part_info;
|
parse_part_params_t *ps_part_info;
|
||||||
WORD32 ret;
|
WORD32 ret;
|
||||||
UNUSED(u1_is_idr_slice);
|
UNUSED(u1_is_idr_slice);
|
||||||
|
|
@ -1579,7 +1579,7 @@ WORD32 ih264d_mark_err_slice_skip(dec_struct_t * ps_dec,
|
||||||
{
|
{
|
||||||
// Slice data corrupted
|
// Slice data corrupted
|
||||||
// in the case of mbaff, conceal from the even mb.
|
// in the case of mbaff, conceal from the even mb.
|
||||||
if((u1_mbaff) && (ps_dec->u4_num_mbs_cur_nmb & 1))
|
if((ps_dec->ps_cur_slice->u1_mbaff_frame_flag) && (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->u4_num_mbs_cur_nmb = ps_dec->u4_num_mbs_cur_nmb - 1;
|
||||||
ps_dec->u2_cur_mb_addr--;
|
ps_dec->u2_cur_mb_addr--;
|
||||||
|
|
@ -1626,7 +1626,7 @@ WORD32 ih264d_mark_err_slice_skip(dec_struct_t * ps_dec,
|
||||||
|
|
||||||
u1_num_mbs_next = i2_pic_wdin_mbs - ps_dec->u2_mbx - 1;
|
u1_num_mbs_next = i2_pic_wdin_mbs - ps_dec->u2_mbx - 1;
|
||||||
u1_end_of_row = (!u1_num_mbs_next)
|
u1_end_of_row = (!u1_num_mbs_next)
|
||||||
&& (!(u1_mbaff && (u1_num_mbs & 0x01)));
|
&& (!(ps_dec->ps_cur_slice->u1_mbaff_frame_flag && (u1_num_mbs & 0x01)));
|
||||||
u1_slice_end = 1;
|
u1_slice_end = 1;
|
||||||
u1_tfr_n_mb = 1;
|
u1_tfr_n_mb = 1;
|
||||||
ps_cur_mb_info->u1_end_of_slice = u1_slice_end;
|
ps_cur_mb_info->u1_end_of_slice = u1_slice_end;
|
||||||
|
|
@ -1699,7 +1699,7 @@ WORD32 ih264d_mark_err_slice_skip(dec_struct_t * ps_dec,
|
||||||
pu1_buf += size * ps_dec->u2_cur_slice_num;
|
pu1_buf += size * ps_dec->u2_cur_slice_num;
|
||||||
ps_dec->ps_parse_cur_slice->ppv_map_ref_idx_to_poc = (volatile void **)pu1_buf;
|
ps_dec->ps_parse_cur_slice->ppv_map_ref_idx_to_poc = (volatile void **)pu1_buf;
|
||||||
}
|
}
|
||||||
|
u1_mbaff = ps_slice->u1_mbaff_frame_flag;
|
||||||
ps_dec->ps_cur_slice->u2_first_mb_in_slice = ps_dec->u2_total_mbs_coded >> u1_mbaff;
|
ps_dec->ps_cur_slice->u2_first_mb_in_slice = ps_dec->u2_total_mbs_coded >> u1_mbaff;
|
||||||
ps_dec->ps_cur_slice->i1_slice_alpha_c0_offset = 0;
|
ps_dec->ps_cur_slice->i1_slice_alpha_c0_offset = 0;
|
||||||
ps_dec->ps_cur_slice->i1_slice_beta_offset = 0;
|
ps_dec->ps_cur_slice->i1_slice_beta_offset = 0;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue