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

Git pushed a commit to branch master
in repository ffmpeg.

commit bf93a677331f9b249e81a6a65fefc3ee45047039
Author:     Lynne <[email protected]>
AuthorDate: Fri Feb 27 16:29:11 2026 +0100
Commit:     Lynne <[email protected]>
CommitDate: Tue Mar 24 15:21:16 2026 +0100

    swscale/vulkan: implement SW_OP_SCALE
    
    Sponsored-by: Sovereign Tech Fund
---
 libswscale/vulkan/ops.c | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/libswscale/vulkan/ops.c b/libswscale/vulkan/ops.c
index 1b80d03047..062cdf4b88 100644
--- a/libswscale/vulkan/ops.c
+++ b/libswscale/vulkan/ops.c
@@ -180,6 +180,10 @@ static void 
add_desc_read_write(FFVulkanDescriptorSetBinding *out_desc,
     *out_rep = op->type == SWS_PIXEL_F32 ? FF_VK_REP_FLOAT : FF_VK_REP_UINT;
 }
 
+#define QSTR "(%i/%i%s)"
+#define QTYPE(i) op->c.q4[i].num, op->c.q4[i].den,       \
+                 op->type == SWS_PIXEL_F32 ? ".0f" : ""
+
 static int add_ops_glsl(VulkanPriv *p, FFVulkanOpsCtx *s,
                         SwsOpList *ops, FFVulkanShader *shd)
 {
@@ -270,12 +274,15 @@ static int add_ops_glsl(VulkanPriv *p, FFVulkanOpsCtx *s,
             for (int i = 0; i < 4; i++) {
                 if (!op->c.q4[i].den)
                     continue;
-                av_bprintf(&shd->src, "    %s.%c = %s(%i/%i%s);\n", type_name,
-                           "xyzw"[i], type_s, op->c.q4[i].num, op->c.q4[i].den,
-                           op->type == SWS_PIXEL_F32 ? ".0f" : "");
+                av_bprintf(&shd->src, "    %s.%c = %s"QSTR";\n", type_name,
+                           "xyzw"[i], type_s, QTYPE(i));
             }
             break;
         }
+        case SWS_OP_SCALE:
+            av_bprintf(&shd->src, "    %s = %s*%i/%i;\n",
+                       type_name, type_name, op->c.q.num, op->c.q.den);
+            break;
         default:
             return AVERROR(ENOTSUP);
         }

_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to