aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2015-06-18 18:03:21 +0200
committerCarl Eugen Hoyos <cehoyos@ag.or.at>2015-06-19 10:27:32 +0200
commit7e5a298bce178f6c1f760b0e4c41d46ccb8583e8 (patch)
tree2cc08b5fd2d2655cee4b32c5b8bbc1d3446cae04
parentd9dd0cbe632e7b4b0b1652b13112bb805e737522 (diff)
downloadffmpeg-7e5a298bce178f6c1f760b0e4c41d46ccb8583e8.tar.gz
avcodec/hevc_ps: Only discard overread VPS if a previous is available
Fixes Ticket4621 Signed-off-by: Michael Niedermayer <michaelni@gmx.at> (cherry picked from commit 57078e4d255a06246fef27846073f5ffb312b5dc)
-rw-r--r--libavcodec/hevc_ps.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libavcodec/hevc_ps.c b/libavcodec/hevc_ps.c
index 87cd541253..33a504fc57 100644
--- a/libavcodec/hevc_ps.c
+++ b/libavcodec/hevc_ps.c
@@ -461,7 +461,8 @@ int ff_hevc_decode_nal_vps(HEVCContext *s)
if (get_bits_left(gb) < 0) {
av_log(s->avctx, AV_LOG_ERROR,
"Overread VPS by %d bits\n", -get_bits_left(gb));
- goto err;
+ if (s->vps_list[vps_id])
+ goto err;
}
av_buffer_unref(&s->vps_list[vps_id]);