You need to log in before you can comment on or make changes to this bug.
Created an attachment (id=786) [details] EXIF 2.31 enhanced files based on TiffLib 4.0.7 LibTiff version 4.0.7 is enhanced with EXIF- and GPS- tags according to EXIF 2.31 specification. (http://www.cipa.jp/std/documents/e/DC-008-Translation-2016-E.pdf) Furthermore, additional enhancements and corrections are included: 1) Data type of GPS_IFD and EXIF_IFD tags are corrected from TIFF_IFD8 to TIFF_LONG as of EXIF 2.31 specification. See also http://bugzilla.maptools.org/show_bug.cgi?id=2539 2) Writing and reading of rational values in custom fields is enhanced resulting in nearly double precision - standard LibTiff only has float precision. This feature can be enabled with #define RATIONAL2DOUBLE in tiffiop.h. However, if RATIONAL2DOUBLE is defined, parameter type for reading and writing TIFF_RATIONAL parameters using TIFFSetField() and TIFFGetField() have to be adapted to 'double' as defined in tif_dirinfo.c. The function IsRational2Double() indicates, if the library was compiled with this option. See also Rationals with true DOUBLE precision for CUSTOM defined tags (http://bugzilla.maptools.org/show_bug.cgi?id=2542) Attention: The "#define IGNORE 0" in tif_dirread.c collides with the GPS tag "VersionID=0" and prevents the tag to be read. Therefore, the #define should be redefined for example to "#define IGNORE 65534 //(-2)" FILESOURCE and SCENETYPE are defined as TIFF_UNDEFINED. However, TiffLib does not read TIFF_UNDEFINED with field_readcount==1! Therefore, they should be defined as TIFF_BYTE. Complete changed files regarding to LibTiff version 4.0.7 are attached: tiffiop.h; tif_dirwrite.c; tif_dirinfo.c; tif_dirread.c; tif_dir.c; tiff.h; tiffio.h; tif_dir.h Furthermore a patch file against version 4.0.7 is attached too: TiffLib-4.0.7_EXIF-231_.patch Two example files for writing/reading EXIF and GPS tags are provided within the "test" directory. Because EXIF sub-directory functionality in LibTiff misuses the mechanism of multipage TIFF writing, damaged or incomplete directory-trunks are generated easily without intention. - custom_dir_EXIF_231.c - custom_dir_MultiPage_EXIF.c They give some hints, how to read / write tags with the different types. For application of custom directories refer to: "Custom and EXIF directory read/write", by Frank Warmerdam http://www.asmail.be/msg0055058657.html and "Creating private IFD", by <sulaus@web.de> http://www.asmail.be/msg0055095680.html Regards Su
Created an attachment (id=787) [details] Patch for EXIF 2.31 enhancement to 4.0.7 Instead of the complete files, a patch to 4.0.7 is provided here. Example files are only provided within the zip-file.
this should be put in a Merge Request https://gitlab.com/libtiff/libtiff I think you already done it ;)
Bugzilla is no longer used for tracking libtiff issues. Remaining open tickets, such as this one, have been migrated to the libtiff GitLab instance at https://gitlab.com/libtiff/libtiff/issues . The migrated tickets have their summary prefixed with [BZ#XXXX] where XXXX is the initial Bugzilla issue number.