Commit dbbde191 authored by Marek Szczerba's avatar Marek Szczerba
Browse files

Merge branch 'main' into 1020-fix-aeid-selection-errors

parents 18a95b64 9049c1df
Loading
Loading
Loading
Loading
Loading

lib_com/options.h

100644 → 100755
+2 −0
Original line number Diff line number Diff line
@@ -160,6 +160,7 @@
#define FIX_1009_ISM_NONDIEGETIC_PANNING                /* FhG: issue #1009: use correct object buffer for ISM1 non-diegetic pan      */
#define FIX_1020_AEID_SELECTION_ERRORS                  /* Philips: issue #1020: fix for acoustic environment ID selection errors */
#define FIX_993_REMOVE_SBA_GET_ORDER                    /* VA: issue 993: remove unused function ivas_sba_get_order() */
#define FIX_1002_DEC_PHASE_ECU_USAN_OF_PHASE            /* Eri: issue #1002, usan-value-out-of-range-for-int16, kept BE for PLC-conditions   */
#define FIX_960_SYN_OUTPUT                              /* VA: issue 960: unused function syn_output() is removed */

/* #################### End BE switches ################################## */
@@ -173,6 +174,7 @@
#define NONBE_FIX_1004_USAN_DTX_MASA_NO_DIRS                  /* Nokia: fix USAN error caused by non-setting of correctly the number of MASA directions in DTX */
#define NONBE_FIX_1014_1015_1016_OSBA_JBM_STEREO              /* FhG: issues #1014, #1015, #1016: fix tc buffer info update in the discrete ism renderer */
#define NONBE_FIX_987_PARAMC_BINAURAL_REVERB_RENDERING       /* FhG: issue 987: solution b: downmix HOA3 to stereo a input for the reverberator */
#define NONBE_FIX_1006_PAST_DMX_NRG_ERROR                     /* Eri/FhG: Issue 1006: Bug fix in ivas_stereo_dft_dec not replicated in ivas_stereo_dft_dec_dmx */
#define NONBE_FIX_1010_STEREO_CNG_DIV_BY_ZERO                 /* Eri: Issue 1010: Division by zero in Stereo CNG */

/* ##################### End NON-BE switches ########################### */
+11 −1
Original line number Diff line number Diff line
@@ -973,7 +973,6 @@ static void subst_spec(
    float alpha_local;
    float beta_local;


    sincos = sincos_t_ext + 128;
    Lprot = (int16_t) ( L_PROT32k * output_frame / 640 );
    Lprot_1 = 1.0f / Lprot;
@@ -1092,7 +1091,14 @@ static void subst_spec(
        }

        Xph = corr_phase[m];
#ifdef FIX_1002_DEC_PHASE_ECU_USAN_OF_PHASE
        /* extract fractional phase integer index in the range [0...1023] */
        Xph_short = (int16_t) ( 0x000003ff & (int32_t) ( ( Xph * 512 ) / EVS_PI ) );
#else
        Xph_short = (int16_t) ( ( (int32_t) ( Xph * 512 / EVS_PI ) ) % 32768 ) & 0x03ff;
#endif


        if ( Xph_short >= 512 )
        {
            sin_F = -sincos_t_ext[Xph_short - 512];
@@ -1136,7 +1142,11 @@ static void subst_spec(
                    mag_chg_local *= 0.5f + ( 1.0f - ( 1.0f / PHASE_DITH ) * ph_dith ) * 0.5f;
                }

#ifdef FIX_1002_DEC_PHASE_ECU_USAN_OF_PHASE
                Xph_short = (int16_t) ( ( (int32_t) ( ( Xph * 512 ) / EVS_PI ) ) & 0x000003ff );
#else
                Xph_short = (int16_t) ( Xph * 512 / EVS_PI ) & 0x03ff;
#endif

                if ( Xph_short >= 512 )
                {
+4 −0
Original line number Diff line number Diff line
@@ -229,7 +229,11 @@ void stereo_dft_unify_dmx(
        if ( st0->bfi && !prev_bfi )
        {
            int16_t idx_k0, idx_k1;
#ifdef NONBE_FIX_1006_PAST_DMX_NRG_ERROR
            idx_k0 = ( hStereoDft->past_DMX_pos + STEREO_DFT_PAST_MAX - 1 ) % STEREO_DFT_PAST_MAX;
#else
            idx_k0 = ( hStereoDft->past_DMX_pos + 1 ) % STEREO_DFT_PAST_MAX;
#endif
            idx_k1 = ( idx_k0 + 1 ) % STEREO_DFT_PAST_MAX;

            /*dmx energy memory*/