Add meson option for the tiff cfa pattern bug

This commit is contained in:
Martijn Braam 2020-12-22 17:13:36 +01:00
parent 684a81e546
commit edd1de7a9e
3 changed files with 9 additions and 1 deletions

View File

@ -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'],

2
meson_options.txt Normal file
View File

@ -0,0 +1,2 @@
option('tiffcfapattern', type: 'boolean', value: false)

View File

@ -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);
}