Decoder: Fixed allocation of pv_map_ref_idx_to_poc_buf.
Increased allocation to include reference list1 also by default. In the case of error, we could get B_SLICES even in BASE_PROFILE. The initialization in the dec_slice_struct_t slice structure has also been modified accordingly. Test: run poc with and without this patch Bug: 38496660 Change-Id: I3451d79bbcd9f0d7a80981a9897f877b7f0812bd
This commit is contained in:
parent
a54dcc6338
commit
a925a6b539
4 changed files with 7 additions and 20 deletions
|
|
@ -1531,10 +1531,7 @@ WORD32 ih264d_parse_bslice(dec_struct_t * ps_dec, UWORD16 u2_first_mb_in_slice)
|
|||
}
|
||||
|
||||
num_entries = ((2 * num_entries) + 1);
|
||||
if(BASE_PROFILE_IDC != ps_dec->ps_cur_sps->u1_profile_idc)
|
||||
{
|
||||
num_entries *= 2;
|
||||
}
|
||||
num_entries *= 2;
|
||||
|
||||
size = num_entries * sizeof(void *);
|
||||
size += PAD_MAP_IDX_POC * sizeof(void *);
|
||||
|
|
|
|||
|
|
@ -1696,10 +1696,8 @@ WORD32 ih264d_mark_err_slice_skip(dec_struct_t * ps_dec,
|
|||
num_entries = 1;
|
||||
}
|
||||
num_entries = ((2 * num_entries) + 1);
|
||||
if(BASE_PROFILE_IDC != ps_dec->ps_cur_sps->u1_profile_idc)
|
||||
{
|
||||
num_entries *= 2;
|
||||
}
|
||||
num_entries *= 2;
|
||||
|
||||
size = num_entries * sizeof(void *);
|
||||
size += PAD_MAP_IDX_POC * sizeof(void *);
|
||||
|
||||
|
|
@ -2063,10 +2061,7 @@ WORD32 ih264d_parse_pslice(dec_struct_t *ps_dec, UWORD16 u2_first_mb_in_slice)
|
|||
num_entries = 1;
|
||||
}
|
||||
num_entries = ((2 * num_entries) + 1);
|
||||
if(BASE_PROFILE_IDC != ps_dec->ps_cur_sps->u1_profile_idc)
|
||||
{
|
||||
num_entries *= 2;
|
||||
}
|
||||
num_entries *= 2;
|
||||
|
||||
size = num_entries * sizeof(void *);
|
||||
size += PAD_MAP_IDX_POC * sizeof(void *);
|
||||
|
|
|
|||
|
|
@ -1802,10 +1802,8 @@ WORD32 ih264d_parse_decode_slice(UWORD8 u1_is_idr_slice,
|
|||
num_entries = 1;
|
||||
}
|
||||
num_entries = ((2 * num_entries) + 1);
|
||||
if(BASE_PROFILE_IDC != ps_dec->ps_cur_sps->u1_profile_idc)
|
||||
{
|
||||
num_entries *= 2;
|
||||
}
|
||||
num_entries *= 2;
|
||||
|
||||
|
||||
size = num_entries * sizeof(void *);
|
||||
size += PAD_MAP_IDX_POC * sizeof(void *);
|
||||
|
|
|
|||
|
|
@ -1979,10 +1979,7 @@ WORD16 ih264d_allocate_dynamic_bufs(dec_struct_t * ps_dec)
|
|||
num_entries = 1;
|
||||
}
|
||||
num_entries = ((2 * num_entries) + 1);
|
||||
if(BASE_PROFILE_IDC != ps_dec->ps_cur_sps->u1_profile_idc)
|
||||
{
|
||||
num_entries *= 2;
|
||||
}
|
||||
num_entries *= 2;
|
||||
|
||||
size = num_entries * sizeof(void *);
|
||||
size += PAD_MAP_IDX_POC * sizeof(void *);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue