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