Commit 1a8248dc authored by Sandesh Venkatesh's avatar Sandesh Venkatesh
Browse files

MSAN ASAN testing

parent d37854b4
Loading
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1306,7 +1306,7 @@ enum
#define MASA_COHERENCE_TOLERANCE                0.1f
#define MASA_COHERENCE_THRESHOLD                0.1f
#ifdef IVAS_FLOAT_FIXED
#define MASA_COHERENCE_TOLERANCE_FX             419430    // 0.1 in Q22
#define MASA_COHERENCE_TOLERANCE_FX             3277/*0.1 Q15*/
#define MASA_COHERENCE_THRESHOLD_FX             214748365 // 0.1 in Q31
#endif
#define MASA_RATIO_TOLERANCE                    0.1f
@@ -1314,7 +1314,7 @@ enum
#define MASA_ANGLE_TOLERANCE                    0.5f
#ifdef IVAS_FLOAT_FIXED
#define MASA_RATIO_THRESHOLD_FX                 214748365   // 0.1 in Q31
#define MASA_RATIO_TOLERANCE_FX                 419430      // 0.1 in Q22
#define MASA_RATIO_TOLERANCE_FX                 214748364/*0.1 Q30*/
#define MASA_ANGLE_TOLERANCE_FX                 ONE_IN_Q21  // 0.5 in Q22
#endif
#define MASA_LIMIT_NO_BANDS_SUR_COH             8
+4 −0
Original line number Diff line number Diff line
@@ -387,6 +387,10 @@ ivas_error ivas_FB_mixer_open_fx(
        move16();
    }

#ifdef MSAN_FIX
    set16_fx( hFbMixer->q_ppFilterbank_prior_input_fx, 0, IVAS_MAX_FB_MIXER_IN_CH );
#endif

    test();
    IF( ( NE_16( fb_cfg->active_w_mixing, -1 ) ) && ( fb_cfg->num_out_chans > 0 ) )
    {
+33 −13
Original line number Diff line number Diff line
@@ -1201,18 +1201,24 @@ static void ivas_get_pred_coeffs_enc_fx(
                move32();
                dm_v_re_q[i][b] = sub( add( add( dm_v_re_q[i][b], DM_F_q[b] ), tmp_shift ), 32 );
                move16();
                if ( ppDM_Fv_re[i][b] == 0 )
                {
                    dm_v_re_q[i][b] = Q31;
                    move16();
                }
                // if ( ppDM_Fv_re[i][b] == 0 )
                //{
                //     dm_v_re_q[i][b] = Q31;
                //     move16();
                // }

                IF( ppPred_coeffs_re[i][b] )
                {
                    *q_pred_coeffs = s_min( *q_pred_coeffs, q_ppPred_coeffs_re[i][b] );
                    move16();
                }
                IF( ppDM_Fv_re[i][b] )
                {
                    *q_dm_fv_re = s_min( *q_dm_fv_re, dm_v_re_q[i][b] );
                    move16();
                }
            }
        }
        FOR( i = 0; i < pred_dim; i++ )
        {
            FOR( b = start_band; b < end_band; b++ )
@@ -1772,7 +1778,7 @@ static void ivas_get_Wscaling_factor_enc_fx(
        test();
        IF( EQ_16( active_w, 1 ) && ( dyn_active_w_flag == 0 ) )
        {
            Word16 guard_bits, q_Gw_sq, q_g_sq, q_min, tmp_exp;
            Word16 shift, guard_bits, q_Gw_sq, q_g_sq, q_min, tmp_exp;
            Word32 Gw_sq, g_sq, tmp;

            g_sq = 0;
@@ -1786,14 +1792,28 @@ static void ivas_get_Wscaling_factor_enc_fx(
            Gw_sq = BASOP_Util_Divide3232_Scale( cov_real[0][0][b], L_max( postpred_cov_re[0][0], IVAS_FIX_EPS ), &tmp_exp ); // 15-(tmp_exp-(q_cov_real[0][0][b]- q_postpred_cov_re))
            q_Gw_sq = add( sub( 15, tmp_exp ), sub( q_cov_real[0][0][b], q_postpred_cov_re ) );

            guard_bits = find_guarded_bits_fx( num_ch );
            shift = MAX16B;
            move16();

            FOR( ch = 0; ch < sub( num_ch, 1 ); ch++ )
            FOR( ch = 0; ch < ( num_ch - 1 ); ch++ )
            {
                IF( pred_coeffs_re[ch][b] != 0 )
                {
                    shift = s_min( shift, norm_l( pred_coeffs_re[ch][b] ) );
                }
            }
            guard_bits = find_guarded_bits_fx( num_ch );
            if ( EQ_16( shift, MAX16B ) )
            {
                abs_val = L_shr( Mpy_32_32( pred_coeffs_re[ch][b], pred_coeffs_re[ch][b] ), guard_bits ); // q=2*q_pred_coeffs_re-guard_bits-31
                shift = 0;
                move16();
            }
            FOR( ch = 0; ch < ( num_ch - 1 ); ch++ )
            {
                abs_val = L_shr( Mpy_32_32( L_shl( pred_coeffs_re[ch][b], shift ), L_shl( pred_coeffs_re[ch][b], shift ) ), guard_bits ); // q=2*q_pred_coeffs_re-guard_bits-31
                g_sq = L_add( g_sq, abs_val );                                                                                            // q=2*q_pred_coeffs_re-guard_bits-31
            }
            q_g_sq = sub( add( q_pred_coeffs_re, q_pred_coeffs_re ), add( 31, guard_bits ) );
            q_g_sq = sub( shl( add( q_pred_coeffs_re, shift ), 1 ), add( 31, guard_bits ) );

            tmp = Mpy_32_32( ONE_IN_Q30 /*4 in Q28*/, Mpy_32_32( dm_f_local, g_sq ) ); // q_g_sq+28-31
            q_tmp = sub( q_g_sq, 3 );
+4 −0
Original line number Diff line number Diff line
@@ -515,6 +515,10 @@ ivas_error acelp_core_enc(
         * Configure ACELP bit allocation
         *-----------------------------------------------------------------*/

        Word16 temp = getScaleFactor16( st->hGSCEnc->last_exc_dct_in_fx, L_FRAME16k );
        Scale_sig( st->hGSCEnc->last_exc_dct_in_fx, L_FRAME16k, temp );
        st->hGSCEnc->Q_last_exc_dct_in = add( st->hGSCEnc->Q_last_exc_dct_in, temp );
        move16();
        nb_bits = 0;
        move16();
        st->acelp_cfg.FEC_mode = 0;
+1 −1
Original line number Diff line number Diff line
@@ -692,7 +692,7 @@ void ivas_analy_sp_fx_front(
        move32();
        /* tmp = (input[i] + input[i+Len]+0.001f)/2.0f */
        // Ltmp = L_max( L_shr( 21474, sub( Q31, add( Q_new, QSCALE ) ) ), L_add( L_shr( Bin_E[i], 1 ), L_shr( Bin_E[i + L_FFT / 2], 1 ) ) );
        Ltmp = L_shr( L_add( Bin_E[i], Bin_E[i + L_FFT / 2] ), 1 ); // average
        Ltmp = L_add( L_shr( Bin_E[i], 1 ), L_shr( Bin_E[i + L_FFT / 2], 1 ) ); // average
        if ( Ltmp == 0 )
        {
            // Ltmp = L_min( L_shr( 21474, sub( Q31, add( Q_new, QSCALE - 2 ) ) ), 1 );
Loading