summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorRainer Hochecker <fernetmenta@online.de>2013-09-19 16:26:24 +0200
committerAnton Khirnov <anton@khirnov.net>2013-09-24 13:24:29 +0200
commit71cabb521ac397db3903011d2de7afd3e0fc7ab6 (patch)
treeaabcf084d76be64823070b8e2890668cb34318a1 /libavcodec
parentedaba18021e4793116f0f266e65077578a5e742e (diff)
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@khirnov.net>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/h264.c5
1 files 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: