From 4aa485a3f62c977a85165e429fb57682d69cf7c2 Mon Sep 17 00:00:00 2001 From: Vitor Sessak Date: Thu, 15 May 2008 18:36:12 +0000 Subject: [PATCH] Do not copy tables to a context var, use them directly Originally committed as revision 13164 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/ra144.c | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/libavcodec/ra144.c b/libavcodec/ra144.c index 5303abe55..c63a71b87 100644 --- a/libavcodec/ra144.c +++ b/libavcodec/ra144.c @@ -48,9 +48,6 @@ typedef struct { unsigned short int buffer_2[148]; unsigned short *sptr; - - signed short wavtable1[2304]; - unsigned short wavtable2[2304]; } Real144_internal; static int ra144_decode_init(AVCodecContext * avctx) @@ -62,9 +59,6 @@ static int ra144_decode_init(AVCodecContext * avctx) glob->swapbuf1alt = glob->swapbuffers[2]; glob->swapbuf2alt = glob->swapbuffers[3]; - memcpy(glob->wavtable1, wavtable1, sizeof(wavtable1)); - memcpy(glob->wavtable2, wavtable2, sizeof(wavtable2)); - return 0; } @@ -183,11 +177,11 @@ static int irms(short *data, int factor) static void add_wav(Real144_internal *glob, int n, int f, int m1, int m2, int m3, short *s1, short *s2, short *s3, short *dest) { - int a, b, c; - short *ptr, *ptr2; + int a, b, c, i; + const short *ptr, *ptr2; - ptr = glob->wavtable1 + n * 9; - ptr2 = glob->wavtable2 + n * 9; + ptr = wavtable1 + n * 9; + ptr2 = wavtable2 + n * 9; if (f != 0) a = ((*ptr) * m1) >> ((*ptr2) + 1); @@ -200,14 +194,13 @@ static void add_wav(Real144_internal *glob, int n, int f, int m1, int m2, ptr++; ptr2++; c = ((*ptr) * m3) >> ((*ptr2) + 1); - ptr2 = (ptr = dest) + BLOCKSIZE; if (f != 0) - while (ptr < ptr2) - *(ptr++) = ((*(s1++)) * a + (*(s2++)) * b + (*(s3++)) * c) >> 12; + for (i=0; i < BLOCKSIZE; i++) + dest[i] = ((*(s1++)) * a + (*(s2++)) * b + (*(s3++)) * c) >> 12; else - while (ptr < ptr2) - *(ptr++) = ((*(s2++)) * b + (*(s3++)) * c) >> 12; + for (i=0; i < BLOCKSIZE; i++) + dest[i] = ((*(s2++)) * b + (*(s3++)) * c) >> 12; } -- 2.11.0