[FFmpeg-devel] [PATCH]Do not use mjpeg frame-threads with cbr	and threads=auto
    Michael Niedermayer 
    michaelni at gmx.at
       
    Wed Dec 18 13:01:30 CET 2013
    
    
  
On Wed, Dec 18, 2013 at 10:42:25AM +0100, Carl Eugen Hoyos wrote:
> Hi!
> 
> Attached patch fixes cbr mjpeg encoding on multi-core hardware.
> 
> Please comment, Carl Eugen
>  frame_thread_encoder.c |    4 ++++
>  1 file changed, 4 insertions(+)
> 711bfe8d8d317fbf74e73a5d5cfefcd04b768333  patchmjpegthreads.diff
> diff --git a/libavcodec/frame_thread_encoder.c b/libavcodec/frame_thread_encoder.c
> index b9acefc..977f011 100644
> --- a/libavcodec/frame_thread_encoder.c
> +++ b/libavcodec/frame_thread_encoder.c
> @@ -121,6 +121,10 @@ int ff_frame_thread_encoder_init(AVCodecContext *avctx, AVDictionary *options){
>      ThreadContext *c;
>  
>  
> +    if(   !avctx->thread_count
> +       && !strcmp(avctx->codec->name, "mjpeg")
avctx->codec_id or avctx->codec->id
> +       && !(avctx->flags & CODEC_FLAG_QSCALE))
> +        avctx->thread_type &= ~FF_THREAD_FRAME;
i would reduce the number of threads to 1
with slice threads you generate jpegs with resync markers, i have no
idea how widely binary decoders support such mjpegs
>      if(   !(avctx->thread_type & FF_THREAD_FRAME)
>         || !(avctx->codec->capabilities & CODEC_CAP_INTRA_ONLY))
>          return 0;
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Old school: Use the lowest level language in which you can solve the problem
            conveniently.
New school: Use the highest level language in which the latest supercomputer
            can solve the problem without the user falling asleep waiting.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20131218/d50045e1/attachment.asc>
    
    
More information about the ffmpeg-devel
mailing list