mirror of
https://github.com/opencv/opencv.git
synced 2024-11-24 03:00:14 +08:00
Check existence of OpenEXR version macros before using.
It is introduced in 2.0.1 (not even in 2.0.0) and some old system like CentOS 7 still has 1.7 in stock.
- 60cdff8a6f (diff-c4bae0726aebe410e407db9abd406d9cf2684f82dd8a08f46d84e8b7c35cf22aR67)
This commit is contained in:
parent
4866811933
commit
d0c8b36de8
@ -754,7 +754,10 @@ bool ExrEncoder::write( const Mat& img, const std::vector<int>& params )
|
|||||||
case IMWRITE_EXR_COMPRESSION_B44A:
|
case IMWRITE_EXR_COMPRESSION_B44A:
|
||||||
header.compression() = B44A_COMPRESSION;
|
header.compression() = B44A_COMPRESSION;
|
||||||
break;
|
break;
|
||||||
#if ((OPENEXR_VERSION_MAJOR * 1000 + OPENEXR_VERSION_MINOR) >= (2 * 1000 + 2)) // available since version 2.2.0
|
// version macros introduced in openexr 2.0.1.
|
||||||
|
// - https://github.com/AcademySoftwareFoundation/openexr/commit/60cdff8a6f5c4e25a374e5f366d6e9b4efd869b3#diff-c4bae0726aebe410e407db9abd406d9cf2684f82dd8a08f46d84e8b7c35cf22aR67
|
||||||
|
#if defined(OPENEXR_VERSION_MAJOR) && defined(OPENEXR_VERSION_MINOR) && OPENEXR_VERSION_MAJOR * 1000 + OPENEXR_VERSION_MINOR >= 2 * 1000 + 2
|
||||||
|
// available since version 2.2.0
|
||||||
case IMWRITE_EXR_COMPRESSION_DWAA:
|
case IMWRITE_EXR_COMPRESSION_DWAA:
|
||||||
header.compression() = DWAA_COMPRESSION;
|
header.compression() = DWAA_COMPRESSION;
|
||||||
break;
|
break;
|
||||||
@ -768,10 +771,12 @@ bool ExrEncoder::write( const Mat& img, const std::vector<int>& params )
|
|||||||
}
|
}
|
||||||
if (params[i] == IMWRITE_EXR_DWA_COMPRESSION_LEVEL)
|
if (params[i] == IMWRITE_EXR_DWA_COMPRESSION_LEVEL)
|
||||||
{
|
{
|
||||||
#if OPENEXR_VERSION_MAJOR >= 3
|
#if !defined(OPENEXR_VERSION_MAJOR)
|
||||||
header.dwaCompressionLevel() = params[i + 1];
|
CV_LOG_ONCE_WARNING(NULL, "Setting `IMWRITE_EXR_DWA_COMPRESSION_LEVEL` not supported in unknown OpenEXR version possibly prior to 2.0.1 (version 3 is required)");
|
||||||
#else
|
#elif OPENEXR_VERSION_MAJOR < 3
|
||||||
CV_LOG_ONCE_WARNING(NULL, "Setting `IMWRITE_EXR_DWA_COMPRESSION_LEVEL` not supported in OpenEXR version " + std::to_string(OPENEXR_VERSION_MAJOR) + " (version 3 is required)");
|
CV_LOG_ONCE_WARNING(NULL, "Setting `IMWRITE_EXR_DWA_COMPRESSION_LEVEL` not supported in OpenEXR version " + std::to_string(OPENEXR_VERSION_MAJOR) + " (version 3 is required)");
|
||||||
|
#else
|
||||||
|
header.dwaCompressionLevel() = params[i + 1];
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user