Fixed insufficient functioning in Local denoise chroma

This commit is contained in:
Desmis
2017-12-14 14:59:32 +01:00
parent ce5f9f1715
commit 540b0be80a
2 changed files with 23 additions and 24 deletions

View File

@@ -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;