mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-12-24 16:00:02 +01:00
lavfi: add a libplacebo filter
This filter conceptually maps the libplacebo `pl_renderer` API into libavfilter, which is a high-level image rendering API designed to work with an RGB pipeline internally. As such, there's no way to avoid e.g. chroma interpolation with this filter, although new versions of libplacebo support outputting back to subsampled YCbCr after processing is done. That being said, `pl_renderer` supports automatic integration of the majority of libplacebo's shaders, ranging from debanding to tone mapping, and also supports loading custom mpv-style user shaders, making this API a natural candidate for getting a lot of functionality out of relatively little code. In the future, I may approach this problem either by rewriting this filter to also support a non-renderer codepath, or by upgrading libplacebo's renderer to support a full YCbCr pipeline. This unfortunately requires a very new version of libplacebo (unreleased at time of writing) for timeline semaphore support. But the amount of boilerplate needed to hack in backwards compatibility would have been very unreasonable.
This commit is contained in:
@@ -308,6 +308,7 @@ extern const AVFilter ff_vf_lagfun;
|
||||
extern const AVFilter ff_vf_latency;
|
||||
extern const AVFilter ff_vf_lenscorrection;
|
||||
extern const AVFilter ff_vf_lensfun;
|
||||
extern const AVFilter ff_vf_libplacebo;
|
||||
extern const AVFilter ff_vf_libvmaf;
|
||||
extern const AVFilter ff_vf_limitdiff;
|
||||
extern const AVFilter ff_vf_limiter;
|
||||
|
||||
Reference in New Issue
Block a user