X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Frawdec.h;h=a5487784c94bb59db7b9f34dc3b68511c63b725a;hb=f121dbd9f76031d7f6d56261be2f14937a19d2dd;hp=76e8053f6dc1b462a291a56d51be052b30da8b1f;hpb=e762b1ce9505511b1ecbbd4868ec6879e32e8831;p=ffmpeg diff --git a/libavformat/rawdec.h b/libavformat/rawdec.h index 76e8053f6dc..a5487784c94 100644 --- a/libavformat/rawdec.h +++ b/libavformat/rawdec.h @@ -24,12 +24,7 @@ #include "avformat.h" #include "libavutil/log.h" - -typedef struct RawAudioDemuxerContext { - AVClass *class; - int sample_rate; - int channels; -} RawAudioDemuxerContext; +#include "libavutil/opt.h" typedef struct FFRawVideoDemuxerContext { const AVClass *class; /**< Class for private options. */ @@ -38,18 +33,24 @@ typedef struct FFRawVideoDemuxerContext { char *framerate; /**< String describing framerate, set by a private option. */ } FFRawVideoDemuxerContext; -extern const AVClass ff_rawaudio_demuxer_class; -extern const AVClass ff_rawvideo_demuxer_class; - -int ff_raw_read_header(AVFormatContext *s, AVFormatParameters *ap); +extern const AVOption ff_rawvideo_options[]; int ff_raw_read_partial_packet(AVFormatContext *s, AVPacket *pkt); -int ff_raw_audio_read_header(AVFormatContext *s, AVFormatParameters *ap); +int ff_raw_audio_read_header(AVFormatContext *s); -int ff_raw_video_read_header(AVFormatContext *s, AVFormatParameters *ap); +int ff_raw_video_read_header(AVFormatContext *s); + +#define FF_RAWVIDEO_DEMUXER_CLASS(name)\ +static const AVClass name ## _demuxer_class = {\ + .class_name = #name " demuxer",\ + .item_name = av_default_item_name,\ + .option = ff_rawvideo_options,\ + .version = LIBAVUTIL_VERSION_INT,\ +}; #define FF_DEF_RAWVIDEO_DEMUXER(shortname, longname, probe, ext, id)\ +FF_RAWVIDEO_DEMUXER_CLASS(shortname)\ AVInputFormat ff_ ## shortname ## _demuxer = {\ .name = #shortname,\ .long_name = NULL_IF_CONFIG_SMALL(longname),\ @@ -58,9 +59,9 @@ AVInputFormat ff_ ## shortname ## _demuxer = {\ .read_packet = ff_raw_read_partial_packet,\ .extensions = ext,\ .flags = AVFMT_GENERIC_INDEX,\ - .value = id,\ + .raw_codec_id = id,\ .priv_data_size = sizeof(FFRawVideoDemuxerContext),\ - .priv_class = &ff_rawvideo_demuxer_class,\ + .priv_class = &shortname ## _demuxer_class,\ }; #endif /* AVFORMAT_RAWDEC_H */