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]

Reply via email to