diff --git a/decoder/ih264d_defs.h b/decoder/ih264d_defs.h index 0682339..3dd5508 100644 --- a/decoder/ih264d_defs.h +++ b/decoder/ih264d_defs.h @@ -34,8 +34,9 @@ * ************************************************************************ */ -#define H264_MAX_FRAME_WIDTH 3840 -#define H264_MAX_FRAME_HEIGHT 2176 +#define H264_MAX_FRAME_WIDTH 4096 +#define H264_MAX_FRAME_HEIGHT 4096 +#define H264_MAX_FRAME_SIZE (4096 * 2048) #define H264_MIN_FRAME_WIDTH 16 #define H264_MIN_FRAME_HEIGHT 16 diff --git a/decoder/ih264d_parse_headers.c b/decoder/ih264d_parse_headers.c index c8a7954..4f3136f 100644 --- a/decoder/ih264d_parse_headers.c +++ b/decoder/ih264d_parse_headers.c @@ -917,7 +917,9 @@ WORD32 ih264d_parse_sps(dec_struct_t *ps_dec, dec_bit_stream_t *ps_bitstrm) } /* Check for unsupported resolutions */ - if((u2_pic_wd > H264_MAX_FRAME_WIDTH) || (u2_pic_ht > H264_MAX_FRAME_HEIGHT)) + if((u2_pic_wd > H264_MAX_FRAME_WIDTH) || (u2_pic_ht > H264_MAX_FRAME_HEIGHT) + || (u2_pic_wd < H264_MIN_FRAME_WIDTH) || (u2_pic_ht < H264_MIN_FRAME_HEIGHT) + || (u2_pic_wd * (UWORD32)u2_pic_ht > H264_MAX_FRAME_SIZE)) { return IVD_STREAM_WIDTH_HEIGHT_NOT_SUPPORTED; }