static void ac3_downmix(AC3DecodeContext *s)

{

    int i, j;

    float v0, v1;



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

        v0 = v1 = 0.0f;

        for(j=0; j<s->fbw_channels; j++) {

            v0 += s->output[j][i] * s->downmix_coeffs[j][0];

            v1 += s->output[j][i] * s->downmix_coeffs[j][1];

        }

        v0 /= s->downmix_coeff_sum[0];

        v1 /= s->downmix_coeff_sum[1];

        if(s->output_mode == AC3_CHMODE_MONO) {

            s->output[0][i] = (v0 + v1) * LEVEL_MINUS_3DB;

        } else if(s->output_mode == AC3_CHMODE_STEREO) {

            s->output[0][i] = v0;

            s->output[1][i] = v1;

        }

    }

}

static void ac3_downmix(AC3DecodeContext *s)

{

    int i, j;

    float v0, v1;



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

        v0 = v1 = 0.0f;

        for(j=0; j<s->fbw_channels; j++) {

            v0 += s->output[j][i] * s->downmix_coeffs[j][0];

            v1 += s->output[j][i] * s->downmix_coeffs[j][1];

        }

        v0 /= s->downmix_coeff_sum[0];

        v1 /= s->downmix_coeff_sum[1];

        if(s->output_mode == AC3_CHMODE_MONO) {

            s->output[0][i] = (v0 + v1) * LEVEL_MINUS_3DB;

        } else if(s->output_mode == AC3_CHMODE_STEREO) {

            s->output[0][i] = v0;

            s->output[1][i] = v1;

        }

    }

}

static void FUNC_0(AC3DecodeContext *VAR_0)

{

    int VAR_1, VAR_2;

    float VAR_3, VAR_4;



    for(VAR_1=0; VAR_1<256; VAR_1++) {

        VAR_3 = VAR_4 = 0.0f;

        for(VAR_2=0; VAR_2<VAR_0->fbw_channels; VAR_2++) {

            VAR_3 += VAR_0->output[VAR_2][VAR_1] * VAR_0->downmix_coeffs[VAR_2][0];

            VAR_4 += VAR_0->output[VAR_2][VAR_1] * VAR_0->downmix_coeffs[VAR_2][1];

        }

        VAR_3 /= VAR_0->downmix_coeff_sum[0];

        VAR_4 /= VAR_0->downmix_coeff_sum[1];

        if(VAR_0->output_mode == AC3_CHMODE_MONO) {

            VAR_0->output[0][VAR_1] = (VAR_3 + VAR_4) * LEVEL_MINUS_3DB;

        } else if(VAR_0->output_mode == AC3_CHMODE_STEREO) {

            VAR_0->output[0][VAR_1] = VAR_3;

            VAR_0->output[1][VAR_1] = VAR_4;

        }

    }

}

static void FUNC_0(AC3DecodeContext *VAR_0)
{ int VAR_1, VAR_2; float VAR_3, VAR_4; for(VAR_1=0; VAR_1<256; VAR_1++) { VAR_3 = VAR_4 = 0.0f; for(VAR_2=0; VAR_2<VAR_0->fbw_channels; VAR_2++) { VAR_3 += VAR_0->output[VAR_2][VAR_1] * VAR_0->downmix_coeffs[VAR_2][0]; VAR_4 += VAR_0->output[VAR_2][VAR_1] * VAR_0->downmix_coeffs[VAR_2][1]; } VAR_3 /= VAR_0->downmix_coeff_sum[0]; VAR_4 /= VAR_0->downmix_coeff_sum[1]; if(VAR_0->output_mode == AC3_CHMODE_MONO) { VAR_0->output[0][VAR_1] = (VAR_3 + VAR_4) * LEVEL_MINUS_3DB; } else if(VAR_0->output_mode == AC3_CHMODE_STEREO) { VAR_0->output[0][VAR_1] = VAR_3; VAR_0->output[1][VAR_1] = VAR_4; } } }