| AWARE [SYSTEMS] | Imaging expertise for the Delphi developer | |||||||
![]() |
TIFF and LibTiff Mailing List Archive | |||||||
LibTiff Mailing List
TIFF and LibTiff Mailing List Archive Contact
The TIFF Mailing List Homepage |
Thread2004.06.10 07:37 "Re: large TIFF - two alternatives", by Rob TillaartSteve Carlsen wrote:
>
> At 18:15 -0700 5/26/04, Steve Carlsen wrote:
>
> It seems like the prevailing opinion is for making "Large TIFF" be
> mostly just like existing TIFF except for supporting 8-byte addresses.
>
> Making the "Alternative 1" proposal a bit more concrete, then, and
> adding some 8-byte alignment language and a hook for future expansion:
>
> ============================= 8-Byte TIFF =======================
>
> A. The ID, in header bytes 2-3, formerly decimal 42, now changes to
> 0x4242.
> ( I really like the '42', and this seems like a nice way to have my
> cake and eat it, too.)
0x42 is a 'B' so 0x4242 = "BB" (BIG BLOB? :)
> B. Header bytes 4-5 contain the decimal number 8. (If there is some
> other number here, a reader should give up.)
> (to provide a nice way to move to 16-byte pointers some day.)'
You mean 0x0008; leaves room to grow to 0x1000 (4096) byte pointers
giving an address space of 2**32768 ~ 10**9864 bytes. You're thinking
really big.
> C. Header bytes 6-7 are reserved and must be zero. (If they're not, a
> reader should give up.)
I think the reader should notice but can proceed at own risk.
> D. Header bytes 8-15 contain the 8-byte offset to the 0th IFD.
>
> E. Value/Offset fields are 8 bytes long, and take up bytes 8-15 in an
> IFD entry.
> (If the value is <= 8 bytes, it must be stored in the field.)
> (All values must begin at an 8-byte-aligned address.)
>
> F. 8-byte offset to the Next_IFD, at the end of an IFD.
>
> G. to keep IFD entries 8-byte-aligned, we begin with an 8-byte
> (instead of 2-byte) count of the number of directory entries.
>
> H. add TIFFTypes of LONG8 (= 13), an 8 byte (unsigned) int, and SLONG8
> (= 14).
please also add:
- RATIONAL8 LONG8/ LONG8 (16 bytes)
- COMPLEX LONG8, LONG8 (16 bytes)
> I. StripOffsets and TileOffsets and ByteCounts can be LONG8.
I would like to make a must of that. keep things 8 bytes aligned.
> J.The extension is ".tf8", and the format is called "8-Byte TIFF".
Breaking the file-extention is imho not alternative 1.
The file extention should still be .tif or .tiff
> Otherwise, it's just like "original TIFF." ("TIFF Classic?")
>
> ===================================================================
>
> Are we close to general agreement?
Guess so,
> Am I missing something?
See above.
I know that there does not exist an average TIFF file but a tickling
question
is how much an average (<2GB) tiff file would increase by using this
scheme.
IFD entry is now new
tag 2 8
type 2 8
count n 4 8
value/offset 4 8
--------------------------------------------
total 8 + n x 4 24 + n x 8
The size of an IFD will grow by a factor 32/12 < 3. (when no tiles are
used)
but when tiles are used the growth factor will be closer to 2. (due to 8
byte alignment).
> Regards,
> Steve Carlsen
Regards,
rob.
|
|||||||