Limits incompatibility between Ciecam and CBDL and others to Cam02 #7017 (#7023)

* CBDL and others only with ciecam Cam16

* Change windows and appimage yml

* Remove appimage.yml and windows.yml
This commit is contained in:
Desmis 2024-04-20 17:34:53 +02:00 committed by GitHub
parent 30cf3f721f
commit c72e67ae24
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 35 additions and 18 deletions

View File

@ -813,7 +813,8 @@ 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 needstransform = parent->ipf.needsTransform(skips(parent->fw, skip), skips(parent->fh, skip), parent->imgsrc->getRotateDegree(), parent->imgsrc->getMetaData());
// transform // 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.enabled)) {
if (needstransform || ((todo & (M_TRANSFORM | M_RGBCURVE)) && params.dirpyrequalizer.cbdlMethod == "bef" && params.dirpyrequalizer.enabled && params.colorappearance.modelmethod != "02")) {
if (!transCrop) { if (!transCrop) {
transCrop = new Imagefloat(cropw, croph); transCrop = new Imagefloat(cropw, croph);
} }
@ -834,7 +835,8 @@ void Crop::update(int todo)
transCrop = nullptr; transCrop = nullptr;
} }
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.enabled) {
if ((todo & (M_TRANSFORM | M_RGBCURVE)) && params.dirpyrequalizer.cbdlMethod == "bef" && params.dirpyrequalizer.enabled && params.colorappearance.modelmethod != "02") {
const int W = baseCrop->getWidth(); const int W = baseCrop->getWidth();
const int H = baseCrop->getHeight(); const int H = baseCrop->getHeight();
@ -1329,21 +1331,24 @@ void Crop::update(int todo)
parent->ipf.vibrance(labnCrop, params.vibrance, params.toneCurve.hrenabled, params.icm.workingProfile); parent->ipf.vibrance(labnCrop, params.vibrance, params.toneCurve.hrenabled, params.icm.workingProfile);
parent->ipf.labColorCorrectionRegions(labnCrop); parent->ipf.labColorCorrectionRegions(labnCrop);
if ((params.colorappearance.enabled && !params.colorappearance.tonecie) || (!params.colorappearance.enabled)) { // if ((params.colorappearance.enabled && !params.colorappearance.tonecie) || (!params.colorappearance.enabled)) {
if ((params.colorappearance.enabled && !params.colorappearance.tonecie) || (params.colorappearance.modelmethod != "02")) {
parent->ipf.EPDToneMap(labnCrop, 0, skip); parent->ipf.EPDToneMap(labnCrop, 0, skip);
} }
//parent->ipf.EPDToneMap(labnCrop, 5, 1); //Go with much fewer than normal iterates for fast redisplay. //parent->ipf.EPDToneMap(labnCrop, 5, 1); //Go with much fewer than normal iterates for fast redisplay.
// for all treatments Defringe, Sharpening, Contrast detail , Microcontrast they are activated if "CIECAM" function are disabled // for all treatments Defringe, Sharpening, Contrast detail , Microcontrast they are activated if "CIECAM" function are disabled
if (skip == 1) { if (skip == 1) {
if ((params.colorappearance.enabled && !settings->autocielab) || (!params.colorappearance.enabled)) { // if ((params.colorappearance.enabled && !settings->autocielab) || (!params.colorappearance.enabled)) {
if ((params.colorappearance.enabled && !settings->autocielab) || (params.colorappearance.modelmethod != "02")) {
parent->ipf.impulsedenoise(labnCrop); parent->ipf.impulsedenoise(labnCrop);
parent->ipf.defringe(labnCrop); parent->ipf.defringe(labnCrop);
} }
parent->ipf.MLsharpen(labnCrop); parent->ipf.MLsharpen(labnCrop);
if ((params.colorappearance.enabled && !settings->autocielab) || (!params.colorappearance.enabled)) { // if ((params.colorappearance.enabled && !settings->autocielab) || (!params.colorappearance.enabled)) {
if ((params.colorappearance.enabled && !settings->autocielab) || (params.colorappearance.modelmethod != "02")) {
parent->ipf.MLmicrocontrast(labnCrop); parent->ipf.MLmicrocontrast(labnCrop);
parent->ipf.sharpening(labnCrop, params.sharpening, parent->sharpMask); parent->ipf.sharpening(labnCrop, params.sharpening, parent->sharpMask);
} }
@ -1352,7 +1357,8 @@ void Crop::update(int todo)
// if (skip==1) { // if (skip==1) {
if (params.dirpyrequalizer.cbdlMethod == "aft") { if (params.dirpyrequalizer.cbdlMethod == "aft") {
if (((params.colorappearance.enabled && !settings->autocielab) || (!params.colorappearance.enabled))) { // if (((params.colorappearance.enabled && !settings->autocielab) || (!params.colorappearance.enabled))) {
if (((params.colorappearance.enabled && !settings->autocielab) || (params.colorappearance.modelmethod != "02"))) {
parent->ipf.dirpyrequalizer(labnCrop, skip); parent->ipf.dirpyrequalizer(labnCrop, skip);
// parent->ipf.Lanczoslab (labnCrop,labnCrop , 1.f/skip); // parent->ipf.Lanczoslab (labnCrop,labnCrop , 1.f/skip);
} }

View File

@ -860,7 +860,8 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange)
bool needstransform = ipf.needsTransform(fw, fh, imgsrc->getRotateDegree(), imgsrc->getMetaData()); bool needstransform = ipf.needsTransform(fw, fh, imgsrc->getRotateDegree(), imgsrc->getMetaData());
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.enabled))) {
if ((needstransform || ((todo & (M_TRANSFORM | M_RGBCURVE)) && params->dirpyrequalizer.cbdlMethod == "bef" && params->dirpyrequalizer.enabled && params->colorappearance.modelmethod != "02"))) {
// Forking the image // Forking the image
assert(oprevi); assert(oprevi);
Imagefloat *op = oprevi; Imagefloat *op = oprevi;
@ -882,7 +883,8 @@ 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.enabled) {
if ((todo & (M_TRANSFORM | M_RGBCURVE)) && params->dirpyrequalizer.cbdlMethod == "bef" && params->dirpyrequalizer.enabled && params->colorappearance.modelmethod != "02") {
const int W = oprevi->getWidth(); const int W = oprevi->getWidth();
const int H = oprevi->getHeight(); const int H = oprevi->getHeight();
LabImage labcbdl(W, H); LabImage labcbdl(W, H);
@ -1755,12 +1757,14 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange)
ipf.vibrance(nprevl, params->vibrance, params->toneCurve.hrenabled, params->icm.workingProfile); ipf.vibrance(nprevl, params->vibrance, params->toneCurve.hrenabled, params->icm.workingProfile);
ipf.labColorCorrectionRegions(nprevl); ipf.labColorCorrectionRegions(nprevl);
if ((params->colorappearance.enabled && !params->colorappearance.tonecie) || (!params->colorappearance.enabled)) { // if ((params->colorappearance.enabled && !params->colorappearance.tonecie) || (!params->colorappearance.enabled)) {
if ((params->colorappearance.enabled && !params->colorappearance.tonecie) || (params->colorappearance.modelmethod != "02")) {
ipf.EPDToneMap(nprevl, 0, scale); ipf.EPDToneMap(nprevl, 0, scale);
} }
if (params->dirpyrequalizer.cbdlMethod == "aft") { if (params->dirpyrequalizer.cbdlMethod == "aft") {
if (((params->colorappearance.enabled && !settings->autocielab) || (!params->colorappearance.enabled))) { // if (((params->colorappearance.enabled && !settings->autocielab) || (!params->colorappearance.enabled))) {
if (((params->colorappearance.enabled && !settings->autocielab) || (params->colorappearance.modelmethod != "02"))) {
ipf.dirpyrequalizer(nprevl, scale); ipf.dirpyrequalizer(nprevl, scale);
} }
} }

View File

@ -1528,7 +1528,8 @@ IImage8* Thumbnail::processImage (const procparams::ProcParams& params, eSensorT
if ((params.colorappearance.enabled && !params.colorappearance.tonecie) || !params.colorappearance.enabled) { // if ((params.colorappearance.enabled && !params.colorappearance.tonecie) || !params.colorappearance.enabled) {
if ((params.colorappearance.enabled && !params.colorappearance.tonecie) || params.colorappearance.modelmethod != "02") {
ipf.EPDToneMap (labView, 5, 6); ipf.EPDToneMap (labView, 5, 6);
} }

View File

@ -1004,7 +1004,7 @@ private:
} }
} }
} }
//colorappearance.modelmethod == "02"
bool execcam = false; bool execcam = false;
//execcam => work around for pre-ciecam in LA: about 0.1 second //execcam => work around for pre-ciecam in LA: about 0.1 second
@ -1523,7 +1523,8 @@ private:
ipf.chromiLuminanceCurve(nullptr, 1, labView, labView, curve1, curve2, satcurve, lhskcurve, clcurve, lumacurve, utili, autili, butili, ccutili, cclutili, clcutili, dummy, dummy); ipf.chromiLuminanceCurve(nullptr, 1, labView, labView, curve1, curve2, satcurve, lhskcurve, clcurve, lumacurve, utili, autili, butili, ccutili, cclutili, clcutili, dummy, dummy);
if ((params.colorappearance.enabled && !params.colorappearance.tonecie) || (!params.colorappearance.enabled)) { // if ((params.colorappearance.enabled && !params.colorappearance.tonecie) || (!params.colorappearance.enabled)) {
if ((params.colorappearance.enabled && !params.colorappearance.tonecie) || (params.colorappearance.modelmethod != "02")) {
ipf.EPDToneMap(labView, 0, 1); ipf.EPDToneMap(labView, 0, 1);
} }
@ -1533,7 +1534,8 @@ private:
// for all treatments Defringe, Sharpening, Contrast detail ,Microcontrast they are activated if "CIECAM" function are disabled // 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.enabled)) {
if ((params.colorappearance.enabled && !settings->autocielab) || (params.colorappearance.modelmethod != "02")) {
ipf.impulsedenoise(labView); ipf.impulsedenoise(labView);
ipf.defringe(labView); ipf.defringe(labView);
} }
@ -1543,12 +1545,14 @@ private:
} }
if (params.sharpenMicro.enabled) { if (params.sharpenMicro.enabled) {
if ((params.colorappearance.enabled && !settings->autocielab) || (!params.colorappearance.enabled)) { // if ((params.colorappearance.enabled && !settings->autocielab) || (!params.colorappearance.enabled)) {
if ((params.colorappearance.enabled && !settings->autocielab) || (params.colorappearance.modelmethod != "02")) {
ipf.MLmicrocontrast(labView); //!params.colorappearance.sharpcie 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.enabled)) && params.sharpening.enabled) {
if (((params.colorappearance.enabled && !settings->autocielab) || (params.colorappearance.modelmethod != "02")) && params.sharpening.enabled) {
ipf.sharpening(labView, params.sharpening); ipf.sharpening(labView, params.sharpening);
} }
@ -1557,7 +1561,8 @@ private:
// directional pyramid wavelet // directional pyramid wavelet
if (params.dirpyrequalizer.cbdlMethod == "aft") { if (params.dirpyrequalizer.cbdlMethod == "aft") {
if ((params.colorappearance.enabled && !settings->autocielab) || !params.colorappearance.enabled) { // if ((params.colorappearance.enabled && !settings->autocielab) || !params.colorappearance.enabled) {
if ((params.colorappearance.enabled && !settings->autocielab) || params.colorappearance.modelmethod != "02") {
ipf.dirpyrequalizer(labView, 1); //TODO: this is the luminance tonecurve, not the RGB one ipf.dirpyrequalizer(labView, 1); //TODO: this is the luminance tonecurve, not the RGB one
} }
} }
@ -1935,7 +1940,8 @@ 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.enabled;
bool bwonly = params.blackwhite.enabled && !params.colorToning.enabled && !autili && !butili && params.colorappearance.modelmethod != "02";
///////////// Custom output gamma has been removed, the user now has to create ///////////// Custom output gamma has been removed, the user now has to create
///////////// a new output profile with the ICCProfileCreator ///////////// a new output profile with the ICCProfileCreator