aboutsummaryrefslogtreecommitdiffstats
path: root/codecs/gsm/src
diff options
context:
space:
mode:
authormattf <mattf@f38db490-d61c-443f-a65b-d21fe96a405b>2006-02-10 23:37:27 +0000
committermattf <mattf@f38db490-d61c-443f-a65b-d21fe96a405b>2006-02-10 23:37:27 +0000
commit00dd1704f15d77f4b5ca3694493812b8e49a8696 (patch)
tree57c12cf4eda0931613bfedd345484014eeabeb2f /codecs/gsm/src
parent864716935ab085c63a1d6f1bef5beae1dbc76d97 (diff)
Lots of little fixes for doing MSVC compiling codecs in windows (#6022)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@9450 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'codecs/gsm/src')
-rw-r--r--codecs/gsm/src/add.c8
-rw-r--r--codecs/gsm/src/code.c4
-rw-r--r--codecs/gsm/src/decode.c2
-rw-r--r--codecs/gsm/src/long_term.c8
-rw-r--r--codecs/gsm/src/lpc.c14
-rw-r--r--codecs/gsm/src/preprocess.c8
-rw-r--r--codecs/gsm/src/rpe.c6
-rw-r--r--codecs/gsm/src/short_term.c12
8 files changed, 29 insertions, 33 deletions
diff --git a/codecs/gsm/src/add.c b/codecs/gsm/src/add.c
index 21ccfabe7..f23d27f16 100644
--- a/codecs/gsm/src/add.c
+++ b/codecs/gsm/src/add.c
@@ -23,19 +23,19 @@
word gsm_add P2((a,b), word a, word b)
{
longword sum = (longword)a + (longword)b;
- return saturate(sum);
+ return (word)saturate(sum);
}
word gsm_sub P2((a,b), word a, word b)
{
longword diff = (longword)a - (longword)b;
- return saturate(diff);
+ return (word)saturate(diff);
}
word gsm_mult P2((a,b), word a, word b)
{
if (a == MIN_WORD && b == MIN_WORD) return MAX_WORD;
- else return SASR( (longword)a * (longword)b, 15 );
+ else return (word)SASR( (longword)a * (longword)b, 15 );
}
word gsm_mult_r P2((a,b), word a, word b)
@@ -44,7 +44,7 @@ word gsm_mult_r P2((a,b), word a, word b)
else {
longword prod = (longword)a * (longword)b + 16384;
prod >>= 15;
- return prod & 0xFFFF;
+ return (word)(prod & 0xFFFF);
}
}
diff --git a/codecs/gsm/src/code.c b/codecs/gsm/src/code.c
index 6358330e5..4d195dfbd 100644
--- a/codecs/gsm/src/code.c
+++ b/codecs/gsm/src/code.c
@@ -62,10 +62,6 @@ void Gsm_Coder P8((S,s,LARc,Nc,bc,Mc,xmaxc,xMc),
word so[160];
-#if !(defined(__GNUC__) && defined(__i386__))
- longword ltmp;
-#endif
-
Gsm_Preprocess (S, s, so);
Gsm_LPC_Analysis (S, so, LARc);
Gsm_Short_Term_Analysis_Filter (S, LARc, so);
diff --git a/codecs/gsm/src/decode.c b/codecs/gsm/src/decode.c
index 7d56bf96c..093ac64df 100644
--- a/codecs/gsm/src/decode.c
+++ b/codecs/gsm/src/decode.c
@@ -25,7 +25,7 @@ static void Postprocessing P2((S,s),
register word tmp;
for (k = 160; k--; s++) {
- tmp = GSM_MULT_R( msr, 28180 );
+ tmp = (word)GSM_MULT_R( msr, 28180 );
msr = GSM_ADD(*s, tmp); /* Deemphasis */
*s = GSM_ADD(msr, msr) & 0xFFF8; /* Truncation & Upscaling */
}
diff --git a/codecs/gsm/src/long_term.c b/codecs/gsm/src/long_term.c
index 98f64aa2a..50594ffd7 100644
--- a/codecs/gsm/src/long_term.c
+++ b/codecs/gsm/src/long_term.c
@@ -278,8 +278,8 @@ static void Calculation_of_the_LTP_parameters P4((d,dp,bc_out,Nc_out),
temp = gsm_norm( L_power );
- R = SASR( L_max << temp, 16 );
- S = SASR( L_power << temp, 16 );
+ R = (word)SASR( L_max << temp, 16 );
+ S = (word)SASR( L_power << temp, 16 );
/* Coding of the LTP gain
*/
@@ -856,7 +856,7 @@ static void Long_term_analysis_filtering P6((bc,Nc,dp,d,dpp,e),
# undef STEP
# define STEP(BP) \
for (k = 0; k <= 39; k++) { \
- dpp[k] = GSM_MULT_R( BP, dp[k - Nc]); \
+ dpp[k] = (word)GSM_MULT_R( BP, dp[k - Nc]); \
e[k] = GSM_SUB( d[k], dpp[k] ); \
}
@@ -939,7 +939,7 @@ void Gsm_Long_Term_Synthesis_Filtering P5((S,Ncr,bcr,erp,drp),
assert(brp != MIN_WORD);
for (k = 0; k <= 39; k++) {
- drpp = GSM_MULT_R( brp, drp[ k - Nr ] );
+ drpp = (word)GSM_MULT_R( brp, drp[ k - Nr ] );
drp[k] = GSM_ADD( erp[k], drpp );
}
diff --git a/codecs/gsm/src/lpc.c b/codecs/gsm/src/lpc.c
index a8e9192ba..49145f86e 100644
--- a/codecs/gsm/src/lpc.c
+++ b/codecs/gsm/src/lpc.c
@@ -84,7 +84,7 @@ static void Autocorrelation P2((s, L_ACF),
# else
# define SCALE(n) \
case n: for (k = 0; k <= 159; k++) \
- s[k] = GSM_MULT_R( s[k], 16384 >> (n-1) );\
+ s[k] = (word)GSM_MULT_R( s[k], 16384 >> (n-1) );\
break;
# endif /* USE_FLOAT_MUL */
@@ -229,7 +229,7 @@ static void Reflection_coefficients P2( (L_ACF, r),
assert(temp >= 0 && temp < 32);
/* ? overflow ? */
- for (i = 0; i <= 8; i++) ACF[i] = SASR( L_ACF[i] << temp, 16 );
+ for (i = 0; i <= 8; i++) ACF[i] = (word)SASR( L_ACF[i] << temp, 16 );
/* Initialize array P[..] and K[..] for the recursion.
*/
@@ -257,14 +257,14 @@ static void Reflection_coefficients P2( (L_ACF, r),
/* Schur recursion
*/
- temp = GSM_MULT_R( P[1], *r );
+ temp = (word)GSM_MULT_R( P[1], *r );
P[0] = GSM_ADD( P[0], temp );
for (m = 1; m <= 8 - n; m++) {
- temp = GSM_MULT_R( K[ m ], *r );
+ temp = (word)GSM_MULT_R( K[ m ], *r );
P[m] = GSM_ADD( P[ m+1 ], temp );
- temp = GSM_MULT_R( P[ m+1 ], *r );
+ temp = (word)GSM_MULT_R( P[ m+1 ], *r );
K[m] = GSM_ADD( K[ m ], temp );
}
}
@@ -331,10 +331,10 @@ static void Quantization_and_coding P1((LAR),
# undef STEP
# define STEP( A, B, MAC, MIC ) \
- temp = GSM_MULT( A, *LAR ); \
+ temp = (word)GSM_MULT( A, *LAR ); \
temp = GSM_ADD( temp, B ); \
temp = GSM_ADD( temp, 256 ); \
- temp = SASR( temp, 9 ); \
+ temp = (word)SASR( temp, 9 ); \
*LAR = temp>MAC ? MAC - MIC : (temp<MIC ? 0 : temp - MIC); \
LAR++;
diff --git a/codecs/gsm/src/preprocess.c b/codecs/gsm/src/preprocess.c
index 03746f9c3..bbfe3146a 100644
--- a/codecs/gsm/src/preprocess.c
+++ b/codecs/gsm/src/preprocess.c
@@ -95,8 +95,8 @@ void Gsm_Preprocess P3((S, s, so),
L_s2 = s1;
L_s2 <<= 15;
#ifndef __GNUC__
- msp = SASR( L_z2, 15 );
- lsp = L_z2 & 0x7fff; /* gsm_L_sub(L_z2,(msp<<15)); */
+ msp = (word)SASR( L_z2, 15 );
+ lsp = (word)(L_z2 & 0x7fff); /* gsm_L_sub(L_z2,(msp<<15)); */
L_s2 += GSM_MULT_R( lsp, 32735 );
L_temp = (longword)msp * 32735; /* GSM_L_MULT(msp,32735) >> 1;*/
@@ -119,8 +119,8 @@ void Gsm_Preprocess P3((S, s, so),
/* 4.2.3 Preemphasis
*/
- msp = GSM_MULT_R( mp, -28180 );
- mp = SASR( L_temp, 15 );
+ msp = (word)GSM_MULT_R( mp, -28180 );
+ mp = (word)SASR( L_temp, 15 );
*so++ = GSM_ADD( mp, msp );
}
}
diff --git a/codecs/gsm/src/rpe.c b/codecs/gsm/src/rpe.c
index 8be0c0772..1c354795d 100644
--- a/codecs/gsm/src/rpe.c
+++ b/codecs/gsm/src/rpe.c
@@ -108,7 +108,7 @@ static void Weighting_filter P2((e, x),
*/
L_result = SASR( L_result, 13 );
- x[k] = ( L_result < MIN_WORD ? MIN_WORD
+ x[k] = (word)( L_result < MIN_WORD ? MIN_WORD
: (L_result > MAX_WORD ? MAX_WORD : L_result ));
}
}
@@ -334,7 +334,7 @@ static void APCM_quantization P5((xM,xMc,mant_out,exp_out,xmaxc_out),
assert(temp1 >= 0 && temp1 < 16);
temp = xM[i] << temp1;
- temp = GSM_MULT( temp, temp2 );
+ temp = (word)GSM_MULT( temp, temp2 );
temp = SASR(temp, 12);
xMc[i] = temp + 4; /* see note below */
}
@@ -378,7 +378,7 @@ static void APCM_inverse_quantization P4((xMc,mant,exp,xMp),
assert( temp <= 7 && temp >= -7 ); /* 4 bit signed */
temp <<= 12; /* 16 bit signed */
- temp = GSM_MULT_R( temp1, temp );
+ temp = (word)GSM_MULT_R( temp1, temp );
temp = GSM_ADD( temp, temp3 );
*xMp++ = gsm_asr( temp, temp2 );
}
diff --git a/codecs/gsm/src/short_term.c b/codecs/gsm/src/short_term.c
index c8c0c1b2b..43c592c04 100644
--- a/codecs/gsm/src/short_term.c
+++ b/codecs/gsm/src/short_term.c
@@ -58,7 +58,7 @@ static void Decoding_of_the_coded_Log_Area_Ratios P2((LARc,LARpp),
#define STEP( B, MIC, INVA ) \
temp1 = GSM_ADD( *LARc++, MIC ) << 10; \
temp1 = GSM_SUB( temp1, B << 1 ); \
- temp1 = GSM_MULT_R( INVA, temp1 ); \
+ temp1 = (word)GSM_MULT_R( INVA, temp1 ); \
*LARpp++ = GSM_ADD( temp1, temp1 );
STEP( 0, -32, 13107 );
@@ -214,7 +214,7 @@ static void Short_term_analysis_filtering P4((u0,rp0,k_n,s),
for (rp=rp0, u=u0; u<u_top;) {
register longword ui, rpi;
ui = *u;
- *u++ = u_out;
+ *u++ = (word)u_out;
rpi = *rp++;
u_out = ui + (((rpi*di)+0x4000)>>15);
di = di + (((rpi*ui)+0x4000)>>15);
@@ -226,7 +226,7 @@ static void Short_term_analysis_filtering P4((u0,rp0,k_n,s),
if (di>MAX_WORD) di=MAX_WORD;
else if (di<MIN_WORD) di=MIN_WORD;
}
- *s++ = di;
+ *s++ = (word)di;
}
}
#endif
@@ -315,9 +315,9 @@ static void Short_term_synthesis_filtering P5((S,rrp,k,wt,sr),
if (tmp1 != (word)tmp1) {
tmp1 = (tmp1<0)? MIN_WORD:MAX_WORD;
}
- v[i+1] = tmp1;
+ v[i+1] = (word)tmp1;
}
- *sr++ = v[0] = sri;
+ *sr++ = v[0] = (word)sri;
}
}
@@ -373,7 +373,7 @@ void Gsm_Short_Term_Analysis_Filter P3((S,LARc,s),
word * LARpp_j_1 = S->LARpp[ S->j ^= 1 ];
word LARp[8];
-int i;
+
#undef FILTER
#if defined(FAST) && defined(USE_FLOAT_MUL)
# define FILTER (* (S->fast \