Commit af5b19db91 for ffmpeg

commit af5b19db918b483feb1956261895080b8c89d40f
Author: Ramiro Polla <ramiro.polla@gmail.com>
Date:   Mon Nov 9 17:27:22 2026 +0100

    swscale/tests/sws_ops_aarch64: enumerate op lists for all relevant flags

    The aarch64 backend failed to set up conversions to 12-, 14- and 16-bit
    formats with SWS_ACCURATE_RND, such as rgb24 -> yuv444p16le and
    gray -> gbrp12le. With SWS_ACCURATE_RND, a 1x1 dither is added before
    converting from float to integer, which becomes SWS_UOP_ADD. But the
    aarch64 kernel list was only generated from the op lists for the
    default flags, so even though SWS_UOP_ADD was added in the previous
    commit, its entries were not being generated.

    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
    Signed-off-by: Ramiro Polla <ramiro.polla@gmail.com>

diff --git a/libswscale/aarch64/ops_entries.c b/libswscale/aarch64/ops_entries.c
index c2487e5a0c..7005e269b1 100644
--- a/libswscale/aarch64/ops_entries.c
+++ b/libswscale/aarch64/ops_entries.c
@@ -245,6 +245,14 @@ ENTRY(ff_sws_scale_16_u8_0001_neon,                 { .uop = SWS_UOP_SCALE,
 ENTRY(ff_sws_scale_16_u8_0111_neon,                 { .uop = SWS_UOP_SCALE,        .block_size = 16, .type = SWS_PIXEL_U8,  .mask = 0x7 })
 ENTRY(ff_sws_scale_16_u16_0001_neon,                { .uop = SWS_UOP_SCALE,        .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x1 })
 ENTRY(ff_sws_scale_16_u16_0111_neon,                { .uop = SWS_UOP_SCALE,        .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7 })
+ENTRY(ff_sws_add_8_f32_0001_neon,                   { .uop = SWS_UOP_ADD,          .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x1 })
+ENTRY(ff_sws_add_8_f32_0011_neon,                   { .uop = SWS_UOP_ADD,          .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x3 })
+ENTRY(ff_sws_add_8_f32_0101_neon,                   { .uop = SWS_UOP_ADD,          .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x5 })
+ENTRY(ff_sws_add_8_f32_0111_neon,                   { .uop = SWS_UOP_ADD,          .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x7 })
+ENTRY(ff_sws_add_8_f32_1000_neon,                   { .uop = SWS_UOP_ADD,          .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x8 })
+ENTRY(ff_sws_add_8_f32_1001_neon,                   { .uop = SWS_UOP_ADD,          .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x9 })
+ENTRY(ff_sws_add_8_f32_1110_neon,                   { .uop = SWS_UOP_ADD,          .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0xe })
+ENTRY(ff_sws_add_8_f32_1111_neon,                   { .uop = SWS_UOP_ADD,          .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0xf })
 ENTRY(ff_sws_min_8_f32_0001_neon,                   { .uop = SWS_UOP_MIN,          .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x1 })
 ENTRY(ff_sws_min_8_f32_0010_neon,                   { .uop = SWS_UOP_MIN,          .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x2 })
 ENTRY(ff_sws_min_8_f32_0011_neon,                   { .uop = SWS_UOP_MIN,          .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x3 })
diff --git a/libswscale/tests/sws_ops_aarch64.c b/libswscale/tests/sws_ops_aarch64.c
index 97bc2c37e5..303dc6d6cf 100644
--- a/libswscale/tests/sws_ops_aarch64.c
+++ b/libswscale/tests/sws_ops_aarch64.c
@@ -474,8 +474,19 @@ int main(int argc, char *argv[])
     graph->ctx = ctx;
     ctx->opaque = &root;

-    ret = ff_sws_enum_op_lists(ctx, graph, NULL, AV_PIX_FMT_NONE, AV_PIX_FMT_NONE,
-                               register_op);
+    static const SwsFlags flags_list[] = {
+        0,
+        SWS_ACCURATE_RND,   /* may insert extra 1x1 dither ops (for accurate rounding) */
+        SWS_BITEXACT,       /* prevents some FMA optimizations */
+        SWS_ACCURATE_RND | SWS_BITEXACT,
+    };
+    for (int i = 0; i < FF_ARRAY_ELEMS(flags_list); i++) {
+        ctx->flags = flags_list[i];
+        ret = ff_sws_enum_op_lists(ctx, graph, NULL, AV_PIX_FMT_NONE,
+                                   AV_PIX_FMT_NONE, register_op);
+        if (ret < 0)
+            break;
+    }

     /**
      * Generate a C file with all the unique function parameter entries
diff --git a/tests/ref/fate/sws-coverage-aarch64-neon b/tests/ref/fate/sws-coverage-aarch64-neon
index 2a6d735e50..18319477c3 100644
--- a/tests/ref/fate/sws-coverage-aarch64-neon
+++ b/tests/ref/fate/sws-coverage-aarch64-neon
@@ -1 +1 @@
-3e084cc8f6cb0d5f41c51f80322237ec 59628/69696
+add63e9e646ddbbf0975f345fd27108c 69696/69696