diff options
author | Harish Mahendrakar <harish.mahendrakar@ittiam.com> | 2019-09-28 01:14:57 -0700 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2019-09-28 01:14:57 -0700 |
commit | ea503e636b50bba52f48fdf02fc319ac5c2c0569 (patch) | |
tree | c0d6c9cb260f587ce1cd9e561d6918b4f1e03b6e | |
parent | e4237f852da6f654acbb8a7aaa48d8ac67bbc18f (diff) | |
parent | c5fcb41d08f3d7ceed5b382bd19d86864f83e01b (diff) | |
download | libhevc-ea503e636b50bba52f48fdf02fc319ac5c2c0569.tar.gz |
Check change in CTB size when decoding multiple SPS with same id am: 072f9084f4
am: c5fcb41d08
Change-Id: Ifbb8216a8189b1e2ab633c7171c7b34186d7b347
-rw-r--r-- | decoder/ihevcd_parse_headers.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/decoder/ihevcd_parse_headers.c b/decoder/ihevcd_parse_headers.c index 47edb1f..09f343c 100644 --- a/decoder/ihevcd_parse_headers.c +++ b/decoder/ihevcd_parse_headers.c @@ -1473,7 +1473,19 @@ IHEVCD_ERROR_T ihevcd_parse_sps(codec_t *ps_codec) 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; - + /* Check if CTB size is different in case of multiple SPS with same ID */ + { + sps_t *ps_sps_old = (ps_codec->s_parse.ps_sps_base + sps_id); + if(ps_sps_old->i1_sps_valid && ps_sps_old->i1_log2_ctb_size != ctb_log2_size_y) + { + if(0 == ps_codec->i4_first_pic_done) + { + return IHEVCD_INVALID_PARAMETER; + } + ps_codec->i4_reset_flag = 1; + return (IHEVCD_ERROR_T)IVD_RES_CHANGED; + } + } UEV_PARSE("log2_min_transform_block_size_minus2", value, ps_bitstrm); if(value > (LOG2_MAX_TU_SIZE - 2)) { |