static int g723_1_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,

                            const AVFrame *frame, int *got_packet_ptr)

{

    G723_1_Context *p = avctx->priv_data;

    int16_t unq_lpc[LPC_ORDER * SUBFRAMES];

    int16_t qnt_lpc[LPC_ORDER * SUBFRAMES];

    int16_t cur_lsp[LPC_ORDER];

    int16_t weighted_lpc[LPC_ORDER * SUBFRAMES << 1];

    int16_t vector[FRAME_LEN + PITCH_MAX];

    int offset, ret;

    int16_t *in = (const int16_t *)frame->data[0];



    HFParam hf[4];

    int i, j;



    highpass_filter(in, &p->hpf_fir_mem, &p->hpf_iir_mem);



    memcpy(vector, p->prev_data, HALF_FRAME_LEN * sizeof(int16_t));

    memcpy(vector + HALF_FRAME_LEN, in, FRAME_LEN * sizeof(int16_t));



    comp_lpc_coeff(vector, unq_lpc);

    lpc2lsp(&unq_lpc[LPC_ORDER * 3], p->prev_lsp, cur_lsp);

    lsp_quantize(p->lsp_index, cur_lsp, p->prev_lsp);



    /* Update memory */

    memcpy(vector + LPC_ORDER, p->prev_data + SUBFRAME_LEN,

           sizeof(int16_t) * SUBFRAME_LEN);

    memcpy(vector + LPC_ORDER + SUBFRAME_LEN, in,

           sizeof(int16_t) * (HALF_FRAME_LEN + SUBFRAME_LEN));

    memcpy(p->prev_data, in + HALF_FRAME_LEN,

           sizeof(int16_t) * HALF_FRAME_LEN);

    memcpy(in, vector + LPC_ORDER, sizeof(int16_t) * FRAME_LEN);



    perceptual_filter(p, weighted_lpc, unq_lpc, vector);



    memcpy(in, vector + LPC_ORDER, sizeof(int16_t) * FRAME_LEN);

    memcpy(vector, p->prev_weight_sig, sizeof(int16_t) * PITCH_MAX);

    memcpy(vector + PITCH_MAX, in, sizeof(int16_t) * FRAME_LEN);



    scale_vector(vector, vector, FRAME_LEN + PITCH_MAX);



    p->pitch_lag[0] = estimate_pitch(vector, PITCH_MAX);

    p->pitch_lag[1] = estimate_pitch(vector, PITCH_MAX + HALF_FRAME_LEN);



    for (i = PITCH_MAX, j = 0; j < SUBFRAMES; i += SUBFRAME_LEN, j++)

        comp_harmonic_coeff(vector + i, p->pitch_lag[j >> 1], hf + j);



    memcpy(vector, p->prev_weight_sig, sizeof(int16_t) * PITCH_MAX);

    memcpy(vector + PITCH_MAX, in, sizeof(int16_t) * FRAME_LEN);

    memcpy(p->prev_weight_sig, vector + FRAME_LEN, sizeof(int16_t) * PITCH_MAX);



    for (i = 0, j = 0; j < SUBFRAMES; i += SUBFRAME_LEN, j++)

        harmonic_filter(hf + j, vector + PITCH_MAX + i, in + i);



    inverse_quant(cur_lsp, p->prev_lsp, p->lsp_index, 0);

    lsp_interpolate(qnt_lpc, cur_lsp, p->prev_lsp);



    memcpy(p->prev_lsp, cur_lsp, sizeof(int16_t) * LPC_ORDER);



    offset = 0;

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

        int16_t impulse_resp[SUBFRAME_LEN];

        int16_t residual[SUBFRAME_LEN + PITCH_ORDER - 1];

        int16_t flt_in[SUBFRAME_LEN];

        int16_t zero[LPC_ORDER], fir[LPC_ORDER], iir[LPC_ORDER];



        /**

         * Compute the combined impulse response of the synthesis filter,

         * formant perceptual weighting filter and harmonic noise shaping filter

         */

        memset(zero, 0, sizeof(int16_t) * LPC_ORDER);

        memset(vector, 0, sizeof(int16_t) * PITCH_MAX);

        memset(flt_in, 0, sizeof(int16_t) * SUBFRAME_LEN);



        flt_in[0] = 1 << 13; /* Unit impulse */

        synth_percept_filter(qnt_lpc + offset, weighted_lpc + (offset << 1),

                             zero, zero, flt_in, vector + PITCH_MAX, 1);

        harmonic_filter(hf + i, vector + PITCH_MAX, impulse_resp);



         /* Compute the combined zero input response */

        flt_in[0] = 0;

        memcpy(fir, p->perf_fir_mem, sizeof(int16_t) * LPC_ORDER);

        memcpy(iir, p->perf_iir_mem, sizeof(int16_t) * LPC_ORDER);



        synth_percept_filter(qnt_lpc + offset, weighted_lpc + (offset << 1),

                             fir, iir, flt_in, vector + PITCH_MAX, 0);

        memcpy(vector, p->harmonic_mem, sizeof(int16_t) * PITCH_MAX);

        harmonic_noise_sub(hf + i, vector + PITCH_MAX, in);



        acb_search(p, residual, impulse_resp, in, i);

        gen_acb_excitation(residual, p->prev_excitation,p->pitch_lag[i >> 1],

                           &p->subframe[i], p->cur_rate);

        sub_acb_contrib(residual, impulse_resp, in);



        fcb_search(p, impulse_resp, in, i);



        /* Reconstruct the excitation */

        gen_acb_excitation(impulse_resp, p->prev_excitation, p->pitch_lag[i >> 1],

                           &p->subframe[i], RATE_6300);



        memmove(p->prev_excitation, p->prev_excitation + SUBFRAME_LEN,

               sizeof(int16_t) * (PITCH_MAX - SUBFRAME_LEN));

        for (j = 0; j < SUBFRAME_LEN; j++)

            in[j] = av_clip_int16((in[j] << 1) + impulse_resp[j]);

        memcpy(p->prev_excitation + PITCH_MAX - SUBFRAME_LEN, in,

               sizeof(int16_t) * SUBFRAME_LEN);



        /* Update filter memories */

        synth_percept_filter(qnt_lpc + offset, weighted_lpc + (offset << 1),

                             p->perf_fir_mem, p->perf_iir_mem,

                             in, vector + PITCH_MAX, 0);

        memmove(p->harmonic_mem, p->harmonic_mem + SUBFRAME_LEN,

                sizeof(int16_t) * (PITCH_MAX - SUBFRAME_LEN));

        memcpy(p->harmonic_mem + PITCH_MAX - SUBFRAME_LEN, vector + PITCH_MAX,

               sizeof(int16_t) * SUBFRAME_LEN);



        in += SUBFRAME_LEN;

        offset += LPC_ORDER;

    }



    if ((ret = ff_alloc_packet2(avctx, avpkt, 24)))

        return ret;



    *got_packet_ptr = 1;

    avpkt->size = pack_bitstream(p, avpkt->data, avpkt->size);

    return 0;

}

