Try to fix bug when using CBDL main and Local Sharpening (#6611)

* Work around to fix bug when using CBDL main and Local Sharpening

* Optimization int replace by bool sharplablocal

* Try to fix bug by using shardamping > 0 in LA
This commit is contained in:
Desmis
2022-11-21 18:28:56 +01:00
committed by GitHub
parent 33a4737c89
commit 7057a70bab
2 changed files with 17 additions and 0 deletions

View File

@@ -731,6 +731,7 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange)
// Remove transformation if unneeded
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))) {
// Forking the image
assert(oprevi);
@@ -745,6 +746,14 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange)
}
}
for (int sp = 0; sp < (int)params->locallab.spots.size(); sp++) {
if(params->locallab.spots.at(sp).expsharp && params->dirpyrequalizer.cbdlMethod == "bef") {
if(params->locallab.spots.at(sp).shardamping < 1) {
params->locallab.spots.at(sp).shardamping = 1;
}
}
}
if ((todo & (M_TRANSFORM | M_RGBCURVE)) && params->dirpyrequalizer.cbdlMethod == "bef" && params->dirpyrequalizer.enabled && !params->colorappearance.enabled) {
const int W = oprevi->getWidth();
const int H = oprevi->getHeight();

View File

@@ -924,6 +924,14 @@ private:
//ImProcFunctions ipf (&params, true);
ImProcFunctions &ipf = * (ipf_p.get());
for (int sp = 0; sp < (int)params.locallab.spots.size(); sp++) {
if(params.locallab.spots.at(sp).expsharp && params.dirpyrequalizer.cbdlMethod == "bef") {
if(params.locallab.spots.at(sp).shardamping < 1) {
params.locallab.spots.at(sp).shardamping = 1;
}
}
}
if (params.dirpyrequalizer.cbdlMethod == "bef" && params.dirpyrequalizer.enabled && !params.colorappearance.enabled) {
const int W = baseImg->getWidth();
const int H = baseImg->getHeight();