From 5e1f65ecde087098550caf69f5973a4ca39f61f7 Mon Sep 17 00:00:00 2001 From: Oliver Duis Date: Sun, 2 Oct 2011 20:06:58 +0200 Subject: [PATCH] Fixed black highlights when increasing Lab saturation on some occasions see issue 1025 --- rtengine/improcfun.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/rtengine/improcfun.cc b/rtengine/improcfun.cc index c315f0301..2c0eab725 100644 --- a/rtengine/improcfun.cc +++ b/rtengine/improcfun.cc @@ -477,14 +477,13 @@ void ImProcFunctions::chrominanceCurve (LabImage* lold, LabImage* lnew, LUTf & a float atmp = acurve[lold->a[i][j]+32768.0f]-32768.0f; float btmp = bcurve[lold->b[i][j]+32768.0f]-32768.0f; - if (params->labCurve.saturation) { + if (params->labCurve.saturation && fabs(atmp)<32768.0f && fabs(btmp)<32768.0f) { float chroma = sqrt(SQR(atmp)+SQR(btmp)+0.001); float satfactor = (satcurve[chroma+32768.0f]-32768.0f)/chroma; atmp *= satfactor; btmp *= satfactor; } - //double real_c = 1.0; if (params->labCurve.avoidclip) { //Luv limiter float Y,u,v;