diff options
author | mattf <mattf@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-02-10 23:37:27 +0000 |
---|---|---|
committer | mattf <mattf@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-02-10 23:37:27 +0000 |
commit | 00dd1704f15d77f4b5ca3694493812b8e49a8696 (patch) | |
tree | 57c12cf4eda0931613bfedd345484014eeabeb2f /codecs/lpc10 | |
parent | 864716935ab085c63a1d6f1bef5beae1dbc76d97 (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/lpc10')
-rw-r--r-- | codecs/lpc10/bsynz.c | 4 | ||||
-rw-r--r-- | codecs/lpc10/decode.c | 4 | ||||
-rw-r--r-- | codecs/lpc10/encode.c | 8 | ||||
-rw-r--r-- | codecs/lpc10/energy.c | 2 | ||||
-rw-r--r-- | codecs/lpc10/f2clib.c | 6 | ||||
-rw-r--r-- | codecs/lpc10/irc2pc.c | 2 | ||||
-rw-r--r-- | codecs/lpc10/liblpc10.vcproj | 305 | ||||
-rw-r--r-- | codecs/lpc10/lpc10.h | 12 | ||||
-rw-r--r-- | codecs/lpc10/onset.c | 2 | ||||
-rw-r--r-- | codecs/lpc10/pitsyn.c | 14 | ||||
-rw-r--r-- | codecs/lpc10/tbdm.c | 6 | ||||
-rw-r--r-- | codecs/lpc10/voicin.c | 2 | ||||
-rw-r--r-- | codecs/lpc10/vparms.c | 2 |
13 files changed, 340 insertions, 29 deletions
diff --git a/codecs/lpc10/bsynz.c b/codecs/lpc10/bsynz.c index 5971a1a22..89e978de6 100644 --- a/codecs/lpc10/bsynz.c +++ b/codecs/lpc10/bsynz.c @@ -372,7 +372,7 @@ e */ 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 @@ e */ /* 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]; diff --git a/codecs/lpc10/decode.c b/codecs/lpc10/decode.c index 8a1661647..460c61d76 100644 --- a/codecs/lpc10/decode.c +++ b/codecs/lpc10/decode.c @@ -518,7 +518,7 @@ static integer c__2 = 2; 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 @@ L900: 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) */ diff --git a/codecs/lpc10/encode.c b/codecs/lpc10/encode.c index 109a42264..ed48cbf66 100644 --- a/codecs/lpc10/encode.c +++ b/codecs/lpc10/encode.c @@ -279,10 +279,10 @@ static integer c__2 = 2; /* 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 @@ static integer c__2 = 2; 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); diff --git a/codecs/lpc10/energy.c b/codecs/lpc10/energy.c index baa6f57ca..fcc93fd00 100644 --- a/codecs/lpc10/energy.c +++ b/codecs/lpc10/energy.c @@ -97,7 +97,7 @@ extern int energy_(integer *len, real *speech, real *rms); for (i__ = 1; i__ <= i__1; ++i__) { *rms += speech[i__] * speech[i__]; } - *rms = sqrt(*rms / *len); + *rms = (real)sqrt(*rms / *len); return 0; } /* energy_ */ diff --git a/codecs/lpc10/f2clib.c b/codecs/lpc10/f2clib.c index e72c307c6..037172828 100644 --- a/codecs/lpc10/f2clib.c +++ b/codecs/lpc10/f2clib.c @@ -40,7 +40,7 @@ integer pow_ii(integer *ap, integer *bp) 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(x) real *x; 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)) ); } diff --git a/codecs/lpc10/irc2pc.c b/codecs/lpc10/irc2pc.c index 412feb72a..8150c930d 100644 --- a/codecs/lpc10/irc2pc.c +++ b/codecs/lpc10/irc2pc.c @@ -132,7 +132,7 @@ extern int irc2pc_(real *rc, real *pc, integer *order, real *gprime, real *g2pas 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__) { diff --git a/codecs/lpc10/liblpc10.vcproj b/codecs/lpc10/liblpc10.vcproj new file mode 100644 index 000000000..56bb2ea18 --- /dev/null +++ b/codecs/lpc10/liblpc10.vcproj @@ -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>
diff --git a/codecs/lpc10/lpc10.h b/codecs/lpc10/lpc10.h index 99c64c624..db7c25ad9 100644 --- a/codecs/lpc10/lpc10.h +++ b/codecs/lpc10/lpc10.h @@ -46,18 +46,24 @@ Add broken lpc10 code... It's not too far from working I don't think... #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 diff --git a/codecs/lpc10/onset.c b/codecs/lpc10/onset.c index b8037a84d..8cb82f822 100644 --- a/codecs/lpc10/onset.c +++ b/codecs/lpc10/onset.c @@ -272,7 +272,7 @@ static real c_b2 = 1.f; *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__); } diff --git a/codecs/lpc10/pitsyn.c b/codecs/lpc10/pitsyn.c index 3152ce44b..2d9c161b9 100644 --- a/codecs/lpc10/pitsyn.c +++ b/codecs/lpc10/pitsyn.c @@ -465,9 +465,9 @@ after */ 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 @@ over 16. */ 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) { diff --git a/codecs/lpc10/tbdm.c b/codecs/lpc10/tbdm.c index 2ed6e34cf..3e206de34 100644 --- a/codecs/lpc10/tbdm.c +++ b/codecs/lpc10/tbdm.c @@ -121,7 +121,7 @@ extern int tbdm_(real *speech, integer *lpita, integer *tau, integer *ltau, real 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 @@ extern int tbdm_(real *speech, integer *lpita, integer *tau, integer *ltau, real 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 @@ extern int tbdm_(real *speech, integer *lpita, integer *tau, integer *ltau, real maxp2); if (amdf2[minp2 - 1] < (real) minamd) { *mintau = tau2[minp2 - 1]; - minamd = amdf2[minp2 - 1]; + minamd = (integer)amdf2[minp2 - 1]; *minptr += -20; } } diff --git a/codecs/lpc10/voicin.c b/codecs/lpc10/voicin.c index 45bb5d0d3..02e4d409c 100644 --- a/codecs/lpc10/voicin.c +++ b/codecs/lpc10/voicin.c @@ -778,7 +778,7 @@ d*/ /* 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. */ diff --git a/codecs/lpc10/vparms.c b/codecs/lpc10/vparms.c index b9e602930..fe80f8767 100644 --- a/codecs/lpc10/vparms.c +++ b/codecs/lpc10/vparms.c @@ -194,7 +194,7 @@ static real c_b2 = 1.f; /* 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)); |