diff ra144.c @ 6826:8e0c8ff0c781 libavcodec

Remove a useless temporary buffer
author vitor
date Sat, 17 May 2008 14:35:45 +0000
parents 6a85ed5b605a
children 0969192d5f8b
line wrap: on
line diff
--- a/ra144.c	Sat May 17 14:35:14 2008 +0000
+++ b/ra144.c	Sat May 17 14:35:45 2008 +0000
@@ -105,7 +105,7 @@
 static void do_output_subblock(Real144_internal *glob, const unsigned short  *gsp, unsigned int gval, signed short *output_buffer, GetBitContext *gb)
 {
     unsigned short int buffer_a[40];
-    unsigned short int buffer_d[40];
+    unsigned short int *buffer_d;
     int e, f, g;
     int a = get_bits(gb, 7);
     int d = get_bits(gb, 8);
@@ -125,12 +125,12 @@
     else
         g = 0;
 
+    memmove(glob->buffer_2, glob->buffer_2 + BLOCKSIZE, (BUFFERSIZE - BLOCKSIZE) * 2);
+    buffer_d = glob->buffer_2 + BUFFERSIZE - BLOCKSIZE;
+
     add_wav(d, a, g, e, f, buffer_a, etable1 + b*BLOCKSIZE,
             etable2 + c*BLOCKSIZE, buffer_d);
 
-    memmove(glob->buffer_2, glob->buffer_2 + BLOCKSIZE, (BUFFERSIZE - BLOCKSIZE) * 2);
-    memcpy(glob->buffer_2 + BUFFERSIZE - BLOCKSIZE, buffer_d, BLOCKSIZE * 2);
-
     final(gsp, buffer_d, output_buffer, glob->buffer, BLOCKSIZE);
 }