[FFmpeg-cvslog] Warn the user if mjpeg cbr encoding with frame threading was requested.

Carl Eugen Hoyos git at videolan.org
Thu Jan 30 02:14:55 CET 2014


ffmpeg | branch: master | Carl Eugen Hoyos <cehoyos at ag.or.at> | Thu Jan 30 00:55:35 2014 +0100| [e1cb6dc59ec26a9cfe2d8f95a72e78d123b19e3b] | committer: Carl Eugen Hoyos

Warn the user if mjpeg cbr encoding with frame threading was requested.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e1cb6dc59ec26a9cfe2d8f95a72e78d123b19e3b
---

 libavcodec/frame_thread_encoder.c |    6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/libavcodec/frame_thread_encoder.c b/libavcodec/frame_thread_encoder.c
index a9c1423..7865996 100644
--- a/libavcodec/frame_thread_encoder.c
+++ b/libavcodec/frame_thread_encoder.c
@@ -133,6 +133,12 @@ int ff_frame_thread_encoder_init(AVCodecContext *avctx, AVDictionary *options){
                "or a constant quantizer if you want to use multiple cpu cores\n");
         avctx->thread_count = 1;
     }
+    if(   avctx->thread_count > 1
+       && avctx->codec_id == AV_CODEC_ID_MJPEG
+       && !(avctx->flags & CODEC_FLAG_QSCALE))
+        av_log(avctx, AV_LOG_WARNING,
+               "MJPEG CBR encoding works badly with frame multi-threading, consider "
+               "using -threads 1, -thread_type slice or a constant quantizer.\n");
     if(!avctx->thread_count) {
         avctx->thread_count = av_cpu_count();
         avctx->thread_count = FFMIN(avctx->thread_count, MAX_THREADS);



More information about the ffmpeg-cvslog mailing list