On 06/18/2011 08:53 AM, Anton Khirnov wrote:
> This makes output with defaults settings actually default.
>
> It's also 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,
> };
This doesn't seem quite right. In ffmpeg.c, global_quality is set to
(FF_QP2LAMBDA * audio_qscale) and is a float value. Also, if the default
is VBR, what is the default quality? Shouldn't we add a "global_quality"
default value?
-Justin
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel