diff options
author | Anton Khirnov <anton@khirnov.net> | 2023-06-08 20:36:33 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2023-12-12 08:24:18 +0100 |
commit | d35c05cb9ee39e1d90fab326a6aaec6c6c9433e1 (patch) | |
tree | 5d845adfb164c8bf03278afe24f22b9eac041536 /fftools/ffmpeg.h | |
parent | 4b8a171beb385c949cbe73fa3f5366c4cdccf72f (diff) | |
download | ffmpeg-d35c05cb9ee39e1d90fab326a6aaec6c6c9433e1.tar.gz |
fftools/ffmpeg_filter: move filtering to a separate thread
As previously for decoding, this is merely "scaffolding" for moving to a
fully threaded architecture and does not yet make filtering truly
parallel - the main thread will currently wait for the filtering thread
to finish its work before continuing. That will change in future commits
after encoders are also moved to threads and a thread-aware scheduler is
added.
Diffstat (limited to 'fftools/ffmpeg.h')
-rw-r--r-- | fftools/ffmpeg.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/fftools/ffmpeg.h b/fftools/ffmpeg.h index 1f11a2f002..f50222472c 100644 --- a/fftools/ffmpeg.h +++ b/fftools/ffmpeg.h @@ -80,6 +80,14 @@ enum HWAccelID { HWACCEL_GENERIC, }; +enum FrameOpaque { + FRAME_OPAQUE_REAP_FILTERS = 1, + FRAME_OPAQUE_CHOOSE_INPUT, + FRAME_OPAQUE_SUB_HEARTBEAT, + FRAME_OPAQUE_EOF, + FRAME_OPAQUE_SEND_COMMAND, +}; + typedef struct HWDevice { const char *name; enum AVHWDeviceType type; @@ -730,7 +738,6 @@ const FrameData *frame_data_c(AVFrame *frame); int ifilter_send_frame(InputFilter *ifilter, AVFrame *frame, int keep_reference); int ifilter_send_eof(InputFilter *ifilter, int64_t pts, AVRational tb); -int ifilter_sub2video(InputFilter *ifilter, const AVFrame *frame); void ifilter_sub2video_heartbeat(InputFilter *ifilter, int64_t pts, AVRational tb); /** |