diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 29804b704e..7b97e15f33 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -597,6 +597,11 @@ int MPV_common_init(MpegEncContext *s) { int y_size, c_size, yc_size, i, mb_array_size, mv_table_size, x, y; + if(s->avctx->thread_count > MAX_THREADS || 16*s->avctx->thread_count > s->height){ + av_log(s->avctx, AV_LOG_ERROR, "too many threads\n"); + return -1; + } + dsputil_init(&s->dsp, s->avctx); DCT_common_init(s); @@ -990,11 +995,6 @@ int MPV_encode_init(AVCodecContext *avctx) return -1; } - if(s->avctx->thread_count > MAX_THREADS || 16*s->avctx->thread_count > s->height){ - av_log(avctx, AV_LOG_ERROR, "too many threads\n"); - return -1; - } - if(s->avctx->thread_count > 1) s->rtp_mode= 1;