Commit e30c5310 authored by vaillancour's avatar vaillancour
Browse files

Correction on compl saturations for 26.444

parent c757fa36
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -505,7 +505,11 @@ void cldfbAnalysisFiltering( HANDLE_CLDFB_FILTER_BANK cldfbBank,
    /* move and scale filter states */
    FOR (i=0; i<offset; i++)
    {
#ifdef BASOP_NOGLOB
        pStates[i] = shl_sat( pStates[i + nSamplesUpd], scale );
#else
        pStates[i] = shl( pStates[i + nSamplesUpd], scale );
#endif
        move16();
    }

@@ -513,7 +517,11 @@ void cldfbAnalysisFiltering( HANDLE_CLDFB_FILTER_BANK cldfbBank,
    scale = sub(timeIn_e, cldfbBank->FilterStates_eg);
    FOR (i=0; i<nSamples; i++)
    {
#ifdef BASOP_NOGLOB
        pStates[offset + i] = shl_sat( *timeIn, scale );
#else
        pStates[offset + i] = shl( *timeIn, scale );
#endif
        move16();
        timeIn = timeIn + stride;
    }
+6 −1
Original line number Diff line number Diff line
@@ -2427,8 +2427,13 @@ void hq_wb_nf_bwe_fx(
			test();
			test();
			test();
#ifdef BASOP_NOGLOB
			IF( EQ_16( sfm, sub( SFM_N_WB, 1 ) ) && prev_is_transient == 0 && GT_32( prev_normq_fx[sfm], L_shr( L_normq_v[sfm], 1 ) )
				&& LT_32(prev_normq_fx[sfm], L_shl_sat(L_normq_v[sfm], 1)) && LE_16(bitalloc_var_fx, 4915))
#else
			IF( EQ_16( sfm, sub( SFM_N_WB, 1 ) ) && prev_is_transient == 0 && GT_32( prev_normq_fx[sfm], L_shr( L_normq_v[sfm], 1 ) )
				&& LT_32(prev_normq_fx[sfm], L_shl(L_normq_v[sfm], 1)) && LE_16(bitalloc_var_fx, 4915))
#endif
			{
				Word32 *p_prev_coeff_out = prev_coeff_out_fx;
				FOR(i = add(sfm_start[sfm], 12); i < sfm_end[sfm]; i++)
+2 −1
Original line number Diff line number Diff line
@@ -2205,10 +2205,11 @@ void IMDCT(Word32 *x, Word16 x_e,
                    }
                    FOR (i = 0; i < tmp3; i++)
                    {
                        tmp2 = add(xn_buf[i+tmp1], mult_r(old_syn_overl[i], tcx_mdct_window_half[i].v.re));
#ifdef BASOP_NOGLOB
                        tmp2 = add_sat( xn_buf[i + tmp1], mult_r( old_syn_overl[i], tcx_mdct_window_half[i].v.re ) );
                        xn_buf[i + tmp1] = shl_sat( tmp2, TCX_IMDCT_HEADROOM );
#else
                        tmp2 = add( xn_buf[i + tmp1], mult_r( old_syn_overl[i], tcx_mdct_window_half[i].v.re ) );
                        xn_buf[i + tmp1] = shl( tmp2, TCX_IMDCT_HEADROOM );
#endif
                        move16();
+32 −2
Original line number Diff line number Diff line
@@ -395,6 +395,20 @@ void con_tcx(
                FOR( i=0 ; i< Tc; i++ )
                {
                    move16();
#ifdef BASOP_NOGLOB
                    *pt_exc++ = mac_r_sat( L_mac_sat( L_mac_sat( L_mac_sat( L_mac_sat( L_mac_sat( L_mac_sat( L_mac_sat( L_mac_sat( L_mac_sat(
                                                            L_mult(174/* 0.0053f Q15*/, pt1_exc[-5]),
                                                            0/* 0.0000f Q15*/, pt1_exc[-4]),
                                                        -1442/*-0.0440f Q15*/, pt1_exc[-3]),
                                                        0/* 0.0000f Q15*/, pt1_exc[-2]),
                                                        8641/* 0.2637f Q15*/, pt1_exc[-1]),
                                                        18022/* 0.5500f Q15*/, pt1_exc[0] ),
                                                        8641/* 0.2637f Q15*/, pt1_exc[1] ),
                                                        0/* 0.0000f Q15*/, pt1_exc[2] ),
                                                  -1442/*-0.0440f Q15*/, pt1_exc[3] ),
                                            0/* 0.0000f Q15*/, pt1_exc[4] ),
                                      174/* 0.0053f Q15*/, pt1_exc[5] );
#else
                    *pt_exc++ = mac_r( L_mac( L_mac( L_mac( L_mac( L_mac( L_mac( L_mac( L_mac( L_mac(
                                                            L_mult(174/* 0.0053f Q15*/, pt1_exc[-5]),
                                                            0/* 0.0000f Q15*/, pt1_exc[-4]),
@@ -407,6 +421,7 @@ void con_tcx(
                                                  -1442/*-0.0440f Q15*/, pt1_exc[3] ),
                                            0/* 0.0000f Q15*/, pt1_exc[4] ),
                                      174/* 0.0053f Q15*/, pt1_exc[5] );
#endif
                    pt1_exc++;
                }
            }
@@ -415,6 +430,20 @@ void con_tcx(
                FOR( i=0 ; i< Tc; i++ )
                {
                    move16();
#ifdef BASOP_NOGLOB
                    *pt_exc++ = mac_r_sat( L_mac_sat( L_mac_sat( L_mac_sat( L_mac_sat( L_mac_sat( L_mac_sat( L_mac_sat( L_mac_sat( L_mac_sat(
                        L_mult(-174/*-0.0053f Q15*/, pt1_exc[-5]),
                        -121/*-0.0037f Q15*/, pt1_exc[-4]),
                    -459/*-0.0140f Q15*/, pt1_exc[-3]),
                    590/* 0.0180f Q15*/, pt1_exc[-2]),
                    8743/* 0.2668f Q15*/, pt1_exc[-1]),
                    16355/* 0.4991f Q15*/, pt1_exc[0] ),
                    8743/* 0.2668f Q15*/, pt1_exc[1] ),
                    590/* 0.0180f Q15*/, pt1_exc[2] ),
                    -459/*-0.0140f Q15*/, pt1_exc[3] ),
                    -121/*-0.0037f Q15*/, pt1_exc[4] ),
                    -174/*-0.0053f Q15*/, pt1_exc[5] );
#else
                    *pt_exc++ = mac_r( L_mac( L_mac( L_mac( L_mac( L_mac( L_mac( L_mac( L_mac( L_mac(
                        L_mult(-174/*-0.0053f Q15*/, pt1_exc[-5]),
                        -121/*-0.0037f Q15*/, pt1_exc[-4]),
@@ -427,6 +456,7 @@ void con_tcx(
                    -459/*-0.0140f Q15*/, pt1_exc[3] ),
                    -121/*-0.0037f Q15*/, pt1_exc[4] ),
                    -174/*-0.0053f Q15*/, pt1_exc[5] );
#endif
                    pt1_exc++;
                }
            }
+10 −2
Original line number Diff line number Diff line
@@ -3425,7 +3425,11 @@ generate_comfort_noise_dec (
            s = sub(15-NOISE_HEADROOM,noiseExp);
            FOR (i=0; i<N; i++)
            {
#ifdef BASOP_NOGLOB
                noise[i] = shr_sat( mult( noise[i], gain16 ), s );
#else
                noise[i] = shr( mult( noise[i], gain16 ), s );
#endif
                move16();
            }

@@ -3434,7 +3438,11 @@ generate_comfort_noise_dec (
            s = sub(15-NOISE_HEADROOM,(sub(15,Q_syn)));
            FOR (i=0; i<lpcorder; i++)
            {
#ifdef BASOP_NOGLOB
                old_syn_pe_tmp[i] = shr_sat( old_syn_pe[i], s );
#else
                old_syn_pe_tmp[i] = shr( old_syn_pe[i], s );
#endif
                move16();
            }

Loading