[FFmpeg-cvslog] AAC encoder: Fix rate control on twoloop.

Claudio Freire git at videolan.org
Sun May 5 04:34:37 CEST 2013


ffmpeg | branch: master | Claudio Freire <klaussfreire at gmail.com> | Sat May  4 18:36:37 2013 -0300| [1ef82cc60d3bc050ea4cbdabe530499da8dce3bf] | committer: Michael Niedermayer

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.

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1ef82cc60d3bc050ea4cbdabe530499da8dce3bf
---

 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