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

Git pushed a commit to branch master
in repository ffmpeg.

commit 5a26a9ffa17cb1eed95c0020bb71c5078f378b96
Author:     Niklas Haas <[email protected]>
AuthorDate: Tue Oct 20 23:45:05 2026 +0200
Commit:     Niklas Haas <[email protected]>
CommitDate: Sat Oct 24 19:10:48 2026 +0000

    swscale/ops_internal: make pack decoding helper take the pattern directly
    
    Allows reusing it for SwsPackUOp, which has the same pattern layout.
    
    Co-Authored-By: Claude Opus 5.5 <[email protected]>
    Signed-off-by: Niklas Haas <[email protected]>
---
 libswscale/ops.c          | 4 ++--
 libswscale/ops_internal.h | 7 ++++---
 libswscale/vulkan/ops.c   | 2 +-
 3 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/libswscale/ops.c b/libswscale/ops.c
index 6b8ec400ca..2660d66d06 100644
--- a/libswscale/ops.c
+++ b/libswscale/ops.c
@@ -209,14 +209,14 @@ void ff_sws_apply_op_q(const SwsOp *op, AVRational64 x[4])
     case SWS_OP_WRITE:
         return;
     case SWS_OP_UNPACK: {
-        ff_sws_pack_op_decode(op, mask, shift);
+        ff_sws_pack_decode(op->pack.pattern, mask, shift);
         unsigned val = x[0].num;
         for (int i = 0; i < 4; i++)
             x[i] = Q((val >> shift[i]) & mask[i]);
         return;
     }
     case SWS_OP_PACK: {
-        ff_sws_pack_op_decode(op, mask, shift);
+        ff_sws_pack_decode(op->pack.pattern, mask, shift);
         unsigned val = 0;
         for (int i = 0; i < 4; i++)
             val |= (x[i].num & mask[i]) << shift[i];
diff --git a/libswscale/ops_internal.h b/libswscale/ops_internal.h
index b9e070e81b..e956c34eb0 100644
--- a/libswscale/ops_internal.h
+++ b/libswscale/ops_internal.h
@@ -28,13 +28,14 @@
 
 #define Q(N) ((AVRational64) { N, 1 })
 
-static inline void ff_sws_pack_op_decode(const SwsOp *op, uint64_t mask[4], 
int shift[4])
+static inline void ff_sws_pack_decode(const uint8_t pattern[4],
+                                      uint64_t mask[4], int shift[4])
 {
     int size = 0;
     for (int i = 0; i < 4; i++)
-        size += op->pack.pattern[i];
+        size += pattern[i];
     for (int i = 0; i < 4; i++) {
-        const int bits = op->pack.pattern[i];
+        const int bits = pattern[i];
         mask[i] = (UINT64_C(1) << bits) - 1;
         shift[i] = (i ? shift[i - 1] : size) - bits;
     }
diff --git a/libswscale/vulkan/ops.c b/libswscale/vulkan/ops.c
index 910aac11e3..5a840b788d 100644
--- a/libswscale/vulkan/ops.c
+++ b/libswscale/vulkan/ops.c
@@ -568,7 +568,7 @@ static void define_shader_consts(SwsContext *sws, const 
SwsOpList *ops,
         case SWS_OP_UNPACK: {
             uint64_t mask[4];
             int shift[4], tmp[4];
-            ff_sws_pack_op_decode(op, mask, shift);
+            ff_sws_pack_decode(op->pack.pattern, mask, shift);
             for (int i = 0; i < 4; i++)
                 tmp[i] = spi_OpConstantUInt(spi, u32_type, shift[i]);
             oid->pack.shift = spi_OpConstantComposite(spi, id->u32vec4_type,

-- 
To stop receiving notification emails like this one, please contact
[email protected].
_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to