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

Git pushed a commit to branch master
in repository ffmpeg.

commit 19cc66f02f2926fc2b9246a221015cebc7d5f501
Author:     Ramiro Polla <[email protected]>
AuthorDate: Wed Jun 17 23:13:55 2026 +0200
Commit:     Ramiro Polla <[email protected]>
CommitDate: Sun Jul 19 15:07:03 2026 +0200

    swscale/aarch64/ops: use SwsUOpParams for SwsAArch64OpImplParams's 
parameter fields
    
    This is one more step to eventually replace the parameter fields in
    SwsAArch64OpImplParams by generic structs from libswscale/uops.h.
    
    The function names and ordering in ops_entries.c is maintained to
    simplify the gradual move to uops.h.
    
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Ramiro Polla <[email protected]>
---
 libswscale/aarch64/ops.c           |   2 +-
 libswscale/aarch64/ops_asmgen.c    |  44 ++--
 libswscale/aarch64/ops_entries.c   | 488 ++++++++++++++++++-------------------
 libswscale/aarch64/ops_impl.h      |  11 +-
 libswscale/aarch64/ops_impl_conv.c |  26 +-
 libswscale/tests/sws_ops_aarch64.c |  76 +++---
 6 files changed, 322 insertions(+), 325 deletions(-)

