Commit c85e4f67 authored by Fabian Bauer's avatar Fabian Bauer
Browse files

added macro ISSUE_xxxx_replace_shl_o and some changes in c files

parent f7da3e8d
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -271,7 +271,11 @@ void tcx_arith_scale_envelope(

    tmp2 = BASOP_Util_Add_MantExp( negate( b ), b_e, tmp, tmp2, &scale ); /* exp(scale) */
    scale = BASOP_Util_Divide1616_Scale( scale, round_fx( a ), &tmp );
#ifdef ISSUE_xxxx_replace_shl_o
    scale = shl_sat( scale, sub( sub( add( tmp, tmp2 ), a_e ), 1 ) ); /* Q15 */
#else
    scale = shl_o( scale, sub( sub( add( tmp, tmp2 ), a_e ), 1 ), &Overflow ); /* Q15 */
#endif

    /* iscale = 1.0f / scale; */
    iscale_e = 0;
+4 −0
Original line number Diff line number Diff line
@@ -442,7 +442,11 @@ Word16 BitAllocF_fx(
            exp1 = sub( norm_l( L_tmp2 ), 1 );
            exp2 = norm_s( n );
            tmp = div_s( extract_h( L_shl( L_tmp2, exp1 ) ), shl( n, exp2 ) ); /*15 + 15 + exp1 - 16 - exp2*/
#ifdef ISSUE_xxxx_replace_shl_o
            m_fx = shl_sat( tmp, sub( exp2, exp1 ) );                 /*Q14*/
#else
            m_fx = shl_o( tmp, sub( exp2, exp1 ), &Overflow );                 /*Q14*/
#endif
            if ( L_tmp1 < 0 )
            {
                m_fx = negate( m_fx );
+14 −0
Original line number Diff line number Diff line
@@ -139,7 +139,11 @@ void tcxFormantEnhancement(
            {
                fac = add( fac0, mult( d, extract_l( L_mult0( j, inv_int[n] ) ) ) );
                BASOP_SATURATE_WARNING_OFF_EVS;
#ifdef ISSUE_xxxx_replace_shl_o
                xn_buf[l + j] = s_min( xn_one, shl_sat( mult( xn_buf[l + j], fac ), fac_e ) );
#else
                xn_buf[l + j] = s_min( xn_one, shl_o( mult( xn_buf[l + j], fac ), fac_e, &Overflow ) );
#endif
                move16();
                BASOP_SATURATE_WARNING_ON_EVS;
            }
@@ -227,9 +231,11 @@ void tcxFormantEnhancement_with_shift(
    Word16 i, j, k, l, n;
    Word16 fac, fac0, fac1, fac_e, d, tmp;
    Word16 xn_buf_e, xn_one, m, e;
#ifndef ISSUE_xxxx_replace_shl_o
#ifdef BASOP_NOGLOB_DECLARE_LOCAL
    Flag Overflow = 0;
    move32();
#endif
#endif

    k = shr( L_frame, 6 ); /* FDNS_NPTS = 64 */
@@ -309,7 +315,11 @@ void tcxFormantEnhancement_with_shift(
            {
                fac = add( fac0, mult( d, extract_l( L_mult0( j, inv_int[n] ) ) ) );
                BASOP_SATURATE_WARNING_OFF_EVS;
#ifdef ISSUE_xxxx_replace_shl_o
                xn_buf[l + j] = s_min( xn_one, shl_sat( mult( xn_buf[l + j], fac ), fac_e ) );
#else
                xn_buf[l + j] = s_min( xn_one, shl_o( mult( xn_buf[l + j], fac ), fac_e, &Overflow ) );
#endif
                move16();
                BASOP_SATURATE_WARNING_ON_EVS;
            }
@@ -354,7 +364,11 @@ void tcxFormantEnhancement_with_shift(
    {
        fac = add( fac0, mult( d, extract_l( L_mult0( j, inv_int[n] ) ) ) );
        BASOP_SATURATE_WARNING_OFF_EVS;
#ifdef ISSUE_xxxx_replace_shl_o
        xn_buf[l + j] = s_min( xn_one, shl_sat( mult( xn_buf[l + j], fac ), fac_e ) );
#else
        xn_buf[l + j] = s_min( xn_one, shl_o( mult( xn_buf[l + j], fac ), fac_e, &Overflow ) );
#endif
        move16();
        BASOP_SATURATE_WARNING_ON_EVS;
    }
+4 −0
Original line number Diff line number Diff line
@@ -85,9 +85,13 @@ Word16 env_stability_fx( /* in Q15 */
            mem_norm[i] = ynrm[i];
            move16();
        }
#ifndef ISSUE_xxxx_replace_shl_o
        Overflow = 0;
        move16();
        env_delta = shl_o( *mem_env_delta, 1, &Overflow );
#else
        env_delta = shl_sat( *mem_env_delta, 1 );
#endif
    }
    ELSE
    {
+1 −0
Original line number Diff line number Diff line
@@ -110,5 +110,6 @@
#define ISSUE_1772_replace_shr_o                /* FhG: replace by non-overflow-alternative - BE */

#define FIX_1735_W_SHL_SAT_L                    /* FhG: Usage of W_shl_sat_l() */
#define ISSUE_xxxx_replace_shl_o               /*FhG: replace shl_ro by overflow-free alternatives*/

#endif