Index: codecs/gsm/inc/private.h
===================================================================
--- codecs/gsm/inc/private.h	(revision 7520)
+++ codecs/gsm/inc/private.h	(working copy)
@@ -136,6 +136,11 @@
 
 #else
 
+#ifdef WIN32
+#define inline __inline
+#define __inline__ __inline
+#endif 
+
 # define GSM_L_ADD(a, b)	\
 	( (a) <  0 ? ( (b) >= 0 ? (a) + (b)	\
 		 : (utmp = (ulongword)-((a) + 1) + (ulongword)-((b) + 1)) \
@@ -144,26 +149,20 @@
 	          : (utmp = (ulongword)(a) + (ulongword)(b)) >= MAX_LONGWORD \
 		    ? MAX_LONGWORD : utmp))
 
-/*
- * # define GSM_ADD(a, b)	\
- * 	((ltmp = (longword)(a) + (longword)(b)) >= MAX_WORD \
- * 	? MAX_WORD : ltmp <= MIN_WORD ? MIN_WORD : ltmp)
- */
-/* Nonportable, but faster: */
+static inline word GSM_ADD(a, b)
+{
+	register longword ltmp;
+	ltmp = (longword) (a) + (longword) (b);
+	return (word)((ulongword) (ltmp - MIN_WORD) > MAX_WORD - MIN_WORD ? (ltmp > 0 ? MAX_WORD : MIN_WORD) : ltmp);
+};
 
-# define GSM_ADD(a, b) ({ \
-		register longword ltmp; \
-		ltmp = (longword) (a) + (longword) (b); \
-		((ulongword) (ltmp - MIN_WORD) > MAX_WORD - MIN_WORD ? \
-			(ltmp > 0 ? MAX_WORD : MIN_WORD) : ltmp); \
-	})
+static inline word GSM_SUB(a, b)
+{
+	register longword ltmp;
+	ltmp = (longword) (a) - (longword) (b);
+	return (word)(ltmp >= MAX_WORD ? MAX_WORD : ltmp <= MIN_WORD ? MIN_WORD : ltmp);
+};
 
-#define GSM_SUB(a, b) ({ \
-		register longword ltmp; \
-		ltmp = (longword) (a) - (longword) (b); \
-		(ltmp >= MAX_WORD ? MAX_WORD : ltmp <= MIN_WORD ? MIN_WORD : ltmp); \
-	})
-
 #endif
 
 # define GSM_ABS(a)	((a) < 0 ? ((a) == MIN_WORD ? MAX_WORD : -(a)) : (a))
