Commit e6dfbf22 authored by vaillancour's avatar vaillancour
Browse files

Fixes stv48c_dtx_32000_48kHz

parent e353216c
Loading
Loading
Loading
Loading
+49 −8
Original line number Diff line number Diff line
@@ -3290,12 +3290,15 @@ void elliptic_bpf_48k_generic_fx(
        memory_fx0[0][i] = extract_l(memory_fx2[0][i]);
#ifdef BASOP_NOGLOB
        memory_fx[0][i] =shl_sat(memory_fx0[0][i],sub(*Q_input_fx,memory_fx_Q[0]));
        memory2_fx[1][i] = L_shl_sat(memory_fx2[1][i], sub(add(*Q_input_fx, 11), memory_fx_Q[1]));
        memory2_fx[2][i] = L_shl_sat(memory_fx2[2][i], sub(add(*Q_input_fx, 6), memory_fx_Q[2]));
        memory2_fx[3][i] = L_shl_sat(memory_fx2[3][i], sub(add(*Q_input_fx, 1), memory_fx_Q[3]));
#else
        memory_fx[0][i] =shl(memory_fx0[0][i],sub(*Q_input_fx,memory_fx_Q[0]));
#endif
        memory2_fx[1][i] = L_shl(memory_fx2[1][i], sub(add(*Q_input_fx, 11), memory_fx_Q[1]));
        memory2_fx[2][i] = L_shl(memory_fx2[2][i], sub(add(*Q_input_fx, 6), memory_fx_Q[2]));
        memory2_fx[3][i] = L_shl(memory_fx2[3][i], sub(add(*Q_input_fx, 1), memory_fx_Q[3]));
#endif
    }

    L_tmpX = L_shr(L_mult(memory_fx[0][0],full_band_bpf_fx[0][4]),3);/*Q_input_fx + 13 + 1 - 3*/
