diff --git a/libavcodec/utils.c b/libavcodec/utils.c index fb6c5f450e..abddd6f4a4 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -1317,7 +1317,7 @@ int attribute_align_arg avcodec_open2(AVCodecContext *avctx, const AVCodec *code if (!HAVE_THREADS) av_log(avctx, AV_LOG_WARNING, "Warning: not compiled with thread support, using thread emulation\n"); - if (CONFIG_FRAME_THREAD_ENCODER) { + if (CONFIG_FRAME_THREAD_ENCODER && av_codec_is_encoder(avctx->codec)) { ff_unlock_avcodec(codec); //we will instanciate a few encoders thus kick the counter to prevent false detection of a problem ret = ff_frame_thread_encoder_init(avctx, options ? *options : NULL); ff_lock_avcodec(avctx, codec);