Commit 8127afeb authored by vaillancour's avatar vaillancour
Browse files

Correction on compl saturations for 26.444

parent baef6ba4
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -198,7 +198,11 @@ void CNG_exc_fx(
         *------------------------------------------------------------*/
        L_tmp = Mult_32_16(*lp_ener, Random(cng_ener_seed));
        L_tmp = Mult_32_16(L_tmp, GAIN_VAR);
#ifdef BASOP_NOGLOB
        L_tmp = L_add_sat( L_tmp, *lp_ener );
#else
        L_tmp = L_add( L_tmp, *lp_ener );
#endif
        L_tmp = L_max(L_tmp, 1);

        /* enr = dot_product( exc2, exc2, L_SUBFR ) + 0.01f */
+10 −2
Original line number Diff line number Diff line
@@ -718,9 +718,17 @@ void FEC_exc_estim_fx(
            L_tmp = L_mult(hp_filt[0], pt_exc[0]);
            FOR (j = 1; j < MODE1_L_FIR_FER; j++)
            {
#ifdef BASOP_NOGLOB
                L_tmp = L_mac_sat( L_tmp, hp_filt[j], pt_exc[j] );
#else
                L_tmp = L_mac( L_tmp, hp_filt[j], pt_exc[j] );
#endif
            }
#ifdef BASOP_NOGLOB
            exc2[i] = msu_r_sat( L_tmp, -32768, exc[i] );
#else
            exc2[i] = msu_r( L_tmp, -32768, exc[i] );
#endif
            move16();
            pt_exc++;
        }
+5 −1
Original line number Diff line number Diff line
@@ -257,7 +257,11 @@ void FEC_scale_syn_fx(
                        ( (prev_bfi) || ( (EQ_16(coder_type,GENERIC) ) && (EQ_16(LSF_Q_prediction,AUTO_REGRESSIVE) ) ) ) )
                    {
                        /*if( enr_q > scaling * enr_old ){enr_q = scaling * enr_old;}*/
#ifdef BASOP_NOGLOB
                        L_enr_q = L_min( L_enr_q, L_shl_sat( Mult_32_16( L_enr_old, scaling ), 1 ) ); /* scaling in Q14*/
#else
                        L_enr_q = L_min( L_enr_q, L_shl( Mult_32_16( L_enr_old, scaling ), 1 ) ); /* scaling in Q14*/
#endif
                    }
                    ELSE
                    {
+1 −1
Original line number Diff line number Diff line
@@ -415,7 +415,7 @@ void bass_psfilter_fx(
            exp2 = sub(exp, exp2); /* exponent num - exponent denom */
            /* alpha = corr / ener */
#ifdef BASOP_NOGLOB
            alpha = shr_sat(div_s(round_fx(L_shl(Ltmp, exp)), tmp2), exp2); /*Q15 */
            alpha = shr_sat(div_s(round_fx_sat(L_shl_sat(Ltmp, exp)), tmp2), exp2); /*Q15 */
#else
            alpha = shr(div_s(round_fx(L_shl(Ltmp, exp)), tmp2), exp2); /*Q15 */
#endif
+20 −4
Original line number Diff line number Diff line
@@ -544,19 +544,31 @@ void CNG_dec_fx(
                    FOR ( j=0; j<m1; j++ )
                    {
                        /* env[i] += tmp_env[j*NUM_ENV_CNG+i];*/
#ifdef BASOP_NOGLOB
                        L_tmp = L_add_sat( L_tmp, tmp_env[j * NUM_ENV_CNG + i] );
#else
                        L_tmp = L_add( L_tmp, tmp_env[j * NUM_ENV_CNG + i] );
#endif
                    }
                    /*    env[i] /= (float)m1;  */
                    /*    env[i] = env[i] - 2*st_fx->lp_ener_fx; */
                    IF(EQ_16(m1,1))
                    {
#ifdef BASOP_NOGLOB
                        L_tmp = L_sub_sat( L_tmp, L_add_sat( st_fx->lp_ener_fx, st_fx->lp_ener_fx ) );
#else
                        L_tmp = L_sub( L_tmp, L_add( st_fx->lp_ener_fx, st_fx->lp_ener_fx ) );
#endif
                    }
                    ELSE
                    {
                        tmp1 = div_s(1,m1);
                        L_tmp = Mult_32_16(L_tmp,tmp1);
#ifdef BASOP_NOGLOB
                        L_tmp = L_sub_sat( L_tmp, L_add_sat( st_fx->lp_ener_fx, st_fx->lp_ener_fx ) );
#else
                        L_tmp = L_sub( L_tmp, L_add( st_fx->lp_ener_fx, st_fx->lp_ener_fx ) );
#endif
                    }
                    env[i] = L_tmp;
                    move32();
@@ -576,7 +588,11 @@ void CNG_dec_fx(
    {
        /* Update hangover memory during CNG */
        test();
#ifdef BASOP_NOGLOB
        IF( *allow_cn_step == 0 && LT_32( hTdCngDec->Enew_fx, L_add_sat( st_fx->lp_ener_fx, L_shr( st_fx->lp_ener_fx, 1 ) ) ) )
#else
        IF( *allow_cn_step == 0 && LT_32( hTdCngDec->Enew_fx, L_add( st_fx->lp_ener_fx, L_shr( st_fx->lp_ener_fx, 1 ) ) ) )
#endif
        {
            /* update the pointer to circular buffer of old LSP vectors */
            hTdCngDec->ho_hist_ptr_fx = add(hTdCngDec->ho_hist_ptr_fx, 1);
Loading