[build] Replace visual studio and autotools build systems with CMake

This commit is contained in:
Marko Viitanen 2022-04-28 14:13:20 +03:00
parent 227556a13e
commit 576bf569d3
15 changed files with 136 additions and 1743 deletions

100
CMakeLists.txt Normal file
View file

@ -0,0 +1,100 @@
cmake_minimum_required(VERSION 3.12)
project(uvg266
LANGUAGES C CXX
HOMEPAGE_URL https://github.com/ultravideo/uvg266
DESCRIPTION "An open-source VVC encoder licensed under 3-clause BSD"
VERSION 0.2.3)
configure_file("${PROJECT_SOURCE_DIR}/src/kvazaar.pc.in" "${PROJECT_SOURCE_DIR}/src/kvazaar.pc" @ONLY)
option(USE_SHARED_LIB "Build using shared uvg266 library" ON)
find_package(Git QUIET)
if(GIT_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.git")
# Update submodules as needed
option(GIT_SUBMODULE "Check submodules during build" ON)
if(GIT_SUBMODULE)
message(STATUS "Submodule update")
execute_process(COMMAND ${GIT_EXECUTABLE} submodule update --init --recursive
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
RESULT_VARIABLE GIT_SUBMOD_RESULT)
if(NOT GIT_SUBMOD_RESULT EQUAL "0")
message(WARNING "git submodule update --init --recursive failed with ${GIT_SUBMOD_RESULT}, please checkout submodules")
endif()
endif()
endif()
if(NOT EXISTS "${PROJECT_SOURCE_DIR}/greatest/greatest.h")
message(WARNING "The submodule greatest was not loaded, some tests may fail")
endif()
# Add all sources in src/ base
file(GLOB LIB_SOURCES "src/*.h" "src/*.c")
# We don't want CLI main in the library
list(REMOVE_ITEM LIB_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/src/encmain.c" "${CMAKE_CURRENT_SOURCE_DIR}/src/cli.c" "${CMAKE_CURRENT_SOURCE_DIR}/src/yuv_io.c")
# Add also all the strategies
file(GLOB_RECURSE LIB_SOURCES_STRATEGIES "src/strategies/*.c")
# ToDo: do something with encode_coding_tree-avx2, currently not converted to VVC
list(REMOVE_ITEM LIB_SOURCES_STRATEGIES "${CMAKE_CURRENT_SOURCE_DIR}/src/strategies/avx2/encode_coding_tree-avx2.c")
list(APPEND LIB_SOURCES ${LIB_SOURCES_STRATEGIES})
# We also need the libmd5
list(APPEND LIB_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/src/extras/libmd5.c)
if(NOT USE_SHARED_LIB)
add_definitions(-DPIC -DKVZ_DLL_EXPORTS)
endif()
# For visual studio / windows we also need our own pthread implementation and getopt
if(MSVC)
list(APPEND LIB_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/src/extras/getopt.c ${CMAKE_CURRENT_SOURCE_DIR}/src/threadwrapper/src/pthread.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/threadwrapper/src/semaphore.cpp)
add_definitions(-DWIN32_LEAN_AND_MEAN -D_WIN32 -DWIN32 -DWIN64)
endif()
# ToDo: allow compiling on other than x86
add_definitions(-DCOMPILE_INTEL)
if(USE_SHARED_LIB)
add_library(libuvg266 SHARED ${LIB_SOURCES})
else()
add_library(libuvg266 STATIC ${LIB_SOURCES})
endif()
target_compile_definitions(libuvg266 PUBLIC libuvg266)
target_include_directories(libuvg266 PUBLIC src)
target_include_directories(libuvg266 PUBLIC src/extras)
target_include_directories(libuvg266 PUBLIC src/strategies)
file(GLOB LIB_SOURCES_STRATEGIES_AVX2 "src/strategies/avx2/*.c")
set(CLI_SOURCES "src/encmain.c" "src/cli.c" "src/yuv_io.c")
if(MSVC)
target_include_directories(libuvg266 PUBLIC src/threadwrapper/include)
set_property( SOURCE ${LIB_SOURCES_STRATEGIES_AVX2} APPEND PROPERTY COMPILE_FLAGS "/arch:AVX2" )
list(APPEND CLI_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/src/extras/getopt.c ${CMAKE_CURRENT_SOURCE_DIR}/src/threadwrapper/src/pthread.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/threadwrapper/src/semaphore.cpp)
else()
set_property( SOURCE ${LIB_SOURCES_STRATEGIES_AVX2} APPEND PROPERTY COMPILE_FLAGS "-mavx2" )
endif()
add_executable(uvg266 ${CLI_SOURCES})
target_link_libraries(uvg266 PUBLIC libuvg266)
#source_group( "Header Files" FILES ${INC_FILES} )
#source_group( "Resource Files" FILES ${RESOURCE_FILE} )
# TESTS
if(EXISTS "${PROJECT_SOURCE_DIR}/greatest/greatest.h")
add_subdirectory( "tests/" )
#enable_testing()
add_test( NAME Test_uvg266 COMMAND uvg266_tests )
endif()

View file

@ -1,20 +0,0 @@
ACLOCAL_AMFLAGS = -I m4
SUBDIRS = src tests
dist_man1_MANS = doc/kvazaar.1
dist_doc_DATA = LICENSE LICENSE.EXT.greatest LICENSE.EXT.x264asm CREDITS README.md
EXTRA_DIST = \
build \
doc \
docs.doxy \
greatest \
tools
# Run scripts to maintain autogenerated documentation
# in the version control.
docs: all ./tools/genmanpage.sh ./tools/update_readme.sh
./tools/genmanpage.sh
./tools/update_readme.sh

View file

@ -1,4 +0,0 @@
#!/bin/sh
git submodule update --init --depth 1
autoreconf -if

View file

@ -1,55 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.30723.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "kvazaar_lib", "kvazaar_lib\kvazaar_lib.vcxproj", "{EEA3BDD1-8A08-41C1-BA57-E05D5C2CD8FF}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{50AB7A17-4885-4D20-BF01-376DE4417FCD}"
ProjectSection(SolutionItems) = preProject
kvazaar_VS2010.vsd = kvazaar_VS2010.vsd
kvazaar_VS2010.vsmdi = kvazaar_VS2010.vsmdi
Local.testsettings = Local.testsettings
TraceAndTestImpact.testsettings = TraceAndTestImpact.testsettings
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "kvazaar_tests", "kvazaar_tests\kvazaar_tests.vcxproj", "{3CD1C68B-542C-46D8-9B8A-6C91C5A3F312}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "kvazaar_cli", "kvazaar_cli\kvazaar_cli.vcxproj", "{C755308D-9B3E-4712-99AB-7F6F4E2DA567}"
ProjectSection(ProjectDependencies) = postProject
{EEA3BDD1-8A08-41C1-BA57-E05D5C2CD8FF} = {EEA3BDD1-8A08-41C1-BA57-E05D5C2CD8FF}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Release|Win32 = Release|Win32
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{EEA3BDD1-8A08-41C1-BA57-E05D5C2CD8FF}.Debug|Win32.ActiveCfg = Debug|Win32
{EEA3BDD1-8A08-41C1-BA57-E05D5C2CD8FF}.Debug|Win32.Build.0 = Debug|Win32
{EEA3BDD1-8A08-41C1-BA57-E05D5C2CD8FF}.Debug|x64.ActiveCfg = Debug|x64
{EEA3BDD1-8A08-41C1-BA57-E05D5C2CD8FF}.Debug|x64.Build.0 = Debug|x64
{EEA3BDD1-8A08-41C1-BA57-E05D5C2CD8FF}.Release|Win32.ActiveCfg = Release|Win32
{EEA3BDD1-8A08-41C1-BA57-E05D5C2CD8FF}.Release|Win32.Build.0 = Release|Win32
{EEA3BDD1-8A08-41C1-BA57-E05D5C2CD8FF}.Release|x64.ActiveCfg = Release|x64
{EEA3BDD1-8A08-41C1-BA57-E05D5C2CD8FF}.Release|x64.Build.0 = Release|x64
{3CD1C68B-542C-46D8-9B8A-6C91C5A3F312}.Debug|Win32.ActiveCfg = Debug|Win32
{3CD1C68B-542C-46D8-9B8A-6C91C5A3F312}.Debug|x64.ActiveCfg = Debug|x64
{3CD1C68B-542C-46D8-9B8A-6C91C5A3F312}.Release|Win32.ActiveCfg = Release|Win32
{3CD1C68B-542C-46D8-9B8A-6C91C5A3F312}.Release|x64.ActiveCfg = Release|x64
{C755308D-9B3E-4712-99AB-7F6F4E2DA567}.Debug|Win32.ActiveCfg = Debug|Win32
{C755308D-9B3E-4712-99AB-7F6F4E2DA567}.Debug|Win32.Build.0 = Debug|Win32
{C755308D-9B3E-4712-99AB-7F6F4E2DA567}.Debug|x64.ActiveCfg = Debug|x64
{C755308D-9B3E-4712-99AB-7F6F4E2DA567}.Debug|x64.Build.0 = Debug|x64
{C755308D-9B3E-4712-99AB-7F6F4E2DA567}.Release|Win32.ActiveCfg = Release|Win32
{C755308D-9B3E-4712-99AB-7F6F4E2DA567}.Release|Win32.Build.0 = Release|Win32
{C755308D-9B3E-4712-99AB-7F6F4E2DA567}.Release|x64.ActiveCfg = Release|x64
{C755308D-9B3E-4712-99AB-7F6F4E2DA567}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View file

@ -1,102 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.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="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{C755308D-9B3E-4712-99AB-7F6F4E2DA567}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>kvazaar_cli</RootNamespace>
<WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="..\C_Properties.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="..\C_Properties.props" />
<Import Project="..\Release_Optimizations.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="..\C_Properties.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="..\C_Properties.props" />
<Import Project="..\Release_Optimizations.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<TargetName>kvazaar</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<TargetName>kvazaar</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<TargetName>kvazaar</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<TargetName>kvazaar</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<PostBuildEvent />
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<PostBuildEvent />
</ItemDefinitionGroup>
<ItemGroup>
<ProjectReference Include="..\kvazaar_lib\kvazaar_lib.vcxproj">
<Project>{eea3bdd1-8a08-41c1-ba57-e05d5c2cd8ff}</Project>
<Private>false</Private>
<ReferenceOutputAssembly>true</ReferenceOutputAssembly>
<CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
<LinkLibraryDependencies>true</LinkLibraryDependencies>
<UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\src\cli.c" />
<ClCompile Include="..\..\src\encmain.c" />
<ClCompile Include="..\..\src\yuv_io.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\src\cli.h" />
<ClInclude Include="..\..\src\yuv_io.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View file

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ClCompile Include="..\..\src\cli.c" />
<ClCompile Include="..\..\src\yuv_io.c" />
<ClCompile Include="..\..\src\encmain.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\src\yuv_io.h" />
<ClInclude Include="..\..\src\cli.h" />
</ItemGroup>
</Project>

View file

@ -1,356 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.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="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{EEA3BDD1-8A08-41C1-BA57-E05D5C2CD8FF}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>kvazaar_lib</RootNamespace>
<WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
<Import Project="..\yasm\vsyasm.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="..\C_Properties.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="..\C_Properties.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="..\C_Properties.props" />
<Import Project="..\Release_Optimizations.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="..\C_Properties.props" />
<Import Project="..\Release_Optimizations.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(SolutionDir)$(Platform)-$(Configuration)-libs\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>$(SolutionDir)$(Platform)-$(Configuration)-libs\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)$(Platform)-$(Configuration)-libs\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>$(SolutionDir)$(Platform)-$(Configuration)-libs\</OutDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<YASM />
<Lib>
<AdditionalLibraryDirectories>
</AdditionalLibraryDirectories>
<AdditionalDependencies>
</AdditionalDependencies>
</Lib>
<YASM>
<Defines>ARCH_X86_64=1;%(Defines)</Defines>
<IncludePaths>$(SolutionDir)..\src\extras;%(IncludePaths);$(SolutionDir)..\src\strategies\x86-asm;</IncludePaths>
</YASM>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<YASM>
<Defines>ARCH_X86_64=0;PREFIX</Defines>
<IncludePaths>$(SolutionDir)..\src\extras;%(IncludePaths);$(SolutionDir)..\src\strategies\x86-asm;</IncludePaths>
</YASM>
<Lib>
<AdditionalLibraryDirectories>
</AdditionalLibraryDirectories>
<AdditionalDependencies>
</AdditionalDependencies>
</Lib>
<ClCompile>
<UndefinePreprocessorDefinitions>
</UndefinePreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<YASM>
<Defines>ARCH_X86_64=0;PREFIX</Defines>
<IncludePaths>$(SolutionDir)..\src\extras;%(IncludePaths);$(SolutionDir)..\src\strategies\x86-asm;</IncludePaths>
</YASM>
<Lib>
<AdditionalLibraryDirectories>
</AdditionalLibraryDirectories>
<AdditionalDependencies>
</AdditionalDependencies>
</Lib>
<ClCompile>
<UndefinePreprocessorDefinitions>
</UndefinePreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<YASM>
<Defines>ARCH_X86_64=1;%(Defines)</Defines>
<IncludePaths>$(SolutionDir)..\src\extras;%(IncludePaths);$(SolutionDir)..\src\strategies\x86-asm;</IncludePaths>
</YASM>
<Lib>
<AdditionalLibraryDirectories>
</AdditionalLibraryDirectories>
<AdditionalDependencies>
</AdditionalDependencies>
</Lib>
<ClCompile>
<UndefinePreprocessorDefinitions>
</UndefinePreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\src\constraint.c" />
<ClCompile Include="..\..\src\extras\libmd5.c" />
<ClCompile Include="..\..\src\input_frame_buffer.c" />
<ClCompile Include="..\..\src\kvazaar.c" />
<ClCompile Include="..\..\src\bitstream.c" />
<ClCompile Include="..\..\src\cabac.c" />
<ClCompile Include="..\..\src\cfg.c" />
<ClCompile Include="..\..\src\context.c" />
<ClCompile Include="..\..\src\cu.c" />
<ClCompile Include="..\..\src\encoder.c" />
<ClCompile Include="..\..\src\encoderstate.c" />
<ClCompile Include="..\..\src\encoder_state-bitstream.c" />
<ClCompile Include="..\..\src\encoder_state-ctors_dtors.c" />
<ClCompile Include="..\..\src\encoder_state-geometry.c" />
<ClCompile Include="..\..\src\encode_coding_tree.c" />
<ClCompile Include="..\..\src\extras\getopt.c" />
<ClCompile Include="..\..\src\filter.c" />
<ClCompile Include="..\..\src\image.c" />
<ClCompile Include="..\..\src\imagelist.c" />
<ClCompile Include="..\..\src\alf.c" />
<ClCompile Include="..\..\src\intra.c" />
<ClCompile Include="..\..\src\ml_intra_cu_depth_pred.c" />
<ClCompile Include="..\..\src\nal.c" />
<ClCompile Include="..\..\src\rate_control.c" />
<ClCompile Include="..\..\src\rdo.c" />
<ClCompile Include="..\..\src\fast_coeff_cost.c" />
<ClCompile Include="..\..\src\reshape.c" />
<ClCompile Include="..\..\src\sao.c" />
<ClCompile Include="..\..\src\scalinglist.c" />
<ClCompile Include="..\..\src\search.c" />
<ClCompile Include="..\..\src\search_inter.c" />
<ClCompile Include="..\..\src\search_intra.c" />
<ClCompile Include="..\..\src\strategies\avx2\alf-avx2.c">
<EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
<EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
<EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
<EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
</ClCompile>
<ClCompile Include="..\..\src\strategies\avx2\intra-avx2.c">
<EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
<EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
<EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
<EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
</ClCompile>
<ClCompile Include="..\..\src\strategies\avx2\quant-avx2.c">
<EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
<EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
<EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
<EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
</ClCompile>
<ClCompile Include="..\..\src\strategies\avx2\sao-avx2.c">
<EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
<EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
<EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
<EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
</ClCompile>
<ClCompile Include="..\..\src\strategies\generic\alf-generic.c" />
<ClCompile Include="..\..\src\strategies\generic\encode_coding_tree-generic.c" />
<ClCompile Include="..\..\src\strategies\generic\intra-generic.c" />
<ClCompile Include="..\..\src\strategies\generic\quant-generic.c" />
<ClCompile Include="..\..\src\strategies\generic\sao-generic.c" />
<ClCompile Include="..\..\src\strategies\sse41\alf-sse41.c" />
<ClCompile Include="..\..\src\strategies\strategies-alf.c" />
<ClCompile Include="..\..\src\strategies\strategies-encode.c" />
<ClCompile Include="..\..\src\strategies\strategies-intra.c" />
<ClCompile Include="..\..\src\strategies\strategies-quant.c" />
<ClCompile Include="..\..\src\inter.c" />
<ClInclude Include="..\..\src\checkpoint.h" />
<ClInclude Include="..\..\src\constraint.h" />
<ClInclude Include="..\..\src\cu.h" />
<ClInclude Include="..\..\src\extras\libmd5.h" />
<ClInclude Include="..\..\src\gop.h" />
<ClInclude Include="..\..\src\image.h" />
<ClInclude Include="..\..\src\imagelist.h" />
<ClCompile Include="..\..\src\strategies\altivec\picture-altivec.c" />
<ClCompile Include="..\..\src\strategies\avx2\dct-avx2.c">
<EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
<EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
<EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
<EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
</ClCompile>
<ClCompile Include="..\..\src\strategies\avx2\ipol-avx2.c">
<EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
<EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
<EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
<EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
</ClCompile>
<ClCompile Include="..\..\src\strategies\avx2\picture-avx2.c">
<EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
<EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
<EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
<EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
</ClCompile>
<ClCompile Include="..\..\src\strategies\generic\dct-generic.c" />
<ClCompile Include="..\..\src\strategies\generic\ipol-generic.c" />
<ClCompile Include="..\..\src\strategies\generic\nal-generic.c" />
<ClCompile Include="..\..\src\strategies\generic\picture-generic.c" />
<ClCompile Include="..\..\src\strategies\sse2\picture-sse2.c" />
<ClCompile Include="..\..\src\strategies\sse41\picture-sse41.c" />
<ClCompile Include="..\..\src\strategies\strategies-dct.c" />
<ClCompile Include="..\..\src\strategies\strategies-ipol.c" />
<ClCompile Include="..\..\src\strategies\strategies-nal.c" />
<ClCompile Include="..\..\src\strategies\strategies-picture.c" />
<ClCompile Include="..\..\src\strategies\strategies-sao.c" />
<ClCompile Include="..\..\src\strategies\x86_asm\picture-x86-asm.c" />
<ClCompile Include="..\..\src\threadwrapper\src\pthread.cpp">
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
</ClCompile>
<ClCompile Include="..\..\src\threadwrapper\src\semaphore.cpp">
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
</ClCompile>
<ClCompile Include="..\..\src\videoframe.c" />
<ClInclude Include="..\..\src\encoder_state-bitstream.h" />
<ClInclude Include="..\..\src\encoder_state-ctors_dtors.h" />
<ClInclude Include="..\..\src\encoder_state-geometry.h" />
<ClInclude Include="..\..\src\encode_coding_tree.h" />
<ClCompile Include="..\..\src\strategyselector.c" />
<ClCompile Include="..\..\src\tables.c" />
<ClCompile Include="..\..\src\threadqueue.c" />
<ClCompile Include="..\..\src\transform.c" />
<ClInclude Include="..\..\src\input_frame_buffer.h" />
<ClInclude Include="..\..\src\kvazaar_internal.h" />
<ClInclude Include="..\..\src\kvz_math.h" />
<ClInclude Include="..\..\src\mip_data.h" />
<ClInclude Include="..\..\src\ml_intra_cu_depth_pred.h" />
<ClInclude Include="..\..\src\search_inter.h" />
<ClInclude Include="..\..\src\search_intra.h" />
<ClInclude Include="..\..\src\strategies\avx2\alf-avx2.h" />
<ClInclude Include="..\..\src\strategies\avx2\intra-avx2.h" />
<ClInclude Include="..\..\src\strategies\avx2\sao-avx2.h" />
<ClInclude Include="..\..\src\strategies\generic\alf-generic.h" />
<ClInclude Include="..\..\src\strategies\generic\encode_coding_tree-generic.h" />
<ClInclude Include="..\..\src\strategies\generic\intra-generic.h" />
<ClInclude Include="..\..\src\strategies\generic\sao-generic.h" />
<ClInclude Include="..\..\src\strategies\sse41\alf-sse41.h" />
<ClInclude Include="..\..\src\strategies\strategies-alf.h" />
<ClInclude Include="..\..\src\strategies\strategies-common.h" />
<ClInclude Include="..\..\src\strategies\avx2\quant-avx2.h" />
<ClInclude Include="..\..\src\strategies\generic\quant-generic.h" />
<ClInclude Include="..\..\src\strategies\strategies-encode.h" />
<ClInclude Include="..\..\src\strategies\strategies-intra.h" />
<ClInclude Include="..\..\src\strategies\strategies-quant.h" />
<ClInclude Include="..\..\src\alf.h" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\src\bitstream.h" />
<ClInclude Include="..\..\src\cabac.h" />
<ClInclude Include="..\..\src\cfg.h" />
<ClInclude Include="..\..\src\context.h" />
<ClInclude Include="..\..\src\encoder.h" />
<ClInclude Include="..\..\src\encoderstate.h" />
<ClInclude Include="..\..\src\extras\getopt.h" />
<ClInclude Include="..\..\src\filter.h" />
<ClInclude Include="..\..\src\global.h" />
<ClInclude Include="..\..\src\inter.h" />
<ClInclude Include="..\..\src\intra.h" />
<ClInclude Include="..\..\src\kvazaar.h" />
<ClInclude Include="..\..\src\nal.h" />
<ClInclude Include="..\..\src\rate_control.h" />
<ClInclude Include="..\..\src\rdo.h" />
<ClInclude Include="..\..\src\fast_coeff_cost.h" />
<ClInclude Include="..\..\src\reshape.h" />
<ClInclude Include="..\..\src\sao.h" />
<ClInclude Include="..\..\src\scalinglist.h" />
<ClInclude Include="..\..\src\search.h" />
<ClInclude Include="..\..\src\strategies\altivec\picture-altivec.h" />
<ClInclude Include="..\..\src\strategies\avx2\dct-avx2.h" />
<ClInclude Include="..\..\src\strategies\avx2\ipol-avx2.h" />
<ClInclude Include="..\..\src\strategies\avx2\picture-avx2.h" />
<ClInclude Include="..\..\src\strategies\generic\dct-generic.h" />
<ClInclude Include="..\..\src\strategies\generic\ipol-generic.h" />
<ClInclude Include="..\..\src\strategies\generic\nal-generic.h" />
<ClInclude Include="..\..\src\strategies\generic\picture-generic.h" />
<ClInclude Include="..\..\src\strategies\sse2\picture-sse2.h" />
<ClInclude Include="..\..\src\strategies\sse41\picture-sse41.h" />
<ClInclude Include="..\..\src\strategies\strategies-dct.h" />
<ClInclude Include="..\..\src\strategies\strategies-ipol.h" />
<ClInclude Include="..\..\src\strategies\strategies-nal.h" />
<ClInclude Include="..\..\src\strategies\strategies-picture.h" />
<ClInclude Include="..\..\src\strategies\strategies-sao.h" />
<ClInclude Include="..\..\src\strategies\x86_asm\picture-x86-asm-sad.h" />
<ClInclude Include="..\..\src\strategies\x86_asm\picture-x86-asm-satd.h" />
<ClInclude Include="..\..\src\strategies\x86_asm\picture-x86-asm.h" />
<ClInclude Include="..\..\src\strategyselector.h" />
<ClInclude Include="..\..\src\tables.h" />
<ClInclude Include="..\..\src\threadqueue.h" />
<ClInclude Include="..\..\src\threads.h" />
<ClInclude Include="..\..\src\threadwrapper\include\pthread.h" />
<ClInclude Include="..\..\src\threadwrapper\include\semaphore.h" />
<ClInclude Include="..\..\src\transform.h" />
<ClInclude Include="..\..\src\videoframe.h" />
</ItemGroup>
<ItemGroup>
<YASM Include="..\..\src\extras\x86inc.asm">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
</YASM>
<YASM Include="..\..\src\strategies\x86_asm\picture-x86-asm-sad.asm" />
<YASM Include="..\..\src\strategies\x86_asm\picture-x86-asm-satd.asm" />
</ItemGroup>
<ItemGroup>
<None Include="ClassDiagram.cd" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
<Import Project="..\yasm\vsyasm.targets" />
</ImportGroup>
</Project>

View file

@ -1,520 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Control">
<UniqueIdentifier>{c7f0ebb9-e5c1-479d-bb12-c2403f551ae0}</UniqueIdentifier>
</Filter>
<Filter Include="Bitstream">
<UniqueIdentifier>{2d160ce0-596b-4f8c-ae61-1ddd5ccbe1ea}</UniqueIdentifier>
</Filter>
<Filter Include="Compression">
<UniqueIdentifier>{871a51e7-0a11-4870-ad93-0809af9a2412}</UniqueIdentifier>
</Filter>
<Filter Include="Reconstruction">
<UniqueIdentifier>{8a1eee84-49e9-4e2d-9681-a23a774cdb18}</UniqueIdentifier>
</Filter>
<Filter Include="Optimization">
<UniqueIdentifier>{1dce39e5-50a3-4cd7-adfa-6d382446debd}</UniqueIdentifier>
</Filter>
<Filter Include="Optimization\strategies">
<UniqueIdentifier>{aa218f1d-2e13-425d-80a7-3f4d74076c5c}</UniqueIdentifier>
</Filter>
<Filter Include="Optimization\strategies\generic">
<UniqueIdentifier>{e4e77a4f-e708-4b11-9ba7-9d2b746e3f5d}</UniqueIdentifier>
</Filter>
<Filter Include="Optimization\strategies\sse2">
<UniqueIdentifier>{0c7b7451-4b19-443f-b51c-588e63bb4c93}</UniqueIdentifier>
</Filter>
<Filter Include="Optimization\strategies\sse41">
<UniqueIdentifier>{2b47e32d-3fee-4a34-a4cb-8453b769b1b0}</UniqueIdentifier>
</Filter>
<Filter Include="Optimization\strategies\altivec">
<UniqueIdentifier>{770e42cd-56bc-4377-af83-c14872722ed2}</UniqueIdentifier>
</Filter>
<Filter Include="Optimization\strategies\avx2">
<UniqueIdentifier>{4ffb5d27-c5bb-44d5-a935-fa93066a259e}</UniqueIdentifier>
</Filter>
<Filter Include="Optimization\strategies\x86_asm">
<UniqueIdentifier>{d0ce7d00-30c6-4e8a-b96e-51e13cb038ea}</UniqueIdentifier>
</Filter>
<Filter Include="CABAC">
<UniqueIdentifier>{c696e039-5ba4-48ab-845d-cfe1a5713525}</UniqueIdentifier>
</Filter>
<Filter Include="Extras">
<UniqueIdentifier>{7b258ce6-90d8-4e47-ab43-babda9eefbd9}</UniqueIdentifier>
</Filter>
<Filter Include="Data structures">
<UniqueIdentifier>{f4560af3-b3b4-47b4-b401-908f2d279847}</UniqueIdentifier>
</Filter>
<Filter Include="Threading">
<UniqueIdentifier>{63c21cb2-b379-4d38-bcb8-173786c2466d}</UniqueIdentifier>
</Filter>
<Filter Include="Threadwrapper">
<UniqueIdentifier>{f4abece9-e209-4817-a57e-c64ca7c5e05c}</UniqueIdentifier>
</Filter>
<Filter Include="Constraint">
<UniqueIdentifier>{895fc8cc-6f08-49a7-b377-b5c38a44d1b1}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\src\strategies\strategies-nal.c">
<Filter>Optimization\strategies</Filter>
</ClCompile>
<ClCompile Include="..\..\src\strategies\strategies-picture.c">
<Filter>Optimization\strategies</Filter>
</ClCompile>
<ClCompile Include="..\..\src\strategies\generic\nal-generic.c">
<Filter>Optimization\strategies\generic</Filter>
</ClCompile>
<ClCompile Include="..\..\src\strategies\generic\picture-generic.c">
<Filter>Optimization\strategies\generic</Filter>
</ClCompile>
<ClCompile Include="..\..\src\strategies\altivec\picture-altivec.c">
<Filter>Optimization\strategies\altivec</Filter>
</ClCompile>
<ClCompile Include="..\..\src\strategies\sse41\picture-sse41.c">
<Filter>Optimization\strategies\sse41</Filter>
</ClCompile>
<ClCompile Include="..\..\src\strategies\sse2\picture-sse2.c">
<Filter>Optimization\strategies\sse2</Filter>
</ClCompile>
<ClCompile Include="..\..\src\strategies\avx2\picture-avx2.c">
<Filter>Optimization\strategies\avx2</Filter>
</ClCompile>
<ClCompile Include="..\..\src\strategies\x86_asm\picture-x86-asm.c">
<Filter>Optimization\strategies\x86_asm</Filter>
</ClCompile>
<ClCompile Include="..\..\src\strategies\avx2\dct-avx2.c">
<Filter>Optimization\strategies\avx2</Filter>
</ClCompile>
<ClCompile Include="..\..\src\strategies\generic\dct-generic.c">
<Filter>Optimization\strategies\generic</Filter>
</ClCompile>
<ClCompile Include="..\..\src\strategies\strategies-dct.c">
<Filter>Optimization\strategies</Filter>
</ClCompile>
<ClCompile Include="..\..\src\strategies\strategies-ipol.c">
<Filter>Optimization\strategies</Filter>
</ClCompile>
<ClCompile Include="..\..\src\strategies\avx2\ipol-avx2.c">
<Filter>Optimization\strategies\avx2</Filter>
</ClCompile>
<ClCompile Include="..\..\src\strategies\generic\ipol-generic.c">
<Filter>Optimization\strategies\generic</Filter>
</ClCompile>
<ClCompile Include="..\..\src\strategies\strategies-quant.c">
<Filter>Optimization\strategies</Filter>
</ClCompile>
<ClCompile Include="..\..\src\strategies\generic\quant-generic.c">
<Filter>Optimization\strategies\generic</Filter>
</ClCompile>
<ClCompile Include="..\..\src\strategies\avx2\quant-avx2.c">
<Filter>Optimization\strategies\avx2</Filter>
</ClCompile>
<ClCompile Include="..\..\src\strategies\strategies-intra.c">
<Filter>Optimization\strategies</Filter>
</ClCompile>
<ClCompile Include="..\..\src\strategies\generic\intra-generic.c">
<Filter>Optimization\strategies\generic</Filter>
</ClCompile>
<ClCompile Include="..\..\src\strategies\avx2\intra-avx2.c">
<Filter>Optimization\strategies\avx2</Filter>
</ClCompile>
<ClCompile Include="..\..\src\search.c">
<Filter>Compression</Filter>
</ClCompile>
<ClCompile Include="..\..\src\search_inter.c">
<Filter>Compression</Filter>
</ClCompile>
<ClCompile Include="..\..\src\search_intra.c">
<Filter>Compression</Filter>
</ClCompile>
<ClCompile Include="..\..\src\encoderstate.c">
<Filter>Control</Filter>
</ClCompile>
<ClCompile Include="..\..\src\encoder.c">
<Filter>Control</Filter>
</ClCompile>
<ClCompile Include="..\..\src\encoder_state-ctors_dtors.c">
<Filter>Control</Filter>
</ClCompile>
<ClCompile Include="..\..\src\encoder_state-geometry.c">
<Filter>Control</Filter>
</ClCompile>
<ClCompile Include="..\..\src\cabac.c">
<Filter>CABAC</Filter>
</ClCompile>
<ClCompile Include="..\..\src\context.c">
<Filter>CABAC</Filter>
</ClCompile>
<ClCompile Include="..\..\src\bitstream.c">
<Filter>CABAC</Filter>
</ClCompile>
<ClCompile Include="..\..\src\cfg.c">
<Filter>Control</Filter>
</ClCompile>
<ClCompile Include="..\..\src\filter.c">
<Filter>Reconstruction</Filter>
</ClCompile>
<ClCompile Include="..\..\src\extras\getopt.c">
<Filter>Extras</Filter>
</ClCompile>
<ClCompile Include="..\..\src\videoframe.c">
<Filter>Data structures</Filter>
</ClCompile>
<ClCompile Include="..\..\src\cu.c">
<Filter>Data structures</Filter>
</ClCompile>
<ClCompile Include="..\..\src\image.c">
<Filter>Data structures</Filter>
</ClCompile>
<ClCompile Include="..\..\src\imagelist.c">
<Filter>Data structures</Filter>
</ClCompile>
<ClCompile Include="..\..\src\rdo.c">
<Filter>Compression</Filter>
</ClCompile>
<ClCompile Include="..\..\src\fast_coeff_cost.c">
<Filter>Compression</Filter>
</ClCompile>
<ClCompile Include="..\..\src\inter.c">
<Filter>Reconstruction</Filter>
</ClCompile>
<ClCompile Include="..\..\src\intra.c">
<Filter>Reconstruction</Filter>
</ClCompile>
<ClCompile Include="..\..\src\kvazaar.c">
<Filter>Control</Filter>
</ClCompile>
<ClCompile Include="..\..\src\input_frame_buffer.c">
<Filter>Control</Filter>
</ClCompile>
<ClCompile Include="..\..\src\nal.c">
<Filter>Bitstream</Filter>
</ClCompile>
<ClCompile Include="..\..\src\rate_control.c">
<Filter>Control</Filter>
</ClCompile>
<ClCompile Include="..\..\src\reshape.c">
<Filter>Reconstruction</Filter>
</ClCompile>
<ClCompile Include="..\..\src\sao.c">
<Filter>Reconstruction</Filter>
</ClCompile>
<ClCompile Include="..\..\src\strategyselector.c">
<Filter>Optimization</Filter>
</ClCompile>
<ClCompile Include="..\..\src\transform.c">
<Filter>Reconstruction</Filter>
</ClCompile>
<ClCompile Include="..\..\src\tables.c">
<Filter>Reconstruction</Filter>
</ClCompile>
<ClCompile Include="..\..\src\scalinglist.c">
<Filter>Reconstruction</Filter>
</ClCompile>
<ClCompile Include="..\..\src\threadqueue.c">
<Filter>Threading</Filter>
</ClCompile>
<ClCompile Include="..\..\src\encoder_state-bitstream.c">
<Filter>Bitstream</Filter>
</ClCompile>
<ClCompile Include="..\..\src\encode_coding_tree.c">
<Filter>Bitstream</Filter>
</ClCompile>
<ClCompile Include="..\..\src\strategies\strategies-sao.c">
<Filter>Optimization\strategies</Filter>
</ClCompile>
<ClCompile Include="..\..\src\strategies\generic\sao-generic.c">
<Filter>Optimization\strategies\generic</Filter>
</ClCompile>
<ClCompile Include="..\..\src\strategies\avx2\sao-avx2.c">
<Filter>Optimization\strategies\avx2</Filter>
</ClCompile>
<ClCompile Include="..\..\src\extras\libmd5.c" />
<ClCompile Include="..\..\src\strategies\generic\encode_coding_tree-generic.c">
<Filter>Optimization\strategies\generic</Filter>
</ClCompile>
<ClCompile Include="..\..\src\threadwrapper\src\pthread.cpp">
<Filter>Threadwrapper</Filter>
</ClCompile>
<ClCompile Include="..\..\src\threadwrapper\src\semaphore.cpp">
<Filter>Threadwrapper</Filter>
</ClCompile>
<ClCompile Include="..\..\src\constraint.c">
<Filter>Constraint</Filter>
</ClCompile>
<ClCompile Include="..\..\src\ml_intra_cu_depth_pred.c">
<Filter>Constraint</Filter>
</ClCompile>
<ClCompile Include="..\..\src\inter.c">
<Filter>Reconstruction</Filter>
</ClCompile>
<ClCompile Include="..\..\src\alf.c">
<Filter>Reconstruction</Filter>
</ClCompile>
<ClCompile Include="..\..\src\strategies\strategies-encode.c" />
<ClCompile Include="..\..\src\strategies\generic\alf-generic.c">
<Filter>Optimization\strategies\generic</Filter>
</ClCompile>
<ClCompile Include="..\..\src\strategies\strategies-alf.c">
<Filter>Optimization\strategies</Filter>
</ClCompile>
<ClCompile Include="..\..\src\strategies\sse41\alf-sse41.c">
<Filter>Optimization\strategies\sse41</Filter>
</ClCompile>
<ClCompile Include="..\..\src\strategies\avx2\alf-avx2.c">
<Filter>Optimization\strategies\avx2</Filter>
</ClCompile>
<ClCompile Include="..\..\src\debug.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\src\bitstream.h">
<Filter>CABAC</Filter>
</ClInclude>
<ClInclude Include="..\..\src\cabac.h">
<Filter>CABAC</Filter>
</ClInclude>
<ClInclude Include="..\..\src\context.h">
<Filter>CABAC</Filter>
</ClInclude>
<ClInclude Include="..\..\src\cfg.h">
<Filter>Control</Filter>
</ClInclude>
<ClInclude Include="..\..\src\encoder.h">
<Filter>Control</Filter>
</ClInclude>
<ClInclude Include="..\..\src\encoder_state-ctors_dtors.h">
<Filter>Control</Filter>
</ClInclude>
<ClInclude Include="..\..\src\encoder_state-geometry.h">
<Filter>Control</Filter>
</ClInclude>
<ClInclude Include="..\..\src\encoderstate.h">
<Filter>Control</Filter>
</ClInclude>
<ClInclude Include="..\..\src\input_frame_buffer.h">
<Filter>Control</Filter>
</ClInclude>
<ClInclude Include="..\..\src\rate_control.h">
<Filter>Control</Filter>
</ClInclude>
<ClInclude Include="..\..\src\threads.h">
<Filter>Threading</Filter>
</ClInclude>
<ClInclude Include="..\..\src\threadqueue.h">
<Filter>Threading</Filter>
</ClInclude>
<ClInclude Include="..\..\src\kvazaar.h">
<Filter>Control</Filter>
</ClInclude>
<ClInclude Include="..\..\src\kvazaar_internal.h">
<Filter>Control</Filter>
</ClInclude>
<ClInclude Include="..\..\src\videoframe.h">
<Filter>Data structures</Filter>
</ClInclude>
<ClInclude Include="..\..\src\cu.h">
<Filter>Data structures</Filter>
</ClInclude>
<ClInclude Include="..\..\src\image.h">
<Filter>Data structures</Filter>
</ClInclude>
<ClInclude Include="..\..\src\imagelist.h">
<Filter>Data structures</Filter>
</ClInclude>
<ClInclude Include="..\..\src\extras\getopt.h">
<Filter>Extras</Filter>
</ClInclude>
<ClInclude Include="..\..\src\filter.h">
<Filter>Reconstruction</Filter>
</ClInclude>
<ClInclude Include="..\..\src\intra.h">
<Filter>Reconstruction</Filter>
</ClInclude>
<ClInclude Include="..\..\src\reshape.h">
<Filter>Reconstruction</Filter>
</ClInclude>
<ClInclude Include="..\..\src\sao.h">
<Filter>Reconstruction</Filter>
</ClInclude>
<ClInclude Include="..\..\src\scalinglist.h">
<Filter>Reconstruction</Filter>
</ClInclude>
<ClInclude Include="..\..\src\tables.h">
<Filter>Reconstruction</Filter>
</ClInclude>
<ClInclude Include="..\..\src\transform.h">
<Filter>Reconstruction</Filter>
</ClInclude>
<ClInclude Include="..\..\src\global.h" />
<ClInclude Include="..\..\src\checkpoint.h" />
<ClInclude Include="..\..\src\strategyselector.h">
<Filter>Optimization</Filter>
</ClInclude>
<ClInclude Include="..\..\src\search_intra.h">
<Filter>Compression</Filter>
</ClInclude>
<ClInclude Include="..\..\src\search.h">
<Filter>Compression</Filter>
</ClInclude>
<ClInclude Include="..\..\src\search_inter.h">
<Filter>Compression</Filter>
</ClInclude>
<ClInclude Include="..\..\src\nal.h">
<Filter>Bitstream</Filter>
</ClInclude>
<ClInclude Include="..\..\src\rdo.h">
<Filter>Compression</Filter>
</ClInclude>
<ClInclude Include="..\..\src\fast_coeff_cost.h">
<Filter>Compression</Filter>
</ClInclude>
<ClInclude Include="..\..\src\strategies\strategies-common.h">
<Filter>Optimization\strategies</Filter>
</ClInclude>
<ClInclude Include="..\..\src\strategies\strategies-dct.h">
<Filter>Optimization\strategies</Filter>
</ClInclude>
<ClInclude Include="..\..\src\strategies\strategies-intra.h">
<Filter>Optimization\strategies</Filter>
</ClInclude>
<ClInclude Include="..\..\src\strategies\strategies-ipol.h">
<Filter>Optimization\strategies</Filter>
</ClInclude>
<ClInclude Include="..\..\src\strategies\strategies-nal.h">
<Filter>Optimization\strategies</Filter>
</ClInclude>
<ClInclude Include="..\..\src\strategies\strategies-picture.h">
<Filter>Optimization\strategies</Filter>
</ClInclude>
<ClInclude Include="..\..\src\strategies\strategies-quant.h">
<Filter>Optimization\strategies</Filter>
</ClInclude>
<ClInclude Include="..\..\src\strategies\x86_asm\picture-x86-asm.h">
<Filter>Optimization\strategies\x86_asm</Filter>
</ClInclude>
<ClInclude Include="..\..\src\strategies\x86_asm\picture-x86-asm-sad.h">
<Filter>Optimization\strategies\x86_asm</Filter>
</ClInclude>
<ClInclude Include="..\..\src\strategies\x86_asm\picture-x86-asm-satd.h">
<Filter>Optimization\strategies\x86_asm</Filter>
</ClInclude>
<ClInclude Include="..\..\src\strategies\sse41\picture-sse41.h">
<Filter>Optimization\strategies\sse41</Filter>
</ClInclude>
<ClInclude Include="..\..\src\strategies\sse2\picture-sse2.h">
<Filter>Optimization\strategies\sse2</Filter>
</ClInclude>
<ClInclude Include="..\..\src\strategies\generic\dct-generic.h">
<Filter>Optimization\strategies\generic</Filter>
</ClInclude>
<ClInclude Include="..\..\src\strategies\generic\intra-generic.h">
<Filter>Optimization\strategies\generic</Filter>
</ClInclude>
<ClInclude Include="..\..\src\strategies\generic\ipol-generic.h">
<Filter>Optimization\strategies\generic</Filter>
</ClInclude>
<ClInclude Include="..\..\src\strategies\generic\nal-generic.h">
<Filter>Optimization\strategies\generic</Filter>
</ClInclude>
<ClInclude Include="..\..\src\strategies\generic\picture-generic.h">
<Filter>Optimization\strategies\generic</Filter>
</ClInclude>
<ClInclude Include="..\..\src\strategies\generic\quant-generic.h">
<Filter>Optimization\strategies\generic</Filter>
</ClInclude>
<ClInclude Include="..\..\src\strategies\avx2\dct-avx2.h">
<Filter>Optimization\strategies\avx2</Filter>
</ClInclude>
<ClInclude Include="..\..\src\strategies\avx2\intra-avx2.h">
<Filter>Optimization\strategies\avx2</Filter>
</ClInclude>
<ClInclude Include="..\..\src\strategies\avx2\ipol-avx2.h">
<Filter>Optimization\strategies\avx2</Filter>
</ClInclude>
<ClInclude Include="..\..\src\strategies\avx2\picture-avx2.h">
<Filter>Optimization\strategies\avx2</Filter>
</ClInclude>
<ClInclude Include="..\..\src\strategies\avx2\quant-avx2.h">
<Filter>Optimization\strategies\avx2</Filter>
</ClInclude>
<ClInclude Include="..\..\src\strategies\altivec\picture-altivec.h">
<Filter>Optimization\strategies\altivec</Filter>
</ClInclude>
<ClInclude Include="..\..\src\encoder_state-bitstream.h">
<Filter>Bitstream</Filter>
</ClInclude>
<ClInclude Include="..\..\src\encode_coding_tree.h">
<Filter>Bitstream</Filter>
</ClInclude>
<ClInclude Include="..\..\src\kvz_math.h" />
<ClInclude Include="..\..\src\strategies\strategies-sao.h">
<Filter>Optimization\strategies</Filter>
</ClInclude>
<ClInclude Include="..\..\src\strategies\generic\sao-generic.h">
<Filter>Optimization\strategies\generic</Filter>
</ClInclude>
<ClInclude Include="..\..\src\strategies\avx2\sao-avx2.h">
<Filter>Optimization\strategies\avx2</Filter>
</ClInclude>
<ClInclude Include="..\..\src\extras\libmd5.h" />
<ClInclude Include="..\..\src\threadwrapper\include\pthread.h">
<Filter>Threadwrapper</Filter>
</ClInclude>
<ClInclude Include="..\..\src\threadwrapper\include\semaphore.h">
<Filter>Threadwrapper</Filter>
</ClInclude>
<ClInclude Include="..\..\src\strategies\generic\encode_coding_tree-generic.h">
<Filter>Optimization\strategies\generic</Filter>
</ClInclude>
<ClInclude Include="..\..\src\strategies\strategies-encode.h">
<Filter>Optimization\strategies</Filter>
</ClInclude>
<ClInclude Include="..\..\src\constraint.h">
<Filter>Constraint</Filter>
</ClInclude>
<ClInclude Include="..\..\src\ml_intra_cu_depth_pred.h">
<Filter>Constraint</Filter>
</ClInclude>
<ClInclude Include="..\..\src\gop.h">
<Filter>Control</Filter>
</ClInclude>
<ClInclude Include="..\..\src\inter.h">
<Filter>Reconstruction</Filter>
</ClInclude>
<ClInclude Include="..\..\src\alf.h">
<Filter>Reconstruction</Filter>
</ClInclude>
<ClInclude Include="..\..\src\strategies\generic\alf-generic.h">
<Filter>Optimization\strategies\generic</Filter>
</ClInclude>
<ClInclude Include="..\..\src\strategies\strategies-alf.h">
<Filter>Optimization\strategies</Filter>
</ClInclude>
<ClInclude Include="..\..\src\strategies\sse41\alf-sse41.h">
<Filter>Optimization\strategies\sse41</Filter>
</ClInclude>
<ClInclude Include="..\..\src\strategies\avx2\alf-avx2.h">
<Filter>Optimization\strategies\avx2</Filter>
</ClInclude>
<ClInclude Include="..\..\src\mip_data.h">
<Filter>Reconstruction</Filter>
</ClInclude>
<ClInclude Include="..\..\src\debug.h" />
</ItemGroup>
<ItemGroup>
<YASM Include="..\..\src\extras\x86inc.asm">
<Filter>Extras</Filter>
</YASM>
<YASM Include="..\..\src\strategies\x86_asm\picture-x86-asm-sad.asm">
<Filter>Optimization\strategies\x86_asm</Filter>
</YASM>
<YASM Include="..\..\src\strategies\x86_asm\picture-x86-asm-satd.asm">
<Filter>Optimization\strategies\x86_asm</Filter>
</YASM>
</ItemGroup>
<ItemGroup>
<None Include="ClassDiagram.cd" />
</ItemGroup>
</Project>

View file

@ -1,120 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.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="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{3CD1C68B-542C-46D8-9B8A-6C91C5A3F312}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>kvazaar_tests</RootNamespace>
<WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="..\C_Properties.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="..\C_Properties.props" />
<Import Project="..\Release_Optimizations.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="..\C_Properties.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="..\C_Properties.props" />
<Import Project="..\Release_Optimizations.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<PostBuildEvent />
<ClCompile>
<DisableSpecificWarnings>4127;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<PostBuildEvent>
<Command>$(TargetPath)</Command>
</PostBuildEvent>
<ClCompile>
<UndefinePreprocessorDefinitions>
</UndefinePreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<PostBuildEvent>
<Command>$(TargetPath)</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<PostBuildEvent>
<Command>$(TargetPath)</Command>
</PostBuildEvent>
<ClCompile>
<DisableSpecificWarnings>4127;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ProjectReference Include="..\kvazaar_lib\kvazaar_lib.vcxproj">
<Project>{eea3bdd1-8a08-41c1-ba57-e05d5c2cd8ff}</Project>
<Private>false</Private>
<ReferenceOutputAssembly>true</ReferenceOutputAssembly>
<CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
<LinkLibraryDependencies>true</LinkLibraryDependencies>
<UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\tests\coeff_sum_tests.c" />
<ClCompile Include="..\..\tests\dct_tests.c" />
<ClCompile Include="..\..\tests\mts_tests.c" />
<ClCompile Include="..\..\tests\test_strategies.c" />
<ClCompile Include="..\..\tests\intra_sad_tests.c" />
<ClCompile Include="..\..\tests\mv_cand_tests.c" />
<ClCompile Include="..\..\tests\sad_tests.c" />
<ClCompile Include="..\..\tests\satd_tests.c" />
<ClCompile Include="..\..\tests\speed_tests.c" />
<ClCompile Include="..\..\tests\tests_main.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\tests\test_strategies.h" />
<ClInclude Include="..\..\tests\sad_tests.h" />
<ClInclude Include="..\..\tests\satd_tests.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View file

@ -1,60 +0,0 @@
<?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;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\tests\tests_main.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\tests\sad_tests.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\tests\intra_sad_tests.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\tests\mv_cand_tests.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\tests\satd_tests.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\tests\speed_tests.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\tests\test_strategies.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\tests\dct_tests.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\tests\coeff_sum_tests.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\tests\mts_tests.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\tests\sad_tests.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\tests\satd_tests.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\tests\test_strategies.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>

View file

@ -1,176 +0,0 @@
AC_INIT([kvazaar], m4_esyscmd([printf $(awk '/#define KVZ_VERSION/ { print $3 }' src/global.h)]))
AC_CONFIG_SRCDIR([src/encmain.c])
# Library version number, modify:
# - When modifying kvazaar.h.
# - Modify either major or minor.
# - When making a new release.
# - If major or minor did not change since last release.
# - Check git history to see if someone forgot to increment major or minor.
# - Increment release.
#
# major:
# - Increment when ABI changes, meaning lib users need to be recompiled.
# - ABI changes when anything existing gets modified, including sizes of structs.
# minor:
# - Increment when only API changes in a backwards compatible way without breaking ABI.
# - We count adding parameters to bottom of kvz_config as ABI compatible, because user
# shouldn't copy that struct or care about it's size.
# - If not sure, increment major instead.
# release:
# - Increment when making new releases and major or minor was not changed since last release.
#
# Here is a somewhat sane guide to lib versioning: http://apr.apache.org/versioning.html
ver_major=6
ver_minor=7
ver_release=0
# Prevents configure from adding a lot of defines to the CFLAGS
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_AUX_DIR([build-aux])
AM_INIT_AUTOMAKE([-Wall dist-bzip2 dist-xz foreign subdir-objects])
AM_SILENT_RULES([yes])
AC_PROG_CC
AC_PROG_CC_C99
AM_PROG_AR
AC_PROG_CXX
# Get fread that can read more than 2GB on 32 bit systems.
AC_SYS_LARGEFILE
LT_INIT([win32-dll])
AC_CANONICAL_HOST
flag_gcc_on_mingw="false"
case x"${host_os}" in
x"cygwin"*|x"mingw"*)
if test x"${CC}" = x"gcc" ; then
flag_gcc_on_mingw="true"
fi
esac
AX_CHECK_COMPILE_FLAG([-maltivec],[flag_altivec="true"])
AX_CHECK_COMPILE_FLAG([-mavx2], [flag_avx2="true"])
AX_CHECK_COMPILE_FLAG([-msse4.1], [flag_sse4_1="true"])
AX_CHECK_COMPILE_FLAG([-msse2], [flag_sse2="true"])
AX_CHECK_COMPILE_FLAG([-mbmi], [flag_bmi="true"])
AX_CHECK_COMPILE_FLAG([-mabm], [flag_abm="true"])
AX_CHECK_COMPILE_FLAG([-mpopcnt], [flag_popcnt="true"])
AX_CHECK_COMPILE_FLAG([-mlzcnt], [flag_lzcnt="true"])
AX_CHECK_COMPILE_FLAG([-mbmi2], [flag_bmi2="true"])
# Do we need -mpopcnt and -mlzcnt, or -mabm to use POPCNT and LZCNT
# instructions? Ask GCC and Clang, and they have different answers.
AM_CONDITIONAL([HAVE_ALTIVEC], [test x"$flag_altivec" = x"true"])
AM_CONDITIONAL([HAVE_AVX2_GCC], [test x"$flag_avx2" = x"true" -a x"$flag_bmi" = x"true" -a x"$flag_abm" = x"true" -a x"$flag_bmi2" = x"true" -a x"$flag_gcc_on_mingw" = x"false"])
AM_CONDITIONAL([HAVE_AVX2_CLANG], [test x"$flag_avx2" = x"true" -a x"$flag_bmi" = x"true" -a x"$flag_popcnt" = x"true" -a x"$flag_lzcnt" = x"true" -a x"$flag_bmi2" = x"true" -a x"$flag_gcc_on_mingw" = x"false"])
AM_CONDITIONAL([HAVE_SSE4_1], [test x"$flag_sse4_1" = x"true"])
AM_CONDITIONAL([HAVE_SSE2], [test x"$flag_sse2" = x"true"])
KVZ_CFLAGS="-Wall -Wextra -Wvla -Wno-sign-compare -Wno-unused-parameter -I$srcdir/src -I$srcdir/src/extras -ftree-vectorize -fvisibility=hidden"
CFLAGS="$KVZ_CFLAGS $CFLAGS"
AC_SEARCH_LIBS([log], [m c], [], [exit 1])
AC_SEARCH_LIBS([pow], [m c], [], [exit 1])
AC_SEARCH_LIBS([sqrt], [m c], [], [exit 1])
CPPFLAGS="-DKVZ_DLL_EXPORTS $CPPFLAGS"
# We need to force AX_PTHREAD to check -pthread -lpthread since otherwise
# it only outputs -pthread for GCC. Without -lpthread GCC does not link the
# shared library against the pthread library (even though it does link the
# executable).
PTHREAD_CFLAGS=-pthread
PTHREAD_LIBS=-lpthread
# This does workarounds for pthreads on various compilers.
AX_PTHREAD([],[AC_MSG_ERROR([POSIX threads not found])])
CFLAGS="$PTHREAD_CFLAGS $CFLAGS"
LIBS="$PTHREAD_LIBS $LIBS"
CC="$PTHREAD_CC"
# --enable-werror
AC_ARG_ENABLE([werror], [AS_HELP_STRING([--enable-werror], [treat warnings as errors [no]])],
[CFLAGS="-Werror $CFLAGS"], []
)
# host and cpu specific settings
AS_CASE([$host_cpu],
[i?86], [BITS="32" ASFLAGS="$ASFLAGS -DARCH_X86_64=0" X86="true"],
[x86_64], [BITS="64" ASFLAGS="$ASFLAGS -DARCH_X86_64=1 -m amd64" X86="true"],
[powerpc*], [PPC="true"]
)
AS_CASE([$host_os],
[darwin*], [
ASFLAGS="$ASFLAGS -f macho$BITS -DPREFIX"
],
[cygwin*|msys*|mingw*], [
CFLAGS="$CFLAGS -D__USE_MINGW_ANSI_STDIO=1"
AS_IF(
[test "x$BITS" = "x32"], [
ASFLAGS="$ASFLAGS -fwin32 -DPREFIX -DHAVE_ALIGNED_STACK=0"
], [
ASFLAGS="$ASFLAGS -fwin64 -DHAVE_ALIGNED_STACK=1"
]
)
],
[midipix*], [
AS_IF(
[test "x$BITS" = "x32"], [
ASFLAGS="$ASFLAGS -fwin32 -DPREFIX -DHAVE_ALIGNED_STACK=0"
], [
ASFLAGS="$ASFLAGS -fwin64 -DHAVE_ALIGNED_STACK=1"
]
)
],
[linux*|*kfreebsd*], [
ASFLAGS="$ASFLAGS -f elf$BITS"
LDFLAGS="$LDFLAGS -Wl,-z,noexecstack"
LIBS="$LIBS -lrt"
], [
ASFLAGS="$ASFLAGS -f elf$BITS"
LDFLAGS="$LDFLAGS -Wl,-z,noexecstack"
]
)
# YASM checks
AS_IF([test "x$X86" = "xtrue"], [
AC_CHECK_TOOL([YASM], [yasm], [no])
])
AS_IF([test "x$YASM" != "xno"], [have_yasm="yes"])
AC_ARG_ENABLE([asm], [AS_HELP_STRING([--disable-asm], [disable assembly [no]])],
[], [enable_asm="yes"]
)
AS_IF([test "x$enable_asm" != "xno" -a $have_yasm != "yes"],
[enable_asm="no"]
)
AM_CONDITIONAL([HAVE_X86], [test "x$X86" = "xtrue"])
AM_CONDITIONAL([HAVE_PPC], [test "x$PPC" = "xtrue"])
AM_CONDITIONAL([HAVE_ARM], [test "x$ARM" = "xtrue"])
AM_CONDITIONAL([ENABLE_ASM], [test "x$enable_asm" = "xyes" -a "x$have_yasm" = "xyes" ])
AC_ARG_VAR([ASFLAGS], [ASFLAGS to use for assembler])
AC_SUBST([ASFLAGS])
KVZ_API_VERSION="$ver_major:$ver_minor:$ver_release"
AC_SUBST([KVZ_API_VERSION])
AC_CONFIG_FILES([Makefile
src/Makefile
src/kvazaar.pc
tests/Makefile])
AC_OUTPUT

View file

@ -1,264 +0,0 @@
bin_PROGRAMS = kvazaar
lib_LTLIBRARIES = libkvazaar.la
EXTRA_DIST = \
extras/getopt.c \
extras/getopt.h
pkgconfigdir = $(libdir)/pkgconfig
nodist_pkgconfig_DATA = kvazaar.pc
include_HEADERS = \
kvazaar.h
noinst_HEADERS = \
extras/x86inc.asm
noinst_LTLIBRARIES = \
libaltivec.la \
libavx2.la \
libsse2.la \
libsse41.la
kvazaar_SOURCES = \
encmain.c \
cli.h \
cli.c \
yuv_io.c \
yuv_io.h
kvazaar_LDADD = libkvazaar.la $(LIBS)
kvazaar_CPPFLAGS = -DKVZ_VERSION="`$(srcdir)/../tools/version.sh`"
kvazaar_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
libkvazaar_la_SOURCES = \
alf.c \
alf.h \
bitstream.c \
bitstream.h \
cabac.c \
cabac.h \
checkpoint.c \
checkpoint.h \
cfg.c \
cfg.h \
constraint.c \
constraint.h \
context.c \
context.h \
cu.c \
cu.h \
debug.c \
debug.h \
encoder.c \
encoder.h \
encoderstate.c \
encoderstate.h \
encoder_state-bitstream.c \
encoder_state-bitstream.h \
encoder_state-ctors_dtors.c \
encoder_state-ctors_dtors.h \
encoder_state-geometry.c \
encoder_state-geometry.h \
encode_coding_tree.c \
encode_coding_tree.h \
fast_coeff_cost.c \
fast_coeff_cost.h \
filter.c \
filter.h \
global.h \
gop.h \
image.c \
image.h \
imagelist.c \
imagelist.h \
input_frame_buffer.c \
input_frame_buffer.h \
inter.c \
inter.h \
intra.c \
intra.h \
kvazaar.c \
kvazaar_internal.h \
kvz_math.h \
mip_data.h \
ml_intra_cu_depth_pred.c \
ml_intra_cu_depth_pred.h \
nal.c \
nal.h \
rate_control.c \
rate_control.h \
rdo.c \
rdo.h \
reshape.c \
reshape.h \
sao.c \
sao.h \
scalinglist.c \
scalinglist.h \
search.c \
search.h \
search_inter.c \
search_inter.h \
search_intra.c \
search_intra.h \
tables.c \
tables.h \
threadqueue.c \
threadqueue.h \
threads.h \
transform.c \
transform.h \
videoframe.c \
videoframe.h \
strategies/generic/alf-generic.c \
strategies/generic/alf-generic.h \
strategies/generic/dct-generic.c \
strategies/generic/dct-generic.h \
strategies/generic/intra-generic.c \
strategies/generic/intra-generic.h \
strategies/generic/ipol-generic.c \
strategies/generic/ipol-generic.h \
strategies/generic/nal-generic.c \
strategies/generic/nal-generic.h \
strategies/generic/picture-generic.c \
strategies/generic/picture-generic.h \
strategies/generic/quant-generic.c \
strategies/generic/quant-generic.h \
strategies/generic/sao-generic.c \
strategies/generic/sao-generic.h \
strategies/generic/encode_coding_tree-generic.c \
strategies/generic/encode_coding_tree-generic.h \
strategies/missing-intel-intrinsics.h \
strategies/optimized_sad_func_ptr_t.h \
strategies/generic/sao_shared_generics.h \
strategies/strategies-common.h \
strategies/strategies-alf.c \
strategies/strategies-alf.h \
strategies/strategies-dct.c \
strategies/strategies-dct.h \
strategies/strategies-intra.c \
strategies/strategies-intra.h \
strategies/strategies-ipol.c \
strategies/strategies-ipol.h \
strategies/strategies-nal.c \
strategies/strategies-nal.h \
strategies/strategies-picture.c \
strategies/strategies-picture.h \
strategies/strategies-quant.c \
strategies/strategies-quant.h \
strategies/strategies-sao.c \
strategies/strategies-sao.h \
strategies/strategies-encode.c \
strategies/strategies-encode.h \
strategies/x86_asm/picture-x86-asm.c \
strategies/x86_asm/picture-x86-asm.h \
strategyselector.c \
strategyselector.h \
extras/libmd5.c \
extras/libmd5.h
libkvazaar_la_CFLAGS =
libkvazaar_la_LIBADD = \
libaltivec.la \
libavx2.la \
libsse2.la \
libsse41.la
libkvazaar_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined -version-number $(KVZ_API_VERSION)
libkvazaar_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libkvazaar_la_LDFLAGS) $(LDFLAGS) -o $@
libaltivec_la_SOURCES = \
strategies/altivec/picture-altivec.c \
strategies/altivec/picture-altivec.h
libavx2_la_SOURCES = \
strategies/avx2/avx2_common_functions.h \
strategies/avx2/dct-avx2.c \
strategies/avx2/dct-avx2.h \
strategies/avx2/intra-avx2.c \
strategies/avx2/intra-avx2.h \
strategies/avx2/ipol-avx2.c \
strategies/avx2/ipol-avx2.h \
strategies/avx2/picture-avx2.c \
strategies/avx2/picture-avx2.h \
strategies/avx2/quant-avx2.c \
strategies/avx2/quant-avx2.h \
strategies/avx2/reg_sad_pow2_widths-avx2.h \
strategies/avx2/sao-avx2.c \
strategies/avx2/sao-avx2.h \
strategies/avx2/alf-avx2.c \
strategies/avx2/alf-avx2.h
# strategies/avx2/encode_coding_tree-avx2.c \
# strategies/avx2/encode_coding_tree-avx2.h
libsse2_la_SOURCES = \
strategies/sse2/picture-sse2.c \
strategies/sse2/picture-sse2.h
libsse41_la_SOURCES = \
strategies/sse41/picture-sse41.c \
strategies/sse41/picture-sse41.h \
strategies/sse41/reg_sad_pow2_widths-sse41.h \
strategies/sse41/alf-sse41.c \
strategies/sse41/alf-sse41.h
if HAVE_PPC
if HAVE_ALTIVEC
libaltivec_la_CFLAGS = -maltivec
endif
endif #HAVE_PPC
if HAVE_X86
if HAVE_AVX2_GCC
libavx2_la_CFLAGS = -mavx2 -mbmi -mabm -mbmi2
endif
if HAVE_AVX2_CLANG
libavx2_la_CFLAGS = -mavx2 -mbmi -mpopcnt -mlzcnt -mbmi2
endif
if HAVE_SSE4_1
libsse41_la_CFLAGS = -msse4.1
endif
if HAVE_SSE2
libsse2_la_CFLAGS = -msse2
endif
if ENABLE_ASM
noinst_LTLIBRARIES += libasm.la
libkvazaar_la_LIBADD += libasm.la
libasm_la_SOURCES = \
strategies/x86_asm/picture-x86-asm-sad.asm \
strategies/x86_asm/picture-x86-asm-sad.h \
strategies/x86_asm/picture-x86-asm-satd.asm \
strategies/x86_asm/picture-x86-asm-satd.h
libkvazaar_la_CFLAGS += -DKVZ_COMPILE_ASM
strategies/x86_asm/picture-x86-asm-sad.lo: strategies/x86_asm/picture-x86-asm-sad.asm
strategies/x86_asm/picture-x86-asm-satd.lo: strategies/x86_asm/picture-x86-asm-satd.asm
endif #ENABLE_ASM
endif #HAVE_X86
yasm_verbose = $(yasm_verbose_@AM_V@)
yasm_verbose_ = $(yasm_verbose_@AM_DEFAULT_V@)
yasm_verbose_0 = @echo " YASM " $@;
.asm.lo:
$(yasm_verbose)$(LIBTOOL) --mode=compile --tag=CC $(YASM) -I$(srcdir)/extras $(ASFLAGS) $< -o $@ -prefer-non-pic 1>/dev/null