Index: codecs/gsm/libgsm.vcproj
===================================================================
--- codecs/gsm/libgsm.vcproj	(revision 0)
+++ codecs/gsm/libgsm.vcproj	(revision 0)
@@ -0,0 +1,253 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="8.00"
+	Name="libgsm"
+	ProjectGUID="{8FD2E297-4096-47E5-9258-C48FF1841523}"
+	RootNamespace="libgsm"
+	Keyword="Win32Proj"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)"
+			ConfigurationType="4"
+			CharacterSet="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				AdditionalIncludeDirectories="inc"
+				PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				Detect64BitPortabilityProblems="true"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLibrarianTool"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)"
+			ConfigurationType="4"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				AdditionalIncludeDirectories="inc"
+				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				Detect64BitPortabilityProblems="true"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLibrarianTool"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Source Files"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File
+				RelativePath=".\src\add.c"
+				>
+			</File>
+			<File
+				RelativePath=".\src\code.c"
+				>
+			</File>
+			<File
+				RelativePath=".\src\debug.c"
+				>
+			</File>
+			<File
+				RelativePath=".\src\decode.c"
+				>
+			</File>
+			<File
+				RelativePath=".\src\gsm_create.c"
+				>
+			</File>
+			<File
+				RelativePath=".\src\gsm_decode.c"
+				>
+			</File>
+			<File
+				RelativePath=".\src\gsm_destroy.c"
+				>
+			</File>
+			<File
+				RelativePath=".\src\gsm_encode.c"
+				>
+			</File>
+			<File
+				RelativePath=".\src\gsm_explode.c"
+				>
+			</File>
+			<File
+				RelativePath=".\src\gsm_implode.c"
+				>
+			</File>
+			<File
+				RelativePath=".\src\gsm_option.c"
+				>
+			</File>
+			<File
+				RelativePath=".\src\gsm_print.c"
+				>
+			</File>
+			<File
+				RelativePath=".\src\long_term.c"
+				>
+			</File>
+			<File
+				RelativePath=".\src\lpc.c"
+				>
+			</File>
+			<File
+				RelativePath=".\src\preprocess.c"
+				>
+			</File>
+			<File
+				RelativePath=".\src\rpe.c"
+				>
+			</File>
+			<File
+				RelativePath=".\src\short_term.c"
+				>
+			</File>
+			<File
+				RelativePath=".\src\table.c"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Header Files"
+			Filter="h;hpp;hxx;hm;inl;inc;xsd"
+			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+			>
+			<File
+				RelativePath=".\inc\config.h"
+				>
+			</File>
+			<File
+				RelativePath=".\inc\gsm.h"
+				>
+			</File>
+			<File
+				RelativePath=".\inc\private.h"
+				>
+			</File>
+			<File
+				RelativePath=".\inc\proto.h"
+				>
+			</File>
+			<File
+				RelativePath=".\inc\unproto.h"
+				>
+			</File>
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
Index: codecs/gsm/src/add.c
===================================================================
--- codecs/gsm/src/add.c	(revision 7520)
+++ codecs/gsm/src/add.c	(working copy)
@@ -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 @@
 	else {
 		longword prod = (longword)a * (longword)b + 16384;
 		prod >>= 15;
-		return prod & 0xFFFF;
+		return (word)(prod & 0xFFFF);
 	}
 }
 
Index: codecs/gsm/src/code.c
===================================================================
--- codecs/gsm/src/code.c	(revision 7520)
+++ codecs/gsm/src/code.c	(working copy)
@@ -62,10 +62,6 @@
 
 	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);
Index: codecs/gsm/src/decode.c
===================================================================
--- codecs/gsm/src/decode.c	(revision 7520)
+++ codecs/gsm/src/decode.c	(working copy)
@@ -25,7 +25,7 @@
 	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 */
 	}
Index: codecs/gsm/src/long_term.c
===================================================================
--- codecs/gsm/src/long_term.c	(revision 7520)
+++ codecs/gsm/src/long_term.c	(working copy)
@@ -278,8 +278,8 @@
 
 	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 @@
 #	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 @@
 	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 );
 	}
 
Index: codecs/gsm/src/lpc.c
===================================================================
--- codecs/gsm/src/lpc.c	(revision 7520)
+++ codecs/gsm/src/lpc.c	(working copy)
@@ -84,7 +84,7 @@
 # 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 @@
 	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 @@
 
 		/*  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 @@
 
 #	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++;
 
Index: codecs/gsm/src/preprocess.c
===================================================================
--- codecs/gsm/src/preprocess.c	(revision 7520)
+++ codecs/gsm/src/preprocess.c	(working copy)
@@ -95,8 +95,8 @@
 		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 @@
 	/*   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 );
 		}
 	}
Index: codecs/gsm/src/rpe.c
===================================================================
--- codecs/gsm/src/rpe.c	(revision 7520)
+++ codecs/gsm/src/rpe.c	(working copy)
@@ -108,7 +108,7 @@
 		 */
 
 		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 @@
 		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 @@
 		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 );
 	}
Index: codecs/gsm/src/short_term.c
===================================================================
--- codecs/gsm/src/short_term.c	(revision 7520)
+++ codecs/gsm/src/short_term.c	(working copy)
@@ -58,7 +58,7 @@
 #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 @@
 		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 @@
 			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 @@
 			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 @@
 	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			\
