This is an automated email from the git hooks/post-receive script. Git pushed a commit to branch master in repository ffmpeg.
commit 127efb70727bd9a82659238f415506c913bac66a Author: Niklas Haas <[email protected]> AuthorDate: Tue Jun 16 15:03:56 2026 +0200 Commit: Niklas Haas <[email protected]> CommitDate: Sat Jun 20 02:49:48 2026 +0200 swscale/format: pass SwsFormat to ff_sws_decode_colors() Needed to set initial plane size metadata. I decided to update ff_sws_encode_colors() as well for symmetry. Sponsored-by: Sovereign Tech Fund Signed-off-by: Niklas Haas <[email protected]> --- libswscale/format.c | 23 +++++++++++------------ libswscale/format.h | 4 ++-- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/libswscale/format.c b/libswscale/format.c index 545ba1909e..c34d335500 100644 --- a/libswscale/format.c +++ b/libswscale/format.c @@ -958,11 +958,10 @@ static void swizzle_inv(SwsSwizzleOp *swiz) * it will end up getting pushed towards the output or optimized away entirely * by the optimization pass. */ -static SwsClearOp fmt_clear(enum AVPixelFormat fmt) +static SwsClearOp fmt_clear(const SwsFormat *fmt) { - const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(fmt); - const bool has_chroma = desc->nb_components >= 3; - const bool has_alpha = desc->flags & AV_PIX_FMT_FLAG_ALPHA; + const bool has_chroma = fmt->desc->nb_components >= 3; + const bool has_alpha = fmt->desc->flags & AV_PIX_FMT_FLAG_ALPHA; SwsClearOp c = {0}; if (!has_chroma) { @@ -984,9 +983,9 @@ static SwsClearOp fmt_clear(enum AVPixelFormat fmt) # define NATIVE_ENDIAN_FLAG 0 #endif -int ff_sws_decode_pixfmt(SwsOpList *ops, enum AVPixelFormat fmt) +int ff_sws_decode_pixfmt(SwsOpList *ops, const SwsFormat *fmt) { - const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(fmt); + const AVPixFmtDescriptor *desc = fmt->desc; SwsPixelType pixel_type, raw_type; SwsReadWriteOp rw_op; SwsSwizzleOp swizzle; @@ -994,7 +993,7 @@ int ff_sws_decode_pixfmt(SwsOpList *ops, enum AVPixelFormat fmt) SwsComps *comps = &ops->comps_src; SwsShiftOp shift; - RET(fmt_analyze(fmt, &rw_op, &unpack, &swizzle, &shift, + RET(fmt_analyze(fmt->format, &rw_op, &unpack, &swizzle, &shift, &pixel_type, &raw_type)); swizzle_inv(&swizzle); @@ -1073,16 +1072,16 @@ int ff_sws_decode_pixfmt(SwsOpList *ops, enum AVPixelFormat fmt) return 0; } -int ff_sws_encode_pixfmt(SwsOpList *ops, enum AVPixelFormat fmt) +int ff_sws_encode_pixfmt(SwsOpList *ops, const SwsFormat *fmt) { - const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(fmt); + const AVPixFmtDescriptor *desc = fmt->desc; SwsPixelType pixel_type, raw_type; SwsReadWriteOp rw_op; SwsSwizzleOp swizzle; SwsPackOp pack; SwsShiftOp shift; - RET(fmt_analyze(fmt, &rw_op, &pack, &swizzle, &shift, + RET(fmt_analyze(fmt->format, &rw_op, &pack, &swizzle, &shift, &pixel_type, &raw_type)); if (shift.amount) { @@ -1680,7 +1679,7 @@ int ff_sws_op_list_generate(SwsContext *ctx, const SwsFormat *src, ops->dst = *dst; const SwsPixelType type = SWS_PIXEL_F32; - int ret = ff_sws_decode_pixfmt(ops, src->format); + int ret = ff_sws_decode_pixfmt(ops, src); if (ret < 0) goto fail; ret = ff_sws_decode_colors(ctx, type, ops, src, incomplete); @@ -1692,7 +1691,7 @@ int ff_sws_op_list_generate(SwsContext *ctx, const SwsFormat *src, ret = ff_sws_encode_colors(ctx, type, ops, src, dst, incomplete); if (ret < 0) goto fail; - ret = ff_sws_encode_pixfmt(ops, dst->format); + ret = ff_sws_encode_pixfmt(ops, dst); if (ret < 0) goto fail; diff --git a/libswscale/format.h b/libswscale/format.h index 67f25d7006..36158da55a 100644 --- a/libswscale/format.h +++ b/libswscale/format.h @@ -174,8 +174,8 @@ typedef enum SwsPixelType SwsPixelType; * * Returns 0 on success, or a negative error code on failure. */ -int ff_sws_decode_pixfmt(SwsOpList *ops, enum AVPixelFormat fmt); -int ff_sws_encode_pixfmt(SwsOpList *ops, enum AVPixelFormat fmt); +int ff_sws_decode_pixfmt(SwsOpList *ops, const SwsFormat *fmt); +int ff_sws_encode_pixfmt(SwsOpList *ops, const SwsFormat *fmt); /** * Append a set of operations for transforming decoded pixel values to/from _______________________________________________ ffmpeg-cvslog mailing list -- [email protected] To unsubscribe send an email to [email protected]
