@@ -125,6 +125,13 @@ const AVOption ff_ac3_enc_options[] = {
{NULL}
};
+const AVClass ff_ac3enc_class = {
+ .class_name = "AC-3 Encoder",
+ .item_name = av_default_item_name,
+ .option = ff_ac3_enc_options,
+ .version = LIBAVUTIL_VERSION_INT,
+};
+
const AVCodecDefault ff_ac3_enc_defaults[] = {
{ "b", "0" },
{ NULL }
@@ -267,6 +267,7 @@ typedef struct AC3EncodeContext {
extern const uint64_t ff_ac3_channel_layouts[19];
extern const AVOption ff_ac3_enc_options[];
+extern const AVClass ff_ac3enc_class;
extern const AVCodecDefault ff_ac3_enc_defaults[];
int ff_ac3_encode_init(AVCodecContext *avctx);
@@ -35,13 +35,6 @@
#include "eac3enc.h"
#include "kbdwin.h"
-static const AVClass ac3enc_class = {
- .class_name = "Fixed-Point AC-3 Encoder",
- .item_name = av_default_item_name,
- .option = ff_ac3_enc_options,
- .version = LIBAVUTIL_VERSION_INT,
-};
-
static void sum_square_butterfly(AC3EncodeContext *s, int64_t sum[4],
const int32_t *coef0, const int32_t *coef1,
int len)
@@ -139,7 +132,7 @@ const AVCodec ff_ac3_fixed_encoder = {
.close = ff_ac3_encode_close,
.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S32P,
AV_SAMPLE_FMT_NONE },
- .priv_class = &ac3enc_class,
+ .priv_class = &ff_ac3enc_class,
.caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
.supported_samplerates = ff_ac3_sample_rate_tab,
.channel_layouts = ff_ac3_channel_layouts,
@@ -34,14 +34,6 @@
#include "kbdwin.h"
-static const AVClass ac3enc_class = {
- .class_name = "AC-3 Encoder",
- .item_name = av_default_item_name,
- .option = ff_ac3_enc_options,
- .version = LIBAVUTIL_VERSION_INT,
-};
-
-
/*
* Scale MDCT coefficients from float to 24-bit fixed-point.
*/
@@ -143,7 +135,7 @@ const AVCodec ff_ac3_encoder = {
.close = ff_ac3_encode_close,
.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLTP,
AV_SAMPLE_FMT_NONE },
- .priv_class = &ac3enc_class,
+ .priv_class = &ff_ac3enc_class,
.supported_samplerates = ff_ac3_sample_rate_tab,
.channel_layouts = ff_ac3_channel_layouts,
.defaults = ff_ac3_enc_defaults,
The child_class_next API relied on different (de)muxers to use different AVClasses; yet this API has been replaced by child_class_iterate. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> --- libavcodec/ac3enc.c | 7 +++++++ libavcodec/ac3enc.h | 1 + libavcodec/ac3enc_fixed.c | 9 +-------- libavcodec/ac3enc_float.c | 10 +--------- 4 files changed, 10 insertions(+), 17 deletions(-)