2008.01.11 18:01 "[Tiff] Scanline access in libtiff", by Richard Nolde
I know that you know much more about TIFF and libtiff than I do, but I found the basic functions of reading by tile or scanline to work extremely well in my application tiffcrop. I know that it is being used by folks running fax services and by at least one scanner /digital camera programmer in addition to my own adaptation in a high volume automated bar code reader. I think it might be more correct to say that the scanline interface is limited in its handling of color spaces and possibly certain compression schemes, but I've yet to receive any complaints on performance or failure to handle a TIFF file. I do have the advantage of a large multiprocessor machine with 64 GB of memory, but there are hundreds of concurrent users and most of our files only run in the 250 page range, which with G4 compression on Bilevel images means they are only 20 to 30 MB each.
> Message: 3
> Date: Fri, 11 Jan 2008 08:40:07 +0100
> From: "Joris Van Damme \(AWare Systems\)" <email@example.com>
In addition to "strip chopping", libtiff also has the TIFFReadScanline() function for reading strips one scanline at a time. This operates without needing to read and decompress the whole strip at once.
TIFFReadScanline and that sort of access might be more optimally streaming. But support for it depends on the particular subcodec, and I seem to remember not all subcodecs support it. It does not work on tiled images, either, and since there's no actual definition in the man pages of what should be returned on subsampled images, there's a bit of a mess in that case. So I essentially regard this scanline based access a broken concept in LibTiff.