diff options
| author | CoprDistGit <infra@openeuler.org> | 2026-04-03 09:39:30 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2026-04-03 09:39:30 +0000 |
| commit | 7936bc4b6adebb2ca1f8fa64b23f446dd49130eb (patch) | |
| tree | 38a6a450761df11cae2104b47d74d3bc7c3a4f30 /Fix-OpenCV-build-with-OpenEXR-before-2.2.0.patch | |
| parent | a04ebf0cdf85f3ab299a399d04c7ab8848ec5c7e (diff) | |
automatic import of opencvopeneuler24.03_LTS
Diffstat (limited to 'Fix-OpenCV-build-with-OpenEXR-before-2.2.0.patch')
| -rw-r--r-- | Fix-OpenCV-build-with-OpenEXR-before-2.2.0.patch | 55 |
1 files changed, 55 insertions, 0 deletions
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 0000000..3e8126a --- /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 <alexander.smorkalov@xperience.ai> +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 <ImfStandardAttributes.h> + #include <half.h> + #include "grfmt_exr.hpp" ++#include "OpenEXRConfig.h" + + #if defined _WIN32 + +@@ -649,12 +650,14 @@ bool ExrEncoder::write( const Mat& img, const std::vector<int>& 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 + |
