Fixed insufficient functioning in Local denoise chroma
This commit is contained in:
@@ -2635,7 +2635,7 @@ bool ImProcFunctions::WaveletDenoiseAllAB(wavelet_decomposition &WaveletCoeffs_L
|
||||
|
||||
for (int lvl = 0; lvl < maxlvl; ++lvl) {
|
||||
for (int dir = 1; dir < 4; ++dir) {
|
||||
ShrinkAllAB(WaveletCoeffs_L, WaveletCoeffs_ab, buffer, lvl, dir, noisevarchrom, noisevar_ab, useNoiseCCurve, autoch, denoiseMethodRgb, madL[lvl], nullptr, 0);
|
||||
ShrinkAllAB(WaveletCoeffs_L, WaveletCoeffs_ab, buffer, lvl, dir, noisevarchrom, noisevar_ab, useNoiseCCurve, autoch, denoiseMethodRgb, madL[lvl], variC, local, nullptr, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2777,15 +2777,12 @@ SSEFUNCTION void ImProcFunctions::ShrinkAllAB(wavelet_decomposition &WaveletCoef
|
||||
madab = SQR(MadRgb(WavCoeffs_ab[dir], W_ab * H_ab));
|
||||
}
|
||||
}
|
||||
|
||||
float noisevarfc;
|
||||
|
||||
if ((local == 2 || local == 3) && variC) {
|
||||
noisevarfc = variC[level];
|
||||
} else {
|
||||
noisevarfc = noisevar_ab;
|
||||
}
|
||||
|
||||
if (noisevarfc > 0.001f) {//noisevar_ab
|
||||
// madab = useNoiseCCurve ? madab : madab * noisevar_ab;
|
||||
madab = useNoiseCCurve ? madab : madab * noisevarfc;
|
||||
|
Reference in New Issue
Block a user