From 1c86c3c44d73c838e554ec648afb71dc2a3d312c Mon Sep 17 00:00:00 2001 From: Alberto Griggio Date: Thu, 26 Oct 2017 15:02:55 +0200 Subject: [PATCH] Disable LCP CA correction if LCP distortion is enabled This was the old behaviour before lensfun integration. In order to enable both CA and distortion correction from the LCP, more work is needed. (temporary) fix for #4159 --- rtengine/iptransform.cc | 7 ++++--- rtengine/simpleprocess.cc | 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/rtengine/iptransform.cc b/rtengine/iptransform.cc index f227af2ed..d06872a64 100644 --- a/rtengine/iptransform.cc +++ b/rtengine/iptransform.cc @@ -796,9 +796,6 @@ void ImProcFunctions::transformGeneral(ImProcFunctions::TransformMode mode, Imag case ImProcFunctions::TRANSFORM_HIGH_QUALITY: { enableLCPDist = pLCPMap && params->lensProf.useDist; - if (enableLCPCA) { - enableLCPDist = false; - } enableCA = enableLCPCA || needsCA(); } //no break on purpose @@ -810,6 +807,10 @@ void ImProcFunctions::transformGeneral(ImProcFunctions::TransformMode mode, Imag } } + if (enableLCPCA) { + enableLCPDist = false; + } + if (!enableCA) { chDist[0] = 0.0; } diff --git a/rtengine/simpleprocess.cc b/rtengine/simpleprocess.cc index cc199389a..93d2a3149 100644 --- a/rtengine/simpleprocess.cc +++ b/rtengine/simpleprocess.cc @@ -817,7 +817,8 @@ private: trImg = baseImg; } else { trImg = new Imagefloat (fw, fh); - } ipf.transform (baseImg, trImg, 0, 0, 0, 0, fw, fh, fw, fh, + } + ipf.transform (baseImg, trImg, 0, 0, 0, 0, fw, fh, fw, fh, imgsrc->getMetaData(), imgsrc->getRotateDegree(), true); if(trImg != baseImg) { delete baseImg;