AWARE SYSTEMS
TIFF and LibTiff Mail List Archive

Thread

2008.01.10 19:03 "[Tiff] LibTiff..Reading partial strips", by Nikhil Shirahatti
2008.01.10 21:33 "Re: [Tiff] LibTiff..Reading partial strips", by Bob Friesenhahn
2008.01.10 21:40 "Re: [Tiff] LibTiff..Reading partial strips", by Nikhil Shirahatti
2008.01.10 22:01 "Re: [Tiff] LibTiff..Reading partial strips", by Bob Friesenhahn
2008.01.11 07:35 "Re: [Tiff] LibTiff..Reading partial strips", by
2008.01.10 22:08 "Re: [Tiff] LibTiff..Reading partial strips", by Frank Warmerdam
2008.01.10 22:48 "Re: [Tiff] LibTiff..Reading partial strips", by Nikhil Shirahatti
2008.01.10 23:04 "Re: [Tiff] LibTiff..Reading partial strips", by Nikhil Shirahatti
2008.01.11 00:59 "Re: [Tiff] LibTiff..Reading partial strips", by Bob Friesenhahn
2008.01.11 07:40 "Re: [Tiff] LibTiff..Reading partial strips", by
2008.01.11 18:01 "[Tiff] Scanline access in libtiff", by Richard Nolde
2008.01.12 09:32 "Re: [Tiff] Scanline access in libtiff", by

2008.01.11 18:01 "[Tiff] Scanline access in libtiff", by Richard Nolde

Joris,

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.

Richard Nolde

> Message: 3
> Date: Fri, 11 Jan 2008 08:40:07 +0100
> From: "Joris Van Damme \(AWare Systems\)" <joris.at.lebbeke@skynet.be>

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.