Decoder: Fix in checking for valid profile flags

Apart from Baseline, main and high profile, only extended profile
is supported provided, constraint_set0_flag or constraint_set1_flag are set to 1

Bug: 31999646
Change-Id: I3b62069efc49e222a7126fba0805fa9124aac8f2
This commit is contained in:
Harish Mahendrakar 2016-12-05 13:36:19 +05:30 committed by Marco Nelissen
parent 23d5bc6405
commit d7eee555dc
2 changed files with 8 additions and 11 deletions

View file

@ -257,6 +257,7 @@ enum
/** Profile Types*/
#define BASE_PROFILE_IDC 66
#define MAIN_PROFILE_IDC 77
#define EXTENDED_PROFILE_IDC 88
#define HIGH_PROFILE_IDC 100

View file

@ -533,18 +533,14 @@ WORD32 ih264d_parse_sps(dec_struct_t *ps_dec, dec_bit_stream_t *ps_bitstrm)
)
{
if((uc_constraint_set1_flag != 1) && (uc_constraint_set0_flag != 1))
/* Apart from Baseline, main and high profile,
* only extended profile is supported provided
* uc_constraint_set0_flag or uc_constraint_set1_flag are set to 1
*/
if((u1_profile_idc != EXTENDED_PROFILE_IDC) ||
((uc_constraint_set1_flag != 1) && (uc_constraint_set0_flag != 1)))
{
if(NULL != ps_dec)
{
UWORD32 i4_error_code;
i4_error_code = ERROR_FEATURE_UNAVAIL;
return i4_error_code;
}
else
{
return (ERROR_FEATURE_UNAVAIL);
}
return (ERROR_FEATURE_UNAVAIL);
}
}