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;
