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

Git pushed a commit to branch master
in repository ffmpeg.

commit d09330e578fae14307adad82307909abf1552f70
Author:     Ramiro Polla <[email protected]>
AuthorDate: Tue Jun 16 16:34:52 2026 +0200
Commit:     Ramiro Polla <[email protected]>
CommitDate: Mon Jun 22 13:56:31 2026 +0200

    swscale/aarch64/ops: mark more operations as type-invariant
    
    This prevents the generation of a few more duplicate functions (where
    there would be both f32 and u32 functions).
    
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Ramiro Polla <[email protected]>
---
 libswscale/aarch64/ops_entries.c   | 25 +++++++++++--------------
 libswscale/aarch64/ops_impl_conv.c | 22 +++++++++++++++++-----
 2 files changed, 28 insertions(+), 19 deletions(-)

diff --git a/libswscale/aarch64/ops_entries.c b/libswscale/aarch64/ops_entries.c
index 7f60afb484..9466c800e6 100644
--- a/libswscale/aarch64/ops_entries.c
+++ b/libswscale/aarch64/ops_entries.c
@@ -13,9 +13,9 @@
 { .op = AARCH64_SWS_OP_READ_PACKED, .block_size = 8, .type = 
AARCH64_PIXEL_U16, .mask = 0x0011 },
 { .op = AARCH64_SWS_OP_READ_PACKED, .block_size = 8, .type = 
AARCH64_PIXEL_U16, .mask = 0x0111 },
 { .op = AARCH64_SWS_OP_READ_PACKED, .block_size = 8, .type = 
AARCH64_PIXEL_U16, .mask = 0x1111 },
-{ .op = AARCH64_SWS_OP_READ_PACKED, .block_size = 8, .type = 
AARCH64_PIXEL_F32, .mask = 0x0011 },
-{ .op = AARCH64_SWS_OP_READ_PACKED, .block_size = 8, .type = 
AARCH64_PIXEL_F32, .mask = 0x0111 },
-{ .op = AARCH64_SWS_OP_READ_PACKED, .block_size = 8, .type = 
AARCH64_PIXEL_F32, .mask = 0x1111 },
+{ .op = AARCH64_SWS_OP_READ_PACKED, .block_size = 8, .type = 
AARCH64_PIXEL_U32, .mask = 0x0011 },
+{ .op = AARCH64_SWS_OP_READ_PACKED, .block_size = 8, .type = 
AARCH64_PIXEL_U32, .mask = 0x0111 },
+{ .op = AARCH64_SWS_OP_READ_PACKED, .block_size = 8, .type = 
AARCH64_PIXEL_U32, .mask = 0x1111 },
 { .op = AARCH64_SWS_OP_READ_PACKED, .block_size = 16, .type = 
AARCH64_PIXEL_U8, .mask = 0x0011 },
 { .op = AARCH64_SWS_OP_READ_PACKED, .block_size = 16, .type = 
AARCH64_PIXEL_U8, .mask = 0x0111 },
 { .op = AARCH64_SWS_OP_READ_PACKED, .block_size = 16, .type = 
AARCH64_PIXEL_U8, .mask = 0x1111 },
@@ -31,9 +31,8 @@
 { .op = AARCH64_SWS_OP_READ_PLANAR, .block_size = 8, .type = 
AARCH64_PIXEL_U16, .mask = 0x0111 },
 { .op = AARCH64_SWS_OP_READ_PLANAR, .block_size = 8, .type = 
AARCH64_PIXEL_U16, .mask = 0x1111 },
 { .op = AARCH64_SWS_OP_READ_PLANAR, .block_size = 8, .type = 
AARCH64_PIXEL_U32, .mask = 0x0001 },
-{ .op = AARCH64_SWS_OP_READ_PLANAR, .block_size = 8, .type = 
AARCH64_PIXEL_F32, .mask = 0x0001 },
-{ .op = AARCH64_SWS_OP_READ_PLANAR, .block_size = 8, .type = 
AARCH64_PIXEL_F32, .mask = 0x0111 },
-{ .op = AARCH64_SWS_OP_READ_PLANAR, .block_size = 8, .type = 
AARCH64_PIXEL_F32, .mask = 0x1111 },
+{ .op = AARCH64_SWS_OP_READ_PLANAR, .block_size = 8, .type = 
AARCH64_PIXEL_U32, .mask = 0x0111 },
+{ .op = AARCH64_SWS_OP_READ_PLANAR, .block_size = 8, .type = 
AARCH64_PIXEL_U32, .mask = 0x1111 },
 { .op = AARCH64_SWS_OP_READ_PLANAR, .block_size = 16, .type = 
AARCH64_PIXEL_U8, .mask = 0x0001 },
 { .op = AARCH64_SWS_OP_READ_PLANAR, .block_size = 16, .type = 
AARCH64_PIXEL_U8, .mask = 0x0111 },
 { .op = AARCH64_SWS_OP_READ_PLANAR, .block_size = 16, .type = 
AARCH64_PIXEL_U8, .mask = 0x1111 },
@@ -50,9 +49,9 @@
 { .op = AARCH64_SWS_OP_WRITE_PACKED, .block_size = 8, .type = 
AARCH64_PIXEL_U16, .mask = 0x0011 },
 { .op = AARCH64_SWS_OP_WRITE_PACKED, .block_size = 8, .type = 
AARCH64_PIXEL_U16, .mask = 0x0111 },
 { .op = AARCH64_SWS_OP_WRITE_PACKED, .block_size = 8, .type = 
AARCH64_PIXEL_U16, .mask = 0x1111 },
-{ .op = AARCH64_SWS_OP_WRITE_PACKED, .block_size = 8, .type = 
AARCH64_PIXEL_F32, .mask = 0x0011 },
-{ .op = AARCH64_SWS_OP_WRITE_PACKED, .block_size = 8, .type = 
AARCH64_PIXEL_F32, .mask = 0x0111 },
-{ .op = AARCH64_SWS_OP_WRITE_PACKED, .block_size = 8, .type = 
AARCH64_PIXEL_F32, .mask = 0x1111 },
+{ .op = AARCH64_SWS_OP_WRITE_PACKED, .block_size = 8, .type = 
AARCH64_PIXEL_U32, .mask = 0x0011 },
+{ .op = AARCH64_SWS_OP_WRITE_PACKED, .block_size = 8, .type = 
AARCH64_PIXEL_U32, .mask = 0x0111 },
+{ .op = AARCH64_SWS_OP_WRITE_PACKED, .block_size = 8, .type = 
AARCH64_PIXEL_U32, .mask = 0x1111 },
 { .op = AARCH64_SWS_OP_WRITE_PACKED, .block_size = 16, .type = 
AARCH64_PIXEL_U8, .mask = 0x0011 },
 { .op = AARCH64_SWS_OP_WRITE_PACKED, .block_size = 16, .type = 
AARCH64_PIXEL_U8, .mask = 0x0111 },
 { .op = AARCH64_SWS_OP_WRITE_PACKED, .block_size = 16, .type = 
AARCH64_PIXEL_U8, .mask = 0x1111 },
@@ -66,9 +65,8 @@
 { .op = AARCH64_SWS_OP_WRITE_PLANAR, .block_size = 8, .type = 
AARCH64_PIXEL_U16, .mask = 0x0111 },
 { .op = AARCH64_SWS_OP_WRITE_PLANAR, .block_size = 8, .type = 
AARCH64_PIXEL_U16, .mask = 0x1111 },
 { .op = AARCH64_SWS_OP_WRITE_PLANAR, .block_size = 8, .type = 
AARCH64_PIXEL_U32, .mask = 0x0001 },
-{ .op = AARCH64_SWS_OP_WRITE_PLANAR, .block_size = 8, .type = 
AARCH64_PIXEL_F32, .mask = 0x0001 },
-{ .op = AARCH64_SWS_OP_WRITE_PLANAR, .block_size = 8, .type = 
AARCH64_PIXEL_F32, .mask = 0x0111 },
-{ .op = AARCH64_SWS_OP_WRITE_PLANAR, .block_size = 8, .type = 
AARCH64_PIXEL_F32, .mask = 0x1111 },
+{ .op = AARCH64_SWS_OP_WRITE_PLANAR, .block_size = 8, .type = 
AARCH64_PIXEL_U32, .mask = 0x0111 },
+{ .op = AARCH64_SWS_OP_WRITE_PLANAR, .block_size = 8, .type = 
AARCH64_PIXEL_U32, .mask = 0x1111 },
 { .op = AARCH64_SWS_OP_WRITE_PLANAR, .block_size = 16, .type = 
AARCH64_PIXEL_U8, .mask = 0x0001 },
 { .op = AARCH64_SWS_OP_WRITE_PLANAR, .block_size = 16, .type = 
AARCH64_PIXEL_U8, .mask = 0x0111 },
 { .op = AARCH64_SWS_OP_WRITE_PLANAR, .block_size = 16, .type = 
AARCH64_PIXEL_U8, .mask = 0x1111 },
@@ -261,13 +259,12 @@
 { .op = AARCH64_SWS_OP_CLEAR, .block_size = 8, .type = AARCH64_PIXEL_U16, 
.mask = 0x1101 },
 { .op = AARCH64_SWS_OP_CLEAR, .block_size = 8, .type = AARCH64_PIXEL_U16, 
.mask = 0x1110 },
 { .op = AARCH64_SWS_OP_CLEAR, .block_size = 8, .type = AARCH64_PIXEL_U32, 
.mask = 0x0001 },
+{ .op = AARCH64_SWS_OP_CLEAR, .block_size = 8, .type = AARCH64_PIXEL_U32, 
.mask = 0x0010 },
 { .op = AARCH64_SWS_OP_CLEAR, .block_size = 8, .type = AARCH64_PIXEL_U32, 
.mask = 0x0101 },
 { .op = AARCH64_SWS_OP_CLEAR, .block_size = 8, .type = AARCH64_PIXEL_U32, 
.mask = 0x1000 },
 { .op = AARCH64_SWS_OP_CLEAR, .block_size = 8, .type = AARCH64_PIXEL_U32, 
.mask = 0x1010 },
 { .op = AARCH64_SWS_OP_CLEAR, .block_size = 8, .type = AARCH64_PIXEL_U32, 
.mask = 0x1011 },
 { .op = AARCH64_SWS_OP_CLEAR, .block_size = 8, .type = AARCH64_PIXEL_U32, 
.mask = 0x1101 },
-{ .op = AARCH64_SWS_OP_CLEAR, .block_size = 8, .type = AARCH64_PIXEL_F32, 
.mask = 0x0010 },
-{ .op = AARCH64_SWS_OP_CLEAR, .block_size = 8, .type = AARCH64_PIXEL_F32, 
.mask = 0x1000 },
 { .op = AARCH64_SWS_OP_CLEAR, .block_size = 16, .type = AARCH64_PIXEL_U8, 
.mask = 0x0001 },
 { .op = AARCH64_SWS_OP_CLEAR, .block_size = 16, .type = AARCH64_PIXEL_U8, 
.mask = 0x0010 },
 { .op = AARCH64_SWS_OP_CLEAR, .block_size = 16, .type = AARCH64_PIXEL_U8, 
.mask = 0x0110 },
diff --git a/libswscale/aarch64/ops_impl_conv.c 
b/libswscale/aarch64/ops_impl_conv.c
index 4e401527cd..075569b3b9 100644
--- a/libswscale/aarch64/ops_impl_conv.c
+++ b/libswscale/aarch64/ops_impl_conv.c
@@ -149,11 +149,6 @@ static int convert_to_aarch64_impl(SwsContext *ctx, const 
SwsOpList *ops, int n,
         case 4: out->mask = 0x1111; break;
         };
         break;
