From 71cabb521ac397db3903011d2de7afd3e0fc7ab6 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Thu, 19 Sep 2013 16:26:24 +0200 Subject: [PATCH] h264: do not discard NAL_SEI when skipping frames Setting AVDISCARD_NONREF (e.g. after flushing) resulted in 100% dropped frames. Signed-off-by: Anton Khirnov --- libavcodec/h264.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libavcodec/h264.c b/libavcodec/h264.c index 323d1916a0..274c738c5d 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -4547,8 +4547,9 @@ static int decode_nal_units(H264Context *h, const uint8_t *buf, int buf_size, continue; } - // FIXME do not discard SEI id - if (avctx->skip_frame >= AVDISCARD_NONREF && h->nal_ref_idc == 0) + if (avctx->skip_frame >= AVDISCARD_NONREF && + h->nal_ref_idc == 0 && + h->nal_unit_type != NAL_SEI) continue; again: