aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/frame_thread_encoder.c
diff options
context:
space:
mode:
authorCarl Eugen Hoyos <cehoyos@ag.or.at>2014-01-30 00:22:25 +0100
committerCarl Eugen Hoyos <cehoyos@ag.or.at>2014-01-30 00:22:25 +0100
commitcfc36666f681c41096ee8293f1f47cee1fe58284 (patch)
treec007c70bdfcc04508d364a8f12caaadfcc00cc78 /libavcodec/frame_thread_encoder.c
parent72afa381b3fa347f4149067845c6582469d8062e (diff)
downloadffmpeg-cfc36666f681c41096ee8293f1f47cee1fe58284.tar.gz
Force automatic thread_count to 1 for cbr mjpeg frame threading.
Constant bit rate mjpeg encoding fails for threads > 1 and frame threading.
Diffstat (limited to 'libavcodec/frame_thread_encoder.c')
-rw-r--r--libavcodec/frame_thread_encoder.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/libavcodec/frame_thread_encoder.c b/libavcodec/frame_thread_encoder.c
index 687f23a17d..a9c1423502 100644
--- a/libavcodec/frame_thread_encoder.c
+++ b/libavcodec/frame_thread_encoder.c
@@ -125,6 +125,14 @@ int ff_frame_thread_encoder_init(AVCodecContext *avctx, AVDictionary *options){
|| !(avctx->codec->capabilities & CODEC_CAP_INTRA_ONLY))
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) {
avctx->thread_count = av_cpu_count();
avctx->thread_count = FFMIN(avctx->thread_count, MAX_THREADS);