AWARE SYSTEMS
TIFF and LibTiff Mail List Archive

Thread

2005.10.27 06:40 "[Tiff] How located pixels with BitsPerSample not bound to byte?", by Шебеко Евгений
2005.10.27 13:57 "Re: [Tiff] How located pixels with BitsPerSample not bound to byte?", by Frank Warmerdam
2005.10.28 03:18 "Re: [Tiff] How located pixels with BitsPerSample not bound to byte?", by David McKenzie
2005.10.28 03:42 "Re: [Tiff] How located pixels with BitsPerSample not bound to byte?", by Frank Warmerdam
2005.10.28 04:08 "Re: [Tiff] How located pixels with BitsPerSample not bound to byte?", by Bob Friesenhahn
2005.10.28 04:21 "Re: [Tiff] How located pixels with BitsPerSample not bound to byte?", by Chris Cox
2005.11.07 19:18 "Re: [Tiff] How located pixels with BitsPerSample not bound to byte?", by Joris Van Damme
2005.11.07 20:26 "Re: [Tiff] How located pixels with BitsPerSample not bound to byte?", by Bob Friesenhahn
2005.11.09 05:00 "Re: [Tiff] How located pixels with BitsPerSample not bound to byte?", by Chris Cox
2005.11.13 18:05 "Re: [Tiff] How located pixels with BitsPerSample not bound to byte?", by Andrey Kiselev
2005.10.27 15:55 "Re: [Tiff] How located pixels with BitsPerSample not bound to byte?", by Bob Friesenhahn

2005.10.28 04:21 "Re: [Tiff] How located pixels with BitsPerSample not bound to byte?", by Chris Cox

On Thu, 27 Oct 2005, Frank Warmerdam wrote:

The second problem involves this same section of code (1-32 bit sample

I'll stay out of this issue, though I suspect that 24bit data should not be byte swapped.

The latest libtiff does byte-swap 24-bit data because Chris Cox at Adobe claims that this is what the TIFF specification implies and because it is necessary to read/write the new 24-bit floating format from Adobe Photoshop CS2. I must admit to being dubious about this claim, and I believe that Joris is as well. But if Adobe Photoshop CS2 does it, by-golly it must be right!

24 bit RGB is usually a misnomer for 8 bits/channel * 3 channels, and doesn't get any byte swapping.

But a single 24 bit value (integer or float, aka 24 bit/channel) needs to be byte swapped - as does any single value that has bits/channel equal to a multiple of 8. (if (bitsPerSample % 8 == 0) then byteswap)

Chris