This is the first test of codec-specific defaults.
---
libavcodec/libmp3lame.c | 13 ++++++++++---
1 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/libavcodec/libmp3lame.c b/libavcodec/libmp3lame.c
index 68f1bc9..af21be7 100644
--- a/libavcodec/libmp3lame.c
+++ b/libavcodec/libmp3lame.c
@@ -26,6 +26,7 @@
#include "libavutil/intreadwrite.h"
#include "avcodec.h"
+#include "internal.h"
#include "mpegaudio.h"
#include <lame/lame.h>
@@ -57,11 +58,12 @@ static av_cold int MP3lame_encode_init(AVCodecContext
*avctx)
lame_set_quality(s->gfp, avctx->compression_level);
}
lame_set_mode(s->gfp, s->stereo ? JOINT_STEREO : MONO);
- lame_set_brate(s->gfp, avctx->bit_rate/1000);
- if(avctx->flags & CODEC_FLAG_QSCALE) {
+ if (avctx->bit_rate)
+ lame_set_brate(s->gfp, avctx->bit_rate/1000);
+ else {
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);
+ lame_set_VBR_q(s->gfp, avctx->global_quality);
}
lame_set_bWriteVbrTag(s->gfp,0);
lame_set_disable_reservoir(s->gfp, avctx->flags2 &
CODEC_FLAG2_BIT_RESERVOIR ? 0 : 1);
@@ -213,6 +215,10 @@ static av_cold int MP3lame_encode_close(AVCodecContext
*avctx)
return 0;
}
+static const AVCodecDefault defaults[] = {
+ { "b", "0" },
+ { NULL },
+};
AVCodec ff_libmp3lame_encoder = {
"libmp3lame",
@@ -226,4 +232,5 @@ AVCodec ff_libmp3lame_encoder = {
.sample_fmts = (const enum
AVSampleFormat[]){AV_SAMPLE_FMT_S16,AV_SAMPLE_FMT_NONE},
.supported_samplerates= sSampleRates,
.long_name= NULL_IF_CONFIG_SMALL("libmp3lame MP3 (MPEG audio layer 3)"),
+ .defaults = defaults,
};
--
1.7.5.1
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel