Commit c5dc2f09 authored by Sandesh Venkatesh's avatar Sandesh Venkatesh
Browse files

Merge branch 'float_cleanup_basop_instrumentation_837_842_fix' into 'main'

Float code cleanup, BASOP/instrumentation addition, Issue 837, 842 fix

See merge request !519
parents 9947e059 7437868e
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -110,7 +110,7 @@ void hq2_noise_inject_fx(
    test();
    test();
    test();
    IF( ( EQ_16( hqswb_clas, HQ_HARMONIC ) || EQ_16( hqswb_clas, HQ_NORMAL ) ) && ( EQ_32( bwe_br, HQ_16k40 ) || EQ_32( bwe_br, HQ_13k20 ) ) && EQ_16( bwidth, SWB ) )
    IF( ( EQ_16( hqswb_clas, HQ_HARMONIC ) || hqswb_clas == HQ_NORMAL ) && ( EQ_32( bwe_br, HQ_16k40 ) || EQ_32( bwe_br, HQ_13k20 ) ) && EQ_16( bwidth, SWB ) )
    {
        sb = 17;
        move16();
@@ -608,6 +608,8 @@ void hq2_noise_inject_fx(
        IF( EQ_16( k, max_pos_pulse ) && add( sub( k, bands ), p2a_bands ) < 0 && NE_16( satur, 1 ) && NE_16( bwidth, SWB ) )
        {
            j = 0;
            move16();

            Q_speech = norm_l( ni_gain_fx[k] );
            tmp = extract_h( L_shl( ni_gain_fx[k], Q_speech ) ); /*Q(Q_speech+1) */
            IF( tmp != 0 )
@@ -654,6 +656,8 @@ void hq2_noise_inject_fx(
                    {
                        tmp = 0x7fff;
                        Q_speech = 0;
                        move16();
                        move16();
                    }
                    tmp1 = sub( fac_fx, 4096 );       /*Q12 */
                    L_tmp = L_mult( tmp1, j );        /*Q13 */
+3 −0
Original line number Diff line number Diff line
@@ -279,15 +279,18 @@ void hq_bit_allocation_fx(
        IF( EQ_32( core_brate, HQ_32k ) )
        {
            *num_bits = sub( *num_bits, HQ_GENERIC_SWB_NBITS2 );
            move16();
        }
        ELSE
        {
            *num_bits = sub( *num_bits, HQ_GENERIC_SWB_NBITS );
            move16();
        }

        if ( EQ_16( hqswb_clas, HQ_GEN_FB ) )
        {
            *num_bits = sub( *num_bits, HQ_GENERIC_FB_NBITS );
            move16();
        }
    }

+3 −1
Original line number Diff line number Diff line
@@ -406,6 +406,7 @@ void hq_configure_fx(
                *nb_sfm = HVQ_THRES_SFM_24k;
                move16();
                *num_env_bands = sub( *num_sfm, *nb_sfm );
                move16();

                *start_norm = HVQ_THRES_SFM_24k;
                move16();
@@ -417,6 +418,7 @@ void hq_configure_fx(
                *nb_sfm = HVQ_THRES_SFM_32k;
                move16();
                *num_env_bands = sub( *num_sfm, *nb_sfm );
                move16();

                *start_norm = HVQ_THRES_SFM_32k;
                move16();
@@ -534,7 +536,7 @@ void hq_configure_fx(
        move16();
        move16();
    }
    else
    ELSE
    {
        Copy( p_sfmsize, sfmsize, *num_sfm );
        Copy( p_sfm_start, sfm_start, *num_sfm );
+6 −1
Original line number Diff line number Diff line
@@ -169,6 +169,7 @@ void ivas_hq_configure_fx(
                *nb_sfm = HVQ_THRES_SFM_24k;
                move16();
                *num_env_bands = sub( *num_sfm, *nb_sfm );
                move16();

                *start_norm = HVQ_THRES_SFM_24k;
                move16();
@@ -180,6 +181,7 @@ void ivas_hq_configure_fx(
                *nb_sfm = HVQ_THRES_SFM_32k;
                move16();
                *num_env_bands = sub( *num_sfm, *nb_sfm );
                move16();

                *start_norm = HVQ_THRES_SFM_32k;
                move16();
@@ -332,6 +334,7 @@ void hq_configure_evs_fx(
    Word16 i, bw_ext;

    bw_ext = 0;
    move16();

    *start_norm = 0;
    move16();
@@ -465,6 +468,7 @@ void hq_configure_evs_fx(
                *nb_sfm = HVQ_THRES_SFM_24k;
                move16();
                *num_env_bands = sub( *num_sfm, *nb_sfm );
                move16();

                *start_norm = HVQ_THRES_SFM_24k;
                move16();
@@ -476,6 +480,7 @@ void hq_configure_evs_fx(
                *nb_sfm = HVQ_THRES_SFM_32k;
                move16();
                *num_env_bands = sub( *num_sfm, *nb_sfm );
                move16();

                *start_norm = HVQ_THRES_SFM_32k;
                move16();
@@ -593,7 +598,7 @@ void hq_configure_evs_fx(
        move16();
        move16();
    }
    else
    ELSE
    {
        Copy( p_sfmsize, sfmsize, *num_sfm );
        Copy( p_sfm_start, sfm_start, *num_sfm );
+10 −7
Original line number Diff line number Diff line
@@ -410,7 +410,6 @@ void apply_noisefill_HQ_fx(
    Word32 L_E_cb_vec;
    Word32 L_E_corr;

    test();
    test();
    IF( ( GE_16( length, L_FRAME32k ) ) || ( NE_32( L_core_brate, HQ_32k ) ) )
    {
@@ -864,7 +863,7 @@ void ivas_harm_bwe_fx(

    FOR( sfm = 0; sfm <= last_sfm; sfm++ )
    {
        IF( EQ_16( R[sfm], 0 ) )
        IF( R[sfm] == 0 )
        {
            normq = dicn_fx[norm[sfm]]; /*Q14  */
            move16();
@@ -1309,7 +1308,7 @@ void hvq_bwe_fx(
        }
        power_shift = shl( shift, 1 );

        L_E = L_shr( L_E, sub( power_shift, 28 - 2 * qin ) ); /* Q28 */
        L_E = L_shr( L_E, sub( power_shift, sub( 28, shl( qin, 1 ) ) ) ); /* Q28 */

        /* E_L = (float)sqrt((sfm_end[norm_ind+1] - sfm_start[norm_ind])/E_L); */
        L_E = Mult_32_16( L_E, inv_tbl_fx[band_size] ); /* Q28 (28+15+1-16) */
@@ -1623,14 +1622,14 @@ void noise_mix_fx(
        IF( L_tmp0 != 0 )
        {
            /* Normalize with 1 bit headroom for addition */
            tmp = 30 - ( qin + 2 ); /* Assuming fixed Q values */
            tmp = sub( 30, add( qin, 2 ) ); /* Assuming fixed Q values */
            tmp = s_min( norm_l( L_tmp0 ), tmp );
            tmp = sub( tmp, 1 );

            L_tmp0 = L_add( L_shl( L_tmp0, tmp ), L_deposit_l( lshr( lsb, sub( 16, tmp ) ) ) );                      /* Qin+2+tmp */
            L_tmp0 = L_add( L_tmp0, L_shr( L_mult0( noise_level, Random( seed ) ), sub( 30 - ( qin + 2 ), tmp ) ) ); /* Qin+2+tmp */

            tmp = round_fx( L_shl( L_tmp0, 27 - ( qin + 2 ) - tmp ) ); /* Q11 (Qin+2+tmp+27-qin-2-tmp-16) */
            tmp = round_fx( L_shl( L_tmp0, sub( sub( 27, add( qin, 2 ) ), tmp ) ) ); /* Q11 (Qin+2+tmp+27-qin-2-tmp-16) */
            Mpy_32_16_ss( L_normq, tmp, &L_tmp0, &lsb );                             /* Q10 (14+11+1-16) */
            L_coeff_out[i] = L_add( L_shl( L_tmp0, qout - 10 ), L_deposit_l( lshr( lsb, 10 + 16 - qout ) ) );
            move32(); /* Qout (10+qout-10) */
@@ -2000,7 +1999,7 @@ Word16 calc_nor_delta_hf_fx(
                    delta = max_delta;
                    move16();
                }
                ELSE if ( LT_16( delta, min_delta ) )
                ELSE IF( LT_16( delta, min_delta ) )
                {
                    delta = min_delta;
                    move16();
@@ -2103,6 +2102,9 @@ void hq_wb_nf_bwe_fx(
        /* the variance of bit allocation */
        total_bit = 0;
        bitalloc_var_fx = 0;
        move16();
        move16();

        FOR( sfm = 8; sfm <= last_sfm; sfm++ )
        {
            tmp = abs_s( sub( R[sfm], R[sub( sfm, 1 )] ) );
@@ -2125,6 +2127,7 @@ void hq_wb_nf_bwe_fx(
        ELSE
        {
            bitalloc_var_fx = 0; /*Q14 */
            move16();
        }
        /* calculate the peak-average ratio of saturable subbands */
        num = 0;
Loading