From 281982f329c6d151f81905082db1efd7a3a27d45 Mon Sep 17 00:00:00 2001 From: heckflosse Date: Tue, 7 Feb 2017 21:43:10 +0100 Subject: [PATCH] DNG files from HdrMerge are decoded incorrectly when zlib 1.2.11 is used. fixes #3674 --- rtengine/dcraw.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/rtengine/dcraw.cc b/rtengine/dcraw.cc index a3bd3e523..8623d26cd 100644 --- a/rtengine/dcraw.cc +++ b/rtengine/dcraw.cc @@ -9791,20 +9791,22 @@ void CLASS deflate_dng_load_raw() { } uLongf dstLen = tile_width * tile_length * 4; -#ifdef _OPENMP +#if defined(_OPENMP) && ZLIB_VER_REVISION == 8 #pragma omp parallel #endif { Bytef * cBuffer = new Bytef[maxCompressed]; Bytef * uBuffer = new Bytef[dstLen]; -#ifdef _OPENMP +#if defined(_OPENMP) && ZLIB_VER_REVISION == 8 #pragma omp for collapse(2) nowait #endif for (size_t y = 0; y < raw_height; y += tile_length) { for (size_t x = 0; x < raw_width; x += tile_width) { size_t t = (y / tile_length) * tilesWide + (x / tile_width); +#if defined(_OPENMP) && ZLIB_VER_REVISION == 8 #pragma omp critical +#endif { fseek(ifp, tileOffsets[t], SEEK_SET); fread(cBuffer, 1, tileBytes[t], ifp);