diff --git a/Fix-OpenCV-build-with-OpenEXR-before-2.2.0.patch b/Fix-OpenCV-build-with-OpenEXR-before-2.2.0.patch new file mode 100644 index 0000000000000000000000000000000000000000..3e8126ab56d0b0784c093b345d9d5d379fc7c545 --- /dev/null +++ b/Fix-OpenCV-build-with-OpenEXR-before-2.2.0.patch @@ -0,0 +1,55 @@ +From 083a7c8f0a71076d4f2f5130d70abaedb2f8c8a5 Mon Sep 17 00:00:00 2001 +From: Alexander Smorkalov +Date: Wed, 28 Apr 2021 10:41:59 +0300 +Subject: [PATCH] Fix OpenCV build with OpenEXR before 2.2.0. + +--- + modules/imgcodecs/include/opencv2/imgcodecs.hpp | 4 ++-- + modules/imgcodecs/src/grfmt_exr.cpp | 3 +++ + 2 files changed, 5 insertions(+), 2 deletions(-) + +diff --git a/modules/imgcodecs/include/opencv2/imgcodecs.hpp b/modules/imgcodecs/include/opencv2/imgcodecs.hpp +index 42227f3788..101a944146 100644 +--- a/modules/imgcodecs/include/opencv2/imgcodecs.hpp ++++ b/modules/imgcodecs/include/opencv2/imgcodecs.hpp +@@ -120,8 +120,8 @@ enum ImwriteEXRCompressionFlags { + IMWRITE_EXR_COMPRESSION_PXR24 = 5, //!< lossy 24-bit float compression + IMWRITE_EXR_COMPRESSION_B44 = 6, //!< lossy 4-by-4 pixel block compression, fixed compression rate + IMWRITE_EXR_COMPRESSION_B44A = 7, //!< lossy 4-by-4 pixel block compression, flat fields are compressed more +- IMWRITE_EXR_COMPRESSION_DWAA = 8, //!< lossy DCT based compression, in blocks of 32 scanlines. More efficient for partial buffer access. +- IMWRITE_EXR_COMPRESSION_DWAB = 9, //!< lossy DCT based compression, in blocks of 256 scanlines. More efficient space wise and faster to decode full frames than DWAA_COMPRESSION. ++ IMWRITE_EXR_COMPRESSION_DWAA = 8, //!< lossy DCT based compression, in blocks of 32 scanlines. More efficient for partial buffer access. Supported since OpenEXR 2.2.0. ++ IMWRITE_EXR_COMPRESSION_DWAB = 9, //!< lossy DCT based compression, in blocks of 256 scanlines. More efficient space wise and faster to decode full frames than DWAA_COMPRESSION. Supported since OpenEXR 2.2.0. + }; + + //! Imwrite PNG specific flags used to tune the compression algorithm. +diff --git a/modules/imgcodecs/src/grfmt_exr.cpp b/modules/imgcodecs/src/grfmt_exr.cpp +index aaf28eead6..7acaf434c6 100644 +--- a/modules/imgcodecs/src/grfmt_exr.cpp ++++ b/modules/imgcodecs/src/grfmt_exr.cpp +@@ -64,6 +64,7 @@ + #include + #include + #include "grfmt_exr.hpp" ++#include "OpenEXRConfig.h" + + #if defined _WIN32 + +@@ -649,12 +650,14 @@ bool ExrEncoder::write( const Mat& img, const std::vector& params ) + case IMWRITE_EXR_COMPRESSION_B44A: + header.compression() = B44A_COMPRESSION; + break; ++#if ((OPENEXR_VERSION_MAJOR * 1000 + OPENEXR_VERSION_MINOR) >= (2 * 1000 + 2)) // available since version 2.2.0 + case IMWRITE_EXR_COMPRESSION_DWAA: + header.compression() = DWAA_COMPRESSION; + break; + case IMWRITE_EXR_COMPRESSION_DWAB: + header.compression() = DWAB_COMPRESSION; + break; ++#endif + default: + CV_Error(Error::StsBadArg, "IMWRITE_EXR_COMPRESSION is invalid or not supported"); + } +-- +2.29.2.windows.2 + diff --git a/opencv.spec b/opencv.spec index 0c3e6d8134d3a7e9ec62527d16318f20cb218133..b9f8ce13b995527086d8545d4699b6e6849dd867 100644 --- a/opencv.spec +++ b/opencv.spec @@ -1,6 +1,6 @@ Name: opencv Version: 4.5.2 -Release: 1 +Release: 2 Summary: OpenCV means IntelĀ® Open Source Computer Vision Library. License: Apache-2.0 URL: https://github.com/opencv/opencv @@ -11,6 +11,7 @@ Source3: opencv_extra-4.5.2.tar.gz.ab Source4: opencv_extra-4.5.2.tar.gz.ac Source5: opencv_extra-4.5.2.tar.gz.ad Source6: opencv_extra-4.5.2.tar.gz.ae +Patch1: Fix-OpenCV-build-with-OpenEXR-before-2.2.0.patch BuildRequires: gcc-c++ gcc autoconf pkgconfig protobuf-compiler protobuf BuildRequires: cmake BuildRequires: libjpeg-devel @@ -74,5 +75,8 @@ make install DESTDIR=%{buildroot} %exclude /usr/local/share/* %changelog +* Wed Nov 10 2021 yanhailiang - 4.5.2-2 +- bugFix OpenCV build with OpenEXR before 2.2.0 + * Wed Sep 30 2021 shenwei - 4.5.2-1 - package init