[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