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

some replacements shl_o -> shl_sat

parent 40d684c4
Loading
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -2279,10 +2279,12 @@ static void getmidbands(
)
{
    Word16 j, max_psize, shift;
#ifndef ISSUE_1796_replace_shl_o
#ifdef BASOP_NOGLOB_DECLARE_LOCAL
    Flag Overflow = 0;
    move32();
#endif
#endif


    max_psize = psize[0];
@@ -2316,7 +2318,11 @@ static void getmidbands(
    move16();
    FOR( j = 0; j < npart; j++ )
    {
#ifdef ISSUE_1796_replace_shl_o
      psize_norm[j] = shl_sat( psize[j], shift ); // Q(15 - psize_norm_exp)
#else
      psize_norm[j] = shl_o( psize[j], shift, &Overflow ); // Q(15 - psize_norm_exp)
#endif
      move16();
    }
    /* minimum_statistics needs fixed exponent of 6 */
+8 −0
Original line number Diff line number Diff line
@@ -126,7 +126,11 @@ void Comp_and_apply_gain_fx(
            y_gain = extract_l( Pow2( 14, frac ) );                      /* Put 14 as exponent so that */
                                                                         /* output of Pow2() will be: */
                                                                         /* 16384 < Pow2() <= 32767 */
#ifdef ISSUE_1796_replace_shl_o
            Ener_per_bd_yQ[i_band] = shl_sat( y_gain, sub( exp1, 13 ) );
#else
            Ener_per_bd_yQ[i_band] = shl_o( y_gain, sub( exp1, 13 ), &Overflow );
#endif
            move16(); /*Q1     */
            tmp_exp = add( add( exp1, 1 ), sub( Q_exc, Qexc_diff ) );

@@ -208,7 +212,11 @@ void Comp_and_apply_gain_ivas_fx(
            y_gain = extract_l( Pow2( 14, frac ) );                               /* Put 14 as exponent so that */
                                                                                  /* output of Pow2() will be: */
                                                                                  /* 16384 < Pow2() <= 32767 */
#ifdef ISSUE_1796_replace_shl_o
            Ener_per_bd_yQ[i_band] = shl_sat( y_gain, sub( exp1, 13 ) ); /*Q13*/
#else
            Ener_per_bd_yQ[i_band] = shl_o( y_gain, sub( exp1, 13 ), &Overflow ); /*Q13*/
#endif
            move16();                                                             /*Q1     */
            tmp_exp = add( add( exp1, 1 ), sub( *Q_exc, Qexc_diff ) );

+18 −0
Original line number Diff line number Diff line
@@ -528,9 +528,11 @@ static void envelop_modify_fx(
    Word16 weight_fx;
    Word32 L_exc_diffQ_fx[L_FRAME16k], exc_diffQ_max;
    Word16 Q_tmp;
#ifndef ISSUE_1796_replace_shl_o
#ifdef BASOP_NOGLOB_DECLARE_LOCAL
    Flag Overflow = 0;
    move16();
#endif
#endif

    start_band = i_mult( last_bin, 16 );
@@ -565,7 +567,11 @@ static void envelop_modify_fx(
        /* output of Pow2() will be: */
        /* 16384 < Pow2() <= 32767 */
        exp = sub( exp, 14 );
#ifdef ISSUE_1796_replace_shl_o
        Ener1_fx = mult_ro( 13107, shl_sat( tmp, exp ), &Overflow ); /*Q0 */
#else
        Ener1_fx = mult_ro( 13107, shl_o( tmp, exp, &Overflow ), &Overflow ); /*Q0 */
#endif

        FOR( j = 0; j < 16; j++ )
        {
@@ -591,7 +597,11 @@ static void envelop_modify_fx(
    /* output of Pow2() will be: */
    /* 16384 < Pow2() <= 32767 */
    exp = sub( exp, 14 );
#ifdef ISSUE_1796_replace_shl_o
    Ener1_fx = mult_r( 13107, shl_sat( tmp, exp ) ); /*Q0 */
#else
    Ener1_fx = mult_r( 13107, shl_o( tmp, exp, &Overflow ) ); /*Q0 */
#endif

    src_fx = &exc_diffQ_fx[224];
    FOR( j = 0; j < 32; j++ )
@@ -708,7 +718,11 @@ void highband_exc_dct_in_fx(
        /* output of Pow2() will be: */
        /* 16384 < Pow2() <= 32767 */
        exp = sub( exp, 14 );
#ifdef ISSUE_1796_replace_shl_o
        tmp1 = shl_sat( tmp, exp );
#else
        tmp1 = shl_o( tmp, exp, &Overflow );
#endif
        move16();
        ener = add_o( tmp1, ener, &Overflow ); /*Q0 */
    }
@@ -1086,7 +1100,11 @@ void highband_exc_dct_in_ivas_fx(
        /* output of Pow2() will be: */
        /* 16384 < Pow2() <= 32767 */
        exp = sub( exp, 14 );
#ifdef ISSUE_1796_replace_shl_o
        tmp1 = shl_sat( tmp, exp );
#else
        tmp1 = shl_o( tmp, exp, &Overflow );
#endif
        move16();
        ener = add_o( tmp1, ener, &Overflow ); /*Q0 */
    }
+8 −0
Original line number Diff line number Diff line
@@ -163,7 +163,11 @@ void mdct_spectrum_denorm_fx(
            pd_fx = div_s( shl( npulses[k], exp_normn ), shl( band_width[k], exp_normd ) ); /* 15 + (exp_norm - exp_normd) */
            Qpd = add( sub( exp_normn, exp_normd ), 15 );

#ifdef ISSUE_1796_replace_shl_o
            cond_fx = sub( shl_sat( pd_fx, sub( 15, Qpd ) ), pd_thresh_fx /*Q15*/ ); /* Q15 */
#else
            cond_fx = sub( shl_o( pd_fx, sub( 15, Qpd ), &Overflow ), pd_thresh_fx /*Q15*/ ); /* Q15 */
#endif
            Overflow = 0;
            move16(); /* allow overflow happen. */
            IF( cond_fx < 0 )
@@ -335,7 +339,11 @@ void mdct_spectrum_denorm_ivas_fx(
            pd_fx = div_s( shl( npulses[k], exp_normn ), shl( band_width[k], exp_normd ) ); /* 15 + (exp_normn + exp_normd) */
            Qpd = add( sub( exp_normn, exp_normd ), 15 );

#ifdef ISSUE_1796_replace_shl_o
            cond_fx = sub( shl_sat( pd_fx, sub( 15, Qpd ) ), pd_thresh_fx /*Q15*/ ); /* Q15 */
#else
            cond_fx = sub( shl_o( pd_fx, sub( 15, Qpd ), &Overflow ), pd_thresh_fx /*Q15*/ ); /* Q15 */
#endif
            Overflow = 0;
            move16(); /* allow overflow happen. */
            IF( cond_fx < 0 )
+4 −0
Original line number Diff line number Diff line
@@ -608,7 +608,11 @@ void hq2_noise_inject_fx(
                    IF( band_width[k] != 0 )
                    {
                        Q_speech = norm_s( band_width[k] );
#ifdef ISSUE_1796_replace_shl_o
                        tmp = shl_sat( band_width[k], Q_speech ); /*Q(Q_speech) */
#else
                        tmp = shl_o( band_width[k], Q_speech, &Overflow ); /*Q(Q_speech) */
#endif
                        tmp = div_s( 16384 /* 0.5 in Q15 */, tmp );        /*Q(15+14-Q_speech) */
                    }
                    ELSE
Loading