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
237OBJS-$(CONFIG_IMAGE_PSD_PIPE_DEMUXER) += img2dec.o img2.o237OBJS-$(CONFIG_IMAGE_PSD_PIPE_DEMUXER) += img2dec.o img2.o
238OBJS-$(CONFIG_IMAGE_QDRAW_PIPE_DEMUXER) += img2dec.o img2.o238OBJS-$(CONFIG_IMAGE_QDRAW_PIPE_DEMUXER) += img2dec.o img2.o
239OBJS-$(CONFIG_IMAGE_SGI_PIPE_DEMUXER) += img2dec.o img2.o239OBJS-$(CONFIG_IMAGE_SGI_PIPE_DEMUXER) += img2dec.o img2.o
240OBJS-$(CONFIG_IMAGE_SVG_PIPE_DEMUXER) += img2dec.o img2.o
240OBJS-$(CONFIG_IMAGE_SUNRAST_PIPE_DEMUXER) += img2dec.o img2.o241OBJS-$(CONFIG_IMAGE_SUNRAST_PIPE_DEMUXER) += img2dec.o img2.o
241OBJS-$(CONFIG_IMAGE_TIFF_PIPE_DEMUXER) += img2dec.o img2.o242OBJS-$(CONFIG_IMAGE_TIFF_PIPE_DEMUXER) += img2dec.o img2.o
242OBJS-$(CONFIG_IMAGE_WEBP_PIPE_DEMUXER) += img2dec.o img2.o243OBJS-$(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
369 REGISTER_DEMUXER (IMAGE_PSD_PIPE, image_psd_pipe);369 REGISTER_DEMUXER (IMAGE_PSD_PIPE, image_psd_pipe);
370 REGISTER_DEMUXER (IMAGE_QDRAW_PIPE, image_qdraw_pipe);370 REGISTER_DEMUXER (IMAGE_QDRAW_PIPE, image_qdraw_pipe);
371 REGISTER_DEMUXER (IMAGE_SGI_PIPE, image_sgi_pipe);371 REGISTER_DEMUXER (IMAGE_SGI_PIPE, image_sgi_pipe);
372 REGISTER_DEMUXER (IMAGE_SVG_PIPE, image_svg_pipe);
372 REGISTER_DEMUXER (IMAGE_SUNRAST_PIPE, image_sunrast_pipe);373 REGISTER_DEMUXER (IMAGE_SUNRAST_PIPE, image_sunrast_pipe);
373 REGISTER_DEMUXER (IMAGE_TIFF_PIPE, image_tiff_pipe);374 REGISTER_DEMUXER (IMAGE_TIFF_PIPE, image_tiff_pipe);
374 REGISTER_DEMUXER (IMAGE_WEBP_PIPE, image_webp_pipe);375 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
971 .raw_codec_id = codecid,\971 .raw_codec_id = codecid,\
972};972};
973 973
974static 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
981AVInputFormat 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
974IMAGEAUTO_DEMUXER(bmp, AV_CODEC_ID_BMP)994IMAGEAUTO_DEMUXER(bmp, AV_CODEC_ID_BMP)
975IMAGEAUTO_DEMUXER(dds, AV_CODEC_ID_DDS)995IMAGEAUTO_DEMUXER(dds, AV_CODEC_ID_DDS)
976IMAGEAUTO_DEMUXER(dpx, AV_CODEC_ID_DPX)996IMAGEAUTO_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