From 854fe70352483585bd5f207279d2c3da5e820b5c Mon Sep 17 00:00:00 2001 From: Koen Vos <koen.vos@skype.net> Date: Sun, 9 Oct 2011 20:34:41 -0400 Subject: [PATCH] Minor fixes - fixes the test_opus "skip" for stereo - fixes 6 visual studio compile warnings - adds several header files to visual studio's include folder --- src/opus.vcxproj | 201 ++++++++++++++++++++------------------- src/opus.vcxproj.filters | 115 +++++++++++++--------- src/opus_encoder.c | 18 ++-- src/test_opus.c | 2 +- 4 files changed, 186 insertions(+), 150 deletions(-) diff --git a/src/opus.vcxproj b/src/opus.vcxproj index 6e9b3f336..9183787ef 100644 --- a/src/opus.vcxproj +++ b/src/opus.vcxproj @@ -1,97 +1,106 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <Keyword>Win32Proj</Keyword> - <ProjectName>opus</ProjectName> - <ProjectGuid>{219EC965-228A-1824-174D-96449D05F88A}</ProjectGuid> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <LinkIncremental>true</LinkIncremental> - <TargetName>$(ProjectName)_debug</TargetName> - <OutDir>$(SolutionDir)\bin\</OutDir> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <LinkIncremental>false</LinkIncremental> - <OutDir>$(SolutionDir)\bin\</OutDir> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>HAVE_CONFIG_H;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>../silk;../celt;../win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <Optimization>Disabled</Optimization> - </ClCompile> - <Link> - <TargetMachine>MachineX86</TargetMachine> - <GenerateDebugInformation>true</GenerateDebugInformation> - <SubSystem>Console</SubSystem> - <AdditionalLibraryDirectories>$(SolutionDir)$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> - <AdditionalDependencies>celt.lib;silk_common.lib;silk_fixed.lib;silk_float.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>HAVE_CONFIG_H;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>../silk;../celt;../win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - </ClCompile> - <Link> - <TargetMachine>MachineX86</TargetMachine> - <GenerateDebugInformation>false</GenerateDebugInformation> - <SubSystem>Console</SubSystem> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - <AdditionalDependencies>celt.lib;silk_common.lib;silk_fixed.lib;silk_float.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> - <AdditionalLibraryDirectories>$(SolutionDir)$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> - <LinkStatus>false</LinkStatus> - </Link> - </ItemDefinitionGroup> - <ItemGroup> - <ClCompile Include="opus.c" /> - <ClCompile Include="opus_decoder.c" /> - <ClCompile Include="opus_encoder.c" /> - <ClCompile Include="repacketizer.c" /> - <ClCompile Include="test_opus.c" /> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\win32\config.h" /> - <ClInclude Include="opus.h" /> - <ClInclude Include="opus_private.h" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - </ImportGroup> +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <Keyword>Win32Proj</Keyword> + <ProjectName>opus</ProjectName> + <ProjectGuid>{219EC965-228A-1824-174D-96449D05F88A}</ProjectGuid> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>true</UseDebugLibraries> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <LinkIncremental>true</LinkIncremental> + <TargetName>$(ProjectName)_debug</TargetName> + <OutDir>$(SolutionDir)\bin\</OutDir> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <LinkIncremental>false</LinkIncremental> + <OutDir>$(SolutionDir)\bin\</OutDir> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <PreprocessorDefinitions>HAVE_CONFIG_H;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <AdditionalIncludeDirectories>../silk;../celt;../win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <Optimization>Disabled</Optimization> + </ClCompile> + <Link> + <TargetMachine>MachineX86</TargetMachine> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <AdditionalLibraryDirectories>$(SolutionDir)$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalDependencies>celt.lib;silk_common.lib;silk_fixed.lib;silk_float.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <PreprocessorDefinitions>HAVE_CONFIG_H;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <AdditionalIncludeDirectories>../silk;../celt;../win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <TargetMachine>MachineX86</TargetMachine> + <GenerateDebugInformation>false</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + <AdditionalDependencies>celt.lib;silk_common.lib;silk_fixed.lib;silk_float.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalLibraryDirectories>$(SolutionDir)$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <LinkStatus>false</LinkStatus> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="opus.c" /> + <ClCompile Include="opus_decoder.c" /> + <ClCompile Include="opus_encoder.c" /> + <ClCompile Include="repacketizer.c" /> + <ClCompile Include="test_opus.c" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\celt\arch.h" /> + <ClInclude Include="..\celt\celt.h" /> + <ClInclude Include="..\celt\entdec.h" /> + <ClInclude Include="..\celt\entenc.h" /> + <ClInclude Include="..\celt\float_cast.h" /> + <ClInclude Include="..\celt\opus_defines.h" /> + <ClInclude Include="..\celt\opus_types.h" /> + <ClInclude Include="..\celt\os_support.h" /> + <ClInclude Include="..\celt\stack_alloc.h" /> + <ClInclude Include="..\win32\config.h" /> + <ClInclude Include="opus.h" /> + <ClInclude Include="opus_private.h" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> </Project> \ No newline at end of file diff --git a/src/opus.vcxproj.filters b/src/opus.vcxproj.filters index b97050c32..18b67f0c1 100644 --- a/src/opus.vcxproj.filters +++ b/src/opus.vcxproj.filters @@ -1,45 +1,72 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> - <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> - </Filter> - <Filter Include="Header Files"> - <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> - <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> - </Filter> - <Filter Include="Resource Files"> - <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> - <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> - </Filter> - </ItemGroup> - <ItemGroup> - <ClCompile Include="opus_decoder.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="opus_encoder.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="test_opus.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="opus.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="repacketizer.c"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="opus.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\win32\config.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="opus_private.h"> - <Filter>Header Files</Filter> - </ClInclude> - </ItemGroup> +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="opus_decoder.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="opus_encoder.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="test_opus.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="opus.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="repacketizer.c"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="opus.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\win32\config.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="opus_private.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\celt\arch.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\celt\celt.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\celt\entdec.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\celt\entenc.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\celt\float_cast.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\celt\os_support.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\celt\stack_alloc.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\celt\opus_defines.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\celt\opus_types.h"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> </Project> \ No newline at end of file diff --git a/src/opus_encoder.c b/src/opus_encoder.c index e829a7887..045a8b126 100644 --- a/src/opus_encoder.c +++ b/src/opus_encoder.c @@ -268,11 +268,11 @@ void silk_biquad_float( opus_val32 inval; opus_val32 A[2], B[3]; - A[0] = A_Q28[0] * (1./((opus_int32)1<<28)); - A[1] = A_Q28[1] * (1./((opus_int32)1<<28)); - B[0] = B_Q28[0] * (1./((opus_int32)1<<28)); - B[1] = B_Q28[1] * (1./((opus_int32)1<<28)); - B[2] = B_Q28[2] * (1./((opus_int32)1<<28)); + A[0] = (opus_val32)(A_Q28[0] * (1./((opus_int32)1<<28))); + A[1] = (opus_val32)(A_Q28[1] * (1./((opus_int32)1<<28))); + B[0] = (opus_val32)(B_Q28[0] * (1./((opus_int32)1<<28))); + B[1] = (opus_val32)(B_Q28[1] * (1./((opus_int32)1<<28))); + B[2] = (opus_val32)(B_Q28[2] * (1./((opus_int32)1<<28))); /* Negate A_Q28 values and split in two parts */ @@ -904,7 +904,7 @@ int opus_encode_float(OpusEncoder *st, const opus_val16 *pcm, int frame_size, celt_encoder_ctl(celt_enc, CELT_GET_MODE(&celt_mode)); g1 = st->hybrid_stereo_width_Q14; - g2 = st->silk_mode.stereoWidth_Q14; + g2 = (opus_val16)(st->silk_mode.stereoWidth_Q14); #ifdef FIXED_POINT g1 *= (1./16384); g2 *= (1./16384); @@ -1051,7 +1051,7 @@ int opus_encode(OpusEncoder *st, const opus_int16 *pcm, int frame_size, ALLOC(in, frame_size*st->channels, float); for (i=0;i<frame_size*st->channels;i++) - in[i] = (1./32768)*pcm[i]; + in[i] = (1.0f/32768)*pcm[i]; ret = opus_encode_float(st, in, frame_size, data, max_data_bytes); RESTORE_STACK; return ret; @@ -1267,7 +1267,7 @@ int opus_encoder_ctl(OpusEncoder *st, int request, ...) opus_int32 *value = va_arg(ap, opus_int32*); *value = st->Fs/400; if (st->application != OPUS_APPLICATION_RESTRICTED_LOWDELAY) - *value += st->delay_compensation; + *value += st->delay_compensation; } break; case OPUS_GET_FINAL_RANGE_REQUEST: @@ -1289,7 +1289,7 @@ int opus_encoder_ctl(OpusEncoder *st, int request, ...) celt_encoder_ctl(celt_enc, OPUS_RESET_STATE); silk_InitEncoder( silk_enc, &dummy ); st->stream_channels = st->channels; - st->hybrid_stereo_width_Q14 = 1 << 14; + st->hybrid_stereo_width_Q14 = 1 << 14; st->first = 1; st->mode = MODE_HYBRID; st->bandwidth = OPUS_BANDWIDTH_FULLBAND; diff --git a/src/test_opus.c b/src/test_opus.c index 0e8868100..ae5d4c8b5 100644 --- a/src/test_opus.c +++ b/src/test_opus.c @@ -425,7 +425,7 @@ int main(int argc, char *argv[]) } if (output_samples>0) { - fwrite(out+skip, sizeof(short)*channels, output_samples-skip, fout); + fwrite(out+skip*channels, sizeof(short)*channels, output_samples-skip, fout); skip = 0; } else { fprintf(stderr, "error decoding frame: %s\n", opus_strerror(output_samples)); -- GitLab