FFmpeg/fftools
Anton Khirnov ee2a8cbfd1 fftools/ffmpeg_enc: move encoding to a separate thread
As for the analogous decoding change, this is only a preparatory step to
a fully threaded architecture and does not yet make encoding truly
parallel. The main thread will currently submit a frame and wait until
it has been fully processed by the encoder before moving on. That will
change in future commits after filters are moved to threads and a
thread-aware scheduler is added.

This code suffers from a known issue -  if an encoder with a sync queue
receives EOF it will terminate after processing everything it currently
has, even though the sync queue might still be triggered by other
threads. That will be fixed in following commits.
2023-12-12 08:24:18 +01:00
..
cmdutils.c fftools/cmdutils: only set array size after allocation succeeded 2023-11-09 11:25:17 +01:00
cmdutils.h fftools/ffmpeg: stop calling exit_program() 2023-07-20 20:47:46 +02:00
ffmpeg.c fftools/ffmpeg_demux: switch from AVThreadMessageQueue to ThreadQueue 2023-12-12 08:24:18 +01:00
ffmpeg.h fftools/ffmpeg_demux: switch from AVThreadMessageQueue to ThreadQueue 2023-12-12 08:24:18 +01:00
ffmpeg_dec.c fftools/ffmpeg_filter: move filtering to a separate thread 2023-12-12 08:24:18 +01:00
ffmpeg_demux.c fftools/ffmpeg_demux: switch from AVThreadMessageQueue to ThreadQueue 2023-12-12 08:24:18 +01:00
ffmpeg_enc.c fftools/ffmpeg_enc: move encoding to a separate thread 2023-12-12 08:24:18 +01:00
ffmpeg_filter.c fftools/ffmpeg_demux: switch from AVThreadMessageQueue to ThreadQueue 2023-12-12 08:24:18 +01:00
ffmpeg_hw.c fftools/ffmpeg_hw: inline hwaccel_decode_init() into its caller 2023-06-19 09:48:55 +02:00
ffmpeg_mux.c fftools/ffmpeg_mux: move bitstream filtering to the muxer thread 2023-12-12 08:24:18 +01:00
ffmpeg_mux.h fftools/ffmpeg_mux: stop rescaling timestamps in of_streamcopy() 2023-08-30 11:53:46 +02:00
ffmpeg_mux_init.c fftools/ffmpeg_mux_init: Restrict disabling automatic copying of metadata 2023-11-02 13:24:21 +01:00
ffmpeg_opt.c fftools/ffmpeg: deprecate the -top option 2023-09-18 17:16:06 +02:00
ffmpeg_utils.h fftools/ffmpeg: rework keeping track of file duration for -stream_loop 2023-11-14 18:18:26 +01:00
ffplay.c fftools/ffplay: add hwaccel decoding support 2023-11-15 01:20:11 +08:00
ffplay_renderer.c fftools/ffplay_renderer: declare function argument as const 2023-11-27 23:39:48 +08:00
ffplay_renderer.h fftools/ffplay: add hwaccel decoding support 2023-11-15 01:20:11 +08:00
ffprobe.c ffprobe: print the non-diegetic stream disposition flag 2023-10-25 21:55:01 -03:00
fftools.manifest fftools: add DPI awareness manifest 2022-08-13 14:42:52 +02:00
fftoolsres.rc fftools: add DPI awareness manifest 2022-08-13 14:42:52 +02:00
fopen_utf8.h fftools/fopen_utf8: support long paths on Windows for fftools 2022-06-19 01:38:23 +03:00
Makefile fftools/ffplay: add hwaccel decoding support 2023-11-15 01:20:11 +08:00
objpool.c fftools/objpool: Don't use return with expression when returning void 2022-07-23 18:58:35 +02:00
objpool.h fftools: add an object pool 2022-07-23 11:53:19 +02:00
opt_common.c fftools/opt_common: Don't add unnecessary " " 2023-08-02 18:15:34 +02:00
opt_common.h fftools/cmdutils: split common option handlers into their own file 2022-03-22 18:49:43 +01:00
sync_queue.c fftools/sync_queue: make sure non-limiting streams are not used as queue head 2023-05-28 10:47:59 +02:00
sync_queue.h fftools/sync_queue: add debug logging 2023-05-28 10:47:59 +02:00
thread_queue.c fftools/thread_queue: count receive-finished streams as finished 2023-11-14 18:18:26 +01:00
thread_queue.h fftools: add a multistream thread-safe queue 2022-07-23 11:53:19 +02:00