@@ -3303,43 +3306,80 @@ void elliptic_bpf_48k_generic_fx(
    L_tmpX = L_add(L_shr(L_mult(memory_fx[0][2],full_band_bpf_fx[0][2]),3),L_tmpX);/*Q_input_fx + 13 + 1 - 3*/
    L_tmpX = L_add(L_shr(L_mult(memory_fx[0][3],full_band_bpf_fx[0][1]),3),L_tmpX);/*Q_input_fx + 13 + 1 - 3*/
    L_tmpX = L_add(L_shr(L_mult(input_fx[0],full_band_bpf_fx[0][0]),3),L_tmpX);/*Q_input_fx + 13 + 1 - 3*/
#ifdef BASOP_NOGLOB
    L_tmpX = L_sub_sat(L_tmpX,L_shl_sat(Mult_32_16(memory2_fx[1][3],full_band_bpf_fx[3][1]),2));/*Q_input_fx + 11 + 13  -15 +2*/
    L_tmpX = L_sub_sat(L_tmpX,L_shl_sat(Mult_32_16(memory2_fx[1][2],full_band_bpf_fx[3][2]),2));/*Q_input_fx + 11 + 13  -15 +2*/
    L_tmpX = L_sub_sat(L_tmpX,L_shl_sat(Mult_32_16(memory2_fx[1][1],full_band_bpf_fx[3][3]),2));/*Q_input_fx + 11 + 13  -15 +2*/
    L_tmp[0] = L_sub_sat(L_tmpX,L_shl_sat(Mult_32_16(memory2_fx[1][0],full_band_bpf_fx[3][4]),2));/*Q_input_fx + 11 + 13  -15 +2*/  move32();
#else
    L_tmpX = L_sub(L_tmpX,L_shl(Mult_32_16(memory2_fx[1][3],full_band_bpf_fx[3][1]),2));/*Q_input_fx + 11 + 13  -15 +2*/
    L_tmpX = L_sub(L_tmpX,L_shl(Mult_32_16(memory2_fx[1][2],full_band_bpf_fx[3][2]),2));/*Q_input_fx + 11 + 13  -15 +2*/
    L_tmpX = L_sub(L_tmpX,L_shl(Mult_32_16(memory2_fx[1][1],full_band_bpf_fx[3][3]),2));/*Q_input_fx + 11 + 13  -15 +2*/
    L_tmp[0] = L_sub(L_tmpX,L_shl(Mult_32_16(memory2_fx[1][0],full_band_bpf_fx[3][4]),2));/*Q_input_fx + 11 + 13  -15 +2*/  move32();
#endif

    L_tmpX = L_shr(L_mult(memory_fx[0][1],full_band_bpf_fx[0][4]),3);/*Q_input_fx + 13 + 1 - 3*/
    L_tmpX = L_add(L_shr(L_mult(memory_fx[0][2],full_band_bpf_fx[0][3]),3),L_tmpX);/*Q_input_fx + 13 + 1 - 3*/
    L_tmpX = L_add(L_shr(L_mult(memory_fx[0][3],full_band_bpf_fx[0][2]),3),L_tmpX);/*Q_input_fx + 13 + 1 - 3*/
    L_tmpX = L_add(L_shr(L_mult(input_fx[0],full_band_bpf_fx[0][1]),3),L_tmpX);/*Q_input_fx + 13 + 1 - 3*/
    L_tmpX = L_add(L_shr(L_mult(input_fx[1],full_band_bpf_fx[0][0]),3),L_tmpX);/*Q_input_fx + 13 + 1 - 3*/
#ifdef BASOP_NOGLOB
    L_tmpX = L_sub_sat(L_tmpX,L_shl_sat(Mult_32_16(L_tmp[0],full_band_bpf_fx[3][1]),2));/*Q_input_fx + 11 + 13  -15 +2*/
    L_tmpX = L_sub_sat(L_tmpX,L_shl_sat(Mult_32_16(memory2_fx[1][3],full_band_bpf_fx[3][2]),2));/*Q_input_fx + 11 + 13  -15 +2*/
    L_tmpX = L_sub_sat(L_tmpX,L_shl_sat(Mult_32_16(memory2_fx[1][2],full_band_bpf_fx[3][3]),2));/*Q_input_fx + 11 + 13  -15 +2*/
    L_tmp[1] = L_sub_sat(L_tmpX,L_shl_sat(Mult_32_16(memory2_fx[1][1],full_band_bpf_fx[3][4]),2));/*Q_input_fx + 11 + 13  -15 +2*/  move32();
#else
    L_tmpX = L_sub(L_tmpX,L_shl(Mult_32_16(L_tmp[0],full_band_bpf_fx[3][1]),2));/*Q_input_fx + 11 + 13  -15 +2*/
    L_tmpX = L_sub(L_tmpX,L_shl(Mult_32_16(memory2_fx[1][3],full_band_bpf_fx[3][2]),2));/*Q_input_fx + 11 + 13  -15 +2*/
    L_tmpX = L_sub(L_tmpX,L_shl(Mult_32_16(memory2_fx[1][2],full_band_bpf_fx[3][3]),2));/*Q_input_fx + 11 + 13  -15 +2*/
    L_tmp[1] = L_sub(L_tmpX,L_shl(Mult_32_16(memory2_fx[1][1],full_band_bpf_fx[3][4]),2));/*Q_input_fx + 11 + 13  -15 +2*/  move32();
#endif

    L_tmpX = L_shr(L_mult(memory_fx[0][2],full_band_bpf_fx[0][4]),3);/*Q_input_fx + 13 + 1 - 3*/
    L_tmpX = L_add(L_shr(L_mult(memory_fx[0][3],full_band_bpf_fx[0][3]),3),L_tmpX);/*Q_input_fx + 13 + 1 - 3*/
    L_tmpX = L_add(L_shr(L_mult(input_fx[0],full_band_bpf_fx[0][2]),3),L_tmpX);/*Q_input_fx + 13 + 1 - 3*/
    L_tmpX = L_add(L_shr(L_mult(input_fx[1],full_band_bpf_fx[0][1]),3),L_tmpX);/*Q_input_fx + 13 + 1 - 3*/
    L_tmpX = L_add(L_shr(L_mult(input_fx[2],full_band_bpf_fx[0][0]),3),L_tmpX);/*Q_input_fx + 13 + 1 - 3*/
#ifdef BASOP_NOGLOB
    L_tmpX = L_sub_sat(L_tmpX,L_shl_sat(Mult_32_16(L_tmp[1],full_band_bpf_fx[3][1]),2));/*Q_input_fx + 11 + 13  -15 +2*/
    L_tmpX = L_sub_sat(L_tmpX,L_shl_sat(Mult_32_16(L_tmp[0],full_band_bpf_fx[3][2]),2));/*Q_input_fx + 11 + 13  -15 +2*/
    L_tmpX = L_sub_sat(L_tmpX,L_shl_sat(Mult_32_16(memory2_fx[1][3],full_band_bpf_fx[3][3]),2));/*Q_input_fx + 11 + 13  -15 +2*/
    L_tmp[2] = L_sub_sat(L_tmpX,L_shl_sat(Mult_32_16(memory2_fx[1][2],full_band_bpf_fx[3][4]),2));/*Q_input_fx + 11 + 13  -15 +2*/  move32();
#else
    L_tmpX = L_sub(L_tmpX,L_shl(Mult_32_16(L_tmp[1],full_band_bpf_fx[3][1]),2));/*Q_input_fx + 11 + 13  -15 +2*/
    L_tmpX = L_sub(L_tmpX,L_shl(Mult_32_16(L_tmp[0],full_band_bpf_fx[3][2]),2));/*Q_input_fx + 11 + 13  -15 +2*/
    L_tmpX = L_sub(L_tmpX,L_shl(Mult_32_16(memory2_fx[1][3],full_band_bpf_fx[3][3]),2));/*Q_input_fx + 11 + 13  -15 +2*/
    L_tmp[2] = L_sub(L_tmpX,L_shl(Mult_32_16(memory2_fx[1][2],full_band_bpf_fx[3][4]),2));/*Q_input_fx + 11 + 13  -15 +2*/  move32();

#endif
    L_tmpX = L_shr(L_mult(memory_fx[0][3],full_band_bpf_fx[0][4]),3);/*Q_input_fx + 13 + 1 - 3*/
    L_tmpX = L_add(L_shr(L_mult(input_fx[0],full_band_bpf_fx[0][3]),3),L_tmpX);/*Q_input_fx + 13 + 1 - 3*/
    L_tmpX = L_add(L_shr(L_mult(input_fx[1],full_band_bpf_fx[0][2]),3),L_tmpX);/*Q_input_fx + 13 + 1 - 3*/
    L_tmpX = L_add(L_shr(L_mult(input_fx[2],full_band_bpf_fx[0][1]),3),L_tmpX);/*Q_input_fx + 13 + 1 - 3*/
    L_tmpX = L_add(L_shr(L_mult(input_fx[3],full_band_bpf_fx[0][0]),3),L_tmpX);/*Q_input_fx + 13 + 1 - 3*/
#ifdef BASOP_NOGLOB
    L_tmpX = L_sub_sat(L_tmpX,L_shl_sat(Mult_32_16(L_tmp[2],full_band_bpf_fx[3][1]),2));/*Q_input_fx + 11 + 13  -15 +2*/
    L_tmpX = L_sub_sat(L_tmpX,L_shl_sat(Mult_32_16(L_tmp[1],full_band_bpf_fx[3][2]),2));/*Q_input_fx + 11 + 13  -15 +2*/
    L_tmpX = L_sub_sat(L_tmpX,L_shl_sat(Mult_32_16(L_tmp[0],full_band_bpf_fx[3][3]),2));/*Q_input_fx + 11 + 13  -15 +2*/
    L_tmp[3] = L_sub_sat(L_tmpX,L_shl_sat(Mult_32_16(memory2_fx[1][3],full_band_bpf_fx[3][4]),2));/*Q_input_fx + 11 + 13  -15 +2*/ move32();
#else
    L_tmpX = L_sub(L_tmpX,L_shl(Mult_32_16(L_tmp[2],full_band_bpf_fx[3][1]),2));/*Q_input_fx + 11 + 13  -15 +2*/
    L_tmpX = L_sub(L_tmpX,L_shl(Mult_32_16(L_tmp[1],full_band_bpf_fx[3][2]),2));/*Q_input_fx + 11 + 13  -15 +2*/
    L_tmpX = L_sub(L_tmpX,L_shl(Mult_32_16(L_tmp[0],full_band_bpf_fx[3][3]),2));/*Q_input_fx + 11 + 13  -15 +2*/
    L_tmp[3] = L_sub(L_tmpX,L_shl(Mult_32_16(memory2_fx[1][3],full_band_bpf_fx[3][4]),2));/*Q_input_fx + 11 + 13  -15 +2*/ move32();

#endif
    FOR( i=4; i<L_FRAME48k; i++ )
    {
#ifdef BASOP_NOGLOB
        L_tmpX = L_shr(L_mult(input_fx[sub(i, 4)], full_band_bpf_fx[0][4]), 3);/*Q_input_fx + 13 + 1 - 3*/
        L_tmpX = L_add_sat(L_shr(L_mult(input_fx[sub(i, 3)], full_band_bpf_fx[0][3]), 3), L_tmpX);/*Q_input_fx + 13 + 1 - 3*/
        L_tmpX = L_sub_sat(L_tmpX, L_shl_sat(Mult_32_16(L_tmp[sub(i, 1)], full_band_bpf_fx[3][1]), 2));/*Q_input_fx + 11 + 13  -15 +2*/
        L_tmpX = L_add_sat(L_shr(L_mult(input_fx[sub(i,2)],full_band_bpf_fx[0][2]),3),L_tmpX);/*Q_input_fx + 13 + 1 - 3*/
        L_tmpX = L_sub_sat(L_tmpX,L_shl_sat(Mult_32_16(L_tmp[sub(i,2)],full_band_bpf_fx[3][2]),2));/*Q_input_fx + 11 + 13  -15 +2*/
        L_tmpX = L_add_sat(L_shr(L_mult(input_fx[sub(i,1)],full_band_bpf_fx[0][1]),3),L_tmpX);/*Q_input_fx + 13 + 1 - 3*/
        L_tmpX = L_sub_sat(L_tmpX,L_shl_sat(Mult_32_16(L_tmp[sub(i,3)],full_band_bpf_fx[3][3]),2));/*Q_input_fx + 11 + 13  -15 +2*/
        L_tmpX = L_add_sat(L_shr(L_mult(input_fx[i],full_band_bpf_fx[0][0]),3),L_tmpX);/*Q_input_fx + 13 + 1 - 3*/
        L_tmp[i] = L_sub_sat(L_tmpX,L_shl_sat(Mult_32_16(L_tmp[sub(i,4)],full_band_bpf_fx[3][4]),2));/*Q_input_fx + 11 + 13  -15 +2*/ move32();
#else
        L_tmpX = L_shr(L_mult(input_fx[sub(i, 4)], full_band_bpf_fx[0][4]), 3);/*Q_input_fx + 13 + 1 - 3*/
        L_tmpX = L_add(L_shr(L_mult(input_fx[sub(i, 3)], full_band_bpf_fx[0][3]), 3), L_tmpX);/*Q_input_fx + 13 + 1 - 3*/
        L_tmpX = L_sub(L_tmpX, L_shl(Mult_32_16(L_tmp[sub(i, 1)], full_band_bpf_fx[3][1]), 2));/*Q_input_fx + 11 + 13  -15 +2*/
@@ -3349,6 +3389,7 @@ void elliptic_bpf_48k_generic_fx(
        L_tmpX = L_sub(L_tmpX,L_shl(Mult_32_16(L_tmp[sub(i,3)],full_band_bpf_fx[3][3]),2));/*Q_input_fx + 11 + 13  -15 +2*/
        L_tmpX = L_add(L_shr(L_mult(input_fx[i],full_band_bpf_fx[0][0]),3),L_tmpX);/*Q_input_fx + 13 + 1 - 3*/
        L_tmp[i] = L_sub(L_tmpX,L_shl(Mult_32_16(L_tmp[sub(i,4)],full_band_bpf_fx[3][4]),2));/*Q_input_fx + 11 + 13  -15 +2*/ move32();
#endif
    }

    memory_fx2[0][0] = input_fx[sub(L_FRAME48k,4)];