Index: codecs/ilbc/libilbc.vcproj
===================================================================
--- codecs/ilbc/libilbc.vcproj	(revision 0)
+++ codecs/ilbc/libilbc.vcproj	(revision 0)
@@ -0,0 +1,353 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="8.00"
+	Name="libilbc"
+	ProjectGUID="{989BB874-7AF1-44CB-8E5C-CC8113D267E8}"
+	RootNamespace="libilbc"
+	Keyword="Win32Proj"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)"
+			ConfigurationType="4"
+			CharacterSet="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				Detect64BitPortabilityProblems="true"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLibrarianTool"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)"
+			ConfigurationType="4"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				Detect64BitPortabilityProblems="true"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLibrarianTool"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Source Files"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File
+				RelativePath=".\anaFilter.c"
+				>
+			</File>
+			<File
+				RelativePath=".\constants.c"
+				>
+			</File>
+			<File
+				RelativePath=".\createCB.c"
+				>
+			</File>
+			<File
+				RelativePath=".\doCPLC.c"
+				>
+			</File>
+			<File
+				RelativePath=".\enhancer.c"
+				>
+			</File>
+			<File
+				RelativePath=".\filter.c"
+				>
+			</File>
+			<File
+				RelativePath=".\FrameClassify.c"
+				>
+			</File>
+			<File
+				RelativePath=".\gainquant.c"
+				>
+			</File>
+			<File
+				RelativePath=".\getCBvec.c"
+				>
+			</File>
+			<File
+				RelativePath=".\helpfun.c"
+				>
+			</File>
+			<File
+				RelativePath=".\hpInput.c"
+				>
+			</File>
+			<File
+				RelativePath=".\hpOutput.c"
+				>
+			</File>
+			<File
+				RelativePath=".\iCBConstruct.c"
+				>
+			</File>
+			<File
+				RelativePath=".\iCBSearch.c"
+				>
+			</File>
+			<File
+				RelativePath=".\iLBC_decode.c"
+				>
+			</File>
+			<File
+				RelativePath=".\iLBC_encode.c"
+				>
+			</File>
+			<File
+				RelativePath=".\LPCdecode.c"
+				>
+			</File>
+			<File
+				RelativePath=".\LPCencode.c"
+				>
+			</File>
+			<File
+				RelativePath=".\lsf.c"
+				>
+			</File>
+			<File
+				RelativePath=".\packing.c"
+				>
+			</File>
+			<File
+				RelativePath=".\StateConstructW.c"
+				>
+			</File>
+			<File
+				RelativePath=".\StateSearchW.c"
+				>
+			</File>
+			<File
+				RelativePath=".\syntFilter.c"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Header Files"
+			Filter="h;hpp;hxx;hm;inl;inc;xsd"
+			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+			>
+			<File
+				RelativePath=".\anaFilter.h"
+				>
+			</File>
+			<File
+				RelativePath=".\constants.h"
+				>
+			</File>
+			<File
+				RelativePath=".\createCB.h"
+				>
+			</File>
+			<File
+				RelativePath=".\doCPLC.h"
+				>
+			</File>
+			<File
+				RelativePath=".\enhancer.h"
+				>
+			</File>
+			<File
+				RelativePath=".\filter.h"
+				>
+			</File>
+			<File
+				RelativePath=".\FrameClassify.h"
+				>
+			</File>
+			<File
+				RelativePath=".\gainquant.h"
+				>
+			</File>
+			<File
+				RelativePath=".\getCBvec.h"
+				>
+			</File>
+			<File
+				RelativePath=".\helpfun.h"
+				>
+			</File>
+			<File
+				RelativePath=".\hpInput.h"
+				>
+			</File>
+			<File
+				RelativePath=".\hpOutput.h"
+				>
+			</File>
+			<File
+				RelativePath=".\iCBConstruct.h"
+				>
+			</File>
+			<File
+				RelativePath=".\iCBSearch.h"
+				>
+			</File>
+			<File
+				RelativePath=".\iLBC_decode.h"
+				>
+			</File>
+			<File
+				RelativePath=".\iLBC_define.h"
+				>
+			</File>
+			<File
+				RelativePath=".\iLBC_encode.h"
+				>
+			</File>
+			<File
+				RelativePath=".\LPCdecode.h"
+				>
+			</File>
+			<File
+				RelativePath=".\LPCencode.h"
+				>
+			</File>
+			<File
+				RelativePath=".\lsf.h"
+				>
+			</File>
+			<File
+				RelativePath=".\packing.h"
+				>
+			</File>
+			<File
+				RelativePath=".\StateConstructW.h"
+				>
+			</File>
+			<File
+				RelativePath=".\StateSearchW.h"
+				>
+			</File>
+			<File
+				RelativePath=".\syntFilter.h"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Resource Files"
+			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+			>
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
Index: codecs/lpc10/bsynz.c
===================================================================
--- codecs/lpc10/bsynz.c	(revision 7520)
+++ codecs/lpc10/bsynz.c	(working copy)
@@ -372,7 +372,7 @@
 	exc[px] -= pulse;
 /*  Load voiced excitation */
     } else {
-	sscale = sqrt((real) (*ip)) / 6.928f;
+	sscale = (real)sqrt((real) (*ip)) / 6.928f;
 	i__1 = *ip;
 	for (i__ = 1; i__ <= i__1; ++i__) {
 	    exc[contrl_1.order + i__ - 1] = 0.f;
@@ -438,7 +438,7 @@
 /*  Apply gain to match RMS */
     r__1 = *rms * *rms;
     ssq = r__1 * *ip;
-    gain = sqrt(ssq / xssq);
+    gain = (real)sqrt(ssq / xssq);
     i__1 = *ip;
     for (i__ = 1; i__ <= i__1; ++i__) {
 	sout[i__] = gain * exc2[contrl_1.order + i__ - 1];
Index: codecs/lpc10/decode.c
===================================================================
--- codecs/lpc10/decode.c	(revision 7520)
+++ codecs/lpc10/decode.c	(working copy)
@@ -518,7 +518,7 @@
 	    drc[(5 - i__) * 3 - 2] = iout;
 	}
 /*  Determine error rate */
-	*erate = *erate * .96875f + errcnt * 102;
+	*erate = (integer)(*erate * .96875f + errcnt * 102);
     }
 /*  Get unsmoothed RMS, RC's, and PITCH */
     *irms = drms[1];
@@ -611,7 +611,7 @@
 	ishift = 15 - nbit[i__ - 1];
 	i2 *= pow_ii(&c__2, &ishift);
 	i2 += qb[i__ - 3];
-	irc[i__] = i2 * descl[i__ - 3] + deadd[i__ - 3];
+	irc[i__] = (integer)(i2 * descl[i__ - 3] + deadd[i__ - 3]);
     }
 /* 	IF (LISTL.GE.3) WRITE(FDEBUG,811) IRMS, (IRC(I),I=1,ORDER) */
 /* 811	FORMAT(1X,'<<DECODE OUT>>',T45,I4,1X,10I8) */
