[FFmpeg-devel] [PATCH v2] lavfi: add a libplacebo filter
Lynne
dev at lynne.ee
Fri Nov 12 15:59:11 EET 2021
Nov 12, 2021, 11:58 by ffmpeg at haasn.xyz:
> From: Niklas Haas <git at haasn.dev>
>
> 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.
> ---
> configure | 3 +
> libavfilter/Makefile | 1 +
> libavfilter/allfilters.c | 1 +
> libavfilter/vf_libplacebo.c | 717 ++++++++++++++++++++++++++++++++++++
> 4 files changed, 722 insertions(+)
> create mode 100644 libavfilter/vf_libplacebo.c
>
Patch applied.
Thanks!
More information about the ffmpeg-devel
mailing list