You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-15 14:13:16 +02:00
avcodec/mpeg12enc: Move high resolution thread check to before initializing threads
Cleaner solution is welcome! Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
@@ -139,9 +139,6 @@ static av_cold int encode_init(AVCodecContext *avctx)
|
|||||||
{
|
{
|
||||||
MpegEncContext *s = avctx->priv_data;
|
MpegEncContext *s = avctx->priv_data;
|
||||||
|
|
||||||
if (avctx->codec_id == AV_CODEC_ID_MPEG1VIDEO && avctx->height > 2800)
|
|
||||||
avctx->thread_count = 1;
|
|
||||||
|
|
||||||
if (ff_mpv_encode_init(avctx) < 0)
|
if (ff_mpv_encode_init(avctx) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
@@ -186,6 +186,12 @@ int ff_slice_thread_init(AVCodecContext *avctx)
|
|||||||
w32thread_init();
|
w32thread_init();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// We cannot do this in the encoder init as the threads are created before
|
||||||
|
if (av_codec_is_encoder(avctx->codec) &&
|
||||||
|
avctx->codec_id == AV_CODEC_ID_MPEG1VIDEO &&
|
||||||
|
avctx->height > 2800)
|
||||||
|
thread_count = avctx->thread_count = 1;
|
||||||
|
|
||||||
if (!thread_count) {
|
if (!thread_count) {
|
||||||
int nb_cpus = av_cpu_count();
|
int nb_cpus = av_cpu_count();
|
||||||
if (avctx->height)
|
if (avctx->height)
|
||||||
|
Reference in New Issue
Block a user