Commit c5c5b488 authored by vaillancour's avatar vaillancour
Browse files

adding basop sat for signal with extreme saturation

parent ee49bab8
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -840,7 +840,11 @@ void CNG_enc_fx(
                L_tmp1 = L_add(env[i], 0);
                FOR ( j=0; j< hDtxEnc->cng_hist_size; j++ )
                {
#ifdef BASOP_NOGLOB
                    L_tmp1 = L_add_sat( L_tmp1, hTdCngEnc->cng_res_env_fx[j * NUM_ENV_CNG + i] );
#else
                    L_tmp1 = L_add( L_tmp1, hTdCngEnc->cng_res_env_fx[j * NUM_ENV_CNG + i] );
#endif
                }
                L_tmp = L_add(hTdCngEnc->cng_res_env_fx[max_idx1[0]*NUM_ENV_CNG+i],hTdCngEnc->cng_res_env_fx[max_idx1[1]*NUM_ENV_CNG+i]);
                L_tmp1 = L_sub(L_tmp1,L_tmp);
+5 −1
Original line number Diff line number Diff line
@@ -388,7 +388,11 @@ Word16 coder_acelp_fx( /* o : SEGSNR for CL decision */

            Ltmp2 = Mpy_32_16_1(gain_code, code[i]);
            Ltmp2 = L_shl(Ltmp2, Q_new_p5);
#ifdef BASOP_NOGLOB
            Ltmp = L_add_sat( Ltmp, Ltmp2 );
#else
            Ltmp = L_add( Ltmp, Ltmp2 );
#endif
#ifdef BASOP_NOGLOB
            Ltmp = L_shl_o(Ltmp, 1, &Overflow);       /* saturation can occur here */
            exc[i + i_subfr] = round_fx_o(Ltmp, &Overflow);
+5 −1
Original line number Diff line number Diff line
@@ -226,7 +226,11 @@ void encod_amr_wb_fx(
        {
            L_tmp = L_mult(gcode16, code[i]);
            L_tmp = L_shl(L_tmp, 5);
#ifdef BASOP_NOGLOB
            L_tmp = L_mac_sat( L_tmp, exc[i + i_subfr], gain_pit );
#else
            L_tmp = L_mac( L_tmp, exc[i + i_subfr], gain_pit );
#endif
#ifdef BASOP_NOGLOB
            L_tmp = L_shl_o(L_tmp, 1, &Overflow); /* saturation can occur here */
            exc[i + i_subfr] = round_fx_o(L_tmp, &Overflow);