From 62a1181015c2bd90adfadcd8c9ababba44665db2 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Tue, 9 Apr 2013 23:11:06 +0200 Subject: [PATCH] h264: wait for missing slices only on frames The EC code does not support fields currently thus it makes no sense to wait for these cases (which also the check doesnt handle correctly) Fixes Ticket 2454 Signed-off-by: Michael Niedermayer --- libavcodec/h264.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/h264.c b/libavcodec/h264.c index 35387fac5f..929889043c 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -4248,7 +4248,7 @@ static int decode_slice(struct AVCodecContext *avctx, void *arg) avctx->codec_id != AV_CODEC_ID_H264 || (CONFIG_GRAY && (h->flags & CODEC_FLAG_GRAY)); - if (!(h->avctx->active_thread_type & FF_THREAD_SLICE)) { + if (!(h->avctx->active_thread_type & FF_THREAD_SLICE) && h->picture_structure == PICT_FRAME) { const int start_i = av_clip(h->resync_mb_x + h->resync_mb_y * h->mb_width, 0, h->mb_num - 1); if (start_i) { int prev_status = h->er.error_status_table[h->er.mb_index2xy[start_i - 1]];