diff --git a/rtengine/improccoordinator.cc b/rtengine/improccoordinator.cc index 23904ba1b..8389ec34e 100644 --- a/rtengine/improccoordinator.cc +++ b/rtengine/improccoordinator.cc @@ -242,7 +242,7 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall) } } - if (params.retinex.enabled) { + if ((todo & (M_RETINEX|M_INIT)) && params.retinex.enabled) { bool dehacontlutili = false; bool useHsl = false; LUTf cdcurve (65536, 0); diff --git a/rtengine/refreshmap.cc b/rtengine/refreshmap.cc index e6e7ccd24..3505da24f 100644 --- a/rtengine/refreshmap.cc +++ b/rtengine/refreshmap.cc @@ -434,24 +434,24 @@ int refreshmap[rtengine::NUMOFEVENTS] = { DIRPYREQUALIZER, // EvWavlev3nois DIRPYREQUALIZER, // EvWavNPmet DEMOSAIC, // EvretinexMethod - ALLNORAW, // EvLneigh - ALLNORAW, // EvLgain - ALLNORAW, // EvLoffs - ALLNORAW, // EvLstr - ALLNORAW, // EvLscal - ALLNORAW, // EvLvart - ALLNORAW, // EvLCDCurve - ALLNORAW, // EvRetinextransmission + RETINEX, // EvLneigh + RETINEX, // EvLgain + RETINEX, // EvLoffs + RETINEX, // EvLstr + RETINEX, // EvLscal + RETINEX, // EvLvart + RETINEX, // EvLCDCurve + RETINEX, // EvRetinextransmission DEMOSAIC, // EvRetinexEnabled - ALLNORAW, // EvRetinexmedianmap - ALLNORAW, // EvLlimd + RETINEX, // EvRetinexmedianmap + RETINEX, // EvLlimd DEMOSAIC, // Evretinexcolorspace - ALLNORAW, // EvLCDHCurve - DEMOSAIC, // Evretinexgamma - DEMOSAIC, // EvLgam - DEMOSAIC, // EvLslope - ALLNORAW, // EvLhighl - DEMOSAIC, // EvLbaselog + RETINEX, // EvLCDHCurve + DEMOSAIC, // Evretinexgamma + DEMOSAIC, // EvLgam + DEMOSAIC, // EvLslope + RETINEX, // EvLhighl + DEMOSAIC, // EvLbaselog // DEMOSAIC, // EvLgrbl DEMOSAIC // EvRetinexlhcurve }; diff --git a/rtengine/refreshmap.h b/rtengine/refreshmap.h index 16c05654a..e24d0c422 100644 --- a/rtengine/refreshmap.h +++ b/rtengine/refreshmap.h @@ -29,6 +29,7 @@ // Elementary functions that can be done to // the preview image when an event occurs +#define M_RETINEX (1<<12) #define M_CROP (1<<11) #define M_PREPROC (1<<10) #define M_RAW (1<<9) @@ -47,7 +48,6 @@ #define FIRST (M_PREPROC|M_RAW|M_INIT|M_LINDENOISE|M_TRANSFORM|M_BLURMAP|M_AUTOEXP|M_RGBCURVE|M_LUMACURVE|M_LUMINANCE|M_COLOR) // without HIGHQUAL #define ALL (M_PREPROC|M_RAW|M_INIT|M_LINDENOISE|M_TRANSFORM|M_BLURMAP|M_AUTOEXP|M_RGBCURVE|M_LUMACURVE|M_LUMINANCE|M_COLOR) // without HIGHQUAL #define TRANSFORM (M_TRANSFORM|M_BLURMAP|M_AUTOEXP|M_RGBCURVE|M_LUMACURVE|M_LUMINANCE|M_COLOR) -#define RETINEX (M_BLURMAP|M_AUTOEXP|M_RGBCURVE|M_LUMACURVE|M_LUMINANCE|M_COLOR) #define AUTOEXP (M_AUTOEXP|M_RGBCURVE|M_LUMACURVE|M_LUMINANCE|M_COLOR) #define RGBCURVE (M_RGBCURVE|M_LUMACURVE|M_LUMINANCE|M_COLOR) #define LUMINANCECURVE (M_LUMACURVE|M_LUMINANCE) @@ -69,6 +69,7 @@ #define GAMMA (M_COLOR|M_LUMINANCE) #define MINUPDATE M_MINUPDATE #define ALLNORAW (M_INIT|M_LINDENOISE|M_TRANSFORM|M_BLURMAP|M_AUTOEXP|M_RGBCURVE|M_LUMACURVE|M_LUMINANCE|M_COLOR) +#define RETINEX (M_RETINEX|ALLNORAW) extern int refreshmap[]; #endif