diff --git a/CMakeLists.txt b/CMakeLists.txt index 61cfcae7d683cf4fc6e236ce31a072af9872e3ce..3239d97659dd5a99ba84734159aa431af01a2670 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,7 +13,7 @@ # Usage with Visual Studio # 1) download CMake from https://cmake.org/download/, don't use the Cygwin version! # 2.1) build project using IDE -# In CMake GUI select the source dir (root of stereo-evs) and a new binary directory +# In CMake GUI select the source dir (root of ivas) and a new binary directory # and press "Configure" and "Generate". Then open the Visual Studio solution file generated # in the build directory. # 2.2) build project using command line @@ -121,17 +121,22 @@ if(WMOPS) add_definitions("-DWMOPS=1") endif() -project(stereo-evs) +project(ivas) set_property(GLOBAL PROPERTY USE_FOLDERS ON) # make Visual Studio projects look nicer include(CTest) +file(GLOB libBasopSrcs "lib_basop/*.c") +file(GLOB libBasopHeaders "lib_basop/*.h") +add_library(lib_basop ${libBasopSrcs} ${libBasopHeaders}) +target_include_directories(lib_basop PUBLIC lib_basop PRIVATE lib_com lib_debug) + file(GLOB libComSrcs "lib_com/*.c") file(GLOB libComHeaders "lib_com/*.h") add_library(lib_com ${libComSrcs} ${libComHeaders}) if(UNIX) target_link_libraries(lib_com PRIVATE m) endif() -target_include_directories(lib_com PUBLIC lib_com PRIVATE lib_enc lib_dec lib_rend lib_debug lib_isar) +target_include_directories(lib_com PUBLIC lib_com PRIVATE lib_basop lib_enc lib_dec lib_rend lib_debug lib_isar) target_include_directories(lib_com PRIVATE lib_lc3plus) file(GLOB libDebugSrcs "lib_debug/*.c") @@ -143,7 +148,7 @@ target_include_directories(lib_debug PUBLIC lib_debug PRIVATE lib_enc lib_dec li file(GLOB libEncSrcs "lib_enc/*.c") file(GLOB libEncHeaders "lib_enc/*.h") add_library(lib_enc ${libEncSrcs} ${libEncHeaders}) -target_link_libraries(lib_enc lib_com lib_debug) +target_link_libraries(lib_enc lib_basop lib_com lib_debug) target_include_directories(lib_enc PUBLIC lib_enc PRIVATE lib_dec lib_rend lib_isar) target_include_directories(lib_enc PRIVATE lib_lc3plus) @@ -156,7 +161,7 @@ file(GLOB libRendSrcs "lib_rend/*.c") file(GLOB libRendHeaders "lib_rend/*.h") add_library(lib_rend ${libRendSrcs} ${libRendHeaders}) -target_link_libraries(lib_rend lib_dec lib_com lib_debug) # Todo refactor: This dependency on lib_dec should be removed. +target_link_libraries(lib_rend lib_dec lib_com lib_basop lib_debug) # Todo refactor: This dependency on lib_dec should be removed. target_link_libraries(lib_rend lib_lc3plus lib_isar) target_include_directories(lib_rend PUBLIC lib_rend PRIVATE lib_enc lib_isar) @@ -164,13 +169,13 @@ target_include_directories(lib_rend PUBLIC lib_rend PRIVATE lib_enc lib_isar) file(GLOB libDecSrcs "lib_dec/*.c") file(GLOB libDecHeaders "lib_dec/*.h") add_library(lib_dec ${libDecSrcs} ${libDecHeaders}) -target_link_libraries(lib_dec lib_com lib_rend lib_debug lib_isar) +target_link_libraries(lib_dec lib_com lib_basop lib_rend lib_debug lib_isar) target_include_directories(lib_dec PUBLIC lib_dec lib_rend PRIVATE lib_enc lib_isar) file(GLOB libUtilSrcs "lib_util/*.c") file(GLOB libUtilHeaders "lib_util/*.h") add_library(lib_util ${libUtilSrcs} ${libUtilHeaders}) -target_include_directories(lib_util PUBLIC lib_util PRIVATE lib_com lib_enc lib_dec lib_rend lib_debug) +target_include_directories(lib_util PUBLIC lib_util PRIVATE lib_basop lib_com lib_enc lib_dec lib_rend lib_debug) target_include_directories(lib_util PRIVATE lib_lc3plus lib_isar) if(NOT WMOPS) @@ -182,7 +187,7 @@ file(GLOB libISARSrcs "lib_isar/*.c") file(GLOB libISARHeaders "lib_isar/*.h") add_library(lib_isar ${libISARSrcs} ${libISARHeaders}) -target_link_libraries(lib_isar lib_com lib_debug lib_lc3plus) # Todo refactor: This dependency on lib_dec should be removed. +target_link_libraries(lib_isar lib_com lib_debug lib_lc3plus lib_basop) # Todo refactor: This dependency on lib_dec should be removed. target_include_directories(lib_isar PUBLIC lib_isar PRIVATE lib_enc lib_dec lib_rend) @@ -218,4 +223,4 @@ if(COPY_EXECUTABLES_FROM_BUILD_DIR) endif() # Allow creating packages for CMake install -install(TARGETS lib_enc lib_dec lib_rend lib_com lib_util ARCHIVE DESTINATION lib) +install(TARGETS lib_enc lib_dec lib_rend lib_basop lib_com lib_util ARCHIVE DESTINATION lib) diff --git a/Makefile b/Makefile index 63ac29842bb6109347cb23165b22538b037adb2d..d9a51f7b208982819605ee4822c9559b06336e6f 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,7 @@ # GNU Makefile # Paths +SRC_LIBBASOP = lib_basop SRC_LIBCOM = lib_com SRC_LIBDEBUG = lib_debug SRC_LIBDEC = lib_dec @@ -13,13 +14,14 @@ SRC_APP = apps BUILD = build OBJDIR = obj -SRC_DIRS = $(sort -u $(SRC_LIBCOM) $(SRC_LIBDEBUG) $(SRC_LIBDEC) $(SRC_LIBENC) $(SRC_LIBREND) $(SRC_LIBISAR) $(SRC_LC3PLUS) $(SRC_LIBUTIL) $(SRC_APP)) +SRC_DIRS = $(sort -u $(SRC_LIBBASOP) $(SRC_LIBCOM) $(SRC_LIBDEBUG) $(SRC_LIBDEC) $(SRC_LIBENC) $(SRC_LIBREND) $(SRC_LIBISAR) $(SRC_LC3PLUS) $(SRC_LIBUTIL) $(SRC_APP)) # Name of CLI binaries CLI_APIDEC ?= IVAS_dec CLI_APIENC ?= IVAS_cod CLI_APIREND ?= IVAS_rend CLI_APIPOSTREND ?= ISAR_post_rend +LIB_LIBBASOP ?= libbasop.a LIB_LIBCOM ?= libivascom.a LIB_LIBDEBUG ?= libivasdebug.a LIB_LIBDEC ?= libivasdec.a @@ -133,6 +135,7 @@ SRCS_SPLIT_REND = ivas_CQMFDecoder.c ivas_CQMFEncoder.c ivas_PerceptualModel.c i ############################################################################### +SRCS_LIBBASOP = $(foreach DIR,$(SRC_LIBBASOP),$(patsubst $(DIR)/%,%,$(wildcard $(DIR)/*.c))) SRCS_LIBCOM = $(foreach DIR,$(SRC_LIBCOM),$(patsubst $(DIR)/%,%,$(wildcard $(DIR)/*.c))) SRCS_LIBDEBUG = $(foreach DIR,$(SRC_LIBDEBUG),$(patsubst $(DIR)/%,%,$(wildcard $(DIR)/*.c))) SRCS_LIBDEC = $(foreach DIR,$(SRC_LIBDEC),$(patsubst $(DIR)/%,%,$(wildcard $(DIR)/*.c))) @@ -142,6 +145,7 @@ SRCS_LIBUTIL = $(foreach DIR,$(SRC_LIBUTIL),$(patsubst $(DIR)/%,%,$(wildcard $( SRCS_LIBISAR = $(foreach DIR,$(SRC_LIBISAR),$(patsubst $(DIR)/%,%,$(wildcard $(DIR)/*.c))) SRCS_LC3PLUS = $(foreach DIR,$(SRC_LC3PLUS),$(patsubst $(DIR)/%,%,$(wildcard $(DIR)/*.c))) +OBJS_LIBBASOP = $(addprefix $(OBJDIR)/,$(SRCS_LIBBASOP:.c=.o)) OBJS_LIBCOM = $(addprefix $(OBJDIR)/,$(SRCS_LIBCOM:.c=.o)) OBJS_LIBDEBUG = $(addprefix $(OBJDIR)/,$(SRCS_LIBDEBUG:.c=.o)) OBJS_LIBDEC = $(addprefix $(OBJDIR)/,$(SRCS_LIBDEC:.c=.o)) @@ -155,7 +159,7 @@ OBJS_CLI_APIENC = $(OBJDIR)/encoder.o OBJS_CLI_APPREND = $(OBJDIR)/renderer.o OBJS_CLI_APPPOSTREND = $(OBJDIR)/isar_post_rend.o -DEPS = $(addprefix $(OBJDIR)/,$(SRCS_LIBCOM:.c=.P) $(SRCS_LIBDEBUG:.c=.P) $(SRCS_LIBDEC:.c=.P) \ +DEPS = $(addprefix $(OBJDIR)/,$(SRCS_LIBCOM:.c=.P) $(SRCS_LIBBASOP:.c=.P) $(SRCS_LIBDEBUG:.c=.P) $(SRCS_LIBDEC:.c=.P) \ $(SRCS_LIBENC:.c=.P) $(SRCS_LIBUTIL:.c=.P) $(SRCS_LIBREND:.c=.P) $(SRCS_LIBISAR:.c=.P) \ $(SRCS_LC3PLUS:.c=.P)) @@ -168,6 +172,9 @@ all: $(CLI_APIENC) $(CLI_APIDEC) $(CLI_APIREND) $(CLI_APIPOSTREND) $(OBJDIR): $(QUIET)mkdir -p $(OBJDIR) +$(LIB_LIBBASOP): $(OBJS_LIBBASOP) + $(QUIET_AR)$(AR) rcs $@ $^ + $(LIB_LIBCOM): $(OBJS_LIBCOM) $(QUIET_AR)$(AR) rcs $@ $^ @@ -192,25 +199,25 @@ $(LIB_LC3PLUS): $(OBJS_LC3PLUS) $(LIB_LIBUTIL): $(OBJS_LIBUTIL) $(QUIET_AR)$(AR) rcs $@ $^ -$(CLI_APIENC): $(OBJS_CLI_APIENC) $(LIB_LIBENC) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(LIB_LIBDEBUG) $(LIB_LC3PLUS) - $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_APIENC) -L. -livasenc -livascom -livasutil -livasdebug $(LDLIBS) -o $(CLI_APIENC) +$(CLI_APIENC): $(OBJS_CLI_APIENC) $(LIB_LIBENC) $(LIB_LIBBASOP) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(LIB_LIBDEBUG) $(LIB_LC3PLUS) + $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_APIENC) -L. -livasenc -livascom -lbasop -livasutil -livasdebug $(LDLIBS) -o $(CLI_APIENC) -$(CLI_APIDEC): $(OBJS_CLI_APIDEC) $(LIB_LIBDEC) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(LIB_LIBDEBUG) $(LIB_LC3PLUS) $(LIB_LIBISAR) - $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_APIDEC) -L. -livasdec -livascom -livasutil -livasdebug -llc3plus $(LDLIBS) -o $(CLI_APIDEC) +$(CLI_APIDEC): $(OBJS_CLI_APIDEC) $(LIB_LIBDEC) $(LIB_LIBBASOP) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(LIB_LIBDEBUG) $(LIB_LC3PLUS) $(LIB_LIBISAR) + $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_APIDEC) -L. -livasdec -livascom -livasutil -livasdebug -llc3plus -lbasop $(LDLIBS) -o $(CLI_APIDEC) -$(CLI_APIREND): $(OBJS_CLI_APPREND) $(LIB_LIBREND) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(LIB_LIBDEBUG) $(LIB_LIBDEC) $(LIB_LC3PLUS) $(LIB_LIBISAR) - $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_APPREND) -L. -livasrend -lisar -livasdec -livasutil -livasdebug -livascom -llc3plus $(LDLIBS) -o $(CLI_APIREND) +$(CLI_APIREND): $(OBJS_CLI_APPREND) $(LIB_LIBREND) $(LIB_LIBBASOP) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(LIB_LIBDEBUG) $(LIB_LIBDEC) $(LIB_LC3PLUS) $(LIB_LIBISAR) + $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_APPREND) -L. -livasrend -lisar -livasdec -livasutil -livasdebug -lbasop -livascom -llc3plus $(LDLIBS) -o $(CLI_APIREND) -$(CLI_APIPOSTREND): $(OBJS_CLI_APPPOSTREND) $(LIB_LIBISAR) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(LIB_LIBDEBUG) $(LIB_LC3PLUS) - $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_APPPOSTREND) -L. -lisar -livasutil -livasdebug -livascom -llc3plus $(LDLIBS) -o $(CLI_APIPOSTREND) +$(CLI_APIPOSTREND): $(OBJS_CLI_APPPOSTREND) $(LIB_LIBISAR) $(LIB_LIBBASOP) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(LIB_LIBDEBUG) $(LIB_LC3PLUS) + $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_APPPOSTREND) -L. -lisar -livasutil -livasdebug -livascom -llc3plus -lbasop $(LDLIBS) -o $(CLI_APIPOSTREND) -libs: $(LIB_LIBENC) $(LIB_LIBDEBUG) $(LIB_LIBCOM) $(LIB_LIBDEC) $(LIB_LIBREND) $(LIB_LIBISAR) $(LIB_LC3PLUS) $(LIB_LIBUTIL) +libs: $(LIB_LIBENC) $(LIB_LIBDEBUG) $(LIB_LIBBASOP) $(LIB_LIBCOM) $(LIB_LIBDEC) $(LIB_LIBREND) $(LIB_LIBISAR) $(LIB_LC3PLUS) $(LIB_LIBUTIL) clean: $(QUIET)$(RM) $(OBJS_LIBENC) $(OBJS_LIBDEC) $(DEPS) $(QUIET)$(RM) $(DEPS:.P=.d) $(QUIET)test ! -d $(OBJDIR) || rm -rf $(OBJDIR) - $(QUIET)$(RM) $(CLI_APIENC) $(CLI_APIDEC) $(CLI_APIREND) $(CLI_APIPOSTREND) $(LIB_LIBENC) $(LIB_LIBDEBUG) $(LIB_LIBCOM) $(LIB_LIBDEC) $(LIB_LIBUTIL) $(LIB_LIBREND) $(LIB_LIBISAR) $(LIB_LC3PLUS) + $(QUIET)$(RM) $(CLI_APIENC) $(CLI_APIDEC) $(CLI_APIREND) $(CLI_APIPOSTREND) $(LIB_LIBENC) $(LIB_LIBDEBUG) $(LIB_LIBBASOP) $(LIB_LIBCOM) $(LIB_LIBDEC) $(LIB_LIBUTIL) $(LIB_LIBREND) $(LIB_LIBISAR) $(LIB_LC3PLUS) $(OBJDIR)/%.o : %.c | $(OBJDIR) $(QUIET_CC)$(CC) $(CFLAGS) -c -MD -o $@ $< diff --git a/Workspace_msvc/Workspace_msvc.sln b/Workspace_msvc/Workspace_msvc.sln index ac2e76b52f0224eefb2fb6c56cbd2a41be66812c..7c2c1e0c5830ae510a40e3fecb16699459bf2be5 100644 --- a/Workspace_msvc/Workspace_msvc.sln +++ b/Workspace_msvc/Workspace_msvc.sln @@ -3,22 +3,43 @@ Microsoft Visual Studio Solution File, Format Version 12.00 VisualStudioVersion = 15.0.28307.902 MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_dec", "lib_dec.vcxproj", "{E822DDAF-0F5F-4CD0-A694-38AE69DE74D3}" + ProjectSection(ProjectDependencies) = postProject + {E7BC6025-0B86-4DF4-A379-E7F5A3DCD87F} = {E7BC6025-0B86-4DF4-A379-E7F5A3DCD87F} + EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_enc", "lib_enc.vcxproj", "{824DA4CF-06F0-45C9-929A-8792F0E19C3E}" + ProjectSection(ProjectDependencies) = postProject + {E7BC6025-0B86-4DF4-A379-E7F5A3DCD87F} = {E7BC6025-0B86-4DF4-A379-E7F5A3DCD87F} + EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_com", "lib_com.vcxproj", "{39EC200D-7795-4FF8-B214-B24EDA5526AE}" + ProjectSection(ProjectDependencies) = postProject + {E7BC6025-0B86-4DF4-A379-E7F5A3DCD87F} = {E7BC6025-0B86-4DF4-A379-E7F5A3DCD87F} + EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_rend", "lib_rend.vcxproj", "{718DE063-A18B-BB72-9150-62B892E6FFA6}" + ProjectSection(ProjectDependencies) = postProject + {E7BC6025-0B86-4DF4-A379-E7F5A3DCD87F} = {E7BC6025-0B86-4DF4-A379-E7F5A3DCD87F} + EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_util", "lib_util.vcxproj", "{2FA8F384-0775-F3B7-F8C3-85209222FC70}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_debug", "lib_debug.vcxproj", "{54509728-928B-44D9-A118-A6F92F08B34F}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "decoder", "decoder.vcxproj", "{E3DCBC31-7FC9-D127-E000-529F8460D5FD}" + ProjectSection(ProjectDependencies) = postProject + {E7BC6025-0B86-4DF4-A379-E7F5A3DCD87F} = {E7BC6025-0B86-4DF4-A379-E7F5A3DCD87F} + EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "encoder", "encoder.vcxproj", "{B3FC9DFC-7268-8660-7C0D-B60BAF02C554}" + ProjectSection(ProjectDependencies) = postProject + {E7BC6025-0B86-4DF4-A379-E7F5A3DCD87F} = {E7BC6025-0B86-4DF4-A379-E7F5A3DCD87F} + EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "renderer", "renderer.vcxproj", "{12B4C8A5-1E06-4E30-B443-D1F916F52B47}" + ProjectSection(ProjectDependencies) = postProject + {E7BC6025-0B86-4DF4-A379-E7F5A3DCD87F} = {E7BC6025-0B86-4DF4-A379-E7F5A3DCD87F} + EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_lc3plus", "lib_lc3plus.vcxproj", "{95030B82-70CD-4C6B-84D4-61096035BEA2}" EndProject @@ -30,6 +51,11 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_isar", "lib_isar.vcxproj", "{869A305E-D99E-4C3A-BDB3-AA57ABCCE619}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "isar_post_rend", "isar_post_rend.vcxproj", "{12374ADC-0E5C-4FDD-B903-71D572413831}" + ProjectSection(ProjectDependencies) = postProject + {E7BC6025-0B86-4DF4-A379-E7F5A3DCD87F} = {E7BC6025-0B86-4DF4-A379-E7F5A3DCD87F} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_basop", "lib_basop.vcxproj", "{E7BC6025-0B86-4DF4-A379-E7F5A3DCD87F}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -111,6 +137,12 @@ Global {12374ADC-0E5C-4FDD-B903-71D572413831}.Release|Win32.ActiveCfg = Release|Win32 {12374ADC-0E5C-4FDD-B903-71D572413831}.Release|Win32.Build.0 = Release|Win32 {12374ADC-0E5C-4FDD-B903-71D572413831}.Release|x64.ActiveCfg = Release|Win32 + {E7BC6025-0B86-4DF4-A379-E7F5A3DCD87F}.Debug|Win32.ActiveCfg = Debug|Win32 + {E7BC6025-0B86-4DF4-A379-E7F5A3DCD87F}.Debug|Win32.Build.0 = Debug|Win32 + {E7BC6025-0B86-4DF4-A379-E7F5A3DCD87F}.Debug|x64.ActiveCfg = Debug|Win32 + {E7BC6025-0B86-4DF4-A379-E7F5A3DCD87F}.Release|Win32.ActiveCfg = Release|Win32 + {E7BC6025-0B86-4DF4-A379-E7F5A3DCD87F}.Release|Win32.Build.0 = Release|Win32 + {E7BC6025-0B86-4DF4-A379-E7F5A3DCD87F}.Release|x64.ActiveCfg = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Workspace_msvc/decoder.vcxproj b/Workspace_msvc/decoder.vcxproj index c124382c9c04fb2b561082fae8210a5cebc0a3b1..10d05b25e1b3e095ad99488c3511a04120b48905 100644 --- a/Workspace_msvc/decoder.vcxproj +++ b/Workspace_msvc/decoder.vcxproj @@ -68,7 +68,7 @@ Disabled - ..\lib_dec;..\lib_com;..\lib_util;..\lib_debug;..\lib_isar;%(AdditionalIncludeDirectories) + ..\lib_basop;..\lib_dec;..\lib_com;..\lib_util;..\lib_debug;..\lib_isar;%(AdditionalIncludeDirectories) _CRT_SECURE_NO_WARNINGS;WIN32;$(Macros);%(PreprocessorDefinitions) EnableFastChecks @@ -153,6 +153,9 @@ + + {e7bc6025-0b86-4df4-a379-e7f5a3dcd87f} + {e822ddaf-0f5f-4cd0-a694-38ae69de74d3} false diff --git a/Workspace_msvc/encoder.vcxproj b/Workspace_msvc/encoder.vcxproj index 309dc15253dc51c5654f65f18cb9ba6ec6e78835..ec2699b315b8db17f0cadf5e25103741684636ad 100644 --- a/Workspace_msvc/encoder.vcxproj +++ b/Workspace_msvc/encoder.vcxproj @@ -68,7 +68,7 @@ Disabled - ..\lib_enc;..\lib_com;..\lib_util;..\lib_debug;%(AdditionalIncludeDirectories) + ..\lib_basop;..\lib_enc;..\lib_com;..\lib_util;..\lib_debug;%(AdditionalIncludeDirectories) _CRT_SECURE_NO_WARNINGS;WIN32;$(Macros);%(PreprocessorDefinitions) EnableFastChecks @@ -160,9 +160,11 @@ + + {e7bc6025-0b86-4df4-a379-e7f5a3dcd87f} + {824da4cf-06f0-45c9-929a-8792f0e19c3e} - false {2fa8f384-0775-f3b7-f8c3-85209222fc70} diff --git a/Workspace_msvc/isar_post_rend.vcxproj b/Workspace_msvc/isar_post_rend.vcxproj index 170ff20545a4ac5c7d610daac49ba963ad4d88b4..abb7ee099077b980fe728656a60b6014c13c4626 100644 --- a/Workspace_msvc/isar_post_rend.vcxproj +++ b/Workspace_msvc/isar_post_rend.vcxproj @@ -65,7 +65,7 @@ Disabled - ..\lib_com;..\lib_debug;..\lib_util;..\lib_isar;..\lib_lc3plus;%(AdditionalIncludeDirectories) + ..\lib_basop;..\lib_com;..\lib_debug;..\lib_util;..\lib_isar;..\lib_lc3plus;%(AdditionalIncludeDirectories) _CRT_SECURE_NO_WARNINGS;WIN32;$(Macros);%(PreprocessorDefinitions) EnableFastChecks @@ -150,6 +150,9 @@ + + {e7bc6025-0b86-4df4-a379-e7f5a3dcd87f} + {54509728-928B-44D9-A118-A6F92F08B34F} false diff --git a/Workspace_msvc/lib_basop.vcxproj b/Workspace_msvc/lib_basop.vcxproj new file mode 100644 index 0000000000000000000000000000000000000000..81c8d7d065e831c6801baa07f6d969e9148c5e7b --- /dev/null +++ b/Workspace_msvc/lib_basop.vcxproj @@ -0,0 +1,146 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + + + + + + + + + + + + + + {E7BC6025-0B86-4DF4-A379-E7F5A3DCD87F} + basop + 10.0.17763.0 + + + + StaticLibrary + v141 + false + MultiByte + + + StaticLibrary + v141 + false + MultiByte + + + + + + + + + + + + + + + <_ProjectFileVersion>15.0.27428.2015 + + + .\Debug_$(ProjectName)\ + .\Debug_$(ProjectName)\ + libbasop + + + .\Release_$(ProjectName)\ + .\Release_$(ProjectName)\ + libbasop + + + + + + + Disabled + ..\lib_basop;..\lib_com;..\lib_debug;..\lib_dec;..\lib_enc;..\lib_rend;..\lib_isar;..\lib_lc3plus;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;$(Macros);WIN32;%(PreprocessorDefinitions) + + EnableFastChecks + MultiThreadedDebug + + + $(IntDir)$(ProjectName).pdb + Level4 + true + OldStyle + Default + %(DisableSpecificWarnings) + false + + + _DEBUG;%(PreprocessorDefinitions) + 0x0c0c + + + WS2_32.lib; %(AdditionalDependencies) + $(OutDir)$(TargetName).lib + true + + + + + + + + MaxSpeed + AnySuitable + false + Neither + false + false + ..\lib_basop;..\lib_com;..\lib_debug;..\lib_dec;..\lib_enc;..\lib_isar;..\lib_rend;..\lib_lc3plus;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;$(Macros);%(PreprocessorDefinitions) + true + + Default + MultiThreaded + true + + + $(IntDir)$(ProjectName).pdb + Level4 + true + + Default + %(DisableSpecificWarnings) + false + + + NDEBUG;%(PreprocessorDefinitions) + 0x0c0c + + + WS2_32.lib; %(AdditionalDependencies) + $(OutDir)$(TargetName).lib + true + + + + + + + + + + + \ No newline at end of file diff --git a/Workspace_msvc/lib_basop.vcxproj.filters b/Workspace_msvc/lib_basop.vcxproj.filters new file mode 100644 index 0000000000000000000000000000000000000000..f6822e1a40cfbe747d0af15bd2f93cdcc91464a9 --- /dev/null +++ b/Workspace_msvc/lib_basop.vcxproj.filters @@ -0,0 +1,54 @@ + + + + + common_evs_c + + + common_evs_c + + + common_evs_c + + + common_evs_c + + + basop_c + + + basop_c + + + basop_c + + + + + {fbb860e2-79d0-45b1-ada1-c3a0a369ce2c} + + + {b95b7bed-a666-4a00-9332-2b528638503e} + + + + + basop_h + + + basop_h + + + basop_h + + + basop_h + + + basop_h + + + basop_h + + + \ No newline at end of file diff --git a/Workspace_msvc/lib_com.vcxproj b/Workspace_msvc/lib_com.vcxproj index 223f837a2e1685afeedb952a5137dab7b902b3a6..2350ab2e3bce4468511a7c516fcae61c4dcb4372 100644 --- a/Workspace_msvc/lib_com.vcxproj +++ b/Workspace_msvc/lib_com.vcxproj @@ -59,7 +59,7 @@ Disabled - ..\lib_com;..\lib_debug;..\lib_dec;..\lib_enc;..\lib_rend;..\lib_isar;..\lib_lc3plus;%(AdditionalIncludeDirectories) + ..\lib_basop;..\lib_com;..\lib_debug;..\lib_dec;..\lib_enc;..\lib_rend;..\lib_isar;..\lib_lc3plus;%(AdditionalIncludeDirectories) _CRT_SECURE_NO_WARNINGS;$(Macros);WIN32;%(PreprocessorDefinitions) EnableFastChecks @@ -127,7 +127,6 @@ - @@ -148,8 +147,6 @@ - - @@ -223,7 +220,7 @@ - + @@ -280,28 +277,22 @@ - - - - - - diff --git a/Workspace_msvc/lib_com.vcxproj.filters b/Workspace_msvc/lib_com.vcxproj.filters index b7c9cc3bdb54a4ed12f99cf0334067da83e0728a..d2aa97dd9ddb36cf2806f833958d1dede2c2979e 100644 --- a/Workspace_msvc/lib_com.vcxproj.filters +++ b/Workspace_msvc/lib_com.vcxproj.filters @@ -49,9 +49,6 @@ common_all_c - - common_all_c - common_all_c @@ -97,12 +94,6 @@ common_all_c - - common_all_c - - - common_all_c - common_all_c @@ -473,6 +464,7 @@ common_ivas_c + @@ -487,18 +479,9 @@ common_h - - common_h - common_h - - common_h - - - common_h - common_h @@ -514,9 +497,6 @@ common_h - - common_h - common_h @@ -526,12 +506,6 @@ common_h - - common_h - - - common_h - common_h @@ -552,4 +526,4 @@ {b95b7bed-a666-4a00-9332-2b528638503e} - + \ No newline at end of file diff --git a/Workspace_msvc/lib_dec.vcxproj b/Workspace_msvc/lib_dec.vcxproj index 3c7ea3e597de37d9377fc8ad745a158d37ca713c..ab766241b6d567dab34c2236c84dc8e8d5c1fd12 100644 --- a/Workspace_msvc/lib_dec.vcxproj +++ b/Workspace_msvc/lib_dec.vcxproj @@ -68,7 +68,7 @@ Disabled - ..\lib_com;..\lib_debug;..\lib_dec;..\lib_enc;..\lib_isar;..\lib_rend;..\lib_lc3plus;%(AdditionalIncludeDirectories) + ..\lib_basop;..\lib_com;..\lib_debug;..\lib_dec;..\lib_enc;..\lib_isar;..\lib_rend;..\lib_lc3plus;%(AdditionalIncludeDirectories) _CRT_SECURE_NO_WARNINGS;$(Macros);WIN32;%(PreprocessorDefinitions) EnableFastChecks diff --git a/Workspace_msvc/lib_enc.vcxproj b/Workspace_msvc/lib_enc.vcxproj index ba0c4c9b6f94cbc5af1499ac5c1143fc2a28e611..388cff65bec356c26e2474ff944e95544672c8e1 100644 --- a/Workspace_msvc/lib_enc.vcxproj +++ b/Workspace_msvc/lib_enc.vcxproj @@ -68,7 +68,7 @@ Disabled - ..\lib_com;..\lib_debug;..\lib_dec;..\lib_enc;..\lib_rend;..\lib_isar;..\lib_lc3plus;%(AdditionalIncludeDirectories) + ..\lib_basop;..\lib_com;..\lib_debug;..\lib_dec;..\lib_enc;..\lib_rend;..\lib_isar;..\lib_lc3plus;%(AdditionalIncludeDirectories) _CRT_SECURE_NO_WARNINGS;$(Macros);WIN32;%(PreprocessorDefinitions) EnableFastChecks diff --git a/Workspace_msvc/lib_isar.vcxproj b/Workspace_msvc/lib_isar.vcxproj index fceeb731ced2445a5434805d422d30654718782a..af1253dc6bea0c39d9bd1f4e3b04d39dcd1ceae3 100644 --- a/Workspace_msvc/lib_isar.vcxproj +++ b/Workspace_msvc/lib_isar.vcxproj @@ -68,7 +68,7 @@ Disabled - ..\lib_com;..\lib_debug;..\lib_dec;..\lib_enc;..\lib_rend;..\lib_isar;..\lib_lc3plus;%(AdditionalIncludeDirectories) + ..\lib_basop;..\lib_com;..\lib_debug;..\lib_dec;..\lib_enc;..\lib_rend;..\lib_isar;..\lib_lc3plus;%(AdditionalIncludeDirectories) _CRT_SECURE_NO_WARNINGS;$(Macros);WIN32;%(PreprocessorDefinitions) EnableFastChecks @@ -197,4 +197,4 @@ - + \ No newline at end of file diff --git a/Workspace_msvc/lib_rend.vcxproj b/Workspace_msvc/lib_rend.vcxproj index 27d4a19a693cf86f60b3ce654912c65b4a7cbaa6..d0bb6bc2caa04ccbdb672771251c5b8de8b6dced 100644 --- a/Workspace_msvc/lib_rend.vcxproj +++ b/Workspace_msvc/lib_rend.vcxproj @@ -68,7 +68,7 @@ Disabled - ..\lib_com;..\lib_debug;..\lib_dec;..\lib_enc;..\lib_isar;..\lib_lc3plus;%(AdditionalIncludeDirectories) + ..\lib_basop;..\lib_com;..\lib_debug;..\lib_dec;..\lib_enc;..\lib_isar;..\lib_lc3plus;%(AdditionalIncludeDirectories) _CRT_SECURE_NO_WARNINGS;$(Macros);WIN32;%(PreprocessorDefinitions) EnableFastChecks diff --git a/Workspace_msvc/lib_rend.vcxproj.filters b/Workspace_msvc/lib_rend.vcxproj.filters index 942c63712f66e57821488868f81981d3042c56b0..889057cb7cadff1cd77deba35651a5d3b7ab950b 100644 --- a/Workspace_msvc/lib_rend.vcxproj.filters +++ b/Workspace_msvc/lib_rend.vcxproj.filters @@ -32,30 +32,12 @@ rend_c - - rend_c - - - rend_c - - - rend_c - - - rend_c - rend_c rend_c - - rend_c - - - rend_c - rend_c @@ -83,15 +65,6 @@ rend_c - - rend_c - - - rend_c - - - rend_c - rend_c @@ -113,9 +86,6 @@ rend_c - - rend_c - rend_c @@ -134,24 +104,6 @@ rend_c - - rend_c - - - rend_c - - - rend_c - - - rend_c - - - rend_c - - - rend_c - rend_c @@ -161,30 +113,12 @@ rend_c - - rend_c - - - rend_c - - - rend_c - rend_c - - rend_h - - - rend_h - - - rend_h - rend_h @@ -203,12 +137,6 @@ rend_h - - rend_h - - - rend_h - diff --git a/Workspace_msvc/lib_util.vcxproj b/Workspace_msvc/lib_util.vcxproj index 79e5545f3fee266b8433f1b74a1926d40b570aa5..3f46010e84d0a9976f926d9bfd50aaa42c456224 100644 --- a/Workspace_msvc/lib_util.vcxproj +++ b/Workspace_msvc/lib_util.vcxproj @@ -55,7 +55,7 @@ Disabled - ..\lib_com;..\lib_debug;..\lib_dec;..\lib_enc;..\lib_isar;..\lib_rend;..\lib_util;..\lib_lc3plus;%(AdditionalIncludeDirectories) + ..\lib_basop;..\lib_com;..\lib_debug;..\lib_dec;..\lib_enc;..\lib_isar;..\lib_rend;..\lib_util;..\lib_lc3plus;%(AdditionalIncludeDirectories) _CRT_SECURE_NO_WARNINGS;$(Macros);ZLIB_WINAPI;%(PreprocessorDefinitions) false diff --git a/Workspace_msvc/renderer.vcxproj b/Workspace_msvc/renderer.vcxproj index 0a7c72a16cac7af074424ab02179cb616f9b3e23..5a1f07cdfbffe38ebb7b55d8f8f28a5d200bfc90 100644 --- a/Workspace_msvc/renderer.vcxproj +++ b/Workspace_msvc/renderer.vcxproj @@ -65,7 +65,7 @@ Disabled - ..\lib_com;..\lib_debug;..\lib_util;..\lib_isar;..\lib_rend;..\lib_lc3plus;%(AdditionalIncludeDirectories) + ..\lib_basop;..\lib_com;..\lib_debug;..\lib_util;..\lib_isar;..\lib_rend;..\lib_lc3plus;%(AdditionalIncludeDirectories) _CRT_SECURE_NO_WARNINGS;WIN32;$(Macros);%(PreprocessorDefinitions) EnableFastChecks @@ -150,6 +150,9 @@ + + {e7bc6025-0b86-4df4-a379-e7f5a3dcd87f} + {54509728-928B-44D9-A118-A6F92F08B34F} false diff --git a/lib_com/basop32.c b/lib_basop/basop32.c similarity index 100% rename from lib_com/basop32.c rename to lib_basop/basop32.c diff --git a/lib_com/basop32.h b/lib_basop/basop32.h similarity index 100% rename from lib_com/basop32.h rename to lib_basop/basop32.h diff --git a/lib_com/enh1632.c b/lib_basop/enh1632.c similarity index 100% rename from lib_com/enh1632.c rename to lib_basop/enh1632.c diff --git a/lib_com/enh1632.h b/lib_basop/enh1632.h similarity index 100% rename from lib_com/enh1632.h rename to lib_basop/enh1632.h diff --git a/lib_com/enh40.c b/lib_basop/enh40.c similarity index 100% rename from lib_com/enh40.c rename to lib_basop/enh40.c diff --git a/lib_com/enh40.h b/lib_basop/enh40.h similarity index 100% rename from lib_com/enh40.h rename to lib_basop/enh40.h diff --git a/lib_com/move.h b/lib_basop/move.h similarity index 100% rename from lib_com/move.h rename to lib_basop/move.h diff --git a/lib_com/stl.h b/lib_basop/stl.h similarity index 100% rename from lib_com/stl.h rename to lib_basop/stl.h diff --git a/lib_basop/thirdPartyLegalNotices/basop.txt b/lib_basop/thirdPartyLegalNotices/basop.txt new file mode 100644 index 0000000000000000000000000000000000000000..4342a6dccdd18aa904dbf0f6834266b4b1a3dc29 --- /dev/null +++ b/lib_basop/thirdPartyLegalNotices/basop.txt @@ -0,0 +1,70 @@ +Applies to lib_basop + + +ITU-T SOFTWARE TOOLS' GENERAL PUBLIC LICENSE +=== + +This "General Public License" is published in the Annex 1 of the ITU-T Recommendation on "SOFTWARE TOOLS FOR HOMOGENITY OF RESULTS IN THE STANDARDIZATION PROCESS OF SPEECH AND AUDIO CODERS", approved in Geneva, 2000. + +TERMS AND CONDITIONS + +1. This License Agreement applies to any module or other work related to the ITU-T Software Tool Library, and developed by the User's Group on Software Tools. The "Module", below, refers to any such module or work, and a "work based on the Module" means either the Module or any work containing the Module or a portion of it, either verbatim or with modifications. +Each licensee is addressed as "you". + +2. You may copy and distribute verbatim copies of the Module's +source code as you receive it, in any medium, provided that you: +- conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; +-keep intact all the notices that refer to this General Public License and to the absence of any warranty; and +-give any other recipients of the Module a copy of this General Public License along with the Module. + +You may charge a fee for the physical act of transferring a copy. + +3. You may modify your copy or copies of the Module or any portion of it, and copy and distribute such modifications under the terms of Paragraph 1 above, provided that you also do the following: + - cause the modified files to carry prominent notices stating that you changed the files and the date of any change; and + - cause the whole of any work that you distribute or publish, that in whole or in part contains the Module or any part thereof, either with or without modifications, to be licensed at no charge to all third parties under the terms of this General Public License (except that you may choose to grant warranty protection to some or all third parties, at your option). + - If the modified module normally reads commands interactively when run, you must cause it, when started running for such interactive use in the simplest and most usual way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the module under these conditions, and telling the user how to view a copy of this General Public License. + +You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. + +Mere aggregation of another independent work with the Module (or its derivative) on a volume of a storage or distribution medium does not bring the other work under the scope of these terms. + +4.You may copy and distribute the Module (or a portion or derivative of it, under Paragraph 2) in object code or executable form under the terms of Paragraphs 1 and 2 above provided that you also do one of the following: + - accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Paragraphs 1 and 2 above; or, + - accompany it with a written offer, valid for at least three years, to give any third party free (except for a nominal charge for the cost of distribution) a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Paragraphs 1 and 2 above; or, + - accompany it with the information you received as to where the corresponding source code may be obtained. + (This alternative is allowed only for noncommercial distribution and only if you received the module in object code or executable form alone.) + +Source code for a work means the preferred form of the work for making modifications to it. +For an executable file, complete source code means all the source code for all modules it contains; +but, as a special exception, it need not include source code for modules which are standard libraries that accompany the operating system on which the executable file runs, or for standard header files or definitions files that accompany that operating system. + +5. You may not copy, modify, sublicense, distribute or transfer the Module except as expressly provided under this General Public License. +Any attempt otherwise to copy, modify, sublicense, distribute or transfer the Module is void, and will automatically terminate your rights to use the Module under this License. +However, parties who have received copies, or rights to use copies, from you under this General Public License will not have their licenses terminated so long as such parties remain in full compliance. + +6. By copying, distributing or modifying the Module (or any work based on the Module) you indicate your acceptance of this license to do so, and all its terms and conditions. + +7. Each time you redistribute the Module (or any work based on the Module), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Module subject to these terms and conditions. +You may not impose any further restrictions on the recipients' exercise of the rights granted herein. + +8. The ITU-T may publish revised and/or new versions of this General Public License from time to time. +Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. +If the Module specifies a version number of the license which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the ITU-T. +If the Module does not specify a version number of the license, you may choose any version ever published by the ITU-T. + +9. If you wish to incorporate parts of the Module into other free modules whose distribution conditions are different, write to the author to ask for permission. +For software which is copyrighted by the ITU-T, write to the ITU-T Secretariat; exceptions may be made for this. +This decision will be guided by the two goals of preserving the free status of all derivatives of this free software +and of promoting the sharing and reuse of software generally. + +NO WARRANTY + +10. BECAUSE THE MODULE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE MODULE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE MODULE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE MODULE IS WITH YOU.SHOULD THE MODULE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +11. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE MODULE AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE MODULE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE MODULE TO OPERATE WITH ANY OTHER MODULES), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS diff --git a/lib_com/typedef.h b/lib_basop/typedef.h similarity index 100% rename from lib_com/typedef.h rename to lib_basop/typedef.h diff --git a/scripts/prepare_instrumentation.sh b/scripts/prepare_instrumentation.sh index 08c595b35cdea9f9eae8a6e0ed58a6886d4e0469..f0d85182925889f8527212dcf5f289d6f13fd0f8 100755 --- a/scripts/prepare_instrumentation.sh +++ b/scripts/prepare_instrumentation.sh @@ -136,7 +136,7 @@ if coan_exists; then sed -i "/-DWMOPS/d" $ifdef_list sed -i "/-UMEM_COUNT_DETAILS/d" $ifdef_list - coan source --replace --no-transients -E -K --file $ifdef_list $targetdir/lib_{com,dec,enc,isar,rend,util,debug}/!(wmc_auto*).[hc] + coan source --replace --no-transients -E -K --file $ifdef_list $targetdir/lib_{com,dec,enc,isar,rend,util,debug,basop}/!(wmc_auto*).[hc] coan source --replace --no-transients -E -K --file $ifdef_list $targetdir/apps/*.[hc] coan source --replace --no-transients -E -K --file $ifdef_list $targetdir/lib_lc3plus/!(wmc_auto*).[hc] coan source --replace --no-transients -E -K --file $ifdef_list $targetdir/lib_lc3plus/fft/!(wmc_auto*).[hc]