Index: codecs/lpc10/encode.c
===================================================================
--- codecs/lpc10/encode.c	(revision 7520)
+++ codecs/lpc10/encode.c	(working copy)
@@ -279,10 +279,10 @@
 
     /* Function Body */
 /*  Scale RMS and RC's to integers */
-    *irms = *rms;
+    *irms = (integer)*rms;
     i__1 = contrl_1.order;
     for (i__ = 1; i__ <= i__1; ++i__) {
-	irc[i__] = rc[i__] * 32768.f;
+	irc[i__] = (integer)(rc[i__] * 32768.f);
     }
 /* 	IF(LISTL.GE.3)WRITE(FDEBUG,800)VOICE,PITCH,IRMS,(IRC(I),I=1,ORDER) */
 /* 800	FORMAT(1X,/,' <<ENCODE IN>>',T32,2I3,I6,I5,T50,10I8) */
@@ -336,8 +336,8 @@
     i__1 = contrl_1.order;
     for (i__ = 3; i__ <= i__1; ++i__) {
 	i2 = irc[i__] / 2;
-	i2 = (i2 + enadd[contrl_1.order + 1 - i__ - 1]) * enscl[
-		contrl_1.order + 1 - i__ - 1];
+	i2 = (integer)((i2 + enadd[contrl_1.order + 1 - i__ - 1]) * enscl[
+		contrl_1.order + 1 - i__ - 1]);
 /* Computing MIN */
 	i__2 = max(i2,-127);
 	i2 = min(i__2,127);
Index: codecs/lpc10/energy.c
===================================================================
--- codecs/lpc10/energy.c	(revision 7520)
+++ codecs/lpc10/energy.c	(working copy)
@@ -97,7 +97,7 @@
     for (i__ = 1; i__ <= i__1; ++i__) {
 	*rms += speech[i__] * speech[i__];
     }
-    *rms = sqrt(*rms / *len);
+    *rms = (real)sqrt(*rms / *len);
     return 0;
 } /* energy_ */
 
