forked from macports/macports-ports
-
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
libkdcraw: fix build with modern libraw
- Loading branch information
1 parent
becbce0
commit ef4e6e9
Showing
4 changed files
with
210 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
--- CMakeLists.txt 2014-07-06 15:20:12.000000000 +0800 | ||
+++ CMakeLists.txt 2024-07-14 13:44:16.000000000 +0800 | ||
@@ -131,6 +131,9 @@ | ||
|
||
# ================================================================================================== | ||
|
||
+string(REGEX REPLACE "-fno-exceptions -DQT_NO_EXCEPTIONS" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) | ||
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexceptions") | ||
+ | ||
ADD_SUBDIRECTORY(libkdcraw) | ||
ADD_SUBDIRECTORY(icons) | ||
ADD_SUBDIRECTORY(profiles) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,189 @@ | ||
From 0843c601cbb9a9bb5774ed01b7d90e68fd17950a Mon Sep 17 00:00:00 2001 | ||
From: Antonio Rojas <[email protected]> | ||
Date: Sun, 18 Dec 2022 15:59:51 +0100 | ||
Subject: [PATCH] Fix build with libraw 0.21 | ||
|
||
--- | ||
src/kdcraw.cpp | 4 ++++ | ||
1 file changed, 4 insertions(+) | ||
|
||
diff --git a/src/kdcraw.cpp b/src/kdcraw.cpp | ||
index 376a37d..1433c4b 100644 | ||
--- libkdcraw/kdcraw.cpp | ||
+++ libkdcraw/kdcraw.cpp | ||
@@ -357,7 +357,11 @@ bool KDcraw::extractRAWData(const QString& filePath, QByteArray& rawData, DcrawI | ||
d->setProgress(0.3); | ||
|
||
raw.imgdata.params.output_bps = 16; | ||
+#if LIBRAW_COMPILE_CHECK_VERSION_NOTLESS(0, 21) | ||
+ raw.imgdata.rawparams.shot_select = shotSelect; | ||
+#else | ||
raw.imgdata.params.shot_select = shotSelect; | ||
+#endif | ||
ret = raw.unpack(); | ||
|
||
if (ret != LIBRAW_SUCCESS) | ||
|
||
|
||
From 3b7d0f2cbf66b06e12c57be26b262b71d8030d1a Mon Sep 17 00:00:00 2001 | ||
From: Boudewijn Rempt <[email protected]> | ||
Date: Fri, 31 Aug 2018 11:04:18 +0200 | ||
Subject: [PATCH] Fix build with dcraw 0.19 | ||
|
||
Port of https://phabricator.kde.org/D15132 | ||
--- | ||
.../raw/3rdparty/libkdcraw/src/kdcraw_p.cpp | 8 ++++++ | ||
.../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 1c761f85632..adc26d26628 100644 | ||
--- libkdcraw/kdcraw_p.cpp | ||
+++ libkdcraw/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 6d7c1063dba..5916fb2260c 100644 | ||
--- libkdcraw/rawdecodingsettings.h | ||
+++ libkdcraw/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; | ||
|