From 8db9573e29c0ba36a8efd552d7ba6331f52d3302 Mon Sep 17 00:00:00 2001 From: Jan Patera Date: Mon, 25 Jun 2007 07:55:23 +0200 Subject: [PATCH] Endianess of Nikon V1 makernotes is now guessed, it might not be the same as of the main IFD. --- libexif/olympus/exif-mnote-data-olympus.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libexif/olympus/exif-mnote-data-olympus.c b/libexif/olympus/exif-mnote-data-olympus.c index 4e5f651..179609e 100644 --- a/libexif/olympus/exif-mnote-data-olympus.c +++ b/libexif/olympus/exif-mnote-data-olympus.c @@ -267,6 +267,16 @@ exif_mnote_data_olympus_load (ExifMnoteData *en, case nikonV1: base = MNOTE_NIKON1_TAG_BASE; + /* Fix endianness, if needed */ + if (o2 >= buf_size) return; + c = exif_get_short (buf + o2, n->order); + if ((!(c & 0xFF)) && (c > 0x500)) { + if (n->order == EXIF_BYTE_ORDER_INTEL) { + n->order = EXIF_BYTE_ORDER_MOTOROLA; + } else { + n->order = EXIF_BYTE_ORDER_INTEL; + } + } break; case nikonV2: -- 2.7.4