SHA256
1
0
forked from pool/krita
krita/fix-build-with-dcraw-0.19.patch
Luca Beltrame 5c92849434 Accepting request 632504 from home:wolfi323:branches:KDE:Extra
- Add fix-build-with-dcraw-0.19.patch to fix compilation with the
  latest libraw
- Remove unnecessary libkdcraw-devel BuildRequires, krita doesn't
  use it anymore since a while

OBS-URL: https://build.opensuse.org/request/show/632504
OBS-URL: https://build.opensuse.org/package/show/KDE:Extra/krita?expand=0&rev=81
2018-08-31 12:16:51 +00:00

166 lines
6.6 KiB
Diff

From 3b7d0f2cbf66b06e12c57be26b262b71d8030d1a Mon Sep 17 00:00:00 2001
From: Boudewijn Rempt <boud@valdyas.org>
Date: Fri, 31 Aug 2018 11:04:18 +0200
Subject: Fix build with dcraw 0.19
Port of https://phabricator.kde.org/D15132
---
.../impex/raw/3rdparty/libkdcraw/src/kdcraw_p.cpp | 8 +++++++
.../3rdparty/libkdcraw/src/rawdecodingsettings.h | 28 ++++++++++++----------
2 files changed, 24 insertions(+), 12 deletions(-)
diff --git a/plugins/impex/raw/3rdparty/libkdcraw/src/kdcraw_p.cpp b/plugins/impex/raw/3rdparty/libkdcraw/src/kdcraw_p.cpp
index 1c761f8..adc26d2 100644
--- a/plugins/impex/raw/3rdparty/libkdcraw/src/kdcraw_p.cpp
+++ b/plugins/impex/raw/3rdparty/libkdcraw/src/kdcraw_p.cpp
@@ -375,6 +375,7 @@ bool KDcraw::Private::loadFromLibraw(const QString& filePath, QByteArray& imageD
raw.imgdata.params.fbdd_noiserd = lround(m_parent->m_rawDecodingSettings.NRThreshold / 100.0);
break;
}
+#if !LIBRAW_COMPILE_CHECK_VERSION_NOTLESS(0, 19)
case RawDecodingSettings::LINENR:
{
// (100 - 1000) => (0.001 - 0.02) conversion.
@@ -391,23 +392,28 @@ bool KDcraw::Private::loadFromLibraw(const QString& filePath, QByteArray& imageD
raw.imgdata.params.cfa_clean = true;
break;
}
+#endif
default: // No Noise Reduction
{
raw.imgdata.params.threshold = 0;
raw.imgdata.params.fbdd_noiserd = 0;
+#if !LIBRAW_COMPILE_CHECK_VERSION_NOTLESS(0, 19)
raw.imgdata.params.linenoise = 0;
raw.imgdata.params.cfaline = false;
raw.imgdata.params.lclean = 0;
raw.imgdata.params.cclean = 0;
raw.imgdata.params.cfa_clean = false;
+#endif
break;
}
}
+#if !LIBRAW_COMPILE_CHECK_VERSION_NOTLESS(0, 19)
// Chromatic aberration correction.
raw.imgdata.params.ca_correc = m_parent->m_rawDecodingSettings.enableCACorrection;
raw.imgdata.params.cared = m_parent->m_rawDecodingSettings.caMultiplier[0];
raw.imgdata.params.cablue = m_parent->m_rawDecodingSettings.caMultiplier[1];
+#endif
// Exposure Correction before interpolation.
raw.imgdata.params.exp_correc = m_parent->m_rawDecodingSettings.expoCorrection;
@@ -461,8 +467,10 @@ bool KDcraw::Private::loadFromLibraw(const QString& filePath, QByteArray& imageD
raw.imgdata.params.dcb_iterations = m_parent->m_rawDecodingSettings.dcbIterations;
raw.imgdata.params.dcb_enhance_fl = m_parent->m_rawDecodingSettings.dcbEnhanceFl;
+#if !LIBRAW_COMPILE_CHECK_VERSION_NOTLESS(0, 19)
raw.imgdata.params.eeci_refine = m_parent->m_rawDecodingSettings.eeciRefine;
raw.imgdata.params.es_med_passes = m_parent->m_rawDecodingSettings.esMedPasses;
+#endif
//-------------------------------------------------------------------------------------------
diff --git a/plugins/impex/raw/3rdparty/libkdcraw/src/rawdecodingsettings.h b/plugins/impex/raw/3rdparty/libkdcraw/src/rawdecodingsettings.h
index 6d7c106..5916fb2 100644
--- a/plugins/impex/raw/3rdparty/libkdcraw/src/rawdecodingsettings.h
+++ b/plugins/impex/raw/3rdparty/libkdcraw/src/rawdecodingsettings.h
@@ -54,8 +54,6 @@ public:
/** RAW decoding Interpolation methods
*
- * NOTE: from original dcraw demosaic
- *
* Bilinear: use high-speed but low-quality bilinear
* interpolation (default - for slow computer). In this method,
* the red value of a non-red pixel is computed as the average of
@@ -71,37 +69,38 @@ public:
* AHD: use Adaptive Homogeneity-Directed interpolation.
* This method selects the direction of interpolation so as to
* maximize a homogeneity metric, thus typically minimizing color artifacts.
+ * DCB: DCB interpolation (see http://www.linuxphoto.org/html/dcb.html for details)
*
- * NOTE: from GPL2 demosaic pack.
+ * NOTE: from GPL2/GPL3 demosaic packs - will not work with libraw>=0.19
*
- * DCB: DCB interpolation (see http://www.linuxphoto.org/html/dcb.html for details)
* PL_AHD: modified AHD interpolation (see http://sites.google.com/site/demosaicalgorithms/modified-dcraw
* for details).
* AFD: demosaicing through 5 pass median filter from PerfectRaw project.
* VCD: VCD interpolation.
* VCD_AHD: mixed demosaicing between VCD and AHD.
* LMMSE: LMMSE interpolation from PerfectRaw.
- *
- * NOTE: from GPL3 demosaic pack.
- *
* AMAZE: AMaZE interpolation and color aberration removal from RawTherapee project.
+ *
+ * NOTE: for libraw>=0.19 only
+ *
+ * DHT: DHT interpolation.
+ * AAHD: Enhanced Adaptative AHD interpolation.
*/
enum DecodingQuality
{
- // from original dcraw demosaic
BILINEAR = 0,
VNG = 1,
PPG = 2,
AHD = 3,
- // Extended demosaicing method from GPL2 demosaic pack
DCB = 4,
PL_AHD = 5,
AFD = 6,
VCD = 7,
VCD_AHD = 8,
LMMSE = 9,
- // Extended demosaicing methods from GPL3 demosaic pack
- AMAZE = 10
+ AMAZE = 10,
+ DHT = 11,
+ AAHD = 12
};
/** White balances alternatives
@@ -261,6 +260,7 @@ public:
int NRThreshold;
/** Turn on chromatic aberrations correction
+ * @deprecated does not work with libraw>=0.19
*/
bool enableCACorrection;
@@ -268,6 +268,7 @@ public:
* - caMultiplier[0] = amount of correction on red-green axis.
* - caMultiplier[1] = amount of correction on blue-yellow axis.
* - Both values set to 0.0 = automatic CA correction.
+ * @deprecated does not work with libraw>=0.19
*/
double caMultiplier[2];
@@ -334,17 +335,20 @@ public:
/// For VCD_AHD interpolation.
/** Turn on the EECI refine for VCD Demosaicing.
+ * @deprecated does not work with libraw>=0.19
*/
bool eeciRefine;
/** Use edge-sensitive median filtering for artifact supression after VCD demosaicing.
* 0 : disable (default)
* 1-10 : median filter passes.
+ * @deprecated does not work with libraw>=0.19
*/
int esMedPasses;
/** For IMPULSENR Noise reduction. Set the amount of Chrominance impulse denoise.
- Null value disable NR. Range is between 100 and 1000.
+ * Null value disable NR. Range is between 100 and 1000.
+ * @deprecated does not work with libraw>=0.19
*/
int NRChroThreshold;
--
cgit v0.11.2