Commit 436a1250 authored by vaillancour's avatar vaillancour
Browse files

Fix part 1 of specific OV

parent c5aa5ebd
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -838,12 +838,20 @@ Word16 E_LPC_f_lsp_pol_get(const Word16 lsp[], Word32 f[], const Word16 n, cons
    Overflow = 0;
    move16();
    plsp = lsp;
#ifdef BASOP_NOGLOB
    f[0] = L_shl_o(1, sub(31, Q_out), &Overflow);
#else
    f[0] = L_shl(1, sub(31, Q_out));
#endif
    move32();
    /*b = -2.0f * *plsp;*/
    b = *plsp;
    move16();
#ifdef BASOP_NOGLOB
    m2 = shl_o(-2, sub(15, Q_out), &Overflow);
#else
    m2 = shl(-2, sub(15, Q_out));
#endif
    f[1] = L_mult(b, m2);
    move32();

@@ -874,7 +882,11 @@ Word16 E_LPC_f_lsp_pol_get(const Word16 lsp[], Word32 f[], const Word16 n, cons
#endif
        }
        move32();
#ifdef BASOP_NOGLOB
        f[1] = L_add_o(f[1], b32, &Overflow);
#else
        f[1] = L_add(f[1], b32);
#endif
    }


+18 −0
Original line number Diff line number Diff line
@@ -546,16 +546,30 @@ Word32 calc_tilt_bwe_fx( /* o : Tilt in Q24 */
    /* Divide Frame Length by 32 */
    FOR (j = shr(N, 5); j > 0; j--)
    {
#ifdef BASOP_NOGLOB
        tmp1 = mult_ro(*ptr++, 8192, &Overflow); /* Divide by 4 */
#else
        tmp1 = mult_r(*ptr++, 8192); /* Divide by 4 */
#endif
        L_ener = L_mult0(tmp1, tmp1);
        /* With the shift by 4 and the L_mult0, no overflow possible for 32 samples */
        FOR (i = 1; i < 32; i++)
        {
#ifdef BASOP_NOGLOB
            tmp1 = mult_ro(*ptr++, 8192, &Overflow); /* Divide by 4 */
            L_ener = L_mac0_o(L_ener, tmp1, tmp1, &Overflow);
#else
            tmp1 = mult_r(*ptr++, 8192); /* Divide by 4 */
            L_ener = L_mac0(L_ener, tmp1, tmp1);
#endif
        }
#ifdef BASOP_NOGLOB
        L_ener = L_shr_o(L_ener, exp2, &Overflow);
        L_temp = L_add_o(L_ener_tot, L_ener, &Overflow);
#else
        L_ener = L_shr(L_ener, exp2);
        L_temp = L_add(L_ener_tot, L_ener);
#endif
        IF (Overflow != 0)
        {
            L_ener_tot = L_shr(L_ener_tot, 1);
@@ -565,7 +579,11 @@ Word32 calc_tilt_bwe_fx( /* o : Tilt in Q24 */
            Overflow = 0;
            move16();
        }
#ifdef BASOP_NOGLOB
        L_ener_tot = L_add_o(L_ener_tot, L_ener, &Overflow);
#else
        L_ener_tot = L_add(L_ener_tot, L_ener);
#endif
    }
    L_ener = L_deposit_l(abs_s(sub(sp[1], sp[0])));
    FOR (i = 2; i < N; i++)