aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2019-10-01 04:39:04 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2019-10-01 04:39:04 +0000
commitf2bf845f9ff3d58fe54f48fceee12387c41eaf1c (patch)
tree63abe7be6e2cf9ccfd3d723b0bfe7fe858000991
parentc7bf85f8ae51e3a4e9ec0278d5ba8705d1be7bfe (diff)
parent75d1ac1026539f82a299ef6cea2b59150098ddbb (diff)
downloadlibhevc-android10-qpr1-mainline-release.tar.gz
Snap for 5910486 from 75d1ac1026539f82a299ef6cea2b59150098ddbb to qt-qpr1-aml-releaseandroid-mainline-10.0.0_r4android10-qpr1-mainline-release
Change-Id: Ib0040bd5c8d863154a38b43fe4333ac932fe4824
-rw-r--r--decoder/ihevcd_parse_headers.c13
-rw-r--r--decoder/ihevcd_parse_slice_header.c2
2 files changed, 14 insertions, 1 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);
diff --git a/decoder/ihevcd_parse_slice_header.c b/decoder/ihevcd_parse_slice_header.c
index ba2c5e8..c161fc4 100644
--- a/decoder/ihevcd_parse_slice_header.c
+++ b/decoder/ihevcd_parse_slice_header.c
@@ -318,7 +318,7 @@ IHEVCD_ERROR_T ihevcd_parse_slice_header(codec_t *ps_codec,
}
ps_slice_hdr = ps_codec->s_parse.ps_slice_hdr_base + (ps_codec->s_parse.i4_cur_slice_idx & (MAX_SLICE_HDR_CNT - 1));
-
+ memset(ps_slice_hdr, 0, sizeof(*ps_slice_hdr));
if((ps_pps->i1_dependent_slice_enabled_flag) &&
(!first_slice_in_pic_flag))