From e0237208b428d4da20cbb361c74b2086528faaf7 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sun, 31 Aug 2014 03:43:56 +0200 Subject: avcodec/h264: Do not get stuck on IDR inter frames Signed-off-by: Michael Niedermayer --- libavcodec/h264.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libavcodec/h264.c b/libavcodec/h264.c index 8ed9f48d09..0fcc769ef1 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -1567,6 +1567,12 @@ again: switch (hx->nal_unit_type) { case NAL_IDR_SLICE: + if ((ptr[0] & 0xFC) == 0x98) { + av_log(h->avctx, AV_LOG_ERROR, "Invalid inter IDR frame\n"); + h->next_outputed_poc = INT_MIN; + ret = -1; + goto end; + } if (h->nal_unit_type != NAL_IDR_SLICE) { av_log(h->avctx, AV_LOG_ERROR, "Invalid mix of idr and non-idr slices\n"); -- cgit v1.2.3