Commit 1097e03a authored by multrus's avatar multrus
Browse files

[cleanup] accept NONBE_FIX_1063_DIV_BY_ZERO_SUMNRG

parent 43e8b078
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -102,7 +102,6 @@
#define FIX_1741_REVERB_TIMES_Q_FORMAT                  /* Philips: reverberation times in Q26 format instead of Q31 */
#define FIX_1831_REVERB_REGRESSION                      /* Philips: fixes reverb regression issues  */
#define FIX_1835_REVERB_ACTIVATION                      /* FhG: Modified reverberation activation logic and corrected factEQ calculation */
#define NONBE_FIX_1063_DIV_BY_ZERO_SUMNRG               /* VoiceAge: issue 1063: division by zero for angle_rot feature in the UNCLR classifier */
#define NONBE_FIX_SBA_SIGNALING_BITS_B                  /* FhG: issue 1061: option B: signal sba order additionally in OSBA */
#define NONBE_FIX_1045_ISM_BITRATE_SWITCHING            /* Eri: Difference between ROM/File HRTF in ISM bitrate switching */
#define NONBE_FIX_1065_ISM_MD_HANDLE                    /* VA: issue 1065: Allocate only the necessary number of ISM MD decoder handles. */
+0 −15
Original line number Diff line number Diff line
@@ -973,10 +973,8 @@ void stereo_dft_enc_compute_itd_fx(

    Word32 cng_xcorr_filt;
    Word16 cng_xcorr_filt_e;
#ifdef NONBE_FIX_1063_DIV_BY_ZERO_SUMNRG
    Word32 sum_nrg_delta;
    Word16 sum_nrg_delta_e;
#endif
    Word16 prev_itd_max;
    Word16 itd_max_flip;

@@ -1240,9 +1238,6 @@ void stereo_dft_enc_compute_itd_fx(
        move32();
        xcorr_abs[i] = Sqrt32( xcorr_abs[i], &xcorr_abs_e[i] );
        move32();
#ifndef NONBE_FIX_1063_DIV_BY_ZERO_SUMNRG
        /* VM: prod_LL tends to overflow, better to replace with sum(log(prod_L)) and retrain the classifier */
#endif
        prod_LL = prod_L;
        move32();
        prod_LL_e = prod_L_e;
@@ -1390,7 +1385,6 @@ void stereo_dft_enc_compute_itd_fx(
        hStereoClassif->xtalk_fv_fx[E_gainIPD] = L_shr_r( g_IPD, 10 ); // Q15
        move32();

#ifdef NONBE_FIX_1063_DIV_BY_ZERO_SUMNRG
        sum_nrg_delta = BASOP_Util_Add_Mant32Exp( sum_nrg_L, sum_nrg_L_e, L_negate( sum_nrg_R ), sum_nrg_R_e, &sum_nrg_delta_e );
        IF( GE_32( sum_nrg_delta, 0 ) )
        {
@@ -1404,15 +1398,6 @@ void stereo_dft_enc_compute_itd_fx(
        L_temp2 = BASOP_Util_Divide3232_Scale_newton( grand_dot_prod_real, sum_nrg_delta, &L_temp2_e );
        L_temp2_e = add( L_temp2_e, sub( add( grand_dot_prod_real_e, 1 ), sum_nrg_delta_e ) );
        angle_rot = L_abs( BASOP_util_atan( L_shr_r_sat( L_temp2, ( sub( 6, L_temp2_e ) ) ) ) ); // Q14
#else
        // angle_rot = fabsf( atanf( 2.0f * ( grand_dot_prod_real ) / ( sum_nrg_L - sum_nrg_R + 1.0f ) ) );
        L_temp = BASOP_Util_Add_Mant32Exp( sum_nrg_L, sum_nrg_L_e, L_negate( sum_nrg_R ), sum_nrg_R_e, &L_temp_e );
        L_temp = BASOP_Util_Add_Mant32Exp( L_temp, L_temp_e, MAX_32, 0, &L_temp_e );
        L_temp2 = BASOP_Util_Divide3232_Scale_newton( grand_dot_prod_real, L_temp, &L_temp2_e );
        L_temp2_e = add( L_temp2_e, sub( add( grand_dot_prod_real_e, 1 ), L_temp_e ) );
        angle_rot = L_abs( BASOP_util_atan( L_shr_r_sat( L_temp2, ( sub( 6, L_temp2_e ) ) ) ) ); // Q14
                                                                                                 // angle_rot = L_abs( BASOP_util_atan2( grand_dot_prod_real, L_temp, sub( add( grand_dot_prod_real_e, 1 ), L_temp_e ) ) ); // Q13
#endif

        hStereoClassif->unclr_fv_fx[E_angle_rot] = L_shl( angle_rot, 1 ); // Q15
        move32();