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]
