Commit 285e1351 authored by multrus's avatar multrus
Browse files

[cleanup] accept FIX_ISSUE_1764

parent 83ea9476
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -83,7 +83,6 @@
#define FIX_CDLFB_BUFFER_SCALING                             /* FhG: fix wrong buffer scaling in ivas_dirac_dec_render_sf_fx() for object rendering */


#define FIX_ISSUE_1764                       /* NTT: update renorm and use abs */
#define FIX_ISSUE_1817_REPLACE_CARRY_OVERFLOW  /* FhG: bit-exact, replace carry and overflow operations by 64-bit operations, MR 1931 */
#define FIX_1844_MISSING_FREE                                /* FhG: add missing free in ivas_binRenderer_convModuleClose_fx() */

+0 −112
Original line number Diff line number Diff line
@@ -98,13 +98,8 @@

#define STEREO_DMX_EVS_TRNS_EGY_FORGETTING_Q15 24576

#ifdef FIX_ISSUE_1764
#define STEREO_DMX_EVS_POC_RENORM_TH    1048576 // 65536 * 16
#define STEREO_DMX_EVS_POC_RENORM_SHIFT 10
#else
#define STEREO_DMX_EVS_POC_RENORM_TH    33554432 // 65536 << 9
#define STEREO_DMX_EVS_POC_RENORM_SHIFT 3
#endif

#define STEREO_DMX_EVS_FAD_R                  3
#define STEREO_DMX_EVS_FAD_IR                 10923 /* 1/3 in Q15 */
@@ -232,12 +227,10 @@ static Word32 spectral_flatness_fx(
    const Word16 *sig_fx_e, /* i  : input signal (exponent) - can be NULL */
    const Word16 sig_length /* i  : input signal length        */
);
#ifdef FIX_ISSUE_1764
static void renorm_poc_fx(
    Word32 *real, /* i/o real-part*/
    Word32 *imag  /* i/o imaginary-part */
);
#endif
/*-------------------------------------------------------------------*
 * estimate_itd_wnd_fft()
 *
@@ -420,11 +413,7 @@ static void calc_poc_fx(
        mult_angle = 2; /*****/
        move16();
    }
#ifdef FIX_ISSUE_1764
    ELSE IF( EQ_16( input_frame, L_FRAME32k ) )
#else
    if ( EQ_16( input_frame, L_FRAME32k ) )
