forked from pool/krita
5c92849434
- 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
166 lines
6.6 KiB
Diff
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
|
|
|