diff --git a/rtengine/ipsharpen.cc b/rtengine/ipsharpen.cc index 7ef323f08..7514a7eb4 100644 --- a/rtengine/ipsharpen.cc +++ b/rtengine/ipsharpen.cc @@ -622,7 +622,6 @@ BENCHFUN #pragma omp parallel #endif { - float signs[25]; #ifdef _OPENMP #pragma omp for schedule(dynamic,16) @@ -641,13 +640,6 @@ BENCHFUN for(int i = k, offset = j * width + i; i < width - k; i++, offset++) { float v = LM[offset]; - for(int row = j - k, n = 0; row <= j + k; row++) { - for(int offset2 = row * width + i - k; offset2 <= row * width + i + k; offset2++) { - signs[n] = SGN(v - LM[offset2]); - n++; - } - } - float contrast; if (k == 1) { contrast = sqrtf(SQR(LM[offset + 1] - LM[offset - 1]) + SQR(LM[offset + width] - LM[offset - width])) * 0.125f; //for 3x3 @@ -678,13 +670,10 @@ BENCHFUN temp = std::max(temp, 0.f); - - v = temp; - for(int row = j + k, n = SQR(2*k+1) - 1; row >= j - k; row--) { for(int offset2 = row * width + i + k; offset2 >= row * width + i - k; offset2--) { - if((LM[offset2] - v) * signs[n] > 0.f) { - temp = intp(0.75f, v, LM[offset2]); + if((LM[offset2] - temp) * SGN(v - LM[offset2]) > 0.f) { + temp = intp(0.75f, temp, LM[offset2]); goto breakout; } n--;