diff --git a/libswscale/aarch64/ops.c b/libswscale/aarch64/ops.c
index 1634cf2e49..6e1de6a458 100644
--- a/libswscale/aarch64/ops.c
+++ b/libswscale/aarch64/ops.c
@@ -86,7 +86,7 @@ static int aarch64_setup_linear(const SwsAArch64OpImplParams 
*p,
     for (int i = 0; i < 4; i++) {
         for (int j = 0; j < 5; j++) {
             const int jj = (j == 0) ? 4 : (j - 1);
-            if (!(p->linear.zero & SWS_MASK(i, jj)))
+            if (!(p->par.lin.zero & SWS_MASK(i, jj)))
                 coeffs[i_coeff++] = (float) op->lin.m[i][jj].num / 
op->lin.m[i][jj].den;
         }
     }
diff --git a/libswscale/aarch64/ops_asmgen.c b/libswscale/aarch64/ops_asmgen.c
index 2c79a85530..5faa8166b8 100644
--- a/libswscale/aarch64/ops_asmgen.c
+++ b/libswscale/aarch64/ops_asmgen.c
@@ -645,8 +645,8 @@ static void swizzle_emit(SwsAArch64Context *s, int8_t dst, 
int8_t src)
 
 static void asmgen_op_move(SwsAArch64Context *s, const SwsAArch64OpImplParams 
*p)
 {
-    for (int i = 0; i < p->move.num_moves; i++)
-        swizzle_emit(s, p->move.dst[i], p->move.src[i]);
+    for (int i = 0; i < p->par.move.num_moves; i++)
+        swizzle_emit(s, p->par.move.dst[i], p->par.move.src[i]);
 }
 
 /*********************************************************************/
@@ -665,16 +665,16 @@ static void asmgen_op_unpack(SwsAArch64Context *s, const 
SwsAArch64OpImplParams
     uint8_t cur_vt = 0;
 
     const int offsets[4] = {
-        p->pack.pattern[3] + p->pack.pattern[2] + p->pack.pattern[1],
-        p->pack.pattern[3] + p->pack.pattern[2],
-        p->pack.pattern[3],
+        p->par.pack.pattern[3] + p->par.pack.pattern[2] + 
p->par.pack.pattern[1],
+        p->par.pack.pattern[3] + p->par.pack.pattern[2],
+        p->par.pack.pattern[3],
         0
     };
 
     /* Generate masks. */
     rasm_add_comment(r, "generate masks");
     LOOP_MASK(p, i) {
-        uint32_t val = (1u << p->pack.pattern[i]) - 1;
+        uint32_t val = (1u << p->par.pack.pattern[i]) - 1;
         for (int j = 0; j < 4; j++) {
             if (mask_val[j] == val) {
                 mask_val[i] = mask_val[j];
@@ -732,9 +732,9 @@ static void asmgen_op_pack(SwsAArch64Context *s, const 
SwsAArch64OpImplParams *p
     RasmOp *vh = s->vh;
 
     const int offsets[4] = {
-        p->pack.pattern[3] + p->pack.pattern[2] + p->pack.pattern[1],
-        p->pack.pattern[3] + p->pack.pattern[2],
-        p->pack.pattern[3],
+        p->par.pack.pattern[3] + p->par.pack.pattern[2] + 
p->par.pack.pattern[1],
+        p->par.pack.pattern[3] + p->par.pack.pattern[2],
+        p->par.pack.pattern[3],
         0
     };
     SwsCompMask offset_mask = 0;
@@ -765,7 +765,7 @@ static void asmgen_op_pack(SwsAArch64Context *s, const 
SwsAArch64OpImplParams *p
 
 static void asmgen_op_lshift(SwsAArch64Context *s, const 
SwsAArch64OpImplParams *p)
 {
-    uint8_t shift = p->shift.amount;
+    uint8_t shift = p->par.shift.amount;
     RasmContext *r = s->rctx;
     RasmOp *vl = s->vl;
     RasmOp *vh = s->vh;
@@ -780,7 +780,7 @@ static void asmgen_op_lshift(SwsAArch64Context *s, const 
SwsAArch64OpImplParams
 
 static void asmgen_op_rshift(SwsAArch64Context *s, const 
SwsAArch64OpImplParams *p)
 {
-    uint8_t shift = p->shift.amount;
+    uint8_t shift = p->par.shift.amount;
     RasmContext *r = s->rctx;
     RasmOp *vl = s->vl;
     RasmOp *vh = s->vh;
@@ -798,9 +798,9 @@ static void emit_clear(SwsAArch64Context *s, const 
SwsAArch64OpImplParams *p,
 {
     RasmContext *r = s->rctx;
     RasmOp clear_vec = s->vt[0];
-    if (p->clear.zero & SWS_COMP(i)) {
+    if (p->par.clear.zero & SWS_COMP(i)) {
         i_movi(r, vx[i], IMM(0));                   CMTF("%s[%u] = 0;", 
vx_str, i);
-    } else if (p->clear.one & SWS_COMP(i)) {
+    } else if (p->par.clear.one & SWS_COMP(i)) {
         if (p->block_size * ff_sws_pixel_type_size(p->type) == 8) {
             i_movi(r, v_8b (vx[i]), IMM(0xff));
         } else {
@@ -825,7 +825,7 @@ static void asmgen_op_clear(SwsAArch64Context *s, const 
SwsAArch64OpImplParams *
 
     bool load_priv = false;
     LOOP_MASK(p, i) {
-        if (!((p->clear.zero | p->clear.one) & SWS_COMP(i)))
+        if (!((p->par.clear.zero | p->par.clear.one) & SWS_COMP(i)))
             load_priv = true;
     }
     if (load_priv) {
@@ -1095,7 +1095,7 @@ static void linear_pass(SwsAArch64Context *s, const 
SwsAArch64OpImplParams *p,
         for (int j = 0; j < 5; j++) {
             bool is_offset = (j == 0);
             int src_j = is_offset ? 4 : (j - 1);
-            if (p->linear.zero & SWS_MASK(i, src_j))
+            if (p->par.lin.zero & SWS_MASK(i, src_j))
                 continue;
             RasmOp vsrc = src_vx[src_j];
             uint8_t vc_i = i_coeff / 4;
@@ -1105,7 +1105,7 @@ static void linear_pass(SwsAArch64Context *s, const 
SwsAArch64OpImplParams *p,
             if (first && is_offset) {
                 i_dup (r, vx[i], vcoeff);               CMTF("v%c[%u]  = 
broadcast(vc[%u][%u]);", cvh, i, vc_i, vc_j);
             } else if (first && !is_offset) {
-                if (p->linear.one & SWS_MASK(i, src_j)) {
+                if (p->par.lin.one & SWS_MASK(i, src_j)) {
                     i_mov16b(r, vx[i], vsrc);           CMTF("v%c[%u]  = 
vsrc[%u];", cvh, i, src_j);
                 } else {
                     i_fmul  (r, vx[i], vsrc, vcoeff);   CMTF("v%c[%u]  = 
vsrc[%u] * vc[%u][%u];", cvh, i, src_j, vc_i, vc_j);
@@ -1125,7 +1125,7 @@ static void linear_pass(SwsAArch64Context *s, const 
SwsAArch64OpImplParams *p,
                  * to reduce the dependency chain.
                  * There is no need to perform multiplications by 1.
                  */
-                if (!(p->linear.one & SWS_MASK(i, src_j))) {
+                if (!(p->par.lin.one & SWS_MASK(i, src_j))) {
                     pre_mul = rasm_set_current_node(r, pre_mul);
                     i_fmul(r, vtmp[vc_j], vsrc, vcoeff);    CMTF("vtmp[%u] = 
vsrc[%u] * vc[%u][%u];", vc_j, src_j, vc_i, vc_j);
                     pre_mul = rasm_set_current_node(r, pre_mul);
@@ -1167,7 +1167,7 @@ static void asmgen_op_linear(SwsAArch64Context *s, const 
SwsAArch64OpImplParams
         for (int j = 0; j < 5; j++) {
             bool is_offset = (j == 0);
             int src_j = is_offset ? 4 : (j - 1);
-            if (p->linear.zero & SWS_MASK(i, src_j))
+            if (p->par.lin.zero & SWS_MASK(i, src_j))
                 continue;
             if (!is_offset && overwritten[src_j])
                 save_mask |= SWS_COMP(src_j);
@@ -1216,10 +1216,10 @@ static void asmgen_op_dither(SwsAArch64Context *s, 
const SwsAArch64OpImplParams
     /* Very cheap bucket sort. */
     int max_offset = 0;
     LOOP_MASK(p, i)
-        max_offset = FFMAX(max_offset, p->dither.y_offset[i]);
+        max_offset = FFMAX(max_offset, p->par.dither.y_offset[i]);
     for (int y_off = 0; y_off <= max_offset; y_off++) {
         LOOP_MASK(p, i) {
-            if (p->dither.y_offset[i] == y_off)
+            if (p->par.dither.y_offset[i] == y_off)
                 sorted[n_comps++] = i;
         }
     }
@@ -1248,7 +1248,7 @@ static void asmgen_op_dither(SwsAArch64Context *s, const 
SwsAArch64OpImplParams
      *  lsb   = log2(block_size) + log2(sizeof(float))
      */
     const int block_size_log2   = (p->block_size == 16) ? 4 : 3;
-    const int dither_size_log2  = p->dither.size_log2;
+    const int dither_size_log2  = p->par.dither.size_log2;
     const int sizeof_float_log2 = 2;
     if (dither_size_log2 != block_size_log2) {
         RasmOp lsb   = IMM(block_size_log2 + sizeof_float_log2);
@@ -1261,7 +1261,7 @@ static void asmgen_op_dither(SwsAArch64Context *s, const 
SwsAArch64OpImplParams
     int prev_i = 0;
     for (int sorted_i = 0; sorted_i < n_comps; sorted_i++) {
         int i = sorted[sorted_i];
-        uint8_t y_off = p->dither.y_offset[i];
+        uint8_t y_off = p->par.dither.y_offset[i];
         bool do_load = (y_off != last_y_off);
 
         if (last_y_off < 0) {
diff --git a/libswscale/aarch64/ops_entries.c b/libswscale/aarch64/ops_entries.c
index 976a91481f..2c226edf0e 100644
--- a/libswscale/aarch64/ops_entries.c
+++ b/libswscale/aarch64/ops_entries.c
@@ -76,91 +76,91 @@ ENTRY(ff_sws_write_packed_16_u16_1111_neon, { .uop = 
SWS_UOP_WRITE_PACKED, .bloc
 ENTRY(ff_sws_write_nibble_8_u8_0001_neon, { .uop = SWS_UOP_WRITE_NIBBLE, 
.block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x1 })
 ENTRY(ff_sws_write_nibble_16_u8_0001_neon, { .uop = SWS_UOP_WRITE_NIBBLE, 
.block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x1 })
 ENTRY(ff_sws_write_bit_8_u8_0001_neon, { .uop = SWS_UOP_WRITE_BIT, .block_size 
= 8, .type = SWS_PIXEL_U8, .mask = 0x1 })
-ENTRY(ff_sws_permute_000000000001_32_u8_0001_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 1, .dst = {0, 0, 0, 0, 0, 0}, .src = {1, 0, 0, 0, 0, 0} 
}, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x1 })
-ENTRY(ff_sws_permute_000000000002_32_u8_0001_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 1, .dst = {0, 0, 0, 0, 0, 0}, .src = {2, 0, 0, 0, 0, 0} 
}, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x1 })
-ENTRY(ff_sws_permute_000000000003_8_u8_0001_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 1, .dst = {0, 0, 0, 0, 0, 0}, .src = {3, 0, 0, 0, 0, 0} 
}, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x1 })
-ENTRY(ff_sws_permute_000000000003_16_u8_0001_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 1, .dst = {0, 0, 0, 0, 0, 0}, .src = {3, 0, 0, 0, 0, 0} 
}, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x1 })
-ENTRY(ff_sws_permute_000000000003_32_u8_0001_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 1, .dst = {0, 0, 0, 0, 0, 0}, .src = {3, 0, 0, 0, 0, 0} 
}, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x1 })
-ENTRY(ff_sws_permute_000000000010_8_u8_0010_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 1, .dst = {1, 0, 0, 0, 0, 0}, .src = {0, 0, 0, 0, 0, 0} 
}, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x2 })
-ENTRY(ff_sws_permute_000000000010_16_u8_0010_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 1, .dst = {1, 0, 0, 0, 0, 0}, .src = {0, 0, 0, 0, 0, 0} 
}, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x2 })
-ENTRY(ff_sws_permute_000000000010_32_u8_0010_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 1, .dst = {1, 0, 0, 0, 0, 0}, .src = {0, 0, 0, 0, 0, 0} 
}, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x2 })
-ENTRY(ff_sws_permute_000000000013_8_u8_0010_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 1, .dst = {1, 0, 0, 0, 0, 0}, .src = {3, 0, 0, 0, 0, 0} 
}, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x2 })
-ENTRY(ff_sws_permute_000000000013_16_u8_0010_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 1, .dst = {1, 0, 0, 0, 0, 0}, .src = {3, 0, 0, 0, 0, 0} 
}, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x2 })
-ENTRY(ff_sws_permute_000000000013_32_u8_0010_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 1, .dst = {1, 0, 0, 0, 0, 0}, .src = {3, 0, 0, 0, 0, 0} 
}, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x2 })
-ENTRY(ff_sws_permute_000000000020_8_u8_0100_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 1, .dst = {2, 0, 0, 0, 0, 0}, .src = {0, 0, 0, 0, 0, 0} 
}, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x4 })
-ENTRY(ff_sws_permute_000000000020_32_u8_0100_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 1, .dst = {2, 0, 0, 0, 0, 0}, .src = {0, 0, 0, 0, 0, 0} 
}, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x4 })
-ENTRY(ff_sws_permute_000000000030_8_u8_1000_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 1, .dst = {3, 0, 0, 0, 0, 0}, .src = {0, 0, 0, 0, 0, 0} 
}, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x8 })
-ENTRY(ff_sws_permute_000000000030_16_u8_1000_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 1, .dst = {3, 0, 0, 0, 0, 0}, .src = {0, 0, 0, 0, 0, 0} 
}, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x8 })
-ENTRY(ff_sws_permute_000000000030_32_u8_1000_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 1, .dst = {3, 0, 0, 0, 0, 0}, .src = {0, 0, 0, 0, 0, 0} 
}, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x8 })
-ENTRY(ff_sws_permute_000000000031_32_u8_1000_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 1, .dst = {3, 0, 0, 0, 0, 0}, .src = {1, 0, 0, 0, 0, 0} 
}, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x8 })
-ENTRY(ff_sws_permute_000000000130_32_u8_1001_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 2, .dst = {3, 0, 0, 0, 0, 0}, .src = {0, 1, 0, 0, 0, 0} 
}, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x9 })
-ENTRY(ff_sws_permute_000000000310_8_u8_0011_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 2, .dst = {1, 0, 0, 0, 0, 0}, .src = {0, 3, 0, 0, 0, 0} 
}, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x3 })
-ENTRY(ff_sws_permute_000000000310_16_u8_0011_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 2, .dst = {1, 0, 0, 0, 0, 0}, .src = {0, 3, 0, 0, 0, 0} 
}, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x3 })
-ENTRY(ff_sws_permute_000000000320_32_u8_0101_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 2, .dst = {2, 0, 0, 0, 0, 0}, .src = {0, 3, 0, 0, 0, 0} 
}, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x5 })
-ENTRY(ff_sws_permute_000000001031_32_u8_1010_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 2, .dst = {3, 1, 0, 0, 0, 0}, .src = {1, 0, 0, 0, 0, 0} 
}, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0xa })
-ENTRY(ff_sws_permute_000000001301_8_u8_0011_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 2, .dst = {0, 1, 0, 0, 0, 0}, .src = {1, 3, 0, 0, 0, 0} 
}, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x3 })
-ENTRY(ff_sws_permute_000000002032_8_u8_1100_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 2, .dst = {3, 2, 0, 0, 0, 0}, .src = {2, 0, 0, 0, 0, 0} 
}, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xc })
-ENTRY(ff_sws_permute_000000002032_32_u8_1100_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 2, .dst = {3, 2, 0, 0, 0, 0}, .src = {2, 0, 0, 0, 0, 0} 
}, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0xc })
-ENTRY(ff_sws_permute_000000002302_16_u8_0101_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 2, .dst = {0, 2, 0, 0, 0, 0}, .src = {2, 3, 0, 0, 0, 0} 
}, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x5 })
-ENTRY(ff_sws_permute_000000002302_32_u8_0101_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 2, .dst = {0, 2, 0, 0, 0, 0}, .src = {2, 3, 0, 0, 0, 0} 
}, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x5 })
-ENTRY(ff_sws_permute_000000102132_8_u8_1110_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 3, .dst = {3, 2, 1, 0, 0, 0}, .src = {2, 1, 0, 0, 0, 0} 
}, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xe })
-ENTRY(ff_sws_permute_000000102132_16_u8_1110_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 3, .dst = {3, 2, 1, 0, 0, 0}, .src = {2, 1, 0, 0, 0, 0} 
}, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0xe })
-ENTRY(ff_sws_permute_000000102132_32_u8_1110_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 3, .dst = {3, 2, 1, 0, 0, 0}, .src = {2, 1, 0, 0, 0, 0} 
}, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0xe })
-ENTRY(ff_sws_permute_000000132102_32_u8_0111_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 3, .dst = {0, 2, 1, 0, 0, 0}, .src = {2, 1, 3, 0, 0, 0} 
}, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x7 })
-ENTRY(ff_sws_permute_0000001f01f0_8_u8_0011_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 3, .dst = {-1, 0, 1, 0, 0, 0}, .src = {0, 1, -1, 0, 0, 
0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x3 })
-ENTRY(ff_sws_permute_0000001f01f0_16_u8_0011_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 3, .dst = {-1, 0, 1, 0, 0, 0}, .src = {0, 1, -1, 0, 0, 
0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x3 })
-ENTRY(ff_sws_permute_0000001f01f0_32_u8_0011_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 3, .dst = {-1, 0, 1, 0, 0, 0}, .src = {0, 1, -1, 0, 0, 
0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x3 })
-ENTRY(ff_sws_permute_000000201231_8_u8_1110_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 3, .dst = {3, 1, 2, 0, 0, 0}, .src = {1, 2, 0, 0, 0, 0} 
}, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xe })
-ENTRY(ff_sws_permute_000000201231_32_u8_1110_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 3, .dst = {3, 1, 2, 0, 0, 0}, .src = {1, 2, 0, 0, 0, 0} 
}, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0xe })
-ENTRY(ff_sws_permute_000000231201_8_u8_0111_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 3, .dst = {0, 1, 2, 0, 0, 0}, .src = {1, 2, 3, 0, 0, 0} 
}, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x7 })
-ENTRY(ff_sws_permute_000000231201_16_u8_0111_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 3, .dst = {0, 1, 2, 0, 0, 0}, .src = {1, 2, 3, 0, 0, 0} 
}, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x7 })
-ENTRY(ff_sws_permute_000000231201_32_u8_0111_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 3, .dst = {0, 1, 2, 0, 0, 0}, .src = {1, 2, 3, 0, 0, 0} 
}, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x7 })
-ENTRY(ff_sws_permute_0000002f02f0_8_u8_0101_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 3, .dst = {-1, 0, 2, 0, 0, 0}, .src = {0, 2, -1, 0, 0, 
0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x5 })
-ENTRY(ff_sws_permute_0000002f02f0_16_u8_0101_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 3, .dst = {-1, 0, 2, 0, 0, 0}, .src = {0, 2, -1, 0, 0, 
0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x5 })
-ENTRY(ff_sws_permute_0000002f02f0_32_u8_0101_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 3, .dst = {-1, 0, 2, 0, 0, 0}, .src = {0, 2, -1, 0, 0, 
0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x5 })
-ENTRY(ff_sws_permute_0000002f12f1_8_u8_0110_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 3, .dst = {-1, 1, 2, 0, 0, 0}, .src = {1, 2, -1, 0, 0, 
0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x6 })
-ENTRY(ff_sws_permute_0000002f12f1_16_u8_0110_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 3, .dst = {-1, 1, 2, 0, 0, 0}, .src = {1, 2, -1, 0, 0, 
0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x6 })
-ENTRY(ff_sws_permute_0000002f12f1_32_u8_0110_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 3, .dst = {-1, 1, 2, 0, 0, 0}, .src = {1, 2, -1, 0, 0, 
0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x6 })
-ENTRY(ff_sws_permute_0000003f13f1_8_u8_1010_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 3, .dst = {-1, 1, 3, 0, 0, 0}, .src = {1, 3, -1, 0, 0, 
0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xa })
-ENTRY(ff_sws_permute_0000003f13f1_16_u8_1010_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 3, .dst = {-1, 1, 3, 0, 0, 0}, .src = {1, 3, -1, 0, 0, 
0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0xa })
-ENTRY(ff_sws_permute_0000003f13f1_32_u8_1010_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 3, .dst = {-1, 1, 3, 0, 0, 0}, .src = {1, 3, -1, 0, 0, 
0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0xa })
-ENTRY(ff_sws_permute_00001f2102f0_8_u8_0111_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 4, .dst = {-1, 0, 2, 1, 0, 0}, .src = {0, 2, 1, -1, 0, 
0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x7 })
-ENTRY(ff_sws_permute_00001f2102f0_16_u8_0111_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 4, .dst = {-1, 0, 2, 1, 0, 0}, .src = {0, 2, 1, -1, 0, 
0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x7 })
-ENTRY(ff_sws_permute_00001f2102f0_32_u8_0111_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 4, .dst = {-1, 0, 2, 1, 0, 0}, .src = {0, 2, 1, -1, 0, 
0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x7 })
-ENTRY(ff_sws_permute_00002f1201f0_16_u8_0111_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 4, .dst = {-1, 0, 1, 2, 0, 0}, .src = {0, 1, 2, -1, 0, 
0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x7 })
-ENTRY(ff_sws_permute_00002f1201f0_32_u8_0111_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 4, .dst = {-1, 0, 1, 2, 0, 0}, .src = {0, 1, 2, -1, 0, 
0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x7 })
-ENTRY(ff_sws_permute_00002f12f103_8_u8_0111_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 4, .dst = {0, -1, 1, 2, 0, 0}, .src = {3, 1, 2, -1, 0, 
0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x7 })
-ENTRY(ff_sws_permute_00002f12f103_16_u8_0111_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 4, .dst = {0, -1, 1, 2, 0, 0}, .src = {3, 1, 2, -1, 0, 
0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x7 })
-ENTRY(ff_sws_permute_00002f12f103_32_u8_0111_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 4, .dst = {0, -1, 1, 2, 0, 0}, .src = {3, 1, 2, -1, 0, 
0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x7 })
-ENTRY(ff_sws_permute_00002f12f130_8_u8_1110_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 4, .dst = {3, -1, 1, 2, 0, 0}, .src = {0, 1, 2, -1, 0, 
0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xe })
-ENTRY(ff_sws_permute_00002f12f130_16_u8_1110_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 4, .dst = {3, -1, 1, 2, 0, 0}, .src = {0, 1, 2, -1, 0, 
0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0xe })
-ENTRY(ff_sws_permute_00002f12f130_32_u8_1110_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 4, .dst = {3, -1, 1, 2, 0, 0}, .src = {0, 1, 2, -1, 0, 
0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0xe })
-ENTRY(ff_sws_permute_00002f3203f0_8_u8_1101_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 4, .dst = {-1, 0, 3, 2, 0, 0}, .src = {0, 3, 2, -1, 0, 
0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xd })
-ENTRY(ff_sws_permute_00002f3203f0_16_u8_1101_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 4, .dst = {-1, 0, 3, 2, 0, 0}, .src = {0, 3, 2, -1, 0, 
0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0xd })
-ENTRY(ff_sws_permute_00003f2302f0_16_u8_1101_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 4, .dst = {-1, 0, 2, 3, 0, 0}, .src = {0, 2, 3, -1, 0, 
0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0xd })
-ENTRY(ff_sws_permute_00003f2312f1_8_u8_1110_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 4, .dst = {-1, 1, 2, 3, 0, 0}, .src = {1, 2, 3, -1, 0, 
0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xe })
-ENTRY(ff_sws_permute_00003f2312f1_16_u8_1110_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 4, .dst = {-1, 1, 2, 3, 0, 0}, .src = {1, 2, 3, -1, 0, 
0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0xe })
-ENTRY(ff_sws_permute_001f213203f0_8_u8_1111_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 5, .dst = {-1, 0, 3, 2, 1, 0}, .src = {0, 3, 2, 1, -1, 
0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xf })
-ENTRY(ff_sws_permute_001f213203f0_16_u8_1111_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 5, .dst = {-1, 0, 3, 2, 1, 0}, .src = {0, 3, 2, 1, -1, 
0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0xf })
-ENTRY(ff_sws_permute_001f213203f0_32_u8_1111_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 5, .dst = {-1, 0, 3, 2, 1, 0}, .src = {0, 3, 2, 1, -1, 
0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0xf })
-ENTRY(ff_sws_permute_002f123103f0_8_u8_1111_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 5, .dst = {-1, 0, 3, 1, 2, 0}, .src = {0, 3, 1, 2, -1, 
0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xf })
-ENTRY(ff_sws_permute_002f123103f0_32_u8_1111_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 5, .dst = {-1, 0, 3, 1, 2, 0}, .src = {0, 3, 1, 2, -1, 
0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0xf })
-ENTRY(ff_sws_permute_003f231201f0_16_u8_1111_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 5, .dst = {-1, 0, 1, 2, 3, 0}, .src = {0, 1, 2, 3, -1, 
0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0xf })
-ENTRY(ff_sws_permute_003f231201f0_32_u8_1111_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 5, .dst = {-1, 0, 1, 2, 3, 0}, .src = {0, 1, 2, 3, -1, 
0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0xf })
-ENTRY(ff_sws_permute_2f12f13f03f0_8_u8_1111_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 6, .dst = {-1, 0, 3, -1, 1, 2}, .src = {0, 3, -1, 1, 2, 
-1} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xf })
-ENTRY(ff_sws_permute_2f12f13f03f0_16_u8_1111_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 6, .dst = {-1, 0, 3, -1, 1, 2}, .src = {0, 3, -1, 1, 2, 
-1} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0xf })
-ENTRY(ff_sws_permute_2f12f13f03f0_32_u8_1111_neon, { .uop = SWS_UOP_PERMUTE, 
.move = { .num_moves = 6, .dst = {-1, 0, 3, -1, 1, 2}, .src = {0, 3, -1, 1, 2, 
-1} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0xf })
-ENTRY(ff_sws_copy_000000002010_8_u8_0110_neon, { .uop = SWS_UOP_COPY, .move = 
{ .num_moves = 2, .dst = {1, 2, 0, 0, 0, 0}, .src = {0, 0, 0, 0, 0, 0} }, 
.block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x6 })
-ENTRY(ff_sws_copy_000000002010_16_u8_0110_neon, { .uop = SWS_UOP_COPY, .move = 
{ .num_moves = 2, .dst = {1, 2, 0, 0, 0, 0}, .src = {0, 0, 0, 0, 0, 0} }, 
.block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x6 })
-ENTRY(ff_sws_copy_000000002010_32_u8_0110_neon, { .uop = SWS_UOP_COPY, .move = 
{ .num_moves = 2, .dst = {1, 2, 0, 0, 0, 0}, .src = {0, 0, 0, 0, 0, 0} }, 
.block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x6 })
-ENTRY(ff_sws_copy_000000103120_8_u8_1110_neon, { .uop = SWS_UOP_COPY, .move = 
{ .num_moves = 3, .dst = {2, 3, 1, 0, 0, 0}, .src = {0, 1, 0, 0, 0, 0} }, 
.block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xe })
-ENTRY(ff_sws_copy_000000103120_16_u8_1110_neon, { .uop = SWS_UOP_COPY, .move = 
{ .num_moves = 3, .dst = {2, 3, 1, 0, 0, 0}, .src = {0, 1, 0, 0, 0, 0} }, 
.block_size = 16, .type = SWS_PIXEL_U8, .mask = 0xe })
-ENTRY(ff_sws_copy_000000103120_32_u8_1110_neon, { .uop = SWS_UOP_COPY, .move = 
{ .num_moves = 3, .dst = {2, 3, 1, 0, 0, 0}, .src = {0, 1, 0, 0, 0, 0} }, 
.block_size = 32, .type = SWS_PIXEL_U8, .mask = 0xe })
-ENTRY(ff_sws_copy_000000302010_8_u8_1110_neon, { .uop = SWS_UOP_COPY, .move = 
{ .num_moves = 3, .dst = {1, 2, 3, 0, 0, 0}, .src = {0, 0, 0, 0, 0, 0} }, 
.block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xe })
-ENTRY(ff_sws_copy_000000302010_16_u8_1110_neon, { .uop = SWS_UOP_COPY, .move = 
{ .num_moves = 3, .dst = {1, 2, 3, 0, 0, 0}, .src = {0, 0, 0, 0, 0, 0} }, 
.block_size = 16, .type = SWS_PIXEL_U8, .mask = 0xe })
-ENTRY(ff_sws_copy_000000302010_32_u8_1110_neon, { .uop = SWS_UOP_COPY, .move = 
{ .num_moves = 3, .dst = {1, 2, 3, 0, 0, 0}, .src = {0, 0, 0, 0, 0, 0} }, 
.block_size = 32, .type = SWS_PIXEL_U8, .mask = 0xe })
-ENTRY(ff_sws_copy_001f01f03020_8_u8_1111_neon, { .uop = SWS_UOP_COPY, .move = 
{ .num_moves = 5, .dst = {2, 3, -1, 0, 1, 0}, .src = {0, 0, 0, 1, -1, 0} }, 
.block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xf })
-ENTRY(ff_sws_copy_001f01f03020_16_u8_1111_neon, { .uop = SWS_UOP_COPY, .move = 
{ .num_moves = 5, .dst = {2, 3, -1, 0, 1, 0}, .src = {0, 0, 0, 1, -1, 0} }, 
.block_size = 16, .type = SWS_PIXEL_U8, .mask = 0xf })
+ENTRY(ff_sws_permute_000000000001_32_u8_0001_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 1, .dst = {0, 0, 0, 0, 0, 0}, .src = {1, 0, 0, 0, 0, 
0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x1 })
+ENTRY(ff_sws_permute_000000000002_32_u8_0001_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 1, .dst = {0, 0, 0, 0, 0, 0}, .src = {2, 0, 0, 0, 0, 
0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x1 })
+ENTRY(ff_sws_permute_000000000003_8_u8_0001_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 1, .dst = {0, 0, 0, 0, 0, 0}, .src = {3, 0, 0, 0, 0, 
0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x1 })
+ENTRY(ff_sws_permute_000000000003_16_u8_0001_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 1, .dst = {0, 0, 0, 0, 0, 0}, .src = {3, 0, 0, 0, 0, 
0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x1 })
+ENTRY(ff_sws_permute_000000000003_32_u8_0001_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 1, .dst = {0, 0, 0, 0, 0, 0}, .src = {3, 0, 0, 0, 0, 
0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x1 })
+ENTRY(ff_sws_permute_000000000010_8_u8_0010_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 1, .dst = {1, 0, 0, 0, 0, 0}, .src = {0, 0, 0, 0, 0, 
0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x2 })
+ENTRY(ff_sws_permute_000000000010_16_u8_0010_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 1, .dst = {1, 0, 0, 0, 0, 0}, .src = {0, 0, 0, 0, 0, 
0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x2 })
+ENTRY(ff_sws_permute_000000000010_32_u8_0010_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 1, .dst = {1, 0, 0, 0, 0, 0}, .src = {0, 0, 0, 0, 0, 
0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x2 })
+ENTRY(ff_sws_permute_000000000013_8_u8_0010_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 1, .dst = {1, 0, 0, 0, 0, 0}, .src = {3, 0, 0, 0, 0, 
0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x2 })
+ENTRY(ff_sws_permute_000000000013_16_u8_0010_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 1, .dst = {1, 0, 0, 0, 0, 0}, .src = {3, 0, 0, 0, 0, 
0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x2 })
+ENTRY(ff_sws_permute_000000000013_32_u8_0010_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 1, .dst = {1, 0, 0, 0, 0, 0}, .src = {3, 0, 0, 0, 0, 
0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x2 })
+ENTRY(ff_sws_permute_000000000020_8_u8_0100_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 1, .dst = {2, 0, 0, 0, 0, 0}, .src = {0, 0, 0, 0, 0, 
0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x4 })
+ENTRY(ff_sws_permute_000000000020_32_u8_0100_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 1, .dst = {2, 0, 0, 0, 0, 0}, .src = {0, 0, 0, 0, 0, 
0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x4 })
+ENTRY(ff_sws_permute_000000000030_8_u8_1000_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 1, .dst = {3, 0, 0, 0, 0, 0}, .src = {0, 0, 0, 0, 0, 
0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x8 })
+ENTRY(ff_sws_permute_000000000030_16_u8_1000_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 1, .dst = {3, 0, 0, 0, 0, 0}, .src = {0, 0, 0, 0, 0, 
0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x8 })
+ENTRY(ff_sws_permute_000000000030_32_u8_1000_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 1, .dst = {3, 0, 0, 0, 0, 0}, .src = {0, 0, 0, 0, 0, 
0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x8 })
+ENTRY(ff_sws_permute_000000000031_32_u8_1000_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 1, .dst = {3, 0, 0, 0, 0, 0}, .src = {1, 0, 0, 0, 0, 
0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x8 })
+ENTRY(ff_sws_permute_000000000130_32_u8_1001_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 2, .dst = {3, 0, 0, 0, 0, 0}, .src = {0, 1, 0, 0, 0, 
0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x9 })
+ENTRY(ff_sws_permute_000000000310_8_u8_0011_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 2, .dst = {1, 0, 0, 0, 0, 0}, .src = {0, 3, 0, 0, 0, 
0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x3 })
+ENTRY(ff_sws_permute_000000000310_16_u8_0011_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 2, .dst = {1, 0, 0, 0, 0, 0}, .src = {0, 3, 0, 0, 0, 
0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x3 })
+ENTRY(ff_sws_permute_000000000320_32_u8_0101_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 2, .dst = {2, 0, 0, 0, 0, 0}, .src = {0, 3, 0, 0, 0, 
0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x5 })
+ENTRY(ff_sws_permute_000000001031_32_u8_1010_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 2, .dst = {3, 1, 0, 0, 0, 0}, .src = {1, 0, 0, 0, 0, 
0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0xa })
+ENTRY(ff_sws_permute_000000001301_8_u8_0011_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 2, .dst = {0, 1, 0, 0, 0, 0}, .src = {1, 3, 0, 0, 0, 
0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x3 })
+ENTRY(ff_sws_permute_000000002032_8_u8_1100_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 2, .dst = {3, 2, 0, 0, 0, 0}, .src = {2, 0, 0, 0, 0, 
0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xc })
+ENTRY(ff_sws_permute_000000002032_32_u8_1100_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 2, .dst = {3, 2, 0, 0, 0, 0}, .src = {2, 0, 0, 0, 0, 
0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0xc })
+ENTRY(ff_sws_permute_000000002302_16_u8_0101_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 2, .dst = {0, 2, 0, 0, 0, 0}, .src = {2, 3, 0, 0, 0, 
0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x5 })
+ENTRY(ff_sws_permute_000000002302_32_u8_0101_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 2, .dst = {0, 2, 0, 0, 0, 0}, .src = {2, 3, 0, 0, 0, 
0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x5 })
+ENTRY(ff_sws_permute_000000102132_8_u8_1110_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 3, .dst = {3, 2, 1, 0, 0, 0}, .src = {2, 1, 0, 0, 0, 
0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xe })
+ENTRY(ff_sws_permute_000000102132_16_u8_1110_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 3, .dst = {3, 2, 1, 0, 0, 0}, .src = {2, 1, 0, 0, 0, 
0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0xe })
+ENTRY(ff_sws_permute_000000102132_32_u8_1110_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 3, .dst = {3, 2, 1, 0, 0, 0}, .src = {2, 1, 0, 0, 0, 
0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0xe })
+ENTRY(ff_sws_permute_000000132102_32_u8_0111_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 3, .dst = {0, 2, 1, 0, 0, 0}, .src = {2, 1, 3, 0, 0, 
0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x7 })
+ENTRY(ff_sws_permute_0000001f01f0_8_u8_0011_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 3, .dst = {-1, 0, 1, 0, 0, 0}, .src = {0, 1, -1, 0, 
0, 0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x3 })
+ENTRY(ff_sws_permute_0000001f01f0_16_u8_0011_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 3, .dst = {-1, 0, 1, 0, 0, 0}, .src = {0, 1, -1, 0, 
0, 0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x3 })
+ENTRY(ff_sws_permute_0000001f01f0_32_u8_0011_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 3, .dst = {-1, 0, 1, 0, 0, 0}, .src = {0, 1, -1, 0, 
0, 0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x3 })
+ENTRY(ff_sws_permute_000000201231_8_u8_1110_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 3, .dst = {3, 1, 2, 0, 0, 0}, .src = {1, 2, 0, 0, 0, 
0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xe })
+ENTRY(ff_sws_permute_000000201231_32_u8_1110_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 3, .dst = {3, 1, 2, 0, 0, 0}, .src = {1, 2, 0, 0, 0, 
0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0xe })
+ENTRY(ff_sws_permute_000000231201_8_u8_0111_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 3, .dst = {0, 1, 2, 0, 0, 0}, .src = {1, 2, 3, 0, 0, 
0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x7 })
+ENTRY(ff_sws_permute_000000231201_16_u8_0111_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 3, .dst = {0, 1, 2, 0, 0, 0}, .src = {1, 2, 3, 0, 0, 
0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x7 })
+ENTRY(ff_sws_permute_000000231201_32_u8_0111_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 3, .dst = {0, 1, 2, 0, 0, 0}, .src = {1, 2, 3, 0, 0, 
0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x7 })
+ENTRY(ff_sws_permute_0000002f02f0_8_u8_0101_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 3, .dst = {-1, 0, 2, 0, 0, 0}, .src = {0, 2, -1, 0, 
0, 0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x5 })
+ENTRY(ff_sws_permute_0000002f02f0_16_u8_0101_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 3, .dst = {-1, 0, 2, 0, 0, 0}, .src = {0, 2, -1, 0, 
0, 0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x5 })
+ENTRY(ff_sws_permute_0000002f02f0_32_u8_0101_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 3, .dst = {-1, 0, 2, 0, 0, 0}, .src = {0, 2, -1, 0, 
0, 0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x5 })
+ENTRY(ff_sws_permute_0000002f12f1_8_u8_0110_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 3, .dst = {-1, 1, 2, 0, 0, 0}, .src = {1, 2, -1, 0, 
0, 0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x6 })
+ENTRY(ff_sws_permute_0000002f12f1_16_u8_0110_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 3, .dst = {-1, 1, 2, 0, 0, 0}, .src = {1, 2, -1, 0, 
0, 0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x6 })
+ENTRY(ff_sws_permute_0000002f12f1_32_u8_0110_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 3, .dst = {-1, 1, 2, 0, 0, 0}, .src = {1, 2, -1, 0, 
0, 0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x6 })
+ENTRY(ff_sws_permute_0000003f13f1_8_u8_1010_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 3, .dst = {-1, 1, 3, 0, 0, 0}, .src = {1, 3, -1, 0, 
0, 0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xa })
+ENTRY(ff_sws_permute_0000003f13f1_16_u8_1010_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 3, .dst = {-1, 1, 3, 0, 0, 0}, .src = {1, 3, -1, 0, 
0, 0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0xa })
+ENTRY(ff_sws_permute_0000003f13f1_32_u8_1010_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 3, .dst = {-1, 1, 3, 0, 0, 0}, .src = {1, 3, -1, 0, 
0, 0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0xa })
+ENTRY(ff_sws_permute_00001f2102f0_8_u8_0111_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 4, .dst = {-1, 0, 2, 1, 0, 0}, .src = {0, 2, 1, -1, 
0, 0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x7 })
+ENTRY(ff_sws_permute_00001f2102f0_16_u8_0111_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 4, .dst = {-1, 0, 2, 1, 0, 0}, .src = {0, 2, 1, -1, 
0, 0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x7 })
+ENTRY(ff_sws_permute_00001f2102f0_32_u8_0111_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 4, .dst = {-1, 0, 2, 1, 0, 0}, .src = {0, 2, 1, -1, 
0, 0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x7 })
+ENTRY(ff_sws_permute_00002f1201f0_16_u8_0111_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 4, .dst = {-1, 0, 1, 2, 0, 0}, .src = {0, 1, 2, -1, 
0, 0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x7 })
+ENTRY(ff_sws_permute_00002f1201f0_32_u8_0111_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 4, .dst = {-1, 0, 1, 2, 0, 0}, .src = {0, 1, 2, -1, 
0, 0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x7 })
+ENTRY(ff_sws_permute_00002f12f103_8_u8_0111_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 4, .dst = {0, -1, 1, 2, 0, 0}, .src = {3, 1, 2, -1, 
0, 0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x7 })
+ENTRY(ff_sws_permute_00002f12f103_16_u8_0111_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 4, .dst = {0, -1, 1, 2, 0, 0}, .src = {3, 1, 2, -1, 
0, 0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x7 })
+ENTRY(ff_sws_permute_00002f12f103_32_u8_0111_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 4, .dst = {0, -1, 1, 2, 0, 0}, .src = {3, 1, 2, -1, 
0, 0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x7 })
+ENTRY(ff_sws_permute_00002f12f130_8_u8_1110_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 4, .dst = {3, -1, 1, 2, 0, 0}, .src = {0, 1, 2, -1, 
0, 0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xe })
+ENTRY(ff_sws_permute_00002f12f130_16_u8_1110_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 4, .dst = {3, -1, 1, 2, 0, 0}, .src = {0, 1, 2, -1, 
0, 0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0xe })
+ENTRY(ff_sws_permute_00002f12f130_32_u8_1110_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 4, .dst = {3, -1, 1, 2, 0, 0}, .src = {0, 1, 2, -1, 
0, 0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0xe })
+ENTRY(ff_sws_permute_00002f3203f0_8_u8_1101_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 4, .dst = {-1, 0, 3, 2, 0, 0}, .src = {0, 3, 2, -1, 
0, 0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xd })
+ENTRY(ff_sws_permute_00002f3203f0_16_u8_1101_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 4, .dst = {-1, 0, 3, 2, 0, 0}, .src = {0, 3, 2, -1, 
0, 0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0xd })
+ENTRY(ff_sws_permute_00003f2302f0_16_u8_1101_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 4, .dst = {-1, 0, 2, 3, 0, 0}, .src = {0, 2, 3, -1, 
0, 0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0xd })
+ENTRY(ff_sws_permute_00003f2312f1_8_u8_1110_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 4, .dst = {-1, 1, 2, 3, 0, 0}, .src = {1, 2, 3, -1, 
0, 0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xe })
+ENTRY(ff_sws_permute_00003f2312f1_16_u8_1110_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 4, .dst = {-1, 1, 2, 3, 0, 0}, .src = {1, 2, 3, -1, 
0, 0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0xe })
+ENTRY(ff_sws_permute_001f213203f0_8_u8_1111_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 5, .dst = {-1, 0, 3, 2, 1, 0}, .src = {0, 3, 2, 1, 
-1, 0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xf })
+ENTRY(ff_sws_permute_001f213203f0_16_u8_1111_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 5, .dst = {-1, 0, 3, 2, 1, 0}, .src = {0, 3, 2, 1, 
-1, 0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0xf })
+ENTRY(ff_sws_permute_001f213203f0_32_u8_1111_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 5, .dst = {-1, 0, 3, 2, 1, 0}, .src = {0, 3, 2, 1, 
-1, 0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0xf })
+ENTRY(ff_sws_permute_002f123103f0_8_u8_1111_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 5, .dst = {-1, 0, 3, 1, 2, 0}, .src = {0, 3, 1, 2, 
-1, 0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xf })
+ENTRY(ff_sws_permute_002f123103f0_32_u8_1111_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 5, .dst = {-1, 0, 3, 1, 2, 0}, .src = {0, 3, 1, 2, 
-1, 0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0xf })
+ENTRY(ff_sws_permute_003f231201f0_16_u8_1111_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 5, .dst = {-1, 0, 1, 2, 3, 0}, .src = {0, 1, 2, 3, 
-1, 0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0xf })
+ENTRY(ff_sws_permute_003f231201f0_32_u8_1111_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 5, .dst = {-1, 0, 1, 2, 3, 0}, .src = {0, 1, 2, 3, 
-1, 0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0xf })
+ENTRY(ff_sws_permute_2f12f13f03f0_8_u8_1111_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 6, .dst = {-1, 0, 3, -1, 1, 2}, .src = {0, 3, -1, 1, 
2, -1} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xf })
+ENTRY(ff_sws_permute_2f12f13f03f0_16_u8_1111_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 6, .dst = {-1, 0, 3, -1, 1, 2}, .src = {0, 3, -1, 1, 
2, -1} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0xf })
+ENTRY(ff_sws_permute_2f12f13f03f0_32_u8_1111_neon, { .uop = SWS_UOP_PERMUTE, 
.par.move = { .num_moves = 6, .dst = {-1, 0, 3, -1, 1, 2}, .src = {0, 3, -1, 1, 
2, -1} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0xf })
+ENTRY(ff_sws_copy_000000002010_8_u8_0110_neon, { .uop = SWS_UOP_COPY, 
.par.move = { .num_moves = 2, .dst = {1, 2, 0, 0, 0, 0}, .src = {0, 0, 0, 0, 0, 
0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x6 })
+ENTRY(ff_sws_copy_000000002010_16_u8_0110_neon, { .uop = SWS_UOP_COPY, 
.par.move = { .num_moves = 2, .dst = {1, 2, 0, 0, 0, 0}, .src = {0, 0, 0, 0, 0, 
0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x6 })
+ENTRY(ff_sws_copy_000000002010_32_u8_0110_neon, { .uop = SWS_UOP_COPY, 
.par.move = { .num_moves = 2, .dst = {1, 2, 0, 0, 0, 0}, .src = {0, 0, 0, 0, 0, 
0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0x6 })
+ENTRY(ff_sws_copy_000000103120_8_u8_1110_neon, { .uop = SWS_UOP_COPY, 
.par.move = { .num_moves = 3, .dst = {2, 3, 1, 0, 0, 0}, .src = {0, 1, 0, 0, 0, 
0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xe })
+ENTRY(ff_sws_copy_000000103120_16_u8_1110_neon, { .uop = SWS_UOP_COPY, 
.par.move = { .num_moves = 3, .dst = {2, 3, 1, 0, 0, 0}, .src = {0, 1, 0, 0, 0, 
0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0xe })
+ENTRY(ff_sws_copy_000000103120_32_u8_1110_neon, { .uop = SWS_UOP_COPY, 
.par.move = { .num_moves = 3, .dst = {2, 3, 1, 0, 0, 0}, .src = {0, 1, 0, 0, 0, 
0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0xe })
+ENTRY(ff_sws_copy_000000302010_8_u8_1110_neon, { .uop = SWS_UOP_COPY, 
.par.move = { .num_moves = 3, .dst = {1, 2, 3, 0, 0, 0}, .src = {0, 0, 0, 0, 0, 
0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xe })
+ENTRY(ff_sws_copy_000000302010_16_u8_1110_neon, { .uop = SWS_UOP_COPY, 
.par.move = { .num_moves = 3, .dst = {1, 2, 3, 0, 0, 0}, .src = {0, 0, 0, 0, 0, 
0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0xe })
+ENTRY(ff_sws_copy_000000302010_32_u8_1110_neon, { .uop = SWS_UOP_COPY, 
.par.move = { .num_moves = 3, .dst = {1, 2, 3, 0, 0, 0}, .src = {0, 0, 0, 0, 0, 
0} }, .block_size = 32, .type = SWS_PIXEL_U8, .mask = 0xe })
+ENTRY(ff_sws_copy_001f01f03020_8_u8_1111_neon, { .uop = SWS_UOP_COPY, 
.par.move = { .num_moves = 5, .dst = {2, 3, -1, 0, 1, 0}, .src = {0, 0, 0, 1, 
-1, 0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xf })
+ENTRY(ff_sws_copy_001f01f03020_16_u8_1111_neon, { .uop = SWS_UOP_COPY, 
.par.move = { .num_moves = 5, .dst = {2, 3, -1, 0, 1, 0}, .src = {0, 0, 0, 1, 
-1, 0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0xf })
 ENTRY(ff_sws_swap_bytes_8_u16_0001_neon, { .uop = SWS_UOP_SWAP_BYTES, 
.block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x1 })
 ENTRY(ff_sws_swap_bytes_8_u16_0010_neon, { .uop = SWS_UOP_SWAP_BYTES, 
.block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x2 })
 ENTRY(ff_sws_swap_bytes_8_u16_0011_neon, { .uop = SWS_UOP_SWAP_BYTES, 
.block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x3 })
@@ -253,162 +253,162 @@ ENTRY(ff_sws_max_8_f32_0011_neon, { .uop = SWS_UOP_MAX, 
.block_size = 8, .type =
 ENTRY(ff_sws_max_8_f32_0111_neon, { .uop = SWS_UOP_MAX, .block_size = 8, .type 
= SWS_PIXEL_F32, .mask = 0x7 })
 ENTRY(ff_sws_max_8_f32_1001_neon, { .uop = SWS_UOP_MAX, .block_size = 8, .type 
= SWS_PIXEL_F32, .mask = 0x9 })
 ENTRY(ff_sws_max_8_f32_1111_neon, { .uop = SWS_UOP_MAX, .block_size = 8, .type 
= SWS_PIXEL_F32, .mask = 0xf })
-ENTRY(ff_sws_unpack_0121_8_u8_0111_neon, { .uop = SWS_UOP_UNPACK, .pack = { 
.pattern = {1, 2, 1, 0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x7 })
-ENTRY(ff_sws_unpack_0121_16_u8_0111_neon, { .uop = SWS_UOP_UNPACK, .pack = { 
.pattern = {1, 2, 1, 0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x7 
})
-ENTRY(ff_sws_unpack_0233_8_u8_0111_neon, { .uop = SWS_UOP_UNPACK, .pack = { 
.pattern = {3, 3, 2, 0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x7 })
-ENTRY(ff_sws_unpack_0233_16_u8_0111_neon, { .uop = SWS_UOP_UNPACK, .pack = { 
.pattern = {3, 3, 2, 0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x7 
})
-ENTRY(ff_sws_unpack_0332_8_u8_0111_neon, { .uop = SWS_UOP_UNPACK, .pack = { 
.pattern = {2, 3, 3, 0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x7 })
-ENTRY(ff_sws_unpack_0332_16_u8_0111_neon, { .uop = SWS_UOP_UNPACK, .pack = { 
.pattern = {2, 3, 3, 0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x7 
})
-ENTRY(ff_sws_unpack_0444_8_u16_0111_neon, { .uop = SWS_UOP_UNPACK, .pack = { 
.pattern = {4, 4, 4, 0} }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x7 
})
-ENTRY(ff_sws_unpack_0444_16_u16_0111_neon, { .uop = SWS_UOP_UNPACK, .pack = { 
.pattern = {4, 4, 4, 0} }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7 
})
-ENTRY(ff_sws_unpack_0555_8_u16_0111_neon, { .uop = SWS_UOP_UNPACK, .pack = { 
.pattern = {5, 5, 5, 0} }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x7 
})
-ENTRY(ff_sws_unpack_0555_16_u16_0111_neon, { .uop = SWS_UOP_UNPACK, .pack = { 
.pattern = {5, 5, 5, 0} }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7 
})
-ENTRY(ff_sws_unpack_0565_8_u16_0111_neon, { .uop = SWS_UOP_UNPACK, .pack = { 
.pattern = {5, 6, 5, 0} }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x7 
})
-ENTRY(ff_sws_unpack_0565_16_u16_0111_neon, { .uop = SWS_UOP_UNPACK, .pack = { 
.pattern = {5, 6, 5, 0} }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7 
})
-ENTRY(ff_sws_unpack_2aaa_8_u32_0010_neon, { .uop = SWS_UOP_UNPACK, .pack = { 
.pattern = {10, 10, 10, 2} }, .block_size = 8, .type = SWS_PIXEL_U32, .mask = 
0x2 })
-ENTRY(ff_sws_unpack_2aaa_8_u32_0111_neon, { .uop = SWS_UOP_UNPACK, .pack = { 
.pattern = {10, 10, 10, 2} }, .block_size = 8, .type = SWS_PIXEL_U32, .mask = 
0x7 })
-ENTRY(ff_sws_unpack_aaa2_8_u32_0100_neon, { .uop = SWS_UOP_UNPACK, .pack = { 
.pattern = {2, 10, 10, 10} }, .block_size = 8, .type = SWS_PIXEL_U32, .mask = 
0x4 })
-ENTRY(ff_sws_unpack_aaa2_8_u32_1110_neon, { .uop = SWS_UOP_UNPACK, .pack = { 
.pattern = {2, 10, 10, 10} }, .block_size = 8, .type = SWS_PIXEL_U32, .mask = 
0xe })
-ENTRY(ff_sws_pack_0121_8_u8_0111_neon, { .uop = SWS_UOP_PACK, .pack = { 
.pattern = {1, 2, 1, 0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x7 })
-ENTRY(ff_sws_pack_0121_16_u8_0111_neon, { .uop = SWS_UOP_PACK, .pack = { 
.pattern = {1, 2, 1, 0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x7 
})
-ENTRY(ff_sws_pack_0233_8_u8_0111_neon, { .uop = SWS_UOP_PACK, .pack = { 
.pattern = {3, 3, 2, 0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x7 })
-ENTRY(ff_sws_pack_0233_16_u8_0111_neon, { .uop = SWS_UOP_PACK, .pack = { 
.pattern = {3, 3, 2, 0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x7 
})
-ENTRY(ff_sws_pack_0332_8_u8_0111_neon, { .uop = SWS_UOP_PACK, .pack = { 
.pattern = {2, 3, 3, 0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x7 })
-ENTRY(ff_sws_pack_0332_16_u8_0111_neon, { .uop = SWS_UOP_PACK, .pack = { 
.pattern = {2, 3, 3, 0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x7 
})
-ENTRY(ff_sws_pack_0444_8_u16_0111_neon, { .uop = SWS_UOP_PACK, .pack = { 
.pattern = {4, 4, 4, 0} }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x7 
})
-ENTRY(ff_sws_pack_0444_16_u16_0111_neon, { .uop = SWS_UOP_PACK, .pack = { 
.pattern = {4, 4, 4, 0} }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7 
})
-ENTRY(ff_sws_pack_0555_8_u16_0111_neon, { .uop = SWS_UOP_PACK, .pack = { 
.pattern = {5, 5, 5, 0} }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x7 
})
-ENTRY(ff_sws_pack_0555_16_u16_0111_neon, { .uop = SWS_UOP_PACK, .pack = { 
.pattern = {5, 5, 5, 0} }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7 
})
-ENTRY(ff_sws_pack_0565_8_u16_0111_neon, { .uop = SWS_UOP_PACK, .pack = { 
.pattern = {5, 6, 5, 0} }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x7 
})
-ENTRY(ff_sws_pack_0565_16_u16_0111_neon, { .uop = SWS_UOP_PACK, .pack = { 
.pattern = {5, 6, 5, 0} }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7 
})
-ENTRY(ff_sws_pack_2aaa_8_u32_1111_neon, { .uop = SWS_UOP_PACK, .pack = { 
.pattern = {10, 10, 10, 2} }, .block_size = 8, .type = SWS_PIXEL_U32, .mask = 
0xf })
-ENTRY(ff_sws_pack_aaa2_8_u32_1111_neon, { .uop = SWS_UOP_PACK, .pack = { 
.pattern = {2, 10, 10, 10} }, .block_size = 8, .type = SWS_PIXEL_U32, .mask = 
0xf })
-ENTRY(ff_sws_lshift_1_8_u16_0111_neon, { .uop = SWS_UOP_LSHIFT, .shift = { 
.amount = 1 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x7 })
-ENTRY(ff_sws_lshift_1_16_u16_0111_neon, { .uop = SWS_UOP_LSHIFT, .shift = { 
.amount = 1 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7 })
-ENTRY(ff_sws_lshift_1_16_u16_1110_neon, { .uop = SWS_UOP_LSHIFT, .shift = { 
.amount = 1 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0xe })
-ENTRY(ff_sws_lshift_2_8_u16_0111_neon, { .uop = SWS_UOP_LSHIFT, .shift = { 
.amount = 2 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x7 })
-ENTRY(ff_sws_lshift_2_8_u16_1110_neon, { .uop = SWS_UOP_LSHIFT, .shift = { 
.amount = 2 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0xe })
-ENTRY(ff_sws_lshift_2_8_u32_0111_neon, { .uop = SWS_UOP_LSHIFT, .shift = { 
.amount = 2 }, .block_size = 8, .type = SWS_PIXEL_U32, .mask = 0x7 })
-ENTRY(ff_sws_lshift_2_16_u16_0111_neon, { .uop = SWS_UOP_LSHIFT, .shift = { 
.amount = 2 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7 })
-ENTRY(ff_sws_lshift_2_16_u16_1110_neon, { .uop = SWS_UOP_LSHIFT, .shift = { 
.amount = 2 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0xe })
-ENTRY(ff_sws_lshift_3_16_u16_0111_neon, { .uop = SWS_UOP_LSHIFT, .shift = { 
.amount = 3 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7 })
-ENTRY(ff_sws_lshift_4_8_u16_0001_neon, { .uop = SWS_UOP_LSHIFT, .shift = { 
.amount = 4 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x1 })
-ENTRY(ff_sws_lshift_4_8_u16_0111_neon, { .uop = SWS_UOP_LSHIFT, .shift = { 
.amount = 4 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x7 })
-ENTRY(ff_sws_lshift_4_8_u16_1110_neon, { .uop = SWS_UOP_LSHIFT, .shift = { 
.amount = 4 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0xe })
-ENTRY(ff_sws_lshift_4_16_u16_0001_neon, { .uop = SWS_UOP_LSHIFT, .shift = { 
.amount = 4 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x1 })
-ENTRY(ff_sws_lshift_4_16_u16_0111_neon, { .uop = SWS_UOP_LSHIFT, .shift = { 
.amount = 4 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7 })
-ENTRY(ff_sws_lshift_4_16_u16_1110_neon, { .uop = SWS_UOP_LSHIFT, .shift = { 
.amount = 4 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0xe })
-ENTRY(ff_sws_lshift_5_16_u16_0111_neon, { .uop = SWS_UOP_LSHIFT, .shift = { 
.amount = 5 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7 })
-ENTRY(ff_sws_lshift_6_8_u16_0001_neon, { .uop = SWS_UOP_LSHIFT, .shift = { 
.amount = 6 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x1 })
-ENTRY(ff_sws_lshift_6_8_u16_0111_neon, { .uop = SWS_UOP_LSHIFT, .shift = { 
.amount = 6 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x7 })
-ENTRY(ff_sws_lshift_6_8_u16_1110_neon, { .uop = SWS_UOP_LSHIFT, .shift = { 
.amount = 6 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0xe })
-ENTRY(ff_sws_lshift_6_16_u16_0001_neon, { .uop = SWS_UOP_LSHIFT, .shift = { 
.amount = 6 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x1 })
-ENTRY(ff_sws_lshift_6_16_u16_0111_neon, { .uop = SWS_UOP_LSHIFT, .shift = { 
.amount = 6 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7 })
-ENTRY(ff_sws_lshift_6_16_u16_1110_neon, { .uop = SWS_UOP_LSHIFT, .shift = { 
.amount = 6 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0xe })
-ENTRY(ff_sws_lshift_7_16_u16_0111_neon, { .uop = SWS_UOP_LSHIFT, .shift = { 
.amount = 7 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7 })
-ENTRY(ff_sws_lshift_8_16_u16_0111_neon, { .uop = SWS_UOP_LSHIFT, .shift = { 
.amount = 8 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7 })
-ENTRY(ff_sws_lshift_8_16_u16_1110_neon, { .uop = SWS_UOP_LSHIFT, .shift = { 
.amount = 8 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0xe })
-ENTRY(ff_sws_rshift_4_8_u16_0001_neon, { .uop = SWS_UOP_RSHIFT, .shift = { 
.amount = 4 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x1 })
-ENTRY(ff_sws_rshift_4_8_u16_0010_neon, { .uop = SWS_UOP_RSHIFT, .shift = { 
.amount = 4 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x2 })
-ENTRY(ff_sws_rshift_4_8_u16_0111_neon, { .uop = SWS_UOP_RSHIFT, .shift = { 
.amount = 4 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x7 })
-ENTRY(ff_sws_rshift_4_16_u16_0111_neon, { .uop = SWS_UOP_RSHIFT, .shift = { 
.amount = 4 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7 })
-ENTRY(ff_sws_rshift_6_8_u16_0001_neon, { .uop = SWS_UOP_RSHIFT, .shift = { 
.amount = 6 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x1 })
-ENTRY(ff_sws_rshift_6_8_u16_0111_neon, { .uop = SWS_UOP_RSHIFT, .shift = { 
.amount = 6 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x7 })
-ENTRY(ff_sws_rshift_6_16_u16_0111_neon, { .uop = SWS_UOP_RSHIFT, .shift = { 
.amount = 6 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7 })
-ENTRY(ff_sws_clear_0fff_8_u8_1000_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x0, .zero = 0x8 }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x8 })
-ENTRY(ff_sws_clear_0fff_8_u8_1011_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x0, .zero = 0x8 }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xb })
-ENTRY(ff_sws_clear_0fff_8_u16_1000_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x0, .zero = 0x8 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x8 
})
-ENTRY(ff_sws_clear_0fff_8_u16_1101_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x0, .zero = 0x8 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0xd 
})
-ENTRY(ff_sws_clear_0fff_16_u8_1000_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x0, .zero = 0x8 }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x8 
})
-ENTRY(ff_sws_clear_0fff_16_u16_1000_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x0, .zero = 0x8 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x8 
})
-ENTRY(ff_sws_clear_1fff_8_u8_1000_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x8, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x8 })
-ENTRY(ff_sws_clear_1fff_8_u8_1011_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x8, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xb })
-ENTRY(ff_sws_clear_1fff_8_u8_1101_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x8, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xd })
-ENTRY(ff_sws_clear_1fff_8_u16_1000_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x8, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x8 
})
-ENTRY(ff_sws_clear_1fff_16_u8_1000_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x8, .zero = 0x0 }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x8 
})
-ENTRY(ff_sws_clear_1fff_16_u16_1000_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x8, .zero = 0x0 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x8 
})
-ENTRY(ff_sws_clear_ff1f_8_u8_0010_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x2, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x2 })
-ENTRY(ff_sws_clear_ff1f_8_u16_0010_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x2, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x2 
})
-ENTRY(ff_sws_clear_ff1f_16_u8_0010_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x2, .zero = 0x0 }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x2 
})
-ENTRY(ff_sws_clear_ff1f_16_u16_0010_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x2, .zero = 0x0 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x2 
})
-ENTRY(ff_sws_clear_fff0_8_u8_0001_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x0, .zero = 0x1 }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x1 })
-ENTRY(ff_sws_clear_fff0_16_u8_0001_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x0, .zero = 0x1 }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x1 
})
-ENTRY(ff_sws_clear_fff1_8_u8_0001_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x1, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x1 })
-ENTRY(ff_sws_clear_fff1_8_u8_1101_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x1, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xd })
-ENTRY(ff_sws_clear_fff1_8_u16_0001_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x1, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x1 
})
-ENTRY(ff_sws_clear_fff1_8_u16_1101_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x1, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0xd 
})
-ENTRY(ff_sws_clear_fff1_16_u8_0001_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x1, .zero = 0x0 }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x1 
})
-ENTRY(ff_sws_clear_fff1_16_u8_0111_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x1, .zero = 0x0 }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x7 
})
-ENTRY(ff_sws_clear_fff1_16_u16_0001_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x1, .zero = 0x0 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x1 
})
-ENTRY(ff_sws_clear_fff1_16_u16_0111_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x1, .zero = 0x0 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7 
})
-ENTRY(ff_sws_clear_ffff_8_u8_0011_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x0, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x3 })
-ENTRY(ff_sws_clear_ffff_8_u8_0101_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x0, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x5 })
-ENTRY(ff_sws_clear_ffff_8_u8_1100_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x0, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xc })
-ENTRY(ff_sws_clear_ffff_8_u16_1100_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x0, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0xc 
})
-ENTRY(ff_sws_clear_ffff_8_u32_0001_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x0, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U32, .mask = 0x1 
})
-ENTRY(ff_sws_clear_ffff_8_u32_0010_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x0, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U32, .mask = 0x2 
})
-ENTRY(ff_sws_clear_ffff_8_u32_0101_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x0, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U32, .mask = 0x5 
})
-ENTRY(ff_sws_clear_ffff_8_u32_1000_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x0, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U32, .mask = 0x8 
})
-ENTRY(ff_sws_clear_ffff_8_u32_1010_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x0, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U32, .mask = 0xa 
})
-ENTRY(ff_sws_clear_ffff_8_u32_1011_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x0, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U32, .mask = 0xb 
})
-ENTRY(ff_sws_clear_ffff_8_u32_1101_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x0, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U32, .mask = 0xd 
})
-ENTRY(ff_sws_clear_ffff_16_u8_0011_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x0, .zero = 0x0 }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x3 
})
-ENTRY(ff_sws_clear_ffff_16_u8_0110_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x0, .zero = 0x0 }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x6 
})
-ENTRY(ff_sws_clear_ffff_16_u16_0001_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x0, .zero = 0x0 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x1 
})
-ENTRY(ff_sws_clear_ffff_16_u16_0011_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x0, .zero = 0x0 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x3 
})
-ENTRY(ff_sws_clear_ffff_16_u16_0111_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x0, .zero = 0x0 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7 
})
-ENTRY(ff_sws_clear_ffff_16_u16_1000_neon, { .uop = SWS_UOP_CLEAR, .clear = { 
.one = 0x0, .zero = 0x0 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x8 
})
-ENTRY(ff_sws_linear_000000000f_8_f32_0001_neon, { .uop = SWS_UOP_LINEAR, 
.linear = { .one = 0x0, .zero = 0xfffee }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x1 })
-ENTRY(ff_sws_linear_00000000fc_8_f32_0001_neon, { .uop = SWS_UOP_LINEAR, 
.linear = { .one = 0x0, .zero = 0xffff8 }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x1 })
-ENTRY(ff_sws_linear_00000000ff_8_f32_0001_neon, { .uop = SWS_UOP_LINEAR, 
.linear = { .one = 0x0, .zero = 0xfffe8 }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x1 })
-ENTRY(ff_sws_linear_000000c000_8_f32_0010_neon, { .uop = SWS_UOP_LINEAR, 
.linear = { .one = 0x0, .zero = 0xfffbf }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x2 })
-ENTRY(ff_sws_linear_000373dcc7_8_f32_0111_neon, { .uop = SWS_UOP_LINEAR, 
.linear = { .one = 0x421, .zero = 0xfb10a }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x7 })
-ENTRY(ff_sws_linear_0003f3fccf_8_f32_0111_neon, { .uop = SWS_UOP_LINEAR, 
.linear = { .one = 0x0, .zero = 0xfb10a }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x7 })
-ENTRY(ff_sws_linear_000c00c00c_8_f32_0111_neon, { .uop = SWS_UOP_LINEAR, 
.linear = { .one = 0x0, .zero = 0xfefbe }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x7 })
-ENTRY(ff_sws_linear_000c30cc0f_8_f32_0111_neon, { .uop = SWS_UOP_LINEAR, 
.linear = { .one = 0x0, .zero = 0xfadae }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x7 })
-ENTRY(ff_sws_linear_000ff3fcfc_8_f32_0111_neon, { .uop = SWS_UOP_LINEAR, 
.linear = { .one = 0x0, .zero = 0xfa118 }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x7 })
-ENTRY(ff_sws_linear_000ff3fcff_8_f32_0111_neon, { .uop = SWS_UOP_LINEAR, 
.linear = { .one = 0x0, .zero = 0xfa108 }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x7 })
-ENTRY(ff_sws_linear_c000000000_8_f32_1000_neon, { .uop = SWS_UOP_LINEAR, 
.linear = { .one = 0x0, .zero = 0xbffff }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x8 })
-ENTRY(ff_sws_linear_c00000000f_8_f32_1001_neon, { .uop = SWS_UOP_LINEAR, 
.linear = { .one = 0x0, .zero = 0xbffee }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x9 })
-ENTRY(ff_sws_linear_c0000000fc_8_f32_1001_neon, { .uop = SWS_UOP_LINEAR, 
.linear = { .one = 0x0, .zero = 0xbfff8 }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x9 })
-ENTRY(ff_sws_linear_c003f3fccf_8_f32_1111_neon, { .uop = SWS_UOP_LINEAR, 
.linear = { .one = 0x0, .zero = 0xbb10a }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0xf })
-ENTRY(ff_sws_linear_c00c00c00c_8_f32_1111_neon, { .uop = SWS_UOP_LINEAR, 
.linear = { .one = 0x0, .zero = 0xbefbe }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0xf })
-ENTRY(ff_sws_linear_c00ff3fcff_8_f32_1111_neon, { .uop = SWS_UOP_LINEAR, 
.linear = { .one = 0x0, .zero = 0xba108 }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0xf })
-ENTRY(ff_sws_linear_fma_000000000f_8_f32_0001_neon, { .uop = 
SWS_UOP_LINEAR_FMA, .linear = { .one = 0x0, .zero = 0xfffee }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0x1 })
-ENTRY(ff_sws_linear_fma_00000000fc_8_f32_0001_neon, { .uop = 
SWS_UOP_LINEAR_FMA, .linear = { .one = 0x0, .zero = 0xffff8 }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0x1 })
-ENTRY(ff_sws_linear_fma_00000000ff_8_f32_0001_neon, { .uop = 
SWS_UOP_LINEAR_FMA, .linear = { .one = 0x0, .zero = 0xfffe8 }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0x1 })
-ENTRY(ff_sws_linear_fma_000000c000_8_f32_0010_neon, { .uop = 
SWS_UOP_LINEAR_FMA, .linear = { .one = 0x0, .zero = 0xfffbf }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0x2 })
-ENTRY(ff_sws_linear_fma_000373dcc7_8_f32_0111_neon, { .uop = 
SWS_UOP_LINEAR_FMA, .linear = { .one = 0x421, .zero = 0xfb10a }, .block_size = 
8, .type = SWS_PIXEL_F32, .mask = 0x7 })
-ENTRY(ff_sws_linear_fma_0003f3fccf_8_f32_0111_neon, { .uop = 
SWS_UOP_LINEAR_FMA, .linear = { .one = 0x0, .zero = 0xfb10a }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0x7 })
-ENTRY(ff_sws_linear_fma_000c00c00c_8_f32_0111_neon, { .uop = 
SWS_UOP_LINEAR_FMA, .linear = { .one = 0x0, .zero = 0xfefbe }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0x7 })
-ENTRY(ff_sws_linear_fma_000c30cc0f_8_f32_0111_neon, { .uop = 
SWS_UOP_LINEAR_FMA, .linear = { .one = 0x0, .zero = 0xfadae }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0x7 })
-ENTRY(ff_sws_linear_fma_000ff3fcfc_8_f32_0111_neon, { .uop = 
SWS_UOP_LINEAR_FMA, .linear = { .one = 0x0, .zero = 0xfa118 }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0x7 })
-ENTRY(ff_sws_linear_fma_000ff3fcff_8_f32_0111_neon, { .uop = 
SWS_UOP_LINEAR_FMA, .linear = { .one = 0x0, .zero = 0xfa108 }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0x7 })
-ENTRY(ff_sws_linear_fma_c000000000_8_f32_1000_neon, { .uop = 
SWS_UOP_LINEAR_FMA, .linear = { .one = 0x0, .zero = 0xbffff }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0x8 })
-ENTRY(ff_sws_linear_fma_c00000000f_8_f32_1001_neon, { .uop = 
SWS_UOP_LINEAR_FMA, .linear = { .one = 0x0, .zero = 0xbffee }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0x9 })
-ENTRY(ff_sws_linear_fma_c0000000fc_8_f32_1001_neon, { .uop = 
SWS_UOP_LINEAR_FMA, .linear = { .one = 0x0, .zero = 0xbfff8 }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0x9 })
-ENTRY(ff_sws_linear_fma_c003f3fccf_8_f32_1111_neon, { .uop = 
SWS_UOP_LINEAR_FMA, .linear = { .one = 0x0, .zero = 0xbb10a }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0xf })
-ENTRY(ff_sws_linear_fma_c00c00c00c_8_f32_1111_neon, { .uop = 
SWS_UOP_LINEAR_FMA, .linear = { .one = 0x0, .zero = 0xbefbe }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0xf })
-ENTRY(ff_sws_linear_fma_c00ff3fcff_8_f32_1111_neon, { .uop = 
SWS_UOP_LINEAR_FMA, .linear = { .one = 0x0, .zero = 0xba108 }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0xf })
-ENTRY(ff_sws_dither_0325_4_8_f32_1111_neon, { .uop = SWS_UOP_DITHER, .dither = 
{ .y_offset = {5, 2, 3, 0}, .size_log2 = 4 }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0xf })
-ENTRY(ff_sws_dither_032f_4_8_f32_1110_neon, { .uop = SWS_UOP_DITHER, .dither = 
{ .y_offset = {0, 2, 3, 0}, .size_log2 = 4 }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0xe })
-ENTRY(ff_sws_dither_2305_4_8_f32_1111_neon, { .uop = SWS_UOP_DITHER, .dither = 
{ .y_offset = {5, 0, 3, 2}, .size_log2 = 4 }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0xf })
-ENTRY(ff_sws_dither_230f_4_8_f32_1110_neon, { .uop = SWS_UOP_DITHER, .dither = 
{ .y_offset = {0, 0, 3, 2}, .size_log2 = 4 }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0xe })
-ENTRY(ff_sws_dither_3000_4_8_f32_1111_neon, { .uop = SWS_UOP_DITHER, .dither = 
{ .y_offset = {0, 0, 0, 3}, .size_log2 = 4 }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0xf })
-ENTRY(ff_sws_dither_302f_4_8_f32_1110_neon, { .uop = SWS_UOP_DITHER, .dither = 
{ .y_offset = {0, 2, 0, 3}, .size_log2 = 4 }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0xe })
-ENTRY(ff_sws_dither_3ff0_4_8_f32_1001_neon, { .uop = SWS_UOP_DITHER, .dither = 
{ .y_offset = {0, 0, 0, 3}, .size_log2 = 4 }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x9 })
-ENTRY(ff_sws_dither_5023_4_8_f32_1111_neon, { .uop = SWS_UOP_DITHER, .dither = 
{ .y_offset = {3, 2, 0, 5}, .size_log2 = 4 }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0xf })
-ENTRY(ff_sws_dither_5032_4_8_f32_1111_neon, { .uop = SWS_UOP_DITHER, .dither = 
{ .y_offset = {2, 3, 0, 5}, .size_log2 = 4 }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0xf })
-ENTRY(ff_sws_dither_5230_4_8_f32_1111_neon, { .uop = SWS_UOP_DITHER, .dither = 
{ .y_offset = {0, 3, 2, 5}, .size_log2 = 4 }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0xf })
-ENTRY(ff_sws_dither_5ff0_4_8_f32_1001_neon, { .uop = SWS_UOP_DITHER, .dither = 
{ .y_offset = {0, 0, 0, 5}, .size_log2 = 4 }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x9 })
-ENTRY(ff_sws_dither_5fff_4_8_f32_1000_neon, { .uop = SWS_UOP_DITHER, .dither = 
{ .y_offset = {0, 0, 0, 5}, .size_log2 = 4 }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x8 })
-ENTRY(ff_sws_dither_f023_4_8_f32_0111_neon, { .uop = SWS_UOP_DITHER, .dither = 
{ .y_offset = {3, 2, 0, 0}, .size_log2 = 4 }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x7 })
-ENTRY(ff_sws_dither_f032_4_8_f32_0111_neon, { .uop = SWS_UOP_DITHER, .dither = 
{ .y_offset = {2, 3, 0, 0}, .size_log2 = 4 }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x7 })
-ENTRY(ff_sws_dither_f203_4_8_f32_0111_neon, { .uop = SWS_UOP_DITHER, .dither = 
{ .y_offset = {3, 0, 2, 0}, .size_log2 = 4 }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x7 })
-ENTRY(ff_sws_dither_f230_4_8_f32_0111_neon, { .uop = SWS_UOP_DITHER, .dither = 
{ .y_offset = {0, 3, 2, 0}, .size_log2 = 4 }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x7 })
-ENTRY(ff_sws_dither_f2f0_4_8_f32_0101_neon, { .uop = SWS_UOP_DITHER, .dither = 
{ .y_offset = {0, 0, 2, 0}, .size_log2 = 4 }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x5 })
-ENTRY(ff_sws_dither_f2ff_4_8_f32_0100_neon, { .uop = SWS_UOP_DITHER, .dither = 
{ .y_offset = {0, 0, 2, 0}, .size_log2 = 4 }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x4 })
-ENTRY(ff_sws_dither_f302_4_8_f32_0111_neon, { .uop = SWS_UOP_DITHER, .dither = 
{ .y_offset = {2, 0, 3, 0}, .size_log2 = 4 }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x7 })
-ENTRY(ff_sws_dither_ff30_4_8_f32_0011_neon, { .uop = SWS_UOP_DITHER, .dither = 
{ .y_offset = {0, 3, 0, 0}, .size_log2 = 4 }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x3 })
-ENTRY(ff_sws_dither_ff3f_4_8_f32_0010_neon, { .uop = SWS_UOP_DITHER, .dither = 
{ .y_offset = {0, 3, 0, 0}, .size_log2 = 4 }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x2 })
-ENTRY(ff_sws_dither_fff0_4_8_f32_0001_neon, { .uop = SWS_UOP_DITHER, .dither = 
{ .y_offset = {0, 0, 0, 0}, .size_log2 = 4 }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x1 })
+ENTRY(ff_sws_unpack_0121_8_u8_0111_neon, { .uop = SWS_UOP_UNPACK, .par.pack = 
{ .pattern = {1, 2, 1, 0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x7 
})
+ENTRY(ff_sws_unpack_0121_16_u8_0111_neon, { .uop = SWS_UOP_UNPACK, .par.pack = 
{ .pattern = {1, 2, 1, 0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 
0x7 })
+ENTRY(ff_sws_unpack_0233_8_u8_0111_neon, { .uop = SWS_UOP_UNPACK, .par.pack = 
{ .pattern = {3, 3, 2, 0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x7 
})
+ENTRY(ff_sws_unpack_0233_16_u8_0111_neon, { .uop = SWS_UOP_UNPACK, .par.pack = 
{ .pattern = {3, 3, 2, 0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 
0x7 })
+ENTRY(ff_sws_unpack_0332_8_u8_0111_neon, { .uop = SWS_UOP_UNPACK, .par.pack = 
{ .pattern = {2, 3, 3, 0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x7 
})
+ENTRY(ff_sws_unpack_0332_16_u8_0111_neon, { .uop = SWS_UOP_UNPACK, .par.pack = 
{ .pattern = {2, 3, 3, 0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 
0x7 })
+ENTRY(ff_sws_unpack_0444_8_u16_0111_neon, { .uop = SWS_UOP_UNPACK, .par.pack = 
{ .pattern = {4, 4, 4, 0} }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 
0x7 })
+ENTRY(ff_sws_unpack_0444_16_u16_0111_neon, { .uop = SWS_UOP_UNPACK, .par.pack 
= { .pattern = {4, 4, 4, 0} }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 
0x7 })
+ENTRY(ff_sws_unpack_0555_8_u16_0111_neon, { .uop = SWS_UOP_UNPACK, .par.pack = 
{ .pattern = {5, 5, 5, 0} }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 
0x7 })
+ENTRY(ff_sws_unpack_0555_16_u16_0111_neon, { .uop = SWS_UOP_UNPACK, .par.pack 
= { .pattern = {5, 5, 5, 0} }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 
0x7 })
+ENTRY(ff_sws_unpack_0565_8_u16_0111_neon, { .uop = SWS_UOP_UNPACK, .par.pack = 
{ .pattern = {5, 6, 5, 0} }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 
0x7 })
+ENTRY(ff_sws_unpack_0565_16_u16_0111_neon, { .uop = SWS_UOP_UNPACK, .par.pack 
= { .pattern = {5, 6, 5, 0} }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 
0x7 })
+ENTRY(ff_sws_unpack_2aaa_8_u32_0010_neon, { .uop = SWS_UOP_UNPACK, .par.pack = 
{ .pattern = {10, 10, 10, 2} }, .block_size = 8, .type = SWS_PIXEL_U32, .mask = 
0x2 })
+ENTRY(ff_sws_unpack_2aaa_8_u32_0111_neon, { .uop = SWS_UOP_UNPACK, .par.pack = 
{ .pattern = {10, 10, 10, 2} }, .block_size = 8, .type = SWS_PIXEL_U32, .mask = 
0x7 })
+ENTRY(ff_sws_unpack_aaa2_8_u32_0100_neon, { .uop = SWS_UOP_UNPACK, .par.pack = 
{ .pattern = {2, 10, 10, 10} }, .block_size = 8, .type = SWS_PIXEL_U32, .mask = 
0x4 })
+ENTRY(ff_sws_unpack_aaa2_8_u32_1110_neon, { .uop = SWS_UOP_UNPACK, .par.pack = 
{ .pattern = {2, 10, 10, 10} }, .block_size = 8, .type = SWS_PIXEL_U32, .mask = 
0xe })
+ENTRY(ff_sws_pack_0121_8_u8_0111_neon, { .uop = SWS_UOP_PACK, .par.pack = { 
.pattern = {1, 2, 1, 0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x7 })
+ENTRY(ff_sws_pack_0121_16_u8_0111_neon, { .uop = SWS_UOP_PACK, .par.pack = { 
.pattern = {1, 2, 1, 0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x7 
})
+ENTRY(ff_sws_pack_0233_8_u8_0111_neon, { .uop = SWS_UOP_PACK, .par.pack = { 
.pattern = {3, 3, 2, 0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x7 })
+ENTRY(ff_sws_pack_0233_16_u8_0111_neon, { .uop = SWS_UOP_PACK, .par.pack = { 
.pattern = {3, 3, 2, 0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x7 
})
+ENTRY(ff_sws_pack_0332_8_u8_0111_neon, { .uop = SWS_UOP_PACK, .par.pack = { 
.pattern = {2, 3, 3, 0} }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x7 })
+ENTRY(ff_sws_pack_0332_16_u8_0111_neon, { .uop = SWS_UOP_PACK, .par.pack = { 
.pattern = {2, 3, 3, 0} }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 0x7 
})
+ENTRY(ff_sws_pack_0444_8_u16_0111_neon, { .uop = SWS_UOP_PACK, .par.pack = { 
.pattern = {4, 4, 4, 0} }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x7 
})
+ENTRY(ff_sws_pack_0444_16_u16_0111_neon, { .uop = SWS_UOP_PACK, .par.pack = { 
.pattern = {4, 4, 4, 0} }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7 
})
+ENTRY(ff_sws_pack_0555_8_u16_0111_neon, { .uop = SWS_UOP_PACK, .par.pack = { 
.pattern = {5, 5, 5, 0} }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x7 
})
+ENTRY(ff_sws_pack_0555_16_u16_0111_neon, { .uop = SWS_UOP_PACK, .par.pack = { 
.pattern = {5, 5, 5, 0} }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7 
})
+ENTRY(ff_sws_pack_0565_8_u16_0111_neon, { .uop = SWS_UOP_PACK, .par.pack = { 
.pattern = {5, 6, 5, 0} }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x7 
})
+ENTRY(ff_sws_pack_0565_16_u16_0111_neon, { .uop = SWS_UOP_PACK, .par.pack = { 
.pattern = {5, 6, 5, 0} }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7 
})
+ENTRY(ff_sws_pack_2aaa_8_u32_1111_neon, { .uop = SWS_UOP_PACK, .par.pack = { 
.pattern = {10, 10, 10, 2} }, .block_size = 8, .type = SWS_PIXEL_U32, .mask = 
0xf })
+ENTRY(ff_sws_pack_aaa2_8_u32_1111_neon, { .uop = SWS_UOP_PACK, .par.pack = { 
.pattern = {2, 10, 10, 10} }, .block_size = 8, .type = SWS_PIXEL_U32, .mask = 
0xf })
+ENTRY(ff_sws_lshift_1_8_u16_0111_neon, { .uop = SWS_UOP_LSHIFT, .par.shift = { 
.amount = 1 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x7 })
+ENTRY(ff_sws_lshift_1_16_u16_0111_neon, { .uop = SWS_UOP_LSHIFT, .par.shift = 
{ .amount = 1 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7 })
+ENTRY(ff_sws_lshift_1_16_u16_1110_neon, { .uop = SWS_UOP_LSHIFT, .par.shift = 
{ .amount = 1 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0xe })
+ENTRY(ff_sws_lshift_2_8_u16_0111_neon, { .uop = SWS_UOP_LSHIFT, .par.shift = { 
.amount = 2 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x7 })
+ENTRY(ff_sws_lshift_2_8_u16_1110_neon, { .uop = SWS_UOP_LSHIFT, .par.shift = { 
.amount = 2 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0xe })
+ENTRY(ff_sws_lshift_2_8_u32_0111_neon, { .uop = SWS_UOP_LSHIFT, .par.shift = { 
.amount = 2 }, .block_size = 8, .type = SWS_PIXEL_U32, .mask = 0x7 })
+ENTRY(ff_sws_lshift_2_16_u16_0111_neon, { .uop = SWS_UOP_LSHIFT, .par.shift = 
{ .amount = 2 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7 })
+ENTRY(ff_sws_lshift_2_16_u16_1110_neon, { .uop = SWS_UOP_LSHIFT, .par.shift = 
{ .amount = 2 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0xe })
+ENTRY(ff_sws_lshift_3_16_u16_0111_neon, { .uop = SWS_UOP_LSHIFT, .par.shift = 
{ .amount = 3 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7 })
+ENTRY(ff_sws_lshift_4_8_u16_0001_neon, { .uop = SWS_UOP_LSHIFT, .par.shift = { 
.amount = 4 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x1 })
+ENTRY(ff_sws_lshift_4_8_u16_0111_neon, { .uop = SWS_UOP_LSHIFT, .par.shift = { 
.amount = 4 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x7 })
+ENTRY(ff_sws_lshift_4_8_u16_1110_neon, { .uop = SWS_UOP_LSHIFT, .par.shift = { 
.amount = 4 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0xe })
+ENTRY(ff_sws_lshift_4_16_u16_0001_neon, { .uop = SWS_UOP_LSHIFT, .par.shift = 
{ .amount = 4 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x1 })
+ENTRY(ff_sws_lshift_4_16_u16_0111_neon, { .uop = SWS_UOP_LSHIFT, .par.shift = 
{ .amount = 4 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7 })
+ENTRY(ff_sws_lshift_4_16_u16_1110_neon, { .uop = SWS_UOP_LSHIFT, .par.shift = 
{ .amount = 4 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0xe })
+ENTRY(ff_sws_lshift_5_16_u16_0111_neon, { .uop = SWS_UOP_LSHIFT, .par.shift = 
{ .amount = 5 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7 })
+ENTRY(ff_sws_lshift_6_8_u16_0001_neon, { .uop = SWS_UOP_LSHIFT, .par.shift = { 
.amount = 6 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x1 })
+ENTRY(ff_sws_lshift_6_8_u16_0111_neon, { .uop = SWS_UOP_LSHIFT, .par.shift = { 
.amount = 6 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x7 })
+ENTRY(ff_sws_lshift_6_8_u16_1110_neon, { .uop = SWS_UOP_LSHIFT, .par.shift = { 
.amount = 6 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0xe })
+ENTRY(ff_sws_lshift_6_16_u16_0001_neon, { .uop = SWS_UOP_LSHIFT, .par.shift = 
{ .amount = 6 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x1 })
+ENTRY(ff_sws_lshift_6_16_u16_0111_neon, { .uop = SWS_UOP_LSHIFT, .par.shift = 
{ .amount = 6 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7 })
+ENTRY(ff_sws_lshift_6_16_u16_1110_neon, { .uop = SWS_UOP_LSHIFT, .par.shift = 
{ .amount = 6 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0xe })
+ENTRY(ff_sws_lshift_7_16_u16_0111_neon, { .uop = SWS_UOP_LSHIFT, .par.shift = 
{ .amount = 7 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7 })
+ENTRY(ff_sws_lshift_8_16_u16_0111_neon, { .uop = SWS_UOP_LSHIFT, .par.shift = 
{ .amount = 8 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7 })
+ENTRY(ff_sws_lshift_8_16_u16_1110_neon, { .uop = SWS_UOP_LSHIFT, .par.shift = 
{ .amount = 8 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0xe })
+ENTRY(ff_sws_rshift_4_8_u16_0001_neon, { .uop = SWS_UOP_RSHIFT, .par.shift = { 
.amount = 4 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x1 })
+ENTRY(ff_sws_rshift_4_8_u16_0010_neon, { .uop = SWS_UOP_RSHIFT, .par.shift = { 
.amount = 4 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x2 })
+ENTRY(ff_sws_rshift_4_8_u16_0111_neon, { .uop = SWS_UOP_RSHIFT, .par.shift = { 
.amount = 4 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x7 })
+ENTRY(ff_sws_rshift_4_16_u16_0111_neon, { .uop = SWS_UOP_RSHIFT, .par.shift = 
{ .amount = 4 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7 })
+ENTRY(ff_sws_rshift_6_8_u16_0001_neon, { .uop = SWS_UOP_RSHIFT, .par.shift = { 
.amount = 6 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x1 })
+ENTRY(ff_sws_rshift_6_8_u16_0111_neon, { .uop = SWS_UOP_RSHIFT, .par.shift = { 
.amount = 6 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 0x7 })
+ENTRY(ff_sws_rshift_6_16_u16_0111_neon, { .uop = SWS_UOP_RSHIFT, .par.shift = 
{ .amount = 6 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7 })
+ENTRY(ff_sws_clear_0fff_8_u8_1000_neon, { .uop = SWS_UOP_CLEAR, .par.clear = { 
.one = 0x0, .zero = 0x8 }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x8 })
+ENTRY(ff_sws_clear_0fff_8_u8_1011_neon, { .uop = SWS_UOP_CLEAR, .par.clear = { 
.one = 0x0, .zero = 0x8 }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xb })
+ENTRY(ff_sws_clear_0fff_8_u16_1000_neon, { .uop = SWS_UOP_CLEAR, .par.clear = 
{ .one = 0x0, .zero = 0x8 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 
0x8 })
+ENTRY(ff_sws_clear_0fff_8_u16_1101_neon, { .uop = SWS_UOP_CLEAR, .par.clear = 
{ .one = 0x0, .zero = 0x8 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 
0xd })
+ENTRY(ff_sws_clear_0fff_16_u8_1000_neon, { .uop = SWS_UOP_CLEAR, .par.clear = 
{ .one = 0x0, .zero = 0x8 }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 
0x8 })
+ENTRY(ff_sws_clear_0fff_16_u16_1000_neon, { .uop = SWS_UOP_CLEAR, .par.clear = 
{ .one = 0x0, .zero = 0x8 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 
0x8 })
+ENTRY(ff_sws_clear_1fff_8_u8_1000_neon, { .uop = SWS_UOP_CLEAR, .par.clear = { 
.one = 0x8, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x8 })
+ENTRY(ff_sws_clear_1fff_8_u8_1011_neon, { .uop = SWS_UOP_CLEAR, .par.clear = { 
.one = 0x8, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xb })
+ENTRY(ff_sws_clear_1fff_8_u8_1101_neon, { .uop = SWS_UOP_CLEAR, .par.clear = { 
.one = 0x8, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xd })
+ENTRY(ff_sws_clear_1fff_8_u16_1000_neon, { .uop = SWS_UOP_CLEAR, .par.clear = 
{ .one = 0x8, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 
0x8 })
+ENTRY(ff_sws_clear_1fff_16_u8_1000_neon, { .uop = SWS_UOP_CLEAR, .par.clear = 
{ .one = 0x8, .zero = 0x0 }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 
0x8 })
+ENTRY(ff_sws_clear_1fff_16_u16_1000_neon, { .uop = SWS_UOP_CLEAR, .par.clear = 
{ .one = 0x8, .zero = 0x0 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 
0x8 })
+ENTRY(ff_sws_clear_ff1f_8_u8_0010_neon, { .uop = SWS_UOP_CLEAR, .par.clear = { 
.one = 0x2, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x2 })
+ENTRY(ff_sws_clear_ff1f_8_u16_0010_neon, { .uop = SWS_UOP_CLEAR, .par.clear = 
{ .one = 0x2, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 
0x2 })
+ENTRY(ff_sws_clear_ff1f_16_u8_0010_neon, { .uop = SWS_UOP_CLEAR, .par.clear = 
{ .one = 0x2, .zero = 0x0 }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 
0x2 })
+ENTRY(ff_sws_clear_ff1f_16_u16_0010_neon, { .uop = SWS_UOP_CLEAR, .par.clear = 
{ .one = 0x2, .zero = 0x0 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 
0x2 })
+ENTRY(ff_sws_clear_fff0_8_u8_0001_neon, { .uop = SWS_UOP_CLEAR, .par.clear = { 
.one = 0x0, .zero = 0x1 }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x1 })
+ENTRY(ff_sws_clear_fff0_16_u8_0001_neon, { .uop = SWS_UOP_CLEAR, .par.clear = 
{ .one = 0x0, .zero = 0x1 }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 
0x1 })
+ENTRY(ff_sws_clear_fff1_8_u8_0001_neon, { .uop = SWS_UOP_CLEAR, .par.clear = { 
.one = 0x1, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x1 })
+ENTRY(ff_sws_clear_fff1_8_u8_1101_neon, { .uop = SWS_UOP_CLEAR, .par.clear = { 
.one = 0x1, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xd })
+ENTRY(ff_sws_clear_fff1_8_u16_0001_neon, { .uop = SWS_UOP_CLEAR, .par.clear = 
{ .one = 0x1, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 
0x1 })
+ENTRY(ff_sws_clear_fff1_8_u16_1101_neon, { .uop = SWS_UOP_CLEAR, .par.clear = 
{ .one = 0x1, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 
0xd })
+ENTRY(ff_sws_clear_fff1_16_u8_0001_neon, { .uop = SWS_UOP_CLEAR, .par.clear = 
{ .one = 0x1, .zero = 0x0 }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 
0x1 })
+ENTRY(ff_sws_clear_fff1_16_u8_0111_neon, { .uop = SWS_UOP_CLEAR, .par.clear = 
{ .one = 0x1, .zero = 0x0 }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 
0x7 })
+ENTRY(ff_sws_clear_fff1_16_u16_0001_neon, { .uop = SWS_UOP_CLEAR, .par.clear = 
{ .one = 0x1, .zero = 0x0 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 
0x1 })
+ENTRY(ff_sws_clear_fff1_16_u16_0111_neon, { .uop = SWS_UOP_CLEAR, .par.clear = 
{ .one = 0x1, .zero = 0x0 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 
0x7 })
+ENTRY(ff_sws_clear_ffff_8_u8_0011_neon, { .uop = SWS_UOP_CLEAR, .par.clear = { 
.one = 0x0, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x3 })
+ENTRY(ff_sws_clear_ffff_8_u8_0101_neon, { .uop = SWS_UOP_CLEAR, .par.clear = { 
.one = 0x0, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0x5 })
+ENTRY(ff_sws_clear_ffff_8_u8_1100_neon, { .uop = SWS_UOP_CLEAR, .par.clear = { 
.one = 0x0, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U8, .mask = 0xc })
+ENTRY(ff_sws_clear_ffff_8_u16_1100_neon, { .uop = SWS_UOP_CLEAR, .par.clear = 
{ .one = 0x0, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U16, .mask = 
0xc })
+ENTRY(ff_sws_clear_ffff_8_u32_0001_neon, { .uop = SWS_UOP_CLEAR, .par.clear = 
{ .one = 0x0, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U32, .mask = 
0x1 })
+ENTRY(ff_sws_clear_ffff_8_u32_0010_neon, { .uop = SWS_UOP_CLEAR, .par.clear = 
{ .one = 0x0, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U32, .mask = 
0x2 })
+ENTRY(ff_sws_clear_ffff_8_u32_0101_neon, { .uop = SWS_UOP_CLEAR, .par.clear = 
{ .one = 0x0, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U32, .mask = 
0x5 })
+ENTRY(ff_sws_clear_ffff_8_u32_1000_neon, { .uop = SWS_UOP_CLEAR, .par.clear = 
{ .one = 0x0, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U32, .mask = 
0x8 })
+ENTRY(ff_sws_clear_ffff_8_u32_1010_neon, { .uop = SWS_UOP_CLEAR, .par.clear = 
{ .one = 0x0, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U32, .mask = 
0xa })
+ENTRY(ff_sws_clear_ffff_8_u32_1011_neon, { .uop = SWS_UOP_CLEAR, .par.clear = 
{ .one = 0x0, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U32, .mask = 
0xb })
+ENTRY(ff_sws_clear_ffff_8_u32_1101_neon, { .uop = SWS_UOP_CLEAR, .par.clear = 
{ .one = 0x0, .zero = 0x0 }, .block_size = 8, .type = SWS_PIXEL_U32, .mask = 
0xd })
+ENTRY(ff_sws_clear_ffff_16_u8_0011_neon, { .uop = SWS_UOP_CLEAR, .par.clear = 
{ .one = 0x0, .zero = 0x0 }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 
0x3 })
+ENTRY(ff_sws_clear_ffff_16_u8_0110_neon, { .uop = SWS_UOP_CLEAR, .par.clear = 
{ .one = 0x0, .zero = 0x0 }, .block_size = 16, .type = SWS_PIXEL_U8, .mask = 
0x6 })
+ENTRY(ff_sws_clear_ffff_16_u16_0001_neon, { .uop = SWS_UOP_CLEAR, .par.clear = 
{ .one = 0x0, .zero = 0x0 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 
0x1 })
+ENTRY(ff_sws_clear_ffff_16_u16_0011_neon, { .uop = SWS_UOP_CLEAR, .par.clear = 
{ .one = 0x0, .zero = 0x0 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 
0x3 })
+ENTRY(ff_sws_clear_ffff_16_u16_0111_neon, { .uop = SWS_UOP_CLEAR, .par.clear = 
{ .one = 0x0, .zero = 0x0 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 
0x7 })
+ENTRY(ff_sws_clear_ffff_16_u16_1000_neon, { .uop = SWS_UOP_CLEAR, .par.clear = 
{ .one = 0x0, .zero = 0x0 }, .block_size = 16, .type = SWS_PIXEL_U16, .mask = 
0x8 })
+ENTRY(ff_sws_linear_000000000f_8_f32_0001_neon, { .uop = SWS_UOP_LINEAR, 
.par.lin = { .one = 0x0, .zero = 0xfffee }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x1 })
+ENTRY(ff_sws_linear_00000000fc_8_f32_0001_neon, { .uop = SWS_UOP_LINEAR, 
.par.lin = { .one = 0x0, .zero = 0xffff8 }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x1 })
+ENTRY(ff_sws_linear_00000000ff_8_f32_0001_neon, { .uop = SWS_UOP_LINEAR, 
.par.lin = { .one = 0x0, .zero = 0xfffe8 }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x1 })
+ENTRY(ff_sws_linear_000000c000_8_f32_0010_neon, { .uop = SWS_UOP_LINEAR, 
.par.lin = { .one = 0x0, .zero = 0xfffbf }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x2 })
+ENTRY(ff_sws_linear_000373dcc7_8_f32_0111_neon, { .uop = SWS_UOP_LINEAR, 
.par.lin = { .one = 0x421, .zero = 0xfb10a }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x7 })
+ENTRY(ff_sws_linear_0003f3fccf_8_f32_0111_neon, { .uop = SWS_UOP_LINEAR, 
.par.lin = { .one = 0x0, .zero = 0xfb10a }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x7 })
+ENTRY(ff_sws_linear_000c00c00c_8_f32_0111_neon, { .uop = SWS_UOP_LINEAR, 
.par.lin = { .one = 0x0, .zero = 0xfefbe }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x7 })
+ENTRY(ff_sws_linear_000c30cc0f_8_f32_0111_neon, { .uop = SWS_UOP_LINEAR, 
.par.lin = { .one = 0x0, .zero = 0xfadae }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x7 })
+ENTRY(ff_sws_linear_000ff3fcfc_8_f32_0111_neon, { .uop = SWS_UOP_LINEAR, 
.par.lin = { .one = 0x0, .zero = 0xfa118 }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x7 })
+ENTRY(ff_sws_linear_000ff3fcff_8_f32_0111_neon, { .uop = SWS_UOP_LINEAR, 
.par.lin = { .one = 0x0, .zero = 0xfa108 }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x7 })
+ENTRY(ff_sws_linear_c000000000_8_f32_1000_neon, { .uop = SWS_UOP_LINEAR, 
.par.lin = { .one = 0x0, .zero = 0xbffff }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x8 })
+ENTRY(ff_sws_linear_c00000000f_8_f32_1001_neon, { .uop = SWS_UOP_LINEAR, 
.par.lin = { .one = 0x0, .zero = 0xbffee }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x9 })
+ENTRY(ff_sws_linear_c0000000fc_8_f32_1001_neon, { .uop = SWS_UOP_LINEAR, 
.par.lin = { .one = 0x0, .zero = 0xbfff8 }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0x9 })
+ENTRY(ff_sws_linear_c003f3fccf_8_f32_1111_neon, { .uop = SWS_UOP_LINEAR, 
.par.lin = { .one = 0x0, .zero = 0xbb10a }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0xf })
+ENTRY(ff_sws_linear_c00c00c00c_8_f32_1111_neon, { .uop = SWS_UOP_LINEAR, 
.par.lin = { .one = 0x0, .zero = 0xbefbe }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0xf })
+ENTRY(ff_sws_linear_c00ff3fcff_8_f32_1111_neon, { .uop = SWS_UOP_LINEAR, 
.par.lin = { .one = 0x0, .zero = 0xba108 }, .block_size = 8, .type = 
SWS_PIXEL_F32, .mask = 0xf })
+ENTRY(ff_sws_linear_fma_000000000f_8_f32_0001_neon, { .uop = 
SWS_UOP_LINEAR_FMA, .par.lin = { .one = 0x0, .zero = 0xfffee }, .block_size = 
8, .type = SWS_PIXEL_F32, .mask = 0x1 })
+ENTRY(ff_sws_linear_fma_00000000fc_8_f32_0001_neon, { .uop = 
SWS_UOP_LINEAR_FMA, .par.lin = { .one = 0x0, .zero = 0xffff8 }, .block_size = 
8, .type = SWS_PIXEL_F32, .mask = 0x1 })
+ENTRY(ff_sws_linear_fma_00000000ff_8_f32_0001_neon, { .uop = 
SWS_UOP_LINEAR_FMA, .par.lin = { .one = 0x0, .zero = 0xfffe8 }, .block_size = 
8, .type = SWS_PIXEL_F32, .mask = 0x1 })
+ENTRY(ff_sws_linear_fma_000000c000_8_f32_0010_neon, { .uop = 
SWS_UOP_LINEAR_FMA, .par.lin = { .one = 0x0, .zero = 0xfffbf }, .block_size = 
8, .type = SWS_PIXEL_F32, .mask = 0x2 })
+ENTRY(ff_sws_linear_fma_000373dcc7_8_f32_0111_neon, { .uop = 
SWS_UOP_LINEAR_FMA, .par.lin = { .one = 0x421, .zero = 0xfb10a }, .block_size = 
8, .type = SWS_PIXEL_F32, .mask = 0x7 })
+ENTRY(ff_sws_linear_fma_0003f3fccf_8_f32_0111_neon, { .uop = 
SWS_UOP_LINEAR_FMA, .par.lin = { .one = 0x0, .zero = 0xfb10a }, .block_size = 
8, .type = SWS_PIXEL_F32, .mask = 0x7 })
+ENTRY(ff_sws_linear_fma_000c00c00c_8_f32_0111_neon, { .uop = 
SWS_UOP_LINEAR_FMA, .par.lin = { .one = 0x0, .zero = 0xfefbe }, .block_size = 
8, .type = SWS_PIXEL_F32, .mask = 0x7 })
+ENTRY(ff_sws_linear_fma_000c30cc0f_8_f32_0111_neon, { .uop = 
SWS_UOP_LINEAR_FMA, .par.lin = { .one = 0x0, .zero = 0xfadae }, .block_size = 
8, .type = SWS_PIXEL_F32, .mask = 0x7 })
+ENTRY(ff_sws_linear_fma_000ff3fcfc_8_f32_0111_neon, { .uop = 
SWS_UOP_LINEAR_FMA, .par.lin = { .one = 0x0, .zero = 0xfa118 }, .block_size = 
8, .type = SWS_PIXEL_F32, .mask = 0x7 })
+ENTRY(ff_sws_linear_fma_000ff3fcff_8_f32_0111_neon, { .uop = 
SWS_UOP_LINEAR_FMA, .par.lin = { .one = 0x0, .zero = 0xfa108 }, .block_size = 
8, .type = SWS_PIXEL_F32, .mask = 0x7 })
+ENTRY(ff_sws_linear_fma_c000000000_8_f32_1000_neon, { .uop = 
SWS_UOP_LINEAR_FMA, .par.lin = { .one = 0x0, .zero = 0xbffff }, .block_size = 
8, .type = SWS_PIXEL_F32, .mask = 0x8 })
+ENTRY(ff_sws_linear_fma_c00000000f_8_f32_1001_neon, { .uop = 
SWS_UOP_LINEAR_FMA, .par.lin = { .one = 0x0, .zero = 0xbffee }, .block_size = 
8, .type = SWS_PIXEL_F32, .mask = 0x9 })
+ENTRY(ff_sws_linear_fma_c0000000fc_8_f32_1001_neon, { .uop = 
SWS_UOP_LINEAR_FMA, .par.lin = { .one = 0x0, .zero = 0xbfff8 }, .block_size = 
8, .type = SWS_PIXEL_F32, .mask = 0x9 })
+ENTRY(ff_sws_linear_fma_c003f3fccf_8_f32_1111_neon, { .uop = 
SWS_UOP_LINEAR_FMA, .par.lin = { .one = 0x0, .zero = 0xbb10a }, .block_size = 
8, .type = SWS_PIXEL_F32, .mask = 0xf })
+ENTRY(ff_sws_linear_fma_c00c00c00c_8_f32_1111_neon, { .uop = 
SWS_UOP_LINEAR_FMA, .par.lin = { .one = 0x0, .zero = 0xbefbe }, .block_size = 
8, .type = SWS_PIXEL_F32, .mask = 0xf })
+ENTRY(ff_sws_linear_fma_c00ff3fcff_8_f32_1111_neon, { .uop = 
SWS_UOP_LINEAR_FMA, .par.lin = { .one = 0x0, .zero = 0xba108 }, .block_size = 
8, .type = SWS_PIXEL_F32, .mask = 0xf })
+ENTRY(ff_sws_dither_0325_4_8_f32_1111_neon, { .uop = SWS_UOP_DITHER, 
.par.dither = { .y_offset = {5, 2, 3, 0}, .size_log2 = 4 }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0xf })
+ENTRY(ff_sws_dither_032f_4_8_f32_1110_neon, { .uop = SWS_UOP_DITHER, 
.par.dither = { .y_offset = {0, 2, 3, 0}, .size_log2 = 4 }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0xe })
+ENTRY(ff_sws_dither_2305_4_8_f32_1111_neon, { .uop = SWS_UOP_DITHER, 
.par.dither = { .y_offset = {5, 0, 3, 2}, .size_log2 = 4 }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0xf })
+ENTRY(ff_sws_dither_230f_4_8_f32_1110_neon, { .uop = SWS_UOP_DITHER, 
.par.dither = { .y_offset = {0, 0, 3, 2}, .size_log2 = 4 }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0xe })
+ENTRY(ff_sws_dither_3000_4_8_f32_1111_neon, { .uop = SWS_UOP_DITHER, 
.par.dither = { .y_offset = {0, 0, 0, 3}, .size_log2 = 4 }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0xf })
+ENTRY(ff_sws_dither_302f_4_8_f32_1110_neon, { .uop = SWS_UOP_DITHER, 
.par.dither = { .y_offset = {0, 2, 0, 3}, .size_log2 = 4 }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0xe })
+ENTRY(ff_sws_dither_3ff0_4_8_f32_1001_neon, { .uop = SWS_UOP_DITHER, 
.par.dither = { .y_offset = {0, 0, 0, 3}, .size_log2 = 4 }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0x9 })
+ENTRY(ff_sws_dither_5023_4_8_f32_1111_neon, { .uop = SWS_UOP_DITHER, 
.par.dither = { .y_offset = {3, 2, 0, 5}, .size_log2 = 4 }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0xf })
+ENTRY(ff_sws_dither_5032_4_8_f32_1111_neon, { .uop = SWS_UOP_DITHER, 
.par.dither = { .y_offset = {2, 3, 0, 5}, .size_log2 = 4 }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0xf })
+ENTRY(ff_sws_dither_5230_4_8_f32_1111_neon, { .uop = SWS_UOP_DITHER, 
.par.dither = { .y_offset = {0, 3, 2, 5}, .size_log2 = 4 }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0xf })
+ENTRY(ff_sws_dither_5ff0_4_8_f32_1001_neon, { .uop = SWS_UOP_DITHER, 
.par.dither = { .y_offset = {0, 0, 0, 5}, .size_log2 = 4 }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0x9 })
+ENTRY(ff_sws_dither_5fff_4_8_f32_1000_neon, { .uop = SWS_UOP_DITHER, 
.par.dither = { .y_offset = {0, 0, 0, 5}, .size_log2 = 4 }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0x8 })
+ENTRY(ff_sws_dither_f023_4_8_f32_0111_neon, { .uop = SWS_UOP_DITHER, 
.par.dither = { .y_offset = {3, 2, 0, 0}, .size_log2 = 4 }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0x7 })
+ENTRY(ff_sws_dither_f032_4_8_f32_0111_neon, { .uop = SWS_UOP_DITHER, 
.par.dither = { .y_offset = {2, 3, 0, 0}, .size_log2 = 4 }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0x7 })
+ENTRY(ff_sws_dither_f203_4_8_f32_0111_neon, { .uop = SWS_UOP_DITHER, 
.par.dither = { .y_offset = {3, 0, 2, 0}, .size_log2 = 4 }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0x7 })
+ENTRY(ff_sws_dither_f230_4_8_f32_0111_neon, { .uop = SWS_UOP_DITHER, 
.par.dither = { .y_offset = {0, 3, 2, 0}, .size_log2 = 4 }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0x7 })
+ENTRY(ff_sws_dither_f2f0_4_8_f32_0101_neon, { .uop = SWS_UOP_DITHER, 
.par.dither = { .y_offset = {0, 0, 2, 0}, .size_log2 = 4 }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0x5 })
+ENTRY(ff_sws_dither_f2ff_4_8_f32_0100_neon, { .uop = SWS_UOP_DITHER, 
.par.dither = { .y_offset = {0, 0, 2, 0}, .size_log2 = 4 }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0x4 })
+ENTRY(ff_sws_dither_f302_4_8_f32_0111_neon, { .uop = SWS_UOP_DITHER, 
.par.dither = { .y_offset = {2, 0, 3, 0}, .size_log2 = 4 }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0x7 })
+ENTRY(ff_sws_dither_ff30_4_8_f32_0011_neon, { .uop = SWS_UOP_DITHER, 
.par.dither = { .y_offset = {0, 3, 0, 0}, .size_log2 = 4 }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0x3 })
+ENTRY(ff_sws_dither_ff3f_4_8_f32_0010_neon, { .uop = SWS_UOP_DITHER, 
.par.dither = { .y_offset = {0, 3, 0, 0}, .size_log2 = 4 }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0x2 })
+ENTRY(ff_sws_dither_fff0_4_8_f32_0001_neon, { .uop = SWS_UOP_DITHER, 
.par.dither = { .y_offset = {0, 0, 0, 0}, .size_log2 = 4 }, .block_size = 8, 
.type = SWS_PIXEL_F32, .mask = 0x1 })
diff --git a/libswscale/aarch64/ops_impl.h b/libswscale/aarch64/ops_impl.h
index 94198835d0..304b68e44c 100644
--- a/libswscale/aarch64/ops_impl.h
+++ b/libswscale/aarch64/ops_impl.h
@@ -49,14 +49,7 @@ typedef struct SwsAArch64OpImplParams {
     SwsCompMask         mask;
     SwsPixelType        type;
     uint8_t block_size;
-    union {
-        SwsShiftUOp         shift;
-        SwsClearUOp         clear;
-        SwsMoveUOp          move;
-        SwsPackUOp          pack;
-        SwsLinearUOp        linear;
-        SwsDitherUOp        dither;
-    };
+    SwsUOpParams par;
 } SwsAArch64OpImplParams;
 
 /* SwsCompMask-related helpers. */
@@ -75,7 +68,7 @@ static inline int linear_num_vregs(const 
SwsAArch64OpImplParams *params)
 {
     int count = 0;
     for (int i = 0; i < 4 * 5; i++)
-        if (!(params->linear.zero & (1ULL << i)))
+        if (!(params->par.lin.zero & (1ULL << i)))
             count++;
     return (count + 3) / 4;
 }
diff --git a/libswscale/aarch64/ops_impl_conv.c 
b/libswscale/aarch64/ops_impl_conv.c
index bd4b81f6bc..21360e51c7 100644
--- a/libswscale/aarch64/ops_impl_conv.c
+++ b/libswscale/aarch64/ops_impl_conv.c
@@ -31,9 +31,9 @@
 
 static void swizzle_emit(SwsAArch64OpImplParams *out, uint8_t dst, uint8_t src)
 {
-    int idx = out->move.num_moves++;
-    out->move.dst[idx] = dst;
-    out->move.src[idx] = src;
+    int idx = out->par.move.num_moves++;
+    out->par.move.dst[idx] = dst;
+    out->par.move.src[idx] = src;
 }
 
 static void convert_swizzle_to_moves(const SwsOp *op, SwsAArch64OpImplParams 
*out)
@@ -235,18 +235,18 @@ static int convert_to_aarch64_impl(SwsContext *ctx, const 
SwsOpList *ops, int n,
         break;
     case SWS_UOP_UNPACK:
         for (int i = 0; i < 4; i++)
-            out->pack.pattern[i] = op->pack.pattern[i];
+            out->par.pack.pattern[i] = op->pack.pattern[i];
         break;
     case SWS_UOP_PACK:
         out->mask = 0;
         for (int i = 0; i < 4 && op->pack.pattern[i]; i++)
             out->mask |= SWS_COMP(i);
         for (int i = 0; i < 4; i++)
-            out->pack.pattern[i] = op->pack.pattern[i];
+            out->par.pack.pattern[i] = op->pack.pattern[i];
         break;
     case SWS_UOP_LSHIFT:
     case SWS_UOP_RSHIFT:
-        out->shift.amount = op->shift.amount;
+        out->par.shift.amount = op->shift.amount;
         break;
     case SWS_UOP_CLEAR:
         out->mask = 0;
@@ -254,13 +254,13 @@ static int convert_to_aarch64_impl(SwsContext *ctx, const 
SwsOpList *ops, int n,
             if (op->clear.mask & SWS_COMP(i)) {
                 out->mask |= SWS_COMP(i);
                 if (op->clear.value[i].num == 0) {
-                    out->clear.zero |= SWS_COMP(i);
+                    out->par.clear.zero |= SWS_COMP(i);
                 } else {
                     uint32_t val = op->clear.value[i].num / 
op->clear.value[i].den;
                     if ((op->type == SWS_PIXEL_U8  && val == UINT8_MAX)  ||
                         (op->type == SWS_PIXEL_U16 && val == UINT16_MAX) ||
                         (op->type == SWS_PIXEL_U32 && val == UINT32_MAX))
-                        out->clear.one |= SWS_COMP(i);
+                        out->par.clear.one |= SWS_COMP(i);
                 }
             }
         }
@@ -271,16 +271,16 @@ static int convert_to_aarch64_impl(SwsContext *ctx, const 
SwsOpList *ops, int n,
         for (int i = 0; i < 4; i++) {
             if (!SWS_OP_NEEDED(op, i) || !(op->lin.mask & SWS_MASK_ROW(i))) {
                 for (int j = 0; j < 5; j++)
-                    out->linear.zero |= SWS_MASK(i, j);
+                    out->par.lin.zero |= SWS_MASK(i, j);
                 continue;
             }
             out->mask |= SWS_COMP(i);
             for (int j = 0; j < 5; j++) {
                 const AVRational64 k = op->lin.m[i][j];
                 if (j < 4 && k.num == k.den)
-                    out->linear.one |= SWS_MASK(i, j);
+                    out->par.lin.one |= SWS_MASK(i, j);
                 else if (k.num == 0)
-                    out->linear.zero |= SWS_MASK(i, j);
+                    out->par.lin.zero |= SWS_MASK(i, j);
             }
         }
         break;
@@ -290,9 +290,9 @@ static int convert_to_aarch64_impl(SwsContext *ctx, const 
SwsOpList *ops, int n,
                                   op->dither.y_offset[2] >= 0,
                                   op->dither.y_offset[3] >= 0);
         LOOP(out->mask, i) {
-            out->dither.y_offset[i] = op->dither.y_offset[i];
+            out->par.dither.y_offset[i] = op->dither.y_offset[i];
         }
-        out->dither.size_log2 = op->dither.size_log2;
+        out->par.dither.size_log2 = op->dither.size_log2;
         break;
     }
 
diff --git a/libswscale/tests/sws_ops_aarch64.c 
b/libswscale/tests/sws_ops_aarch64.c
index bcce12da05..4ec024aa7e 100644
--- a/libswscale/tests/sws_ops_aarch64.c
+++ b/libswscale/tests/sws_ops_aarch64.c
@@ -105,6 +105,8 @@ static int aarch64_op_impl_cmp(const void *a, const void *b)
 {
     const SwsAArch64OpImplParams *pa = (const SwsAArch64OpImplParams *) a;
     const SwsAArch64OpImplParams *pb = (const SwsAArch64OpImplParams *) b;
+    const SwsUOpParams *para = &pa->par;
+    const SwsUOpParams *parb = &pb->par;
 
     if (pa->uop != pb->uop)
         return (int) pa->uop - pb->uop;
@@ -112,47 +114,47 @@ static int aarch64_op_impl_cmp(const void *a, const void 
*b)
     switch (pa->uop) {
     case SWS_UOP_PERMUTE:
     case SWS_UOP_COPY: {
-        uint64_t ia = move_to_mask(&pa->move);
-        uint64_t ib = move_to_mask(&pb->move);
+        uint64_t ia = move_to_mask(&para->move);
+        uint64_t ib = move_to_mask(&parb->move);
         if (ia != ib)
             return (int64_t) (ia - ib) < 0 ? -1 : 1;
         break;
     }
     case SWS_UOP_UNPACK:
     case SWS_UOP_PACK: {
-        uint16_t ia = pack_to_mask(&pa->pack);
-        uint16_t ib = pack_to_mask(&pb->pack);
+        uint16_t ia = pack_to_mask(&para->pack);
+        uint16_t ib = pack_to_mask(&parb->pack);
         if (ia != ib)
             return (int) ia - ib;
         break;
     }
     case SWS_UOP_LSHIFT:
     case SWS_UOP_RSHIFT:
-        if (pa->shift.amount != pb->shift.amount)
-            return (int) pa->shift.amount - pb->shift.amount;
+        if (para->shift.amount != parb->shift.amount)
+            return (int) para->shift.amount - parb->shift.amount;
         break;
     case SWS_UOP_CLEAR: {
-        uint16_t ia = clear_to_mask(&pa->clear);
-        uint16_t ib = clear_to_mask(&pb->clear);
+        uint16_t ia = clear_to_mask(&para->clear);
+        uint16_t ib = clear_to_mask(&parb->clear);
         if (ia != ib)
             return (int) ia - ib;
         break;
     }
     case SWS_UOP_LINEAR:
     case SWS_UOP_LINEAR_FMA: {
-        uint64_t ia = linear_to_mask(&pa->linear);
-        uint64_t ib = linear_to_mask(&pb->linear);
+        uint64_t ia = linear_to_mask(&para->lin);
+        uint64_t ib = linear_to_mask(&parb->lin);
         if (ia != ib)
             return (int64_t) (ia - ib) < 0 ? -1 : 1;
         break;
     }
     case SWS_UOP_DITHER: {
-        uint16_t ia = dither_to_mask(pa, &pa->dither);
-        uint16_t ib = dither_to_mask(pb, &pb->dither);
+        uint16_t ia = dither_to_mask(pa, &para->dither);
+        uint16_t ib = dither_to_mask(pb, &parb->dither);
         if (ia != ib)
             return (int) ia - ib;
-        if (pa->dither.size_log2 != pb->dither.size_log2)
-            return (int) pa->dither.size_log2 - pb->dither.size_log2;
+        if (para->dither.size_log2 != parb->dither.size_log2)
+            return (int) para->dither.size_log2 - parb->dither.size_log2;
         break;
     }
     }
@@ -301,29 +303,30 @@ static const char pixel_type_names[SWS_PIXEL_TYPE_NB][4] 
= {
 
 static void impl_func_name(AVBPrint *bp, const SwsAArch64OpImplParams *params)
 {
+    const SwsUOpParams *par = &params->par;
     av_bprintf(bp, "ff_sws_%s", op_type_names[params->uop]);
     switch (params->uop) {
     case SWS_UOP_PERMUTE:
     case SWS_UOP_COPY:
-        av_bprintf(bp, "_%012" PRIx64, move_to_mask(&params->move));
+        av_bprintf(bp, "_%012" PRIx64, move_to_mask(&par->move));
         break;
     case SWS_UOP_UNPACK:
     case SWS_UOP_PACK:
-        av_bprintf(bp, "_%04x", pack_to_mask(&params->pack));
+        av_bprintf(bp, "_%04x", pack_to_mask(&par->pack));
         break;
     case SWS_UOP_LSHIFT:
     case SWS_UOP_RSHIFT:
-        av_bprintf(bp, "_%u", params->shift.amount);
+        av_bprintf(bp, "_%u", par->shift.amount);
         break;
     case SWS_UOP_CLEAR:
-        av_bprintf(bp, "_%04x", clear_to_mask(&params->clear));
+        av_bprintf(bp, "_%04x", clear_to_mask(&par->clear));
         break;
     case SWS_UOP_LINEAR:
     case SWS_UOP_LINEAR_FMA:
-        av_bprintf(bp, "_%010" PRIx64, linear_to_mask(&params->linear));
+        av_bprintf(bp, "_%010" PRIx64, linear_to_mask(&par->lin));
         break;
     case SWS_UOP_DITHER:
-        av_bprintf(bp, "_%04x_%u", dither_to_mask(params, &params->dither), 
params->dither.size_log2);
+        av_bprintf(bp, "_%04x_%u", dither_to_mask(params, &par->dither), 
par->dither.size_log2);
         break;
     }
     av_bprintf(bp, "_%u_%s_%04x_neon", params->block_size, 
pixel_type_names[params->type], nibble_mask(params->mask));
@@ -369,41 +372,42 @@ static const char pixel_types[SWS_PIXEL_TYPE_NB][32] = {
 
 static void serialize_op(AVBPrint *bp, const SwsAArch64OpImplParams *params)
 {
+    const SwsUOpParams *par = &params->par;
     av_bprintf(bp, "ENTRY(");
     impl_func_name(bp, params);
     av_bprintf(bp, ", { .uop = %s", op_types[params->uop]);
     switch (params->uop) {
     case SWS_UOP_PERMUTE:
     case SWS_UOP_COPY:
-        av_bprintf(bp, ", .move = { .num_moves = %d, .dst = {%d, %d, %d, %d, 
%d, %d}, .src = {%d, %d, %d, %d, %d, %d} }",
-                   params->move.num_moves,
-                   params->move.dst[0], params->move.dst[1], 
params->move.dst[2],
-                   params->move.dst[3], params->move.dst[4], 
params->move.dst[5],
-                   params->move.src[0], params->move.src[1], 
params->move.src[2],
-                   params->move.src[3], params->move.src[4], 
params->move.src[5]);
+        av_bprintf(bp, ", .par.move = { .num_moves = %d, .dst = {%d, %d, %d, 
%d, %d, %d}, .src = {%d, %d, %d, %d, %d, %d} }",
+                   par->move.num_moves,
+                   par->move.dst[0], par->move.dst[1], par->move.dst[2],
+                   par->move.dst[3], par->move.dst[4], par->move.dst[5],
+                   par->move.src[0], par->move.src[1], par->move.src[2],
+                   par->move.src[3], par->move.src[4], par->move.src[5]);
         break;
     case SWS_UOP_UNPACK:
     case SWS_UOP_PACK:
-        av_bprintf(bp, ", .pack = { .pattern = {%d, %d, %d, %d} }",
-                   params->pack.pattern[0], params->pack.pattern[1],
-                   params->pack.pattern[2], params->pack.pattern[3]);
+        av_bprintf(bp, ", .par.pack = { .pattern = {%d, %d, %d, %d} }",
+                   par->pack.pattern[0], par->pack.pattern[1],
+                   par->pack.pattern[2], par->pack.pattern[3]);
         break;
     case SWS_UOP_LSHIFT:
     case SWS_UOP_RSHIFT:
-        av_bprintf(bp, ", .shift = { .amount = %u }", params->shift.amount);
+        av_bprintf(bp, ", .par.shift = { .amount = %u }", par->shift.amount);
         break;
     case SWS_UOP_CLEAR:
-        av_bprintf(bp, ", .clear = { .one = 0x%0x, .zero = 0x%0x }", 
params->clear.one, params->clear.zero);
+        av_bprintf(bp, ", .par.clear = { .one = 0x%0x, .zero = 0x%0x }", 
par->clear.one, par->clear.zero);
         break;
     case SWS_UOP_LINEAR:
     case SWS_UOP_LINEAR_FMA:
-        av_bprintf(bp, ", .linear = { .one = 0x%x, .zero = 0x%x }", 
params->linear.one, params->linear.zero);
+        av_bprintf(bp, ", .par.lin = { .one = 0x%x, .zero = 0x%x }", 
par->lin.one, par->lin.zero);
         break;
     case SWS_UOP_DITHER:
-        av_bprintf(bp, ", .dither = { .y_offset = {%u, %u, %u, %u}, .size_log2 
= %u }",
-                   params->dither.y_offset[0], params->dither.y_offset[1],
-                   params->dither.y_offset[2], params->dither.y_offset[3],
-                   params->dither.size_log2);
+        av_bprintf(bp, ", .par.dither = { .y_offset = {%u, %u, %u, %u}, 
.size_log2 = %u }",
+                   par->dither.y_offset[0], par->dither.y_offset[1],
+                   par->dither.y_offset[2], par->dither.y_offset[3],
+                   par->dither.size_log2);
         break;
     }
     av_bprintf(bp, ", .block_size = %u, .type = %s, .mask = 0x%x })", 
params->block_size, pixel_types[params->type], params->mask);

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

Reply via email to