@@ -21,6 +21,11 @@ if get_option('buildtype') == 'debug'
add_global_arguments('-DDEBUG', language: 'c')
endif
+# Workaround for libtiff having ABI changes but not changing the internal version number
+if get_option('tiffcfapattern')
+ add_global_arguments('-DLIBTIFF_CFA_PATTERN', language: 'c')
+endif
+
executable('megapixels', 'main.c', 'ini.c', 'quickpreview.c', 'camera.c', 'device.c', 'pipeline.c', 'camera_config.c', 'io_pipeline.c', 'process_pipeline.c', 'matrix.c', resources, dependencies : [gtkdep, libm, tiff, threads], install : true)
install_data(['data/org.postmarketos.Megapixels.desktop'],
@@ -0,0 +1,2 @@
+option('tiffcfapattern', type: 'boolean', value: false)
@@ -236,11 +236,12 @@ process_image_for_capture(const MPImage *image, int count)
TIFFSetField(tif, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG);
static const short cfapatterndim[] = { 2, 2 };
TIFFSetField(tif, TIFFTAG_CFAREPEATPATTERNDIM, cfapatterndim);
-#if (TIFFLIB_VERSION < 20201219)
+#if (TIFFLIB_VERSION < 20201219) && !LIBTIFF_CFA_PATTERN
TIFFSetField(tif, TIFFTAG_CFAPATTERN, "\002\001\001\000"); // BGGR
#else
TIFFSetField(tif, TIFFTAG_CFAPATTERN, 4, "\002\001\001\000"); // BGGR
#endif
+ printf("TIFF version %d\n", TIFFLIB_VERSION);
if (camera->whitelevel) {
TIFFSetField(tif, TIFFTAG_WHITELEVEL, 1, &camera->whitelevel);
}