Commit 348500c8 authored by Manuel Jander's avatar Manuel Jander
Browse files

Add switch NONBE_FIX_ISSUE_2518 to increase Q_new to mitigate the regression from issue #2518.

parent 387619a8
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -92,6 +92,7 @@
#define NONBE_FIX_ISSUE_2206_AVOID_OVERFLOW_MSVQ_Interpol_Tran_fx /* FhG: Fix saturation crash in MSVQ_Interpol_Tran_fx() */
#define NONBE_FIX_ISSUE_2206_SWB_EXPERIMENT_FIX_2527    /* Fix crash from issue #2527 */
#define NONBE_FIX_2507                                  /* Fix porting error in SQ_gain_estimate_fx() */
#define NONBE_FIX_ISSUE_2518                            /* FhG: Fix issue 2518, noise during ACELP switching from 16KHz to 12k8Hz */
#define FIX_FLOAT_1539_G192_FORMAT_SWITCH               /* VA/Nokia: reintroduce format switching for g192 bitstreams */
#define HARMONIZE_2499_CONFIGUREFDCNGDEC                /* FhG: basop issue 2499: harmonoize configureFdCngDec */
#define FIX_BASOP_2530_IVAS_DECISION_MAT                /* VA: Fix ambiguous usage of extract_l() */
+2 −0
Original line number Diff line number Diff line
@@ -776,7 +776,9 @@ void pre_proc_front_ivas_fx(
    /* Limit Q_new here to st->q_inp because inside ivas_compute_core_buffers_fx() st->input is rescaled to Q_new */
    *Q_new = s_min( *Q_new, st->q_inp );
#endif
#ifndef NONBE_FIX_ISSUE_2518
    *Q_new = add( *Q_new, Q_inp_const );
#endif
    move16();
    Copy_Scale_sig32_16( sig_out, preemp_start_idx, preemp_len, sub( add( *Q_new, 1 ), st->q_inp ) );        /* Q_new */
    Scale_sig( old_inp_12k8_fx, (Word16) ( preemp_start_idx - old_inp_12k8_fx ), sub( *Q_new, st->q_inp ) ); /* Q_new */
+5 −0
Original line number Diff line number Diff line
@@ -607,6 +607,11 @@ void pre_proc_ivas_fx(

        ivas_compute_core_buffers_fx( st, &inp_16k_fx, old_inp_16k_fx, new_inp_resamp16k_fx, input_frame, last_element_mode, sr_core_tmp, ener_fx, A_fx, Aw_fx, epsP_fx, lsp_new_fx, lsp_mid_fx, Q_old_inp_16k, Q_r, &Q_inp_16k );

#ifdef NONBE_FIX_ISSUE_2518
        Q_inp_12k8 = add( Q_inp_12k8, norm_arr( old_inp_12k8_fx, L_INP_12k8 ) );
        scale_sig( old_inp_12k8_fx, L_INP_12k8, sub( Q_inp_12k8, *Q_new ) );
#endif

        IF( GT_16( Q_inp_16k, Q_inp_12k8 ) )
        {
#ifdef NONBE_FIX_ISSUE_2206