Skip to content

Commit

Permalink
RawSpeed submodule update: GoPro ".GPR" raw format, Nikon Z 7 camera …
Browse files Browse the repository at this point in the history
…support

* Support for GoPro ".GPR" raws.
  Thanks to the initial patch by
  Stefan Löffler, https://github.com/stloeffler
  darktable-org/rawspeed#146
  darktable-org/rawspeed#40
* Nikon Z 7 camera support.
  Only uncompressed 14-bit raw does not decode,
  will look into that later, hopefully not many will use
  it anyway, due to it's filesize.

Note that the new VC5Decompressor is parallized using OpenMP,
so it is really best to have openmp support.

Also, update the compiler-versions.cmake from RawSpeed, changes
* gcc 5.0 is still the required version.
* clang 3.9 (instead of 3.5) is now required.
* Thus, both of the compilers provide full OpenMP 4.0 support.
* Outline the forward path (gcc 7, clang 4.0), not yet in effect.

Fixes darktable-org#11466.
Fixes darktable-org#12322.
  • Loading branch information
LebedevRI authored and rawfiner committed Nov 2, 2018
1 parent bacef5e commit c67c391
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 14 deletions.
29 changes: 16 additions & 13 deletions cmake/compiler-versions.cmake
@@ -1,4 +1,4 @@
# want C++14 support.
# want C++14 support, openmp 4.0 support.

if(CMAKE_C_COMPILER_ID STREQUAL "GNU" AND CMAKE_C_COMPILER_VERSION VERSION_LESS 5.0)
message(FATAL_ERROR "GNU C compiler version ${CMAKE_C_COMPILER_VERSION} is too old. Need 5.0+")
Expand All @@ -8,26 +8,29 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_L
message(FATAL_ERROR "GNU C++ compiler version ${CMAKE_CXX_COMPILER_VERSION} is too old. Need 5.0+")
endif()

if(CMAKE_C_COMPILER_ID STREQUAL "Clang" AND CMAKE_C_COMPILER_VERSION VERSION_LESS 3.5)
message(FATAL_ERROR "LLVM Clang C compiler version ${CMAKE_C_COMPILER_VERSION} is too old. Need 3.5+")
if(CMAKE_C_COMPILER_ID STREQUAL "Clang" AND CMAKE_C_COMPILER_VERSION VERSION_LESS 3.9)
message(FATAL_ERROR "LLVM Clang C compiler version ${CMAKE_C_COMPILER_VERSION} is too old. Need 3.9+")
endif()

if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.5)
message(FATAL_ERROR "LLVM Clang C++ compiler version ${CMAKE_CXX_COMPILER_VERSION} is too old. Need 3.5+")
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.9)
message(FATAL_ERROR "LLVM Clang C++ compiler version ${CMAKE_CXX_COMPILER_VERSION} is too old. Need 3.9+")
endif()

# if(CMAKE_C_COMPILER_ID STREQUAL "GNU" AND CMAKE_C_COMPILER_VERSION VERSION_LESS 5.0)
# message(WARNING "Support for GNU C compiler version ${CMAKE_C_COMPILER_VERSION} is soft-deprecated. Consider upgrading to 5.0+")

# C++17 ?

# if(CMAKE_C_COMPILER_ID STREQUAL "GNU" AND CMAKE_C_COMPILER_VERSION VERSION_LESS 7)
# message(WARNING "Support for GNU C compiler version ${CMAKE_C_COMPILER_VERSION} is soft-deprecated. Consider upgrading to 7+")
# endif()

# if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0)
# message(WARNING "Support for GNU C++ compiler version ${CMAKE_CXX_COMPILER_VERSION} is soft-deprecated. Consider upgrading to 5.0+")
# if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7)
# message(WARNING "Support for GNU C++ compiler version ${CMAKE_CXX_COMPILER_VERSION} is soft-deprecated. Consider upgrading to 7+")
# endif()