Index: codecs/lpc10/f2clib.c
===================================================================
--- codecs/lpc10/f2clib.c	(revision 7520)
+++ codecs/lpc10/f2clib.c	(working copy)
@@ -40,7 +40,7 @@
 		if (n == 0 || x == 1)
 			return 1;
 		if (x != -1)
-			return x == 0 ? 1/x : 0;
+			return x == 0 ? 0 : 1/x;
 		n = -n;
 		}
 	u = n;
@@ -80,6 +80,6 @@
 integer i_nint(real *x)
 #endif
 {
-return( (*x)>=0 ?
-	floor(*x + .5) : -floor(.5 - *x) );
+return( (integer)((*x)>=0 ?
+	floor(*x + .5) : -floor(.5 - *x)) );
 }
Index: codecs/lpc10/irc2pc.c
===================================================================
--- codecs/lpc10/irc2pc.c	(revision 7520)
+++ codecs/lpc10/irc2pc.c	(working copy)
@@ -132,7 +132,7 @@
     for (i__ = 1; i__ <= i__1; ++i__) {
 	*g2pass *= 1.f - rc[i__] * rc[i__];
     }
-    *g2pass = *gprime * sqrt(*g2pass);
+    *g2pass = *gprime * (real)sqrt(*g2pass);
     pc[1] = rc[1];
     i__1 = *order;
     for (i__ = 2; i__ <= i__1; ++i__) {
Index: codecs/lpc10/liblpc10.vcproj
===================================================================
--- codecs/lpc10/liblpc10.vcproj	(revision 0)
+++ codecs/lpc10/liblpc10.vcproj	(revision 0)
@@ -0,0 +1,305 @@
+﻿<?xml version="1.0" encoding="UTF-8"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="8.00"
+	Name="liblpc10"
+	ProjectGUID="{FF1D238A-9D59-4850-838E-78182E05736B}"
+	Keyword="Win32Proj"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="Debug"
+			IntermediateDirectory="Debug"
+			ConfigurationType="4"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;P_R_O_T_O_T_Y_P_E_S"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				Detect64BitPortabilityProblems="true"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLibrarianTool"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory="Release"
+			IntermediateDirectory="Release"
+			ConfigurationType="4"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;P_R_O_T_O_T_Y_P_E_S"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				Detect64BitPortabilityProblems="true"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLibrarianTool"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Header Files"
+			Filter="h;hpp;hxx;hm;inl;inc;xsd"
+			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+			>
+			<File
+				RelativePath=".\f2c.h"
+				>
+			</File>
+			<File
+				RelativePath=".\lpc10.h"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Resource Files"
+			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+			>
+		</Filter>
+		<Filter
+			Name="Source Files"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File
+				RelativePath=".\analys.c"
+				>
+			</File>
+			<File
+				RelativePath=".\bsynz.c"
+				>
+			</File>
+			<File
+				RelativePath=".\chanwr.c"
+				>
+			</File>
+			<File
+				RelativePath=".\dcbias.c"
+				>
+			</File>
+			<File
+				RelativePath=".\decode.c"
+				>
+			</File>
+			<File
+				RelativePath=".\deemp.c"
+				>
+			</File>
+			<File
+				RelativePath=".\difmag.c"
+				>
+			</File>
+			<File
+				RelativePath=".\dyptrk.c"
+				>
+			</File>
+			<File
+				RelativePath=".\encode.c"
+				>
+			</File>
+			<File
+				RelativePath=".\energy.c"
+				>
+			</File>
+			<File
+				RelativePath=".\f2clib.c"
+				>
+			</File>
+			<File
+				RelativePath=".\ham84.c"
+				>
+			</File>
+			<File
+				RelativePath=".\hp100.c"
+				>
+			</File>
+			<File
+				RelativePath=".\invert.c"
+				>
+			</File>
+			<File
+				RelativePath=".\irc2pc.c"
+				>
+			</File>
+			<File
+				RelativePath=".\ivfilt.c"
+				>
+			</File>
+			<File
+				RelativePath=".\lpcdec.c"
+				>
+			</File>
+			<File
+				RelativePath=".\lpcenc.c"
+				>
+			</File>
+			<File
+				RelativePath=".\lpcini.c"
+				>
+			</File>
+			<File
+				RelativePath=".\lpfilt.c"
+				>
+			</File>
+			<File
+				RelativePath=".\median.c"
+				>
+			</File>
+			<File
+				RelativePath=".\mload.c"
+				>
+			</File>
+			<File
+				RelativePath=".\onset.c"
+				>
+			</File>
+			<File
+				RelativePath=".\pitsyn.c"
+				>
+			</File>
+			<File
+				RelativePath=".\placea.c"
+				>
+			</File>
+			<File
+				RelativePath=".\placev.c"
+				>
+			</File>
+			<File
+				RelativePath=".\preemp.c"
+				>
+			</File>
+			<File
+				RelativePath=".\prepro.c"
+				>
+			</File>
+			<File
+				RelativePath=".\random.c"
+				>
+			</File>
+			<File
+				RelativePath=".\rcchk.c"
+				>
+			</File>
+			<File
+				RelativePath=".\synths.c"
+				>
+			</File>
+			<File
+				RelativePath=".\tbdm.c"
+				>
+			</File>
+			<File
+				RelativePath=".\voicin.c"
+				>
+			</File>
+			<File
+				RelativePath=".\vparms.c"
+				>
+			</File>
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
Index: codecs/lpc10/lpc10.h
===================================================================
--- codecs/lpc10/lpc10.h	(revision 7520)
+++ codecs/lpc10/lpc10.h	(working copy)
@@ -46,21 +46,27 @@
 
 #if defined(unix) || defined(__unix__) || defined(__NetBSD__)
 typedef short		INT16;
-typedef int		INT32;
+typedef int			INT32;
 #endif
 
 
 #if defined(__MSDOS__) || defined(MSDOS)
-typedef int		INT16;
+typedef int			INT16;
 typedef long		INT32;
 #endif
 
 #if defined(__APPLE__)
 typedef short		INT16;
-typedef int		INT32;
+typedef int			INT32;
 #endif
 
+#if defined(WIN32) && defined(_MSC_VER)
+typedef __int16		INT16;
+typedef __int32		INT32;
+#pragma warning(disable: 4005)
+#endif
 
+
 /* The initial values for every member of this structure is 0, except
    where noted in comments. */
 
Index: codecs/lpc10/onset.c
===================================================================
--- codecs/lpc10/onset.c	(revision 7520)
+++ codecs/lpc10/onset.c	(working copy)
@@ -272,7 +272,7 @@
 	*d__ = (r__1 * r__1 + (*d__) * 63.f) / 64.f;
 	if ((*d__) != 0.f) {
 	    if (abs(*n) > (*d__)) {
-		*fpc = r_sign(&c_b2, n);
+		*fpc = (real)r_sign(&c_b2, n);
 	    } else {
 		*fpc = (*n) / (*d__);
 	    }
Index: codecs/lpc10/pitsyn.c
===================================================================
--- codecs/lpc10/pitsyn.c	(revision 7520)
+++ codecs/lpc10/pitsyn.c	(working copy)
@@ -465,9 +465,9 @@
 	    i__1 = lsamp;
 	    for (i__ = istart; i__ <= i__1; ++i__) {
 		r__1 = *ipito + slope * i__;
-		ip = r__1 + .5f;
+		ip = (integer)(r__1 + .5f);
 		if (uvpit != 0.f) {
-		    ip = uvpit;
+		    ip = (integer)uvpit;
 		}
 		if (ip <= i__ - jused) {
 		    ++(*nout);
@@ -487,14 +487,14 @@
 		    prop = (jused - ip / 2) / (real) lsamp;
 		    i__2 = *order;
 		    for (j = 1; j <= i__2; ++j) {
-			alro = log((rco[j - 1] + 1) / (1 - rco[j - 1]));
-			alrn = log((rc[j] + 1) / (1 - rc[j]));
+			alro = (real)log((rco[j - 1] + 1) / (1 - rco[j - 1]));
+			alrn = (real)log((rc[j] + 1) / (1 - rc[j]));
 			xxy = alro + prop * (alrn - alro);
-			xxy = exp(xxy);
+			xxy = (real)exp(xxy);
 			rci[j + *nout * rci_dim1] = (xxy - 1) / (xxy + 1);
 		    }
-		    rmsi[*nout] = log(*rmso) + prop * (log(*rms) - log(*rmso));
-		    rmsi[*nout] = exp(rmsi[*nout]);
+		    rmsi[*nout] = (real)(log(*rmso) + prop * (log(*rms) - log(*rmso)));
+		    rmsi[*nout] = (real)exp(rmsi[*nout]);
 		}
 	    }
 	    if (vflag != 1) {
Index: codecs/lpc10/tbdm.c
===================================================================
--- codecs/lpc10/tbdm.c	(revision 7520)
+++ codecs/lpc10/tbdm.c	(working copy)
@@ -121,7 +121,7 @@
     difmag_(&speech[1], lpita, &tau[1], ltau, &tau[*ltau], &amdf[1], minptr, 
 	    maxptr);
     *mintau = tau[*minptr];
-    minamd = amdf[*minptr];
+    minamd = (integer)amdf[*minptr];
 /*   Build table containing all lags within +/- 3 of the AMDF minimum */
 /*    excluding all that have already been computed */
     ltau2 = 0;
@@ -147,7 +147,7 @@
 		maxp2);
 	if (amdf2[minp2 - 1] < (real) minamd) {
 	    *mintau = tau2[minp2 - 1];
-	    minamd = amdf2[minp2 - 1];
+	    minamd = (integer)amdf2[minp2 - 1];
 	}
     }
 /*   Check one octave up, if there are any lags not yet computed */
@@ -165,7 +165,7 @@
 		maxp2);
 	if (amdf2[minp2 - 1] < (real) minamd) {
 	    *mintau = tau2[minp2 - 1];
-	    minamd = amdf2[minp2 - 1];
+	    minamd = (integer)amdf2[minp2 - 1];
 	    *minptr += -20;
 	}
     }
