diff options
author | Paras Chadha <paraschadha18@gmail.com> | 2017-03-12 02:31:23 +0530 |
---|---|---|
committer | Paul B Mahol <onemda@gmail.com> | 2017-03-12 18:24:49 +0100 |
commit | 5dab7b91adf65eb35d4ae0e76fbd988d55b0d764 (patch) | |
tree | b679e255694b6337d777d3be7a2d5e3762c03f9a /libavformat | |
parent | b9acc7fbd9fe6aeb76c9c91a65f1f5dab141fce4 (diff) | |
download | ffmpeg-5dab7b91adf65eb35d4ae0e76fbd988d55b0d764.tar.gz |
avcodec: add XPM decoder and demuxer
Signed-off-by: Paras Chadha <paraschadha18@gmail.com>
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/Makefile | 1 | ||||
-rw-r--r-- | libavformat/allformats.c | 1 | ||||
-rw-r--r-- | libavformat/img2.c | 1 | ||||
-rw-r--r-- | libavformat/img2dec.c | 10 |
4 files changed, 13 insertions, 0 deletions
diff --git a/libavformat/Makefile b/libavformat/Makefile index fc2d76067b..f56ef16532 100644 --- a/libavformat/Makefile +++ b/libavformat/Makefile @@ -241,6 +241,7 @@ OBJS-$(CONFIG_IMAGE_SGI_PIPE_DEMUXER) += img2dec.o img2.o OBJS-$(CONFIG_IMAGE_SUNRAST_PIPE_DEMUXER) += img2dec.o img2.o OBJS-$(CONFIG_IMAGE_TIFF_PIPE_DEMUXER) += img2dec.o img2.o OBJS-$(CONFIG_IMAGE_WEBP_PIPE_DEMUXER) += img2dec.o img2.o +OBJS-$(CONFIG_IMAGE_XPM_PIPE_DEMUXER) += img2dec.o img2.o OBJS-$(CONFIG_INGENIENT_DEMUXER) += ingenientdec.o rawdec.o OBJS-$(CONFIG_IPMOVIE_DEMUXER) += ipmovie.o OBJS-$(CONFIG_IRCAM_DEMUXER) += ircamdec.o ircam.o pcm.o diff --git a/libavformat/allformats.c b/libavformat/allformats.c index 132e58b8b9..09e62c3cfc 100644 --- a/libavformat/allformats.c +++ b/libavformat/allformats.c @@ -372,6 +372,7 @@ static void register_all(void) REGISTER_DEMUXER (IMAGE_SUNRAST_PIPE, image_sunrast_pipe); REGISTER_DEMUXER (IMAGE_TIFF_PIPE, image_tiff_pipe); REGISTER_DEMUXER (IMAGE_WEBP_PIPE, image_webp_pipe); + REGISTER_DEMUXER (IMAGE_XPM_PIPE, image_xpm_pipe); /* external libraries */ REGISTER_MUXER (CHROMAPRINT, chromaprint); diff --git a/libavformat/img2.c b/libavformat/img2.c index f9f53ff558..29df4f04e2 100644 --- a/libavformat/img2.c +++ b/libavformat/img2.c @@ -75,6 +75,7 @@ const IdStrMap ff_img_tags[] = { { AV_CODEC_ID_V210X, "yuv10" }, { AV_CODEC_ID_WEBP, "webp" }, { AV_CODEC_ID_XBM, "xbm" }, + { AV_CODEC_ID_XPM, "xpm" }, { AV_CODEC_ID_XFACE, "xface" }, { AV_CODEC_ID_XWD, "xwd" }, { AV_CODEC_ID_NONE, NULL } diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c index c3c2cf3640..b454071168 100644 --- a/libavformat/img2dec.c +++ b/libavformat/img2dec.c @@ -943,6 +943,15 @@ static int pam_probe(AVProbeData *p) return pnm_magic_check(p, 7) ? pnm_probe(p) : 0; } +static int xpm_probe(AVProbeData *p) +{ + const uint8_t *b = p->buf; + + if (AV_RB64(b) == 0x2f2a2058504d202a && *(b+8) == '/') + return AVPROBE_SCORE_MAX - 1; + return 0; +} + #define IMAGEAUTO_DEMUXER(imgname, codecid)\ static const AVClass imgname ## _class = {\ .class_name = AV_STRINGIFY(imgname) " demuxer",\ @@ -983,3 +992,4 @@ IMAGEAUTO_DEMUXER(sgi, AV_CODEC_ID_SGI) IMAGEAUTO_DEMUXER(sunrast, AV_CODEC_ID_SUNRAST) IMAGEAUTO_DEMUXER(tiff, AV_CODEC_ID_TIFF) IMAGEAUTO_DEMUXER(webp, AV_CODEC_ID_WEBP) +IMAGEAUTO_DEMUXER(xpm, AV_CODEC_ID_XPM) |