This is an automated email from the git hooks/post-receive script.

Git pushed a commit to branch master
in repository ffmpeg.

commit d33a47dbdbba6521ebc5150502a281e9f137b049
Author:     Niklas Haas <[email protected]>
AuthorDate: Wed Oct 28 15:19:19 2026 +0100
Commit:     Niklas Haas <[email protected]>
CommitDate: Sat Oct 31 13:37:58 2026 +0100

    avfilter/vf_libplacebo: split libplacebo_setup_gpu() out of init_vulkan()
    
    Separates creating the Vulkan device from the filter-specific setup that
    depends on it, so the former can be shared with other filters in this file.
    
    Co-Authored-By: Claude Opus 5.5 <[email protected]>
    Sponsored-by: nxtedition AB
    Signed-off-by: Niklas Haas <[email protected]>
---
 libavfilter/vf_libplacebo.c | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/libavfilter/vf_libplacebo.c b/libavfilter/vf_libplacebo.c
index 4bc09d2184..bb1da66ecc 100644
--- a/libavfilter/vf_libplacebo.c
+++ b/libavfilter/vf_libplacebo.c
@@ -509,6 +509,7 @@ static int parse_shader(AVFilterContext *avctx, const void 
*shader, size_t len)
 static void libplacebo_uninit(AVFilterContext *avctx);
 static int libplacebo_config_input(AVFilterLink *inlink);
 static int init_vulkan(AVFilterContext *avctx, const AVVulkanDeviceContext 
*hwctx);
+static int libplacebo_setup_gpu(AVFilterContext *avctx);
 
 /* Creates the log, shader cache and output format shared by all filters */
 static int init_common(AVFilterContext *avctx)
@@ -614,6 +615,7 @@ static int libplacebo_init(AVFilterContext *avctx)
                 vkhwctx = avhwctx->hwctx;
         }
         RET(init_vulkan(avctx, vkhwctx));
+        RET(libplacebo_setup_gpu(avctx));
     }
 
     return 0;
@@ -684,8 +686,6 @@ static int init_vulkan(AVFilterContext *avctx, const 
AVVulkanDeviceContext *hwct
 {
     int err = 0;
     LibplaceboContext *s = avctx->priv;
-    uint8_t *buf = NULL;
-    size_t buf_len;
 
     if (hwctx) {
         struct pl_vulkan_import_params import_params = {
@@ -733,6 +733,18 @@ static int init_vulkan(AVFilterContext *avctx, const 
AVVulkanDeviceContext *hwct
 
     s->gpu = s->vulkan->gpu;
     pl_gpu_set_cache(s->gpu, s->cache);
+    return 0;
+
+fail:
+    return err;
+}
+
+static int libplacebo_setup_gpu(AVFilterContext *avctx)
+{
+    int err = 0;
+    LibplaceboContext *s = avctx->priv;
+    uint8_t *buf = NULL;
+    size_t buf_len;
 
     /* Parse the user shaders, if requested */
     if (s->shader_bin_len)
@@ -1423,6 +1435,8 @@ static int libplacebo_config_input(AVFilterLink *inlink)
             return AVERROR(ENOMEM);
         if ((err = init_vulkan(avctx, hwfc->device_ctx->hwctx)) < 0)
             return err;
+        if ((err = libplacebo_setup_gpu(avctx)) < 0)
+            return err;
     }
 
     if (inlink->format == AV_PIX_FMT_VULKAN)

-- 
To stop receiving notification emails like this one, please contact
[email protected].
_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to