mirror of
https://github.com/ittiam-systems/libhevc.git
synced 2026-10-17 06:16:06 +07:00
Added check for invalid log2_max_transform_block_size in SPS am: b5cae8181e am: 4b6511b432 am: c6bda6e3d2 am: 1a50b8aefc am: ddb188785b am: 0512afdf72
am: 05e014ebf1
Change-Id: I755e4ebc73b36d74d0d3434a2f2768223675c3bf
This commit is contained in:
commit
7a6be9f361
1 changed files with 9 additions and 0 deletions
|
|
@ -1193,6 +1193,7 @@ IHEVCD_ERROR_T ihevcd_parse_sps(codec_t *ps_codec)
|
|||
sps_t *ps_sps;
|
||||
profile_tier_lvl_info_t s_ptl;
|
||||
bitstrm_t *ps_bitstrm = &ps_codec->s_parse.s_bitstrm;
|
||||
WORD32 ctb_log2_size_y = 0;
|
||||
|
||||
|
||||
BITS_PARSE("video_parameter_set_id", value, ps_bitstrm, 4);
|
||||
|
|
@ -1325,6 +1326,8 @@ IHEVCD_ERROR_T ihevcd_parse_sps(codec_t *ps_codec)
|
|||
UEV_PARSE("log2_diff_max_min_coding_block_size", value, ps_bitstrm);
|
||||
ps_sps->i1_log2_diff_max_min_coding_block_size = value;
|
||||
|
||||
ctb_log2_size_y = ps_sps->i1_log2_min_coding_block_size + ps_sps->i1_log2_diff_max_min_coding_block_size;
|
||||
|
||||
UEV_PARSE("log2_min_transform_block_size_minus2", value, ps_bitstrm);
|
||||
ps_sps->i1_log2_min_transform_block_size = value + 2;
|
||||
|
||||
|
|
@ -1334,6 +1337,12 @@ IHEVCD_ERROR_T ihevcd_parse_sps(codec_t *ps_codec)
|
|||
ps_sps->i1_log2_max_transform_block_size = ps_sps->i1_log2_min_transform_block_size +
|
||||
ps_sps->i1_log2_diff_max_min_transform_block_size;
|
||||
|
||||
if ((ps_sps->i1_log2_max_transform_block_size < 0) ||
|
||||
(ps_sps->i1_log2_max_transform_block_size > MIN(ctb_log2_size_y, 5)))
|
||||
{
|
||||
return IHEVCD_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
ps_sps->i1_log2_ctb_size = ps_sps->i1_log2_min_coding_block_size +
|
||||
ps_sps->i1_log2_diff_max_min_coding_block_size;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue