]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/rawdec.h
avfilter/avfilter: Remove deprecated avfilter_link_set_closed()
[ffmpeg] / libavformat / rawdec.h
index a464bbb4328b7b5fe68902ed8d82d210d667fb0d..34c8adcb199a9a7924a318cfd70eecaf216a85ad 100644 (file)
 
 typedef struct FFRawVideoDemuxerContext {
     const AVClass *class;     /**< Class for private options. */
+    int raw_packet_size;
     char *video_size;         /**< String describing video size, set by a private option. */
     char *pixel_format;       /**< Set by a private option. */
     AVRational framerate;     /**< AVRational describing framerate, set by a private option. */
 } FFRawVideoDemuxerContext;
 
+typedef struct FFRawDemuxerContext {
+    const AVClass *class;     /**< Class for private options. */
+    int raw_packet_size;
+} FFRawDemuxerContext;
+
 extern const AVOption ff_rawvideo_options[];
+extern const AVOption ff_raw_options[];
 
 int ff_raw_read_partial_packet(AVFormatContext *s, AVPacket *pkt);
 
@@ -41,8 +48,18 @@ int ff_raw_audio_read_header(AVFormatContext *s);
 
 int ff_raw_video_read_header(AVFormatContext *s);
 
+int ff_raw_subtitle_read_header(AVFormatContext *s);
+
 int ff_raw_data_read_header(AVFormatContext *s);
 
+#define FF_RAW_DEMUXER_CLASS(name)\
+static const AVClass name ## _demuxer_class = {\
+    .class_name = #name " demuxer",\
+    .item_name  = av_default_item_name,\
+    .option     = ff_raw_options,\
+    .version    = LIBAVUTIL_VERSION_INT,\
+};
+
 #define FF_RAWVIDEO_DEMUXER_CLASS(name)\
 static const AVClass name ## _demuxer_class = {\
     .class_name = #name " demuxer",\
@@ -73,22 +90,22 @@ FF_DEF_RAWVIDEO_DEMUXER2(shortname, longname, probe, ext, id, AVFMT_GENERIC_INDE
 static const AVClass name ## _demuxer_class = {\
     .class_name = #name " demuxer",\
     .item_name  = av_default_item_name,\
-    .option     = NULL,\
+    .option     = ff_raw_options,\
     .version    = LIBAVUTIL_VERSION_INT,\
 };
 
 #define FF_DEF_RAWSUB_DEMUXER(shortname, longname, probe, ext, id, flag)\
-FF_RAWVIDEO_DEMUXER_CLASS(shortname)\
+FF_RAWSUB_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_header    = ff_raw_subtitle_read_header,\
     .read_packet    = ff_raw_read_partial_packet,\
     .extensions     = ext,\
     .flags          = flag,\
     .raw_codec_id   = id,\
-    .priv_data_size = 0,\
+    .priv_data_size = sizeof(FFRawDemuxerContext),\
     .priv_class     = &shortname ## _demuxer_class,\
 };