summaryrefslogtreecommitdiff
path: root/libavformat
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2022-07-03 23:50:05 +0200
committerPaul B Mahol <onemda@gmail.com>2022-07-16 21:43:54 +0200
commit307ab7fe8a47ff0184af9c7e4155c9a6437a87d5 (patch)
tree56562a78ad31c1f70bdd9bce07572a57e483caa0 /libavformat
parent4136405c86162063e45d40d55c9985f348d4ea0a (diff)
avcodec: add Radiance HDR image format support
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/Makefile1
-rw-r--r--libavformat/allformats.c1
-rw-r--r--libavformat/img2.c1
-rw-r--r--libavformat/img2dec.c8
-rw-r--r--libavformat/img2enc.c2
-rw-r--r--libavformat/version.h2
6 files changed, 13 insertions, 2 deletions
diff --git a/libavformat/Makefile b/libavformat/Makefile
index 6c6b779080..e420384355 100644
--- a/libavformat/Makefile
+++ b/libavformat/Makefile
@@ -273,6 +273,7 @@ OBJS-$(CONFIG_IMAGE_DPX_PIPE_DEMUXER) += img2dec.o img2.o
OBJS-$(CONFIG_IMAGE_EXR_PIPE_DEMUXER) += img2dec.o img2.o
OBJS-$(CONFIG_IMAGE_GEM_PIPE_DEMUXER) += img2dec.o img2.o
OBJS-$(CONFIG_IMAGE_GIF_PIPE_DEMUXER) += img2dec.o img2.o
+OBJS-$(CONFIG_IMAGE_HDR_PIPE_DEMUXER) += img2dec.o img2.o
OBJS-$(CONFIG_IMAGE_J2K_PIPE_DEMUXER) += img2dec.o img2.o
OBJS-$(CONFIG_IMAGE_JPEG_PIPE_DEMUXER) += img2dec.o img2.o
OBJS-$(CONFIG_IMAGE_JPEGLS_PIPE_DEMUXER) += img2dec.o img2.o
diff --git a/libavformat/allformats.c b/libavformat/allformats.c
index 32698b857f..ae4479fb7a 100644
--- a/libavformat/allformats.c
+++ b/libavformat/allformats.c
@@ -508,6 +508,7 @@ extern const AVInputFormat ff_image_dpx_pipe_demuxer;
extern const AVInputFormat ff_image_exr_pipe_demuxer;
extern const AVInputFormat ff_image_gem_pipe_demuxer;
extern const AVInputFormat ff_image_gif_pipe_demuxer;
+extern const AVInputFormat ff_image_hdr_pipe_demuxer;
extern const AVInputFormat ff_image_j2k_pipe_demuxer;
extern const AVInputFormat ff_image_jpeg_pipe_demuxer;
extern const AVInputFormat ff_image_jpegls_pipe_demuxer;
diff --git a/libavformat/img2.c b/libavformat/img2.c
index 870d2ebbc5..233e83de37 100644
--- a/libavformat/img2.c
+++ b/libavformat/img2.c
@@ -91,6 +91,7 @@ const IdStrMap ff_img_tags[] = {
{ AV_CODEC_ID_VBN, "vbn" },
{ AV_CODEC_ID_JPEGXL, "jxl" },
{ AV_CODEC_ID_QOI, "qoi" },
+ { AV_CODEC_ID_RADIANCE_HDR, "hdr" },
{ AV_CODEC_ID_NONE, NULL }
};
diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c
index e7ff26e5dd..fbc8a4517a 100644
--- a/libavformat/img2dec.c
+++ b/libavformat/img2dec.c
@@ -1070,6 +1070,13 @@ static int pam_probe(const AVProbeData *p)
return pnm_magic_check(p, 7) ? pnm_probe(p) : 0;
}
+static int hdr_probe(const AVProbeData *p)
+{
+ if (!memcmp(p->buf, "#?RADIANCE\n", 11))
+ return AVPROBE_SCORE_MAX;
+ return 0;
+}
+
static int xbm_probe(const AVProbeData *p)
{
if (!memcmp(p->buf, "/* XBM X10 format */", 20))
@@ -1221,6 +1228,7 @@ IMAGEAUTO_DEMUXER(dpx, DPX)
IMAGEAUTO_DEMUXER(exr, EXR)
IMAGEAUTO_DEMUXER(gem, GEM)
IMAGEAUTO_DEMUXER(gif, GIF)
+IMAGEAUTO_DEMUXER(hdr, RADIANCE_HDR)
IMAGEAUTO_DEMUXER_EXT(j2k, JPEG2000, J2K)
IMAGEAUTO_DEMUXER_EXT(jpeg, MJPEG, JPEG)
IMAGEAUTO_DEMUXER(jpegls, JPEGLS)
diff --git a/libavformat/img2enc.c b/libavformat/img2enc.c
index 0224fb5b0d..40dc51b443 100644
--- a/libavformat/img2enc.c
+++ b/libavformat/img2enc.c
@@ -273,7 +273,7 @@ const AVOutputFormat ff_image2_muxer = {
.long_name = NULL_IF_CONFIG_SMALL("image2 sequence"),
.extensions = "bmp,dpx,exr,jls,jpeg,jpg,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",
+ "im24,sunras,vbn,xbm,xface,pix,y,avif,qoi,hdr",
.priv_data_size = sizeof(VideoMuxData),
.video_codec = AV_CODEC_ID_MJPEG,
.write_header = write_header,
diff --git a/libavformat/version.h b/libavformat/version.h
index 96a44ec4d1..2c1dab3058 100644
--- a/libavformat/version.h
+++ b/libavformat/version.h
@@ -31,7 +31,7 @@
#include "version_major.h"
-#define LIBAVFORMAT_VERSION_MINOR 28
+#define LIBAVFORMAT_VERSION_MINOR 29
#define LIBAVFORMAT_VERSION_MICRO 100
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \