2004.07.14 16:57 "Re: [Tiff] multi image "no put routine" error", by Joris
However, other than the RGBA interface, libtiff has mostly aimed at providing access to TIFF files in a way as close as possible to the physical representation.
Which I personally believe is the correct thing to provide, from a TIFF codec point of view, since it is the single only layer which optimal design does not depend on encapsulating library/application design/needs. (Eg, some might prefer low memory consumption, others may be targetted towards optimal streaming of scanlines and thus may want to hold several states for decoding several tiles in a single row at the same time, yet others are targetting disk IO systems that benefit from as little as possible 'jumping around' and thus may want to work with serial tile access, others only consume completed rasters in a limited number of color spaces, yet others may want to make the most out of every possibility to multithread, etc... Providing that layer 'as close as possible to the physical representation' is thus the logical thing for a TIFF codec to do.)
The RGBA functions are by their very nature hacks that aren't worth much more care anyway, and the only thing that usefully could improve is attrackting more attention to that fact, eg stating clearly that using these functions to decode BW tiffs is almost nearly a crime, and why that is exactly. Adding a function series that is sortoff the middle between the RGBA series and the usefull series, and solves either tile/strip issues but not color convertion issues, or the other way around, in my opinion is pointless. If I'm not mistaking, there's already quite enough people that use the RGBA interface without having encountered documentation on its drawbacks that wouldn't have considered using it if they had known.
Or at least that's my opinion, for whatever it's worth.
Joris Van Damme
Download your free TIFF tag viewer for windows here: http://www.awaresystems.be/imaging/tiff/astifftagviewer.html