Loading lib_com/ari_hm.c +2 −1 Original line number Diff line number Diff line Loading @@ -272,7 +272,7 @@ void tcx_hm_modify_envelope( const int16_t L_frame /* i : number of spectral lines */ ) { int32_t h, x, k; int32_t k, h, x; Word16 inv_shape[2 * kTcxHmParabolaHalfWidth + 1]; /* Q15 */ if ( gain == 0 ) Loading @@ -290,6 +290,7 @@ void tcx_hm_modify_envelope( while ( k <= L_frame + kTcxHmParabolaHalfWidth - 1 ) { for ( x = max( 0, k - kTcxHmParabolaHalfWidth ); x <= min( k + kTcxHmParabolaHalfWidth, L_frame - 1 ); ++x ) { env[x] = Mpy_32_16( env[x], inv_shape[x - k + kTcxHmParabolaHalfWidth] ); Loading lib_com/arith_coder.c +0 −23 Original line number Diff line number Diff line Loading @@ -243,10 +243,7 @@ void tcx_arith_scale_envelope( Word16 statesi, bits; Word32 mean, a, s, L_tmp; Word16 mean_e, tmp, tmp2; #ifdef BASOP_NOGLOB Flag Overflow; #endif /* BASOP_NOGLOB */ lob_bits = 0; move16(); Loading @@ -271,11 +268,7 @@ void tcx_arith_scale_envelope( tmp = norm_l( env[k] ); tmp2 = sub( 15, tmp ); #ifndef BASOP_NOGLOB tmp = Inv16( round_fx( L_shl( env[k], tmp ) ), &tmp2 ); #else /* BASOP_NOGLOB */ tmp = Inv16( round_fx_o( L_shl( env[k], tmp ), &Overflow ), &tmp2 ); #endif /* BASOP_NOGLOB */ ienv[k] = L_shl( L_deposit_h( tmp ), sub( tmp2, 15 ) ); /* Q16 */ move32(); mean = L_add( mean, ienv[k] ); Loading Loading @@ -309,11 +302,7 @@ void tcx_arith_scale_envelope( b_e = add( b_e, mean_e ); /* scale = (-b + sqrtf(b*b - 4.0f*a*0.035f)) / (2.0f * a); */ #ifndef BASOP_NOGLOB tmp = round_fx( BASOP_Util_Add_Mant32Exp( L_mult( b, b ), shl( b_e, 1 ), Mpy_32_16( a, FL2WORD16( -4.0f * 0.035f ) ), a_e, &tmp2 ) ); #else tmp = round_fx_o( BASOP_Util_Add_Mant32Exp( L_mult( b, b ), shl( b_e, 1 ), Mpy_32_16( a, FL2WORD16( -4.0f * 0.035f ) ), a_e, &tmp2 ), &Overflow ); #endif IF( tmp <= 0 ) { Loading @@ -332,11 +321,7 @@ void tcx_arith_scale_envelope( tmp2 = BASOP_Util_Add_MantExp( negate( b ), b_e, tmp, tmp2, &scale ); scale = BASOP_Util_Divide1616_Scale( scale, round_fx( a ), &tmp ); #ifndef BASOP_NOGLOB scale = shl( scale, sub( sub( add( tmp, tmp2 ), a_e ), 1 ) ); /* Q15 */ #else scale = shl_o( scale, sub( sub( add( tmp, tmp2 ), a_e ), 1 ), &Overflow ); /* Q15 */ #endif /* iscale = 1.0f / scale; */ iscale_e = 0; Loading Loading @@ -385,11 +370,7 @@ void tcx_arith_scale_envelope( L_tmp = L_add( L_tmp, L_shl( Mpy_32_16( env[k], mult_r( FL2WORD16( 0.035f ), iscale ) ), iscale_e ) ); tmp = norm_l( L_tmp ); #ifndef BASOP_NOGLOB statesi = mult_r( statesi, round_fx( L_shl( L_tmp, tmp ) ) ); #else /* BASOP_NOGLOB */ statesi = mult_r( statesi, round_fx_o( L_shl( L_tmp, tmp ), &Overflow ) ); #endif /* BASOP_NOGLOB */ bits = add( bits, sub( 15, tmp ) ); tmp = norm_s( statesi ); Loading Loading @@ -489,11 +470,7 @@ void tcx_arith_scale_envelope( *s_env_e = sub( add( 15, iscale_e ), tmp ); move16(); BASOP_SATURATE_WARNING_OFF; #ifndef BASOP_NOGLOB a = L_shl( 1265000, sub( 15, *s_env_e ) ); #else /* BASOP_NOGLOB */ a = L_shl_o( 1265000, sub( 15, *s_env_e ), &Overflow ); #endif /* BASOP_NOGLOB */ BASOP_SATURATE_WARNING_ON; FOR( k = 0; k < L_frame; k++ ) Loading lib_com/basop32.c +0 −239 File changed.Preview size limit exceeded, changes collapsed. Show changes lib_com/basop32.h +31 −107 Original line number Diff line number Diff line Loading @@ -86,17 +86,12 @@ | Constants and Globals | |___________________________________________________________________________| */ #ifndef BASOP_NOGLOB extern Flag Overflow, Overflow2; extern Flag Carry; #else /* BASOP_NOGLOB */ /* DISABLED TO AVOID GLOBAL VARIABLES */ /* extern Flag BASOP_Overflow, BASOP_Overflow2; extern Flag BASOP_Carry; */ #endif /* BASOP_NOGLOB */ #define BASOP_SATURATE_WARNING_ON #define BASOP_SATURATE_WARNING_OFF #define BASOP_SATURATE_ERROR_ON Loading @@ -116,23 +111,7 @@ extern Flag BASOP_Carry; |___________________________________________________________________________| */ #ifndef BASOP_NOGLOB Word16 add( Word16 var1, Word16 var2 ); /* Short add, 1 */ Word16 sub( Word16 var1, Word16 var2 ); /* Short sub, 1 */ Word16 abs_s( Word16 var1 ); /* Short abs, 1 */ Word16 shl( Word16 var1, Word16 var2 ); /* Short shift left, 1 */ Word16 shr( Word16 var1, Word16 var2 ); /* Short shift right, 1 */ Word16 mult( Word16 var1, Word16 var2 ); /* Short mult, 1 */ Word32 L_mult( Word16 var1, Word16 var2 ); /* Long mult, 1 */ Word16 negate( Word16 var1 ); /* Short negate, 1 */ Word16 extract_h( Word32 L_var1 ); /* Extract high, 1 */ Word16 extract_l( Word32 L_var1 ); /* Extract low, 1 */ Word16 round_fx( Word32 L_var1 ); /* Round, 1 */ Word32 L_mac( Word32 L_var3, Word16 var1, Word16 var2 ); /* Mac, 1 */ Word32 L_msu( Word32 L_var3, Word16 var1, Word16 var2 ); /* Msu, 1 */ Word32 L_macNs( Word32 L_var3, Word16 var1, Word16 var2 ); /* Mac without sat, 1 */ #else /* BASOP_NOGLOB */ Word16 add( Word16 var1, Word16 var2 ); /* Short add, 1 */ Word16 sub( Word16 var1, Word16 var2 ); /* Short sub, 1 */ Word16 abs_s( Word16 var1 ); /* Short abs, 1 */ Loading @@ -146,29 +125,10 @@ Word16 extract_l( Word32 L_var1 ); /* Word16 round_fx( Word32 L_var1 ); /* Round, 1 */ Word32 L_mac( Word32 L_var3, Word16 var1, Word16 var2 ); /* Mac, 1 */ Word32 L_msu( Word32 L_var3, Word16 var1, Word16 var2 ); /* Msu, 1 */ Word32 DEPR_L_macNs( Word32 L_var3, Word16 var1, Word16 var2, Flag *Carry ); /* Mac without sat, 1 */ #endif /* BASOP_NOGLOB */ #ifndef BASOP_NOGLOB Word32 L_msuNs( Word32 L_var3, Word16 var1, Word16 var2 ); /* Msu without sat, 1 */ #else /* BASOP_NOGLOB */ Word32 DEPR_L_msuNs( Word32 L_var3, Word16 var1, Word16 var2, Flag *Carry ); /* Msu without sat, 1 */ #endif /* BASOP_NOGLOB */ #ifndef BASOP_NOGLOB Word32 L_add( Word32 L_var1, Word32 L_var2 ); /* Long add, 1 */ Word32 L_sub( Word32 L_var1, Word32 L_var2 ); /* Long sub, 1 */ Word32 L_add_c( Word32 L_var1, Word32 L_var2 ); /* Long add with c, 2 */ Word32 L_sub_c( Word32 L_var1, Word32 L_var2 ); /* Long sub with c, 2 */ Word32 L_negate( Word32 L_var1 ); /* Long negate, 1 */ Word16 mult_r( Word16 var1, Word16 var2 ); /* Mult with round, 1 */ Word32 L_shl( Word32 L_var1, Word16 var2 ); /* Long shift left, 1 */ Word32 L_shr( Word32 L_var1, Word16 var2 ); /* Long shift right, 1 */ Word16 shr_r( Word16 var1, Word16 var2 ); /* Shift right with round, 2 */ #else /* BASOP_NOGLOB */ Word32 DEPR_L_macNs( Word32 L_var3, Word16 var1, Word16 var2, Flag *Carry ); /* Mac without sat, 1 */ Word32 DEPR_L_msuNs( Word32 L_var3, Word16 var1, Word16 var2, Flag *Carry ); /* Msu without sat, 1 */ Word32 L_add( Word32 L_var1, Word32 L_var2 ); /* Long add, 1 */ Word32 L_sub( Word32 L_var1, Word32 L_var2 ); /* Long sub, 1 */ Word32 DEPR_L_add_c( Word32 L_var1, Word32 L_var2, Flag *Carry ); /* Long add with c, 2 */ Loading @@ -179,64 +139,30 @@ Word32 L_shl( Word32 L_var1, Word16 var2 ); /* Word32 L_shr( Word32 L_var1, Word16 var2 ); /* Long shift right, 1 */ Word16 shr_r( Word16 var1, Word16 var2 ); /* Shift right with round, 2 */ #endif /* BASOP_NOGLOB */ #ifndef BASOP_NOGLOB Word16 mac_r( Word32 L_var3, Word16 var1, Word16 var2 ); /* Mac with rounding, 1 */ #else /* BASOP_NOGLOB */ Word16 mac_r( Word32 L_var3, Word16 var1, Word16 var2 ); /* Mac with rounding, 1 */ #endif /* BASOP_NOGLOB */ #ifndef BASOP_NOGLOB Word16 msu_r( Word32 L_var3, Word16 var1, Word16 var2 ); /* Msu with rounding, 1 */ #else /* BASOP_NOGLOB */ Word16 msu_r( Word32 L_var3, Word16 var1, Word16 var2 ); /* Msu with rounding, 1 */ #endif /* BASOP_NOGLOB */ #ifndef BASOP_NOGLOB Word32 L_deposit_h( Word16 var1 ); /* 16 bit var1 -> MSB, 1 */ Word32 L_deposit_l( Word16 var1 ); /* 16 bit var1 -> LSB, 1 */ #else /* BASOP_NOGLOB */ Word32 L_deposit_h( Word16 var1 ); /* 16 bit var1 -> MSB, 1 */ Word32 L_deposit_l( Word16 var1 ); /* 16 bit var1 -> LSB, 1 */ #endif /* BASOP_NOGLOB */ #ifndef BASOP_NOGLOB Word32 L_shr_r( Word32 L_var1, Word16 var2 ); /* Long shift right with round, 3 */ #else /* BASOP_NOGLOB */ Word32 L_shr_r( Word32 L_var1, Word16 var2 ); /* Long shift right with round, 3 */ #endif /* BASOP_NOGLOB */ #ifndef BASOP_NOGLOB Word32 L_abs( Word32 L_var1 ); /* Long abs, 1 */ Word32 L_sat( Word32 L_var1 ); /* Long saturation, 4 */ Word16 norm_s( Word16 var1 ); /* Short norm, 1 */ Word16 div_s( Word16 var1, Word16 var2 ); /* Short division, 18 */ Word16 norm_l( Word32 L_var1 ); /* Long norm, 1 */ #else /* BASOP_NOGLOB */ Word32 L_abs( Word32 L_var1 ); /* Long abs, 1 */ Word32 DEPR_L_sat_co( Word32 L_var1, Flag Overflow, Flag Carry ); /* Long saturation, 4 */ Word16 norm_s( Word16 var1 ); /* Short norm, 1 */ Word16 div_s( Word16 var1, Word16 var2 ); /* Short division, 18 */ Word16 norm_l( Word32 L_var1 ); /* Long norm, 1 */ #endif /* BASOP_NOGLOB */ /* * Additional G.723.1 operators */ #ifndef BASOP_NOGLOB Word32 L_mls( Word32, Word16 ); /* Weight FFS; currently assigned 5 */ Word16 div_l( Word32, Word16 ); /* Weight FFS; currently assigned 32 */ Word16 i_mult( Word16 a, Word16 b ); /* Weight FFS; currently assigned 3 */ #else /* BASOP_NOGLOB */ Word32 L_mls( Word32, Word16 ); /* Weight FFS; currently assigned 5 */ Word16 div_l( Word32, Word16 ); /* Weight FFS; currently assigned 32 */ Word16 DEPR_i_mult( Word16 a, Word16 b ); /* Weight FFS; currently assigned 3 */ #endif /* BASOP_NOGLOB */ /* * New shiftless operators, not used in G.729/G.723.1 Loading @@ -244,7 +170,6 @@ Word16 DEPR_i_mult( Word16 a, Word16 b ); /* Word32 L_mult0( Word16 v1, Word16 v2 ); /* 32-bit Multiply w/o shift 1 */ Word32 L_mac0( Word32 L_v3, Word16 v1, Word16 v2 ); /* 32-bit Mac w/o shift 1 */ Word32 L_msu0( Word32 L_v3, Word16 v1, Word16 v2 ); /* 32-bit Msu w/o shift 1 */ #ifdef BASOP_NOGLOB /* * Overflowing operators Loading @@ -267,7 +192,6 @@ Word32 L_msu0_o( Word32 L_var3, Word16 var1, Word16 var2, Flag *Overflow ); Word16 mult_ro( Word16 var1, Word16 var2, Flag *Overflow ); Word16 mac_ro( Word32 L_var3, Word16 var1, Word16 var2, Flag *Overflow ); Word16 msu_ro( Word32 L_var3, Word16 var1, Word16 var2, Flag *Overflow ); #endif /* BASOP_NOGLOB */ #endif /* ifndef _BASIC_OP_H */ Loading lib_com/basop_lsf_tools.c +1 −5 Original line number Diff line number Diff line Loading @@ -243,10 +243,7 @@ static Word16 E_LPC_f_lsp_pol_get( Word16 Ovf = 0; Word16 Q_out; Word16 m2; #ifdef BASOP_NOGLOB Flag Overflow; #endif /* BASOP_NOGLOB */ Q_out = 31 - 23; move16(); Loading Loading @@ -300,9 +297,8 @@ static Word16 E_LPC_f_lsp_pol_get( test(); IF( Overflow > 0 && isMODE1 ) { #ifdef BASOP_NOGLOB assert( 0 ); #endif /* BASOP_NOGLOB */ /* If an overflow is detected, redo the computation with 1 bit less */ Ovf = add( Ovf, 1 ); Ovf = E_LPC_f_lsp_pol_get( lsp, f, n, Ovf, isMODE1 ); Loading Loading
lib_com/ari_hm.c +2 −1 Original line number Diff line number Diff line Loading @@ -272,7 +272,7 @@ void tcx_hm_modify_envelope( const int16_t L_frame /* i : number of spectral lines */ ) { int32_t h, x, k; int32_t k, h, x; Word16 inv_shape[2 * kTcxHmParabolaHalfWidth + 1]; /* Q15 */ if ( gain == 0 ) Loading @@ -290,6 +290,7 @@ void tcx_hm_modify_envelope( while ( k <= L_frame + kTcxHmParabolaHalfWidth - 1 ) { for ( x = max( 0, k - kTcxHmParabolaHalfWidth ); x <= min( k + kTcxHmParabolaHalfWidth, L_frame - 1 ); ++x ) { env[x] = Mpy_32_16( env[x], inv_shape[x - k + kTcxHmParabolaHalfWidth] ); Loading
lib_com/arith_coder.c +0 −23 Original line number Diff line number Diff line Loading @@ -243,10 +243,7 @@ void tcx_arith_scale_envelope( Word16 statesi, bits; Word32 mean, a, s, L_tmp; Word16 mean_e, tmp, tmp2; #ifdef BASOP_NOGLOB Flag Overflow; #endif /* BASOP_NOGLOB */ lob_bits = 0; move16(); Loading @@ -271,11 +268,7 @@ void tcx_arith_scale_envelope( tmp = norm_l( env[k] ); tmp2 = sub( 15, tmp ); #ifndef BASOP_NOGLOB tmp = Inv16( round_fx( L_shl( env[k], tmp ) ), &tmp2 ); #else /* BASOP_NOGLOB */ tmp = Inv16( round_fx_o( L_shl( env[k], tmp ), &Overflow ), &tmp2 ); #endif /* BASOP_NOGLOB */ ienv[k] = L_shl( L_deposit_h( tmp ), sub( tmp2, 15 ) ); /* Q16 */ move32(); mean = L_add( mean, ienv[k] ); Loading Loading @@ -309,11 +302,7 @@ void tcx_arith_scale_envelope( b_e = add( b_e, mean_e ); /* scale = (-b + sqrtf(b*b - 4.0f*a*0.035f)) / (2.0f * a); */ #ifndef BASOP_NOGLOB tmp = round_fx( BASOP_Util_Add_Mant32Exp( L_mult( b, b ), shl( b_e, 1 ), Mpy_32_16( a, FL2WORD16( -4.0f * 0.035f ) ), a_e, &tmp2 ) ); #else tmp = round_fx_o( BASOP_Util_Add_Mant32Exp( L_mult( b, b ), shl( b_e, 1 ), Mpy_32_16( a, FL2WORD16( -4.0f * 0.035f ) ), a_e, &tmp2 ), &Overflow ); #endif IF( tmp <= 0 ) { Loading @@ -332,11 +321,7 @@ void tcx_arith_scale_envelope( tmp2 = BASOP_Util_Add_MantExp( negate( b ), b_e, tmp, tmp2, &scale ); scale = BASOP_Util_Divide1616_Scale( scale, round_fx( a ), &tmp ); #ifndef BASOP_NOGLOB scale = shl( scale, sub( sub( add( tmp, tmp2 ), a_e ), 1 ) ); /* Q15 */ #else scale = shl_o( scale, sub( sub( add( tmp, tmp2 ), a_e ), 1 ), &Overflow ); /* Q15 */ #endif /* iscale = 1.0f / scale; */ iscale_e = 0; Loading Loading @@ -385,11 +370,7 @@ void tcx_arith_scale_envelope( L_tmp = L_add( L_tmp, L_shl( Mpy_32_16( env[k], mult_r( FL2WORD16( 0.035f ), iscale ) ), iscale_e ) ); tmp = norm_l( L_tmp ); #ifndef BASOP_NOGLOB statesi = mult_r( statesi, round_fx( L_shl( L_tmp, tmp ) ) ); #else /* BASOP_NOGLOB */ statesi = mult_r( statesi, round_fx_o( L_shl( L_tmp, tmp ), &Overflow ) ); #endif /* BASOP_NOGLOB */ bits = add( bits, sub( 15, tmp ) ); tmp = norm_s( statesi ); Loading Loading @@ -489,11 +470,7 @@ void tcx_arith_scale_envelope( *s_env_e = sub( add( 15, iscale_e ), tmp ); move16(); BASOP_SATURATE_WARNING_OFF; #ifndef BASOP_NOGLOB a = L_shl( 1265000, sub( 15, *s_env_e ) ); #else /* BASOP_NOGLOB */ a = L_shl_o( 1265000, sub( 15, *s_env_e ), &Overflow ); #endif /* BASOP_NOGLOB */ BASOP_SATURATE_WARNING_ON; FOR( k = 0; k < L_frame; k++ ) Loading
lib_com/basop32.h +31 −107 Original line number Diff line number Diff line Loading @@ -86,17 +86,12 @@ | Constants and Globals | |___________________________________________________________________________| */ #ifndef BASOP_NOGLOB extern Flag Overflow, Overflow2; extern Flag Carry; #else /* BASOP_NOGLOB */ /* DISABLED TO AVOID GLOBAL VARIABLES */ /* extern Flag BASOP_Overflow, BASOP_Overflow2; extern Flag BASOP_Carry; */ #endif /* BASOP_NOGLOB */ #define BASOP_SATURATE_WARNING_ON #define BASOP_SATURATE_WARNING_OFF #define BASOP_SATURATE_ERROR_ON Loading @@ -116,23 +111,7 @@ extern Flag BASOP_Carry; |___________________________________________________________________________| */ #ifndef BASOP_NOGLOB Word16 add( Word16 var1, Word16 var2 ); /* Short add, 1 */ Word16 sub( Word16 var1, Word16 var2 ); /* Short sub, 1 */ Word16 abs_s( Word16 var1 ); /* Short abs, 1 */ Word16 shl( Word16 var1, Word16 var2 ); /* Short shift left, 1 */ Word16 shr( Word16 var1, Word16 var2 ); /* Short shift right, 1 */ Word16 mult( Word16 var1, Word16 var2 ); /* Short mult, 1 */ Word32 L_mult( Word16 var1, Word16 var2 ); /* Long mult, 1 */ Word16 negate( Word16 var1 ); /* Short negate, 1 */ Word16 extract_h( Word32 L_var1 ); /* Extract high, 1 */ Word16 extract_l( Word32 L_var1 ); /* Extract low, 1 */ Word16 round_fx( Word32 L_var1 ); /* Round, 1 */ Word32 L_mac( Word32 L_var3, Word16 var1, Word16 var2 ); /* Mac, 1 */ Word32 L_msu( Word32 L_var3, Word16 var1, Word16 var2 ); /* Msu, 1 */ Word32 L_macNs( Word32 L_var3, Word16 var1, Word16 var2 ); /* Mac without sat, 1 */ #else /* BASOP_NOGLOB */ Word16 add( Word16 var1, Word16 var2 ); /* Short add, 1 */ Word16 sub( Word16 var1, Word16 var2 ); /* Short sub, 1 */ Word16 abs_s( Word16 var1 ); /* Short abs, 1 */ Loading @@ -146,29 +125,10 @@ Word16 extract_l( Word32 L_var1 ); /* Word16 round_fx( Word32 L_var1 ); /* Round, 1 */ Word32 L_mac( Word32 L_var3, Word16 var1, Word16 var2 ); /* Mac, 1 */ Word32 L_msu( Word32 L_var3, Word16 var1, Word16 var2 ); /* Msu, 1 */ Word32 DEPR_L_macNs( Word32 L_var3, Word16 var1, Word16 var2, Flag *Carry ); /* Mac without sat, 1 */ #endif /* BASOP_NOGLOB */ #ifndef BASOP_NOGLOB Word32 L_msuNs( Word32 L_var3, Word16 var1, Word16 var2 ); /* Msu without sat, 1 */ #else /* BASOP_NOGLOB */ Word32 DEPR_L_msuNs( Word32 L_var3, Word16 var1, Word16 var2, Flag *Carry ); /* Msu without sat, 1 */ #endif /* BASOP_NOGLOB */ #ifndef BASOP_NOGLOB Word32 L_add( Word32 L_var1, Word32 L_var2 ); /* Long add, 1 */ Word32 L_sub( Word32 L_var1, Word32 L_var2 ); /* Long sub, 1 */ Word32 L_add_c( Word32 L_var1, Word32 L_var2 ); /* Long add with c, 2 */ Word32 L_sub_c( Word32 L_var1, Word32 L_var2 ); /* Long sub with c, 2 */ Word32 L_negate( Word32 L_var1 ); /* Long negate, 1 */ Word16 mult_r( Word16 var1, Word16 var2 ); /* Mult with round, 1 */ Word32 L_shl( Word32 L_var1, Word16 var2 ); /* Long shift left, 1 */ Word32 L_shr( Word32 L_var1, Word16 var2 ); /* Long shift right, 1 */ Word16 shr_r( Word16 var1, Word16 var2 ); /* Shift right with round, 2 */ #else /* BASOP_NOGLOB */ Word32 DEPR_L_macNs( Word32 L_var3, Word16 var1, Word16 var2, Flag *Carry ); /* Mac without sat, 1 */ Word32 DEPR_L_msuNs( Word32 L_var3, Word16 var1, Word16 var2, Flag *Carry ); /* Msu without sat, 1 */ Word32 L_add( Word32 L_var1, Word32 L_var2 ); /* Long add, 1 */ Word32 L_sub( Word32 L_var1, Word32 L_var2 ); /* Long sub, 1 */ Word32 DEPR_L_add_c( Word32 L_var1, Word32 L_var2, Flag *Carry ); /* Long add with c, 2 */ Loading @@ -179,64 +139,30 @@ Word32 L_shl( Word32 L_var1, Word16 var2 ); /* Word32 L_shr( Word32 L_var1, Word16 var2 ); /* Long shift right, 1 */ Word16 shr_r( Word16 var1, Word16 var2 ); /* Shift right with round, 2 */ #endif /* BASOP_NOGLOB */ #ifndef BASOP_NOGLOB Word16 mac_r( Word32 L_var3, Word16 var1, Word16 var2 ); /* Mac with rounding, 1 */ #else /* BASOP_NOGLOB */ Word16 mac_r( Word32 L_var3, Word16 var1, Word16 var2 ); /* Mac with rounding, 1 */ #endif /* BASOP_NOGLOB */ #ifndef BASOP_NOGLOB Word16 msu_r( Word32 L_var3, Word16 var1, Word16 var2 ); /* Msu with rounding, 1 */ #else /* BASOP_NOGLOB */ Word16 msu_r( Word32 L_var3, Word16 var1, Word16 var2 ); /* Msu with rounding, 1 */ #endif /* BASOP_NOGLOB */ #ifndef BASOP_NOGLOB Word32 L_deposit_h( Word16 var1 ); /* 16 bit var1 -> MSB, 1 */ Word32 L_deposit_l( Word16 var1 ); /* 16 bit var1 -> LSB, 1 */ #else /* BASOP_NOGLOB */ Word32 L_deposit_h( Word16 var1 ); /* 16 bit var1 -> MSB, 1 */ Word32 L_deposit_l( Word16 var1 ); /* 16 bit var1 -> LSB, 1 */ #endif /* BASOP_NOGLOB */ #ifndef BASOP_NOGLOB Word32 L_shr_r( Word32 L_var1, Word16 var2 ); /* Long shift right with round, 3 */ #else /* BASOP_NOGLOB */ Word32 L_shr_r( Word32 L_var1, Word16 var2 ); /* Long shift right with round, 3 */ #endif /* BASOP_NOGLOB */ #ifndef BASOP_NOGLOB Word32 L_abs( Word32 L_var1 ); /* Long abs, 1 */ Word32 L_sat( Word32 L_var1 ); /* Long saturation, 4 */ Word16 norm_s( Word16 var1 ); /* Short norm, 1 */ Word16 div_s( Word16 var1, Word16 var2 ); /* Short division, 18 */ Word16 norm_l( Word32 L_var1 ); /* Long norm, 1 */ #else /* BASOP_NOGLOB */ Word32 L_abs( Word32 L_var1 ); /* Long abs, 1 */ Word32 DEPR_L_sat_co( Word32 L_var1, Flag Overflow, Flag Carry ); /* Long saturation, 4 */ Word16 norm_s( Word16 var1 ); /* Short norm, 1 */ Word16 div_s( Word16 var1, Word16 var2 ); /* Short division, 18 */ Word16 norm_l( Word32 L_var1 ); /* Long norm, 1 */ #endif /* BASOP_NOGLOB */ /* * Additional G.723.1 operators */ #ifndef BASOP_NOGLOB Word32 L_mls( Word32, Word16 ); /* Weight FFS; currently assigned 5 */ Word16 div_l( Word32, Word16 ); /* Weight FFS; currently assigned 32 */ Word16 i_mult( Word16 a, Word16 b ); /* Weight FFS; currently assigned 3 */ #else /* BASOP_NOGLOB */ Word32 L_mls( Word32, Word16 ); /* Weight FFS; currently assigned 5 */ Word16 div_l( Word32, Word16 ); /* Weight FFS; currently assigned 32 */ Word16 DEPR_i_mult( Word16 a, Word16 b ); /* Weight FFS; currently assigned 3 */ #endif /* BASOP_NOGLOB */ /* * New shiftless operators, not used in G.729/G.723.1 Loading @@ -244,7 +170,6 @@ Word16 DEPR_i_mult( Word16 a, Word16 b ); /* Word32 L_mult0( Word16 v1, Word16 v2 ); /* 32-bit Multiply w/o shift 1 */ Word32 L_mac0( Word32 L_v3, Word16 v1, Word16 v2 ); /* 32-bit Mac w/o shift 1 */ Word32 L_msu0( Word32 L_v3, Word16 v1, Word16 v2 ); /* 32-bit Msu w/o shift 1 */ #ifdef BASOP_NOGLOB /* * Overflowing operators Loading @@ -267,7 +192,6 @@ Word32 L_msu0_o( Word32 L_var3, Word16 var1, Word16 var2, Flag *Overflow ); Word16 mult_ro( Word16 var1, Word16 var2, Flag *Overflow ); Word16 mac_ro( Word32 L_var3, Word16 var1, Word16 var2, Flag *Overflow ); Word16 msu_ro( Word32 L_var3, Word16 var1, Word16 var2, Flag *Overflow ); #endif /* BASOP_NOGLOB */ #endif /* ifndef _BASIC_OP_H */ Loading
lib_com/basop_lsf_tools.c +1 −5 Original line number Diff line number Diff line Loading @@ -243,10 +243,7 @@ static Word16 E_LPC_f_lsp_pol_get( Word16 Ovf = 0; Word16 Q_out; Word16 m2; #ifdef BASOP_NOGLOB Flag Overflow; #endif /* BASOP_NOGLOB */ Q_out = 31 - 23; move16(); Loading Loading @@ -300,9 +297,8 @@ static Word16 E_LPC_f_lsp_pol_get( test(); IF( Overflow > 0 && isMODE1 ) { #ifdef BASOP_NOGLOB assert( 0 ); #endif /* BASOP_NOGLOB */ /* If an overflow is detected, redo the computation with 1 bit less */ Ovf = add( Ovf, 1 ); Ovf = E_LPC_f_lsp_pol_get( lsp, f, n, Ovf, isMODE1 ); Loading