AWARE [SYSTEMS] Imaging expertise for the Delphi developer
AWare Systems, Imaging expertise for the Delphi developer, Home TIFF and LibTiff Mailing List Archive

LibTiff Mailing List

TIFF and LibTiff Mailing List Archive
March 2005

Previous Thread
Next Thread

Previous by Thread
Next by Thread

Previous by Date
Next by Date

Contact

The TIFF Mailing List Homepage
This list is run by Frank Warmerdam
Archive maintained by AWare Systems



Valid HTML 4.01!



Thread

2005.03.17 03:43 "libtiff and EXIF", by <ron@debian.org>
2005.03.17 03:53 "Re: libtiff and EXIF", by Bob Friesenhahn
2005.03.17 05:15 "Re: libtiff and EXIF", by <ron@debian.org>
2005.03.17 06:00 "Re: libtiff and EXIF", by Joris Van Damme
2005.03.17 06:21 "Re: libtiff and EXIF", by Joris Van Damme
2005.03.17 16:43 "Re: libtiff and EXIF", by <ron@debian.org>
2005.03.17 17:21 "Re: libtiff and EXIF", by Joris Van Damme
2005.03.17 18:57 "Re: libtiff and EXIF", by <ron@debian.org>
2005.03.17 16:00 "[PATCH] libtiff and EXIF", by <ron@debian.org>
2005.03.17 16:55 "Re: [PATCH] libtiff and EXIF", by Vadim Sukhomlinov
2005.03.18 11:39 "Re: [PATCH] libtiff and EXIF", by Andrey Kiselev

2005.03.17 06:00 "Re: libtiff and EXIF", by Joris Van Damme

> Perhaps this can be a task for libtiff 4.0.

I'm not a C coder, so what the heck do I know, but I still stand by what I
suggested way back in http://www.asmail.be/msg0054569097.html and subsequent. I
feel this would *NOT* have to break current call protocols.

I suggest:

- Adding a single field to current field info constants. This field would be 0
for most tags. For ExifIFD tag, it would be non-zero, indicating that the tag
has IFD pointing intent, and also indicating the index into private, seperate
field info name-spaces.
- Adding such private, seperate field info name-spaces (I suspect I can save
typing by generating the proper C source format from the Tag Directory data).
- Reworking the current TIFFReadDirectory to take an additional parameter. This
additional parameter is the tag name-space index. Thus, 0 means image IFD, 1
could mean EXIF IFD namespace, etc. This reworked TIFFReadDirectory is made to
skip most of its normal image IFD specific handling if the name-space index is
not 0, and can thus work on EXIF IFDs.
- To not break current call protocol, make this reworked TIFFReadDirectory a new
function, say TIFFReadDirectoryNs. The new implementation of
TIFFReadDirectory(...) is then simply a call to TIFFReadDirectoryNs(...,0).
Current calls of TIFFReadDirectory are thus not broken, the call protocol of
this function is not changes, and it still does exactly what it currently does,
i.e. read an image IFD.
- New stuff can now be added to call TIFFReadDirectoryNs with a specific tag
name-space that can for instance be the EXIF name-space. An example of such new
stuff could be a TIFFSetExifDirectory function, similar to the current
TIFFSetSubDirectory.

Please be patient if I'm being stupid, I'm not a C coder and don't even have a
clue what ABI is.

My question is, is the above suggested scheme, that does no break consistency
and does not involve code duplication, breaking any applications or any sorts of
ABI whatever it is? If not, is it feasable and sufficient?


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