aboutsummaryrefslogtreecommitdiff
path: root/decoder
diff options
context:
space:
mode:
authorHarish Mahendrakar <harish.mahendrakar@ittiam.com>2019-09-27 14:37:21 -0700
committerandroid-build-merger <android-build-merger@google.com>2019-09-27 14:37:21 -0700
commit06aa42bdc7c33b5d733dffdd51167fdfcefd4506 (patch)
tree209451a5cca96956ee00fc65a30ba936737008eb /decoder
parentbe4eca2855d38fddacf2d9dc26c719934942c03c (diff)
parenta368569d61258d7b1709bd2b4cd223d5eeebfc18 (diff)
downloadlibhevc-06aa42bdc7c33b5d733dffdd51167fdfcefd4506.tar.gz
Check change in CTB size when decoding multiple SPS with same id am: 70940fbabd am: a9fc115a23
am: a368569d61 Change-Id: I8b9eae557279323378b728e6452550f2547610c6
Diffstat (limited to 'decoder')
-rw-r--r--decoder/ihevcd_parse_headers.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/decoder/ihevcd_parse_headers.c b/decoder/ihevcd_parse_headers.c
index 2d1f567..e16a9e6 100644
--- a/decoder/ihevcd_parse_headers.c
+++ b/decoder/ihevcd_parse_headers.c
@@ -1675,6 +1675,19 @@ IHEVCD_ERROR_T ihevcd_parse_sps(codec_t *ps_codec)
{
return IHEVCD_INVALID_PARAMETER;
}
+ /* 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;
+ }
+ }
ps_sps->i1_log2_ctb_size = ctb_log2_size_y;
UEV_PARSE("log2_min_transform_block_size_minus2", value, ps_bitstrm);