- a2[x] >>= 4;
-}
-
-
-/* do quarter-block output */
-static void do_output_subblock(Real144_internal *glob, const unsigned short *gsp, unsigned int gval, signed short *output_buffer, GetBitContext *gb)
-{
- unsigned short int buffer_a[40];
- unsigned short int buffer_b[40];
- unsigned short int buffer_c[40];
- unsigned short int buffer_d[40];
- int e, f, g;
- int a = get_bits(gb, 7);
- int d = get_bits(gb, 8);
- int b = get_bits(gb, 7);
- int c = get_bits(gb, 7);
-
- if (a) {
- a += HALFBLOCK - 1;
- rotate_block(glob->buffer_2, buffer_a, a);
- }
-
- memcpy(buffer_b, etable1 + b * BLOCKSIZE, BLOCKSIZE * 2);
- e = ((ftable1[b] >> 4) * gval) >> 8;
- memcpy(buffer_c, etable2 + c * BLOCKSIZE, BLOCKSIZE * 2);
- f=((ftable2[c] >> 4) * gval) >> 8;
-
- if (a)
- g = irms(buffer_a, gval) >> 12;
- else
- g = 0;
-
- add_wav(d, a, g, e, f, buffer_a, buffer_b,
- buffer_c, buffer_d);
-
- memmove(glob->buffer_2, glob->buffer_2 + BLOCKSIZE, (BUFFERSIZE - BLOCKSIZE) * 2);
- memcpy(glob->buffer_2 + BUFFERSIZE - BLOCKSIZE, buffer_d, BLOCKSIZE * 2);
-
- final(gsp, buffer_d, output_buffer, glob->buffer, BLOCKSIZE);