History

img2dec: add support for piped SVG demuxing

Only checks the extension and MIME type, since determining whether a file is SVG is difficult since they're just XML files.

Rostislav Pehlivanov committed 9 years ago

Commit f68ea921 parent a13eac53 files · +22 −0Browse files

Unified · Split

3 files
  1. libavformat/Makefile +1 −0
  2. libavformat/allformats.c +1 −0
  3. libavformat/img2dec.c +20 −0
libavformat/Makefile+1−0
@@ -237,6 +237,7 @@ OBJS-$(CONFIG_IMAGE_PPM_PIPE_DEMUXER) += img2dec.o img2.o · 236 unmodified lines
237237 OBJS-$(CONFIG_IMAGE_PSD_PIPE_DEMUXER) += img2dec.o img2.o
238238 OBJS-$(CONFIG_IMAGE_QDRAW_PIPE_DEMUXER) += img2dec.o img2.o
239239 OBJS-$(CONFIG_IMAGE_SGI_PIPE_DEMUXER) += img2dec.o img2.o
240+OBJS-$(CONFIG_IMAGE_SVG_PIPE_DEMUXER) += img2dec.o img2.o
240241 OBJS-$(CONFIG_IMAGE_SUNRAST_PIPE_DEMUXER) += img2dec.o img2.o
241242 OBJS-$(CONFIG_IMAGE_TIFF_PIPE_DEMUXER) += img2dec.o img2.o
242243 OBJS-$(CONFIG_IMAGE_WEBP_PIPE_DEMUXER) += img2dec.o img2.o
libavformat/allformats.c+1−0
@@ -369,6 +369,7 @@ static void register_all(void) · 368 unmodified lines
369369 REGISTER_DEMUXER (IMAGE_PSD_PIPE, image_psd_pipe);
370370 REGISTER_DEMUXER (IMAGE_QDRAW_PIPE, image_qdraw_pipe);
371371 REGISTER_DEMUXER (IMAGE_SGI_PIPE, image_sgi_pipe);
372+ REGISTER_DEMUXER (IMAGE_SVG_PIPE, image_svg_pipe);
372373 REGISTER_DEMUXER (IMAGE_SUNRAST_PIPE, image_sunrast_pipe);
373374 REGISTER_DEMUXER (IMAGE_TIFF_PIPE, image_tiff_pipe);
374375 REGISTER_DEMUXER (IMAGE_WEBP_PIPE, image_webp_pipe);
libavformat/img2dec.c+20−0
@@ -971,6 +971,26 @@ AVInputFormat ff_image_ ## imgname ## _pipe_demuxer = {\ · 970 unmodified lines
971971 .raw_codec_id = codecid,\
972972 };
973973
974+static const AVClass svg_class = {
975+ .class_name = "svg demuxer",
976+ .item_name = av_default_item_name,
977+ .option = ff_img_options,
978+ .version = LIBAVUTIL_VERSION_INT,
979+};
980+
981+AVInputFormat ff_image_svg_pipe_demuxer = {
982+ .name = "svg_pipe",
983+ .long_name = NULL_IF_CONFIG_SMALL("piped svg sequence"),
984+ .priv_data_size = sizeof(VideoDemuxData),
985+ .read_header = ff_img_read_header,
986+ .read_packet = ff_img_read_packet,
987+ .priv_class = &svg_class,
988+ .mime_type = "image/svg+xml",
989+ .extensions = "svg,svgz",
990+ .flags = AVFMT_GENERIC_INDEX,
991+ .raw_codec_id = AV_CODEC_ID_SVG,
992+};
993+
974994 IMAGEAUTO_DEMUXER(bmp, AV_CODEC_ID_BMP)
975995 IMAGEAUTO_DEMUXER(dds, AV_CODEC_ID_DDS)
976996 IMAGEAUTO_DEMUXER(dpx, AV_CODEC_ID_DPX)

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t