Index: codecs/lpc10/voicin.c
===================================================================
--- codecs/lpc10/voicin.c	(revision 7520)
+++ codecs/lpc10/voicin.c	(working copy)
@@ -778,7 +778,7 @@
 /*   NOTE: The divisor is a function of REF, the expected energies. */
 /* Computing MIN */
 /* Computing MAX */
-    r__2 = sqrt((real) (*lbue * *lbve)) * 64 / 3000;
+    r__2 = (real)(sqrt((real) (*lbue * *lbve)) * 64 / 3000);
     r__1 = max(r__2,1.f);
     *dither = min(r__1,20.f);
 /*   Voicing decisions are returned in VOIBUF. */
Index: codecs/lpc10/vparms.c
===================================================================
--- codecs/lpc10/vparms.c	(revision 7520)
+++ codecs/lpc10/vparms.c	(working copy)
@@ -194,7 +194,7 @@
 /* is undefined. */
 
     r__1 = inbuf[start - 1] - *dither;
-    oldsgn = r_sign(&c_b2, &r__1);
+    oldsgn = (real)r_sign(&c_b2, &r__1);
     i__1 = stop;
     for (i__ = start; i__ <= i__1; ++i__) {
 	lp_rms__ += (r__1 = lpbuf[i__], abs(r__1));
