Having this macro in an header only facilitates the use of such header. The code increase is minimal and files have one less dependency on mpegvideo.h.tags/n2.8
| @@ -91,7 +91,12 @@ void ff_flv2_encode_ac_esc(PutBitContext *pb, int slevel, int level, | |||||
| } | } | ||||
| } | } | ||||
| FF_MPV_GENERIC_CLASS(flv) | |||||
| static const AVClass flv_class = { | |||||
| .class_name = "flv encoder", | |||||
| .item_name = av_default_item_name, | |||||
| .option = ff_mpv_generic_options, | |||||
| .version = LIBAVUTIL_VERSION_INT, | |||||
| }; | |||||
| AVCodec ff_flv_encoder = { | AVCodec ff_flv_encoder = { | ||||
| .name = "flv", | .name = "flv", | ||||
| @@ -324,7 +324,12 @@ av_cold void ff_h261_encode_init(MpegEncContext *s) | |||||
| s->c_dc_scale_table = ff_mpeg1_dc_scale_table; | s->c_dc_scale_table = ff_mpeg1_dc_scale_table; | ||||
| } | } | ||||
| FF_MPV_GENERIC_CLASS(h261) | |||||
| static const AVClass h261_class = { | |||||
| .class_name = "h261 encoder", | |||||
| .item_name = av_default_item_name, | |||||
| .option = ff_mpv_generic_options, | |||||
| .version = LIBAVUTIL_VERSION_INT, | |||||
| }; | |||||
| AVCodec ff_h261_encoder = { | AVCodec ff_h261_encoder = { | ||||
| .name = "h261", | .name = "h261", | ||||
| @@ -574,14 +574,6 @@ typedef struct MpegEncContext { | |||||
| extern const AVOption ff_mpv_generic_options[]; | extern const AVOption ff_mpv_generic_options[]; | ||||
| #define FF_MPV_GENERIC_CLASS(name) \ | |||||
| static const AVClass name ## _class = {\ | |||||
| .class_name = #name " encoder",\ | |||||
| .item_name = av_default_item_name,\ | |||||
| .option = ff_mpv_generic_options,\ | |||||
| .version = LIBAVUTIL_VERSION_INT,\ | |||||
| }; | |||||
| /** | /** | ||||
| * Set the given MpegEncContext to common defaults (same for encoding | * Set the given MpegEncContext to common defaults (same for encoding | ||||
| * and decoding). The changed fields will not depend upon the prior | * and decoding). The changed fields will not depend upon the prior | ||||
| @@ -4374,7 +4374,12 @@ AVCodec ff_h263p_encoder = { | |||||
| .priv_class = &h263p_class, | .priv_class = &h263p_class, | ||||
| }; | }; | ||||
| FF_MPV_GENERIC_CLASS(msmpeg4v2) | |||||
| static const AVClass msmpeg4v2_class = { | |||||
| .class_name = "msmpeg4v2 encoder", | |||||
| .item_name = av_default_item_name, | |||||
| .option = ff_mpv_generic_options, | |||||
| .version = LIBAVUTIL_VERSION_INT, | |||||
| }; | |||||
| AVCodec ff_msmpeg4v2_encoder = { | AVCodec ff_msmpeg4v2_encoder = { | ||||
| .name = "msmpeg4v2", | .name = "msmpeg4v2", | ||||
| @@ -4389,7 +4394,12 @@ AVCodec ff_msmpeg4v2_encoder = { | |||||
| .priv_class = &msmpeg4v2_class, | .priv_class = &msmpeg4v2_class, | ||||
| }; | }; | ||||
| FF_MPV_GENERIC_CLASS(msmpeg4v3) | |||||
| static const AVClass msmpeg4v3_class = { | |||||
| .class_name = "msmpeg4v3 encoder", | |||||
| .item_name = av_default_item_name, | |||||
| .option = ff_mpv_generic_options, | |||||
| .version = LIBAVUTIL_VERSION_INT, | |||||
| }; | |||||
| AVCodec ff_msmpeg4v3_encoder = { | AVCodec ff_msmpeg4v3_encoder = { | ||||
| .name = "msmpeg4", | .name = "msmpeg4", | ||||
| @@ -4404,7 +4414,12 @@ AVCodec ff_msmpeg4v3_encoder = { | |||||
| .priv_class = &msmpeg4v3_class, | .priv_class = &msmpeg4v3_class, | ||||
| }; | }; | ||||
| FF_MPV_GENERIC_CLASS(wmv1) | |||||
| static const AVClass wmv1_class = { | |||||
| .class_name = "wmv1 encoder", | |||||
| .item_name = av_default_item_name, | |||||
| .option = ff_mpv_generic_options, | |||||
| .version = LIBAVUTIL_VERSION_INT, | |||||
| }; | |||||
| AVCodec ff_wmv1_encoder = { | AVCodec ff_wmv1_encoder = { | ||||
| .name = "wmv1", | .name = "wmv1", | ||||
| @@ -63,7 +63,12 @@ int ff_rv10_encode_picture_header(MpegEncContext *s, int picture_number) | |||||
| return 0; | return 0; | ||||
| } | } | ||||
| FF_MPV_GENERIC_CLASS(rv10) | |||||
| static const AVClass rv10_class = { | |||||
| .class_name = "rv10 encoder", | |||||
| .item_name = av_default_item_name, | |||||
| .option = ff_mpv_generic_options, | |||||
| .version = LIBAVUTIL_VERSION_INT, | |||||
| }; | |||||
| AVCodec ff_rv10_encoder = { | AVCodec ff_rv10_encoder = { | ||||
| .name = "rv10", | .name = "rv10", | ||||
| @@ -60,7 +60,12 @@ void ff_rv20_encode_picture_header(MpegEncContext *s, int picture_number){ | |||||
| } | } | ||||
| } | } | ||||
| FF_MPV_GENERIC_CLASS(rv20) | |||||
| static const AVClass rv20_class = { | |||||
| .class_name = "rv20 encoder", | |||||
| .item_name = av_default_item_name, | |||||
| .option = ff_mpv_generic_options, | |||||
| .version = LIBAVUTIL_VERSION_INT, | |||||
| }; | |||||
| AVCodec ff_rv20_encoder = { | AVCodec ff_rv20_encoder = { | ||||
| .name = "rv20", | .name = "rv20", | ||||