From a4ea00d021b2bda1b641a2f00c167cadedfe9d4c Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Mon, 3 Oct 2011 19:14:03 +0200 Subject: lavc/lavf: use unique private classes. This is needed by the new AVOptions API. --- libavcodec/ac3dec.c | 10 ++++++++-- libavformat/img2.c | 13 +++++++++---- libavformat/movenc.c | 27 +++++++++++++++++---------- 3 files changed, 34 insertions(+), 16 deletions(-) diff --git a/libavcodec/ac3dec.c b/libavcodec/ac3dec.c index 79360c2253..5046a5c644 100644 --- a/libavcodec/ac3dec.c +++ b/libavcodec/ac3dec.c @@ -1444,7 +1444,7 @@ static const AVOption options[] = { }; static const AVClass ac3_decoder_class = { - .class_name = "(E-)AC3 decoder", + .class_name = "AC3 decoder", .item_name = av_default_item_name, .option = options, .version = LIBAVUTIL_VERSION_INT, @@ -1466,6 +1466,12 @@ AVCodec ff_ac3_decoder = { }; #if CONFIG_EAC3_DECODER +static const AVClass eac3_decoder_class = { + .class_name = "E-AC3 decoder", + .item_name = av_default_item_name, + .option = options, + .version = LIBAVUTIL_VERSION_INT, +}; AVCodec ff_eac3_decoder = { .name = "eac3", .type = AVMEDIA_TYPE_AUDIO, @@ -1478,6 +1484,6 @@ AVCodec ff_eac3_decoder = { .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLT, AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_NONE }, - .priv_class = &ac3_decoder_class, + .priv_class = &eac3_decoder_class, }; #endif diff --git a/libavformat/img2.c b/libavformat/img2.c index 935d763288..354b38e031 100644 --- a/libavformat/img2.c +++ b/libavformat/img2.c @@ -458,15 +458,14 @@ static const AVOption options[] = { { NULL }, }; +/* input */ +#if CONFIG_IMAGE2_DEMUXER static const AVClass img2_class = { .class_name = "image2 demuxer", .item_name = av_default_item_name, .option = options, .version = LIBAVUTIL_VERSION_INT, }; - -/* input */ -#if CONFIG_IMAGE2_DEMUXER AVInputFormat ff_image2_demuxer = { .name = "image2", .long_name = NULL_IF_CONFIG_SMALL("image2 sequence"), @@ -479,13 +478,19 @@ AVInputFormat ff_image2_demuxer = { }; #endif #if CONFIG_IMAGE2PIPE_DEMUXER +static const AVClass img2pipe_class = { + .class_name = "image2pipe demuxer", + .item_name = av_default_item_name, + .option = options, + .version = LIBAVUTIL_VERSION_INT, +}; AVInputFormat ff_image2pipe_demuxer = { .name = "image2pipe", .long_name = NULL_IF_CONFIG_SMALL("piped image2 sequence"), .priv_data_size = sizeof(VideoData), .read_header = read_header, .read_packet = read_packet, - .priv_class = &img2_class, + .priv_class = &img2pipe_class, }; #endif diff --git a/libavformat/movenc.c b/libavformat/movenc.c index b79bbe83c6..9e1a4ceaf2 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -48,11 +48,12 @@ static const AVOption options[] = { { NULL }, }; -static const AVClass mov_muxer_class = { - .class_name = "MOV/3GP/MP4/3G2 muxer", - .item_name = av_default_item_name, - .option = options, - .version = LIBAVUTIL_VERSION_INT, +#define MOV_CLASS(flavor)\ +static const AVClass flavor ## _muxer_class = {\ + .class_name = #flavor " muxer",\ + .item_name = av_default_item_name,\ + .option = options,\ + .version = LIBAVUTIL_VERSION_INT,\ }; //FIXME support 64 bit variant with wide placeholders @@ -2338,6 +2339,7 @@ static int mov_write_trailer(AVFormatContext *s) } #if CONFIG_MOV_MUXER +MOV_CLASS(mov) AVOutputFormat ff_mov_muxer = { .name = "mov", .long_name = NULL_IF_CONFIG_SMALL("MOV format"), @@ -2358,6 +2360,7 @@ AVOutputFormat ff_mov_muxer = { }; #endif #if CONFIG_TGP_MUXER +MOV_CLASS(tgp) AVOutputFormat ff_tgp_muxer = { .name = "3gp", .long_name = NULL_IF_CONFIG_SMALL("3GP format"), @@ -2370,10 +2373,11 @@ AVOutputFormat ff_tgp_muxer = { .write_trailer = mov_write_trailer, .flags = AVFMT_GLOBALHEADER, .codec_tag = (const AVCodecTag* const []){codec_3gp_tags, 0}, - .priv_class = &mov_muxer_class, + .priv_class = &tgp_muxer_class, }; #endif #if CONFIG_MP4_MUXER +MOV_CLASS(mp4) AVOutputFormat ff_mp4_muxer = { .name = "mp4", .long_name = NULL_IF_CONFIG_SMALL("MP4 format"), @@ -2391,10 +2395,11 @@ AVOutputFormat ff_mp4_muxer = { .write_trailer = mov_write_trailer, .flags = AVFMT_GLOBALHEADER, .codec_tag = (const AVCodecTag* const []){ff_mp4_obj_type, 0}, - .priv_class = &mov_muxer_class, + .priv_class = &mp4_muxer_class, }; #endif #if CONFIG_PSP_MUXER +MOV_CLASS(psp) AVOutputFormat ff_psp_muxer = { .name = "psp", .long_name = NULL_IF_CONFIG_SMALL("PSP MP4 format"), @@ -2411,10 +2416,11 @@ AVOutputFormat ff_psp_muxer = { .write_trailer = mov_write_trailer, .flags = AVFMT_GLOBALHEADER, .codec_tag = (const AVCodecTag* const []){ff_mp4_obj_type, 0}, - .priv_class = &mov_muxer_class, + .priv_class = &psp_muxer_class, }; #endif #if CONFIG_TG2_MUXER +MOV_CLASS(tg2) AVOutputFormat ff_tg2_muxer = { .name = "3g2", .long_name = NULL_IF_CONFIG_SMALL("3GP2 format"), @@ -2427,10 +2433,11 @@ AVOutputFormat ff_tg2_muxer = { .write_trailer = mov_write_trailer, .flags = AVFMT_GLOBALHEADER, .codec_tag = (const AVCodecTag* const []){codec_3gp_tags, 0}, - .priv_class = &mov_muxer_class, + .priv_class = &tg2_muxer_class, }; #endif #if CONFIG_IPOD_MUXER +MOV_CLASS(ipod) AVOutputFormat ff_ipod_muxer = { .name = "ipod", .long_name = NULL_IF_CONFIG_SMALL("iPod H.264 MP4 format"), @@ -2444,6 +2451,6 @@ AVOutputFormat ff_ipod_muxer = { .write_trailer = mov_write_trailer, .flags = AVFMT_GLOBALHEADER, .codec_tag = (const AVCodecTag* const []){codec_ipod_tags, 0}, - .priv_class = &mov_muxer_class, + .priv_class = &ipod_muxer_class, }; #endif -- cgit v1.2.3