Commit 932c3f55 authored by Fabian Bauer's avatar Fabian Bauer
Browse files

add FIX_1439_SPEEDUP_ivas_swb_tbe_dec_fx

parent e430720c
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -84,5 +84,6 @@
// new speedups
#define FIX_1439_SPEEDUP_Copy_Scale_sig_16_32_no_sat            /*FhG: reduces WMOPS - bit-exact*/ //   |
#define FIX_1439_SPEEDUP_stereo_icBWE_dec_fx                    /*FhG: reduces WMOPS - bit-exact*/ //   |
#define FIX_1439_SPEEDUP_ivas_swb_tbe_dec_fx                    /*FhG: reduces WMOPS - bit-exact*/ //   |

#endif
+10 −0
Original line number Diff line number Diff line
@@ -7022,14 +7022,24 @@ void ivas_swb_tbe_dec_fx(

            tmp1 = 0;
            move16();

#ifdef FIX_1439_SPEEDUP_ivas_swb_tbe_dec_fx
            Word32 idx32 = L_shr_r( 0x00333333, 10 ); /*NUM_SHB_SUBFR/L_FRAME16k*/ // Q16
#endif

            FOR( i = 0; i < L_FRAME16k; i++ )
            {
#ifndef FIX_1439_SPEEDUP_ivas_swb_tbe_dec_fx
                Word16 idx = 0;
                move16();
                IF( i != 0 )
                {
                    idx = idiv1616( i_mult( NUM_SHB_SUBFR, i ), L_FRAME16k );
                }
#else
                Word16 idx;
                idx = extract_h( imult3216( idx32, i ) ); /*Q0*/
#endif
                L_tmp1 = Mult_32_16( L_tmp, GainShape_fx[idx] );                           /* Q : 18 + tmp +15 -15*/
                White_exc16k_fx[i] = round_fx( Mult_32_16( L_tmp1, White_exc16k_fx[i] ) ); /* 18 + tmp +*Q_white_exc -15 -16 */
                move16();