summaryrefslogtreecommitdiff
path: root/libavformat
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2022-07-01 10:06:15 +0200
committerPaul B Mahol <onemda@gmail.com>2022-07-03 15:16:31 +0200
commitff1450e449f848ad4b37b3cf448315ba4581364e (patch)
tree4c6e245afa51c3ec58bb0865ed27f2940acf4f4a /libavformat
parent33fe3b73c2d4dec674509de5dc48698895f0806b (diff)
avcodec: add PHM decoder and encoder
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/Makefile2
-rw-r--r--libavformat/allformats.c2
-rw-r--r--libavformat/img2.c1
-rw-r--r--libavformat/img2dec.c16
-rw-r--r--libavformat/img2enc.c2
-rw-r--r--libavformat/version.h2
6 files changed, 22 insertions, 3 deletions
diff --git a/libavformat/Makefile b/libavformat/Makefile
index 1416bf31bd..6c6b779080 100644
--- a/libavformat/Makefile
+++ b/libavformat/Makefile
@@ -280,9 +280,11 @@ OBJS-$(CONFIG_IMAGE_JPEGXL_PIPE_DEMUXER) += img2dec.o img2.o jpegxl_probe.o
OBJS-$(CONFIG_IMAGE_PAM_PIPE_DEMUXER) += img2dec.o img2.o
OBJS-$(CONFIG_IMAGE_PBM_PIPE_DEMUXER) += img2dec.o img2.o
OBJS-$(CONFIG_IMAGE_PCX_PIPE_DEMUXER) += img2dec.o img2.o
+OBJS-$(CONFIG_IMAGE_PFM_PIPE_DEMUXER) += img2dec.o img2.o
OBJS-$(CONFIG_IMAGE_PGMYUV_PIPE_DEMUXER) += img2dec.o img2.o
OBJS-$(CONFIG_IMAGE_PGM_PIPE_DEMUXER) += img2dec.o img2.o
OBJS-$(CONFIG_IMAGE_PGX_PIPE_DEMUXER) += img2dec.o img2.o
+OBJS-$(CONFIG_IMAGE_PHM_PIPE_DEMUXER) += img2dec.o img2.o
OBJS-$(CONFIG_IMAGE_PHOTOCD_PIPE_DEMUXER) += img2dec.o img2.o
OBJS-$(CONFIG_IMAGE_PICTOR_PIPE_DEMUXER) += img2dec.o img2.o
OBJS-$(CONFIG_IMAGE_PNG_PIPE_DEMUXER) += img2dec.o img2.o
diff --git a/libavformat/allformats.c b/libavformat/allformats.c
index 8b84b52c64..32698b857f 100644
--- a/libavformat/allformats.c
+++ b/libavformat/allformats.c
@@ -515,9 +515,11 @@ extern const AVInputFormat ff_image_jpegxl_pipe_demuxer;
extern const AVInputFormat ff_image_pam_pipe_demuxer;
extern const AVInputFormat ff_image_pbm_pipe_demuxer;
extern const AVInputFormat ff_image_pcx_pipe_demuxer;
+extern const AVInputFormat ff_image_pfm_pipe_demuxer;
extern const AVInputFormat ff_image_pgmyuv_pipe_demuxer;
extern const AVInputFormat ff_image_pgm_pipe_demuxer;
extern const AVInputFormat ff_image_pgx_pipe_demuxer;
+extern const AVInputFormat ff_image_phm_pipe_demuxer;
extern const AVInputFormat ff_image_photocd_pipe_demuxer;
extern const AVInputFormat ff_image_pictor_pipe_demuxer;
extern const AVInputFormat ff_image_png_pipe_demuxer;
diff --git a/libavformat/img2.c b/libavformat/img2.c
index 68cb7de2c1..870d2ebbc5 100644
--- a/libavformat/img2.c
+++ b/libavformat/img2.c
@@ -41,6 +41,7 @@ const IdStrMap ff_img_tags[] = {
{ AV_CODEC_ID_PBM, "pbm" },
{ AV_CODEC_ID_PAM, "pam" },
{ AV_CODEC_ID_PFM, "pfm" },
+ { AV_CODEC_ID_PHM, "phm" },
{ AV_CODEC_ID_CRI, "cri" },
{ AV_CODEC_ID_ALIAS_PIX, "pix" },
{ AV_CODEC_ID_DDS, "dds" },
diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c
index e4912cb487..e7ff26e5dd 100644
--- a/libavformat/img2dec.c
+++ b/libavformat/img2dec.c
@@ -1020,7 +1020,19 @@ static inline int pnm_probe(const AVProbeData *p)
static int pbm_probe(const AVProbeData *p)
{
- return pnm_magic_check(p, 1) || pnm_magic_check(p, 4) || pnm_magic_check(p, 22) || pnm_magic_check(p, 54) ? pnm_probe(p) : 0;
+ return pnm_magic_check(p, 1) || pnm_magic_check(p, 4) ? pnm_probe(p) : 0;
+}
+
+static int pfm_probe(const AVProbeData *p)
+{
+ return pnm_magic_check(p, 'F' - '0') ||
+ pnm_magic_check(p, 'f' - '0') ? pnm_probe(p) : 0;
+}
+
+static int phm_probe(const AVProbeData *p)
+{
+ return pnm_magic_check(p, 'H' - '0') ||
+ pnm_magic_check(p, 'h' - '0') ? pnm_probe(p) : 0;
}
static inline int pgmx_probe(const AVProbeData *p)
@@ -1216,9 +1228,11 @@ IMAGEAUTO_DEMUXER(jpegxl, JPEGXL)
IMAGEAUTO_DEMUXER(pam, PAM)
IMAGEAUTO_DEMUXER(pbm, PBM)
IMAGEAUTO_DEMUXER(pcx, PCX)
+IMAGEAUTO_DEMUXER(pfm, PFM)
IMAGEAUTO_DEMUXER(pgm, PGM)
IMAGEAUTO_DEMUXER(pgmyuv, PGMYUV)
IMAGEAUTO_DEMUXER(pgx, PGX)
+IMAGEAUTO_DEMUXER(phm, PHM)
IMAGEAUTO_DEMUXER(photocd, PHOTOCD)
IMAGEAUTO_DEMUXER(pictor, PICTOR)
IMAGEAUTO_DEMUXER(png, PNG)
diff --git a/libavformat/img2enc.c b/libavformat/img2enc.c
index b3a0801ec9..0a11fae34e 100644
--- a/libavformat/img2enc.c
+++ b/libavformat/img2enc.c
@@ -265,7 +265,7 @@ static const AVClass img2mux_class = {
const AVOutputFormat ff_image2_muxer = {
.name = "image2",
.long_name = NULL_IF_CONFIG_SMALL("image2 sequence"),
- .extensions = "bmp,dpx,exr,jls,jpeg,jpg,jxl,ljpg,pam,pbm,pcx,pfm,pgm,pgmyuv,"
+ .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",
.priv_data_size = sizeof(VideoMuxData),
diff --git a/libavformat/version.h b/libavformat/version.h
index 966ebb7ed3..0708d619c0 100644
--- a/libavformat/version.h
+++ b/libavformat/version.h
@@ -31,7 +31,7 @@
#include "version_major.h"
-#define LIBAVFORMAT_VERSION_MINOR 25
+#define LIBAVFORMAT_VERSION_MINOR 26
#define LIBAVFORMAT_VERSION_MICRO 100
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \