Loading lib_com/swb_tbe_com_fx.c +28 −17 Original line number Diff line number Diff line Loading @@ -6935,10 +6935,7 @@ void synthesise_fb_high_band_fx( Word32 temp1; Word32 ratio2; Word32 L_tmp; Word16 tmp3, tmp1, tmp2, exp, exp2, exp_tmp, sft, t_Q /* to store temporary Q for computations */; Word64 P_ONE = 33; /* 0.001f in Q15 */ move64(); Word64 W_temp; Word16 tmp3, tmp1, tmp2, exp, exp2, exp_tmp; /* Interpolate the white energy shaped gaussian excitation from 16 kHz to 48 kHz with zeros */ j = 0; Loading Loading @@ -6988,6 +6985,19 @@ void synthesise_fb_high_band_fx( /* temp1 = sum2_f( tmp, L_FRAME48k ) + 0.001f */ temp1 = sum2_fx_mod( tmp, L_FRAME48k ); L_tmp = L_max( 1, fb_exc_energy ); /*Q(2*Q_fb_exc + 1)*/ exp = norm_l( L_tmp ); tmp3 = extract_h( L_shl( L_tmp, exp ) ); tmp1 = sub( add( Q_fb_exc, Q_fb_exc ), 8 ); /* 1-9*/ exp = sub( sub( 31, tmp1 ), exp ); IF( element_mode != EVS_MONO ) { Word16 sft, t_Q; Word64 P_ONE = 33; /* 0.001f in Q15 */ move64(); Word64 W_temp; t_Q = sub( shl( exp_tmp, 1 ), 8 ); P_ONE = W_shl( P_ONE, sub( t_Q, 15 ) ); Loading @@ -6999,14 +7009,15 @@ void synthesise_fb_high_band_fx( temp1 = W_extract_h( W_temp ); t_Q = sub( add( t_Q, sft ), 32 ); L_tmp = L_max( 1, fb_exc_energy ); /*Q(2*Q_fb_exc + 1)*/ exp = norm_l( L_tmp ); tmp3 = extract_h( L_shl( L_tmp, exp ) ); tmp1 = sub( add( Q_fb_exc, Q_fb_exc ), 8 ); /* 1-9*/ exp = sub( sub( 31, tmp1 ), exp ); tmp2 = extract_h( temp1 ); exp2 = sub( 31, t_Q ); } ELSE { exp2 = norm_l( temp1 ); tmp2 = extract_h( L_shl( temp1, exp2 ) ); exp2 = sub( sub( 31, sub( shl( exp_tmp, 1 ), 8 ) ), exp2 ); /* in Q15 (temp1 in Q9)*/ } exp = sub( exp2, exp ); /* Denormalize and substract */ IF( GT_16( tmp2, tmp3 ) ) Loading Loading
lib_com/swb_tbe_com_fx.c +28 −17 Original line number Diff line number Diff line Loading @@ -6935,10 +6935,7 @@ void synthesise_fb_high_band_fx( Word32 temp1; Word32 ratio2; Word32 L_tmp; Word16 tmp3, tmp1, tmp2, exp, exp2, exp_tmp, sft, t_Q /* to store temporary Q for computations */; Word64 P_ONE = 33; /* 0.001f in Q15 */ move64(); Word64 W_temp; Word16 tmp3, tmp1, tmp2, exp, exp2, exp_tmp; /* Interpolate the white energy shaped gaussian excitation from 16 kHz to 48 kHz with zeros */ j = 0; Loading Loading @@ -6988,6 +6985,19 @@ void synthesise_fb_high_band_fx( /* temp1 = sum2_f( tmp, L_FRAME48k ) + 0.001f */ temp1 = sum2_fx_mod( tmp, L_FRAME48k ); L_tmp = L_max( 1, fb_exc_energy ); /*Q(2*Q_fb_exc + 1)*/ exp = norm_l( L_tmp ); tmp3 = extract_h( L_shl( L_tmp, exp ) ); tmp1 = sub( add( Q_fb_exc, Q_fb_exc ), 8 ); /* 1-9*/ exp = sub( sub( 31, tmp1 ), exp ); IF( element_mode != EVS_MONO ) { Word16 sft, t_Q; Word64 P_ONE = 33; /* 0.001f in Q15 */ move64(); Word64 W_temp; t_Q = sub( shl( exp_tmp, 1 ), 8 ); P_ONE = W_shl( P_ONE, sub( t_Q, 15 ) ); Loading @@ -6999,14 +7009,15 @@ void synthesise_fb_high_band_fx( temp1 = W_extract_h( W_temp ); t_Q = sub( add( t_Q, sft ), 32 ); L_tmp = L_max( 1, fb_exc_energy ); /*Q(2*Q_fb_exc + 1)*/ exp = norm_l( L_tmp ); tmp3 = extract_h( L_shl( L_tmp, exp ) ); tmp1 = sub( add( Q_fb_exc, Q_fb_exc ), 8 ); /* 1-9*/ exp = sub( sub( 31, tmp1 ), exp ); tmp2 = extract_h( temp1 ); exp2 = sub( 31, t_Q ); } ELSE { exp2 = norm_l( temp1 ); tmp2 = extract_h( L_shl( temp1, exp2 ) ); exp2 = sub( sub( 31, sub( shl( exp_tmp, 1 ), 8 ) ), exp2 ); /* in Q15 (temp1 in Q9)*/ } exp = sub( exp2, exp ); /* Denormalize and substract */ IF( GT_16( tmp2, tmp3 ) ) Loading