diff --git a/rtengine/dcrop.cc b/rtengine/dcrop.cc index e630d1936..bbb2d4bfa 100644 --- a/rtengine/dcrop.cc +++ b/rtengine/dcrop.cc @@ -812,9 +812,11 @@ void Crop::update(int todo) } const bool needstransform = parent->ipf.needsTransform(skips(parent->fw, skip), skips(parent->fh, skip), parent->imgsrc->getRotateDegree(), parent->imgsrc->getMetaData()); + const bool cam02 = params.colorappearance.modelmethod == "02" && params.colorappearance.enabled; + // transform // if (needstransform || ((todo & (M_TRANSFORM | M_RGBCURVE)) && params.dirpyrequalizer.cbdlMethod == "bef" && params.dirpyrequalizer.enabled && !params.colorappearance.enabled)) { - if (needstransform || ((todo & (M_TRANSFORM | M_RGBCURVE)) && params.dirpyrequalizer.cbdlMethod == "bef" && params.dirpyrequalizer.enabled && params.colorappearance.modelmethod != "02")) { + if (needstransform || ((todo & (M_TRANSFORM | M_RGBCURVE)) && params.dirpyrequalizer.cbdlMethod == "bef" && params.dirpyrequalizer.enabled && !cam02)) { if (!transCrop) { transCrop = new Imagefloat(cropw, croph); } @@ -836,7 +838,7 @@ void Crop::update(int todo) } // if ((todo & (M_TRANSFORM | M_RGBCURVE)) && params.dirpyrequalizer.cbdlMethod == "bef" && params.dirpyrequalizer.enabled && !params.colorappearance.enabled) { - if ((todo & (M_TRANSFORM | M_RGBCURVE)) && params.dirpyrequalizer.cbdlMethod == "bef" && params.dirpyrequalizer.enabled && params.colorappearance.modelmethod != "02") { + if ((todo & (M_TRANSFORM | M_RGBCURVE)) && params.dirpyrequalizer.cbdlMethod == "bef" && params.dirpyrequalizer.enabled && !cam02) { const int W = baseCrop->getWidth(); const int H = baseCrop->getHeight(); @@ -1333,7 +1335,7 @@ void Crop::update(int todo) parent->ipf.labColorCorrectionRegions(labnCrop); // if ((params.colorappearance.enabled && !params.colorappearance.tonecie) || (!params.colorappearance.enabled)) { - if ((params.colorappearance.enabled && !params.colorappearance.tonecie) || (params.colorappearance.modelmethod != "02")) { + if ((params.colorappearance.enabled && !params.colorappearance.tonecie) || (!cam02)) { parent->ipf.EPDToneMap(labnCrop, 0, skip); } @@ -1341,7 +1343,7 @@ void Crop::update(int todo) // for all treatments Defringe, Sharpening, Contrast detail , Microcontrast they are activated if "CIECAM" function are disabled if (skip == 1) { // if ((params.colorappearance.enabled && !settings->autocielab) || (!params.colorappearance.enabled)) { - if ((params.colorappearance.enabled && !settings->autocielab) || (params.colorappearance.modelmethod != "02")) { + if ((params.colorappearance.enabled && !settings->autocielab) || (!cam02)) { parent->ipf.impulsedenoise(labnCrop); parent->ipf.defringe(labnCrop); } @@ -1349,7 +1351,7 @@ void Crop::update(int todo) parent->ipf.MLsharpen(labnCrop); // if ((params.colorappearance.enabled && !settings->autocielab) || (!params.colorappearance.enabled)) { - if ((params.colorappearance.enabled && !settings->autocielab) || (params.colorappearance.modelmethod != "02")) { + if ((params.colorappearance.enabled && !settings->autocielab) || (!cam02)) { parent->ipf.MLmicrocontrast(labnCrop); parent->ipf.sharpening(labnCrop, params.sharpening, parent->sharpMask); } @@ -1359,7 +1361,7 @@ void Crop::update(int todo) if (params.dirpyrequalizer.cbdlMethod == "aft") { // if (((params.colorappearance.enabled && !settings->autocielab) || (!params.colorappearance.enabled))) { - if (((params.colorappearance.enabled && !settings->autocielab) || (params.colorappearance.modelmethod != "02"))) { + if (((params.colorappearance.enabled && !settings->autocielab) || (!cam02))) { parent->ipf.dirpyrequalizer(labnCrop, skip); // parent->ipf.Lanczoslab (labnCrop,labnCrop , 1.f/skip); } diff --git a/rtengine/improccoordinator.cc b/rtengine/improccoordinator.cc index 3e06ca144..4949699fe 100644 --- a/rtengine/improccoordinator.cc +++ b/rtengine/improccoordinator.cc @@ -875,9 +875,9 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) // Remove transformation if unneeded bool needstransform = ipf.needsTransform(fw, fh, imgsrc->getRotateDegree(), imgsrc->getMetaData()); - + const bool cam02 = params->colorappearance.modelmethod == "02" && params->colorappearance.enabled; // if ((needstransform || ((todo & (M_TRANSFORM | M_RGBCURVE)) && params->dirpyrequalizer.cbdlMethod == "bef" && params->dirpyrequalizer.enabled && !params->colorappearance.enabled))) { - if ((needstransform || ((todo & (M_TRANSFORM | M_RGBCURVE)) && params->dirpyrequalizer.cbdlMethod == "bef" && params->dirpyrequalizer.enabled && params->colorappearance.modelmethod != "02"))) { + if ((needstransform || ((todo & (M_TRANSFORM | M_RGBCURVE)) && params->dirpyrequalizer.cbdlMethod == "bef" && params->dirpyrequalizer.enabled && !cam02))) { // Forking the image assert(oprevi); Imagefloat *op = oprevi; @@ -900,7 +900,7 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) } // if ((todo & (M_TRANSFORM | M_RGBCURVE)) && params->dirpyrequalizer.cbdlMethod == "bef" && params->dirpyrequalizer.enabled && !params->colorappearance.enabled) { - if ((todo & (M_TRANSFORM | M_RGBCURVE)) && params->dirpyrequalizer.cbdlMethod == "bef" && params->dirpyrequalizer.enabled && params->colorappearance.modelmethod != "02") { + if ((todo & (M_TRANSFORM | M_RGBCURVE)) && params->dirpyrequalizer.cbdlMethod == "bef" && params->dirpyrequalizer.enabled && !cam02) { const int W = oprevi->getWidth(); const int H = oprevi->getHeight(); LabImage labcbdl(W, H); @@ -1845,13 +1845,13 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) ipf.labColorCorrectionRegions(nprevl); // if ((params->colorappearance.enabled && !params->colorappearance.tonecie) || (!params->colorappearance.enabled)) { - if ((params->colorappearance.enabled && !params->colorappearance.tonecie) || (params->colorappearance.modelmethod != "02")) { + if ((params->colorappearance.enabled && !params->colorappearance.tonecie) || (!cam02)) { ipf.EPDToneMap(nprevl, 0, scale); } if (params->dirpyrequalizer.cbdlMethod == "aft") { // if (((params->colorappearance.enabled && !settings->autocielab) || (!params->colorappearance.enabled))) { - if (((params->colorappearance.enabled && !settings->autocielab) || (params->colorappearance.modelmethod != "02"))) { + if (((params->colorappearance.enabled && !settings->autocielab) || (!cam02))) { ipf.dirpyrequalizer(nprevl, scale); } } diff --git a/rtengine/rtthumbnail.cc b/rtengine/rtthumbnail.cc index b0543fc79..26c1cd646 100644 --- a/rtengine/rtthumbnail.cc +++ b/rtengine/rtthumbnail.cc @@ -1516,9 +1516,10 @@ IImage8* Thumbnail::processImage (const procparams::ProcParams& params, eSensorT + bool cam02 = params.colorappearance.modelmethod == "02" && params.colorappearance.enabled; // if ((params.colorappearance.enabled && !params.colorappearance.tonecie) || !params.colorappearance.enabled) { - if ((params.colorappearance.enabled && !params.colorappearance.tonecie) || params.colorappearance.modelmethod != "02") { + if ((params.colorappearance.enabled && !params.colorappearance.tonecie) || !cam02) { ipf.EPDToneMap (labView, 5, 6); } diff --git a/rtengine/simpleprocess.cc b/rtengine/simpleprocess.cc index f72e7b211..4850863f8 100644 --- a/rtengine/simpleprocess.cc +++ b/rtengine/simpleprocess.cc @@ -1007,7 +1007,6 @@ private: } } } - //colorappearance.modelmethod == "02" bool execcam = false; //execcam => work around for pre-ciecam in LA: about 0.1 second @@ -1526,9 +1525,10 @@ private: ipf.chromiLuminanceCurve(nullptr, 1, labView, labView, curve1, curve2, satcurve, lhskcurve, clcurve, lumacurve, utili, autili, butili, ccutili, cclutili, clcutili, dummy, dummy); + const bool cam02 = params.colorappearance.modelmethod == "02" && params.colorappearance.enabled; // if ((params.colorappearance.enabled && !params.colorappearance.tonecie) || (!params.colorappearance.enabled)) { - if ((params.colorappearance.enabled && !params.colorappearance.tonecie) || (params.colorappearance.modelmethod != "02")) { + if ((params.colorappearance.enabled && !params.colorappearance.tonecie) || (!cam02)) { ipf.EPDToneMap(labView, 0, 1); } @@ -1539,7 +1539,7 @@ private: // for all treatments Defringe, Sharpening, Contrast detail ,Microcontrast they are activated if "CIECAM" function are disabled // if ((params.colorappearance.enabled && !settings->autocielab) || (!params.colorappearance.enabled)) { - if ((params.colorappearance.enabled && !settings->autocielab) || (params.colorappearance.modelmethod != "02")) { + if ((params.colorappearance.enabled && !settings->autocielab) || (!cam02)) { ipf.impulsedenoise(labView); ipf.defringe(labView); } @@ -1550,13 +1550,13 @@ private: if (params.sharpenMicro.enabled) { // if ((params.colorappearance.enabled && !settings->autocielab) || (!params.colorappearance.enabled)) { - if ((params.colorappearance.enabled && !settings->autocielab) || (params.colorappearance.modelmethod != "02")) { + if ((params.colorappearance.enabled && !settings->autocielab) || (!cam02)) { ipf.MLmicrocontrast(labView); //!params.colorappearance.sharpcie } } // if (((params.colorappearance.enabled && !settings->autocielab) || (!params.colorappearance.enabled)) && params.sharpening.enabled) { - if (((params.colorappearance.enabled && !settings->autocielab) || (params.colorappearance.modelmethod != "02")) && params.sharpening.enabled) { + if (((params.colorappearance.enabled && !settings->autocielab) || (!cam02)) && params.sharpening.enabled) { ipf.sharpening(labView, params.sharpening); } @@ -1566,7 +1566,7 @@ private: // directional pyramid wavelet if (params.dirpyrequalizer.cbdlMethod == "aft") { // if ((params.colorappearance.enabled && !settings->autocielab) || !params.colorappearance.enabled) { - if ((params.colorappearance.enabled && !settings->autocielab) || params.colorappearance.modelmethod != "02") { + if ((params.colorappearance.enabled && !settings->autocielab) || !cam02) { ipf.dirpyrequalizer(labView, 1); //TODO: this is the luminance tonecurve, not the RGB one } } @@ -1945,7 +1945,7 @@ private: } // bool bwonly = params.blackwhite.enabled && !params.colorToning.enabled && !autili && !butili && !params.colorappearance.enabled; - bool bwonly = params.blackwhite.enabled && !params.colorToning.enabled && !autili && !butili && params.colorappearance.modelmethod != "02"; + bool bwonly = params.blackwhite.enabled && !params.colorToning.enabled && !autili && !butili && !cam02; ///////////// Custom output gamma has been removed, the user now has to create ///////////// a new output profile with the ICCProfileCreator