AWARE [SYSTEMS] Imaging expertise for the Delphi developer
AWare Systems, Imaging expertise for the Delphi developer, Home TIFF and LibTiff Mailing List Archive

LibTiff Mailing List

TIFF and LibTiff Mailing List Archive
October 2006

Previous Thread
Next Thread

Previous by Thread
Next by Thread

Previous by Date
Next by Date

Contact

The TIFF Mailing List Homepage
This list is run by Frank Warmerdam
Archive maintained by AWare Systems



Valid HTML 4.01!



Thread

2006.10.04 19:18 "64-bit libtiff", by <stueken@conterra.de>
2006.10.05 13:02 "Re: 64-bit libtiff", by Andrey Kiselev

2006.10.04 19:18 "64-bit libtiff", by <stueken@conterra.de>

I'm using libtiff (&libgeotff) since 10 years for a tool to merge and cut
(geo-) tiff images. These days I tried to combine a really huge file with:

Image Width: 155729 Image Length: 161728 pixel.

As it is a  FaxG4 compressed 1-bit layer with a compresson factor of 60 it
is only about 48Mb. To get this layer into a map server I wanted to convert
it into a tiled image. Unfortunately my binaries are still 32bit and run
into problems to load the uncompressed image into memory. But since I recently
got two AMD64 Linux machines with 8GB memory each, I recompiled all my tools
as 64 bit executables. However I was a bit disappointed to find the same
problem for 64 bit, too.

I tracked down the problem and found the reason was the definition of "tsize_t"
which is still 32 bit, in contrast to size_t or void*, which become 64 bit.
Thus I can't use TIFFmalloc(tsize_t) to handle memory >2G :-( So, even if the
tiff file format itself is limited to 32 bit, there is no reason to limit the
virtual image size, too. Indeed I simply tried to change "tsize_t" to 64 bit 
and it seems to work without problems so far! I did not test everything, but
the binary tiff file layout seems not being affected by this.

Unfortunately this change makes my own tiff library incompatible to any binary
distributions, and I have no idea, how to introduce this change without problems. 

Dieter.