Write results of post-rotation complex multiply directly to output.
authorJustin Ruggles <justin.ruggles@gmail.com>
Thu, 16 Dec 2010 03:13:45 +0000 (03:13 +0000)
committerJustin Ruggles <justin.ruggles@gmail.com>
Thu, 16 Dec 2010 03:13:45 +0000 (03:13 +0000)
2% faster in function mdct512().

Originally committed as revision 26028 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/ac3enc.c

index e041a4159e579cb0b8f5ecb72480c27ad9950dad..1f9e01ea23bbf914df78e61860cea0c43ce9e832 100644 (file)
@@ -332,7 +332,7 @@ static void fft(IComplex *z, int ln)
  */
 static void mdct512(int32_t *out, int16_t *in)
 {
  */
 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];
 
     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;
     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]);
     }
 }
 
     }
 }