# HG changeset patch # User vitor # Date 1210876572 0 # Node ID c19ef48adf186093f0cd4fa670bcfe1b26b73307 # Parent e4be053e7d9bf034ab5674507970ec5340559376 Do not copy tables to a context var, use them directly diff -r e4be053e7d9b -r c19ef48adf18 ra144.c --- a/ra144.c Thu May 15 18:34:31 2008 +0000 +++ b/ra144.c Thu May 15 18:36:12 2008 +0000 @@ -48,9 +48,6 @@ 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 @@ 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 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 @@ 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; }