#include "libavutil/log.h"
#include "libavutil/opt.h"
#include "avcodec.h"
+#include "internal.h"
#include "mpegaudio.h"
#include "mpegaudiodecheader.h"
#include <lame/lame.h>
lame_set_quality(s->gfp, avctx->compression_level);
}
lame_set_mode(s->gfp, avctx->channels > 1 ? JOINT_STEREO : MONO);
- lame_set_brate(s->gfp, avctx->bit_rate / 1000);
if (avctx->flags & CODEC_FLAG_QSCALE) {
- lame_set_brate(s->gfp, 0);
lame_set_VBR(s->gfp, vbr_default);
lame_set_VBR_quality(s->gfp, avctx->global_quality / (float)FF_QP2LAMBDA);
+ } else {
+ if (avctx->bit_rate)
+ lame_set_brate(s->gfp, avctx->bit_rate / 1000);
}
lame_set_bWriteVbrTag(s->gfp,0);
lame_set_disable_reservoir(s->gfp, !s->reservoir);
.version = LIBAVUTIL_VERSION_INT,
};
+static const AVCodecDefault libmp3lame_defaults[] = {
+ { "b", "0" },
+ { NULL },
+};
+
AVCodec ff_libmp3lame_encoder = {
.name = "libmp3lame",
.type = AVMEDIA_TYPE_AUDIO,
.supported_samplerates = sSampleRates,
.long_name = NULL_IF_CONFIG_SMALL("libmp3lame MP3 (MPEG audio layer 3)"),
.priv_class = &libmp3lame_class,
+ .defaults = libmp3lame_defaults,
};