[FFmpeg-devel] [PATCH 13/13 v2] fftools/ffmpeg: convert to a threaded architecture

Anton Khirnov anton at khirnov.net
Thu Nov 30 15:34:59 EET 2023


Quoting Michael Niedermayer (2023-11-30 14:08:26)
> 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)

Sorry, seems I forgot to update my branch. Did that now, it should not
get suck anymore.

-- 
Anton Khirnov


More information about the ffmpeg-devel mailing list