static int g723_1_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,

                            const AVFrame *frame, int *got_packet_ptr)

{

    G723_1_Context *p = avctx->priv_data;

    int16_t unq_lpc[LPC_ORDER * SUBFRAMES];

    int16_t qnt_lpc[LPC_ORDER * SUBFRAMES];

    int16_t cur_lsp[LPC_ORDER];

    int16_t weighted_lpc[LPC_ORDER * SUBFRAMES << 1];

    int16_t vector[FRAME_LEN + PITCH_MAX];

    int offset, ret;

    int16_t *in = (const int16_t *)frame->data[0];



    HFParam hf[4];

    int i, j;



    highpass_filter(in, &p->hpf_fir_mem, &p->hpf_iir_mem);



    memcpy(vector, p->prev_data, HALF_FRAME_LEN * sizeof(int16_t));

    memcpy(vector + HALF_FRAME_LEN, in, FRAME_LEN * sizeof(int16_t));



    comp_lpc_coeff(vector, unq_lpc);

    lpc2lsp(&unq_lpc[LPC_ORDER * 3], p->prev_lsp, cur_lsp);

    lsp_quantize(p->lsp_index, cur_lsp, p->prev_lsp);



    

    memcpy(vector + LPC_ORDER, p->prev_data + SUBFRAME_LEN,

           sizeof(int16_t) * SUBFRAME_LEN);

    memcpy(vector + LPC_ORDER + SUBFRAME_LEN, in,

           sizeof(int16_t) * (HALF_FRAME_LEN + SUBFRAME_LEN));

    memcpy(p->prev_data, in + HALF_FRAME_LEN,

           sizeof(int16_t) * HALF_FRAME_LEN);

    memcpy(in, vector + LPC_ORDER, sizeof(int16_t) * FRAME_LEN);



    perceptual_filter(p, weighted_lpc, unq_lpc, vector);



    memcpy(in, vector + LPC_ORDER, sizeof(int16_t) * FRAME_LEN);

    memcpy(vector, p->prev_weight_sig, sizeof(int16_t) * PITCH_MAX);

    memcpy(vector + PITCH_MAX, in, sizeof(int16_t) * FRAME_LEN);



    scale_vector(vector, vector, FRAME_LEN + PITCH_MAX);



    p->pitch_lag[0] = estimate_pitch(vector, PITCH_MAX);

    p->pitch_lag[1] = estimate_pitch(vector, PITCH_MAX + HALF_FRAME_LEN);



    for (i = PITCH_MAX, j = 0; j < SUBFRAMES; i += SUBFRAME_LEN, j++)

        comp_harmonic_coeff(vector + i, p->pitch_lag[j >> 1], hf + j);



    memcpy(vector, p->prev_weight_sig, sizeof(int16_t) * PITCH_MAX);

    memcpy(vector + PITCH_MAX, in, sizeof(int16_t) * FRAME_LEN);

    memcpy(p->prev_weight_sig, vector + FRAME_LEN, sizeof(int16_t) * PITCH_MAX);



    for (i = 0, j = 0; j < SUBFRAMES; i += SUBFRAME_LEN, j++)

        harmonic_filter(hf + j, vector + PITCH_MAX + i, in + i);



    inverse_quant(cur_lsp, p->prev_lsp, p->lsp_index, 0);

    lsp_interpolate(qnt_lpc, cur_lsp, p->prev_lsp);



    memcpy(p->prev_lsp, cur_lsp, sizeof(int16_t) * LPC_ORDER);



    offset = 0;

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

        int16_t impulse_resp[SUBFRAME_LEN];

        int16_t residual[SUBFRAME_LEN + PITCH_ORDER - 1];

        int16_t flt_in[SUBFRAME_LEN];

        int16_t zero[LPC_ORDER], fir[LPC_ORDER], iir[LPC_ORDER];



        







        memset(zero, 0, sizeof(int16_t) * LPC_ORDER);

        memset(vector, 0, sizeof(int16_t) * PITCH_MAX);

        memset(flt_in, 0, sizeof(int16_t) * SUBFRAME_LEN);



        flt_in[0] = 1 << 13; 

        synth_percept_filter(qnt_lpc + offset, weighted_lpc + (offset << 1),

                             zero, zero, flt_in, vector + PITCH_MAX, 1);

        harmonic_filter(hf + i, vector + PITCH_MAX, impulse_resp);



         

        flt_in[0] = 0;

        memcpy(fir, p->perf_fir_mem, sizeof(int16_t) * LPC_ORDER);

        memcpy(iir, p->perf_iir_mem, sizeof(int16_t) * LPC_ORDER);



        synth_percept_filter(qnt_lpc + offset, weighted_lpc + (offset << 1),

                             fir, iir, flt_in, vector + PITCH_MAX, 0);

        memcpy(vector, p->harmonic_mem, sizeof(int16_t) * PITCH_MAX);

        harmonic_noise_sub(hf + i, vector + PITCH_MAX, in);



        acb_search(p, residual, impulse_resp, in, i);

        gen_acb_excitation(residual, p->prev_excitation,p->pitch_lag[i >> 1],

                           &p->subframe[i], p->cur_rate);

        sub_acb_contrib(residual, impulse_resp, in);



        fcb_search(p, impulse_resp, in, i);



        

        gen_acb_excitation(impulse_resp, p->prev_excitation, p->pitch_lag[i >> 1],

                           &p->subframe[i], RATE_6300);



        memmove(p->prev_excitation, p->prev_excitation + SUBFRAME_LEN,

               sizeof(int16_t) * (PITCH_MAX - SUBFRAME_LEN));

        for (j = 0; j < SUBFRAME_LEN; j++)

            in[j] = av_clip_int16((in[j] << 1) + impulse_resp[j]);

        memcpy(p->prev_excitation + PITCH_MAX - SUBFRAME_LEN, in,

               sizeof(int16_t) * SUBFRAME_LEN);



        

        synth_percept_filter(qnt_lpc + offset, weighted_lpc + (offset << 1),

                             p->perf_fir_mem, p->perf_iir_mem,

                             in, vector + PITCH_MAX, 0);

        memmove(p->harmonic_mem, p->harmonic_mem + SUBFRAME_LEN,

                sizeof(int16_t) * (PITCH_MAX - SUBFRAME_LEN));

        memcpy(p->harmonic_mem + PITCH_MAX - SUBFRAME_LEN, vector + PITCH_MAX,

               sizeof(int16_t) * SUBFRAME_LEN);



        in += SUBFRAME_LEN;

        offset += LPC_ORDER;

    }



    if ((ret = ff_alloc_packet2(avctx, avpkt, 24)))

        return ret;



    *got_packet_ptr = 1;

    avpkt->size = pack_bitstream(p, avpkt->data, avpkt->size);

    return 0;

}

