exif_loader_write() correctly skips APP2 marker with ICC profile
authorJan Patera <patera@pictview.com>
Sat, 15 Apr 2006 19:15:30 +0000 (21:15 +0200)
committerJan Patera <patera@pictview.com>
Sat, 15 Apr 2006 19:15:30 +0000 (21:15 +0200)
because ImageMagick flips order of APP1 EXIF and APP2 ICC markers.

ChangeLog
libexif/exif-loader.c

index 0441d57..c6e22c2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2006-04-15  Jan Patera <patera@users.sourceforge.net>
+
+       * libexif/exif-loader.c: exif_loader_write() correctly skips APP2 marker
+         with ICC profile because ImageMagick flips order of APP1 EXIF and
+         APP2 ICC markers.
+
 2006-02-19  Jan Patera <patera@users.sourceforge.net>
 
        * libexif/exif-utils.h: ExifByte is now explicitly unsigned char,
index 973e473..7171557 100644 (file)
@@ -33,6 +33,8 @@
 #define JPEG_MARKER_APP0 0xe0
 #undef JPEG_MARKER_APP1
 #define JPEG_MARKER_APP1 0xe1
+#undef JPEG_MARKER_APP2
+#define JPEG_MARKER_APP2 0xe2
 #undef JPEG_MARKER_APP13
 #define JPEG_MARKER_APP13 0xed
 #undef JPEG_MARKER_COM
@@ -265,6 +267,7 @@ exif_loader_write (ExifLoader *eld, unsigned char *buf, unsigned int len)
                                eld->state = EL_READ_SIZE_BYTE_08;
                                break;
                        case JPEG_MARKER_APP0:
+                       case JPEG_MARKER_APP2:
                        case JPEG_MARKER_APP13:
                        case JPEG_MARKER_COM:
                                eld->data_format = EL_DATA_FORMAT_JPEG;