[FFmpeg-cvslog] libmp3lame: use the LAME default bit rate

Justin Ruggles git at videolan.org
Tue Feb 21 05:29:40 CET 2012


ffmpeg | branch: master | Justin Ruggles <justin.ruggles at gmail.com> | Thu Feb 16 23:28:38 2012 -0500| [232e16dd02ff93e2d25e3d30d01961f98ee08c75] | committer: Justin Ruggles

libmp3lame: use the LAME default bit rate

Also, only set bit rate for CBR.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=232e16dd02ff93e2d25e3d30d01961f98ee08c75
---

 libavcodec/libmp3lame.c |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/libavcodec/libmp3lame.c b/libavcodec/libmp3lame.c
index a15aed3..79384b8 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 <lame/lame.h>
@@ -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,
 };



More information about the ffmpeg-cvslog mailing list