[FFmpeg-devel] [PATCH 1/3] avfilter/vf_libplacebo: switch to new background API

Niklas Haas ffmpeg at haasn.xyz
Wed Feb 19 19:29:56 EET 2025


From: Niklas Haas <git at haasn.dev>

Fixes a deprecation warning, and also fixes a bug where the depredated
skip_target_clearing option was not correctly mapped to the new API inside
libplacebo upstream.

Signed-off-by: Niklas Haas <git at haasn.dev>
Sponsored-by: nxtedition
---
 libavfilter/vf_libplacebo.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/libavfilter/vf_libplacebo.c b/libavfilter/vf_libplacebo.c
index e1c6629f6d..ce2065cc35 100644
--- a/libavfilter/vf_libplacebo.c
+++ b/libavfilter/vf_libplacebo.c
@@ -887,8 +887,12 @@ static int output_frame(AVFilterContext *ctx, int64_t pts)
     }
 
     /* Draw first frame opaque, others with blending */
-    opts->params.skip_target_clearing = false;
     opts->params.blend_params = NULL;
+#if PL_API_VER >= 346
+    opts->params.background = opts->params.border = PL_CLEAR_COLOR;
+#else
+    opts->params.skip_target_clearing = false;
+#endif
     for (int i = 0; i < s->nb_inputs; i++) {
         LibplaceboInput *in = &s->inputs[i];
         FilterLink *il = ff_filter_link(ctx->inputs[in->idx]);
@@ -899,8 +903,12 @@ static int output_frame(AVFilterContext *ctx, int64_t pts)
         opts->params.skip_caching_single_frame = high_fps;
         update_crops(ctx, in, &target, out->pts * av_q2d(outlink->time_base));
         pl_render_image_mix(in->renderer, &in->mix, &target, &opts->params);
-        opts->params.skip_target_clearing = true;
         opts->params.blend_params = &pl_alpha_overlay;
+#if PL_API_VER >= 346
+        opts->params.background = opts->params.border = PL_CLEAR_SKIP;
+#else
+        opts->params.skip_target_clearing = true;
+#endif
     }
 
     if (outdesc->flags & AV_PIX_FMT_FLAG_HWACCEL) {
-- 
2.47.0



More information about the ffmpeg-devel mailing list