Commit 00e408ea authored by Mohammadreza Naghibzadeh's avatar Mohammadreza Naghibzadeh
Browse files

correct binauralCoherenceCrossmixGains_fx calculation

parent 235e8e3e
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -83,6 +83,7 @@
#define	NONBE_SVD_OPTIMIZATION                               /* FhG: reduce WMOPS of HouseHolderReduction() in ivas_svd_dec.c() by removing redundant mathematics and using 64 bit additions */
#define FIX_1766_TCX2ACELP_BWE_ISSUE                         /* VA : Fix rare BWE issue when switching from TCX to ACELP */

#define FIX_1931_BIN_COHR_CROSS_MIX                    /* FhG: correct binauralCoherenceCrossmixGains_fx calculation */
/* #################### Start BASOP porting switches ############################ */

#define FIX_1372_ISAR_POST_REND
+9 −1
Original line number Diff line number Diff line
@@ -249,6 +249,11 @@ static void ivas_binaural_reverb_setReverbTimes_fx(
        L_tmp = Mpy_32_16_1( output_Fs, tmp ); /*- exp */
        binCenterFreq_exp = add( 31, exp );
        binCenterFreq_fx = L_shr( L_tmp, 1 ); // divide by 2
#ifdef FIX_1931_BIN_COHR_CROSS_MIX
        norm = norm_l( binCenterFreq_fx );
        binCenterFreq_fx = L_shl( binCenterFreq_fx, norm );
        binCenterFreq_exp = sub(binCenterFreq_exp, norm);
#endif
        IF( bin == 0 )
        {
            diffuseFieldICC_fx = ONE_IN_Q31;
@@ -272,9 +277,12 @@ static void ivas_binaural_reverb_setReverbTimes_fx(

            /* binCenterFreq / 2700.0f */
            L_tmp = Mpy_32_32( binCenterFreq_fx, 795364 /* 1 / 2700 in Q31 */ );
#ifdef FIX_1931_BIN_COHR_CROSS_MIX
            L_tmp = L_shl( L_tmp, binCenterFreq_exp ); /* Q31 */
#else
            norm = norm_l( L_tmp );
            L_tmp = L_shl( L_tmp, norm ); /* Q31 */

#endif
            /* ( 1.0f - binCenterFreq / 2700.0f ) */
            L_tmp = L_sub( ONE_IN_Q31, L_tmp ); /* Q31 */