diff --git a/rtengine/FTblockDN.cc b/rtengine/FTblockDN.cc index 89e4c1b8d..fb9d67cad 100644 --- a/rtengine/FTblockDN.cc +++ b/rtengine/FTblockDN.cc @@ -43,7 +43,6 @@ #include "procparams.h" #include "rt_math.h" #include "sleef.h" - #include "../rtgui/threadutils.h" #include "../rtgui/options.h" @@ -483,11 +482,9 @@ enum nrquality {QUALITY_STANDARD, QUALITY_HIGH}; void ImProcFunctions::RGB_denoise(int kall, Imagefloat * src, Imagefloat * dst, Imagefloat * calclum, float * ch_M, float *max_r, float *max_b, bool isRAW, const procparams::DirPyrDenoiseParams & dnparams, const double expcomp, const NoiseCurve & noiseLCurve, const NoiseCurve & noiseCCurve, float &nresi, float &highresi) { BENCHFUN -//#ifdef _DEBUG MyTime t1e, t2e; t1e.set(); -//#endif if (dnparams.luma == 0 && dnparams.chroma == 0 && !dnparams.median && !noiseLCurve && !noiseCCurve) { //nothing to do; copy src to dst or do nothing in case src == dst if (src != dst) { @@ -2035,14 +2032,10 @@ BENCHFUN delete[] ccalc; } -//#ifdef _DEBUG if (settings->verbose) { t2e.set(); printf("Denoise performed in %d usec:\n", t2e.etime(t1e)); } - -//#endif - }//end of main RGB_denoise diff --git a/rtengine/ciecam02.cc b/rtengine/ciecam02.cc index 208ed4366..c591bcb2c 100644 --- a/rtengine/ciecam02.cc +++ b/rtengine/ciecam02.cc @@ -22,11 +22,6 @@ #include #include "sleef.h" -#ifdef _DEBUG -#include "settings.h" -#include -#endif - #undef CLIPD #define CLIPD(a) ((a)>0.f?((a)<1.f?(a):1.f):0.f) #define MAXR(a,b) ((a) > (b) ? (a) : (b)) @@ -420,13 +415,6 @@ void Ciecam02::initcam1float (float yb, float pilotd, float f, float la, float x aw = achromatic_response_to_whitefloat ( xw, yw, zw, d, fl, nbb); wh = ( 4.0f / c ) * ( aw + 4.0f ) * pow_F ( fl, 0.25f ); pfl = pow_F ( fl, 0.25f ); -#ifdef _DEBUG - - if (settings->verbose) { - printf ("Source float d=%f aw=%f fl=%f wh=%f c=%f awc=%f\n", d, aw, fl, wh, c, (4.f / c) * (aw + 4.f)); - } - -#endif } void Ciecam02::initcam2float (float yb, float pilotd, float f, float la, float xw, float yw, float zw, float &n, float &d, float &nbb, float &ncb, @@ -445,13 +433,6 @@ void Ciecam02::initcam2float (float yb, float pilotd, float f, float la, float x nbb = ncb = 0.725f * pow_F ( 1.0f / n, 0.2f ); cz = 1.48f + sqrt ( n ); aw = achromatic_response_to_whitefloat ( xw, yw, zw, d, fl, nbb); -#ifdef _DEBUG - - if (settings->verbose) { - printf ("Viewing float d=%f aw=%f fl=%f n=%f\n", d, aw, fl, n); - } - -#endif } void Ciecam02::xyz2jchqms_ciecam02float ( float &J, float &C, float &h, float &Q, float &M, float &s, float aw, float fl, float wh, diff --git a/rtengine/color.cc b/rtengine/color.cc index 2de5309b9..11668451e 100644 --- a/rtengine/color.cc +++ b/rtengine/color.cc @@ -25,10 +25,6 @@ #include "opthelper.h" #include "iccstore.h" -#ifdef _DEBUG -#include "mytime.h" -#endif - using namespace std; namespace rtengine @@ -106,20 +102,6 @@ LUTf Color::_10GY30, Color::_10GY40, Color::_10GY50, Color::_10GY60, Color::_10G LUTf Color::_75GY30, Color::_75GY40, Color::_75GY50, Color::_75GY60, Color::_75GY70, Color::_75GY80; LUTf Color::_5GY30, Color::_5GY40, Color::_5GY50, Color::_5GY60, Color::_5GY70, Color::_5GY80; -#ifdef _DEBUG -MunsellDebugInfo::MunsellDebugInfo() -{ - reinitValues(); -} -void MunsellDebugInfo::reinitValues() -{ - maxdhue[0] = maxdhue[1] = maxdhue[2] = maxdhue[3] = 0.0f; - maxdhuelum[0] = maxdhuelum[1] = maxdhuelum[2] = maxdhuelum[3] = 0.0f; - depass = depassLum = 0; -} -#endif - - void Color::init () { @@ -1456,15 +1438,7 @@ void Color::interpolateRGBColor (const float balance, const float r1, const floa Color::Lab2Lch(a_1, b_1, c1, h1); Lr = L1 / 327.68f; //for gamutlch //gamut control on r1 g1 b1 -#ifndef NDEBUG - bool neg = false; - bool more_rgb = false; - - //gamut control : Lab values are in gamut - Color::gamutLchonly(h1, Lr, c1, RR, GG, BB, xyz_rgb, false, 0.15f, 0.96f, neg, more_rgb); -#else Color::gamutLchonly(h1, Lr, c1, RR, GG, BB, xyz_rgb, false, 0.15f, 0.96f); -#endif L1 = Lr * 327.68f; @@ -1475,14 +1449,7 @@ void Color::interpolateRGBColor (const float balance, const float r1, const floa Lr = L2 / 327.68f; //for gamutlch //gamut control on r2 g2 b2 -#ifndef NDEBUG - neg = false; - more_rgb = false; - //gamut control : Lab values are in gamut - Color::gamutLchonly(h2, Lr, c2, RR, GG, BB, xyz_rgb, false, 0.15f, 0.96f, neg, more_rgb); -#else Color::gamutLchonly(h2, Lr, c2, RR, GG, BB, xyz_rgb, false, 0.15f, 0.96f); -#endif L2 = Lr * 327.68f; // interpolating Lch values @@ -1512,15 +1479,8 @@ void Color::interpolateRGBColor (const float balance, const float r1, const floa // here I have put gamut control with gamutlchonly on final process Lr = L1 / 327.68f; //for gamutlch -#ifndef NDEBUG - neg = false; - more_rgb = false; - //gamut control : Lab values are in gamut - Color::gamutLchonly(h1, Lr, c1, RR, GG, BB, xyz_rgb, false, 0.15f, 0.96f, neg, more_rgb); -#else //gamut control : Lab values are in gamut Color::gamutLchonly(h1, Lr, c1, RR, GG, BB, xyz_rgb, false, 0.15f, 0.96f); -#endif //convert CH ==> ab L1 = Lr * 327.68f; @@ -2299,11 +2259,7 @@ void Color::transitred (const float HH, float const Chprov1, const float dred, c * float correctlum : correction Hue for luminance (brigtness, contrast,...) * MunsellDebugInfo* munsDbgInfo: (Debug target only) object to collect information. */ -#ifdef _DEBUG -void Color::AllMunsellLch(bool lumaMuns, float Lprov1, float Loldd, float HH, float Chprov1, float CC, float &correctionHuechroma, float &correctlum, MunsellDebugInfo* munsDbgInfo) -#else void Color::AllMunsellLch(bool lumaMuns, float Lprov1, float Loldd, float HH, float Chprov1, float CC, float &correctionHuechroma, float &correctlum) -#endif { bool contin1, contin2; @@ -2327,22 +2283,6 @@ void Color::AllMunsellLch(bool lumaMuns, float Lprov1, float Loldd, float HH, fl contin1 = contin2 = false; correctL = false; MunsellLch (Lprov1, HH, Chprov1, CC, correctionHue, zo, correctionHueLum, correctL); //munsell chroma correction -#ifdef _DEBUG - float absCorrectionHue = fabs(correctionHue); - - if(correctionHue != 0.0) { - int idx = zo - 1; - #pragma omp critical (maxdhue) - { - munsDbgInfo->maxdhue[idx] = MAX(munsDbgInfo->maxdhue[idx], absCorrectionHue); - } - } - - if(absCorrectionHue > 0.45) - #pragma omp atomic - munsDbgInfo->depass++; //verify if no bug in calculation - -#endif correctionHuechroma = correctionHue; //preserve if(lumaMuns) { @@ -2374,46 +2314,11 @@ void Color::AllMunsellLch(bool lumaMuns, float Lprov1, float Loldd, float HH, fl if(contin1 && contin2) { correctlum = correctlumprov2 - correctlumprov; } - -#ifdef _DEBUG - float absCorrectLum = fabs(correctlum); - - if(correctlum != 0.0) { - int idx = zo - 1; - #pragma omp critical (maxdhuelum) - { - munsDbgInfo->maxdhuelum[idx] = MAX(munsDbgInfo->maxdhuelum[idx], absCorrectLum); - } - } - - if(absCorrectLum > 0.35) - #pragma omp atomic - munsDbgInfo->depassLum++; //verify if no bug in calculation - -#endif } } } } - } - -#ifdef _DEBUG - - if (correctlum < -0.35f) { - correctlum = -0.35f; - } else if(correctlum > 0.35f) { - correctlum = 0.35f; - } - - if (correctionHuechroma < -0.45f) { - correctionHuechroma = -0.45f; - } else if(correctionHuechroma > 0.45f) { - correctionHuechroma = 0.45f; - } - -#endif - } /* @@ -2472,17 +2377,10 @@ void Color::AllMunsellLch(float Lprov1, float HH, float Chprov1, float CC, float * float coef : a float number between [0.95 ; 1.0[... the nearest it is from 1.0, the more precise it will be... and the longer too as more iteration will be necessary) * bool neg and moreRGB : only in DEBUG mode to calculate iterations for negatives values and > 65535 */ -#ifdef _DEBUG -void Color::gamutLchonly (float HH, float &Lprov1, float &Chprov1, float &R, float &G, float &B, const double wip[3][3], const bool isHLEnabled, const float lowerCoef, const float higherCoef, bool &neg, bool &more_rgb) -#else void Color::gamutLchonly (float HH, float &Lprov1, float &Chprov1, float &R, float &G, float &B, const double wip[3][3], const bool isHLEnabled, const float lowerCoef, const float higherCoef) -#endif { const float ClipLevel = 65535.0f; bool inGamut; -#ifdef _DEBUG - neg = false, more_rgb = false; -#endif float2 sincosval = xsincosf(HH); do { @@ -2506,10 +2404,6 @@ void Color::gamutLchonly (float HH, float &Lprov1, float &Chprov1, float &R, flo // gamut control before saturation to put Lab values in future gamut, but not RGB if (R < 0.0f || G < 0.0f || B < 0.0f) { -#ifdef _DEBUG - neg = true; -#endif - if (Lprov1 < 0.1f) { Lprov1 = 0.1f; } @@ -2555,10 +2449,6 @@ void Color::gamutLchonly (float HH, float &Lprov1, float &Chprov1, float &R, flo } else if (!isHLEnabled && rtengine::max(R, G, B) > ClipLevel && rtengine::min(R, G, B) <= ClipLevel) { // if "highlight reconstruction" is enabled or the point is completely white (clipped, no color), don't control Gamut -#ifdef _DEBUG - more_rgb = true; -#endif - if (Lprov1 > 99.999f) { Lprov1 = 99.98f; } @@ -2593,17 +2483,10 @@ void Color::gamutLchonly (float HH, float &Lprov1, float &Chprov1, float &R, flo * float coef : a float number between [0.95 ; 1.0[... the nearest it is from 1.0, the more precise it will be... and the longer too as more iteration will be necessary) * bool neg and moreRGB : only in DEBUG mode to calculate iterations for negatives values and > 65535 */ -#ifdef _DEBUG -void Color::gamutLchonly (float HH, float2 sincosval, float &Lprov1, float &Chprov1, float &R, float &G, float &B, const double wip[3][3], const bool isHLEnabled, const float lowerCoef, const float higherCoef, bool &neg, bool &more_rgb) -#else void Color::gamutLchonly (float HH, float2 sincosval, float &Lprov1, float &Chprov1, float &R, float &G, float &B, const double wip[3][3], const bool isHLEnabled, const float lowerCoef, const float higherCoef) -#endif { constexpr float ClipLevel = 65535.0f; bool inGamut; -#ifdef _DEBUG - neg = false, more_rgb = false; -#endif float ChprovSave = Chprov1; do { @@ -2625,9 +2508,6 @@ void Color::gamutLchonly (float HH, float2 sincosval, float &Lprov1, float &Chpr // gamut control before saturation to put Lab values in future gamut, but not RGB if (R < 0.0f || G < 0.0f || B < 0.0f) { -#ifdef _DEBUG - neg = true; -#endif if (isnan(HH)) { float atemp = ChprovSave * sincosval.y * 327.68; @@ -2680,10 +2560,6 @@ void Color::gamutLchonly (float HH, float2 sincosval, float &Lprov1, float &Chpr } else if (!isHLEnabled && rtengine::max(R, G, B) > ClipLevel && rtengine::min(R, G, B) <= ClipLevel) { // if "highlight reconstruction" is enabled or the point is completely white (clipped, no color), don't control Gamut -#ifdef _DEBUG - more_rgb = true; -#endif - if (Lprov1 > 99.999f) { Lprov1 = 99.98f; } @@ -2805,17 +2681,10 @@ void Color::gamutLchonly (float HH, float2 sincosval, float &Lprov1, float &Chpr } -#ifdef _DEBUG -void Color::gamutLchonly (float2 sincosval, float &Lprov1, float &Chprov1, const float wip[3][3], const bool isHLEnabled, const float lowerCoef, const float higherCoef, bool &neg, bool &more_rgb) -#else void Color::gamutLchonly (float2 sincosval, float &Lprov1, float &Chprov1, const float wip[3][3], const bool isHLEnabled, const float lowerCoef, const float higherCoef) -#endif { const float ClipLevel = 65535.0f; bool inGamut; -#ifdef _DEBUG - neg = false, more_rgb = false; -#endif do { inGamut = true; @@ -2839,10 +2708,6 @@ void Color::gamutLchonly (float2 sincosval, float &Lprov1, float &Chprov1, const // gamut control before saturation to put Lab values in future gamut, but not RGB if (R < 0.0f || G < 0.0f || B < 0.0f) { -#ifdef _DEBUG - neg = true; -#endif - if (Lprov1 < 0.01f) { Lprov1 = 0.01f; } @@ -2857,10 +2722,6 @@ void Color::gamutLchonly (float2 sincosval, float &Lprov1, float &Chprov1, const } else if (!isHLEnabled && rtengine::max(R, G, B) > ClipLevel && rtengine::min(R, G, B) <= ClipLevel) { // if "highlight reconstruction" is enabled or the point is completely white (clipped, no color), don't control Gamut -#ifdef _DEBUG - more_rgb = true; -#endif - if (Lprov1 > 99.999f) { Lprov1 = 99.98f; } @@ -2900,17 +2761,6 @@ void Color::gamutLchonly (float2 sincosval, float &Lprov1, float &Chprov1, const */ void Color::LabGamutMunsell(float *labL, float *laba, float *labb, const int N, bool corMunsell, bool lumaMuns, bool isHLEnabled, bool gamut, const double wip[3][3]) { -#ifdef _DEBUG - MyTime t1e, t2e; - t1e.set(); - int negat = 0, moreRGB = 0; - MunsellDebugInfo* MunsDebugInfo = nullptr; - - if (corMunsell) { - MunsDebugInfo = new MunsellDebugInfo(); - } - -#endif float correctlum = 0.f; float correctionHuechroma = 0.f; #ifdef __SSE2__ @@ -2949,9 +2799,6 @@ void Color::LabGamutMunsell(float *labL, float *laba, float *labb, const int N, float2 sincosval; if(gamut) { -#ifdef _DEBUG - bool neg, more_rgb; -#endif // According to mathematical laws we can get the sin and cos of HH by simple operations float R, G, B; @@ -2964,23 +2811,7 @@ void Color::LabGamutMunsell(float *labL, float *laba, float *labb, const int N, } //gamut control : Lab values are in gamut -#ifdef _DEBUG - gamutLchonly(HH, sincosval, Lprov1, Chprov1, R, G, B, wip, isHLEnabled, 0.15f, 0.96f, neg, more_rgb); -#else gamutLchonly(HH, sincosval, Lprov1, Chprov1, R, G, B, wip, isHLEnabled, 0.15f, 0.96f); -#endif - -#ifdef _DEBUG - - if(neg) { - negat++; - } - - if(more_rgb) { - moreRGB++; - } - -#endif } labL[j] = Lprov1 * 327.68f; @@ -2988,12 +2819,7 @@ void Color::LabGamutMunsell(float *labL, float *laba, float *labb, const int N, correctlum = 0.f; if(corMunsell) -#ifdef _DEBUG - AllMunsellLch(lumaMuns, Lprov1, Loldd, HH, Chprov1, Coldd, correctionHuechroma, correctlum, MunsDebugInfo); - -#else AllMunsellLch(lumaMuns, Lprov1, Loldd, HH, Chprov1, Coldd, correctionHuechroma, correctlum); -#endif if(correctlum == 0.f && correctionHuechroma == 0.f) { if(!gamut) { @@ -3014,28 +2840,6 @@ void Color::LabGamutMunsell(float *labL, float *laba, float *labb, const int N, laba[j] = Chprov1 * sincosval.y * 327.68f; labb[j] = Chprov1 * sincosval.x * 327.68f; } - -#ifdef _DEBUG - t2e.set(); - - if (settings->verbose) { - printf("Color::LabGamutMunsell (correction performed in %d usec):\n", t2e.etime(t1e)); - printf(" Gamut : G1negat=%iiter G165535=%iiter \n", negat, moreRGB); - - if (MunsDebugInfo) { - printf(" Munsell chrominance: MaxBP=%1.2frad MaxRY=%1.2frad MaxGY=%1.2frad MaxRP=%1.2frad depass=%u\n", MunsDebugInfo->maxdhue[0], MunsDebugInfo->maxdhue[1], MunsDebugInfo->maxdhue[2], MunsDebugInfo->maxdhue[3], MunsDebugInfo->depass); - printf(" Munsell luminance : MaxBP=%1.2frad MaxRY=%1.2frad MaxGY=%1.2frad MaxRP=%1.2frad depass=%u\n", MunsDebugInfo->maxdhuelum[0] , MunsDebugInfo->maxdhuelum[1], MunsDebugInfo->maxdhuelum[2], MunsDebugInfo->maxdhuelum[3], MunsDebugInfo->depassLum); - } else { - printf(" Munsell correction wasn't requested\n"); - } - } - - if (MunsDebugInfo) { - delete MunsDebugInfo; - } - -#endif - } /* @@ -3140,11 +2944,6 @@ void Color::SkinSat (float lum, float hue, float chrom, float &satreduc) */ void Color::initMunsell () { -#ifdef _DEBUG - MyTime t1e, t2e; - t1e.set(); -#endif - const int maxInd = 140; const int maxInd2 = 90; const int maxInd3 = 50; @@ -5745,14 +5544,6 @@ void Color::initMunsell () //printf("5GY %1.2f %1.2f %1.2f\n",_5GY80[44],_5GY80[84],_5GY80[125] ); -#ifdef _DEBUG - t2e.set(); - - if (settings->verbose) { - printf("Lutf Munsell %d usec\n", t2e.etime(t1e)); - } - -#endif } } diff --git a/rtengine/color.h b/rtengine/color.h index 1e83ad6f5..55ef52e36 100644 --- a/rtengine/color.h +++ b/rtengine/color.h @@ -36,23 +36,6 @@ namespace rtengine typedef std::array GammaValues; -#ifdef _DEBUG - -class MunsellDebugInfo -{ -public: - float maxdhuelum[4]; - float maxdhue[4]; - unsigned int depass; - unsigned int depassLum; - - MunsellDebugInfo(); - void reinitValues(); -}; - -#endif - - class Color { @@ -1395,11 +1378,7 @@ public: * @param munsDbgInfo (Debug target only) object to collect information */ -#ifdef _DEBUG - static void AllMunsellLch (bool lumaMuns, float Lprov1, float Loldd, float HH, float Chprov1, float CC, float &correctionHueChroma, float &correctlum, MunsellDebugInfo* munsDbgInfo); -#else static void AllMunsellLch (bool lumaMuns, float Lprov1, float Loldd, float HH, float Chprov1, float CC, float &correctionHueChroma, float &correctlum); -#endif static void AllMunsellLch (float Lprov1, float HH, float Chprov1, float CC, float &correctionHueChroma); @@ -1424,15 +1403,9 @@ public: * @param neg (Debug target only) to calculate iterations for negatives values * @param moreRGB (Debug target only) to calculate iterations for values >65535 */ -#ifdef _DEBUG - static void gamutLchonly (float HH, float &Lprov1, float &Chprov1, float &R, float &G, float &B, const double wip[3][3], bool isHLEnabled, float lowerCoef, float higherCoef, bool &neg, bool &more_rgb); - static void gamutLchonly (float HH, float2 sincosval, float &Lprov1, float &Chprov1, float &R, float &G, float &B, const double wip[3][3], bool isHLEnabled, float lowerCoef, float higherCoef, bool &neg, bool &more_rgb); - static void gamutLchonly (float2 sincosval, float &Lprov1, float &Chprov1, const float wip[3][3], bool isHLEnabled, float lowerCoef, float higherCoef, bool &neg, bool &more_rgb); -#else static void gamutLchonly (float HH, float &Lprov1, float &Chprov1, float &R, float &G, float &B, const double wip[3][3], bool isHLEnabled, float lowerCoef, float higherCoef); static void gamutLchonly (float HH, float2 sincosval, float &Lprov1, float &Chprov1, float &R, float &G, float &B, const double wip[3][3], bool isHLEnabled, float lowerCoef, float higherCoef); static void gamutLchonly (float2 sincosval, float &Lprov1, float &Chprov1, const float wip[3][3], bool isHLEnabled, float lowerCoef, float higherCoef); -#endif static void gamutLchonly (float HH, float2 sincosval, float &Lprov1, float &Chprov1, float &saturation, const float wip[3][3], bool isHLEnabled, float lowerCoef, float higherCoef); diff --git a/rtengine/curves.cc b/rtengine/curves.cc index e35f081fd..7f74467be 100644 --- a/rtengine/curves.cc +++ b/rtengine/curves.cc @@ -3444,14 +3444,7 @@ void ColorGradientCurve::SetXYZ(const Curve *pCurve, const double xyz_rgb[3][3], Color::Lab2Lch(a_1, b_1, c1, h1); float Lr = L1 / 327.68f; float RR, GG, BB; -#ifndef NDEBUG - bool neg = false; - bool more_rgb = false; - //gamut control : Lab values are in gamut - Color::gamutLchonly(h1, Lr, c1, RR, GG, BB, xyz_rgb, false, 0.15f, 0.96f, neg, more_rgb); -#else Color::gamutLchonly(h1, Lr, c1, RR, GG, BB, xyz_rgb, false, 0.15f, 0.96f); -#endif L1 = Lr * 327.68f; float La, Lb, X, Y, Z; // converting back to rgb @@ -3469,14 +3462,6 @@ void ColorGradientCurve::SetXYZ(const Curve *pCurve, const double xyz_rgb[3][3], } } } - - /* - #ifndef NDEBUG - lutRed.dump("red"); - lutGreen.dump("green"); - lutBlue.dump("blue"); - #endif - */ } void ColorGradientCurve::SetXYZ(const std::vector &curvePoints, const double xyz_rgb[3][3], float satur, float lumin) @@ -3568,14 +3553,6 @@ void ColorGradientCurve::SetRGB(const Curve *pCurve) } } } - - /* - #ifndef NDEBUG - lut1.dump("red"); - lut2.dump("green"); - lut3.dump("blue"); - #endif - */ } void ColorGradientCurve::SetRGB(const std::vector &curvePoints) diff --git a/rtengine/improcfun.cc b/rtengine/improcfun.cc index 77f43bf84..2ed5139f6 100644 --- a/rtengine/improcfun.cc +++ b/rtengine/improcfun.cc @@ -51,10 +51,6 @@ #include "../rtgui/editcallbacks.h" -#ifdef _DEBUG -#include "mytime.h" -#endif - namespace { using namespace rtengine; @@ -511,12 +507,6 @@ void ImProcFunctions::ciecam_02float(CieImage* ncie, float adap, int pW, int pwb bool showSharpMask) { if (params->colorappearance.enabled) { - -#ifdef _DEBUG - MyTime t1e, t2e; - t1e.set(); -#endif - //preparate for histograms CIECAM LUTu hist16JCAM; LUTu hist16_CCAM; @@ -1021,10 +1011,8 @@ void ImProcFunctions::ciecam_02float(CieImage* ncie, float adap, int pW, int pwb #ifdef __SSE2__ int bufferLength = ((width + 3) / 4) * 4; // bufferLength has to be a multiple of 4 #endif -#ifndef _DEBUG #ifdef _OPENMP #pragma omp parallel -#endif #endif { float minQThr = 10000.f; @@ -1038,10 +1026,8 @@ void ImProcFunctions::ciecam_02float(CieImage* ncie, float adap, int pW, int pwb float Mbuffer[bufferLength] ALIGNED16; float sbuffer[bufferLength] ALIGNED16; #endif -#ifndef _DEBUG #ifdef _OPENMP #pragma omp for schedule(dynamic, 16) -#endif #endif for (int i = 0; i < height; i++) { @@ -1560,16 +1546,8 @@ void ImProcFunctions::ciecam_02float(CieImage* ncie, float adap, int pW, int pwb } -#ifdef _DEBUG - bool neg = false; - bool more_rgb = false; - //gamut control : Lab values are in gamut - Color::gamutLchonly(sincosval, Lprov1, Chprov1, wip, highlight, 0.15f, 0.96f, neg, more_rgb); -#else //gamut control : Lab values are in gamut Color::gamutLchonly(sincosval, Lprov1, Chprov1, wip, highlight, 0.15f, 0.96f); -#endif - lab->L[i][j] = Lprov1 * 327.68f; lab->a[i][j] = 327.68f * Chprov1 * sincosval.y; lab->b[i][j] = 327.68f * Chprov1 * sincosval.x; @@ -1623,15 +1601,8 @@ void ImProcFunctions::ciecam_02float(CieImage* ncie, float adap, int pW, int pwb sincosval.x = bb / (Chprov1 * 327.68f); } -#ifdef _DEBUG - bool neg = false; - bool more_rgb = false; - //gamut control : Lab values are in gamut - Color::gamutLchonly(sincosval, Lprov1, Chprov1, wip, highlight, 0.15f, 0.96f, neg, more_rgb); -#else //gamut control : Lab values are in gamut Color::gamutLchonly(sincosval, Lprov1, Chprov1, wip, highlight, 0.15f, 0.96f); -#endif lab->L[i][j] = Lprov1 * 327.68f; lab->a[i][j] = 327.68f * Chprov1 * sincosval.y; lab->b[i][j] = 327.68f * Chprov1 * sincosval.x; @@ -1670,16 +1641,6 @@ void ImProcFunctions::ciecam_02float(CieImage* ncie, float adap, int pW, int pwb } } -#ifdef _DEBUG - - if (settings->verbose) { - t2e.set(); - printf("CIECAM02 performed in %d usec:\n", t2e.etime(t1e)); - // printf("minc=%f maxc=%f minj=%f maxj=%f\n",minc,maxc,minj,maxj); - } - -#endif - if (settings->autocielab) { if ((params->colorappearance.tonecie && (epdEnabled)) || (params->sharpening.enabled && settings->autocielab && execsharp) || (params->dirpyrequalizer.enabled && settings->autocielab) || (params->defringe.enabled && settings->autocielab) || (params->sharpenMicro.enabled && settings->autocielab) @@ -1759,18 +1720,13 @@ void ImProcFunctions::ciecam_02float(CieImage* ncie, float adap, int pW, int pwb const float co_e = (pow_F(f_l, 0.25f)); -#ifndef _DEBUG #ifdef _OPENMP #pragma omp parallel -#endif #endif { -#ifndef _DEBUG #ifdef _OPENMP #pragma omp for schedule(dynamic, 10) #endif -#endif - for (int i = 0; i < height; i++) // update CieImages with new values after sharpening, defringe, contrast by detail level for (int j = 0; j < width; j++) { float interm = fabsf(ncie->sh_p[i][j] / (32768.f)); @@ -1800,10 +1756,8 @@ void ImProcFunctions::ciecam_02float(CieImage* ncie, float adap, int pW, int pwb constexpr float eps = 0.0001f; const float co_e = (pow_F(f_l, 0.25f)) + eps; -#ifndef _DEBUG #ifdef _OPENMP #pragma omp parallel -#endif #endif { #ifdef __SSE2__ @@ -1816,10 +1770,8 @@ void ImProcFunctions::ciecam_02float(CieImage* ncie, float adap, int pW, int pwb float *zbuffer = hbuffer; // " #endif -#ifndef _DEBUG #ifdef _OPENMP #pragma omp for schedule(dynamic, 10) -#endif #endif for (int i = 0; i < height; i++) { // update CIECAM with new values after tone-mapping @@ -1901,15 +1853,8 @@ void ImProcFunctions::ciecam_02float(CieImage* ncie, float adap, int pW, int pwb } -#ifdef _DEBUG - bool neg = false; - bool more_rgb = false; - //gamut control : Lab values are in gamut - Color::gamutLchonly(sincosval, Lprov1, Chprov1, wip, highlight, 0.15f, 0.96f, neg, more_rgb); -#else //gamut control : Lab values are in gamut Color::gamutLchonly(sincosval, Lprov1, Chprov1, wip, highlight, 0.15f, 0.96f); -#endif lab->L[i][j] = Lprov1 * 327.68f; lab->a[i][j] = 327.68f * Chprov1 * sincosval.y; @@ -1963,15 +1908,8 @@ void ImProcFunctions::ciecam_02float(CieImage* ncie, float adap, int pW, int pwb sincosval.x = bb / (Chprov1 * 327.68f); } -#ifdef _DEBUG - bool neg = false; - bool more_rgb = false; - //gamut control : Lab values are in gamut - Color::gamutLchonly(sincosval, Lprov1, Chprov1, wip, highlight, 0.15f, 0.96f, neg, more_rgb); -#else //gamut control : Lab values are in gamut Color::gamutLchonly(sincosval, Lprov1, Chprov1, wip, highlight, 0.15f, 0.96f); -#endif lab->L[i][j] = Lprov1 * 327.68f; lab->a[i][j] = 327.68f * Chprov1 * sincosval.y; lab->b[i][j] = 327.68f * Chprov1 * sincosval.x; @@ -2691,15 +2629,8 @@ void ImProcFunctions::rgbProc (Imagefloat* working, LabImage* lab, PipetteBuffer sincosval.x = b_1 / (Chpro * 327.68f); } -#ifdef _DEBUG - bool neg = false; - bool more_rgb = false; - //gamut control : Lab values are in gamut - Color::gamutLchonly(HH, sincosval, Lpro, Chpro, r, g, b, wip, highlight, 0.15f, 0.96f, neg, more_rgb); -#else //gamut control : Lab values are in gamut Color::gamutLchonly(HH, sincosval, Lpro, Chpro, r, g, b, wip, highlight, 0.15f, 0.96f); -#endif //end of gamut control } else { float x_, y_, z_; @@ -3101,15 +3032,8 @@ void ImProcFunctions::rgbProc (Imagefloat* working, LabImage* lab, PipetteBuffer float RR, GG, BB; L /= 327.68f; -#ifdef _DEBUG - bool neg = false; - bool more_rgb = false; - //gamut control : Lab values are in gamut - Color::gamutLchonly(HH, sincosval, L, CC, RR, GG, BB, wip, highlight, 0.15f, 0.96f, neg, more_rgb); -#else //gamut control : Lab values are in gamut Color::gamutLchonly(HH, sincosval, L, CC, RR, GG, BB, wip, highlight, 0.15f, 0.96f); -#endif L *= 327.68f; //convert l => rgb Color::L2XYZ(L, X, Y, Z); @@ -4341,13 +4265,6 @@ void ImProcFunctions::chromiLuminanceCurve (PipetteBuffer *pipetteBuffer, int pW const float histLFactor = pW != 1 ? histLCurve.getSize() / 100.f : 1.f; const float histCFactor = pW != 1 ? histCCurve.getSize() / 48000.f : 1.f; -#ifdef _DEBUG - MyTime t1e, t2e; - t1e.set(); - // init variables to display Munsell corrections - MunsellDebugInfo* MunsDebugInfo = new MunsellDebugInfo(); -#endif - float adjustr = 1.0f; // if(params->labCurve.avoidclip ){ @@ -4446,11 +4363,7 @@ void ImProcFunctions::chromiLuminanceCurve (PipetteBuffer *pipetteBuffer, int pW }; #ifdef _OPENMP -#ifdef _DEBUG - #pragma omp parallel default(shared) firstprivate(lold, lnew, MunsDebugInfo, pW) if (multiThread) -#else #pragma omp parallel if (multiThread) -#endif #endif { #ifdef __SSE2__ @@ -4912,18 +4825,9 @@ void ImProcFunctions::chromiLuminanceCurve (PipetteBuffer *pipetteBuffer, int pW //gamutmap Lch ==> preserve Hue,but a little slower than gamutbdy for high values...and little faster for low values if (gamutLch) { float R, G, B; - -#ifdef _DEBUG - bool neg = false; - bool more_rgb = false; - //gamut control : Lab values are in gamut - Color::gamutLchonly(HH, sincosval, Lprov1, Chprov1, R, G, B, wip, highlight, 0.15f, 0.96f, neg, more_rgb); -#else //gamut control : Lab values are in gamut Color::gamutLchonly(HH, sincosval, Lprov1, Chprov1, R, G, B, wip, highlight, 0.15f, 0.96f); -#endif lnew->L[i][j] = Lprov1 * 327.68f; -// float2 sincosval = xsincosf(HH); lnew->a[i][j] = 327.68f * Chprov1 * sincosval.y; lnew->b[i][j] = 327.68f * Chprov1 * sincosval.x; } else { @@ -4941,12 +4845,7 @@ void ImProcFunctions::chromiLuminanceCurve (PipetteBuffer *pipetteBuffer, int pW Lprov1 = lnew->L[i][j] / 327.68f; Chprov = sqrt(SQR(lnew->a[i][j]) + SQR(lnew->b[i][j])) / 327.68f; - -#ifdef _DEBUG - Color::AllMunsellLch(/*lumaMuns*/true, Lprov1, LL, HH, Chprov, memChprov, correctionHue, correctlum, MunsDebugInfo); -#else Color::AllMunsellLch(/*lumaMuns*/true, Lprov1, LL, HH, Chprov, memChprov, correctionHue, correctlum); -#endif if (correctionHue != 0.f || correctlum != 0.f) { if (fabs(correctionHue) < 0.015f) { @@ -4983,18 +4882,6 @@ void ImProcFunctions::chromiLuminanceCurve (PipetteBuffer *pipetteBuffer, int pW } } // end of parallelization -#ifdef _DEBUG - - if (settings->verbose) { - t2e.set(); - printf("Color::AllMunsellLch (correction performed in %d usec):\n", t2e.etime(t1e)); - printf(" Munsell chrominance: MaxBP=%1.2frad MaxRY=%1.2frad MaxGY=%1.2frad MaxRP=%1.2frad dep=%u\n", MunsDebugInfo->maxdhue[0], MunsDebugInfo->maxdhue[1], MunsDebugInfo->maxdhue[2], MunsDebugInfo->maxdhue[3], MunsDebugInfo->depass); - printf(" Munsell luminance : MaxBP=%1.2frad MaxRY=%1.2frad MaxGY=%1.2frad MaxRP=%1.2frad dep=%u\n", MunsDebugInfo->maxdhuelum[0], MunsDebugInfo->maxdhuelum[1], MunsDebugInfo->maxdhuelum[2], MunsDebugInfo->maxdhuelum[3], MunsDebugInfo->depassLum); - } - - delete MunsDebugInfo; -#endif - if (chCurve) { delete chCurve; } @@ -5220,12 +5107,9 @@ void ImProcFunctions::EPDToneMapCIE(CieImage *ncie, float a_w, float c_, int Wid //Restore past range, also desaturate a bit per Mantiuk's Color correction for tone mapping. float s = (1.0f + 38.7889f) * powf(Compression, 1.5856f) / (1.0f + 38.7889f * powf(Compression, 1.5856f)); -#ifndef _DEBUG #ifdef _OPENMP #pragma omp parallel for schedule(dynamic,10) #endif -#endif - for (int i = 0; i < Hei; i++) for (int j = 0; j < Wid; j++) { ncie->Q_p[i][j] = (ncie->Q_p[i][j] * Qpro) / gamm; diff --git a/rtengine/iplocallab.cc b/rtengine/iplocallab.cc index b7031e054..4c9038429 100644 --- a/rtengine/iplocallab.cc +++ b/rtengine/iplocallab.cc @@ -2086,9 +2086,7 @@ void ImProcFunctions::ciecamloc_02float(int sp, LabImage* lab) #ifdef __SSE2__ int bufferLength = ((width + 3) / 4) * 4; // bufferLength has to be a multiple of 4 #endif -#ifndef _DEBUG #pragma omp parallel if (multiThread) -#endif { #ifdef __SSE2__ // one line buffer per channel and thread @@ -2099,9 +2097,7 @@ void ImProcFunctions::ciecamloc_02float(int sp, LabImage* lab) float Mbuffer[bufferLength] ALIGNED16; float sbuffer[bufferLength] ALIGNED16; #endif -#ifndef _DEBUG #pragma omp for schedule(dynamic, 16) -#endif for (int i = 0; i < height; i++) { #ifdef __SSE2__ // vectorized conversion from Lab to jchqms @@ -9928,10 +9924,6 @@ void ImProcFunctions::Lab_Local( } BENCHFUN -#ifdef _DEBUG -// init variables to display Munsell corrections - MunsellDebugInfo* MunsDebugInfo = new MunsellDebugInfo(); -#endif constexpr int del = 3; // to avoid crash with [loy - begy] and [lox - begx] and bfh bfw // with gtk2 [loy - begy-1] [lox - begx -1 ] and del = 1 struct local_params lp; @@ -14741,11 +14733,7 @@ void ImProcFunctions::Lab_Local( #endif #ifdef _OPENMP -#ifdef _DEBUG - #pragma omp for schedule(dynamic,16) firstprivate(MunsDebugInfo) -#else #pragma omp for schedule(dynamic,16) -#endif #endif for (int y = 0; y < transformed->H; y++) { const int loy = cy + y; @@ -14843,15 +14831,9 @@ void ImProcFunctions::Lab_Local( } #endif -#ifdef _DEBUG - Chprov1 = rtengine::min(Chprov1, chr); - Color::gamutLchonly(sincosval, Lprov1, Chprov1, wip, highlight, 0.15f, 0.92f, false, false); -#else Color::pregamutlab(Lprov1, HH, chr); Chprov1 = rtengine::min(Chprov1, chr); Color::gamutLchonly(sincosval, Lprov1, Chprov1, wip, highlight, 0.15f, 0.92f); -#endif - transformed->L[y][x] = Lprov1 * 327.68f; transformed->a[y][x] = 327.68f * Chprov1 * sincosval.y; transformed->b[y][x] = 327.68f * Chprov1 * sincosval.x; @@ -14862,11 +14844,7 @@ void ImProcFunctions::Lab_Local( float correctlum = 0.f; const float memChprov = std::sqrt(SQR(original->a[y][x]) + SQR(original->b[y][x])) / 327.68f; float Chprov = std::sqrt(SQR(transformed->a[y][x]) + SQR(transformed->b[y][x])) / 327.68f; -#ifdef _DEBUG - Color::AllMunsellLch(true, Lprov1, Lprov2, HH, Chprov, memChprov, correctionHue, correctlum, MunsDebugInfo); -#else Color::AllMunsellLch(true, Lprov1, Lprov2, HH, Chprov, memChprov, correctionHue, correctlum); -#endif if (std::fabs(correctionHue) < 0.015f) { HH += correctlum; // correct only if correct Munsell chroma very little. @@ -14881,9 +14859,6 @@ void ImProcFunctions::Lab_Local( } } -#ifdef _DEBUG - delete MunsDebugInfo; -#endif } } diff --git a/rtengine/ipwavelet.cc b/rtengine/ipwavelet.cc index f39c18757..52a01c9a9 100644 --- a/rtengine/ipwavelet.cc +++ b/rtengine/ipwavelet.cc @@ -168,10 +168,6 @@ void ImProcFunctions::ip_wavelet(LabImage * lab, LabImage * dst, int kall, const { -#ifdef _DEBUG - // init variables to display Munsell corrections - MunsellDebugInfo* MunsDebugInfo = new MunsellDebugInfo(); -#endif TMatrix wiprof = ICCStore::getInstance()->workingSpaceInverseMatrix(params->icm.workingProfile); const double wip[3][3] = { {wiprof[0][0], wiprof[0][1], wiprof[0][2]}, @@ -1519,13 +1515,7 @@ void ImProcFunctions::ip_wavelet(LabImage * lab, LabImage * dst, int kall, const float Lprov2 = Lold[i][j] / 327.68f; float memChprov = varchro[i1][j1]; float R, G, B; -#ifdef _DEBUG - bool neg = false; - bool more_rgb = false; - Color::gamutLchonly(HH, sincosv, Lprov1, Chprov1, R, G, B, wip, highlight, 0.15f, 0.96f, neg, more_rgb); -#else Color::gamutLchonly(HH, sincosv, Lprov1, Chprov1, R, G, B, wip, highlight, 0.15f, 0.96f); -#endif L = Lprov1 * 327.68f; a = 327.68f * Chprov1 * sincosv.y; //gamut @@ -1534,11 +1524,7 @@ void ImProcFunctions::ip_wavelet(LabImage * lab, LabImage * dst, int kall, const float correctlum = 0.0f; Lprov1 = L / 327.68f; const float Chprov = sqrtf(SQR(a) + SQR(b)) / 327.68f; -#ifdef _DEBUG - Color::AllMunsellLch(true, Lprov1, Lprov2, HH, Chprov, memChprov, correctionHue, correctlum, MunsDebugInfo); -#else Color::AllMunsellLch(true, Lprov1, Lprov2, HH, Chprov, memChprov, correctionHue, correctlum); -#endif if (correctionHue != 0.f || correctlum != 0.f) { // only calculate sin and cos if HH changed if (std::fabs(correctionHue) < 0.015f) { @@ -1647,11 +1633,6 @@ void ImProcFunctions::ip_wavelet(LabImage * lab, LabImage * dst, int kall, const } } } - -#ifdef _DEBUG - delete MunsDebugInfo; -#endif - } diff --git a/rtengine/rawimagesource.cc b/rtengine/rawimagesource.cc index 77a5ff9fc..036423d21 100644 --- a/rtengine/rawimagesource.cc +++ b/rtengine/rawimagesource.cc @@ -2258,15 +2258,8 @@ void RawImageSource::retinex(const ColorManagementParams& cmp, const RetinexPara } float R, G, B; -#ifdef _DEBUG - bool neg = false; - bool more_rgb = false; - //gamut control : Lab values are in gamut - Color::gamutLchonly(HH, sincosval, Lprov1, Chprov1, R, G, B, wip, highlight, 0.15f, 0.96f, neg, more_rgb); -#else //gamut control : Lab values are in gamut Color::gamutLchonly(HH, sincosval, Lprov1, Chprov1, R, G, B, wip, highlight, 0.15f, 0.96f); -#endif