diff --git a/rtengine/expo_before_b.cc b/rtengine/expo_before_b.cc index 9c91c80a4..151909e93 100644 --- a/rtengine/expo_before_b.cc +++ b/rtengine/expo_before_b.cc @@ -37,7 +37,7 @@ void RawImageSource::processRawWhitepoint(float expos, float preser) { int width=W, height=H; // exposure correction inspired from G.Luijk - if (preser==0.0) { + if (fabs(preser)<0.001) { // No highlight protection - simple mutiplication #pragma omp parallel for shared(expos) for (int row=0;row0.001) { + rmi*=params.raw.expos; + gmi*=params.raw.expos; + bmi*=params.raw.expos; + } + // resize to requested width and perform coarse transformation int rwidth; if (params.coarse.rotate==90 || params.coarse.rotate==270) { @@ -619,9 +628,6 @@ IImage8* Thumbnail::processImage (const procparams::ProcParams& params, int rhei rwidth = thumbImg->width * rheight / thumbImg->height; Image16* resImg = thumbImg->resize (rwidth, rheight, interp); - //Imagefloat* baseImg = resImg->tofloat(); - //Image16* baseImg = thumbImg->resize (rwidth, rheight, interp); - if (params.coarse.rotate) { Image16* tmp = resImg->rotate (params.coarse.rotate); @@ -629,21 +635,18 @@ IImage8* Thumbnail::processImage (const procparams::ProcParams& params, int rhei rheight = tmp->height; delete resImg; resImg = tmp; - //delete tmp; } if (params.coarse.hflip) { Image16* tmp = resImg->hflip (); delete resImg; resImg = tmp; - //delete tmp; } if (params.coarse.vflip) { Image16* tmp = resImg->vflip (); delete resImg; resImg = tmp; - //delete tmp; } - // apply white balance + // apply white balance and raw white point (simulated) int val; for (int i=0; i