[FFmpeg-devel] [PATCH] avformat/img2dec: add non pipe AVInputFormats
Michael Niedermayer
michaelni at gmx.at
Fri Jul 4 17:01:49 CEST 2014
These currently do not get autoselected, as they have no probe functions nor
list file extensions
Suggested-by: wm4
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
---
libavformat/allformats.c | 9 +++++++++
libavformat/img2dec.c | 21 +++++++++++++++++++--
2 files changed, 28 insertions(+), 2 deletions(-)
diff --git a/libavformat/allformats.c b/libavformat/allformats.c
index c07fbd1..6348f28 100644
--- a/libavformat/allformats.c
+++ b/libavformat/allformats.c
@@ -319,6 +319,15 @@ void av_register_all(void)
REGISTER_MUXDEMUX(YUV4MPEGPIPE, yuv4mpegpipe);
/* image demuxers */
+ REGISTER_DEMUXER (IMAGE_BMP, image_bmp);
+ REGISTER_DEMUXER (IMAGE_DPX, image_dpx);
+ REGISTER_DEMUXER (IMAGE_EXR, image_exr);
+ REGISTER_DEMUXER (IMAGE_J2K, image_j2k);
+ REGISTER_DEMUXER (IMAGE_PICTOR, image_pictor);
+ REGISTER_DEMUXER (IMAGE_PNG, image_png);
+ REGISTER_DEMUXER (IMAGE_SGI, image_sgi);
+ REGISTER_DEMUXER (IMAGE_SUNRAST, image_sunrast);
+ REGISTER_DEMUXER (IMAGE_TIFF, image_tiff);
REGISTER_DEMUXER (IMAGE_BMP_PIPE, image_bmp_pipe);
REGISTER_DEMUXER (IMAGE_DPX_PIPE, image_dpx_pipe);
REGISTER_DEMUXER (IMAGE_EXR_PIPE, image_exr_pipe);
diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c
index cda4996..52bc201 100644
--- a/libavformat/img2dec.c
+++ b/libavformat/img2dec.c
@@ -658,8 +658,8 @@ static int tiff_probe(AVProbeData *p)
}
#define IMAGEAUTO_DEMUXER(imgname, codecid)\
-static const AVClass imgname ## _class = {\
- .class_name = AV_STRINGIFY(imgname) " demuxer",\
+static const AVClass imgname ## _pipe_class = {\
+ .class_name = AV_STRINGIFY(imgname) "pipe demuxer",\
.item_name = av_default_item_name,\
.option = options,\
.version = LIBAVUTIL_VERSION_INT,\
@@ -670,6 +670,23 @@ AVInputFormat ff_image_ ## imgname ## _pipe_demuxer = {\
.read_probe = imgname ## _probe,\
.read_header = ff_img_read_header,\
.read_packet = ff_img_read_packet,\
+ .priv_class = & imgname ## _pipe_class,\
+ .raw_codec_id = codecid,\
+};\
+static const AVClass imgname ## _class = {\
+ .class_name = AV_STRINGIFY(imgname) " demuxer",\
+ .item_name = av_default_item_name,\
+ .option = options,\
+ .version = LIBAVUTIL_VERSION_INT,\
+};\
+AVInputFormat ff_image_ ## imgname ## _demuxer = {\
+ .name = AV_STRINGIFY(imgname),\
+ .priv_data_size = sizeof(VideoDemuxData),\
+ .read_header = ff_img_read_header,\
+ .read_packet = ff_img_read_packet,\
+ .read_close = img_read_close,\
+ .read_seek = img_read_seek,\
+ .flags = AVFMT_NOFILE,\
.priv_class = & imgname ## _class,\
.raw_codec_id = codecid,\
};
--
1.7.9.5
More information about the ffmpeg-devel
mailing list