From 4ffa59a86795ae2b7fa730cb3e1dabf419121ae9 Mon Sep 17 00:00:00 2001 From: Karsten Suehring <karsten.suehring@hhi.fraunhofer.de> Date: Tue, 13 Dec 2022 07:55:43 +0100 Subject: [PATCH] Add option to enable RExt__HIGH_BIT_DEPTH_SUPPORT from command line --- CMakeLists.txt | 2 ++ Makefile | 8 ++------ source/App/BitstreamExtractorApp/CMakeLists.txt | 8 ++++++++ source/App/DecoderAnalyserApp/CMakeLists.txt | 8 ++++++++ source/App/DecoderApp/CMakeLists.txt | 8 ++++++++ source/App/EncoderApp/CMakeLists.txt | 8 ++++++++ source/App/SEIFilmGrainApp/CMakeLists.txt | 8 ++++++++ source/App/SEIRemovalApp/CMakeLists.txt | 8 ++++++++ source/App/StreamMergeApp/CMakeLists.txt | 8 ++++++++ source/App/SubpicMergeApp/CMakeLists.txt | 8 ++++++++ source/Lib/CommonAnalyserLib/CMakeLists.txt | 10 +++++++++- source/Lib/CommonLib/CMakeLists.txt | 10 +++++++++- source/Lib/DecoderAnalyserLib/CMakeLists.txt | 8 ++++++++ source/Lib/DecoderLib/CMakeLists.txt | 8 ++++++++ source/Lib/EncoderLib/CMakeLists.txt | 8 ++++++++ source/Lib/Utilities/CMakeLists.txt | 8 ++++++++ 16 files changed, 118 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 00171124a..82f63c713 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,6 +33,8 @@ set( EXTENSION_HDRTOOLS OFF CACHE BOOL "If EXTENSION_HDRTOOLS is on, HDRLib will if (DEFINED ENABLE_TRACING) set( ENABLE_TRACING OFF CACHE BOOL "ENABLE_TRACING will be set to this value" ) endif() +set( SET_ENABLE_HIGH_BITDEPTH OFF CACHE BOOL "Set RExt__HIGH_BIT_DEPTH_SUPPORT as a compiler flag" ) +set( ENABLE_HIGH_BITDEPTH OFF CACHE BOOL "If SET_ENABLE_HIGH_BITDEPTH is on, it will be set to this value" ) if( CMAKE_COMPILER_IS_GNUCC ) set( BUILD_STATIC OFF CACHE BOOL "Build static executables" ) diff --git a/Makefile b/Makefile index 40e9dafc0..e5c21bb48 100644 --- a/Makefile +++ b/Makefile @@ -86,12 +86,8 @@ ifneq ($(enable-tracing),) CONFIG_OPTIONS += -DENABLE_TRACING=$(enable-tracing) endif -ifneq ($(parallel-split),) -CONFIG_OPTIONS += -DSET_ENABLE_SPLIT_PARALLELISM=ON -DENABLE_SPLIT_PARALLELISM=$(parallel-split) -endif - -ifneq ($(parallel-wpp),) -CONFIG_OPTIONS += -DSET_ENABLE_WPP_PARALLELISM=ON -DENABLE_WPP_PARALLELISM=$(parallel-wpp) +ifneq ($(high-bitdepth),) +CONFIG_OPTIONS += -DSET_ENABLE_HIGH_BITDEPTH=ON -DENABLE_HIGH_BITDEPTH=$(high-bitdepth) endif ifneq ($(static),) diff --git a/source/App/BitstreamExtractorApp/CMakeLists.txt b/source/App/BitstreamExtractorApp/CMakeLists.txt index 86ed8f968..671c470f4 100644 --- a/source/App/BitstreamExtractorApp/CMakeLists.txt +++ b/source/App/BitstreamExtractorApp/CMakeLists.txt @@ -33,6 +33,14 @@ if( DEFINED ENABLE_TRACING ) endif() endif() +if( SET_ENABLE_HIGH_BITDEPTH ) + if( ENABLE_HIGH_BITDEPTH ) + target_compile_definitions( ${EXE_NAME} PUBLIC RExt__HIGH_BIT_DEPTH_SUPPORT=1 ) + else() + target_compile_definitions( ${EXE_NAME} PUBLIC RExt__HIGH_BIT_DEPTH_SUPPORT=0 ) + endif() +endif() + if( CMAKE_COMPILER_IS_GNUCC AND BUILD_STATIC ) set( ADDITIONAL_LIBS ${ADDITIONAL_LIBS} -static -static-libgcc -static-libstdc++ ) target_compile_definitions( ${EXE_NAME} PUBLIC ENABLE_WPP_STATIC_LINK=1 ) diff --git a/source/App/DecoderAnalyserApp/CMakeLists.txt b/source/App/DecoderAnalyserApp/CMakeLists.txt index 5d1e301ea..349b77081 100644 --- a/source/App/DecoderAnalyserApp/CMakeLists.txt +++ b/source/App/DecoderAnalyserApp/CMakeLists.txt @@ -35,6 +35,14 @@ if( DEFINED ENABLE_TRACING ) endif() endif() +if( SET_ENABLE_HIGH_BITDEPTH ) + if( ENABLE_HIGH_BITDEPTH ) + target_compile_definitions( ${EXE_NAME} PUBLIC RExt__HIGH_BIT_DEPTH_SUPPORT=1 ) + else() + target_compile_definitions( ${EXE_NAME} PUBLIC RExt__HIGH_BIT_DEPTH_SUPPORT=0 ) + endif() +endif() + if( CMAKE_COMPILER_IS_GNUCC AND BUILD_STATIC ) set( ADDITIONAL_LIBS ${ADDITIONAL_LIBS} -static -static-libgcc -static-libstdc++ ) target_compile_definitions( ${EXE_NAME} PUBLIC ENABLE_WPP_STATIC_LINK=1 ) diff --git a/source/App/DecoderApp/CMakeLists.txt b/source/App/DecoderApp/CMakeLists.txt index 184041e6b..e5b7f1eac 100644 --- a/source/App/DecoderApp/CMakeLists.txt +++ b/source/App/DecoderApp/CMakeLists.txt @@ -33,6 +33,14 @@ if( DEFINED ENABLE_TRACING ) endif() endif() +if( SET_ENABLE_HIGH_BITDEPTH ) + if( ENABLE_HIGH_BITDEPTH ) + target_compile_definitions( ${EXE_NAME} PUBLIC RExt__HIGH_BIT_DEPTH_SUPPORT=1 ) + else() + target_compile_definitions( ${EXE_NAME} PUBLIC RExt__HIGH_BIT_DEPTH_SUPPORT=0 ) + endif() +endif() + if( CMAKE_COMPILER_IS_GNUCC AND BUILD_STATIC ) set( ADDITIONAL_LIBS ${ADDITIONAL_LIBS} -static -static-libgcc -static-libstdc++ ) target_compile_definitions( ${EXE_NAME} PUBLIC ENABLE_WPP_STATIC_LINK=1 ) diff --git a/source/App/EncoderApp/CMakeLists.txt b/source/App/EncoderApp/CMakeLists.txt index 5ecdacd61..ce1b3c2c2 100644 --- a/source/App/EncoderApp/CMakeLists.txt +++ b/source/App/EncoderApp/CMakeLists.txt @@ -35,6 +35,14 @@ if( DEFINED ENABLE_TRACING ) endif() endif() +if( SET_ENABLE_HIGH_BITDEPTH ) + if( ENABLE_HIGH_BITDEPTH ) + target_compile_definitions( ${EXE_NAME} PUBLIC RExt__HIGH_BIT_DEPTH_SUPPORT=1 ) + else() + target_compile_definitions( ${EXE_NAME} PUBLIC RExt__HIGH_BIT_DEPTH_SUPPORT=0 ) + endif() +endif() + if( CMAKE_COMPILER_IS_GNUCC AND BUILD_STATIC ) set( ADDITIONAL_LIBS ${ADDITIONAL_LIBS} -static -static-libgcc -static-libstdc++ ) target_compile_definitions( ${EXE_NAME} PUBLIC ENABLE_WPP_STATIC_LINK=1 ) diff --git a/source/App/SEIFilmGrainApp/CMakeLists.txt b/source/App/SEIFilmGrainApp/CMakeLists.txt index f5396aa70..d5657dd90 100644 --- a/source/App/SEIFilmGrainApp/CMakeLists.txt +++ b/source/App/SEIFilmGrainApp/CMakeLists.txt @@ -33,6 +33,14 @@ if( DEFINED ENABLE_TRACING ) endif() endif() +if( SET_ENABLE_HIGH_BITDEPTH ) + if( ENABLE_HIGH_BITDEPTH ) + target_compile_definitions( ${EXE_NAME} PUBLIC RExt__HIGH_BIT_DEPTH_SUPPORT=1 ) + else() + target_compile_definitions( ${EXE_NAME} PUBLIC RExt__HIGH_BIT_DEPTH_SUPPORT=0 ) + endif() +endif() + if( CMAKE_COMPILER_IS_GNUCC AND BUILD_STATIC ) set( ADDITIONAL_LIBS ${ADDITIONAL_LIBS} -static -static-libgcc -static-libstdc++ ) target_compile_definitions( ${EXE_NAME} PUBLIC ENABLE_WPP_STATIC_LINK=1 ) diff --git a/source/App/SEIRemovalApp/CMakeLists.txt b/source/App/SEIRemovalApp/CMakeLists.txt index 057cb2e3a..30e9aa530 100644 --- a/source/App/SEIRemovalApp/CMakeLists.txt +++ b/source/App/SEIRemovalApp/CMakeLists.txt @@ -33,6 +33,14 @@ if( DEFINED ENABLE_TRACING ) endif() endif() +if( SET_ENABLE_HIGH_BITDEPTH ) + if( ENABLE_HIGH_BITDEPTH ) + target_compile_definitions( ${EXE_NAME} PUBLIC RExt__HIGH_BIT_DEPTH_SUPPORT=1 ) + else() + target_compile_definitions( ${EXE_NAME} PUBLIC RExt__HIGH_BIT_DEPTH_SUPPORT=0 ) + endif() +endif() + if( CMAKE_COMPILER_IS_GNUCC AND BUILD_STATIC ) set( ADDITIONAL_LIBS ${ADDITIONAL_LIBS} -static -static-libgcc -static-libstdc++ ) target_compile_definitions( ${EXE_NAME} PUBLIC ENABLE_WPP_STATIC_LINK=1 ) diff --git a/source/App/StreamMergeApp/CMakeLists.txt b/source/App/StreamMergeApp/CMakeLists.txt index 7d3199ab6..786046196 100644 --- a/source/App/StreamMergeApp/CMakeLists.txt +++ b/source/App/StreamMergeApp/CMakeLists.txt @@ -33,6 +33,14 @@ if( DEFINED ENABLE_TRACING ) endif() endif() +if( SET_ENABLE_HIGH_BITDEPTH ) + if( ENABLE_HIGH_BITDEPTH ) + target_compile_definitions( ${EXE_NAME} PUBLIC RExt__HIGH_BIT_DEPTH_SUPPORT=1 ) + else() + target_compile_definitions( ${EXE_NAME} PUBLIC RExt__HIGH_BIT_DEPTH_SUPPORT=0 ) + endif() +endif() + if( CMAKE_COMPILER_IS_GNUCC AND BUILD_STATIC ) set( ADDITIONAL_LIBS ${ADDITIONAL_LIBS} -static -static-libgcc -static-libstdc++ ) target_compile_definitions( ${EXE_NAME} PUBLIC ENABLE_WPP_STATIC_LINK=1 ) diff --git a/source/App/SubpicMergeApp/CMakeLists.txt b/source/App/SubpicMergeApp/CMakeLists.txt index f362e3588..3aace808e 100644 --- a/source/App/SubpicMergeApp/CMakeLists.txt +++ b/source/App/SubpicMergeApp/CMakeLists.txt @@ -33,6 +33,14 @@ if( DEFINED ENABLE_TRACING ) endif() endif() +if( SET_ENABLE_HIGH_BITDEPTH ) + if( ENABLE_HIGH_BITDEPTH ) + target_compile_definitions( ${EXE_NAME} PUBLIC RExt__HIGH_BIT_DEPTH_SUPPORT=1 ) + else() + target_compile_definitions( ${EXE_NAME} PUBLIC RExt__HIGH_BIT_DEPTH_SUPPORT=0 ) + endif() +endif() + if( CMAKE_COMPILER_IS_GNUCC AND BUILD_STATIC ) set( ADDITIONAL_LIBS ${ADDITIONAL_LIBS} -static -static-libgcc -static-libstdc++ ) target_compile_definitions( ${EXE_NAME} PUBLIC ENABLE_WPP_STATIC_LINK=1 ) diff --git a/source/Lib/CommonAnalyserLib/CMakeLists.txt b/source/Lib/CommonAnalyserLib/CMakeLists.txt index cfdd5e3d4..45f2b7859 100644 --- a/source/Lib/CommonAnalyserLib/CMakeLists.txt +++ b/source/Lib/CommonAnalyserLib/CMakeLists.txt @@ -64,7 +64,15 @@ if( DEFINED ENABLE_TRACING ) target_compile_definitions( ${LIB_NAME} PUBLIC ENABLE_TRACING=0 ) endif() endif() - + +if( SET_ENABLE_HIGH_BITDEPTH ) + if( ENABLE_HIGH_BITDEPTH ) + target_compile_definitions( ${LIB_NAME} PUBLIC RExt__HIGH_BIT_DEPTH_SUPPORT=1 ) + else() + target_compile_definitions( ${LIB_NAME} PUBLIC RExt__HIGH_BIT_DEPTH_SUPPORT=0 ) + endif() +endif() + target_include_directories( ${LIB_NAME} PUBLIC ../CommonLib/. ../CommonLib/.. ../CommonLib/x86 ../libmd5 ) target_link_libraries( ${LIB_NAME} ) diff --git a/source/Lib/CommonLib/CMakeLists.txt b/source/Lib/CommonLib/CMakeLists.txt index e0d63b140..0b02ca213 100644 --- a/source/Lib/CommonLib/CMakeLists.txt +++ b/source/Lib/CommonLib/CMakeLists.txt @@ -62,7 +62,15 @@ if( DEFINED ENABLE_TRACING ) target_compile_definitions( ${LIB_NAME} PUBLIC ENABLE_TRACING=0 ) endif() endif() - + +if( SET_ENABLE_HIGH_BITDEPTH ) + if( ENABLE_HIGH_BITDEPTH ) + target_compile_definitions( ${LIB_NAME} PUBLIC RExt__HIGH_BIT_DEPTH_SUPPORT=1 ) + else() + target_compile_definitions( ${LIB_NAME} PUBLIC RExt__HIGH_BIT_DEPTH_SUPPORT=0 ) + endif() +endif() + target_include_directories( ${LIB_NAME} PUBLIC . .. ./x86 ../libmd5 ) target_link_libraries( ${LIB_NAME} ) diff --git a/source/Lib/DecoderAnalyserLib/CMakeLists.txt b/source/Lib/DecoderAnalyserLib/CMakeLists.txt index 291e01238..008064aaa 100644 --- a/source/Lib/DecoderAnalyserLib/CMakeLists.txt +++ b/source/Lib/DecoderAnalyserLib/CMakeLists.txt @@ -29,6 +29,14 @@ if( DEFINED ENABLE_TRACING ) endif() endif() +if( SET_ENABLE_HIGH_BITDEPTH ) + if( ENABLE_HIGH_BITDEPTH ) + target_compile_definitions( ${LIB_NAME} PUBLIC RExt__HIGH_BIT_DEPTH_SUPPORT=1 ) + else() + target_compile_definitions( ${LIB_NAME} PUBLIC RExt__HIGH_BIT_DEPTH_SUPPORT=0 ) + endif() +endif() + target_include_directories( ${LIB_NAME} PUBLIC ../DecoderLib ) target_link_libraries( ${LIB_NAME} CommonAnalyserLib ) diff --git a/source/Lib/DecoderLib/CMakeLists.txt b/source/Lib/DecoderLib/CMakeLists.txt index 9ba9c604f..5b1586dab 100644 --- a/source/Lib/DecoderLib/CMakeLists.txt +++ b/source/Lib/DecoderLib/CMakeLists.txt @@ -28,6 +28,14 @@ if( DEFINED ENABLE_TRACING ) endif() endif() +if( SET_ENABLE_HIGH_BITDEPTH ) + if( ENABLE_HIGH_BITDEPTH ) + target_compile_definitions( ${LIB_NAME} PUBLIC RExt__HIGH_BIT_DEPTH_SUPPORT=1 ) + else() + target_compile_definitions( ${LIB_NAME} PUBLIC RExt__HIGH_BIT_DEPTH_SUPPORT=0 ) + endif() +endif() + target_include_directories( ${LIB_NAME} PUBLIC . ) target_link_libraries( ${LIB_NAME} CommonLib ) diff --git a/source/Lib/EncoderLib/CMakeLists.txt b/source/Lib/EncoderLib/CMakeLists.txt index 996e5996d..770b9e947 100644 --- a/source/Lib/EncoderLib/CMakeLists.txt +++ b/source/Lib/EncoderLib/CMakeLists.txt @@ -32,6 +32,14 @@ if( DEFINED ENABLE_TRACING ) endif() endif() +if( SET_ENABLE_HIGH_BITDEPTH ) + if( ENABLE_HIGH_BITDEPTH ) + target_compile_definitions( ${LIB_NAME} PUBLIC RExt__HIGH_BIT_DEPTH_SUPPORT=1 ) + else() + target_compile_definitions( ${LIB_NAME} PUBLIC RExt__HIGH_BIT_DEPTH_SUPPORT=0 ) + endif() +endif() + target_include_directories( ${LIB_NAME} PUBLIC . ) target_link_libraries( ${LIB_NAME} CommonLib ) diff --git a/source/Lib/Utilities/CMakeLists.txt b/source/Lib/Utilities/CMakeLists.txt index a291e6b5d..cb6c80523 100644 --- a/source/Lib/Utilities/CMakeLists.txt +++ b/source/Lib/Utilities/CMakeLists.txt @@ -28,6 +28,14 @@ if( DEFINED ENABLE_TRACING ) endif() endif() +if( SET_ENABLE_HIGH_BITDEPTH ) + if( ENABLE_HIGH_BITDEPTH ) + target_compile_definitions( ${LIB_NAME} PUBLIC RExt__HIGH_BIT_DEPTH_SUPPORT=1 ) + else() + target_compile_definitions( ${LIB_NAME} PUBLIC RExt__HIGH_BIT_DEPTH_SUPPORT=0 ) + endif() +endif() + target_include_directories( ${LIB_NAME} PUBLIC . .. ) target_link_libraries( ${LIB_NAME} CommonLib ) -- GitLab