Mercurial > libavcodec.hg
changeset 6807:c19ef48adf18 libavcodec
Do not copy tables to a context var, use them directly
author | vitor |
---|---|
date | Thu, 15 May 2008 18:36:12 +0000 |
parents | e4be053e7d9b |
children | c5ecf570f1b1 |
files | ra144.c |
diffstat | 1 files changed, 8 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- 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; }