static void get_lag(float *buf, const float *new, LongTermPrediction *ltp)

{

    int i, j, lag, max_corr = 0;

    float max_ratio;

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

        float corr, s0 = 0.0f, s1 = 0.0f;

        const int start = FFMAX(0, i - 1024);

        for (j = start; j < 2048; j++) {

            const int idx = j - i + 1024;

            s0 += new[j]*buf[idx];

            s1 += buf[idx]*buf[idx];

        }

        corr = s1 > 0.0f ? s0/sqrt(s1) : 0.0f;

        if (corr > max_corr) {

            max_corr = corr;

            lag = i;

            max_ratio = corr/(2048-start);

        }

    }

    ltp->lag = FFMAX(av_clip_uintp2(lag, 11), 0);

    ltp->coef_idx = quant_array_idx(max_ratio, ltp_coef, 8);

    ltp->coef = ltp_coef[ltp->coef_idx];

}

static void get_lag(float *buf, const float *new, LongTermPrediction *ltp)

{

    int i, j, lag, max_corr = 0;

    float max_ratio;

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

        float corr, s0 = 0.0f, s1 = 0.0f;

        const int start = FFMAX(0, i - 1024);

        for (j = start; j < 2048; j++) {

            const int idx = j - i + 1024;

            s0 += new[j]*buf[idx];

            s1 += buf[idx]*buf[idx];

        }

        corr = s1 > 0.0f ? s0/sqrt(s1) : 0.0f;

        if (corr > max_corr) {

            max_corr = corr;

            lag = i;

            max_ratio = corr/(2048-start);

        }

    }

    ltp->lag = FFMAX(av_clip_uintp2(lag, 11), 0);

    ltp->coef_idx = quant_array_idx(max_ratio, ltp_coef, 8);

    ltp->coef = ltp_coef[ltp->coef_idx];

}

    int i, j, lag, max_corr = 0;     float max_ratio;
static void FUNC_0(float *VAR_0, const float *VAR_1, LongTermPrediction *VAR_2)

{

    int VAR_3, VAR_4, VAR_5, VAR_6 = 0;

    float VAR_7;

    for (VAR_3 = 0; VAR_3 < 2048; VAR_3++) {

        float VAR_8, VAR_9 = 0.0f, VAR_10 = 0.0f;

        const int VAR_11 = FFMAX(0, VAR_3 - 1024);

        for (VAR_4 = VAR_11; VAR_4 < 2048; VAR_4++) {

            const int VAR_12 = VAR_4 - VAR_3 + 1024;

            VAR_9 += VAR_1[VAR_4]*VAR_0[VAR_12];

            VAR_10 += VAR_0[VAR_12]*VAR_0[VAR_12];

        }

        VAR_8 = VAR_10 > 0.0f ? VAR_9/sqrt(VAR_10) : 0.0f;

        if (VAR_8 > VAR_6) {

            VAR_6 = VAR_8;

            VAR_5 = VAR_3;

            VAR_7 = VAR_8/(2048-VAR_11);

        }

    }

    VAR_2->VAR_5 = FFMAX(av_clip_uintp2(VAR_5, 11), 0);

    VAR_2->coef_idx = quant_array_idx(VAR_7, ltp_coef, 8);

    VAR_2->coef = ltp_coef[VAR_2->coef_idx];

}

static void FUNC_0(float *VAR_0, const float *VAR_1, LongTermPrediction *VAR_2)
{ int VAR_3, VAR_4, VAR_5, VAR_6 = 0; float VAR_7; for (VAR_3 = 0; VAR_3 < 2048; VAR_3++) { float VAR_8, VAR_9 = 0.0f, VAR_10 = 0.0f; const int VAR_11 = FFMAX(0, VAR_3 - 1024); for (VAR_4 = VAR_11; VAR_4 < 2048; VAR_4++) { const int VAR_12 = VAR_4 - VAR_3 + 1024; VAR_9 += VAR_1[VAR_4]*VAR_0[VAR_12]; VAR_10 += VAR_0[VAR_12]*VAR_0[VAR_12]; } VAR_8 = VAR_10 > 0.0f ? VAR_9/sqrt(VAR_10) : 0.0f; if (VAR_8 > VAR_6) { VAR_6 = VAR_8; VAR_5 = VAR_3; VAR_7 = VAR_8/(2048-VAR_11); } } VAR_2->VAR_5 = FFMAX(av_clip_uintp2(VAR_5, 11), 0); VAR_2->coef_idx = quant_array_idx(VAR_7, ltp_coef, 8); VAR_2->coef = ltp_coef[VAR_2->coef_idx]; }