mirror of https://git.ffmpeg.org/ffmpeg.git
Force automatic thread_count to 1 for cbr mjpeg frame threading.
Constant bit rate mjpeg encoding fails for threads > 1 and frame threading.
This commit is contained in:
parent
72afa381b3
commit
cfc36666f6
|
@ -125,6 +125,14 @@ int ff_frame_thread_encoder_init(AVCodecContext *avctx, AVDictionary *options){
|
||||||
|| !(avctx->codec->capabilities & CODEC_CAP_INTRA_ONLY))
|
|| !(avctx->codec->capabilities & CODEC_CAP_INTRA_ONLY))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
if( !avctx->thread_count
|
||||||
|
&& avctx->codec_id == AV_CODEC_ID_MJPEG
|
||||||
|
&& !(avctx->flags & CODEC_FLAG_QSCALE)) {
|
||||||
|
av_log(avctx, AV_LOG_DEBUG,
|
||||||
|
"Forcing thread count to 1 for MJPEG encoding, use -thread_type slice "
|
||||||
|
"or a constant quantizer if you want to use multiple cpu cores\n");
|
||||||
|
avctx->thread_count = 1;
|
||||||
|
}
|
||||||
if(!avctx->thread_count) {
|
if(!avctx->thread_count) {
|
||||||
avctx->thread_count = av_cpu_count();
|
avctx->thread_count = av_cpu_count();
|
||||||
avctx->thread_count = FFMIN(avctx->thread_count, MAX_THREADS);
|
avctx->thread_count = FFMIN(avctx->thread_count, MAX_THREADS);
|
||||||
|
|
Loading…
Reference in New Issue