aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--decoder/ihevcd_parse_headers.c2
-rwxr-xr-xdecoder/ihevcd_utils.c3
2 files changed, 5 insertions, 0 deletions
diff --git a/decoder/ihevcd_parse_headers.c b/decoder/ihevcd_parse_headers.c
index a8daa3c..b8ed252 100644
--- a/decoder/ihevcd_parse_headers.c
+++ b/decoder/ihevcd_parse_headers.c
@@ -1402,6 +1402,8 @@ IHEVCD_ERROR_T ihevcd_parse_sps(codec_t *ps_codec)
return IHEVCD_UNSUPPORTED_BIT_DEPTH;
UEV_PARSE("log2_max_pic_order_cnt_lsb_minus4", value, ps_bitstrm);
+ if(value < 0 || value > 12)
+ return IHEVCD_INVALID_PARAMETER;
ps_sps->i1_log2_max_pic_order_cnt_lsb = value + 4;
BITS_PARSE("sps_sub_layer_ordering_info_present_flag", value, ps_bitstrm, 1);
diff --git a/decoder/ihevcd_utils.c b/decoder/ihevcd_utils.c
index 5e27885..fef3f74 100755
--- a/decoder/ihevcd_utils.c
+++ b/decoder/ihevcd_utils.c
@@ -736,6 +736,9 @@ IHEVCD_ERROR_T ihevcd_check_out_buf_size(codec_t *ps_codec)
return (IHEVCD_ERROR_T)IHEVCD_SUCCESS;
}
+ if(ps_codec->i4_disp_strd > (WORD32)wd)
+ wd = ps_codec->i4_disp_strd;
+
if(ps_codec->e_chroma_fmt == IV_YUV_420P)
u4_min_num_out_bufs = MIN_OUT_BUFS_420;
else if(ps_codec->e_chroma_fmt == IV_YUV_422ILE)