From 22ef88ee30f766e6773f0e15de3776161734aea0 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Thu, 30 Apr 2015 03:03:31 +0200 Subject: [PATCH] avfilter/lavfutils: disable frame threads when decoding a single image The image decoding code does expect the image to be decoded immedeatly Signed-off-by: Michael Niedermayer (cherry picked from commit d2184bf3b65354e44c177e226a6c59c5d6fdbad4) Signed-off-by: Michael Niedermayer --- libavfilter/lavfutils.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libavfilter/lavfutils.c b/libavfilter/lavfutils.c index 75e68a7d06..9952e6eab6 100644 --- a/libavfilter/lavfutils.c +++ b/libavfilter/lavfutils.c @@ -32,6 +32,7 @@ int ff_load_image(uint8_t *data[4], int linesize[4], AVFrame *frame; int frame_decoded, ret = 0; AVPacket pkt; + AVDictionary *opt=NULL; av_init_packet(&pkt); @@ -57,7 +58,8 @@ int ff_load_image(uint8_t *data[4], int linesize[4], goto end; } - if ((ret = avcodec_open2(codec_ctx, codec, NULL)) < 0) { + av_dict_set(&opt, "thread_type", "slice", 0); + if ((ret = avcodec_open2(codec_ctx, codec, &opt)) < 0) { av_log(log_ctx, AV_LOG_ERROR, "Failed to open codec\n"); goto end; } @@ -97,6 +99,7 @@ end: avcodec_close(codec_ctx); avformat_close_input(&format_ctx); av_frame_free(&frame); + av_dict_free(&opt); if (ret < 0) av_log(log_ctx, AV_LOG_ERROR, "Error loading image file '%s'\n", filename);