View file

@ -1,11 +1,12 @@
prefix=@prefix@
prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=${prefix}
libdir=@libdir@
libdir=${prefix}/lib
incdir=${prefix}/include
Name: libkvazaar
Description: Open-source HEVC encoder
Version: @VERSION@
Libs: -L${libdir} -lkvazaar
Name: libuvg266
Description: @CMAKE_PROJECT_DESCRIPTION@
URL: @CMAKE_PROJECT_HOMEPAGE_URL@
Version: @PROJECT_VERSION@
Libs: -L${libdir} -luvg266
Libs.private: @LIBS@
Cflags: -I${incdir}

29
tests/CMakeLists.txt Normal file
View file

@ -0,0 +1,29 @@
file( GLOB TEST_SOURCES "*.c" )
# ToDo: fix the tests
list(REMOVE_ITEM TEST_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/inter_recon_bipred_tests.c")
add_executable(uvg266_tests ${TEST_SOURCES} )
target_include_directories(uvg266_tests PUBLIC ${PROJECT_SOURCE_DIR})
target_include_directories(uvg266_tests PUBLIC ${PROJECT_SOURCE_DIR}/src)
target_include_directories(uvg266_tests PUBLIC ${PROJECT_SOURCE_DIR}/src/extras)
if(USE_SHARED_LIB)
message(INFO " tests do not work with shared lib at the moment")
add_definitions(-DPIC -DKVZ_DLL_EXPORTS)
endif()
if(MSVC)
target_include_directories(uvg266_tests PUBLIC ../src/threadwrapper/include)
set_property( SOURCE ${TEST_SOURCES} APPEND PROPERTY COMPILE_FLAGS "/arch:AVX2" )
add_definitions(-DWIN32_LEAN_AND_MEAN -D_WIN32 -DWIN32 -DWIN64)
else()
set_property( SOURCE ${TEST_SOURCES} APPEND PROPERTY COMPILE_FLAGS "-mavx2" )
endif()
add_definitions(-DCOMPILE_INTEL)
target_link_libraries(uvg266_tests PUBLIC libuvg266)

View file

@ -1,48 +0,0 @@
TESTS = $(check_PROGRAMS) \
test_external_symbols.sh \
test_intra.sh \
test_invalid_input.sh \
test_monochrome.sh \
test_lmcs.sh \
test_tools.sh \
test_slices.sh
#test_weird_shapes.sh
EXTRA_DIST = \
test_external_symbols.sh \
test_intra.sh \
test_invalid_input.sh \
test_monochrome.sh \
test_lmcs.sh \
test_tools.sh \
test_slices.sh \
#test_weird_shapes.sh \
util.sh
check_PROGRAMS = kvazaar_tests
kvazaar_tests_SOURCES = \
coeff_sum_tests.c \
dct_tests.c \
mts_tests.c \
intra_sad_tests.c \
mv_cand_tests.c \
sad_tests.c \
sad_tests.h \
satd_tests.c \
satd_tests.h \
speed_tests.c \
tests_main.c \
test_strategies.c \
test_strategies.h
kvazaar_tests_CFLAGS = -I$(srcdir) -I$(top_srcdir) -I$(top_srcdir)/src
kvazaar_tests_LDFLAGS = -static $(top_builddir)/src/libkvazaar.la $(LIBS)
# This makes sure that CXXLD gets defined.
nodist_EXTRA_kvazaar_tests_SOURCES = cpp.cpp
kvazaar_tests_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(kvazaar_tests_CFLAGS) $(CFLAGS) \
$(kvazaar_tests_LDFLAGS) $(LDFLAGS) -o $@