Browse Source

Add meson option for the tiff cfa pattern bug

qr-code
Martijn Braam 9 months ago
parent
commit
edd1de7a9e
  1. 5
      meson.build
  2. 2
      meson_options.txt
  3. 3
      process_pipeline.c

5
meson.build

@ -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

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

3
process_pipeline.c

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

Loading…
Cancel
Save