From 232e16dd02ff93e2d25e3d30d01961f98ee08c75 Mon Sep 17 00:00:00 2001 From: Justin Ruggles Date: Thu, 16 Feb 2012 23:28:38 -0500 Subject: libmp3lame: use the LAME default bit rate Also, only set bit rate for CBR. --- libavcodec/libmp3lame.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'libavcodec/libmp3lame.c') diff --git a/libavcodec/libmp3lame.c b/libavcodec/libmp3lame.c index a15aed3d16..79384b84db 100644 --- a/libavcodec/libmp3lame.c +++ b/libavcodec/libmp3lame.c @@ -28,6 +28,7 @@ #include "libavutil/log.h" #include "libavutil/opt.h" #include "avcodec.h" +#include "internal.h" #include "mpegaudio.h" #include "mpegaudiodecheader.h" #include @@ -71,11 +72,12 @@ static av_cold int MP3lame_encode_init(AVCodecContext *avctx) 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); @@ -171,6 +173,11 @@ static const AVClass libmp3lame_class = { .version = LIBAVUTIL_VERSION_INT, }; +static const AVCodecDefault libmp3lame_defaults[] = { + { "b", "0" }, + { NULL }, +}; + AVCodec ff_libmp3lame_encoder = { .name = "libmp3lame", .type = AVMEDIA_TYPE_AUDIO, @@ -185,4 +192,5 @@ AVCodec ff_libmp3lame_encoder = { .supported_samplerates = sSampleRates, .long_name = NULL_IF_CONFIG_SMALL("libmp3lame MP3 (MPEG audio layer 3)"), .priv_class = &libmp3lame_class, + .defaults = libmp3lame_defaults, }; -- cgit v1.2.3