From bf75ac57b8aef5cd9753e8466b9b9b9ae2b1e80a Mon Sep 17 00:00:00 2001 From: Vitor Sessak Date: Thu, 24 Jul 2008 03:19:52 +0000 Subject: [PATCH] Simplify co(), use memcpy/memmove and colmult() when useful. Originally committed as revision 14355 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/ra288.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/libavcodec/ra288.c b/libavcodec/ra288.c index 44a456836a..5603db47e8 100644 --- a/libavcodec/ra288.c +++ b/libavcodec/ra288.c @@ -141,19 +141,15 @@ static void co(int n, int i, int j, const float *in, float *out, float *st1, float *st2, const float *table) { unsigned int x; - const float *fp; float buffer1[37]; float buffer2[37]; float work[111]; /* rotate and multiply */ - fp = st1 + i; - for (x=0; x < n + i + j; x++) { - if (x == n + j) - fp=in; - st1[x] = *(fp++); - work[x] = table[x] * st1[x]; - } + memmove(st1 , st1 + i, (n + j)*sizeof(*st1)); + memcpy (st1 + n + j, in , i *sizeof(*st1)); + + colmult(work, table, st1, n + i + j); prodsum(buffer1, work + n , i, n); prodsum(buffer2, work + n + i, j, n);