Loading lib_com/basop32.c +2 −282 File changed.Preview size limit exceeded, changes collapsed. Show changes lib_com/basop32.h +0 −80 Original line number Diff line number Diff line Loading @@ -86,17 +86,11 @@ | 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_EVS #define BASOP_SATURATE_WARNING_OFF_EVS #define BASOP_SATURATE_ERROR_ON_EVS Loading @@ -114,36 +108,17 @@ extern Flag BASOP_Carry; #define MAX_16 (Word16) 0x7fff #define MIN_16 (Word16) 0x8000 #ifdef BASOP_NOGLOB void set_overflow( Flag *overflow ); void unset_overflow( Flag *overflow ); void set_carry( Flag *carry ); void unset_carry( Flag *carry ); Flag get_carry( const Flag *carry ); #endif /* BASOP_NOGLOB */ /*___________________________________________________________________________ | | | Prototypes for basic arithmetic operators | |___________________________________________________________________________| */ #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 @@ -166,27 +141,9 @@ Word32 L_sub_co( Word32 L_var1, Word32 L_var2, Flag *Carry, Flag *Overflow ); 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 */ #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 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 @@ -197,44 +154,16 @@ 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 */ Loading @@ -242,22 +171,15 @@ Word16 div_s( Word16 var1, Word16 var2 ); /* Word32 div_w( Word32 L_num, Word32 L_den ); Word16 norm_l( Word32 L_var1 ); /* Long norm, 1 */ Word32 L_sat( Word32 L_var1 ); /* Long saturation, 4 */ #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 i_mult( Word16 a, Word16 b ); /* Weight FFS; currently assigned 3 */ 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 @@ -265,7 +187,6 @@ Word16 DEPR_i_mult( Word16 a, Word16 b ); /* Weight FFS; currently assigned 3 */ 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 Loading @@ -296,7 +217,6 @@ Word32 L_shr_ro( Word32 L_var1, Word16 var2, Flag *Overflow ); Word32 L_macNs_co( Word32 L_var3, Word16 var1, Word16 var2, Flag *Carry, Flag *Overflow ); Word32 L_msuNs_co( Word32 L_var3, Word16 var1, Word16 var2, Flag *Carry, Flag *Overflow ); #endif /* BASOP_NOGLOB */ /* * Saturating operators Loading lib_com/basop_util.c +0 −1 Original line number Diff line number Diff line Loading @@ -43,7 +43,6 @@ #include "rom_com.h" #include "rom_basic_math.h" #include "basop_settings.h" #include "control.h" #include "cnst.h" Loading lib_com/cnst.h +1 −7 Original line number Diff line number Diff line Loading @@ -39,7 +39,6 @@ #include <stdint.h> #include "options.h" #include "stl.h" /* clang-format off */ #ifdef IVAS_FLOAT_FIXED Loading Loading @@ -258,8 +257,6 @@ enum{ #define SBA_AGC_FORCE_DISABLE 0 #define SBA_AGC_DEFAULT -1 extern const Word16 Idx2Freq_Tbl[]; /*----------------------------------------------------------------------------------* * Layers *----------------------------------------------------------------------------------*/ Loading Loading @@ -3065,10 +3062,7 @@ enum #define G192_BIN1 (UWord16) 0x0081 /* binary "1" according to ITU-T G.192 */ #define DEGREE_180 (Word32)(180.0 *ONE_IN_Q23) #define DEGREE_360 (Word32)(360.0 *ONE_IN_Q23) extern const Word16 Idx2Freq_Tbl[]; #if 0 //TO do add in rom_com #endif #define chk_fs(fs) /* 'x' is converted to Q6, 'Freq_Tbl'/1000 in Q9 */ /* only works for 'fs' = [8000,12800,16000,25600,32000,48000] (unpredictable otherwise) */ Loading lib_com/complex_basop.c +0 −10 Original line number Diff line number Diff line Loading @@ -9,20 +9,10 @@ *****************************************************************************/ #include "typedef.h" #include "basop32.h" #include "complex_basop.h" #include "stl.h" #ifdef WMOPS extern BASIC_OP multiCounter[MAXCOUNTERS]; extern int currCounter; #endif /* if WMOPS */ Loading Loading
lib_com/basop32.h +0 −80 Original line number Diff line number Diff line Loading @@ -86,17 +86,11 @@ | 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_EVS #define BASOP_SATURATE_WARNING_OFF_EVS #define BASOP_SATURATE_ERROR_ON_EVS Loading @@ -114,36 +108,17 @@ extern Flag BASOP_Carry; #define MAX_16 (Word16) 0x7fff #define MIN_16 (Word16) 0x8000 #ifdef BASOP_NOGLOB void set_overflow( Flag *overflow ); void unset_overflow( Flag *overflow ); void set_carry( Flag *carry ); void unset_carry( Flag *carry ); Flag get_carry( const Flag *carry ); #endif /* BASOP_NOGLOB */ /*___________________________________________________________________________ | | | Prototypes for basic arithmetic operators | |___________________________________________________________________________| */ #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 @@ -166,27 +141,9 @@ Word32 L_sub_co( Word32 L_var1, Word32 L_var2, Flag *Carry, Flag *Overflow ); 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 */ #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 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 @@ -197,44 +154,16 @@ 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 */ Loading @@ -242,22 +171,15 @@ Word16 div_s( Word16 var1, Word16 var2 ); /* Word32 div_w( Word32 L_num, Word32 L_den ); Word16 norm_l( Word32 L_var1 ); /* Long norm, 1 */ Word32 L_sat( Word32 L_var1 ); /* Long saturation, 4 */ #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 i_mult( Word16 a, Word16 b ); /* Weight FFS; currently assigned 3 */ 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 @@ -265,7 +187,6 @@ Word16 DEPR_i_mult( Word16 a, Word16 b ); /* Weight FFS; currently assigned 3 */ 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 Loading @@ -296,7 +217,6 @@ Word32 L_shr_ro( Word32 L_var1, Word16 var2, Flag *Overflow ); Word32 L_macNs_co( Word32 L_var3, Word16 var1, Word16 var2, Flag *Carry, Flag *Overflow ); Word32 L_msuNs_co( Word32 L_var3, Word16 var1, Word16 var2, Flag *Carry, Flag *Overflow ); #endif /* BASOP_NOGLOB */ /* * Saturating operators Loading
lib_com/basop_util.c +0 −1 Original line number Diff line number Diff line Loading @@ -43,7 +43,6 @@ #include "rom_com.h" #include "rom_basic_math.h" #include "basop_settings.h" #include "control.h" #include "cnst.h" Loading
lib_com/cnst.h +1 −7 Original line number Diff line number Diff line Loading @@ -39,7 +39,6 @@ #include <stdint.h> #include "options.h" #include "stl.h" /* clang-format off */ #ifdef IVAS_FLOAT_FIXED Loading Loading @@ -258,8 +257,6 @@ enum{ #define SBA_AGC_FORCE_DISABLE 0 #define SBA_AGC_DEFAULT -1 extern const Word16 Idx2Freq_Tbl[]; /*----------------------------------------------------------------------------------* * Layers *----------------------------------------------------------------------------------*/ Loading Loading @@ -3065,10 +3062,7 @@ enum #define G192_BIN1 (UWord16) 0x0081 /* binary "1" according to ITU-T G.192 */ #define DEGREE_180 (Word32)(180.0 *ONE_IN_Q23) #define DEGREE_360 (Word32)(360.0 *ONE_IN_Q23) extern const Word16 Idx2Freq_Tbl[]; #if 0 //TO do add in rom_com #endif #define chk_fs(fs) /* 'x' is converted to Q6, 'Freq_Tbl'/1000 in Q9 */ /* only works for 'fs' = [8000,12800,16000,25600,32000,48000] (unpredictable otherwise) */ Loading
lib_com/complex_basop.c +0 −10 Original line number Diff line number Diff line Loading @@ -9,20 +9,10 @@ *****************************************************************************/ #include "typedef.h" #include "basop32.h" #include "complex_basop.h" #include "stl.h" #ifdef WMOPS extern BASIC_OP multiCounter[MAXCOUNTERS]; extern int currCounter; #endif /* if WMOPS */ Loading