static int FUNC_0(AVCodecContext *VAR_0, AVPacket *VAR_1,

                            const AVFrame *VAR_2, int *VAR_3)

{

    G723_1_Context *p = VAR_0->priv_data;

    int16_t unq_lpc[LPC_ORDER * SUBFRAMES];

    int16_t qnt_lpc[LPC_ORDER * SUBFRAMES];

    int16_t cur_lsp[LPC_ORDER];

    int16_t weighted_lpc[LPC_ORDER * SUBFRAMES << 1];

    int16_t vector[FRAME_LEN + PITCH_MAX];

    int VAR_4, VAR_5;

    int16_t *in = (const int16_t *)VAR_2->data[0];



    HFParam hf[4];

    int VAR_6, VAR_7;



    highpass_filter(in, &p->hpf_fir_mem, &p->hpf_iir_mem);



    memcpy(vector, p->prev_data, HALF_FRAME_LEN * sizeof(int16_t));

    memcpy(vector + HALF_FRAME_LEN, in, FRAME_LEN * sizeof(int16_t));



    comp_lpc_coeff(vector, unq_lpc);

    lpc2lsp(&unq_lpc[LPC_ORDER * 3], p->prev_lsp, cur_lsp);

    lsp_quantize(p->lsp_index, cur_lsp, p->prev_lsp);



    

    memcpy(vector + LPC_ORDER, p->prev_data + SUBFRAME_LEN,

           sizeof(int16_t) * SUBFRAME_LEN);

    memcpy(vector + LPC_ORDER + SUBFRAME_LEN, in,

           sizeof(int16_t) * (HALF_FRAME_LEN + SUBFRAME_LEN));

    memcpy(p->prev_data, in + HALF_FRAME_LEN,

           sizeof(int16_t) * HALF_FRAME_LEN);

    memcpy(in, vector + LPC_ORDER, sizeof(int16_t) * FRAME_LEN);



    perceptual_filter(p, weighted_lpc, unq_lpc, vector);



    memcpy(in, vector + LPC_ORDER, sizeof(int16_t) * FRAME_LEN);

    memcpy(vector, p->prev_weight_sig, sizeof(int16_t) * PITCH_MAX);

    memcpy(vector + PITCH_MAX, in, sizeof(int16_t) * FRAME_LEN);



    scale_vector(vector, vector, FRAME_LEN + PITCH_MAX);



    p->pitch_lag[0] = estimate_pitch(vector, PITCH_MAX);

    p->pitch_lag[1] = estimate_pitch(vector, PITCH_MAX + HALF_FRAME_LEN);



    for (VAR_6 = PITCH_MAX, VAR_7 = 0; VAR_7 < SUBFRAMES; VAR_6 += SUBFRAME_LEN, VAR_7++)

        comp_harmonic_coeff(vector + VAR_6, p->pitch_lag[VAR_7 >> 1], hf + VAR_7);



    memcpy(vector, p->prev_weight_sig, sizeof(int16_t) * PITCH_MAX);

    memcpy(vector + PITCH_MAX, in, sizeof(int16_t) * FRAME_LEN);

    memcpy(p->prev_weight_sig, vector + FRAME_LEN, sizeof(int16_t) * PITCH_MAX);



    for (VAR_6 = 0, VAR_7 = 0; VAR_7 < SUBFRAMES; VAR_6 += SUBFRAME_LEN, VAR_7++)

        harmonic_filter(hf + VAR_7, vector + PITCH_MAX + VAR_6, in + VAR_6);



    inverse_quant(cur_lsp, p->prev_lsp, p->lsp_index, 0);

    lsp_interpolate(qnt_lpc, cur_lsp, p->prev_lsp);



    memcpy(p->prev_lsp, cur_lsp, sizeof(int16_t) * LPC_ORDER);



    VAR_4 = 0;

    for (VAR_6 = 0; VAR_6 < SUBFRAMES; VAR_6++) {

        int16_t impulse_resp[SUBFRAME_LEN];

        int16_t residual[SUBFRAME_LEN + PITCH_ORDER - 1];

        int16_t flt_in[SUBFRAME_LEN];

        int16_t zero[LPC_ORDER], fir[LPC_ORDER], iir[LPC_ORDER];



        







        memset(zero, 0, sizeof(int16_t) * LPC_ORDER);

        memset(vector, 0, sizeof(int16_t) * PITCH_MAX);

        memset(flt_in, 0, sizeof(int16_t) * SUBFRAME_LEN);



        flt_in[0] = 1 << 13; 

        synth_percept_filter(qnt_lpc + VAR_4, weighted_lpc + (VAR_4 << 1),

                             zero, zero, flt_in, vector + PITCH_MAX, 1);

        harmonic_filter(hf + VAR_6, vector + PITCH_MAX, impulse_resp);



         

        flt_in[0] = 0;

        memcpy(fir, p->perf_fir_mem, sizeof(int16_t) * LPC_ORDER);

        memcpy(iir, p->perf_iir_mem, sizeof(int16_t) * LPC_ORDER);



        synth_percept_filter(qnt_lpc + VAR_4, weighted_lpc + (VAR_4 << 1),

                             fir, iir, flt_in, vector + PITCH_MAX, 0);

        memcpy(vector, p->harmonic_mem, sizeof(int16_t) * PITCH_MAX);

        harmonic_noise_sub(hf + VAR_6, vector + PITCH_MAX, in);



        acb_search(p, residual, impulse_resp, in, VAR_6);

        gen_acb_excitation(residual, p->prev_excitation,p->pitch_lag[VAR_6 >> 1],

                           &p->subframe[VAR_6], p->cur_rate);

        sub_acb_contrib(residual, impulse_resp, in);



        fcb_search(p, impulse_resp, in, VAR_6);



        

        gen_acb_excitation(impulse_resp, p->prev_excitation, p->pitch_lag[VAR_6 >> 1],

                           &p->subframe[VAR_6], RATE_6300);



        memmove(p->prev_excitation, p->prev_excitation + SUBFRAME_LEN,

               sizeof(int16_t) * (PITCH_MAX - SUBFRAME_LEN));

        for (VAR_7 = 0; VAR_7 < SUBFRAME_LEN; VAR_7++)

            in[VAR_7] = av_clip_int16((in[VAR_7] << 1) + impulse_resp[VAR_7]);

        memcpy(p->prev_excitation + PITCH_MAX - SUBFRAME_LEN, in,

               sizeof(int16_t) * SUBFRAME_LEN);



        

        synth_percept_filter(qnt_lpc + VAR_4, weighted_lpc + (VAR_4 << 1),

                             p->perf_fir_mem, p->perf_iir_mem,

                             in, vector + PITCH_MAX, 0);

        memmove(p->harmonic_mem, p->harmonic_mem + SUBFRAME_LEN,

                sizeof(int16_t) * (PITCH_MAX - SUBFRAME_LEN));

        memcpy(p->harmonic_mem + PITCH_MAX - SUBFRAME_LEN, vector + PITCH_MAX,

               sizeof(int16_t) * SUBFRAME_LEN);



        in += SUBFRAME_LEN;

        VAR_4 += LPC_ORDER;

    }



    if ((VAR_5 = ff_alloc_packet2(VAR_0, VAR_1, 24)))

        return VAR_5;



    *VAR_3 = 1;

    VAR_1->size = pack_bitstream(p, VAR_1->data, VAR_1->size);

    return 0;

}

