summaryrefslogtreecommitdiff
path: root/libavformat/img2dec.c
diff options
context:
space:
mode:
authorCarl Eugen Hoyos <ceffmpeg@gmail.com>2020-09-05 10:45:52 +0200
committerCarl Eugen Hoyos <ceffmpeg@gmail.com>2020-09-05 10:45:52 +0200
commitd263838958def82118bc2abe7fe1ccb0821af550 (patch)
tree413b42af43c1c9233010363013db503c53c92e9e /libavformat/img2dec.c
parent1d1411822a3d888e5e2bfcc73c69e7e6eb9a63b3 (diff)
lavf/img2dec: Auto-detect Kodak Photo CD image files.
Diffstat (limited to 'libavformat/img2dec.c')
-rw-r--r--libavformat/img2dec.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c
index a7e89cd056..9a3c9fad02 100644
--- a/libavformat/img2dec.c
+++ b/libavformat/img2dec.c
@@ -1070,6 +1070,17 @@ static int gif_probe(const AVProbeData *p)
return AVPROBE_SCORE_MAX - 1;
}
+static int photocd_probe(const AVProbeData *p)
+{
+ if (!memcmp(p->buf, "PCD_OPA", 7))
+ return AVPROBE_SCORE_MAX - 1;
+
+ if (p->buf_size < 0x807 || memcmp(p->buf + 0x800, "PCD_IPI", 7))
+ return 0;
+
+ return AVPROBE_SCORE_MAX - 1;
+}
+
#define IMAGEAUTO_DEMUXER(imgname, codecid)\
static const AVClass imgname ## _class = {\
.class_name = AV_STRINGIFY(imgname) " demuxer",\
@@ -1103,6 +1114,7 @@ IMAGEAUTO_DEMUXER(pcx, AV_CODEC_ID_PCX)
IMAGEAUTO_DEMUXER(pgm, AV_CODEC_ID_PGM)
IMAGEAUTO_DEMUXER(pgmyuv, AV_CODEC_ID_PGMYUV)
IMAGEAUTO_DEMUXER(pgx, AV_CODEC_ID_PGX)
+IMAGEAUTO_DEMUXER(photocd, AV_CODEC_ID_PHOTOCD)
IMAGEAUTO_DEMUXER(pictor, AV_CODEC_ID_PICTOR)
IMAGEAUTO_DEMUXER(png, AV_CODEC_ID_PNG)
IMAGEAUTO_DEMUXER(ppm, AV_CODEC_ID_PPM)