This is an automated email from the git hooks/post-receive script. Git pushed a commit to branch master in repository ffmpeg.
commit 3b1214a89767ccd4ccdf0561952c79566cbc5b7d Author: James Almer <[email protected]> AuthorDate: Tue Dec 2 17:44:59 2025 -0300 Commit: James Almer <[email protected]> CommitDate: Sat Dec 13 19:03:36 2025 -0300 avformat: add a raw JPEG-XS muxer and demuxer Signed-off-by: James Almer <[email protected]> --- Changelog | 1 + libavformat/allformats.c | 1 + libavformat/img2.c | 1 + libavformat/img2dec.c | 10 ++++++++++ libavformat/img2enc.c | 2 +- libavformat/version.h | 2 +- 6 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Changelog b/Changelog index af5fbf6599..569c7ffad8 100644 --- a/Changelog +++ b/Changelog @@ -17,6 +17,7 @@ version <next>: - Add vf_scale_d3d12 filter - JPEG-XS parser - JPEG-XS decoder and encoder through libsvtjpegxs +- JPEG-XS raw bitstream muxer and demuxer version 8.0: diff --git a/libavformat/allformats.c b/libavformat/allformats.c index 3a025da3db..6ec361fb7b 100644 --- a/libavformat/allformats.c +++ b/libavformat/allformats.c @@ -549,6 +549,7 @@ extern const FFInputFormat ff_image_j2k_pipe_demuxer; extern const FFInputFormat ff_image_jpeg_pipe_demuxer; extern const FFInputFormat ff_image_jpegls_pipe_demuxer; extern const FFInputFormat ff_image_jpegxl_pipe_demuxer; +extern const FFInputFormat ff_image_jpegxs_pipe_demuxer; extern const FFInputFormat ff_image_pam_pipe_demuxer; extern const FFInputFormat ff_image_pbm_pipe_demuxer; extern const FFInputFormat ff_image_pcx_pipe_demuxer; diff --git a/libavformat/img2.c b/libavformat/img2.c index 9981867f82..2c69a932da 100644 --- a/libavformat/img2.c +++ b/libavformat/img2.c @@ -92,6 +92,7 @@ TAG(GEM, timg ) \ TAG(VBN, vbn ) \ TAG(JPEGXL, jxl ) \ + TAG(JPEGXS, jxs ) \ TAG(QOI, qoi ) \ TAG(RADIANCE_HDR, hdr ) \ TAG(WBMP, wbmp ) \ diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c index 1f7e0fcce1..8f1c9013ca 100644 --- a/libavformat/img2dec.c +++ b/libavformat/img2dec.c @@ -824,6 +824,15 @@ static int jpegxl_probe(const AVProbeData *p) return 0; } +static int jpegxs_probe(const AVProbeData *p) +{ + const uint8_t *b = p->buf; + + if (AV_RB32(b) == 0xff10ff50) + return AVPROBE_SCORE_EXTENSION + 1; + return 0; +} + static int pcx_probe(const AVProbeData *p) { const uint8_t *b = p->buf; @@ -1204,6 +1213,7 @@ IMAGEAUTO_DEMUXER(gif, GIF) IMAGEAUTO_DEMUXER_EXT(hdr, RADIANCE_HDR, HDR) IMAGEAUTO_DEMUXER_EXT(j2k, JPEG2000, J2K) IMAGEAUTO_DEMUXER_EXT(jpeg, MJPEG, JPEG) +IMAGEAUTO_DEMUXER(jpegxs, JPEGXS) IMAGEAUTO_DEMUXER(jpegls, JPEGLS) IMAGEAUTO_DEMUXER(jpegxl, JPEGXL) IMAGEAUTO_DEMUXER(pam, PAM) diff --git a/libavformat/img2enc.c b/libavformat/img2enc.c index fb51151090..62ec5be64b 100644 --- a/libavformat/img2enc.c +++ b/libavformat/img2enc.c @@ -290,7 +290,7 @@ static const AVClass img2mux_class = { const FFOutputFormat ff_image2_muxer = { .p.name = "image2", .p.long_name = NULL_IF_CONFIG_SMALL("image2 sequence"), - .p.extensions = "bmp,dpx,exr,jls,jpeg,jpg,jxl,ljpg,pam,pbm,pcx,pfm,pgm,pgmyuv,phm," + .p.extensions = "bmp,dpx,exr,jls,jpeg,jpg,jxs,jxl,ljpg,pam,pbm,pcx,pfm,pgm,pgmyuv,phm," "png,ppm,sgi,tga,tif,tiff,jp2,j2c,j2k,xwd,sun,ras,rs,im1,im8," "im24,sunras,vbn,xbm,xface,pix,y,avif,qoi,hdr,wbmp", .priv_data_size = sizeof(VideoMuxData), diff --git a/libavformat/version.h b/libavformat/version.h index 70c554c19c..35d796d318 100644 --- a/libavformat/version.h +++ b/libavformat/version.h @@ -31,7 +31,7 @@ #include "version_major.h" -#define LIBAVFORMAT_VERSION_MINOR 7 +#define LIBAVFORMAT_VERSION_MINOR 8 #define LIBAVFORMAT_VERSION_MICRO 100 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \ _______________________________________________ ffmpeg-cvslog mailing list -- [email protected] To unsubscribe send an email to [email protected]
