[automerger] Return error for invalid st/lt sps parameters am: b93923e288 am: 797c104f3b am: 092cd28d04 am: 0e0458c8da am: 400d114e64 am: fa6d5fe71f

Change-Id: Ifbb2e77e47ac255069e55781aa521390993aa714
This commit is contained in:
Android Build Merger (Role) 2018-04-20 21:13:40 +00:00
commit 03831de632
2 changed files with 9 additions and 3 deletions

View file

@ -274,7 +274,7 @@ typedef enum {
#define SPS_MAX_SUB_LAYERS 7
/* Maximum long term reference pics */
#define MAX_LTREF_PICS_SPS 16
#define MAX_LTREF_PICS_SPS 32
#define MAX_STREF_PICS_SPS 64

View file

@ -1480,10 +1480,12 @@ IHEVCD_ERROR_T ihevcd_parse_sps(codec_t *ps_codec)
}
UEV_PARSE("num_short_term_ref_pic_sets", value, ps_bitstrm);
if(value < 0 || value > MAX_STREF_PICS_SPS)
{
return IHEVCD_INVALID_PARAMETER;
}
ps_sps->i1_num_short_term_ref_pic_sets = value;
ps_sps->i1_num_short_term_ref_pic_sets = CLIP3(ps_sps->i1_num_short_term_ref_pic_sets, 0, MAX_STREF_PICS_SPS);
for(i = 0; i < ps_sps->i1_num_short_term_ref_pic_sets; i++)
ihevcd_short_term_ref_pic_set(ps_bitstrm, &ps_sps->as_stref_picset[0], ps_sps->i1_num_short_term_ref_pic_sets, i, &ps_sps->as_stref_picset[i]);
@ -1493,6 +1495,10 @@ IHEVCD_ERROR_T ihevcd_parse_sps(codec_t *ps_codec)
if(ps_sps->i1_long_term_ref_pics_present_flag)
{
UEV_PARSE("num_long_term_ref_pics_sps", value, ps_bitstrm);
if(value < 0 || value > MAX_LTREF_PICS_SPS)
{
return IHEVCD_INVALID_PARAMETER;
}
ps_sps->i1_num_long_term_ref_pics_sps = value;
for(i = 0; i < ps_sps->i1_num_long_term_ref_pics_sps; i++)