#endif
    {
        mult_angle = 2;
        move16();
@@ -452,21 +441,8 @@ static void calc_poc_fx(
            Rr = L_add( L_add( specRr[i], Mpy_32_32_r( specLr[i], eps_cos ) ), Mpy_32_32_r( specLi[i], eps_sin ) );
            Ri = L_add( L_sub( specRi[i], Mpy_32_32_r( specLr[i], eps_sin ) ), Mpy_32_32_r( specLi[i], eps_cos ) );

#ifdef FIX_ISSUE_1764
            renorm_poc_fx( &Lr, &Li );
            renorm_poc_fx( &Rr, &Ri );
#else
            IF( ( LT_32( L_abs( Lr ), STEREO_DMX_EVS_POC_RENORM_TH ) ) &&
                ( LT_32( L_abs( Li ), STEREO_DMX_EVS_POC_RENORM_TH ) ) &&
                ( LT_32( L_abs( Rr ), STEREO_DMX_EVS_POC_RENORM_TH ) ) &&
                ( LT_32( L_abs( Ri ), STEREO_DMX_EVS_POC_RENORM_TH ) ) )
            {
                Lr = L_shl( Lr, STEREO_DMX_EVS_POC_RENORM_SHIFT );
                Li = L_shl( Li, STEREO_DMX_EVS_POC_RENORM_SHIFT );
                Rr = L_shl( Rr, STEREO_DMX_EVS_POC_RENORM_SHIFT );
                Ri = L_shl( Ri, STEREO_DMX_EVS_POC_RENORM_SHIFT );
            }
#endif

            specPOr[i] = L_add( Mpy_32_32_r( Lr, Rr ), Mpy_32_32_r( Li, Ri ) ); // 2*spec_e
            move32();
@@ -480,21 +456,8 @@ static void calc_poc_fx(
                Rr = L_add( L_sub( specRr[j], Mpy_32_32_r( specLr[j], eps_cos ) ), Mpy_32_32_r( specLi[j], eps_sin ) );
                Ri = L_sub( L_sub( specRi[j], Mpy_32_32_r( specLr[j], eps_sin ) ), Mpy_32_32_r( specLi[j], eps_cos ) );

#ifdef FIX_ISSUE_1764
                renorm_poc_fx( &Lr, &Li );
                renorm_poc_fx( &Rr, &Ri );
#else
                IF( ( LT_32( L_abs( Lr ), STEREO_DMX_EVS_POC_RENORM_TH ) ) &&
                    ( LT_32( L_abs( Li ), STEREO_DMX_EVS_POC_RENORM_TH ) ) &&
                    ( LT_32( L_abs( Rr ), STEREO_DMX_EVS_POC_RENORM_TH ) ) &&
                    ( LT_32( L_abs( Ri ), STEREO_DMX_EVS_POC_RENORM_TH ) ) )
                {
                    Lr = L_shl( Lr, STEREO_DMX_EVS_POC_RENORM_SHIFT );
                    Li = L_shl( Li, STEREO_DMX_EVS_POC_RENORM_SHIFT );
                    Rr = L_shl( Rr, STEREO_DMX_EVS_POC_RENORM_SHIFT );
                    Ri = L_shl( Ri, STEREO_DMX_EVS_POC_RENORM_SHIFT );
                }
#endif

                specPOr[j] = L_add( Mpy_32_32_r( Lr, Rr ), Mpy_32_32_r( Li, Ri ) ); // 2*spec_e
                move32();
@@ -517,21 +480,8 @@ static void calc_poc_fx(
            Rr = L_add( L_add( specRr[i], Mpy_32_32_r( specLr[i], eps_cos ) ), Mpy_32_32_r( specLi[i], eps_sin ) );
            Ri = L_add( L_sub( specRi[i], Mpy_32_32_r( specLr[i], eps_sin ) ), Mpy_32_32_r( specLi[i], eps_cos ) );

#ifdef FIX_ISSUE_1764
            renorm_poc_fx( &Lr, &Li );
            renorm_poc_fx( &Rr, &Ri );
#else
            IF( ( LT_32( L_abs( Lr ), STEREO_DMX_EVS_POC_RENORM_TH ) ) &&
                ( LT_32( L_abs( Li ), STEREO_DMX_EVS_POC_RENORM_TH ) ) &&
                ( LT_32( L_abs( Rr ), STEREO_DMX_EVS_POC_RENORM_TH ) ) &&
                ( LT_32( L_abs( Ri ), STEREO_DMX_EVS_POC_RENORM_TH ) ) )
            {
                Lr = L_shl( Lr, STEREO_DMX_EVS_POC_RENORM_SHIFT );
                Li = L_shl( Li, STEREO_DMX_EVS_POC_RENORM_SHIFT );
                Rr = L_shl( Rr, STEREO_DMX_EVS_POC_RENORM_SHIFT );
                Ri = L_shl( Ri, STEREO_DMX_EVS_POC_RENORM_SHIFT );
            }
#endif

            specPOr[i] = L_add( Mpy_32_32_r( Lr, Rr ), Mpy_32_32_r( Li, Ri ) ); // 2*spec_e
            move32();
@@ -544,21 +494,8 @@ static void calc_poc_fx(
            Rr = L_add( L_sub( specRr[j], Mpy_32_32_r( specLr[j], eps_cos ) ), Mpy_32_32_r( specLi[j], eps_sin ) );
            Ri = L_sub( L_sub( specRi[j], Mpy_32_32_r( specLr[j], eps_sin ) ), Mpy_32_32_r( specLi[j], eps_cos ) );

#ifdef FIX_ISSUE_1764
            renorm_poc_fx( &Lr, &Li );
            renorm_poc_fx( &Rr, &Ri );
#else
            IF( ( LT_32( L_abs( Lr ), STEREO_DMX_EVS_POC_RENORM_TH ) ) &&
                ( LT_32( L_abs( Li ), STEREO_DMX_EVS_POC_RENORM_TH ) ) &&
                ( LT_32( L_abs( Rr ), STEREO_DMX_EVS_POC_RENORM_TH ) ) &&
                ( LT_32( L_abs( Ri ), STEREO_DMX_EVS_POC_RENORM_TH ) ) )
            {
                Lr = L_shl( Lr, STEREO_DMX_EVS_POC_RENORM_SHIFT );
                Li = L_shl( Li, STEREO_DMX_EVS_POC_RENORM_SHIFT );
                Rr = L_shl( Rr, STEREO_DMX_EVS_POC_RENORM_SHIFT );
                Ri = L_shl( Ri, STEREO_DMX_EVS_POC_RENORM_SHIFT );
            }
#endif

            specPOr[j] = L_add( Mpy_32_32_r( Lr, Rr ), Mpy_32_32_r( Li, Ri ) ); // 2*spec_e
            move32();
@@ -573,10 +510,8 @@ static void calc_poc_fx(
        Rr = L_add( specRr[i], Mpy_32_32_r( specLi[i], EPS ) );
        Ri = L_sub( specRi[i], Mpy_32_32_r( specLr[i], EPS ) );

#ifdef FIX_ISSUE_1764
        renorm_poc_fx( &Lr, &Li );
        renorm_poc_fx( &Rr, &Ri );
#endif

        specPOr[i] = L_add( Mpy_32_32_r( Lr, Rr ), Mpy_32_32_r( Li, Ri ) );
        move32();
@@ -609,11 +544,7 @@ static void calc_poc_fx(
    {
        tmp1 = Mpy_32_32_r( wnd[i * step + bias], gamma ); // Q31

#ifdef FIX_ISSUE_1764
        IF( GT_32( L_abs( specPOr[i] ), L_abs( specPOi[i] ) ) )
#else
        IF( W_mult0_32_32( L_sub( specPOr[i], specPOi[i] ), L_add( specPOr[i], specPOi[i] ) ) > 0 )
#endif
        {
            specPOr[i] = Mpy_32_16_1( tmp1, imult1616( sign_fx( specPOr[i] ), /*0.923880f*/ s[120 * mult_angle] ) ); /*  cos(PI/8)  Q31*/
            move32();
@@ -632,17 +563,9 @@ static void calc_poc_fx(
    FOR( ; i < end; i++ ) /* binary search from 16 angles */
    {
        tmp1 = Mpy_32_32_r( wnd[i * step + bias], gamma ); // Q31
#ifdef FIX_ISSUE_1764
        IF( GT_32( L_abs( specPOr[i] ), L_abs( specPOi[i] ) ) )
#else
        IF( W_mult0_32_32( L_sub( specPOr[i], specPOi[i] ), L_add( specPOr[i], specPOi[i] ) ) > 0 )
#endif
        {
#ifdef FIX_ISSUE_1764
            IF( GT_32( L_abs( Mpy_32_16_1( specPOr[i], 13573 /*0.414213f*/ ) ), L_abs( specPOi[i] ) ) ) /*tan(PI/8)*/
#else
            IF( W_mult0_32_32( L_sub( Mpy_32_16_1( specPOr[i], 13573 /*0.414213f*/ ), specPOi[i] ), L_add( Mpy_32_16_1( specPOr[i], 13573 /*0.414213f*/ ), specPOi[i] ) ) > 0 ) /*tan(PI/8)*/
#endif
            {
                specPOr[i] = Mpy_32_16_1( tmp1 /*0.980785f */, imult1616( sign_fx( specPOr[i] ), s[140 * mult_angle] ) ); /* cos(PI/16)  Q31*/
                move32();
@@ -659,11 +582,7 @@ static void calc_poc_fx(
        }
        ELSE
        {
#ifdef FIX_ISSUE_1764
            IF( GT_32( L_abs( specPOr[i] ), L_abs( Mpy_32_16_1( specPOi[i], 13573 /*0.414213f*/ ) ) ) ) /*tan(PI/8)*/
#else
            IF( W_mult0_32_32( L_sub( specPOr[i], Mpy_32_16_1( specPOi[i], 13573 /*0.414213f*/ ) ), L_add( specPOr[i], Mpy_32_16_1( specPOi[i], 13573 /*0.414213f*/ ) ) ) > 0 ) /*tan(PI/8)*/
#endif
            {
                specPOr[i] = Mpy_32_16_1( tmp1 /** 0.555570f*/, imult1616( sign_fx( specPOr[i] ), s[60 * mult_angle] ) ); /*cos(PI*5/16)  Q31*/
                move32();
@@ -758,11 +677,7 @@ static void calc_poc_fx(
                hPHA->pha_hys_cnt = 0;
                move16();
            }
#ifdef FIX_ISSUE_1764
            IF( GE_32( hPHA->pha_hys_cnt, STEREO_DMX_EVS_SWTCH_HYS_THRES ) )
#else
            if ( GE_32( hPHA->pha_hys_cnt, STEREO_DMX_EVS_SWTCH_HYS_THRES ) )
#endif
            {
                hPHA->curr_pha = STEREO_DMX_EVS_PHA_IPD;
                move32();
@@ -786,11 +701,7 @@ static void calc_poc_fx(
                hPHA->pha_hys_cnt = 0;
                move16();
            }
#ifdef FIX_ISSUE_1764
            IF( GE_16( hPHA->pha_hys_cnt, STEREO_DMX_EVS_SWTCH_HYS_THRES ) )
#else
            if ( GE_16( hPHA->pha_hys_cnt, STEREO_DMX_EVS_SWTCH_HYS_THRES ) )
#endif
            {
                hPHA->curr_pha = STEREO_DMX_EVS_PHA_IPD2;
                move32();
@@ -1685,11 +1596,6 @@ static Word32 find_poc_peak_fx(
    {
        Q_fx[i] = L_shr( Q_fx[i], negate( Q_e[i] ) ); // Q31
        move32();
#ifndef FIX_ISSUE_1764
    }
    FOR( i = 0; i < CPE_CHANNELS; i++ )
    {
#endif
        peakQ_fx[i] = L_shr( peakQ_fx[i], sub( 15, peakQ_e[i] ) ); // Q16
        move32();
    }
@@ -1889,7 +1795,6 @@ static Word32 spectral_flatness_fx(
    return L_shl_sat( L_deposit_h( sf ), L_tmp_e );
}

#ifdef FIX_ISSUE_1764
/*-------------------------------------------------------------------*
 * renorm_poc_fx()
 *
@@ -1913,7 +1818,6 @@ static void renorm_poc_fx(
        }
    }
}
#endif

/*-------------------------------------------------------------------*
 * calc_energy()
@@ -2435,11 +2339,7 @@ void stereo_dmx_evs_enc_fx(
                FOR( ( fx_tmp = 0, m = 0 ); m < pha_len; m++ )
                {
                    // ftmp += p_data_mem[n - m] * p_prev_taps[m];
#ifdef FIX_ISSUE_1764
                    fx_tmp = L_add( fx_tmp, Mpy_32_32( p_data_mem[n - m], p_prev_taps[m] ) ); // Q25
#else
                    fx_tmp = L_add( fx_tmp, Mpy_32_32( p_data_mem[sub( n, m )], p_prev_taps[m] ) ); // Q25
#endif
                }
                fx_tmp = L_shl( fx_tmp, 1 ); // Q26
                mem_prev[n] = L_add( mem_prev[n], Mpy_32_32( fx_tmp, INV_SQRT_2_Q31 ) );
@@ -2464,11 +2364,7 @@ void stereo_dmx_evs_enc_fx(
                FOR( ( fx_tmp = 0, m = 0 ); m < pha_len; m++ )
                {
                    // ftmp += p_data_mem[n - m] * p_curr_taps[m];
#ifdef FIX_ISSUE_1764
                    fx_tmp = L_add( fx_tmp, Mpy_32_32( p_data_mem[n - m], p_curr_taps[m] ) ); // Q25
#else
                    fx_tmp = L_add( fx_tmp, Mpy_32_32( p_data_mem[sub( n, m )], p_curr_taps[m] ) ); // Q25
#endif
                }
                fx_tmp = L_shl( fx_tmp, 1 ); // Q26
                // dmx_pha_data[n] += ftmp * INV_SQRT_2;
@@ -2514,11 +2410,7 @@ void stereo_dmx_evs_enc_fx(
                hPHA->prc_hys_cnt = 0;
                move16();
            }
#ifdef FIX_ISSUE_1764
            IF( GE_16( hPHA->prc_hys_cnt, STEREO_DMX_EVS_SWTCH_PRC_HYS_THRES ) )
#else
            if ( GE_16( hPHA->prc_hys_cnt, STEREO_DMX_EVS_SWTCH_PRC_HYS_THRES ) )
#endif
            {
                hPHA->curr_prc = STEREO_DMX_EVS_PRC_POC;
                move32();
@@ -2542,11 +2434,7 @@ void stereo_dmx_evs_enc_fx(
                move16();
            }

#ifdef FIX_ISSUE_1764
            IF( GE_16( hPHA->prc_hys_cnt, STEREO_DMX_EVS_SWTCH_PRC_HYS_THRES ) )
#else
            if ( GE_16( hPHA->prc_hys_cnt, STEREO_DMX_EVS_SWTCH_PRC_HYS_THRES ) )
#endif
            {
                hPHA->curr_prc = STEREO_DMX_EVS_PRC_PHA;
                move32();