This is an automated email from the git hooks/post-receive script. Git pushed a commit to branch master in repository ffmpeg.
commit 3160ace20a6740537d39bf74774ef93f7dbc730e Author: Niklas Haas <[email protected]> AuthorDate: Fri Dec 5 19:17:30 2025 +0100 Commit: Niklas Haas <[email protected]> CommitDate: Tue Dec 9 09:47:48 2025 +0000 swscale/format: derive fmt_read_write() for regular formats --- libswscale/format.c | 129 ++++------------------------------------------------ 1 file changed, 9 insertions(+), 120 deletions(-) diff --git a/libswscale/format.c b/libswscale/format.c index ffdde2af01..013ff040b4 100644 --- a/libswscale/format.c +++ b/libswscale/format.c @@ -800,11 +800,16 @@ static int fmt_read_write(enum AVPixelFormat fmt, SwsReadWriteOp *rw_op, if (!*pixel_type) return AVERROR(ENOTSUP); - switch (fmt) { - case AV_PIX_FMT_NONE: - case AV_PIX_FMT_NB: - break; + if (is_regular_fmt(fmt)) { + *pack_op = (SwsPackOp) {0}; + *rw_op = (SwsReadWriteOp) { + .elems = desc->nb_components, + .packed = desc->nb_components > 1 && !(desc->flags & AV_PIX_FMT_FLAG_PLANAR), + }; + return 0; + } + switch (fmt) { /* Packed bitstream formats */ case AV_PIX_FMT_MONOWHITE: case AV_PIX_FMT_MONOBLACK: @@ -888,122 +893,6 @@ static int fmt_read_write(enum AVPixelFormat fmt, SwsReadWriteOp *rw_op, *pack_op = (SwsPackOp) {0}; *rw_op = (SwsReadWriteOp) { .elems = 4, .packed = true }; return 0; - /* Unpacked byte-aligned 4:4:4 formats */ - case AV_PIX_FMT_YUV444P: - case AV_PIX_FMT_YUVJ444P: - case AV_PIX_FMT_YUV444P9BE: - case AV_PIX_FMT_YUV444P9LE: - case AV_PIX_FMT_YUV444P10BE: - case AV_PIX_FMT_YUV444P10LE: - case AV_PIX_FMT_YUV444P12BE: - case AV_PIX_FMT_YUV444P12LE: - case AV_PIX_FMT_YUV444P14BE: - case AV_PIX_FMT_YUV444P14LE: - case AV_PIX_FMT_YUV444P16BE: - case AV_PIX_FMT_YUV444P16LE: - case AV_PIX_FMT_YUV444P10MSBBE: - case AV_PIX_FMT_YUV444P10MSBLE: - case AV_PIX_FMT_YUV444P12MSBBE: - case AV_PIX_FMT_YUV444P12MSBLE: - case AV_PIX_FMT_YUVA444P: - case AV_PIX_FMT_YUVA444P9BE: - case AV_PIX_FMT_YUVA444P9LE: - case AV_PIX_FMT_YUVA444P10BE: - case AV_PIX_FMT_YUVA444P10LE: - case AV_PIX_FMT_YUVA444P12BE: - case AV_PIX_FMT_YUVA444P12LE: - case AV_PIX_FMT_YUVA444P16BE: - case AV_PIX_FMT_YUVA444P16LE: - case AV_PIX_FMT_AYUV: - case AV_PIX_FMT_UYVA: - case AV_PIX_FMT_VYU444: - case AV_PIX_FMT_AYUV64BE: - case AV_PIX_FMT_AYUV64LE: - case AV_PIX_FMT_VUYA: - case AV_PIX_FMT_RGB24: - case AV_PIX_FMT_BGR24: - case AV_PIX_FMT_RGB48BE: - case AV_PIX_FMT_RGB48LE: - case AV_PIX_FMT_BGR48BE: - case AV_PIX_FMT_BGR48LE: - //case AV_PIX_FMT_RGB96BE: TODO: AVRational can't fit 2^32-1 - //case AV_PIX_FMT_RGB96LE: - //case AV_PIX_FMT_RGBF16BE: TODO: no support for float16 currently - //case AV_PIX_FMT_RGBF16LE: - case AV_PIX_FMT_RGBF32BE: - case AV_PIX_FMT_RGBF32LE: - case AV_PIX_FMT_ARGB: - case AV_PIX_FMT_RGBA: - case AV_PIX_FMT_ABGR: - case AV_PIX_FMT_BGRA: - case AV_PIX_FMT_RGBA64BE: - case AV_PIX_FMT_RGBA64LE: - case AV_PIX_FMT_BGRA64BE: - case AV_PIX_FMT_BGRA64LE: - //case AV_PIX_FMT_RGBA128BE: TODO: AVRational can't fit 2^32-1 - //case AV_PIX_FMT_RGBA128LE: - case AV_PIX_FMT_RGBAF32BE: - case AV_PIX_FMT_RGBAF32LE: - case AV_PIX_FMT_GBRP: - case AV_PIX_FMT_GBRP9BE: - case AV_PIX_FMT_GBRP9LE: - case AV_PIX_FMT_GBRP10BE: - case AV_PIX_FMT_GBRP10LE: - case AV_PIX_FMT_GBRP12BE: - case AV_PIX_FMT_GBRP12LE: - case AV_PIX_FMT_GBRP14BE: - case AV_PIX_FMT_GBRP14LE: - case AV_PIX_FMT_GBRP16BE: - case AV_PIX_FMT_GBRP16LE: - //case AV_PIX_FMT_GBRPF16BE: TODO - //case AV_PIX_FMT_GBRPF16LE: - case AV_PIX_FMT_GBRP10MSBBE: - case AV_PIX_FMT_GBRP10MSBLE: - case AV_PIX_FMT_GBRP12MSBBE: - case AV_PIX_FMT_GBRP12MSBLE: - case AV_PIX_FMT_GBRPF32BE: - case AV_PIX_FMT_GBRPF32LE: - case AV_PIX_FMT_GBRAP: - case AV_PIX_FMT_GBRAP10BE: - case AV_PIX_FMT_GBRAP10LE: - case AV_PIX_FMT_GBRAP12BE: - case AV_PIX_FMT_GBRAP12LE: - case AV_PIX_FMT_GBRAP14BE: - case AV_PIX_FMT_GBRAP14LE: - case AV_PIX_FMT_GBRAP16BE: - case AV_PIX_FMT_GBRAP16LE: - //case AV_PIX_FMT_GBRAPF16BE: TODO - //case AV_PIX_FMT_GBRAPF16LE: - case AV_PIX_FMT_GBRAPF32BE: - case AV_PIX_FMT_GBRAPF32LE: - case AV_PIX_FMT_GRAY8: - case AV_PIX_FMT_GRAY9BE: - case AV_PIX_FMT_GRAY9LE: - case AV_PIX_FMT_GRAY10BE: - case AV_PIX_FMT_GRAY10LE: - case AV_PIX_FMT_GRAY12BE: - case AV_PIX_FMT_GRAY12LE: - case AV_PIX_FMT_GRAY14BE: - case AV_PIX_FMT_GRAY14LE: - case AV_PIX_FMT_GRAY16BE: - case AV_PIX_FMT_GRAY16LE: - //case AV_PIX_FMT_GRAYF16BE: TODO - //case AV_PIX_FMT_GRAYF16LE: - //case AV_PIX_FMT_YAF16BE: - //case AV_PIX_FMT_YAF16LE: - case AV_PIX_FMT_GRAYF32BE: - case AV_PIX_FMT_GRAYF32LE: - case AV_PIX_FMT_YAF32BE: - case AV_PIX_FMT_YAF32LE: - case AV_PIX_FMT_YA8: - case AV_PIX_FMT_YA16LE: - case AV_PIX_FMT_YA16BE: - *pack_op = (SwsPackOp) {0}; - *rw_op = (SwsReadWriteOp) { - .elems = desc->nb_components, - .packed = desc->nb_components > 1 && !(desc->flags & AV_PIX_FMT_FLAG_PLANAR), - }; - return 0; } return AVERROR(ENOTSUP); _______________________________________________ ffmpeg-cvslog mailing list -- [email protected] To unsubscribe send an email to [email protected]
