[SCM] libav/experimental: Get rid of fft_rev table, use ff_reverse and a shift. Reduces maximum allowed value for MDCT_NBITS to 10 (current value is 9)

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 16:11:46 UTC 2013


The following commit has been merged in the experimental branch:
commit 99fac0806b0d20790b57b4f6c96676139438e2f6
Author: Reimar Döffinger <Reimar.Doeffinger at gmx.de>
Date:   Sun Jan 13 08:33:00 2008 +0000

    Get rid of fft_rev table, use ff_reverse and a shift.
    Reduces maximum allowed value for MDCT_NBITS to 10 (current value is 9)
    
    Originally committed as revision 11519 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/ac3enc.c b/libavcodec/ac3enc.c
index 5243b4f..71bc8d0 100644
--- a/libavcodec/ac3enc.c
+++ b/libavcodec/ac3enc.c
@@ -64,7 +64,6 @@ typedef struct AC3EncodeContext {
 
 static int16_t costab[64];
 static int16_t sintab[64];
-static int16_t fft_rev[512];
 static int16_t xcos1[128];
 static int16_t xsin1[128];
 
@@ -103,14 +102,6 @@ static void fft_init(int ln)
         costab[i] = fix15(cos(alpha));
         sintab[i] = fix15(sin(alpha));
     }
-
-    for(i=0;i<n;i++) {
-        m=0;
-        for(j=0;j<ln;j++) {
-            m |= ((i >> j) & 1) << (ln-j-1);
-        }
-        fft_rev[i]=m;
-    }
 }
 
 /* butter fly op */
@@ -148,8 +139,7 @@ static void fft(IComplex *z, int ln)
 
     /* reverse */
     for(j=0;j<np;j++) {
-        int k;
-        k = fft_rev[j];
+        int k = ff_reverse[j] >> (8 - ln);
         if (k < j)
             FFSWAP(IComplex, z[k], z[j]);
     }

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list