Enable ToneMapping when Cam02 enabled and Ciecam disabled (#7190)
This commit is contained in:
parent
348c8e8894
commit
7cdfa941c2
@ -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);
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user