diff --git a/libavcodec/pthread.c b/libavcodec/pthread.c index 5b0d108ba5..658dbacb89 100644 --- a/libavcodec/pthread.c +++ b/libavcodec/pthread.c @@ -683,6 +683,11 @@ static int frame_thread_init(AVCodecContext *avctx) FrameThreadContext *fctx; int i, err = 0; + if (thread_count <= 1) { + avctx->active_thread_type = 0; + return 0; + } + avctx->thread_opaque = fctx = av_mallocz(sizeof(FrameThreadContext)); fctx->threads = av_mallocz(sizeof(PerThreadContext) * thread_count); @@ -882,8 +887,6 @@ int ff_thread_init(AVCodecContext *avctx, int thread_count) return -1; } - avctx->thread_count = FFMAX(1, thread_count); - if (avctx->codec) { validate_thread_parameters(avctx);