/* internal globals */
typedef struct {
unsigned int oldval;
- unsigned short gbuf2[4][30];
/* the swapped buffers */
unsigned int swapbuffers[4][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;
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;
int a,b;
int x;
int result;
- signed short *decsp = glob->gbuf2[l];
unsigned short *sptr = decsp;
if(l + 1 < NBLOCKS / 2)
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);
}
{
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;
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);