static int FUNC_0(AVCodecContext *VAR_0, AVPacket *VAR_1,
const AVFrame *VAR_2, int *VAR_3)
{ G723_1_Context *p = VAR_0->priv_data; int16_t unq_lpc[LPC_ORDER * SUBFRAMES]; int16_t qnt_lpc[LPC_ORDER * SUBFRAMES]; int16_t cur_lsp[LPC_ORDER]; int16_t weighted_lpc[LPC_ORDER * SUBFRAMES << 1]; int16_t vector[FRAME_LEN + PITCH_MAX]; int VAR_4, VAR_5; int16_t *in = (const int16_t *)VAR_2->data[0]; HFParam hf[4]; int VAR_6, VAR_7; highpass_filter(in, &p->hpf_fir_mem, &p->hpf_iir_mem); memcpy(vector, p->prev_data, HALF_FRAME_LEN * sizeof(int16_t)); memcpy(vector + HALF_FRAME_LEN, in, FRAME_LEN * sizeof(int16_t)); comp_lpc_coeff(vector, unq_lpc); lpc2lsp(&unq_lpc[LPC_ORDER * 3], p->prev_lsp, cur_lsp); lsp_quantize(p->lsp_index, cur_lsp, p->prev_lsp); memcpy(vector + LPC_ORDER, p->prev_data + SUBFRAME_LEN,
sizeof(int16_t) * SUBFRAME_LEN); memcpy(vector + LPC_ORDER + SUBFRAME_LEN, in,
sizeof(int16_t) * (HALF_FRAME_LEN + SUBFRAME_LEN)); memcpy(p->prev_data, in + HALF_FRAME_LEN,
sizeof(int16_t) * HALF_FRAME_LEN); memcpy(in, vector + LPC_ORDER, sizeof(int16_t) * FRAME_LEN); perceptual_filter(p, weighted_lpc, unq_lpc, vector); memcpy(in, vector + LPC_ORDER, sizeof(int16_t) * FRAME_LEN); memcpy(vector, p->prev_weight_sig, sizeof(int16_t) * PITCH_MAX); memcpy(vector + PITCH_MAX, in, sizeof(int16_t) * FRAME_LEN); scale_vector(vector, vector, FRAME_LEN + PITCH_MAX); p->pitch_lag[0] = estimate_pitch(vector, PITCH_MAX); p->pitch_lag[1] = estimate_pitch(vector, PITCH_MAX + HALF_FRAME_LEN); for (VAR_6 = PITCH_MAX, VAR_7 = 0; VAR_7 < SUBFRAMES; VAR_6 += SUBFRAME_LEN, VAR_7++) comp_harmonic_coeff(vector + VAR_6, p->pitch_lag[VAR_7 >> 1], hf + VAR_7); memcpy(vector, p->prev_weight_sig, sizeof(int16_t) * PITCH_MAX); memcpy(vector + PITCH_MAX, in, sizeof(int16_t) * FRAME_LEN); memcpy(p->prev_weight_sig, vector + FRAME_LEN, sizeof(int16_t) * PITCH_MAX); for (VAR_6 = 0, VAR_7 = 0; VAR_7 < SUBFRAMES; VAR_6 += SUBFRAME_LEN, VAR_7++) harmonic_filter(hf + VAR_7, vector + PITCH_MAX + VAR_6, in + VAR_6); inverse_quant(cur_lsp, p->prev_lsp, p->lsp_index, 0); lsp_interpolate(qnt_lpc, cur_lsp, p->prev_lsp); memcpy(p->prev_lsp, cur_lsp, sizeof(int16_t) * LPC_ORDER); VAR_4 = 0; for (VAR_6 = 0; VAR_6 < SUBFRAMES; VAR_6++) { int16_t impulse_resp[SUBFRAME_LEN]; int16_t residual[SUBFRAME_LEN + PITCH_ORDER - 1]; int16_t flt_in[SUBFRAME_LEN]; int16_t zero[LPC_ORDER], fir[LPC_ORDER], iir[LPC_ORDER]; memset(zero, 0, sizeof(int16_t) * LPC_ORDER); memset(vector, 0, sizeof(int16_t) * PITCH_MAX); memset(flt_in, 0, sizeof(int16_t) * SUBFRAME_LEN); flt_in[0] = 1 << 13; synth_percept_filter(qnt_lpc + VAR_4, weighted_lpc + (VAR_4 << 1),
zero, zero, flt_in, vector + PITCH_MAX, 1); harmonic_filter(hf + VAR_6, vector + PITCH_MAX, impulse_resp); flt_in[0] = 0; memcpy(fir, p->perf_fir_mem, sizeof(int16_t) * LPC_ORDER); memcpy(iir, p->perf_iir_mem, sizeof(int16_t) * LPC_ORDER); synth_percept_filter(qnt_lpc + VAR_4, weighted_lpc + (VAR_4 << 1),
fir, iir, flt_in, vector + PITCH_MAX, 0); memcpy(vector, p->harmonic_mem, sizeof(int16_t) * PITCH_MAX); harmonic_noise_sub(hf + VAR_6, vector + PITCH_MAX, in); acb_search(p, residual, impulse_resp, in, VAR_6); gen_acb_excitation(residual, p->prev_excitation,p->pitch_lag[VAR_6 >> 1],
&p->subframe[VAR_6], p->cur_rate); sub_acb_contrib(residual, impulse_resp, in); fcb_search(p, impulse_resp, in, VAR_6); gen_acb_excitation(impulse_resp, p->prev_excitation, p->pitch_lag[VAR_6 >> 1],
&p->subframe[VAR_6], RATE_6300); memmove(p->prev_excitation, p->prev_excitation + SUBFRAME_LEN,
sizeof(int16_t) * (PITCH_MAX - SUBFRAME_LEN)); for (VAR_7 = 0; VAR_7 < SUBFRAME_LEN; VAR_7++) in[VAR_7] = av_clip_int16((in[VAR_7] << 1) + impulse_resp[VAR_7]); memcpy(p->prev_excitation + PITCH_MAX - SUBFRAME_LEN, in,
sizeof(int16_t) * SUBFRAME_LEN); synth_percept_filter(qnt_lpc + VAR_4, weighted_lpc + (VAR_4 << 1),
p->perf_fir_mem, p->perf_iir_mem,
in, vector + PITCH_MAX, 0); memmove(p->harmonic_mem, p->harmonic_mem + SUBFRAME_LEN,
sizeof(int16_t) * (PITCH_MAX - SUBFRAME_LEN)); memcpy(p->harmonic_mem + PITCH_MAX - SUBFRAME_LEN, vector + PITCH_MAX,
sizeof(int16_t) * SUBFRAME_LEN); in += SUBFRAME_LEN; VAR_4 += LPC_ORDER; } if ((VAR_5 = ff_alloc_packet2(VAR_0, VAR_1, 24)))
return VAR_5; *VAR_3 = 1; VAR_1->size = pack_bitstream(p, VAR_1->data, VAR_1->size); return 0; }