Commit 21819f95 authored by vaillancour's avatar vaillancour
Browse files

Fixes for stv16c_dtx_13200/24400_16kHz.b10.COD

parent 9855df47
Loading
Loading
Loading
Loading
+13 −12
Original line number Diff line number Diff line
@@ -61,9 +61,6 @@ Word16 WB_BWE_gain_pred_fx(
    Word32 L_WB_fenv0, L_WB_fenv1;
    Word16 pitch_buf_tmp[4];
    Word16 alfa = 32767;
#ifdef BASOP_NOGLOB_DECLARE_LOCAL
    Flag Overflow = 0;
#endif
    move16();

    mode = NORMAL;
@@ -73,7 +70,7 @@ Word16 WB_BWE_gain_pred_fx(
    FOR (n_freq = 128; n_freq<192; n_freq++)
    {
#ifdef BASOP_NOGLOB
        enerL = L_mac0_o( enerL, core_dec_freq[n_freq], core_dec_freq[n_freq], &Overflow ); /*2(Q_syn)  */
        enerL = L_mac0_sat( enerL, core_dec_freq[n_freq], core_dec_freq[n_freq]); /*2(Q_syn)  */
#else
        enerL = L_mac0( enerL, core_dec_freq[n_freq], core_dec_freq[n_freq] ); /*2(Q_syn)  */
#endif
@@ -83,7 +80,7 @@ Word16 WB_BWE_gain_pred_fx(
    FOR (n_freq = 192; n_freq<224; n_freq++)
    {
#ifdef BASOP_NOGLOB
        L_WB_fenv0 = L_mac0_o(L_WB_fenv0, core_dec_freq[n_freq],core_dec_freq[n_freq], &Overflow);/*2*Q_syn */
        L_WB_fenv0 = L_mac0_sat(L_WB_fenv0, core_dec_freq[n_freq],core_dec_freq[n_freq]);/*2*Q_syn */
#else
        L_WB_fenv0 = L_mac0(L_WB_fenv0, core_dec_freq[n_freq],core_dec_freq[n_freq]);/*2*Q_syn */
#endif
@@ -93,7 +90,7 @@ Word16 WB_BWE_gain_pred_fx(
    FOR (n_freq = 224; n_freq<256; n_freq++)
    {
#ifdef BASOP_NOGLOB
        L_WB_fenv1= L_mac0_o(L_WB_fenv1, core_dec_freq[n_freq],core_dec_freq[n_freq], &Overflow);/*2*Q_syn */
        L_WB_fenv1= L_mac0_sat(L_WB_fenv1, core_dec_freq[n_freq],core_dec_freq[n_freq]);/*2*Q_syn */
#else
        L_WB_fenv1= L_mac0(L_WB_fenv1, core_dec_freq[n_freq],core_dec_freq[n_freq]);/*2*Q_syn */
#endif
@@ -115,7 +112,7 @@ Word16 WB_BWE_gain_pred_fx(

    test();
#ifdef BASOP_NOGLOB
    IF(GT_32(L_WB_fenv0, L_shl_o(L_WB_fenv1,1, &Overflow)))
    IF(GT_32(L_WB_fenv0, L_shl_sat(L_WB_fenv1,1)))
#else
    IF(GT_32(L_WB_fenv0, L_shl(L_WB_fenv1,1)))
#endif
@@ -130,7 +127,7 @@ Word16 WB_BWE_gain_pred_fx(
        L_WB_fenv0 = Mult_32_16(L_WB_fenv0, alfa);/*2*Q_syn+15-15->2*Q_syn */
    }
#ifdef BASOP_NOGLOB
    ELSE IF (GT_32(L_WB_fenv1, L_shl_o(L_WB_fenv0, 1, &Overflow))&&NE_16(coder_type,UNVOICED))
    ELSE IF (GT_32(L_WB_fenv1, L_shl_sat(L_WB_fenv0, 1))&&NE_16(coder_type,UNVOICED))
#else
    ELSE IF (GT_32(L_WB_fenv1, L_shl(L_WB_fenv0, 1))&&NE_16(coder_type,UNVOICED))
#endif
@@ -161,7 +158,7 @@ Word16 WB_BWE_gain_pred_fx(
    }

#ifdef BASOP_NOGLOB
    L_tmp = L_add_o(L_WB_fenv0, L_WB_fenv1, &Overflow);  /* In 2*Q_syn */
    L_tmp = L_add_sat(L_WB_fenv0, L_WB_fenv1);  /* In 2*Q_syn */
#else
    L_tmp = L_add(L_WB_fenv0, L_WB_fenv1);  /* In 2*Q_syn */
#endif
@@ -192,7 +189,7 @@ Word16 WB_BWE_gain_pred_fx(
    L_tmp = L_deposit_h(tmp);
    L_tmp = Isqrt_lc(L_tmp, &exp);
#ifdef BASOP_NOGLOB
    enerL_16 = round_fx_o(L_shl_o(L_tmp, sub(exp, 15), &Overflow), &Overflow); /* Q0 */
    enerL_16 = round_fx_sat(L_shl_sat(L_tmp, sub(exp, 15))); /* Q0 */
#else
    enerL_16 = round_fx(L_shl(L_tmp, sub(exp, 15))); /* Q0 */
#endif
@@ -233,7 +230,7 @@ Word16 WB_BWE_gain_pred_fx(
    tmp = div_s(shl(1,sub(14,exp)), pitch); /*Q(29-exp-5) */
    L_tmp = L_mult0(tmp1, tmp); /*29-exp-5->24-exp */
#ifdef BASOP_NOGLOB
    tmp = round_fx_o(L_shl_o(L_tmp, add(exp,6), &Overflow), &Overflow); /*14          */
    tmp = round_fx_sat(L_shl_sat(L_tmp, add(exp,6))); /*14          */
#else
    tmp = round_fx(L_shl(L_tmp, add(exp,6))); /*14          */
#endif
@@ -247,7 +244,7 @@ Word16 WB_BWE_gain_pred_fx(
    enerL = L_deposit_l(enerL_16);
    enerL = L_shl(enerL, 6); /*Q6 */
#ifdef BASOP_NOGLOB
    tmp1 = i_mult_o(3, WB_fenv[0], &Overflow);/*Q3 */
    tmp1 = i_mult_sat(3, WB_fenv[0]);/*Q3 */
#else
    tmp1 = i_mult(3, WB_fenv[0]);/*Q3 */
#endif
@@ -265,7 +262,11 @@ Word16 WB_BWE_gain_pred_fx(
        exp = norm_s(WB_fenv[0]);
        tmp = div_s(shl(1,sub(14,exp)), WB_fenv[0]); /*Q(29-exp-3) */
        L_tmp = L_mult(enerL_64 ,tmp); /*Q(30-exp) */
#ifdef BASOP_NOGLOB
        tmp = round_fx_sat(L_shl_sat(L_tmp, sub(exp,2))); /*Q12 */
#else
        tmp = round_fx(L_shl(L_tmp, sub(exp,2))); /*Q12 */
#endif
        tmp = s_min(tmp, 16384);
        L_tmp = L_shr( L_mult0(tmp, WB_fenv[0]), 12);/*Q3 */
        WB_fenv[0] = extract_l(L_tmp);/*Q3 */