| 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 |
Thread2005.12.13 20:04 "Re: Writing EXIF data?", by Paul J Lucas> > No it doesnt since all the offsets inside the EXIF IFD are
> > relative to its start.
>
> For the sake of other mailing list subscribers and archive users: the
> above quote is incorrect information.
No it isn't. Here's proof. Take the JPEG image at:
http://homepage.mac.com/pauljlucas/temp/bugs054.jpg
Within that image, let's take the CameraMake EXIF tag (010F.H).
It's located at absolute offset 0022.H. Seven bytes later at
offset 002A.H is the offset value 0116.H. If you skip ahead to
that offset treating it as absolute, you do *not* find the
metadata for the camera make. The actual data is 12 bytes
later at absolute offset 0122.H where it says "NIKON". The
discrepancy is 12 bytes.
Inside a JPEG file, the EXIF metadata is inside the APP1
segment. This segment starts at absolute offset 0002.H where
you find the bytes FF E1. Following that is the EXIF header for
10 bytes: those 10 plus the APP1 segment length is 12 bytes
which exactly matches the discrepancy.
Therefore, all EXIF metadata offsets for tag values larger than
4 bytes are *relative* to the start of the EXIF metadata.
- Paul
|
|||||||