diff --git a/rtengine/rawimage.cc b/rtengine/rawimage.cc index 89731992a..040d0276b 100644 --- a/rtengine/rawimage.cc +++ b/rtengine/rawimage.cc @@ -88,17 +88,17 @@ void RawImage::get_colorsCoeff( float *pre_mul_, float *scale_mul_, float *cblac float val; double dsum[8], dmin, dmax; - if ((this->get_cblack(4) + 1) / 2 == 1 && (this->get_cblack(5) + 1) / 2 == 1) { - for (int c = 0; c < 4; c++) { - cblack_[FC(c / 2, c % 2)] = this->get_cblack(6 + c / 2 % this->get_cblack(4) * this->get_cblack(5) + c % 2 % this->get_cblack(5)); - pre_mul_[c] = this->get_pre_mul(c); - } - } else if(isXtrans()) { + if(isXtrans()) { // for xtrans files dcraw stores black levels in cblack[6] .. cblack[41], but all are equal, so we just use cblack[6] for (int c = 0; c < 4; c++) { cblack_[c] = (float) this->get_cblack(6); pre_mul_[c] = this->get_pre_mul(c); } + } else if ((this->get_cblack(4) + 1) / 2 == 1 && (this->get_cblack(5) + 1) / 2 == 1) { + for (int c = 0; c < 4; c++) { + cblack_[FC(c / 2, c % 2)] = this->get_cblack(6 + c / 2 % this->get_cblack(4) * this->get_cblack(5) + c % 2 % this->get_cblack(5)); + pre_mul_[c] = this->get_pre_mul(c); + } } else { for (int c = 0; c < 4; c++) { cblack_[c] = (float) this->get_cblack(c);