Commit ae0115c0 authored by multrus's avatar multrus
Browse files

merge from main

parents d9eafd02 a6b0e09b
Loading
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -88,13 +88,15 @@
#define FIX_BASOP_2478_HARM_ENC_PRM_HM                  /* FhG: basop issue 2478: harmonize enc_prm_hm() and enc_prm_hm_ivas_fx() */
#define FIX_2455_HARMONIZE_generate_comfort_noise_enc   /* FhG: harmonize generate_comfort_noise_enc and generate_comfort_noise_enc_ivas */
#define FIX_2455_HARMONIZE_configureFdCngEnc            /* FhG: harmonize generate_comfort_noise_enc and generate_comfort_noise_enc_ivas */
#define HARMONIZE_2481_EXTEND_SHRINK
#define FIX_2463_EVS_BWE_LSF                            /* VA: basop issue 2463: harmonize calling of Quant_BWE_LSF_fx() */
#define HARMONIZE_2481_EXTEND_SHRINK                    /* FhG: basop issue 2481: Harmonize extend_frm_*fx() and shrink_frm_*fx() */

/* #################### End BE switches ################################## */

/* #################### Start NON-BE switches ############################ */
/* any switch which is non-be wrt. TS 26.251 V3.0 */

#define FIX_BASOP_2451_HQ_FEC_SELECTOR                  /* Eri: Resolve basop issue 2451, wrong condition on env_stab_plc_fx */
#define FIX_2398_PRECISSION_ORIENTATION_TRACKING        /* FhG: use refinement of Sqrt32 within certain functions*/


+4 −0
Original line number Diff line number Diff line
@@ -304,7 +304,11 @@ void window_ola_fx(
            p4 = oldgapsynth + n;
            FOR( i = 0; i < temp; i++ )
            {
#ifdef FIX_BASOP_2451_HQ_FEC_SELECTOR
                *p1 = add_sat( mult( *p1, *p2 ), mult( *p4, *p3 ) ); /*   auOut[i]*SS2[i]+ oldgapsynth[i+n]*(SS2[L-n-i-1]);*/
#else
                *p1 = add( mult( *p1, *p2 ), mult( *p4, *p3 ) ); /*   auOut[i]*SS2[i]+ oldgapsynth[i+n]*(SS2[L-n-i-1]);*/
#endif
                move16();
                p1++;
                p2++;
+9 −0
Original line number Diff line number Diff line
@@ -3301,10 +3301,18 @@ void hq_ecu_fx(
    test();
    test();
    test();
#ifdef FIX_BASOP_2451_HQ_FEC_SELECTOR
    evs_mode_selection = ( GE_32( st_fx->total_brate, 48000 ) && ( GE_16( output_frame, L_FRAME16k ) && !prev_bfi && ( !old_is_transient[0] || old_is_transient[1] ) &&
                                                                   ( ph_ecu_HqVoicing || ( ( ( NE_16( hHQ_core->env_stab_plc_fx, 0 ) ) && ( LT_16( corr, 19661 ) /* 0.6 in Q15 */ ) ) || ( !( NE_16( hHQ_core->env_stab_plc_fx, 0 ) ) && ( GT_16( corr, 27853 ) /* 0.85 in Q15 */ ) ) ) ) ) ) ||
                         ( LT_32( st_fx->total_brate, 48000 ) && ( ( ph_ecu_HqVoicing || GT_16( corr, 27853 ) /* 0.85 in Q15 */ ) && !prev_bfi && ( !old_is_transient[0] || old_is_transient[1] ) ) );

#else
    evs_mode_selection = ( GE_32( st_fx->total_brate, 48000 ) && ( GE_16( output_frame, L_FRAME16k ) && !prev_bfi && ( !old_is_transient[0] || old_is_transient[1] ) &&
                                                                   ( ph_ecu_HqVoicing || ( ( ( GT_16( hHQ_core->env_stab_plc_fx, 16384 ) /* 0.5 in Q15 */ ) && ( LT_16( corr, 19661 ) /* 0.6 in Q15 */ ) ) || ( LT_16( hHQ_core->env_stab_plc_fx, 16384 ) /* 0.5 in Q15 */ && ( GT_16( corr, 27853 ) /* 0.85 in Q15 */ ) ) ) ) ) ) ||
                         ( LT_32( st_fx->total_brate, 48000 ) && ( ( ph_ecu_HqVoicing || GT_16( corr, 27853 ) /* 0.85 in Q15 */ ) && !prev_bfi && ( !old_is_transient[0] || old_is_transient[1] ) ) );
#endif

#ifndef FIX_BASOP_2451_HQ_FEC_SELECTOR
#ifdef HARM_HQ_CORE_KEEP_BE
    IF( st_fx->element_mode == EVS_MONO )
    {
@@ -3327,6 +3335,7 @@ void hq_ecu_fx(
                                                                       ( NE_16( ph_ecu_HqVoicing, 0 ) || ( ( ( NE_16( hHQ_core->env_stab_plc_fx, 0 ) ) && ( LT_16( corr, 19661 ) ) ) || ( !( NE_16( hHQ_core->env_stab_plc_fx, 0 ) ) && ( GT_16( corr, 27853 ) ) ) ) ) ) ) ||
                             ( LT_32( st_fx->total_brate, 48000 ) && ( ( ph_ecu_HqVoicing || GT_16( corr, 27853 ) ) && !prev_bfi && ( !old_is_transient[0] || old_is_transient[1] ) ) );
    }
#endif
#endif

    test();
+0 −5
Original line number Diff line number Diff line
@@ -321,13 +321,8 @@ static void peak_vq_dec_fx(

    pvq_decode_frame_fx( st_fx, pvq_vector, npulses, pvq_inp_vector, hvq_band_start, hvq_band_end, hvq_band_width, pvq_bands, Rk, pvq_bits, core );

#ifdef HARM_HQ_CORE_KEEP_BE
    fine_gain_pred_fx( hvq_band_start, hvq_band_end, hvq_band_width, k_sort, npulses, pvq_maxpulse, NULL,
                       pvq_bands, pvq_vector, pvq_inp_vector, fg_pred, EVS_MONO, core );
#else
    fine_gain_pred_fx( hvq_band_start, hvq_band_end, hvq_band_width, k_sort, npulses, pvq_maxpulse, NULL,
                       pvq_bands, pvq_vector, pvq_inp_vector, fg_pred, st_fx->element_mode, core );
#endif

    fine_gain_dec_fx( st_fx, k_sort, pvq_bands, gain_bits_array, fg_pred );

+0 −6
Original line number Diff line number Diff line
@@ -402,14 +402,8 @@ Word16 peak_vq_enc_fx(
        move16();
    }

#ifdef HARM_HQ_CORE_KEEP_BE
    (void) element_mode;
    fine_gain_pred_fx( hvq_band_start, hvq_band_end, hvq_band_width, k_sort, npulses, NULL, NULL, pvq_bands, coefs_pvq,
                       pvq_inp_vector, fg_pred, EVS_MONO, HQ_CORE );
#else
    fine_gain_pred_fx( hvq_band_start, hvq_band_end, hvq_band_width, k_sort, npulses, NULL, NULL, pvq_bands, coefs_pvq,
                       pvq_inp_vector, fg_pred, element_mode, HQ_CORE );
#endif

    pCoefsOut = &coefs_out[0];
    pSelBnds = &sel_bnds[0];
Loading