[libcamera-devel] [PATCH] qcam: dng: Make TIFFTAG_CFAPATTERN variable count
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Thu Jun 16 10:54:33 CEST 2022
Hi Jean-Michel,
Thank you for the patch.
On Thu, Jun 16, 2022 at 10:46:42AM +0200, Jean-Michel Hautbois via libcamera-devel wrote:
> 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>
> ---
> 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..bfb867c6 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))
Extra parenthesis. Apart from that,
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> + 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);
>
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list