2002.05.10 11:31 "Zip/Flate compression code", by Scott Wagner

2002.05.10 11:31 "Zip/Flate compression code", by Scott Wagner

Hello all,

As the learned Judge in Gilbert and Sullivan's Trial by Jury pointed out, "A nice dilemma we have here that calls for all our wit ..."

It appears that Adobe, as official keeper of the TIFF spec, has finally adopted Zip/Flate compression as part of the "official" standard. However, they have assigned it Compression Type 8, and have recommended obsoleting Compression Type 32946 (0x80B2).

Clearly LibTiff should be modified to read code 8 or code 32946 as gzip compression. What should LibTiff do as far as writing gzip compression tags - remain compatible with older readers (32946) by default, adopt the new code (8) by default, switch with some option selection,...?

From Adobe's document titled "Adobe Photoshop® TIFF Technical Notes" dated March 22, 2002 (http://partners.adobe.com/asn/developer/pdfs/tn/TIFFphotoshop.pdf), Page 2:

Deflate/Inflate Compression
Introduction

This section describes TIFF compression scheme 8, lossless Deflate compression using the zlib compressed data format:

Field: Compression
Tag: 259 (103.H)
Type: SHORT
Count: 1
Value: 8 Deflate compression, using zlib data format

< Description removed; essentially describes implementation of zlib data stream.>

Note: A proprietary ZIP/Flate compression code (0x80b2) has been used by some software vendors. This code should be considered obsolete. The compression used by the obsolete code is identical to that defined above. We recommend that TIFF implementations recognize and read the obsolete code, but only write the official compression code (8).

/*********************************************************************
* Scott Wagner  (swagner@itek.com)      NOTICE: My personal information,
* Staff Engineer                        including my E-mail address, may
* A.B.Dick Company                      not be sold, distributed, or made
* Rochester, NY USA                     public without my consent.
*********************************************************************/