changeset 6870:62ce6173d0ea libavcodec

Remove gbuf2 from context
author vitor
date Sun, 25 May 2008 16:10:08 +0000
parents 59ae0494b656
children dc6c9f74f2c1
files ra144.c
diffstat 1 files changed, 11 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/ra144.c	Sun May 25 15:34:48 2008 +0000
+++ b/ra144.c	Sun May 25 16:10:08 2008 +0000
@@ -32,7 +32,6 @@
 /* internal globals */
 typedef struct {
     unsigned int     oldval;
-    unsigned short   gbuf2[4][30];
 
     /* the swapped buffers */
     unsigned int     swapbuffers[4][10];
@@ -239,11 +238,10 @@
     final(gsp, block, output_buffer, glob->buffer, BLOCKSIZE);
 }
 
-static int dec1(Real144_internal *glob, const int *data, const int *inp,
-                 int f, int block_idx)
+static int dec1(signed short *decsp, const int *data, const int *inp,
+                 int f)
 {
     short *ptr,*end;
-    signed   short  *decsp = glob->gbuf2[block_idx];
 
     end = (ptr = decsp) + 30;
 
@@ -296,7 +294,7 @@
     return retval;
 }
 
-static int dec2(Real144_internal *glob, const int *data, const int *inp,
+static int dec2(signed short *decsp, const int *data, const int *inp,
                  int f, const int *inp2, int l)
 {
     unsigned const int *ptr1,*ptr2;
@@ -304,7 +302,6 @@
     int a,b;
     int x;
     int result;
-    signed   short *decsp = glob->gbuf2[l];
     unsigned short *sptr  = decsp;
 
     if(l + 1 < NBLOCKS / 2)
@@ -323,7 +320,7 @@
     result = eq(decsp, work);
 
     if (result == 1) {
-        return dec1(glob, data, inp, f, l);
+        return dec1(decsp, data, inp, f);
     } else {
         return rms(work, f);
     }
@@ -336,6 +333,7 @@
 {
     static const uint8_t sizes[10] = {6, 5, 5, 4, 4, 3, 3, 3, 3, 2};
     unsigned int gbuf1[4];
+    unsigned short gbuf2[4][30];
     unsigned int a, c;
     int i;
     int16_t *data = vdata;
@@ -360,18 +358,18 @@
     val = decodeval[get_bits(&gb, 5) << 1]; // Useless table entries?
     a = t_sqrt(val*glob->oldval) >> 12;
 
-    gbuf1[0] = dec2(glob, glob->swapbuf1alt, glob->swapbuf2alt, glob->oldval, glob->swapbuf2, 0);
+    gbuf1[0] = dec2(gbuf2[0], glob->swapbuf1alt, glob->swapbuf2alt, glob->oldval, glob->swapbuf2, 0);
     if (glob->oldval < val) {
-        gbuf1[1] = dec2(glob, glob->swapbuf1, glob->swapbuf2, a, glob->swapbuf2alt, 1);
+        gbuf1[1] = dec2(gbuf2[1], glob->swapbuf1, glob->swapbuf2, a, glob->swapbuf2alt, 1);
     } else {
-        gbuf1[1] = dec2(glob, glob->swapbuf1alt, glob->swapbuf2alt, a, glob->swapbuf2, 1);
+        gbuf1[1] = dec2(gbuf2[1], glob->swapbuf1alt, glob->swapbuf2alt, a, glob->swapbuf2, 1);
     }
-    gbuf1[2] = dec2(glob, glob->swapbuf1, glob->swapbuf2, val, glob->swapbuf2alt, 2);
-    gbuf1[3] = dec1(glob, glob->swapbuf1, glob->swapbuf2, val, 3);
+    gbuf1[2] = dec2(gbuf2[2], glob->swapbuf1, glob->swapbuf2, val, glob->swapbuf2alt, 2);
+    gbuf1[3] = dec1(gbuf2[3], glob->swapbuf1, glob->swapbuf2, val);
 
     /* do output */
     for (c=0; c<4; c++) {
-        do_output_subblock(glob, glob->gbuf2[c], gbuf1[c], data, &gb);
+        do_output_subblock(glob, gbuf2[c], gbuf1[c], data, &gb);
 
         for (i=0; i<BLOCKSIZE; i++) {
             *data = av_clip_int16(*data << 2);