[FFmpeg-devel] [FFmpeg-cvslog] fftools/ffmpeg: convert to a threaded architecture

Anton Khirnov anton at khirnov.net
Thu Dec 14 05:44:43 EET 2023


Quoting Michael Niedermayer (2023-12-14 03:07:13)
> On Thu, Dec 14, 2023 at 12:16:14AM +0100, Michael Niedermayer wrote:
> > On Tue, Dec 12, 2023 at 07:41:18AM +0000, Anton Khirnov wrote:
> > > ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Tue Jul 18 16:37:52 2023 +0200| [d119ae2fd82a494d9430ff4d4fc262961a68c598] | committer: Anton Khirnov
> > > 
> > > fftools/ffmpeg: convert to a threaded architecture
> > > 
> > > Change the main loop and every component (demuxers, decoders, filters,
> > > encoders, muxers) to use the previously added transcode scheduler. Every
> > > instance of every such component was already running in a separate
> > > thread, but now they can actually run in parallel.
> > > 
> > > Changes the results of ffmpeg-fix_sub_duration_heartbeat - tested by
> > > JEEB to be more correct and deterministic.
> > > 
> > > > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d119ae2fd82a494d9430ff4d4fc262961a68c598
> > > ---
> > 
> > infinite loops this: (most of the time)
> > 
> > ffmpeg -i tickets///2531/interlaced_top.wmv -t 10 -bitexact -vcodec ffv1 -level 0 -y  file..avi
> > 
> > https://samples.ffmpeg.org/ffmpeg-bugs/trac/ticket2531/interlaced_top.wmv
> 
> also a related question
> is there a way to make things execute serially in a predictive manner ?

You should be able to make it effectively serial with something like
schedtool -a 0x1 -F -p 1 -e ./ffmpeg ...
It still won't be deterministic across runs though.

-- 
Anton Khirnov


More information about the ffmpeg-devel mailing list