[FFmpeg-devel] [PATCH] avcodec/libtwolame: fix mono default bitrate
Paul B Mahol
onemda at gmail.com
Fri Nov 1 14:41:40 EET 2019
applied
On 11/1/19, James Cowgill <jcowgill at debian.org> wrote:
> As of libtwolame 0.4.0, 384 kbps is not accepted as a valid bitrate
> for encoding mono audio and the maximum bitrate is now halved to 192
> kbps to comply with the MP2 standard. Example error:
>
> twolame_init_params(): 384kbps is an invalid bitrate for mono encoding.
>
> Adjust the default bitrate calculation to take this into account.
>
> Signed-off-by: James Cowgill <jcowgill at debian.org>
> ---
> libavcodec/libtwolame.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/libavcodec/libtwolame.c b/libavcodec/libtwolame.c
> index 030f88868f..5ceb3d9f3f 100644
> --- a/libavcodec/libtwolame.c
> +++ b/libavcodec/libtwolame.c
> @@ -78,8 +78,12 @@ static av_cold int twolame_encode_init(AVCodecContext
> *avctx)
> twolame_set_in_samplerate(s->glopts, avctx->sample_rate);
> twolame_set_out_samplerate(s->glopts, avctx->sample_rate);
>
> - if (!avctx->bit_rate)
> - avctx->bit_rate = avctx->sample_rate < 28000 ? 160000 : 384000;
> + if (!avctx->bit_rate) {
> + if ((s->mode == TWOLAME_AUTO_MODE && avctx->channels == 1) ||
> s->mode == TWOLAME_MONO)
> + avctx->bit_rate = avctx->sample_rate < 28000 ? 80000 : 192000;
> + else
> + avctx->bit_rate = avctx->sample_rate < 28000 ? 160000 : 384000;
> + }
>
> if (avctx->flags & AV_CODEC_FLAG_QSCALE || !avctx->bit_rate) {
> twolame_set_VBR(s->glopts, TRUE);
> --
> 2.24.0.rc1
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
More information about the ffmpeg-devel
mailing list