Commit bca73a03 authored by vaillancour's avatar vaillancour
Browse files

cleanup

parent 7beda9d2
Loading
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -95,9 +95,8 @@
#define HARMONIZE_ACELP_ENC                             /* VA: basop issue 2400: Remove duplicated main ACELP encoder function */
#define FIX_2392_MSAN_DESTROY_DEC                       /* VA: basop issue 2392: fix MSAN in ivas_destroy_dec_fx() */

#define OPT_241x_ACELP_FAST                             /* before  0.32    1.338   4.291   2.524  total 107.916 -> 0.32    1.306   3.985   2.442*/
#define OPT_241x_ACELP_FAST_2
//#define OPT_241x_ACELP_FAST_3
#define OPT_241x_ACELP_FAST                             /* VA: basop issue 2426, optimisation of acelp_fast_fx ( reduc. compl. by 0.35 wmops ) */

/* #################### End BE switches ################################## */

/* #################### Start NON-BE switches ############################ */
+1 −33
Original line number Diff line number Diff line
@@ -321,16 +321,11 @@ void acelp_fast_fx(
    IF( s64 )
    {
        Word16 new_exp1 = W_norm( s64 );
#ifdef OPT_241x_ACELP_FAST_2
        dndn_fx = W_extract_h( W_shl( s64, new_exp1 ) ); // exp1 - 31
        dndn_e = sub( 63 - 1, new_exp1 );
#else
        dndn_fx = W_extract_h( W_shl( s64, new_exp1 ) ); // 2 * Q_dyn + exp1 - 31
#ifndef OPT_241x_ACELP_FAST
        dndn_e = sub( 31, sub( add( add( shl( Q_dn, 1 ), 1 ), new_exp1 ), 32 ) );
#else
        dndn_e = sub( 31, sub( add( add( shl( Q_dncn, 1 ), 1 ), new_exp1 ), 32 ) );
#endif
#endif
    }

@@ -356,16 +351,11 @@ void acelp_fast_fx(
        IF( s64 )
        {
            Word16 new_exp1 = W_norm( s64 );
#ifdef OPT_241x_ACELP_FAST_2
            cncn_track[q] = W_extract_h( W_shl( s64, new_exp1 ) ); //  exp1 - 31
            cncn_track_e[q] = sub( 63 - 1, new_exp1 );
#else
            cncn_track[q] = W_extract_h( W_shl( s64, new_exp1 ) ); // 2 * Q_dyn + exp1 - 31
#ifndef OPT_241x_ACELP_FAST
            cncn_track_e[q] = sub( 31, sub( add( add( shl( q_cn, 1 ), 1 ), new_exp1 ), 32 ) );
#else
            cncn_track_e[q] = sub( 31, sub( add( add( shl( Q_dncn, 1 ), 1 ), new_exp1 ), 32 ) );
#endif
#endif
        }
        cncn_fx = BASOP_Util_Add_Mant32Exp( cncn_fx, cncn_e, cncn_track[q], cncn_track_e[q], &cncn_e ); // Q(cncn_e)
@@ -503,7 +493,7 @@ void acelp_fast_fx(
        test();
        test();
        /* skip certain tracks if number of pulses is lower than number of tracks */
#ifdef OPT_241x_ACELP_FAST_3
#ifdef OPT_241x_ACELP_FAST /* Just need a negative number, it doesn't need to be scaled */
        IF( EQ_16( nb_pulse, 2 ) && EQ_16( nb_tracks, NB_TRACK_FCB_4T ) )
        {
            max_track[NB_TRACK_FCB_4T - 3] = L_deposit_l( -1 );
@@ -528,24 +518,14 @@ void acelp_fast_fx(
#else
        IF( EQ_16( nb_pulse, 2 ) && EQ_16( nb_tracks, NB_TRACK_FCB_4T ) )
        {
#ifndef OPT_241x_ACELP_FAST
            max_track[NB_TRACK_FCB_4T - 3] = L_shl( -1, Q_dn ); // Q_dn
            move32();
            max_track[NB_TRACK_FCB_4T - 1] = L_shl( -1, Q_dn ); // Q_dn
#else
            max_track[NB_TRACK_FCB_4T - 3] = L_shl( -1, Q_dncn ); // Q_dn
            move32();
            max_track[NB_TRACK_FCB_4T - 1] = L_shl( -1, Q_dncn ); // Q_dn
#endif
            move32();
        }
        ELSE IF( EQ_16( nb_pulse, 3 ) && EQ_16( codetrackpos, TRACKPOS_FIXED_FIRST ) )
        {
#ifndef OPT_241x_ACELP_FAST
            max_track[NB_TRACK_FCB_4T - 1] = L_shl( -1, Q_dn ); // Q_dn
#else
            max_track[NB_TRACK_FCB_4T - 1] = L_shl( -1, Q_dncn ); // Q_dn
#endif
            move32();
        }

@@ -554,11 +534,7 @@ void acelp_fast_fx(
            i = maximum_32_fx( max_track, nb_tracks, &L_tmp1 );
            track_order[q] = i;
            move16();
#ifndef OPT_241x_ACELP_FAST
            max_track[i] = L_shl( -1, Q_dn ); // Q_dn
#else
            max_track[i] = L_shl( -1, Q_dncn );                   // Q_dn
#endif
            move32();
        }
#endif
@@ -713,14 +689,10 @@ void acelp_fast_fx(
            }
            exp1 = W_norm( s64 );
            dndn_fx = W_extract_h( W_shl( s64, exp1 ) ); // 2 * Q_dyn + exp1 - 31
#ifdef OPT_241x_ACELP_FAST_2
            dndn_e = sub( 63 - 1, exp1 );
#else
#ifndef OPT_241x_ACELP_FAST
            dndn_e = sub( 31, sub( add( add( shl( Q_dn, 1 ), 1 ), exp1 ), 32 ) );
#else
            dndn_e = sub( 31, sub( add( add( shl( Q_dncn, 1 ), 1 ), exp1 ), 32 ) );
#endif
#endif
            IF( dndn_fx == 0 )
            {
@@ -1058,14 +1030,10 @@ void acelp_fast_fx(
        s64 = W_mult0_32_32( crit_num, crit_num ); // 2*Q_dn
        exp = W_norm( s64 );
        crit_num = W_extract_h( W_shl( s64, exp ) ); // 2*Q_dn + exp - 32
#ifdef OPT_241x_ACELP_FAST_2
        q_crit_num = sub( exp, 32 );
#else
#ifndef OPT_241x_ACELP_FAST
        q_crit_num = add( shl( Q_dn, 1 ), sub( exp, 32 ) );
#else
        q_crit_num = add( shl( Q_dncn, 1 ), sub( exp, 32 ) );
#endif
#endif
        // crit_den = sum2_fx( y_tmp, L_subfr );                          // 2*q_H
        s64 = 0;