-    case AARCH64_SWS_OP_SWAP_BYTES:
-        /* Only the element size matters, not the type. */
-        if (out->type == AARCH64_PIXEL_F32)
-            out->type = AARCH64_PIXEL_U32;
-        break;
     case AARCH64_SWS_OP_SWIZZLE:
         /* Recompute mask taking identity swizzle into account */
         out->mask = 0;
@@ -238,5 +233,22 @@ static int convert_to_aarch64_impl(SwsContext *ctx, const 
SwsOpList *ops, int n,
         break;
     }
 
+    switch (out->op) {
+    case AARCH64_SWS_OP_READ_BIT:
+    case AARCH64_SWS_OP_READ_NIBBLE:
+    case AARCH64_SWS_OP_READ_PACKED:
+    case AARCH64_SWS_OP_READ_PLANAR:
+    case AARCH64_SWS_OP_WRITE_BIT:
+    case AARCH64_SWS_OP_WRITE_NIBBLE:
+    case AARCH64_SWS_OP_WRITE_PACKED:
+    case AARCH64_SWS_OP_WRITE_PLANAR:
+    case AARCH64_SWS_OP_SWAP_BYTES:
+    case AARCH64_SWS_OP_CLEAR:
+        /* Only the element size matters, not the type. */
+        if (out->type == AARCH64_PIXEL_F32)
+            out->type = AARCH64_PIXEL_U32;
+        break;
+    }
+
     return 0;
 }

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

Reply via email to