Commit f7f87a8d authored by vaillancour's avatar vaillancour
Browse files

Fixes IO conditions

parent 3e918a56
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -1105,15 +1105,18 @@ static void fft5_shift4_16fx(
    Tp = add(T4,T7);
    Th = sub(T5,T6);
#endif
    /*       Tn = KP559016994 * (T4 - T7); */
    L_tmp = Mult_32_16(KP559016994_16FX,sub(T4,T7));
    Tn = round_fx(L_tmp);

#ifdef BASOP_NOGLOB
    /*       Tn = KP559016994 * (T4 - T7); */
    L_tmp = Mult_32_16(KP559016994_16FX, sub_sat(T4, T7));
    Tn = round_fx_sat(L_tmp);
    zRe[i0] = add_sat(T1, T8);
    move16();
    zIm[i0] = add_sat(To, Tp);
#else
    /*       Tn = KP559016994 * (T4 - T7); */
    L_tmp = Mult_32_16(KP559016994_16FX, sub(T4, T7));
    Tn = round_fx(L_tmp);
    zRe[i0] = add(T1,T8);
    move16();
    zIm[i0] = add(To, Tp);
+16 −2
Original line number Diff line number Diff line
@@ -1099,8 +1099,11 @@ static void hf_synthesis_amr_wb_fx(
        scale = div_s(shl(1, 14), ener); /*Q(29-q1) */
        L_tmp = L_mult(tmp, scale); /*30-q1+q2 */
        q2 = sub(q1, q2); /*30-q2 */
#ifdef BASOP_NOGLOB
        scale = round_fx_sat(Isqrt(L_shl_sat(L_tmp, sub(q2, 24))));  /*Q12  */
#else
        scale = round_fx(Isqrt(L_shl(L_tmp, sub(q2, 24))));  /*Q12  */

#endif
        pt1 = exc16k;
        pt2 = exc2385;
        FOR ( i = 0; i < L_SUBFR16k; i++ )
@@ -1130,8 +1133,11 @@ static void hf_synthesis_amr_wb_fx(
        scale = div_s(shl(1, 14), ener); /*Q(29-q1) */
        L_tmp = L_mult(tmp, scale); /*30-q1+q2 */
        q2 = sub(q1, q2); /*30-q2 */
#ifdef BASOP_NOGLOB
        scale = round_fx_sat(Isqrt(L_shl_sat(L_tmp, sub(q2, 24))));  /*Q12  */
#else
        scale = round_fx(Isqrt(L_shl(L_tmp, sub(q2, 24))));  /*Q12  */

#endif
        flag = negate(s_and(til,-0x8000));
        if (GT_16(scale, 4096))
        {
@@ -1552,7 +1558,11 @@ static void envelope_fx(
        L_tmp = L_mult(tilt, sub(26214, shr(voice_factor, 1))); /*Q28*/
        L_tmp = L_max(L_tmp, 268435456);
        L_tmp = Mult_32_16(L_tmp, qq); /*Q23*/
#ifdef BASOP_NOGLOB
        qq = round_fx_sat(L_shl_sat(L_tmp, 3)); /*Q10*/
#else
        qq = round_fx(L_shl(L_tmp, 3)); /*Q10*/
#endif
        rr = s_min(rr, qq);
        rr= s_max(rr, pp);
    }
@@ -1567,7 +1577,11 @@ static void envelope_fx(
            alpha = round_fx(L_shl(L_tmp, 9)); /*Q14*/
            L_tmp = L_mult(alpha, (hAmrwb_IO->prev_r_fx)); /*Q25*/
            L_tmp = L_mac(L_tmp, tmp, rr);     /*Q25*/
#ifdef BASOP_NOGLOB
            rr = round_fx_sat(L_shl_sat(L_tmp, 1));   /*Q10*/
#else
            rr = round_fx(L_shl(L_tmp, 1));   /*Q10*/
#endif
        }

        hAmrwb_IO->prev_r_fx = rr;