avformat: add a raw JPEG-XS muxer and demuxer

Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
James Almer
2025-12-13 19:03:36 -03:00
parent 08db850159
commit 3b1214a897
6 changed files with 15 additions and 2 deletions
+1
View File
@@ -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:
+1
View File
@@ -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;
+1
View File
@@ -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 ) \
+10
View File
@@ -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)
+1 -1
View File
@@ -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),
+1 -1
View File
@@ -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, \