[SCM] libav/experimental: Write results of post-rotation complex multiply directly to output. 2% faster in function mdct512().

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 17:20:29 UTC 2013


The following commit has been merged in the experimental branch:
commit e29065f7bfababd7016620e9535fe879d21fcf33
Author: Justin Ruggles <justin.ruggles at gmail.com>
Date:   Thu Dec 16 03:13:45 2010 +0000

    Write results of post-rotation complex multiply directly to output.
    2% faster in function mdct512().
    
    Originally committed as revision 26028 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/ac3enc.c b/libavcodec/ac3enc.c
index e041a41..1f9e01e 100644
--- a/libavcodec/ac3enc.c
+++ b/libavcodec/ac3enc.c
@@ -332,7 +332,7 @@ static void fft(IComplex *z, int ln)
  */
 static void mdct512(int32_t *out, int16_t *in)
 {
-    int i, re, im, re1, im1;
+    int i, re, im;
     int16_t rot[MDCT_SAMPLES];
     IComplex x[MDCT_SAMPLES/4];
 
@@ -354,9 +354,7 @@ static void mdct512(int32_t *out, int16_t *in)
     for (i = 0; i < MDCT_SAMPLES/4; i++) {
         re = x[i].re;
         im = x[i].im;
-        CMUL(re1, im1, re, im, xsin1[i], xcos1[i]);
-        out[                 2*i] = im1;
-        out[MDCT_SAMPLES/2-1-2*i] = re1;
+        CMUL(out[MDCT_SAMPLES/2-1-2*i], out[2*i], re, im, xsin1[i], xcos1[i]);
     }
 }
 

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list