Commit 5f3c33d7 authored by vaillancour's avatar vaillancour Committed by Sandesh Venkatesh
Browse files

change to no_sat all the scale sig that had a risk of overflowing depending of the past exp

parent b0265d44
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -4005,7 +4005,11 @@ static void ivas_fec_ecu_dft_fx(
    tmp = Exp16Array( *Nfft, Tfr16 );
    *exp = add( tmp, add( 2, norm_s( *Nfft ) ) );
    move16();
#ifdef FIX_ISSUE_1237
    Copy_Scale_sig_16_32_no_sat( Tfr16, Tfr32, *Nfft, *exp ); /*Qin+exp; */
#else
    Copy_Scale_sig_16_32_DEPREC( Tfr16, Tfr32, *Nfft, *exp ); /*Qin+exp; */
#endif
    *exp = s_min( *exp, 15 );

    DoRTFTn_fx( Tfr32, Tfi32, *Nfft );
+8 −0
Original line number Diff line number Diff line
@@ -1772,7 +1772,11 @@ ivas_error acelp_core_dec_ivas_fx(
        q_bpf_error_signal = Q6;
        move16();
#ifdef MSAN_FIX
#ifdef FIX_ISSUE_1237
        Copy_Scale_sig_16_32_no_sat( bpf_error_signal_16fx, tmp_bpf_error_signal_fx, st->L_frame, sub( q_bpf_error_signal, st->Q_syn ) ); // Q6
#else
        Copy_Scale_sig_16_32_DEPREC( bpf_error_signal_16fx, tmp_bpf_error_signal_fx, st->L_frame, sub( q_bpf_error_signal, st->Q_syn ) ); // Q6
#endif
#else
        Copy_Scale_sig_16_32_DEPREC( bpf_error_signal_16fx, tmp_bpf_error_signal_fx, L_FRAME16k, q_bpf_error_signal - st->Q_syn ); // Q6
#endif
@@ -1999,7 +2003,11 @@ ivas_error acelp_core_dec_ivas_fx(
        // Get Q-factor
        q_bpf_error_signal = Q6;
        move16();
#ifdef FIX_ISSUE_1237
        Copy_Scale_sig_16_32_no_sat( bpf_error_signal_16fx, tmp_bpf_error_signal_fx, L_FRAME16k, sub( q_bpf_error_signal, st->Q_syn ) ); // Q6
#else
        Copy_Scale_sig_16_32_DEPREC( bpf_error_signal_16fx, tmp_bpf_error_signal_fx, L_FRAME16k, sub( q_bpf_error_signal, st->Q_syn ) ); // Q6
#endif
        FOR( i = 0; i < CLDFB_NO_COL_MAX; i++ )
        {
            Scale_sig32( realBuffer_fx[i], CLDFB_NO_CHANNELS_MAX, -Q7 ); // Q0
+4 −0
Original line number Diff line number Diff line
@@ -816,7 +816,11 @@ ivas_error acelp_core_switch_dec_bfi_ivas_fx(
     *----------------------------------------------------------------*/
    /* CLDFB analysis of the synthesis at internal sampling rate */
    Qtmp = sub( 11, st_fx->Q_syn );
#ifdef FIX_ISSUE_1237
    Copy_Scale_sig_16_32_no_sat( syn, syn32, L_FRAME16k, Qtmp ); // Q(11)
#else
    Copy_Scale_sig_16_32_DEPREC( syn, syn32, L_FRAME16k, Qtmp ); // Q(11)
#endif
    IF( NE_32( ( error = cldfb_save_memory_ivas_fx( st_fx->cldfbAna ) ), IVAS_ERR_OK ) )
    {
        return error;
+4 −0
Original line number Diff line number Diff line
@@ -539,7 +539,11 @@ ivas_error core_switching_pre_dec_ivas_fx(
            {
                return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for old_synth_lenFB (32 bit) \n" ) );
            }
#ifdef FIX_ISSUE_1237
            Copy_Scale_sig_16_32_no_sat( st->hTcxDec->old_synthFB_fx, old_synthFB_fx, st->hTcxDec->old_synth_lenFB, sub( Q10, Q_old_synthFB ) ); // Q10
#else
            Copy_Scale_sig_16_32_DEPREC( st->hTcxDec->old_synthFB_fx, old_synthFB_fx, st->hTcxDec->old_synth_lenFB, sub( Q10, Q_old_synthFB ) ); // Q10
#endif
            Copy32( old_synthFB_fx + st->hTcxDec->old_synth_lenFB - offset, st->cldfbAna->cldfb_state_fx, offset );
            st->cldfbAna->Q_cldfb_state = Q10;
            move16();
+8 −1
Original line number Diff line number Diff line
@@ -666,7 +666,11 @@ void generate_stereo_masking_noise_fx(
    IF( st->idchan == 0 )
    {
        hFdCngCom = st->hFdCngDec->hFdCngCom;
#ifdef FIX_ISSUE_1237
        Copy_Scale_sig_16_32_no_sat( hStereoCng->olapBufferSynth22_fx, Ns_fx, shr( hFdCngCom->frameSize, 1 ), sub( Q6, st->Q_syn ) ); /*Q6*/
#else
        Copy_Scale_sig_16_32_DEPREC( hStereoCng->olapBufferSynth22_fx, Ns_fx, shr( hFdCngCom->frameSize, 1 ), sub( Q6, st->Q_syn ) ); /*Q6*/
#endif
        Copy32( hFdCngCom->olapBufferSynth2_fx, Np_fx, shr( hFdCngCom->frameSize, 1 ) );                                              /*st->Q_syn*/

        set32_fx( &Np_fx[( hFdCngCom->frameSize / 2 )], 0, shr( hFdCngCom->frameSize, 1 ) );
@@ -675,8 +679,11 @@ void generate_stereo_masking_noise_fx(
        IF( !fadeOut )
        {

#ifdef FIX_ISSUE_1237
            Copy_Scale_sig_16_32_no_sat( hStereoCng->olapBufferSynth22_fx, hStereoCng->olapBufferSynth22_32fx, hFdCngCom->fftlen, sub( Q15, st->Q_syn ) ); /*Q15*/
#else
            Copy_Scale_sig_16_32_DEPREC( hStereoCng->olapBufferSynth22_fx, hStereoCng->olapBufferSynth22_32fx, hFdCngCom->fftlen, sub( Q15, st->Q_syn ) ); /*Q15*/

#endif
            generate_masking_noise_ivas_fx( N1_fx, &N1_fx_exp, hFdCngCom, hFdCngCom->frameSize, 0, 1, 0, st->element_mode, hStereoCng, nchan_out ); // N1_fx Q6
            /* Generate masking noise for secondary channel */
            IF( flag_sec_CNA )
Loading