summaryrefslogtreecommitdiff
path: root/libavformat/rawdec.h
diff options
context:
space:
mode:
Diffstat (limited to 'libavformat/rawdec.h')
-rw-r--r--libavformat/rawdec.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/libavformat/rawdec.h b/libavformat/rawdec.h
index 835b42db07..a464bbb432 100644
--- a/libavformat/rawdec.h
+++ b/libavformat/rawdec.h
@@ -69,4 +69,27 @@ AVInputFormat ff_ ## shortname ## _demuxer = {\
#define FF_DEF_RAWVIDEO_DEMUXER(shortname, longname, probe, ext, id)\
FF_DEF_RAWVIDEO_DEMUXER2(shortname, longname, probe, ext, id, AVFMT_GENERIC_INDEX)
+#define FF_RAWSUB_DEMUXER_CLASS(name)\
+static const AVClass name ## _demuxer_class = {\
+ .class_name = #name " demuxer",\
+ .item_name = av_default_item_name,\
+ .option = NULL,\
+ .version = LIBAVUTIL_VERSION_INT,\
+};
+
+#define FF_DEF_RAWSUB_DEMUXER(shortname, longname, probe, ext, id, flag)\
+FF_RAWVIDEO_DEMUXER_CLASS(shortname)\
+AVInputFormat ff_ ## shortname ## _demuxer = {\
+ .name = #shortname,\
+ .long_name = NULL_IF_CONFIG_SMALL(longname),\
+ .read_probe = probe,\
+ .read_header = ff_raw_data_read_header,\
+ .read_packet = ff_raw_read_partial_packet,\
+ .extensions = ext,\
+ .flags = flag,\
+ .raw_codec_id = id,\
+ .priv_data_size = 0,\
+ .priv_class = &shortname ## _demuxer_class,\
+};
+
#endif /* AVFORMAT_RAWDEC_H */