# if(CMAKE_C_COMPILER_ID STREQUAL "Clang" AND CMAKE_C_COMPILER_VERSION VERSION_LESS 3.5)
# message(WARNING "LLVM Clang C compiler version ${CMAKE_C_COMPILER_VERSION} is soft-deprecated. Consider upgrading to 3.5+")
# if(CMAKE_C_COMPILER_ID STREQUAL "Clang" AND CMAKE_C_COMPILER_VERSION VERSION_LESS 4.0)
# message(WARNING "LLVM Clang C compiler version ${CMAKE_C_COMPILER_VERSION} is soft-deprecated. Consider upgrading to 4.0+")
# endif()

# if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.5)
# message(WARNING "LLVM Clang C++ compiler version ${CMAKE_CXX_COMPILER_VERSION} is soft-deprecated. Consider upgrading to 3.5+")
# if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.0)
# message(WARNING "LLVM Clang C++ compiler version ${CMAKE_CXX_COMPILER_VERSION} is soft-deprecated. Consider upgrading to 4.0+")
# endif()
2 changes: 1 addition & 1 deletion src/external/rawspeed
Submodule rawspeed updated 49 files
+1 −1 .ci/Dockerfile
+4 −2 .clang-tidy
+10 −16 .travis.yml
+6 −4 CMakeLists.txt
+0 −4 bench/librawspeed/CMakeLists.txt
+1 −1 cmake/Modules/FindLLVMAr.cmake
+1 −1 cmake/Modules/FindLLVMCXXFilt.cmake
+1 −1 cmake/Modules/FindLLVMClangTidy.cmake
+1 −1 cmake/Modules/FindLLVMCov.cmake
+1 −1 cmake/Modules/FindLLVMLLD.cmake
+1 −1 cmake/Modules/FindLLVMNm.cmake
+1 −1 cmake/Modules/FindLLVMObjCopy.cmake
+1 −1 cmake/Modules/FindLLVMObjDump.cmake
+1 −1 cmake/Modules/FindLLVMProfData.cmake
+1 −1 cmake/Modules/FindLLVMRanLib.cmake
+2 −2 cmake/Modules/Pugixml.cmake.in
+0 −23 cmake/OpenMP.cmake
+16 −13 cmake/compiler-versions.cmake
+2 −0 cmake/iwyu.imp
+28 −3 cmake/src-dependencies.cmake
+60 −0 data/cameras.xml
+2 −0 data/cameras.xsd
+0 −4 fuzz/CMakeLists.txt
+1 −0 fuzz/all-fuzzers.txt
+3 −2 fuzz/libFuzzer_dummy_main.cpp
+1 −0 fuzz/librawspeed/decompressors/CMakeLists.txt
+62 −0 fuzz/librawspeed/decompressors/VC5Decompressor.cpp
+1 −1 src/CMakeLists.txt
+2 −0 src/config.h.in
+12 −0 src/external/CMakeLists.txt
+291 −0 src/external/gopro/vc5/table17.inc
+84 −0 src/librawspeed/common/Array2DRef.h
+3 −0 src/librawspeed/common/CMakeLists.txt
+52 −0 src/librawspeed/common/Optional.h
+67 −0 src/librawspeed/common/SimpleLUT.h
+8 −0 src/librawspeed/decoders/DngDecoder.cpp
+14 −0 src/librawspeed/decompressors/AbstractDngDecompressor.cpp
+2 −0 src/librawspeed/decompressors/CMakeLists.txt
+5 −1 src/librawspeed/decompressors/NikonDecompressor.cpp
+804 −0 src/librawspeed/decompressors/VC5Decompressor.cpp
+223 −0 src/librawspeed/decompressors/VC5Decompressor.h
+0 −4 src/utilities/identify/CMakeLists.txt
+5 −5 src/utilities/identify/rawspeed-identify.cpp
+0 −4 src/utilities/rsbench/CMakeLists.txt
+2 −2 src/utilities/rsbench/main.cpp
+0 −4 src/utilities/rstest/CMakeLists.txt
+7 −7 src/utilities/rstest/rstest.cpp
+0 −4 test/librawspeed/CMakeLists.txt
+3 −2 test/librawspeed/test/RawSpeed.cpp

0 comments on commit c67c391

Please sign in to comment.