[FFmpeg-devel] [PATCH v3] ffmpeg CLI multithreading

Anton Khirnov anton at khirnov.net
Wed Dec 6 21:36:09 EET 2023


Quoting Marton Balint (2023-12-06 20:29:01)
> 
> 
> On Wed, 6 Dec 2023, Anton Khirnov wrote:
> 
> > Hi,
> > this should hopefully be the last version of this set. If nobody has new
> > comments, I will push it in a few days.
> 
> In some cases the performance penalty because of threading is quite 
> significant:
> 
> Example command line:
> 
> ffmpeg -f lavfi -i sine -af volume=6dB -f null none
> 
> After latest threading changes: speed=810x
> Before latest threading changes: speed=1.13e+03x
> With 6.0 branch: speed=1.43e+03x
> With 5.1 branch: speed=2.92e+03x
> 
> This is a significant decline from 5.1, getting slower with each 
> release... Is there anything that can be done about this?

Would guess this is caused by overhead from tons of tiny frames. So
1) generate larger frames
2) use -filter_complex with no inputs instead of -f lavfi to eliminate
   all overhead from demuxing, decoding, and demux-decode/decode-filter
   inter-thread communication

-- 
Anton Khirnov


More information about the ffmpeg-devel mailing list