static void residual_interp(int16_t *buf, int16_t *out, int lag,

                            int gain, int *rseed)

{

    int i;

    if (lag) { /* Voiced */

        int16_t *vector_ptr = buf + PITCH_MAX;

        /* Attenuate */

        for (i = 0; i < lag; i++)

            out[i] = vector_ptr[i - lag] * 3 >> 2;

        av_memcpy_backptr((uint8_t*)(out + lag), lag * sizeof(*out),

                          (FRAME_LEN - lag) * sizeof(*out));

    } else {  /* Unvoiced */

        for (i = 0; i < FRAME_LEN; i++) {

            *rseed = *rseed * 521 + 259;

            out[i] = gain * *rseed >> 15;

        }

        memset(buf, 0, (FRAME_LEN + PITCH_MAX) * sizeof(*buf));

    }

}

static void residual_interp(int16_t *buf, int16_t *out, int lag,

                            int gain, int *rseed)

{

    int i;

    if (lag) { 

        int16_t *vector_ptr = buf + PITCH_MAX;

        

        for (i = 0; i < lag; i++)

            out[i] = vector_ptr[i - lag] * 3 >> 2;

        av_memcpy_backptr((uint8_t*)(out + lag), lag * sizeof(*out),

                          (FRAME_LEN - lag) * sizeof(*out));

    } else {  

        for (i = 0; i < FRAME_LEN; i++) {

            *rseed = *rseed * 521 + 259;

            out[i] = gain * *rseed >> 15;

        }

        memset(buf, 0, (FRAME_LEN + PITCH_MAX) * sizeof(*buf));

    }

}

            *rseed = *rseed * 521 + 259;
static void FUNC_0(int16_t *VAR_0, int16_t *VAR_1, int VAR_2,

                            int VAR_3, int *VAR_4)

{

    int VAR_5;

    if (VAR_2) { 

        int16_t *vector_ptr = VAR_0 + PITCH_MAX;

        

        for (VAR_5 = 0; VAR_5 < VAR_2; VAR_5++)

            VAR_1[VAR_5] = vector_ptr[VAR_5 - VAR_2] * 3 >> 2;

        av_memcpy_backptr((uint8_t*)(VAR_1 + VAR_2), VAR_2 * sizeof(*VAR_1),

                          (FRAME_LEN - VAR_2) * sizeof(*VAR_1));

    } else {  

        for (VAR_5 = 0; VAR_5 < FRAME_LEN; VAR_5++) {

            *VAR_4 = *VAR_4 * 521 + 259;

            VAR_1[VAR_5] = VAR_3 * *VAR_4 >> 15;

        }

        memset(VAR_0, 0, (FRAME_LEN + PITCH_MAX) * sizeof(*VAR_0));

    }

}

static void FUNC_0(int16_t *VAR_0, int16_t *VAR_1, int VAR_2,
int VAR_3, int *VAR_4)
{ int VAR_5; if (VAR_2) { int16_t *vector_ptr = VAR_0 + PITCH_MAX; for (VAR_5 = 0; VAR_5 < VAR_2; VAR_5++) VAR_1[VAR_5] = vector_ptr[VAR_5 - VAR_2] * 3 >> 2; av_memcpy_backptr((uint8_t*)(VAR_1 + VAR_2), VAR_2 * sizeof(*VAR_1),
(FRAME_LEN - VAR_2) * sizeof(*VAR_1)); } else { for (VAR_5 = 0; VAR_5 < FRAME_LEN; VAR_5++) { *VAR_4 = *VAR_4 * 521 + 259; VAR_1[VAR_5] = VAR_3 * *VAR_4 >> 15; } memset(VAR_0, 0, (FRAME_LEN + PITCH_MAX) * sizeof(*VAR_0)); } }