[ https://issues.apache.org/jira/browse/SANSELAN-32?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13175282#comment-13175282 ]
Damjan Jovanovic commented on SANSELAN-32: ------------------------------------------ EXIF defines the MakeNote tag as type UNDEFINED, count Any. Canon seems to use its MakerNote as another TIFF directory, which references values with offsets relative to the beginning of the TIFF file, not the beginning of itself nor contained within itself. This means the technique used by Sanselan to copy EXIF from one file to another - parse original and write from parsed data - will fail, since it treats the MakerNote as an opaque value, yet when it is rewritten the data it was referencing will either not have been copied or will be found at different offsets in the new file. Either the entire EXIF segment must be copied as an opaque value, which will prevent any modification to it, or the MakerNote must be parsed with manufacturer-specific code. These are the only ways to prevent MakerNote corruption. > ExifRewriter.updateExifMetadataLossless corrupts maker notes > ------------------------------------------------------------ > > Key: SANSELAN-32 > URL: https://issues.apache.org/jira/browse/SANSELAN-32 > Project: Commons Sanselan > Issue Type: Bug > Environment: 0.97-incubator > Reporter: Lulu winlumski > Priority: Critical > Attachments: SanselanExifWriter.java, modified.jpg, original.jpg > > > rewriter.updateExifMetadataLossless(jpeg, os, outputSet); > lead to loss of maker notes in the attached files. > See attached files for details. > $ exiftool -Makernotes:all original.jpg > original.txt > $ exiftool -Makernotes:all modified.jpg > modified.txt > $ diff -u original.txt modified.txt > --- original.txt 2009-10-21 02:14:11.000000000 +0200 > +++ modified.txt 2009-10-21 02:14:15.000000000 +0200 > @@ -1,66 +1,8 @@ > -Focal Type : Zoom > -Focal Plane X Size : 5.84 mm > -Focal Plane Y Size : 4.39 mm > -Canon Image Type : IMG:DIGITAL IXUS 60 JPEG > -Canon Firmware Version : Firmware Version 1.00 > +Canon Image Type : > +Canon Firmware Version : > File Number : 100-0877 > Owner Name : > Canon Model ID : PowerShot SD600 / Digital IXUS 60 / IXY > Digital 70 > Thumbnail Image Valid Area : 0 0 0 0 > Date Stamp Mode : Off > -My Color Mode : Off > Firmware Revision : 1.00 rev 1.00 > -Macro Mode : Normal > -Self Timer : Off > -Quality : Superfine > -Canon Flash Mode : Red-eye reduction (Auto) > -Continuous Drive : Single > -Focus Mode : Single > -Record Mode : JPEG > -Canon Image Size : Large > -Easy Mode : Full auto > -Digital Zoom : None > -Contrast : Normal > -Saturation : Normal > -Sharpness : 0 > -Camera ISO : Auto > -Metering Mode : Evaluative > -Focus Range : Auto > -AF Point : Auto AF point selection > -Canon Exposure Mode : Easy > -Lens Type : Unknown (-1) > -Long Focal : 17.4 mm > -Short Focal : 5.8 mm > -Focal Units : 1000 > -Max Aperture : 2.8 > -Min Aperture : 5.6 > -Flash Bits : (none) > -Focus Continuous : Single > -AE Setting : Normal AE > -Zoom Source Width : 2816 > -Zoom Target Width : 2816 > -Spot Metering Mode : Center > -Manual Flash Output : n/a > -Auto ISO : 148 > -Base ISO : 100 > -Measured EV : 4.19 > -Target Aperture : 2.8 > -Target Exposure Time : 1/60 > -Exposure Compensation : 0 > -White Balance : Auto > -Slow Shutter : Off > -Shot Number In Continuous Burst : 0 > -Optical Zoom Code : 0 > -Flash Guide Number : 0 > -Flash Exposure Compensation : 0 > -Auto Exposure Bracketing : Off > -AEB Bracket Value : 0 > -Control Mode : Camera Local Control > -Focus Distance Upper : 2.56 > -Focus Distance Lower : 0 > -Bulb Duration : 0 > -Camera Type : Compact > -Auto Rotate : Rotate 90 CW > -ND Filter : Off > -Self Timer 2 : 0 > -Flash Output : 0 > This makes the library utterly useless for me. You can just as well use > MediaUtil which has a smaller footprint and a (somewhat) cleaner API. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira