Commit e488f9caec for ffmpeg

commit e488f9caecb5ed95c6c02a551eae7070d33e7443
Author: Niklas Haas <git@haasn.dev>
Date:   Tue Nov 3 22:20:39 2026 +0100

    swscale/ops_chain: replace SwsImplResult.priv by abstract buffer

    Now that all op kernels use ff_op_priv_pack(), we can use a generic buffer
    here. Pre-emptively size it at 128 bytes to allow storing linear
    kernel data here as well.

    Signed-off-by: Niklas Haas <git@haasn.dev>

diff --git a/libswscale/aarch64/ops.c b/libswscale/aarch64/ops.c
index 4d1e8b3345..10eb3e58d6 100644
--- a/libswscale/aarch64/ops.c
+++ b/libswscale/aarch64/ops.c
@@ -193,7 +193,7 @@ static int compile_uops_aarch64(SwsContext *ctx, const SwsUOpList *uops,
         if (ret < 0)
             goto error;
         av_assert1(res.priv_size == aarch64_priv_size(&params));
-        ret = ff_sws_op_chain_append(chain, func, res.ref, &res.priv, res.priv_size);
+        ret = ff_sws_op_chain_append(chain, func, res.ref, res.priv, res.priv_size);
         av_refstruct_unref(&res.ref);
         if (ret < 0)
             goto error;
diff --git a/libswscale/ops_chain.c b/libswscale/ops_chain.c
index b977c7e69d..ae4595a65e 100644
--- a/libswscale/ops_chain.c
+++ b/libswscale/ops_chain.c
@@ -127,7 +127,7 @@ int ff_sws_uop_lookup(SwsContext *ctx, const SwsUOpTable *const tables[],
     }

     ret = ff_sws_op_chain_append(chain, res.func ? res.func : match->func,
-                                 res.ref, &res.priv, res.priv_size);
+                                 res.ref, res.priv, res.priv_size);
     av_refstruct_unref(&res.ref);
     if (ret < 0)
         return ret;
diff --git a/libswscale/ops_chain.h b/libswscale/ops_chain.h
index 3b1d39997e..55df6ca4e2 100644
--- a/libswscale/ops_chain.h
+++ b/libswscale/ops_chain.h
@@ -137,7 +137,7 @@ typedef struct SwsImplResult {

     /* Private data for this kernel */
     size_t priv_size;
-    SwsOpPriv priv;
+    uint8_t priv[128];
 } SwsImplResult;

 typedef struct SwsUOpEntry {
@@ -161,7 +161,7 @@ int ff_sws_setup_vec4(const SwsImplParams *params, SwsImplResult *out);
 static inline void ff_sws_op_priv_pack(SwsImplResult *out, const void *data, size_t size)
 {
     av_assert0(out->priv_size + size <= sizeof(out->priv));
-    memcpy(&out->priv.data[out->priv_size], data, size);
+    memcpy(&out->priv[out->priv_size], data, size);
     out->priv_size += size;
 }