[libcamera-devel] [PATCH v1.1] qcam: dng: Make TIFFTAG_CFAPATTERN variable count
Jean-Michel Hautbois
jeanmichel.hautbois at ideasonboard.com
Thu Jun 16 10:49:41 CEST 2022
Since libtiff version 20201219, the CFAPATTERN tag is using a variable
count and not the fixed 4 values size.
For reference, the commit introducing this is:
commit 2eb5a954cb7b7ad61559da00743c4b0e2fce34d0
Author: Sam Hasinoff <hasinoff at google.com>
Date: Sun Mar 8 21:23:16 2020 +0100
Make TIFFTAG_CFAPATTERN variable count
Add a version check in the DNGWriter::write function when this tag is
written as this breaks the raw capture in qcam.
Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois at ideasonboard.com>
---
v1.1: Corrects a typo in the if
-> /me should really always compile before sending -_-
---
src/qcam/dng_writer.cpp | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/qcam/dng_writer.cpp b/src/qcam/dng_writer.cpp
index 34c8df5a..06491b92 100644
--- a/src/qcam/dng_writer.cpp
+++ b/src/qcam/dng_writer.cpp
@@ -506,7 +506,10 @@ int DNGWriter::write(const char *filename, const Camera *camera,
TIFFSetField(tif, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG);
TIFFSetField(tif, TIFFTAG_SAMPLEFORMAT, SAMPLEFORMAT_UINT);
TIFFSetField(tif, TIFFTAG_CFAREPEATPATTERNDIM, cfaRepeatPatternDim);
- TIFFSetField(tif, TIFFTAG_CFAPATTERN, info->pattern);
+ if (TIFFLIB_VERSION < 20201219)
+ TIFFSetField(tif, TIFFTAG_CFAPATTERN, info->pattern);
+ else
+ TIFFSetField(tif, TIFFTAG_CFAPATTERN, 4, info->pattern);
TIFFSetField(tif, TIFFTAG_CFAPLANECOLOR, 3, cfaPlaneColor);
TIFFSetField(tif, TIFFTAG_CFALAYOUT, 1);
--
2.34.1
More information about the libcamera-devel
mailing list