changeset 9971:4b6f16da6652 libavcodec

Be sure to increment our position in the coefficient array when skipping a zero band in the twoloop scalefactor search.
author alexc
date Wed, 22 Jul 2009 03:53:30 +0000
parents f7ab24dcb707
children dea232ef4287
files aaccoder.c aacenc.c
diffstat 2 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/aaccoder.c	Tue Jul 21 09:03:45 2009 +0000
+++ b/aaccoder.c	Wed Jul 22 03:53:30 2009 +0000
@@ -677,8 +677,10 @@
                     float mindist = INFINITY;
                     int minbits = 0;
 
-                    if (sce->zeroes[w*16+g] || sce->sf_idx[w*16+g] >= 218)
+                    if (sce->zeroes[w*16+g] || sce->sf_idx[w*16+g] >= 218) {
+                        start += sce->ics.swb_sizes[g];
                         continue;
+                    }
                     minscaler = FFMIN(minscaler, sce->sf_idx[w*16+g]);
                     for (cb = 0; cb <= ESC_BT; cb++) {
                         float dist = 0.0f;
--- a/aacenc.c	Tue Jul 21 09:03:45 2009 +0000
+++ b/aacenc.c	Wed Jul 22 03:53:30 2009 +0000
@@ -193,7 +193,7 @@
     lengths[1] = ff_aac_num_swb_128[i];
     ff_psy_init(&s->psy, avctx, 2, sizes, lengths);
     s->psypp = ff_psy_preprocess_init(avctx);
-    s->coder = &ff_aac_coders[0];
+    s->coder = &ff_aac_coders[2];
 
     s->lambda = avctx->global_quality ? avctx->global_quality : 120;
 #if !CONFIG_HARDCODED_TABLES