2005.03.10 10:46 "[Tiff] libtiff: Tiff Tag EXTRASAMPLES and TIFFRGBAImage", by Daniel Sievers

2005.03.10 16:46 "Re: [Tiff] libtiff: Tiff Tag EXTRASAMPLES and TIFFRGBAImage", by Joris Van Damme

The official TIFF homepage lists http://www.awaresystems.be/imaging/tiff/faq.html as a reference for TIFF tags.

That's too much honour. I believe the FAQ is listed as an unofficial source, which I believe to mean something along the lines of 'might be useful'. The tag directory is hierarchically a 'brother' of the FAQ, not a child, so strictly speaking it is not referred to at all from that page.

On that page EXTRASAMPLES is defined differently from how it is used. There it says for the baseline EXTRASAMPLES tag, that this tag consists of N values, where N=samplesPerPixel-colorSamples. How it is really used is that it returns N+1 values. The first value returns the number of extrasamples, while the remaining values work as documented.

You are correct, AND so is the tag page. The tag page lists the tags as documented by the TIFF spec and other sources. It is an implementation independent view on what really is there. LibTiff, on the other hand, returns a convinient structure in TIFFGetField, which is not necessarilly exactly and only the tag value. So the tag page is the correct view on what really is the value as encoded in the TIFF, while what you describe under the heading 'how it is really used' ressembles a correct description of the structure as returned by LibTiff's TIFFGetField when asked about this tag.

Is there any clear documentation on this somewhere?

The TIFF spec is the clear documentation on what is really in the TIFF file, see http://www.awaresystems.be/imaging/tiff/faq.html#q4. The TIFFGetField man page documents the TIFFGetField function and what exactly it returns, see http://www.remotesensing.org/libtiff/man/TIFFGetField.3tiff.html.

Joris Van Damme
info@awaresystems.be
http://www.awaresystems.be/
Download your free TIFF tag viewer for windows here:
http://www.awaresystems.be/imaging/tiff/astifftagviewer.html