diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-10-27 14:03:09 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-11-01 13:28:14 +0100 |
commit | 045670a6f7e46d2ab84df0214282bbb07e0eef9c (patch) | |
tree | b4eaef5386eb238c40a8fdd1b4c9a4aa054c8e55 | |
parent | 30a0622a5dbf2753553deddbfbf2410f7d7799e6 (diff) | |
download | ffmpeg-045670a6f7e46d2ab84df0214282bbb07e0eef9c.tar.gz |
avcodec/hevc_ps: Check default display window bitstream and skip if invalid
Fixes Ticket4035
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 852aaead1fc294bcb63a1f9e384e781f6e51ded6)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavcodec/hevc_ps.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libavcodec/hevc_ps.c b/libavcodec/hevc_ps.c index c17ca04350..4e1c56163d 100644 --- a/libavcodec/hevc_ps.c +++ b/libavcodec/hevc_ps.c @@ -525,7 +525,11 @@ static void decode_vui(HEVCContext *s, HEVCSPS *sps) vui->field_seq_flag = get_bits1(gb); vui->frame_field_info_present_flag = get_bits1(gb); - vui->default_display_window_flag = get_bits1(gb); + if (get_bits_left(gb) >= 68 && show_bits_long(gb, 21) == 0x100000) { + vui->default_display_window_flag = 0; + av_log(s->avctx, AV_LOG_WARNING, "Invalid default display window\n"); + } else + vui->default_display_window_flag = get_bits1(gb); // Backup context in case an alternate header is detected memcpy(&backup, gb, sizeof(backup)); |