[FFmpeg-cvslog] AAC encoder: Fix rate control on twoloop.
Claudio Freire
git at videolan.org
Sun Jun 2 16:55:28 CEST 2013
ffmpeg | branch: release/1.2 | Claudio Freire <klaussfreire at gmail.com> | Sat May 4 18:36:37 2013 -0300| [9af68f8d1f3df12a32574e003e065bc565695b52] | committer: Carl Eugen Hoyos
AAC encoder: Fix rate control on twoloop.
Fixes a case where multichannel bitrate isn't accurately
targetted by psy model alone, never achieving the target bitrate.
Now fixed.
Fixes ticket #2625.
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
Signed-off-by: Carl Eugen Hoyos <cehoyos at ag.or.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9af68f8d1f3df12a32574e003e065bc565695b52
---
libavcodec/aaccoder.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavcodec/aaccoder.c b/libavcodec/aaccoder.c
index 994de28..45fbc2d 100644
--- a/libavcodec/aaccoder.c
+++ b/libavcodec/aaccoder.c
@@ -710,7 +710,7 @@ static void search_for_quantizers_twoloop(AVCodecContext *avctx,
const float lambda)
{
int start = 0, i, w, w2, g;
- int destbits = avctx->bit_rate * 1024.0 / avctx->sample_rate / avctx->channels;
+ int destbits = avctx->bit_rate * 1024.0 / avctx->sample_rate / avctx->channels * (lambda / 120.f);
float dists[128] = { 0 }, uplims[128];
float maxvals[128];
int fflag, minscaler;
More information about the ffmpeg-cvslog
mailing list