From 6de659b2f0266e7381efd40ceca58b13bc760c7e Mon Sep 17 00:00:00 2001 From: torger Date: Thu, 19 Dec 2013 21:00:13 +0100 Subject: [PATCH] Issue 2143: restored initialGain to use as-shot-wb as reference --- rtengine/rawimagesource.cc | 3 ++- rtengine/rawimagesource.h | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/rtengine/rawimagesource.cc b/rtengine/rawimagesource.cc index 608672668..0595f0c72 100644 --- a/rtengine/rawimagesource.cc +++ b/rtengine/rawimagesource.cc @@ -234,7 +234,7 @@ void RawImageSource::getImage (ColorTemp ctemp, int tran, Imagefloat* image, Pre defGain=0.0;// = log(initialGain) / log(2.0); //printf(" Initial gain=%f defgain=%f min=%f\n",initialGain,defGain,min); //printf(" rm=%f gm=%f bm=%f\n",rm,gm,bm); - min/=initialGain; + min/=refInitialGain; //min=(float)1.0/min; //else { //defGain = 0.0; @@ -882,6 +882,7 @@ int RawImageSource::load (Glib::ustring fname, bool batch) { double camwb_red = ri->get_pre_mul(0) / pre_mul[0]; double camwb_green = ri->get_pre_mul(1) / pre_mul[1]; double camwb_blue = ri->get_pre_mul(2) / pre_mul[2]; + refInitialGain = 1.0 / min(pre_mul[0], pre_mul[1], pre_mul[2]); double cam_r = imatrices.rgb_cam[0][0]*camwb_red + imatrices.rgb_cam[0][1]*camwb_green + imatrices.rgb_cam[0][2]*camwb_blue; double cam_g = imatrices.rgb_cam[1][0]*camwb_red + imatrices.rgb_cam[1][1]*camwb_green + imatrices.rgb_cam[1][2]*camwb_blue; double cam_b = imatrices.rgb_cam[2][0]*camwb_red + imatrices.rgb_cam[2][1]*camwb_green + imatrices.rgb_cam[2][2]*camwb_blue; diff --git a/rtengine/rawimagesource.h b/rtengine/rawimagesource.h index 1bd71c06e..72b63d0c9 100644 --- a/rtengine/rawimagesource.h +++ b/rtengine/rawimagesource.h @@ -95,6 +95,7 @@ class RawImageSource : public ImageSource { int max_3[3]; float chmax[4],hlmax[4]; double initialGain; // initial gain calculated after scale_colors + double refInitialGain; double defGain; bool full; cmsHPROFILE camProfile;