[FFmpeg-cvslog] h264: do not discard NAL_SEI when skipping frames

Rainer Hochecker git at videolan.org
Tue Sep 24 15:43:48 CEST 2013


ffmpeg | branch: master | Rainer Hochecker <fernetmenta at online.de> | Thu Sep 19 16:26:24 2013 +0200| [71cabb521ac397db3903011d2de7afd3e0fc7ab6] | committer: Anton Khirnov

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 <anton at khirnov.net>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=71cabb521ac397db3903011d2de7afd3e0fc7ab6
---

 libavcodec/h264.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 323d191..274c738 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:



More information about the ffmpeg-cvslog mailing list