Mercurial > libavcodec.hg
changeset 2841:bceeca1bb30f libavcodec
vbr audio encode patch by (Justin Ruggles: jruggle, earthlink net)
with changes by me
int->float as video uses float too
remove silent cliping to some per codec range, this should result in an error instead
remove change to utils.c as its inconsistant with video
author | michael |
---|---|
date | Sun, 21 Aug 2005 20:27:00 +0000 |
parents | 22eec5a1b043 |
children | 55b83c229b88 |
files | faac.c mp3lameaudio.c |
diffstat | 2 files changed, 10 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/faac.c Sun Aug 21 19:50:22 2005 +0000 +++ b/faac.c Sun Aug 21 20:27:00 2005 +0000 @@ -56,7 +56,11 @@ faac_cfg->mpegVersion = MPEG4; faac_cfg->useTns = 0; faac_cfg->allowMidside = 1; - faac_cfg->bitRate = avctx->bit_rate; + faac_cfg->bitRate = avctx->bit_rate / avctx->channels; + if(avctx->flags & CODEC_FLAG_QSCALE) { + faac_cfg->bitRate = 0; + faac_cfg->quantqual = avctx->global_quality / FF_QP2LAMBDA; + } faac_cfg->outputFormat = 0; faac_cfg->inputFormat = FAAC_INPUT_16BIT;
--- a/mp3lameaudio.c Sun Aug 21 19:50:22 2005 +0000 +++ b/mp3lameaudio.c Sun Aug 21 20:27:00 2005 +0000 @@ -53,6 +53,11 @@ /* lame 3.91 doesn't work in mono */ lame_set_mode(s->gfp, JOINT_STEREO); 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_q(s->gfp, avctx->global_quality / (float)FF_QP2LAMBDA); + } lame_set_bWriteVbrTag(s->gfp,0); if (lame_init_params(s->gfp) < 0) goto err_close;