static void hybrid_analysis(float out[91][32][2], float in[5][44][2], float L[2][38][64], int is34, int len)

{

    int i, j;

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

        for (j = 0; j < 38; j++) {

            in[i][j+6][0] = L[0][j][i];

            in[i][j+6][1] = L[1][j][i];

        }

    }

    if (is34) {

        hybrid4_8_12_cx(in[0], out,    f34_0_12, 12, len);

        hybrid4_8_12_cx(in[1], out+12, f34_1_8,   8, len);

        hybrid4_8_12_cx(in[2], out+20, f34_2_4,   4, len);

        hybrid4_8_12_cx(in[3], out+24, f34_2_4,   4, len);

        hybrid4_8_12_cx(in[4], out+28, f34_2_4,   4, len);

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

            for (j = 0; j < len; j++) {

                out[i+32][j][0] = L[0][j][i+5];

                out[i+32][j][1] = L[1][j][i+5];

            }

        }

    } else {

        hybrid6_cx(in[0], out, f20_0_8, len);

        hybrid2_re(in[1], out+6, g1_Q2, len, 1);

        hybrid2_re(in[2], out+8, g1_Q2, len, 0);

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

            for (j = 0; j < len; j++) {

                out[i+10][j][0] = L[0][j][i+3];

                out[i+10][j][1] = L[1][j][i+3];

            }

        }

    }

    //update in_buf

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

        memcpy(in[i], in[i]+32, 6 * sizeof(in[i][0]));

    }

}

static void hybrid_analysis(float out[91][32][2], float in[5][44][2], float L[2][38][64], int is34, int len)

{

    int i, j;

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

        for (j = 0; j < 38; j++) {

            in[i][j+6][0] = L[0][j][i];

            in[i][j+6][1] = L[1][j][i];

        }

    }

    if (is34) {

        hybrid4_8_12_cx(in[0], out,    f34_0_12, 12, len);

        hybrid4_8_12_cx(in[1], out+12, f34_1_8,   8, len);

        hybrid4_8_12_cx(in[2], out+20, f34_2_4,   4, len);

        hybrid4_8_12_cx(in[3], out+24, f34_2_4,   4, len);

        hybrid4_8_12_cx(in[4], out+28, f34_2_4,   4, len);

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

            for (j = 0; j < len; j++) {

                out[i+32][j][0] = L[0][j][i+5];

                out[i+32][j][1] = L[1][j][i+5];

            }

        }

    } else {

        hybrid6_cx(in[0], out, f20_0_8, len);

        hybrid2_re(in[1], out+6, g1_Q2, len, 1);

        hybrid2_re(in[2], out+8, g1_Q2, len, 0);

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

            for (j = 0; j < len; j++) {

                out[i+10][j][0] = L[0][j][i+3];

                out[i+10][j][1] = L[1][j][i+3];

            }

        }

    }

    

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

        memcpy(in[i], in[i]+32, 6 * sizeof(in[i][0]));

    }

}

static void FUNC_0(float VAR_0[91][32][2], float VAR_1[5][44][2], float VAR_2[2][38][64], int VAR_3, int VAR_4)

{

    int VAR_5, VAR_6;

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

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

            VAR_1[VAR_5][VAR_6+6][0] = VAR_2[0][VAR_6][VAR_5];

            VAR_1[VAR_5][VAR_6+6][1] = VAR_2[1][VAR_6][VAR_5];

        }

    }

    if (VAR_3) {

        hybrid4_8_12_cx(VAR_1[0], VAR_0,    f34_0_12, 12, VAR_4);

        hybrid4_8_12_cx(VAR_1[1], VAR_0+12, f34_1_8,   8, VAR_4);

        hybrid4_8_12_cx(VAR_1[2], VAR_0+20, f34_2_4,   4, VAR_4);

        hybrid4_8_12_cx(VAR_1[3], VAR_0+24, f34_2_4,   4, VAR_4);

        hybrid4_8_12_cx(VAR_1[4], VAR_0+28, f34_2_4,   4, VAR_4);

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

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

                VAR_0[VAR_5+32][VAR_6][0] = VAR_2[0][VAR_6][VAR_5+5];

                VAR_0[VAR_5+32][VAR_6][1] = VAR_2[1][VAR_6][VAR_5+5];

            }

        }

    } else {

        hybrid6_cx(VAR_1[0], VAR_0, f20_0_8, VAR_4);

        hybrid2_re(VAR_1[1], VAR_0+6, g1_Q2, VAR_4, 1);

        hybrid2_re(VAR_1[2], VAR_0+8, g1_Q2, VAR_4, 0);

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

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

                VAR_0[VAR_5+10][VAR_6][0] = VAR_2[0][VAR_6][VAR_5+3];

                VAR_0[VAR_5+10][VAR_6][1] = VAR_2[1][VAR_6][VAR_5+3];

            }

        }

    }

    

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

        memcpy(VAR_1[VAR_5], VAR_1[VAR_5]+32, 6 * sizeof(VAR_1[VAR_5][0]));

    }

}

static void FUNC_0(float VAR_0[91][32][2], float VAR_1[5][44][2], float VAR_2[2][38][64], int VAR_3, int VAR_4)
{ int VAR_5, VAR_6; for (VAR_5 = 0; VAR_5 < 5; VAR_5++) { for (VAR_6 = 0; VAR_6 < 38; VAR_6++) { VAR_1[VAR_5][VAR_6+6][0] = VAR_2[0][VAR_6][VAR_5]; VAR_1[VAR_5][VAR_6+6][1] = VAR_2[1][VAR_6][VAR_5]; } } if (VAR_3) { hybrid4_8_12_cx(VAR_1[0], VAR_0,    f34_0_12, 12, VAR_4); hybrid4_8_12_cx(VAR_1[1], VAR_0+12, f34_1_8,   8, VAR_4); hybrid4_8_12_cx(VAR_1[2], VAR_0+20, f34_2_4,   4, VAR_4); hybrid4_8_12_cx(VAR_1[3], VAR_0+24, f34_2_4,   4, VAR_4); hybrid4_8_12_cx(VAR_1[4], VAR_0+28, f34_2_4,   4, VAR_4); for (VAR_5 = 0; VAR_5 < 59; VAR_5++) { for (VAR_6 = 0; VAR_6 < VAR_4; VAR_6++) { VAR_0[VAR_5+32][VAR_6][0] = VAR_2[0][VAR_6][VAR_5+5]; VAR_0[VAR_5+32][VAR_6][1] = VAR_2[1][VAR_6][VAR_5+5]; } } } else { hybrid6_cx(VAR_1[0], VAR_0, f20_0_8, VAR_4); hybrid2_re(VAR_1[1], VAR_0+6, g1_Q2, VAR_4, 1); hybrid2_re(VAR_1[2], VAR_0+8, g1_Q2, VAR_4, 0); for (VAR_5 = 0; VAR_5 < 61; VAR_5++) { for (VAR_6 = 0; VAR_6 < VAR_4; VAR_6++) { VAR_0[VAR_5+10][VAR_6][0] = VAR_2[0][VAR_6][VAR_5+3]; VAR_0[VAR_5+10][VAR_6][1] = VAR_2[1][VAR_6][VAR_5+3]; } } } for (VAR_5 = 0; VAR_5 < 5; VAR_5++) { memcpy(VAR_1[VAR_5], VAR_1[VAR_5]+32, 6 * sizeof(VAR_1[VAR_5][0])); } }