On Sat, Nov 25, 2023 at 09:32:06PM +0100, Anton Khirnov wrote: > 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. > --- > fftools/ffmpeg.c | 374 +-------- > fftools/ffmpeg.h | 97 +-- > fftools/ffmpeg_dec.c | 321 ++------ > fftools/ffmpeg_demux.c | 268 ++++--- > fftools/ffmpeg_enc.c | 368 ++------- > fftools/ffmpeg_filter.c | 722 +++++------------- > fftools/ffmpeg_mux.c | 324 ++------ > fftools/ffmpeg_mux.h | 24 +- > fftools/ffmpeg_mux_init.c | 88 +-- > fftools/ffmpeg_opt.c | 6 +- > .../fate/ffmpeg-fix_sub_duration_heartbeat | 36 +- > 11 files changed, 598 insertions(+), 2030 deletions(-) I tried ./ffmpeg -f lavfi -i testsrc2 -bsf:v noise -bitexact -t 2 /tmp/.y4m with merged ffmpeg_threading into master and it gets stuck Stream #0:0 -> #0:0 (wrapped_avframe (native) -> wrapped_avframe (native)) Press [q] to stop, [?] for help [noise @ 0x55e8fbaea340] Wrapped AVFrame noising is unsupported [vost#0:0/wrapped_avframe @ 0x55e8fbae9840] Error initializing bitstream filter: noise [vf#0:0 @ 0x55e8fbaea880] Error sending frames to consumers: Not yet implemented in FFmpeg, patches welcome [vf#0:0 @ 0x55e8fbaea880] Task finished with error code: -1163346256 (Not yet implemented in FFmpeg, patches welcome) [vf#0:0 @ 0x55e8fbaea880] Terminating thread with return code -1163346256 (Not yet implemented in FFmpeg, patches welcome) [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB The day soldiers stop bringing you their problems is the day you have stopped leading them. They have either lost confidence that you can help or concluded you do not care. Either case is a failure of leadership. - Colin Powell