[FFmpeg-devel] [PATCH 2/2] img2dec: Add mime_type to image formats

Derek Buitenhuis derek.buitenhuis at gmail.com
Wed Feb 24 15:04:15 CET 2016


From: Justin Ruggles <justin.ruggles at gmail.com>

Improves probing, especially over http when there is a Content-Type header

Signed-off-by: Derek Buitenhuis <derek.buitenhuis at gmail.com>
---
 libavformat/img2dec.c | 31 ++++++++++++++++---------------
 1 file changed, 16 insertions(+), 15 deletions(-)

diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c
index a755b6f..25cc82e 100644
--- a/libavformat/img2dec.c
+++ b/libavformat/img2dec.c
@@ -837,7 +837,7 @@ static int webp_probe(AVProbeData *p)
     return 0;
 }
 
-#define IMAGEAUTO_DEMUXER(imgname, codecid)\
+#define IMAGEAUTO_DEMUXER(imgname, codecid, mimetype)\
 static const AVClass imgname ## _class = {\
     .class_name = AV_STRINGIFY(imgname) " demuxer",\
     .item_name  = av_default_item_name,\
@@ -854,19 +854,20 @@ AVInputFormat ff_image_ ## imgname ## _pipe_demuxer = {\
     .priv_class     = & imgname ## _class,\
     .flags          = AVFMT_GENERIC_INDEX, \
     .raw_codec_id   = codecid,\
+    .mime_type      = mimetype,\
 };
 
-IMAGEAUTO_DEMUXER(bmp,     AV_CODEC_ID_BMP)
-IMAGEAUTO_DEMUXER(dds,     AV_CODEC_ID_DDS)
-IMAGEAUTO_DEMUXER(dpx,     AV_CODEC_ID_DPX)
-IMAGEAUTO_DEMUXER(exr,     AV_CODEC_ID_EXR)
-IMAGEAUTO_DEMUXER(j2k,     AV_CODEC_ID_JPEG2000)
-IMAGEAUTO_DEMUXER(jpeg,    AV_CODEC_ID_MJPEG)
-IMAGEAUTO_DEMUXER(jpegls,  AV_CODEC_ID_JPEGLS)
-IMAGEAUTO_DEMUXER(pictor,  AV_CODEC_ID_PICTOR)
-IMAGEAUTO_DEMUXER(png,     AV_CODEC_ID_PNG)
-IMAGEAUTO_DEMUXER(qdraw,   AV_CODEC_ID_QDRAW)
-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(bmp,     AV_CODEC_ID_BMP,      "image/bmp")
+IMAGEAUTO_DEMUXER(dds,     AV_CODEC_ID_DDS,      "image/vnd-ms.dds")
+IMAGEAUTO_DEMUXER(dpx,     AV_CODEC_ID_DPX,      "image/dpx")
+IMAGEAUTO_DEMUXER(exr,     AV_CODEC_ID_EXR,      "image/x-exr")
+IMAGEAUTO_DEMUXER(j2k,     AV_CODEC_ID_JPEG2000, "image/jp2")
+IMAGEAUTO_DEMUXER(jpeg,    AV_CODEC_ID_MJPEG,    "image/jpeg")
+IMAGEAUTO_DEMUXER(jpegls,  AV_CODEC_ID_JPEGLS,   NULL)
+IMAGEAUTO_DEMUXER(pictor,  AV_CODEC_ID_PICTOR,   NULL)
+IMAGEAUTO_DEMUXER(png,     AV_CODEC_ID_PNG,      "image/png")
+IMAGEAUTO_DEMUXER(qdraw,   AV_CODEC_ID_QDRAW,    "image/x-pict")
+IMAGEAUTO_DEMUXER(sgi,     AV_CODEC_ID_SGI,      "image/x-sgi")
+IMAGEAUTO_DEMUXER(sunrast, AV_CODEC_ID_SUNRAST,  "image/x-sun-raster")
+IMAGEAUTO_DEMUXER(tiff,    AV_CODEC_ID_TIFF,     "image/tiff")
+IMAGEAUTO_DEMUXER(webp,    AV_CODEC_ID_WEBP,     "image/webp")
-- 
2.7.0



More information about the ffmpeg-devel mailing list