Only checks the extension and MIME type, since determining whether a file is SVG is difficult since they're just XML files.
Unified · Split
| @@ -237,6 +237,7 @@ OBJS-$(CONFIG_IMAGE_PPM_PIPE_DEMUXER) += img2dec.o img2.o · 236 unmodified lines | |||
| 237 | OBJS-$(CONFIG_IMAGE_PSD_PIPE_DEMUXER) += img2dec.o img2.o | 237 | OBJS-$(CONFIG_IMAGE_PSD_PIPE_DEMUXER) += img2dec.o img2.o |
| 238 | OBJS-$(CONFIG_IMAGE_QDRAW_PIPE_DEMUXER) += img2dec.o img2.o | 238 | OBJS-$(CONFIG_IMAGE_QDRAW_PIPE_DEMUXER) += img2dec.o img2.o |
| 239 | OBJS-$(CONFIG_IMAGE_SGI_PIPE_DEMUXER) += img2dec.o img2.o | 239 | OBJS-$(CONFIG_IMAGE_SGI_PIPE_DEMUXER) += img2dec.o img2.o |
| 240 | OBJS-$(CONFIG_IMAGE_SVG_PIPE_DEMUXER) += img2dec.o img2.o | ||
| 240 | OBJS-$(CONFIG_IMAGE_SUNRAST_PIPE_DEMUXER) += img2dec.o img2.o | 241 | OBJS-$(CONFIG_IMAGE_SUNRAST_PIPE_DEMUXER) += img2dec.o img2.o |
| 241 | OBJS-$(CONFIG_IMAGE_TIFF_PIPE_DEMUXER) += img2dec.o img2.o | 242 | OBJS-$(CONFIG_IMAGE_TIFF_PIPE_DEMUXER) += img2dec.o img2.o |
| 242 | OBJS-$(CONFIG_IMAGE_WEBP_PIPE_DEMUXER) += img2dec.o img2.o | 243 | OBJS-$(CONFIG_IMAGE_WEBP_PIPE_DEMUXER) += img2dec.o img2.o |
| @@ -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); |
| @@ -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 | ||
| 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 | |||
| 974 | IMAGEAUTO_DEMUXER(bmp, AV_CODEC_ID_BMP) | 994 | IMAGEAUTO_DEMUXER(bmp, AV_CODEC_ID_BMP) |
| 975 | IMAGEAUTO_DEMUXER(dds, AV_CODEC_ID_DDS) | 995 | IMAGEAUTO_DEMUXER(dds, AV_CODEC_ID_DDS) |
| 976 | IMAGEAUTO_DEMUXER(dpx, AV_CODEC_ID_DPX) | 996 | IMAGEAUTO_DEMUXER(dpx, AV_CODEC_ID_DPX) |