Good idea.
On date Wednesday 2011-05-25 16:27:46 +0200, Anton Khirnov encoded:
> ---
> libavformat/cavsvideodec.c | 11 +----------
> libavformat/diracdec.c | 11 +----------
> libavformat/dnxhddec.c | 11 +----------
> libavformat/h261dec.c | 12 +-----------
> libavformat/h263dec.c | 12 +-----------
> libavformat/h264dec.c | 12 +-----------
> libavformat/m4vdec.c | 12 +-----------
> libavformat/mpegvideodec.c | 11 +----------
> libavformat/rawdec.c | 23 ++---------------------
> libavformat/rawdec.h | 12 ++++++++++++
> 10 files changed, 22 insertions(+), 105 deletions(-)
>
> diff --git a/libavformat/cavsvideodec.c b/libavformat/cavsvideodec.c
> index f58c56f..85442f6 100644
> --- a/libavformat/cavsvideodec.c
> +++ b/libavformat/cavsvideodec.c
> @@ -65,13 +65,4 @@ static int cavsvideo_probe(AVProbeData *p)
> return 0;
> }
>
> -AVInputFormat ff_cavsvideo_demuxer = {
> - "cavsvideo",
> - NULL_IF_CONFIG_SMALL("raw Chinese AVS video"),
> - 0,
> - cavsvideo_probe,
> - ff_raw_video_read_header,
> - ff_raw_read_partial_packet,
> - .flags= AVFMT_GENERIC_INDEX,
> - .value = CODEC_ID_CAVS,
> -};
> +FF_RAWVIDEODEF(cavsvideo, "raw Chinese AVS video", cavsvideo_probe, NULL,
> CODEC_ID_CAVS)
> diff --git a/libavformat/diracdec.c b/libavformat/diracdec.c
> index b0cb3bf..f777e1b 100644
> --- a/libavformat/diracdec.c
> +++ b/libavformat/diracdec.c
> @@ -31,13 +31,4 @@ static int dirac_probe(AVProbeData *p)
> return 0;
> }
>
> -AVInputFormat ff_dirac_demuxer = {
> - "dirac",
> - NULL_IF_CONFIG_SMALL("raw Dirac"),
> - 0,
> - dirac_probe,
> - ff_raw_video_read_header,
> - ff_raw_read_partial_packet,
> - .flags= AVFMT_GENERIC_INDEX,
> - .value = CODEC_ID_DIRAC,
> -};
> +FF_RAWVIDEODEF(dirac, "raw Dirac", dirac_probe, NULL, CODEC_ID_DIRAC)
> diff --git a/libavformat/dnxhddec.c b/libavformat/dnxhddec.c
> index df5d2e3..c6d24ba 100644
> --- a/libavformat/dnxhddec.c
> +++ b/libavformat/dnxhddec.c
> @@ -42,13 +42,4 @@ static int dnxhd_probe(AVProbeData *p)
> return AVPROBE_SCORE_MAX;
> }
>
> -AVInputFormat ff_dnxhd_demuxer = {
> - "dnxhd",
> - NULL_IF_CONFIG_SMALL("raw DNxHD (SMPTE VC-3)"),
> - 0,
> - dnxhd_probe,
> - ff_raw_video_read_header,
> - ff_raw_read_partial_packet,
> - .flags= AVFMT_GENERIC_INDEX,
> - .value = CODEC_ID_DNXHD,
> -};
> +FF_RAWVIDEODEF(dnxhd, "raw DNxHD (SMPTE VC-3)", dnxhd_probe, NULL,
> CODEC_ID_DNXHD)
> diff --git a/libavformat/h261dec.c b/libavformat/h261dec.c
> index 8d9c5fa..48129be 100644
> --- a/libavformat/h261dec.c
> +++ b/libavformat/h261dec.c
> @@ -62,14 +62,4 @@ static int h261_probe(AVProbeData *p)
> return 0;
> }
>
> -AVInputFormat ff_h261_demuxer = {
> - "h261",
> - NULL_IF_CONFIG_SMALL("raw H.261"),
> - 0,
> - h261_probe,
> - ff_raw_video_read_header,
> - ff_raw_read_partial_packet,
> - .flags= AVFMT_GENERIC_INDEX,
> - .extensions = "h261",
> - .value = CODEC_ID_H261,
> -};
> +FF_RAWVIDEODEF(h261, "raw H.261", h261_probe, "h261", CODEC_ID_H261)
> diff --git a/libavformat/h263dec.c b/libavformat/h263dec.c
> index 5eda7af..a301d40 100644
> --- a/libavformat/h263dec.c
> +++ b/libavformat/h263dec.c
> @@ -64,14 +64,4 @@ static int h263_probe(AVProbeData *p)
> return 0;
> }
>
> -AVInputFormat ff_h263_demuxer = {
> - "h263",
> - NULL_IF_CONFIG_SMALL("raw H.263"),
> - 0,
> - h263_probe,
> - ff_raw_video_read_header,
> - ff_raw_read_partial_packet,
> - .flags= AVFMT_GENERIC_INDEX,
> -// .extensions = "h263", //FIXME remove after writing mpeg4_probe
> - .value = CODEC_ID_H263,
> -};
> +FF_RAWVIDEODEF(h263, "raw H.263", h263_probe, NULL, CODEC_ID_H263)
> diff --git a/libavformat/h264dec.c b/libavformat/h264dec.c
> index 268492c..5238879 100644
> --- a/libavformat/h264dec.c
> +++ b/libavformat/h264dec.c
> @@ -67,14 +67,4 @@ static int h264_probe(AVProbeData *p)
> return 0;
> }
>
> -AVInputFormat ff_h264_demuxer = {
> - "h264",
> - NULL_IF_CONFIG_SMALL("raw H.264 video format"),
> - 0,
> - h264_probe,
> - ff_raw_video_read_header,
> - ff_raw_read_partial_packet,
> - .flags= AVFMT_GENERIC_INDEX,
> - .extensions = "h26l,h264,264", //FIXME remove after writing mpeg4_probe
> - .value = CODEC_ID_H264,
> -};
> +FF_RAWVIDEODEF(h264 , "raw H.264 video format", h264_probe, "h26l,h264,264",
> CODEC_ID_H264)
> diff --git a/libavformat/m4vdec.c b/libavformat/m4vdec.c
> index 3463901..4bc1381 100644
> --- a/libavformat/m4vdec.c
> +++ b/libavformat/m4vdec.c
> @@ -49,14 +49,4 @@ static int mpeg4video_probe(AVProbeData *probe_packet)
> return 0;
> }
>
> -AVInputFormat ff_m4v_demuxer = {
> - "m4v",
> - NULL_IF_CONFIG_SMALL("raw MPEG-4 video format"),
> - 0,
> - mpeg4video_probe, /** probing for MPEG-4 data */
> - ff_raw_video_read_header,
> - ff_raw_read_partial_packet,
> - .flags= AVFMT_GENERIC_INDEX,
> - .extensions = "m4v",
> - .value = CODEC_ID_MPEG4,
> -};
> +FF_RAWVIDEODEF(m4v, "raw MPEG-4 video format", mpeg4video_probe, "m4v",
> CODEC_ID_MPEG4)
> diff --git a/libavformat/mpegvideodec.c b/libavformat/mpegvideodec.c
> index 0669820..30252c9 100644
> --- a/libavformat/mpegvideodec.c
> +++ b/libavformat/mpegvideodec.c
> @@ -55,13 +55,4 @@ static int mpegvideo_probe(AVProbeData *p)
> return 0;
> }
>
> -AVInputFormat ff_mpegvideo_demuxer = {
> - "mpegvideo",
> - NULL_IF_CONFIG_SMALL("raw MPEG video"),
> - 0,
> - mpegvideo_probe,
> - ff_raw_video_read_header,
> - ff_raw_read_partial_packet,
> - .flags= AVFMT_GENERIC_INDEX,
> - .value = CODEC_ID_MPEG1VIDEO,
> -};
> +FF_RAWVIDEODEF(mpegvideo, "raw MPEG video", mpegvideo_probe, NULL,
> CODEC_ID_MPEG1VIDEO)
> diff --git a/libavformat/rawdec.c b/libavformat/rawdec.c
> index d4b56c9..30e7e3a 100644
> --- a/libavformat/rawdec.c
> +++ b/libavformat/rawdec.c
> @@ -223,17 +223,7 @@ AVInputFormat ff_gsm_demuxer = {
> #endif
>
> #if CONFIG_MJPEG_DEMUXER
> -AVInputFormat ff_mjpeg_demuxer = {
> - "mjpeg",
> - NULL_IF_CONFIG_SMALL("raw MJPEG video"),
> - 0,
> - NULL,
> - ff_raw_video_read_header,
> - ff_raw_read_partial_packet,
> - .flags= AVFMT_GENERIC_INDEX,
> - .extensions = "mjpg,mjpeg",
> - .value = CODEC_ID_MJPEG,
> -};
> +FF_RAWVIDEODEF(mjpeg, "raw MJPEG video", NULL, "mjpg,mjpeg", CODEC_ID_MJPEG)
> #endif
>
> #if CONFIG_MLP_DEMUXER
> @@ -279,14 +269,5 @@ AVInputFormat ff_shorten_demuxer = {
> #endif
>
> #if CONFIG_VC1_DEMUXER
> -AVInputFormat ff_vc1_demuxer = {
> - "vc1",
> - NULL_IF_CONFIG_SMALL("raw VC-1"),
> - 0,
> - NULL /* vc1_probe */,
> - ff_raw_video_read_header,
> - ff_raw_read_partial_packet,
> - .extensions = "vc1",
> - .value = CODEC_ID_VC1,
> -};
> +FF_RAWVIDEODEF(vc1, "raw VC-1", NULL, "vc1", CODEC_ID_VC1)
> #endif
> diff --git a/libavformat/rawdec.h b/libavformat/rawdec.h
> index 16b74ea..b909209 100644
> --- a/libavformat/rawdec.h
> +++ b/libavformat/rawdec.h
> @@ -48,4 +48,16 @@ int ff_raw_audio_read_header(AVFormatContext *s,
> AVFormatParameters *ap);
>
> int ff_raw_video_read_header(AVFormatContext *s, AVFormatParameters *ap);
>
> +#define FF_RAWVIDEODEF(shortname, longname, probe, ext, id)\
Maybe: FF_DEFINE_RAWVIDEO_DEMUXER is more readable.
--
Adapt. Enjoy. Survive.
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel