BigTIFF & libtiff library version
Agelos Pappas
agelos at smartcode.gr
Sun Jun 17 15:22:58 EDT 2012
Hello,
I was trying to compile OpenSlide using the unofficial BigTIFF modified
version of libtiff available here:
http://bigtiff.org/
in order to add support for BigTIFF in OpenSlide. Although I was able to
compile BigTIFF and then OpenSlide successfully, I was getting runtime
errors signifying that there was a problem in the libtiff library.
I tried to test the library with an Aperio SVS file that previously
worked fine, but was now giving errors.
Specifically the problem was in this call:
openslide-hash.c, Line 117:
if (TIFFGetField(tiff, TIFFTAG_TILEBYTECOUNTS, &sizes) == 0)
Even though TIFFGetField returned a correct value, the sizes pointer did
not receive a value. The TIFFGetField function is implemented in
tifflib, in the file tif_dir.c:
This is an extract from libtiff
case TIFFTAG_TILEBYTECOUNTS:
_TIFFFillStriles( tif );
*va_arg(ap, uint64**) = td->td_stripbytecount;
break;
in the modified BigTIFF libtiff version, the equivalent implementation
looks like this (tif_dir.c):
case TIFFTAG_TILEBYTECOUNTS:
*va_arg(ap, uint32**) = td->td_stripbcsbuf;
break;
As you can see, the call to _TIFFFillStriles( tif ) is missing from the
BigTIFF version and the function is nowhere defined. Thus OpenSlide does
not work when built against the BigTIFF version.
Does OpenSlide use a modified libtiff version? Has anyone else managed
to add support for BigTIFF? Is there an official version of libtiff
supporting BigTIFF?
Regards
Agelos
More information about the openslide-users
mailing list