OSDN Git Service

Use memcpy() instead of a for loop in mdct512().
authorJustin Ruggles <justin.ruggles@gmail.com>
Thu, 16 Dec 2010 03:13:41 +0000 (03:13 +0000)
committerJustin Ruggles <justin.ruggles@gmail.com>
Thu, 16 Dec 2010 03:13:41 +0000 (03:13 +0000)
8% faster in function.

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

libavcodec/ac3enc.c

index bd49783..e041a41 100644 (file)
@@ -339,8 +339,7 @@ static void mdct512(int32_t *out, int16_t *in)
     /* shift to simplify computations */
     for (i = 0; i < MDCT_SAMPLES/4; i++)
         rot[i] = -in[i + 3*MDCT_SAMPLES/4];
-    for (;i < MDCT_SAMPLES; i++)
-        rot[i] =  in[i -   MDCT_SAMPLES/4];
+    memcpy(&rot[MDCT_SAMPLES/4], &in[0], 3*MDCT_SAMPLES/4*sizeof(*in));
 
     /* pre rotation */
     for (i = 0; i < MDCT_SAMPLES/4; i++) {