#1216. Rollback r4448/6/2/1 r4439/38 to restabilize test suite on trunk. r4449 is copy of r4448 to branches/develop

v0.27.3
Robin Mills 9 years ago
parent 4f9ce8d820
commit 5f9807cbef

File diff suppressed because it is too large Load Diff

@ -32,10 +32,6 @@
/* Define to 1 if you require webready support. */ /* Define to 1 if you require webready support. */
/* #undef EXV_ENABLE_WEBREADY */ /* #undef EXV_ENABLE_WEBREADY */
/* Define to 1 if you do not want to ignore undefined values in Exif. */
/* Default is to ignore undefined values in Exif. See canonmn.cpp for more details */
/* #undef EXV_DONT_IGNORE_UNDEFINED */
#ifndef EXV_COMMERCIAL_VERSION #ifndef EXV_COMMERCIAL_VERSION
/* Define to 1 to enable translation of Nikon lens names. */ /* Define to 1 to enable translation of Nikon lens names. */

@ -474,7 +474,6 @@ namespace Exiv2 {
uint16_t supportedMetadata_; //!< Bitmap with all supported metadata types uint16_t supportedMetadata_; //!< Bitmap with all supported metadata types
bool writeXmpFromPacket_;//!< Determines the source when writing XMP bool writeXmpFromPacket_;//!< Determines the source when writing XMP
ByteOrder byteOrder_; //!< Byte order ByteOrder byteOrder_; //!< Byte order
bool cleanedExifData_; //!< Whether Exif tags having values that need to be ignored (undefined) have been removed from the list
}; // class Image }; // class Image

@ -79,36 +79,20 @@ namespace Exiv2 {
std::string g_; //!< Group name std::string g_; //!< Group name
}; };
//! Tag information //! Tag information
struct EXIV2API TagInfo { struct EXIV2API TagInfo {
enum compType //! Constructor
{ TagInfo(
String, Long, Float, Rational uint16_t tag,
}; const char* name,
enum compOperator const char* title,
{ const char* desc,
equal_to, not_equal_to, less, less_equal, greater, greater_equal int ifdId,
}; int sectionId,
static const bool & b_(void); TypeId typeId,
static const LongValue & lv_(void); int16_t count,
static const compType & ct_(void); PrintFct printFct
static const compOperator & co_(void); );
//! Constructor
TagInfo(
uint16_t tag,
const char* name,
const char* title,
const char* desc,
int ifdId,
int sectionId,
TypeId typeId,
int16_t count,
PrintFct printFct,
const bool &hasUndefined = b_(),
const Value &undefValue = lv_(),
const compOperator &compO = co_(),
const compType &compT = ct_()
);
uint16_t tag_; //!< Tag uint16_t tag_; //!< Tag
const char* name_; //!< One word tag label const char* name_; //!< One word tag label
const char* title_; //!< Tag title const char* title_; //!< Tag title
@ -118,11 +102,7 @@ namespace Exiv2 {
TypeId typeId_; //!< Type id TypeId typeId_; //!< Type id
int16_t count_; //!< The number of values (not bytes!), 0=any, -1=count not known. int16_t count_; //!< The number of values (not bytes!), 0=any, -1=count not known.
PrintFct printFct_; //!< Pointer to tag print function PrintFct printFct_; //!< Pointer to tag print function
const bool &hasUndefined_; //!< true means that it has undefined values that are to be ignored, default false }; // struct TagInfo
const Value &undefValue_; //!< Value that needs to be ignored, default 0
const compOperator &compO_; //!< Comparator function that needs to be applied, default equal_to
const compType &compT_; //!< Type to be converted to before comparison, default long
}; // struct TagInfo
//! Access to Exif group and tag lists and misc. tag reference methods, implemented as a static class. //! Access to Exif group and tag lists and misc. tag reference methods, implemented as a static class.
class EXIV2API ExifTags { class EXIV2API ExifTags {

@ -54,13 +54,6 @@ EXIV2_RCSID("@(#) $Id$")
namespace Exiv2 { namespace Exiv2 {
namespace Internal { namespace Internal {
const UShortValue CanonMakerNote::usFFFF_(0xffff, unsignedShort);
const UShortValue CanonMakerNote::us7FFF_(0x7fff, unsignedShort);
const UShortValue CanonMakerNote::us0_(0, unsignedShort);
const AsciiValue CanonMakerNote::s0x16_("0000000000000000");
const UShortValue CanonMakerNote::s_1_(65535, unsignedShort); // Till bug is resolved
const UShortValue CanonMakerNote::us40_(40, unsignedShort);
//! OffOn, multiple tags //! OffOn, multiple tags
extern const TagDetails canonOffOn[] = { extern const TagDetails canonOffOn[] = {
{ 0, N_("Off") }, { 0, N_("Off") },
@ -402,14 +395,7 @@ namespace Exiv2 {
{ 2, N_("On (2)") } { 2, N_("On (2)") }
}; };
//! DateStampMode, tag 0x001c #PH (A570IS) used only in postcard mode //! ColorSpace, tag 0x00b4
extern const TagDetails canonDateStampMode[] = {
{ 0, N_("Off") },
{ 1, N_("Date") },
{ 2, N_("Date & Time") }
};
//! ColorSpace, tag 0x00b4
extern const TagDetails canonColorSpace[] = { extern const TagDetails canonColorSpace[] = {
{ 1, N_("sRGB") }, { 1, N_("sRGB") },
{ 2, N_("Adobe RGB") } { 2, N_("Adobe RGB") }
@ -435,10 +421,8 @@ namespace Exiv2 {
TagInfo(0x0013, "ThumbnailImageValidArea", N_("Thumbnail Image Valid Area"), N_("Thumbnail image valid area"), canonId, makerTags, signedShort, -1, printValue), TagInfo(0x0013, "ThumbnailImageValidArea", N_("Thumbnail Image Valid Area"), N_("Thumbnail image valid area"), canonId, makerTags, signedShort, -1, printValue),
TagInfo(0x0015, "SerialNumberFormat", N_("Serial Number Format"), N_("Serial number format"), canonId, makerTags, unsignedLong, -1, EXV_PRINT_TAG(canonSerialNumberFormat)), TagInfo(0x0015, "SerialNumberFormat", N_("Serial Number Format"), N_("Serial number format"), canonId, makerTags, unsignedLong, -1, EXV_PRINT_TAG(canonSerialNumberFormat)),
TagInfo(0x001a, "SuperMacro", N_("Super Macro"), N_("Super macro"), canonId, makerTags, signedShort, -1, EXV_PRINT_TAG(canonSuperMacro)), TagInfo(0x001a, "SuperMacro", N_("Super Macro"), N_("Super macro"), canonId, makerTags, signedShort, -1, EXV_PRINT_TAG(canonSuperMacro)),
TagInfo(0x001c, "DateStampMode", N_("Date Stamp Mode"), N_("Date Stamp Mode"), canonId, makerTags, signedShort, -1, EXV_PRINT_TAG(canonDateStampMode)), TagInfo(0x0026, "AFInfo", N_("AF Info"), N_("AF info"), canonId, makerTags, unsignedShort, -1, printValue),
TagInfo(0x0026, "AFInfo", N_("AF Info"), N_("AF info"), canonId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0083, "OriginalDecisionDataOffset", N_("Original Decision Data Offset"), N_("Original decision data offset"), canonId, makerTags, signedLong, -1, printValue),
TagInfo(0x0028, "ImageUniqueID", N_("Image Unique ID"), N_("Image Unique ID"), canonId, makerTags, asciiString, -1, printValue, true, s0x16_, TagInfo::equal_to, TagInfo::String),
TagInfo(0x0083, "OriginalDecisionDataOffset", N_("Original Decision Data Offset"), N_("Original decision data offset"), canonId, makerTags, signedLong, -1, printValue),
TagInfo(0x00a4, "WhiteBalanceTable", N_("White Balance Table"), N_("White balance table"), canonId, makerTags, unsignedShort, -1, printValue), TagInfo(0x00a4, "WhiteBalanceTable", N_("White Balance Table"), N_("White balance table"), canonId, makerTags, unsignedShort, -1, printValue),
TagInfo(0x0095, "LensModel", N_("Lens Model"), N_("Lens model"), canonId, makerTags, asciiString, -1, printValue), TagInfo(0x0095, "LensModel", N_("Lens Model"), N_("Lens model"), canonId, makerTags, asciiString, -1, printValue),
TagInfo(0x0096, "InternalSerialNumber", N_("Internal Serial Number"), N_("Internal serial number"), canonId, makerTags, asciiString, -1, printValue), TagInfo(0x0096, "InternalSerialNumber", N_("Internal Serial Number"), N_("Internal serial number"), canonId, makerTags, asciiString, -1, printValue),
@ -494,96 +478,84 @@ namespace Exiv2 {
//! DriveMode, tag 0x0005 //! DriveMode, tag 0x0005
extern const TagDetails canonCsDriveMode[] = { extern const TagDetails canonCsDriveMode[] = {
{ 0, N_("Single / timer") }, { 0, N_("Single / timer") },
{ 1, N_("Continuous") }, { 1, N_("Continuous") },
{ 2, N_("Movie") }, { 2, N_("Movie") },
{ 3, N_("Continuous, speed priority") }, { 3, N_("Continuous, speed priority") },
{ 4, N_("Continuous, low") }, { 4, N_("Continuous, low") },
{ 5, N_("Continuous, high") }, { 5, N_("Continuous, high") },
{ 6, N_("Silent Single") }, { 6, N_("Silent Single") },
{ 9, N_("Single, Silent") }, { 9, N_("Single, Silent") },
{ 10, N_("Continuous, Silent") } { 10, N_("Continuous, Silent") }
}; };
//! FocusMode, tag 0x0007 //! FocusMode, tag 0x0007
extern const TagDetails canonCsFocusMode[] = { extern const TagDetails canonCsFocusMode[] = {
{ 0, N_("One shot AF") }, { 0, N_("One shot AF") },
{ 1, N_("AI servo AF") }, { 1, N_("AI servo AF") },
{ 2, N_("AI focus AF") }, { 2, N_("AI focus AF") },
{ 3, N_("Manual focus (3)") }, { 3, N_("Manual focus (3)") },
{ 4, N_("Single") }, { 4, N_("Single") },
{ 5, N_("Continuous") }, { 5, N_("Continuous") },
{ 6, N_("Manual focus (6)") }, { 6, N_("Manual focus (6)") },
{ 16, N_("Pan focus") }, { 16, N_("Pan focus") },
{ 256, N_("AF + MF") }, // #PH (NC, EOS M) { 256, N_("AF + MF") },
{ 512, N_("Movie Snap Focus") }, // #48 { 512, N_("Movie Snap Focus") },
{ 519, N_("Movie Servo AF") } // #PH (NC, EOS M) { 519, N_("Movie Servo AF") },
}; { 519, N_("Movie Servo AF") } // To silence compiler warning
};
//! RecordMode, tag 0x0009
extern const TagDetails canonCsRecordMode[] = { //! ImageSize, tag 0x000a
{ 1, N_("JPEG") },
{ 2, N_("CRW+THM") }, // # (300D,etc)
{ 3, N_("AVI+THM") }, // # (30D)
{ 4, N_("TIF") }, // # +THM? (1Ds) (unconfirmed)
{ 5, N_("TIF+JPEG") }, // # (1D) (unconfirmed)
{ 6, N_("CR2") }, // # +THM? (1D,30D,350D)
{ 7, N_("CR2+JPEG") }, // # (S30)
{ 9, N_("MOV") }, // # (S95 MOV)
{ 10, N_("MP4") } // # (SX280 MP4)
};
//! ImageSize, tag 0x000a
extern const TagDetails canonCsImageSize[] = { extern const TagDetails canonCsImageSize[] = {
{ 0, N_("Large") }, { 0, N_("Large") },
{ 1, N_("Medium") }, { 1, N_("Medium") },
{ 2, N_("Small") }, { 2, N_("Small") },
{ 5, N_("Medium 1") }, { 5, N_("Medium 1") },
{ 6, N_("Medium 2") }, { 6, N_("Medium 2") },
{ 7, N_("Medium 3") }, { 7, N_("Medium 3") },
{ 8, N_("Postcard") }, // #PH (SD200 1600x1200 with DateStamp option) { 8, N_("Postcard") },
{ 9, N_("Widescreen") }, // #PH (SD900 3648x2048), 22 (HFS200 3264x1840) { 9, N_("Widescreen") },
{ 10, N_("Medium Widescreen") }, // #22 (HFS200 1920x1080) { 10, N_("Medium Widescreen") },
{ 14, N_("Small 1") }, // #PH { 14, N_("Small 1") },
{ 15, N_("Small 2") }, // #PH { 15, N_("Small 2") },
{ 16, N_("Small 3") }, // #PH { 16, N_("Small 3") },
{ 128, N_("640x480 Movie") }, // #PH (7D 60fps) { 128, N_("640x480 Movie") },
{ 129, N_("Medium Movie") }, // #22 { 129, N_("Medium Movie") },
{ 130, N_("Small Movie") }, // #22 { 130, N_("Small Movie") },
{ 137, N_("1280x720 Movie") }, // #PH (S95 24fps; D60 50fps) { 137, N_("1280x720 Movie") },
{ 142, N_("1920x1080 Movie") } // #PH (D60 25fps) { 142, N_("1920x1080 Movie") }
}; };
//! EasyMode, tag 0x000b //! EasyMode, tag 0x000b
extern const TagDetails canonCsEasyMode[] = { extern const TagDetails canonCsEasyMode[] = {
{ 0, N_("Full auto") }, { 0, N_("Full auto") },
{ 1, N_("Manual") }, { 1, N_("Manual") },
{ 2, N_("Landscape") }, { 2, N_("Landscape") },
{ 3, N_("Fast shutter") }, { 3, N_("Fast shutter") },
{ 4, N_("Slow shutter") }, { 4, N_("Slow shutter") },
{ 5, N_("Night Scene") }, { 5, N_("Night") },
{ 6, N_("Gray scale") }, { 6, N_("Gray Scale") },
{ 7, N_("Sepia") }, { 7, N_("Sepia") },
{ 8, N_("Portrait") }, { 8, N_("Portrait") },
{ 9, N_("Sports") }, { 9, N_("Sports") },
{ 10, N_("Macro / close-up") }, { 10, N_("Macro") },
{ 11, N_("Black & white") }, { 11, N_("Black & White") },
{ 12, N_("Pan focus") }, { 12, N_("Pan focus") },
{ 13, N_("Vivid") }, { 13, N_("Vivid") },
{ 14, N_("Neutral") }, { 14, N_("Neutral") },
{ 15, N_("Flash off") }, { 15, N_("Flash Off") },
{ 16, N_("Long shutter") }, { 16, N_("Long Shutter") },
{ 17, N_("Super macro") }, { 17, N_("Super Macro") },
{ 18, N_("Foliage") }, { 18, N_("Foliage") },
{ 19, N_("Indoor") }, { 19, N_("Indoor") },
{ 20, N_("Fireworks") }, { 20, N_("Fireworks") },
{ 21, N_("Beach") }, { 21, N_("Beach") },
{ 22, N_("Underwater") }, { 22, N_("Underwater") },
{ 23, N_("Snow") }, { 23, N_("Snow") },
{ 24, N_("Kids & Pets") }, { 24, N_("Kids & Pets") },
{ 25, N_("Night Snapshot") }, { 25, N_("Night Snapshot") },
{ 26, N_("Digital Macro") }, { 26, N_("Digital Macro") },
{ 27, N_("My Colors") }, { 27, N_("My Colors") },
{ 28, N_("Movie Snap") }, { 28, N_("Movie Snap") },
{ 29, N_("Super Macro 2") }, { 29, N_("Super Macro 2") },
{ 30, N_("Color Accent") }, { 30, N_("Color Accent") },
@ -621,13 +593,13 @@ namespace Exiv2 {
{ 62, N_("Soft Focus") }, { 62, N_("Soft Focus") },
{ 257, N_("Spotlight") }, { 257, N_("Spotlight") },
{ 258, N_("Night 2") }, { 258, N_("Night 2") },
{ 259, N_("Night+") }, { 259, N_("Night+") },
{ 260, N_("Super Night") }, { 260, N_("Super Night") },
{ 261, N_("Sunset") }, { 261, N_("Sunset") },
{ 263, N_("Night Scene") }, { 263, N_("Night Scene") },
{ 264, N_("Surface") }, { 264, N_("Surface") },
{ 265, N_("Low Light 2") } { 265, N_("Low Light 2") }
}; };
//! DigitalZoom, tag 0x000c //! DigitalZoom, tag 0x000c
extern const TagDetails canonCsDigitalZoom[] = { extern const TagDetails canonCsDigitalZoom[] = {
@ -699,7 +671,7 @@ namespace Exiv2 {
{ 0x3004, N_("Left") }, { 0x3004, N_("Left") },
{ 0x4001, N_("Auto AF point selection") }, { 0x4001, N_("Auto AF point selection") },
{ 0x4006, N_("Face Detect") } { 0x4006, N_("Face Detect") }
}; };
//! ExposureProgram, tag 0x0014 //! ExposureProgram, tag 0x0014
extern const TagDetails canonCsExposureProgram[] = { extern const TagDetails canonCsExposureProgram[] = {
@ -711,7 +683,7 @@ namespace Exiv2 {
{ 5, N_("A-DEP") }, { 5, N_("A-DEP") },
{ 6, N_("M-DEP") }, { 6, N_("M-DEP") },
{ 7, N_("Bulb") } { 7, N_("Bulb") }
}; };
//! LensType, tag 0x0016 //! LensType, tag 0x0016
extern const TagDetails canonCsLensType[] = { extern const TagDetails canonCsLensType[] = {
@ -1134,8 +1106,8 @@ namespace Exiv2 {
extern const TagDetails canonCsFocusContinuous[] = { extern const TagDetails canonCsFocusContinuous[] = {
{ 0, N_("Single") }, { 0, N_("Single") },
{ 1, N_("Continuous") }, { 1, N_("Continuous") },
{ 8, N_("Manual") } { 8, N_("Manual") }
}; };
//! AESetting, tag 0x0021 //! AESetting, tag 0x0021
extern const TagDetails canonCsAESetting[] = { extern const TagDetails canonCsAESetting[] = {
@ -1148,8 +1120,8 @@ namespace Exiv2 {
//! ImageStabilization, tag 0x0022 //! ImageStabilization, tag 0x0022
extern const TagDetails canonCsImageStabilization[] = { extern const TagDetails canonCsImageStabilization[] = {
{ 0, N_("Off") }, { 0, N_("Off") },
{ 1, N_("On") }, { 1, N_("On") },
{ 2, N_("Shoot Only") }, { 2, N_("Shoot Only") },
{ 3, N_("Panning") }, { 3, N_("Panning") },
{ 4, N_("Dynamic") }, { 4, N_("Dynamic") },
@ -1158,7 +1130,7 @@ namespace Exiv2 {
{ 258, N_("Shoot Only (2)") }, { 258, N_("Shoot Only (2)") },
{ 259, N_("Panning (2)") }, { 259, N_("Panning (2)") },
{ 260, N_("Dynamic (2)") } { 260, N_("Dynamic (2)") }
}; };
//! SpotMeteringMode, tag 0x0027 //! SpotMeteringMode, tag 0x0027
extern const TagDetails canonCsSpotMeteringMode[] = { extern const TagDetails canonCsSpotMeteringMode[] = {
@ -1205,41 +1177,41 @@ namespace Exiv2 {
TagInfo(0x0006, "0x0006", "0x0006", N_("Unknown"), canonCsId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0006, "0x0006", "0x0006", N_("Unknown"), canonCsId, makerTags, unsignedShort, 1, printValue),
TagInfo(0x0007, "FocusMode", N_("Focus Mode"), N_("Focus mode setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsFocusMode)), TagInfo(0x0007, "FocusMode", N_("Focus Mode"), N_("Focus mode setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsFocusMode)),
TagInfo(0x0008, "0x0008", "0x0008", N_("Unknown"), canonCsId, makerTags, signedShort, 1, printValue), TagInfo(0x0008, "0x0008", "0x0008", N_("Unknown"), canonCsId, makerTags, signedShort, 1, printValue),
TagInfo(0x0009, "RecordMode", N_("Record Mode"), N_("Record mode setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsRecordMode), true, s_1_), TagInfo(0x0009, "0x0009", "0x0009", N_("Unknown"), canonCsId, makerTags, signedShort, 1, printValue),
TagInfo(0x000a, "ImageSize", N_("Image Size"), N_("Image size"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsImageSize)), TagInfo(0x000a, "ImageSize", N_("Image Size"), N_("Image size"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsImageSize)),
TagInfo(0x000b, "EasyMode", N_("Easy Mode"), N_("Easy shooting mode"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsEasyMode)), TagInfo(0x000b, "EasyMode", N_("Easy Mode"), N_("Easy shooting mode"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsEasyMode)),
TagInfo(0x000c, "DigitalZoom", N_("Digital Zoom"), N_("Digital zoom"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsDigitalZoom)), TagInfo(0x000c, "DigitalZoom", N_("Digital Zoom"), N_("Digital zoom"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsDigitalZoom)),
TagInfo(0x000d, "Contrast", N_("Contrast"), N_("Contrast setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsLnh), true, us7FFF_), TagInfo(0x000d, "Contrast", N_("Contrast"), N_("Contrast setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsLnh)),
TagInfo(0x000e, "Saturation", N_("Saturation"), N_("Saturation setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsLnh), true, us7FFF_), TagInfo(0x000e, "Saturation", N_("Saturation"), N_("Saturation setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsLnh)),
TagInfo(0x000f, "Sharpness", N_("Sharpness"), N_("Sharpness setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsLnh), true, us7FFF_), TagInfo(0x000f, "Sharpness", N_("Sharpness"), N_("Sharpness setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsLnh)),
TagInfo(0x0010, "ISOSpeed", N_("ISO Speed Mode"), N_("ISO speed setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsISOSpeed), true, us7FFF_), TagInfo(0x0010, "ISOSpeed", N_("ISO Speed Mode"), N_("ISO speed setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsISOSpeed)),
TagInfo(0x0011, "MeteringMode", N_("Metering Mode"), N_("Metering mode setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsMeteringMode)), TagInfo(0x0011, "MeteringMode", N_("Metering Mode"), N_("Metering mode setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsMeteringMode)),
TagInfo(0x0012, "FocusType", N_("Focus Type"), N_("Focus type setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsFocusType)), TagInfo(0x0012, "FocusType", N_("Focus Type"), N_("Focus type setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsFocusType)),
TagInfo(0x0013, "AFPoint", N_("AF Point"), N_("AF point selected"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsAfPoint), true, us0_), TagInfo(0x0013, "AFPoint", N_("AF Point"), N_("AF point selected"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsAfPoint)),
TagInfo(0x0014, "ExposureProgram", N_("Exposure Program"), N_("Exposure mode setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsExposureProgram)), TagInfo(0x0014, "ExposureProgram", N_("Exposure Program"), N_("Exposure mode setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsExposureProgram)),
TagInfo(0x0015, "0x0015", "0x0015", N_("Unknown"), canonCsId, makerTags, signedShort, 1, printValue), TagInfo(0x0015, "0x0015", "0x0015", N_("Unknown"), canonCsId, makerTags, signedShort, 1, printValue),
TagInfo(0x0016, "LensType", N_("Lens Type"), N_("Lens type"), canonCsId, makerTags, signedShort, 1, printCsLensType, true, us0_), TagInfo(0x0016, "LensType", N_("Lens Type"), N_("Lens type"), canonCsId, makerTags, signedShort, 1, printCsLensType),
TagInfo(0x0017, "Lens", N_("Lens"), N_("'long' and 'short' focal length of lens (in 'focal units') and 'focal units' per mm"), canonCsId, makerTags, unsignedShort, 3, printCsLens), TagInfo(0x0017, "Lens", N_("Lens"), N_("'long' and 'short' focal length of lens (in 'focal units') and 'focal units' per mm"), canonCsId, makerTags, unsignedShort, 3, printCsLens),
TagInfo(0x0018, "ShortFocal", N_("Short Focal"), N_("Short focal"), canonCsId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0018, "ShortFocal", N_("Short Focal"), N_("Short focal"), canonCsId, makerTags, unsignedShort, 1, printValue),
TagInfo(0x0019, "FocalUnits", N_("Focal Units"), N_("Focal units"), canonCsId, makerTags, signedShort, 1, printValue), TagInfo(0x0019, "FocalUnits", N_("Focal Units"), N_("Focal units"), canonCsId, makerTags, signedShort, 1, printValue),
TagInfo(0x001a, "MaxAperture", N_("Max Aperture"), N_("Max aperture"), canonCsId, makerTags, signedShort, 1, printSi0x0015, true, us0_, TagInfo::less_equal), TagInfo(0x001a, "MaxAperture", N_("Max Aperture"), N_("Max aperture"), canonCsId, makerTags, signedShort, 1, printSi0x0015),
TagInfo(0x001b, "MinAperture", N_("Min Aperture"), N_("Min aperture"), canonCsId, makerTags, signedShort, 1, printSi0x0015, true, us0_, TagInfo::less_equal), TagInfo(0x001b, "MinAperture", N_("Min Aperture"), N_("Min aperture"), canonCsId, makerTags, signedShort, 1, printSi0x0015),
TagInfo(0x001c, "FlashActivity", N_("Flash Activity"), N_("Flash activity"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsFlashActivity), true, s_1_), TagInfo(0x001c, "FlashActivity", N_("Flash Activity"), N_("Flash activity"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsFlashActivity)),
TagInfo(0x001d, "FlashDetails", N_("Flash Details"), N_("Flash details"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG_BITMASK(canonCsFlashDetails)), TagInfo(0x001d, "FlashDetails", N_("Flash Details"), N_("Flash details"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG_BITMASK(canonCsFlashDetails)),
TagInfo(0x001e, "0x001e", "0x001e", N_("Unknown"), canonCsId, makerTags, signedShort, 1, printValue), TagInfo(0x001e, "0x001e", "0x001e", N_("Unknown"), canonCsId, makerTags, signedShort, 1, printValue),
TagInfo(0x001f, "0x001f", "0x001f", N_("Unknown"), canonCsId, makerTags, signedShort, 1, printValue), TagInfo(0x001f, "0x001f", "0x001f", N_("Unknown"), canonCsId, makerTags, signedShort, 1, printValue),
TagInfo(0x0020, "FocusContinuous", N_("Focus Continuous"), N_("Focus continuous setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsFocusContinuous), true, s_1_), TagInfo(0x0020, "FocusContinuous", N_("Focus Continuous"), N_("Focus continuous setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsFocusContinuous)),
TagInfo(0x0021, "AESetting", N_("AESetting"), N_("AE setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsAESetting), true, s_1_), TagInfo(0x0021, "AESetting", N_("AESetting"), N_("AE setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsAESetting)),
TagInfo(0x0022, "ImageStabilization", N_("Image Stabilization"), N_("Image stabilization"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsImageStabilization), true, s_1_), TagInfo(0x0022, "ImageStabilization", N_("Image Stabilization"), N_("Image stabilization"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsImageStabilization)),
TagInfo(0x0023, "DisplayAperture", N_("Display Aperture"), N_("Display aperture"), canonCsId, makerTags, signedShort, 1, printValue, true, us0_), TagInfo(0x0023, "DisplayAperture", N_("Display Aperture"), N_("Display aperture"), canonCsId, makerTags, signedShort, 1, printValue),
TagInfo(0x0024, "ZoomSourceWidth", N_("Zoom Source Width"), N_("Zoom source width"), canonCsId, makerTags, signedShort, 1, printValue), TagInfo(0x0024, "ZoomSourceWidth", N_("Zoom Source Width"), N_("Zoom source width"), canonCsId, makerTags, signedShort, 1, printValue),
TagInfo(0x0025, "ZoomTargetWidth", N_("Zoom Target Width"), N_("Zoom target width"), canonCsId, makerTags, signedShort, 1, printValue), TagInfo(0x0025, "ZoomTargetWidth", N_("Zoom Target Width"), N_("Zoom target width"), canonCsId, makerTags, signedShort, 1, printValue),
TagInfo(0x0026, "0x0026", "0x0026", N_("Unknown"), canonCsId, makerTags, signedShort, 1, printValue), TagInfo(0x0026, "0x0026", "0x0026", N_("Unknown"), canonCsId, makerTags, signedShort, 1, printValue),
TagInfo(0x0027, "SpotMeteringMode", N_("Spot Metering Mode"), N_("Spot metering mode"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsSpotMeteringMode), true, s_1_), TagInfo(0x0027, "SpotMeteringMode", N_("Spot Metering Mode"), N_("Spot metering mode"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsSpotMeteringMode)),
TagInfo(0x0028, "PhotoEffect", N_("Photo Effect"), N_("Photo effect"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsPhotoEffect), true, s_1_), TagInfo(0x0028, "PhotoEffect", N_("Photo Effect"), N_("Photo effect"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsPhotoEffect)),
TagInfo(0x0029, "ManualFlashOutput", N_("Manual Flash Output"), N_("Manual flash output"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsSRAWQuality)), TagInfo(0x0029, "ManualFlashOutput", N_("Manual Flash Output"), N_("Manual flash output"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsSRAWQuality)),
TagInfo(0x002a, "ColorTone", N_("Color Tone"), N_("Color tone"), canonCsId, makerTags, signedShort, 1, printValue, true, us7FFF_), TagInfo(0x002a, "ColorTone", N_("Color Tone"), N_("Color tone"), canonCsId, makerTags, signedShort, 1, printValue),
TagInfo(0x002e, "SRAWQuality", N_("SRAW Quality Tone"), N_("SRAW quality"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsSRAWQuality), true, s_1_), TagInfo(0x002e, "SRAWQuality", N_("SRAW Quality Tone"), N_("SRAW quality"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsSRAWQuality)),
// End of list marker // End of list marker
TagInfo(0xffff, "(UnknownCanonCsTag)", "(UnknownCanonCsTag)", N_("Unknown Canon Camera Settings 1 tag"), canonCsId, makerTags, signedShort, 1, printValue) TagInfo(0xffff, "(UnknownCanonCsTag)", "(UnknownCanonCsTag)", N_("Unknown Canon Camera Settings 1 tag"), canonCsId, makerTags, signedShort, 1, printValue)
}; };
@ -1275,16 +1247,7 @@ namespace Exiv2 {
{ 23, N_("Auto (ambience priority)") } { 23, N_("Auto (ambience priority)") }
}; };
//! SlowShutter, tag 0x0008 //! AFPointUsed, tag 0x000e
extern const TagDetails canonSiSlowShutter[] = {
{ 0xffff, N_("n/a") },
{ 0, N_("Off") },
{ 1, N_("Night Scene") },
{ 2, N_("On") },
{ 3, N_("None") }
};
//! AFPointUsed, tag 0x000e
extern const TagDetailsBitmask canonSiAFPointUsed[] = { extern const TagDetailsBitmask canonSiAFPointUsed[] = {
{ 0x0004, N_("left") }, { 0x0004, N_("left") },
{ 0x0002, N_("center") }, { 0x0002, N_("center") },
@ -1312,80 +1275,35 @@ namespace Exiv2 {
{ 0x0040, "2 EV" } { 0x0040, "2 EV" }
}; };
//! AutoExposureBracketing, tag 0x0010 // Canon Shot Info Tag
extern const TagDetails canonSiAutoExposureBracketing[] = {
{ 0xffff, N_("On") },
{ 0, N_("Off") },
{ 1, N_("On (shot 1)") },
{ 2, N_("On (shot 2)") },
{ 3, N_("On (shot 3)") }
};
//! ControlMode, tag 0x0012
extern const TagDetails canonSiControlMode[] = {
{ 0, N_("n/a") },
{ 1, N_("Camera Local Control") },
// 2 - have seen this for EOS M studio picture
{ 3, N_("Computer Remote Control") }
};
//! CameraType, tag 0x001a
extern const TagDetails canonSiCameraType[] = {
{ 0, N_("n/a") },
{ 248, N_("EOS High-end") },
{ 250, N_("Compact") },
{ 252, N_("EOS Mid-range") },
{ 255, N_("DV Camera") }
};
//! AutoRotate, tag 0x001a
extern const TagDetails canonSiAutoRotate[] = {
{ 0xffff, N_("n/a") }, // # (set to -1 when rotated by Canon software)
{ 0, N_("None") },
{ 1, N_("Rotate 90 CW") },
{ 2, N_("Rotate 180") },
{ 3, N_("Rotate 270 CW") }
};
//! NDFilter, tag 0x001a
extern const TagDetails canonSiNDFilter[] = {
{ 0xffff, N_("n/a") },
{ 0, N_("Off") },
{ 1, N_("On") }
};
// Canon Shot Info Tag
const TagInfo CanonMakerNote::tagInfoSi_[] = { const TagInfo CanonMakerNote::tagInfoSi_[] = {
TagInfo(0x0001, "0x0001", "0x0001", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0001, "0x0001", "0x0001", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue),
TagInfo(0x0002, "ISOSpeed", N_("ISO Speed Used"), N_("ISO speed used"), canonSiId, makerTags, unsignedShort, 1, printSi0x0002, true, us0_), TagInfo(0x0002, "ISOSpeed", N_("ISO Speed Used"), N_("ISO speed used"), canonSiId, makerTags, unsignedShort, 1, printSi0x0002),
TagInfo(0x0003, "MeasuredEV", N_("Measured EV"), N_("Measured EV"), canonSiId, makerTags, unsignedShort, 1, printSi0x0003), TagInfo(0x0003, "MeasuredEV", N_("Measured EV"), N_("Measured EV"), canonSiId, makerTags, unsignedShort, 1, printSi0x0003),
TagInfo(0x0004, "TargetAperture", N_("Target Aperture"), N_("Target Aperture"), canonSiId, makerTags, unsignedShort, 1, printSi0x0015, true, us0_, TagInfo::less_equal), TagInfo(0x0004, "TargetAperture", N_("Target Aperture"), N_("Target Aperture"), canonSiId, makerTags, unsignedShort, 1, printSi0x0015),
TagInfo(0x0005, "TargetShutterSpeed", N_("Target Shutter Speed"), N_("Target shutter speed"), canonSiId, makerTags, unsignedShort, 1, printSi0x0016), TagInfo(0x0005, "TargetShutterSpeed", N_("Target Shutter Speed"), N_("Target shutter speed"), canonSiId, makerTags, unsignedShort, 1, printSi0x0016),
TagInfo(0x0006, "0x0006", "0x0006", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0006, "0x0006", "0x0006", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue),
TagInfo(0x0007, "WhiteBalance", N_("White Balance"), N_("White balance setting"), canonSiId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(canonSiWhiteBalance)), TagInfo(0x0007, "WhiteBalance", N_("White Balance"), N_("White balance setting"), canonSiId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(canonSiWhiteBalance)),
TagInfo(0x0008, "SlowShutter", N_("Slow Shutter"), N_("Slow Shutter"), canonSiId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(canonSiSlowShutter)), TagInfo(0x0008, "0x0008", "0x0008", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue),
TagInfo(0x0009, "Sequence", N_("Sequence"), N_("Sequence number (if in a continuous burst)"), canonSiId, makerTags, unsignedShort, 1, printSi0x0009), TagInfo(0x0009, "Sequence", N_("Sequence"), N_("Sequence number (if in a continuous burst)"), canonSiId, makerTags, unsignedShort, 1, printSi0x0009),
TagInfo(0x000a, "0x000a", "0x000a", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue), TagInfo(0x000a, "0x000a", "0x000a", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue),
TagInfo(0x000b, "0x000b", "0x000b", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue), TagInfo(0x000b, "0x000b", "0x000b", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue),
TagInfo(0x000c, "CameraTemperature", N_("Camera Temperature"), N_("Camera Temperature"), canonSiId, makerTags, unsignedShort, 1, printValue, true, us0_), TagInfo(0x000c, "0x000c", "0x000c", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue),
TagInfo(0x000d, "FlashGuideNumber", N_("Flash Guide Number"), N_("Flash Guide Number"), canonSiId, makerTags, unsignedShort, 1, printValue, true, s_1_), TagInfo(0x000d, "0x000d", "0x000d", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue),
TagInfo(0x000e, "AFPointUsed", N_("AF Point Used"), N_("AF point used"), canonSiId, makerTags, unsignedShort, 1, printSi0x000e, true, us0_), TagInfo(0x000e, "AFPointUsed", N_("AF Point Used"), N_("AF point used"), canonSiId, makerTags, unsignedShort, 1, printSi0x000e),
TagInfo(0x000f, "FlashBias", N_("Flash Bias"), N_("Flash bias"), canonSiId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(canonSiFlashBias)), TagInfo(0x000f, "FlashBias", N_("Flash Bias"), N_("Flash bias"), canonSiId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(canonSiFlashBias)),
TagInfo(0x0010, "AutoExposureBracketing", N_("Auto Exposure Bracketing"), N_("Auto Exposure Bracketing"), canonSiId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(canonSiAutoExposureBracketing)), TagInfo(0x0010, "0x0010", "0x0010", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue),
TagInfo(0x0011, "0x0011", "0x0011", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0011, "0x0011", "0x0011", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue),
TagInfo(0x0012, "ControlMode", N_("Control Mode"), N_("Control Mode"), canonSiId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(canonSiControlMode)), TagInfo(0x0012, "0x0012", "0x0012", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue),
TagInfo(0x0013, "SubjectDistance", N_("Subject Distance"), N_("Subject distance (units are not clear)"), canonSiId, makerTags, unsignedShort, 1, printSi0x0013), // Seems to be the same as CanonPi.FocusDistanceUpper TagInfo(0x0013, "SubjectDistance", N_("Subject Distance"), N_("Subject distance (units are not clear)"), canonSiId, makerTags, unsignedShort, 1, printSi0x0013),
TagInfo(0x0014, "FocusDistanceLower", N_("FocusDistanceLower"), N_("FocusDistanceLower"), canonSiId, makerTags, unsignedShort, 1, printFiFocusDistance), TagInfo(0x0014, "0x0014", "0x0014", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue),
TagInfo(0x0015, "ApertureValue", N_("Aperture Value"), N_("Aperture"), canonSiId, makerTags, unsignedShort, 1, printSi0x0015, true, us0_), TagInfo(0x0015, "ApertureValue", N_("Aperture Value"), N_("Aperture"), canonSiId, makerTags, unsignedShort, 1, printSi0x0015),
TagInfo(0x0016, "ShutterSpeedValue", N_("Shutter Speed Value"), N_("Shutter speed"), canonSiId, makerTags, unsignedShort, 1, printSi0x0016), TagInfo(0x0016, "ShutterSpeedValue", N_("Shutter Speed Value"), N_("Shutter speed"), canonSiId, makerTags, unsignedShort, 1, printSi0x0016),
TagInfo(0x0017, "MeasuredEV2", N_("Measured EV 2"), N_("Measured EV 2"), canonSiId, makerTags, unsignedShort, 1, printSi0x0017, true, us0_), TagInfo(0x0017, "MeasuredEV2", N_("Measured EV 2"), N_("Measured EV 2"), canonSiId, makerTags, unsignedShort, 1, printSi0x0017),
TagInfo(0x0018, "0x0018", "0x0018", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0018, "0x0018", "0x0018", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue),
TagInfo(0x0019, "0x0019", "0x0019", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0019, "0x0019", "0x0019", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue),
TagInfo(0x001a, "CameraType", N_("Camera Type"), N_("Camera Type"), canonSiId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(canonSiCameraType)), TagInfo(0x001a, "0x001a", "0x001a", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue),
TagInfo(0x001b, "AutoRotate", N_("Auto Rotate"), N_("Auto Rotate"), canonSiId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(canonSiAutoRotate), true, us0_, TagInfo::less), // End of list marker
TagInfo(0x001c, "NDFilter", N_("ND Filter"), N_("ND Filter"), canonSiId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(canonSiNDFilter)),
TagInfo(0x001d, "SelfTimer2", N_("Self Timer 2"), N_("Self Timer 2"), canonSiId, makerTags, unsignedShort, 1, printValue, true, us0_, TagInfo::less),
// End of list marker
TagInfo(0xffff, "(UnknownCanonCsTag)", "(UnknownCanonCsTag)", N_("Unknown Canon Camera Settings 1 tag"), canonCsId, makerTags, unsignedShort, 1, printValue) TagInfo(0xffff, "(UnknownCanonCsTag)", "(UnknownCanonCsTag)", N_("Unknown Canon Camera Settings 1 tag"), canonCsId, makerTags, unsignedShort, 1, printValue)
}; };
@ -1406,7 +1324,7 @@ namespace Exiv2 {
// Canon Panorama Info // Canon Panorama Info
const TagInfo CanonMakerNote::tagInfoPa_[] = { const TagInfo CanonMakerNote::tagInfoPa_[] = {
TagInfo(0x0002, "PanoramaFrame", N_("Panorama Frame"), N_("Panorama frame number"), canonPaId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0002, "PanoramaFrame", N_("Panorama Frame"), N_("Panorama frame number"), canonPaId, makerTags, unsignedShort, 1, printValue),
TagInfo(0x0005, "PanoramaDirection", N_("Panorama Direction"), N_("Panorama direction"), canonPaId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(canonPaDirection)), // exiftool says that this is a signed short TagInfo(0x0005, "PanoramaDirection", N_("Panorama Direction"), N_("Panorama direction"), canonPaId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(canonPaDirection)),
// End of list marker // End of list marker
TagInfo(0xffff, "(UnknownCanonCs2Tag)", "(UnknownCanonCs2Tag)", N_("Unknown Canon Panorama tag"), canonPaId, makerTags, unsignedShort, 1, printValue) TagInfo(0xffff, "(UnknownCanonCs2Tag)", "(UnknownCanonCs2Tag)", N_("Unknown Canon Panorama tag"), canonPaId, makerTags, unsignedShort, 1, printValue)
}; };
@ -1492,9 +1410,28 @@ namespace Exiv2 {
{ 4, N_("WB") } { 4, N_("WB") }
}; };
//! RawJpgSize, tag 0x0007, use canonCsImageSize //! RawJpgSize, tag 0x0007
extern const TagDetails canonRawJpgSize[] = {
{ 0, N_("Large") },
{ 1, N_("Medium") },
{ 2, N_("Small") },
{ 5, N_("Medium 1") },
{ 6, N_("Medium 2") },
{ 7, N_("Medium 3") },
{ 8, N_("Postcard") },
{ 9, N_("Widescreen") },
{ 10, N_("Medium Widescreen") },
{ 14, N_("Small 1") },
{ 15, N_("Small 2") },
{ 16, N_("Small 3") },
{ 128, N_("640x480 Movie") },
{ 129, N_("Medium Movie") },
{ 130, N_("Small Movie") },
{ 137, N_("1280x720 Movie") },
{ 142, N_("1920x1080 Movie") }
};
//! NoiseReduction, tag 0x0008 //! NoiseReduction, tag 0x0008
extern const TagDetails canonNoiseReduction[] = { extern const TagDetails canonNoiseReduction[] = {
{ 0, N_("Off") }, { 0, N_("Off") },
{ 1, N_("On 1") }, { 1, N_("On 1") },
@ -1534,14 +1471,14 @@ namespace Exiv2 {
TagInfo(0x0003, "BracketMode", N_("Bracket Mode"), N_("Bracket Mode"), canonFiId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonBracketMode)), TagInfo(0x0003, "BracketMode", N_("Bracket Mode"), N_("Bracket Mode"), canonFiId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonBracketMode)),
TagInfo(0x0004, "BracketValue", N_("Bracket Value"), N_("Bracket Value"), canonFiId, makerTags, signedShort, 1, printValue), TagInfo(0x0004, "BracketValue", N_("Bracket Value"), N_("Bracket Value"), canonFiId, makerTags, signedShort, 1, printValue),
TagInfo(0x0005, "BracketShotNumber", N_("Bracket Shot Number"), N_("Bracket Shot Number"), canonFiId, makerTags, signedShort, 1, printValue), TagInfo(0x0005, "BracketShotNumber", N_("Bracket Shot Number"), N_("Bracket Shot Number"), canonFiId, makerTags, signedShort, 1, printValue),
TagInfo(0x0006, "RawJpgQuality", N_("Raw Jpg Quality"), N_("Raw Jpg Quality"), canonFiId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsQuality), true, us0_, TagInfo::less_equal), TagInfo(0x0006, "RawJpgQuality", N_("Raw Jpg Quality"), N_("Raw Jpg Quality"), canonFiId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsQuality)),
TagInfo(0x0007, "RawJpgSize", N_("Raw Jpg Size"), N_("Raw Jpg Size"), canonFiId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsImageSize), true, us0_, TagInfo::less), TagInfo(0x0007, "RawJpgSize", N_("Raw Jpg Size"), N_("Raw Jpg Size"), canonFiId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonRawJpgSize)),
TagInfo(0x0008, "NoiseReduction", N_("Noise Reduction"), N_("Noise Reduction"), canonFiId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonNoiseReduction), true, us0_, TagInfo::less), TagInfo(0x0008, "NoiseReduction", N_("Noise Reduction"), N_("Noise Reduction"), canonFiId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonNoiseReduction)),
TagInfo(0x0009, "WBBracketMode", N_("WB Bracket Mode"), N_("WB Bracket Mode"), canonFiId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonWBBracketMode)), TagInfo(0x0009, "WBBracketMode", N_("WB Bracket Mode"), N_("WB Bracket Mode"), canonFiId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonWBBracketMode)),
TagInfo(0x000c, "WBBracketValueAB", N_("WB Bracket Value AB"), N_("WB Bracket Value AB"), canonFiId, makerTags, signedShort, 1, printValue), TagInfo(0x000c, "WBBracketValueAB", N_("WB Bracket Value AB"), N_("WB Bracket Value AB"), canonFiId, makerTags, signedShort, 1, printValue),
TagInfo(0x000d, "WBBracketValueGM", N_("WB Bracket Value GM"), N_("WB Bracket Value GM"), canonFiId, makerTags, signedShort, 1, printValue), TagInfo(0x000d, "WBBracketValueGM", N_("WB Bracket Value GM"), N_("WB Bracket Value GM"), canonFiId, makerTags, signedShort, 1, printValue),
TagInfo(0x000e, "FilterEffect", N_("Filter Effect"), N_("Filter Effect"), canonFiId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonFilterEffect), true, s_1_), TagInfo(0x000e, "FilterEffect", N_("Filter Effect"), N_("Filter Effect"), canonFiId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonFilterEffect)),
TagInfo(0x000f, "ToningEffect", N_("Toning Effect"), N_("Toning Effect"), canonFiId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonToningEffect), true, s_1_), TagInfo(0x000f, "ToningEffect", N_("Toning Effect"), N_("Toning Effect"), canonFiId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonToningEffect)),
TagInfo(0x0010, "MacroMagnification", N_("Macro Magnification"), N_("Macro magnification"), canonFiId, makerTags, signedShort, 1, printValue), TagInfo(0x0010, "MacroMagnification", N_("Macro Magnification"), N_("Macro magnification"), canonFiId, makerTags, signedShort, 1, printValue),
TagInfo(0x0013, "LiveViewShooting", N_("Live View Shooting"), N_("Live view shooting"), canonFiId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonOffOn)), TagInfo(0x0013, "LiveViewShooting", N_("Live View Shooting"), N_("Live view shooting"), canonFiId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonOffOn)),
TagInfo(0x0014, "FocusDistanceUpper", N_("Focus Distance Upper"), N_("Focus Distance Upper"), canonFiId, makerTags, signedShort, 1, printFiFocusDistance), TagInfo(0x0014, "FocusDistanceUpper", N_("Focus Distance Upper"), N_("Focus Distance Upper"), canonFiId, makerTags, signedShort, 1, printFiFocusDistance),
@ -1608,7 +1545,7 @@ namespace Exiv2 {
TagInfo(0x0005, "SensorBlueLevel", N_("SensorBlueLevel"), N_("Sensor blue level"), canonPrId, makerTags, signedShort, 1, printValue), TagInfo(0x0005, "SensorBlueLevel", N_("SensorBlueLevel"), N_("Sensor blue level"), canonPrId, makerTags, signedShort, 1, printValue),
TagInfo(0x0006, "WhiteBalanceRed", N_("WhiteBalanceRed"), N_("White balance red"), canonPrId, makerTags, signedShort, 1, printValue), TagInfo(0x0006, "WhiteBalanceRed", N_("WhiteBalanceRed"), N_("White balance red"), canonPrId, makerTags, signedShort, 1, printValue),
TagInfo(0x0007, "WhiteBalanceBlue", N_("WhiteBalanceBlue"), N_("White balance blue"), canonPrId, makerTags, signedShort, 1, printValue), TagInfo(0x0007, "WhiteBalanceBlue", N_("WhiteBalanceBlue"), N_("White balance blue"), canonPrId, makerTags, signedShort, 1, printValue),
TagInfo(0x0008, "WhiteBalance", N_("WhiteBalance"), N_("White balance"), canonPrId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonSiWhiteBalance), true, us0_, TagInfo::less), TagInfo(0x0008, "WhiteBalance", N_("WhiteBalance"), N_("White balance"), canonPrId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonSiWhiteBalance)),
TagInfo(0x0009, "ColorTemperature", N_("ColorTemperature"), N_("Color Temperature"), canonPrId, makerTags, signedShort, 1, printValue), TagInfo(0x0009, "ColorTemperature", N_("ColorTemperature"), N_("Color Temperature"), canonPrId, makerTags, signedShort, 1, printValue),
TagInfo(0x000a, "PictureStyle", N_("PictureStyle"), N_("Picture style"), canonPrId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonPictureStyle)), TagInfo(0x000a, "PictureStyle", N_("PictureStyle"), N_("Picture style"), canonPrId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonPictureStyle)),
TagInfo(0x000b, "DigitalGain", N_("DigitalGain"), N_("Digital gain"), canonPrId, makerTags, signedShort, 1, printValue), TagInfo(0x000b, "DigitalGain", N_("DigitalGain"), N_("Digital gain"), canonPrId, makerTags, signedShort, 1, printValue),

@ -112,9 +112,6 @@ namespace Exiv2 {
private: private:
// DATA // DATA
static const UShortValue usFFFF_, us7FFF_, us0_, us40_;
static const UShortValue s_1_;
static const AsciiValue s0x16_;
//! Tag information //! Tag information
static const TagInfo tagInfo_[]; static const TagInfo tagInfo_[];

@ -417,49 +417,7 @@ namespace Exiv2 {
return value_.get() == 0 ? Value::AutoPtr(0) : value_->clone(); return value_.get() == 0 ? Value::AutoPtr(0) : value_->clone();
} }
bool Exifdatum::ignore(void) const long Exifdatum::sizeDataArea() const
{
bool bRet = false;
const Value &v = value();
if (v.count() > 0)
{
const TagInfo* ti = Internal::tagInfo(tag(), static_cast<Internal::IfdId>(ifdId()));
if (ti && ti->hasUndefined_)
{
const Value &udv = ti->undefValue_;
if ((udv.count() != 0))
{
switch (ti->compT_)
{
case TagInfo::String:
{
bRet = compare<std::string>(v.toString(), udv.toString(), ti->compO_);
break;
}
case TagInfo::Long:
{
bRet = compare<long>(v.toLong(), udv.toLong(), ti->compO_);
break;
}
case TagInfo::Float:
{
bRet = compare<float>(v.toFloat(), udv.toFloat(), ti->compO_);
break;
}
case TagInfo::Rational:
{
bRet = compare<Rational>(v.toRational(), udv.toRational(), ti->compO_);
break;
}
}
}
}
}
return bRet;
}
long Exifdatum::sizeDataArea() const
{ {
return value_.get() == 0 ? 0 : value_->sizeDataArea(); return value_.get() == 0 ? 0 : value_->sizeDataArea();
} }

@ -158,7 +158,6 @@ namespace Exiv2 {
pixelHeight_(0), pixelHeight_(0),
imageType_(imageType), imageType_(imageType),
supportedMetadata_(supportedMetadata), supportedMetadata_(supportedMetadata),
cleanedExifData_(false),
#ifdef EXV_HAVE_XMP_TOOLKIT #ifdef EXV_HAVE_XMP_TOOLKIT
writeXmpFromPacket_(false), writeXmpFromPacket_(false),
#else #else
@ -187,32 +186,8 @@ namespace Exiv2 {
clearIccProfile(); clearIccProfile();
} }
#ifndef EXV_DONT_IGNORE_UNDEFINED
#define EXV_DONT_IGNORE_UNDEFINED 0
#endif
/*!
@brief Go through all data items and delete them from the list
if ignorable.
*/
ExifData& Image::exifData() ExifData& Image::exifData()
{ {
#if EXV_DONT_IGNORE_UNDEFINED == 0
if (!cleanedExifData_)
{
ExifData::iterator itb = exifData_.begin(), ite = exifData_.end(), itc = itb;
while(itc != ite)
{
if (itc->ignore())
{
itc = exifData_.erase(itc);
}
else
itc++;
}
cleanedExifData_ = true;
}
#endif
return exifData_; return exifData_;
} }
@ -254,13 +229,11 @@ namespace Exiv2 {
void Image::clearExifData() void Image::clearExifData()
{ {
exifData_.clear(); exifData_.clear();
cleanedExifData_ = false;
} }
void Image::setExifData(const ExifData& exifData) void Image::setExifData(const ExifData& exifData)
{ {
exifData_ = exifData; exifData_ = exifData;
cleanedExifData_ = false; // Just got new data, possibly needs cleaning
} }
void Image::clearIptcData() void Image::clearIptcData()

@ -2946,31 +2946,7 @@ namespace Exiv2 {
return 0 == strcmp(groupName.g_.c_str(), groupName_); return 0 == strcmp(groupName.g_.c_str(), groupName_);
} }
const bool & TagInfo::b_(void) TagInfo::TagInfo(
{
static const bool b(false);
return b;
}
const LongValue & TagInfo::lv_(void)
{
static const LongValue lv(0, signedLong);
return lv;
}
const TagInfo::compType & TagInfo::ct_(void)
{
static const compType ct(Long);
return ct;
}
const TagInfo::compOperator & TagInfo::co_(void)
{
static const compOperator co(equal_to);
return co;
}
TagInfo::TagInfo(
uint16_t tag, uint16_t tag,
const char* name, const char* name,
const char* title, const char* title,
@ -2979,15 +2955,10 @@ namespace Exiv2 {
int sectionId, int sectionId,
TypeId typeId, TypeId typeId,
int16_t count, int16_t count,
PrintFct printFct, PrintFct printFct
const bool &hasUndefined, )
const Value &undefValue,
const compOperator &compO,
const compType &compT
)
: tag_(tag), name_(name), title_(title), desc_(desc), ifdId_(ifdId), : tag_(tag), name_(name), title_(title), desc_(desc), ifdId_(ifdId),
sectionId_(sectionId), typeId_(typeId), count_(count), printFct_(printFct), sectionId_(sectionId), typeId_(typeId), count_(count), printFct_(printFct)
hasUndefined_(hasUndefined), undefValue_(undefValue), compO_(compO), compT_(compT)
{ {
} }

@ -83,10 +83,6 @@ EXIV2_RCSID("@(#) $Id$")
#define EXV_ENABLE_WEBREADY 0 #define EXV_ENABLE_WEBREADY 0
#endif #endif
#ifndef EXV_DONT_IGNORE_UNDEFINED
#define EXV_DONT_IGNORE_UNDEFINED 0
#endif
#include "http.hpp" #include "http.hpp"
#include "svn_version.h" #include "svn_version.h"
#include "version.hpp" #include "version.hpp"
@ -335,7 +331,6 @@ void Exiv2::dumpLibraryInfo(std::ostream& os,const exv_grep_keys_t& keys)
int enable_video =0; int enable_video =0;
int enable_webready =0; int enable_webready =0;
int dont_ignore_undef =0;
#if EXV_HAVE_DECL_STRERROR_R #if EXV_HAVE_DECL_STRERROR_R
have_strerror_r=1; have_strerror_r=1;
@ -477,10 +472,6 @@ void Exiv2::dumpLibraryInfo(std::ostream& os,const exv_grep_keys_t& keys)
enable_webready=1; enable_webready=1;
#endif #endif
#if EXV_DONT_IGNORE_UNDEFINED
dont_ignore_undef=1;
#endif
#if defined(WIN32) || defined(__CYGWIN__) || defined(__MINGW__) #if defined(WIN32) || defined(__CYGWIN__) || defined(__MINGW__)
// enumerate loaded libraries and determine path to executable // enumerate loaded libraries and determine path to executable
HMODULE handles[200]; HMODULE handles[200];
@ -591,8 +582,7 @@ void Exiv2::dumpLibraryInfo(std::ostream& os,const exv_grep_keys_t& keys)
output(os,keys,"have_unicode_path" ,have_unicode_path); output(os,keys,"have_unicode_path" ,have_unicode_path);
output(os,keys,"enable_video" ,enable_video ); output(os,keys,"enable_video" ,enable_video );
output(os,keys,"enable_webready" ,enable_webready ); output(os,keys,"enable_webready" ,enable_webready );
output(os,keys,"dont_ignore_undef" ,dont_ignore_undef); output(os,keys,"config_path" ,Exiv2::Internal::getExiv2ConfigPath());
output(os,keys,"config_path" ,Exiv2::Internal::getExiv2ConfigPath());
// #1147 // #1147
#ifndef WIN32 #ifndef WIN32

Binary file not shown.

@ -174,7 +174,7 @@ Exif.Image.YResolution 0x011b IFD0 Rational 1
Exif.Image.ResolutionUnit 0x0128 IFD0 Short 1 2 Exif.Image.ResolutionUnit 0x0128 IFD0 Short 1 2
Exif.Image.DateTime 0x0132 IFD0 Ascii 13 Sunday, 11am Exif.Image.DateTime 0x0132 IFD0 Ascii 13 Sunday, 11am
Exif.Image.YCbCrPositioning 0x0213 IFD0 Short 1 1 Exif.Image.YCbCrPositioning 0x0213 IFD0 Short 1 1
Exif.Image.ExifTag 0x8769 IFD0 Long 1 178 Exif.Image.ExifTag 0x8769 IFD0 Long 1 196
Exif.Photo.ExposureTime 0x829a Exif Rational 1 1/500 Exif.Photo.ExposureTime 0x829a Exif Rational 1 1/500
Exif.Photo.FNumber 0x829d Exif Rational 1 49/10 Exif.Photo.FNumber 0x829d Exif Rational 1 49/10
Exif.Photo.ExifVersion 0x9000 Exif Undefined 4 48 50 50 48 Exif.Photo.ExifVersion 0x9000 Exif Undefined 4 48 50 50 48
@ -189,8 +189,8 @@ Exif.Photo.MaxApertureValue 0x9205 Exif Rational 1
Exif.Photo.MeteringMode 0x9207 Exif Short 1 1 Exif.Photo.MeteringMode 0x9207 Exif Short 1 1
Exif.Photo.Flash 0x9209 Exif Short 1 24 Exif.Photo.Flash 0x9209 Exif Short 1 24
Exif.Photo.FocalLength 0x920a Exif Rational 1 682/32 Exif.Photo.FocalLength 0x920a Exif Rational 1 682/32
Exif.Photo.MakerNote 0x927c Exif Undefined 450 12 0 1 0 3 0 40 0 0 0 36 3 0 0 2 0 3 0 4 0 0 0 116 3 0 0 3 0 3 0 4 0 0 0 124 3 0 0 4 0 3 0 27 0 0 0 132 3 0 0 0 0 3 0 6 0 0 0 186 3 0 0 0 0 3 0 4 0 0 0 198 3 0 0 6 0 2 0 32 0 0 0 206 3 0 0 7 0 2 0 24 0 0 0 238 3 0 0 8 0 4 0 1 0 0 0 59 225 17 0 9 0 2 0 32 0 0 0 6 4 0 0 16 0 4 0 1 0 0 0 0 0 17 1 13 0 3 0 21 0 0 0 38 4 0 0 0 0 0 0 80 0 2 0 0 0 5 0 1 0 0 0 0 0 4 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 17 0 5 0 1 0 3 48 1 0 255 255 255 255 170 2 227 0 32 0 149 0 192 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 49 0 224 8 224 8 0 0 1 0 2 0 170 2 30 1 215 0 0 0 0 0 0 0 0 0 54 0 0 0 160 0 20 1 149 0 31 1 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 2 48 0 0 0 0 0 0 1 0 14 3 0 0 149 0 33 1 0 0 0 0 0 0 250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 73 77 71 58 80 111 119 101 114 83 104 111 116 32 83 52 48 32 74 80 69 71 0 0 0 0 0 0 0 0 0 0 70 105 114 109 119 97 114 101 32 86 101 114 115 105 111 110 32 49 46 49 48 0 0 0 65 110 100 114 101 97 115 32 72 117 103 103 101 108 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 42 0 3 0 1 128 122 1 1 128 0 0 0 0 0 0 3 1 2 0 0 0 10 0 0 0 0 0 0 0 57 0 198 0 5 0 0 0 0 0 0 0 Exif.Photo.MakerNote 0x927c Exif Undefined 450 12 0 1 0 3 0 40 0 0 0 68 4 0 0 2 0 3 0 4 0 0 0 148 4 0 0 3 0 3 0 4 0 0 0 156 4 0 0 4 0 3 0 27 0 0 0 164 4 0 0 0 0 3 0 6 0 0 0 218 4 0 0 0 0 3 0 4 0 0 0 230 4 0 0 6 0 2 0 32 0 0 0 238 4 0 0 7 0 2 0 24 0 0 0 14 5 0 0 8 0 4 0 1 0 0 0 59 225 17 0 9 0 2 0 32 0 0 0 38 5 0 0 16 0 4 0 1 0 0 0 0 0 17 1 13 0 3 0 21 0 0 0 70 5 0 0 0 0 0 0 80 0 2 0 0 0 5 0 1 0 0 0 0 0 4 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 17 0 5 0 1 0 3 48 1 0 255 255 255 255 170 2 227 0 32 0 149 0 192 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 49 0 224 8 224 8 0 0 1 0 2 0 170 2 30 1 215 0 0 0 0 0 0 0 0 0 54 0 0 0 160 0 20 1 149 0 31 1 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 2 48 0 0 0 0 0 0 1 0 14 3 0 0 149 0 33 1 0 0 0 0 0 0 250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 73 77 71 58 80 111 119 101 114 83 104 111 116 32 83 52 48 32 74 80 69 71 0 0 0 0 0 0 0 0 0 0 70 105 114 109 119 97 114 101 32 86 101 114 115 105 111 110 32 49 46 49 48 0 0 0 65 110 100 114 101 97 115 32 72 117 103 103 101 108 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 42 0 3 0 1 128 122 1 1 128 0 0 0 0 0 0 3 1 2 0 0 0 10 0 0 0 0 0 0 0 57 0 198 0 5 0 0 0 0 0 0 0
Exif.MakerNote.Offset 0x0001 Makernote Long 1 654 Exif.MakerNote.Offset 0x0001 Makernote Long 1 942
Exif.MakerNote.ByteOrder 0x0002 Makernote Ascii 3 II Exif.MakerNote.ByteOrder 0x0002 Makernote Ascii 3 II
Exif.CanonCs.0x0000 0x0000 Makernote Short 1 80 Exif.CanonCs.0x0000 0x0000 Makernote Short 1 80
Exif.CanonCs.Macro 0x0001 Makernote Short 1 2 Exif.CanonCs.Macro 0x0001 Makernote Short 1 2
@ -201,7 +201,7 @@ Exif.CanonCs.DriveMode 0x0005 Makernote Short 1
Exif.CanonCs.0x0006 0x0006 Makernote Short 1 0 Exif.CanonCs.0x0006 0x0006 Makernote Short 1 0
Exif.CanonCs.FocusMode 0x0007 Makernote Short 1 4 Exif.CanonCs.FocusMode 0x0007 Makernote Short 1 4
Exif.CanonCs.0x0008 0x0008 Makernote Short 1 0 Exif.CanonCs.0x0008 0x0008 Makernote Short 1 0
Exif.CanonCs.RecordMode 0x0009 Makernote Short 1 1 Exif.CanonCs.0x0009 0x0009 Makernote Short 1 1
Exif.CanonCs.ImageSize 0x000a Makernote Short 1 0 Exif.CanonCs.ImageSize 0x000a Makernote Short 1 0
Exif.CanonCs.EasyMode 0x000b Makernote Short 1 1 Exif.CanonCs.EasyMode 0x000b Makernote Short 1 1
Exif.CanonCs.DigitalZoom 0x000c Makernote Short 1 0 Exif.CanonCs.DigitalZoom 0x000c Makernote Short 1 0
@ -224,7 +224,7 @@ Exif.CanonCs.0x001e 0x001e Makernote Short 1
Exif.CanonCs.0x001f 0x001f Makernote Short 1 0 Exif.CanonCs.0x001f 0x001f Makernote Short 1 0
Exif.CanonCs.FocusContinuous 0x0020 Makernote Short 1 0 Exif.CanonCs.FocusContinuous 0x0020 Makernote Short 1 0
Exif.CanonCs.AESetting 0x0021 Makernote Short 1 0 Exif.CanonCs.AESetting 0x0021 Makernote Short 1 0
Exif.CanonCs.ImageStabilization 0x0022 Makernote Short 1 0 Exif.CanonCs.ImageStabilization 0x0022 Makernote Short 1 65535
Exif.CanonCs.DisplayAperture 0x0023 Makernote Short 1 49 Exif.CanonCs.DisplayAperture 0x0023 Makernote Short 1 49
Exif.CanonCs.ZoomSourceWidth 0x0024 Makernote Short 1 2272 Exif.CanonCs.ZoomSourceWidth 0x0024 Makernote Short 1 2272
Exif.CanonCs.ZoomTargetWidth 0x0025 Makernote Short 1 2272 Exif.CanonCs.ZoomTargetWidth 0x0025 Makernote Short 1 2272
@ -240,25 +240,25 @@ Exif.CanonSi.TargetAperture 0x0004 Makernote Short 1
Exif.CanonSi.TargetShutterSpeed 0x0005 Makernote Short 1 287 Exif.CanonSi.TargetShutterSpeed 0x0005 Makernote Short 1 287
Exif.CanonSi.0x0006 0x0006 Makernote Short 1 0 Exif.CanonSi.0x0006 0x0006 Makernote Short 1 0
Exif.CanonSi.WhiteBalance 0x0007 Makernote Short 1 0 Exif.CanonSi.WhiteBalance 0x0007 Makernote Short 1 0
Exif.CanonSi.SlowShutter 0x0008 Makernote Short 1 0 Exif.CanonSi.0x0008 0x0008 Makernote Short 1 0
Exif.CanonSi.Sequence 0x0009 Makernote Short 1 0 Exif.CanonSi.Sequence 0x0009 Makernote Short 1 0
Exif.CanonSi.0x000a 0x000a Makernote Short 1 6 Exif.CanonSi.0x000a 0x000a Makernote Short 1 6
Exif.CanonSi.0x000b 0x000b Makernote Short 1 0 Exif.CanonSi.0x000b 0x000b Makernote Short 1 0
Exif.CanonSi.CameraTemperature 0x000c Makernote Short 1 0 Exif.CanonSi.0x000c 0x000c Makernote Short 1 0
Exif.CanonSi.FlashGuideNumber 0x000d Makernote Short 1 0 Exif.CanonSi.0x000d 0x000d Makernote Short 1 0
Exif.CanonSi.AFPointUsed 0x000e Makernote Short 1 12290 Exif.CanonSi.AFPointUsed 0x000e Makernote Short 1 12290
Exif.CanonSi.FlashBias 0x000f Makernote Short 1 0 Exif.CanonSi.FlashBias 0x000f Makernote Short 1 0
Exif.CanonSi.AutoExposureBracketing 0x0010 Makernote Short 1 0 Exif.CanonSi.0x0010 0x0010 Makernote Short 1 0
Exif.CanonSi.0x0011 0x0011 Makernote Short 1 0 Exif.CanonSi.0x0011 0x0011 Makernote Short 1 0
Exif.CanonSi.ControlMode 0x0012 Makernote Short 1 1 Exif.CanonSi.0x0012 0x0012 Makernote Short 1 1
Exif.CanonSi.SubjectDistance 0x0013 Makernote Short 1 782 Exif.CanonSi.SubjectDistance 0x0013 Makernote Short 1 782
Exif.CanonSi.FocusDistanceLower 0x0014 Makernote Short 1 0 Exif.CanonSi.0x0014 0x0014 Makernote Short 1 0
Exif.CanonSi.ApertureValue 0x0015 Makernote Short 1 149 Exif.CanonSi.ApertureValue 0x0015 Makernote Short 1 149
Exif.CanonSi.ShutterSpeedValue 0x0016 Makernote Short 1 289 Exif.CanonSi.ShutterSpeedValue 0x0016 Makernote Short 1 289
Exif.CanonSi.MeasuredEV2 0x0017 Makernote Short 1 0 Exif.CanonSi.MeasuredEV2 0x0017 Makernote Short 1 0
Exif.CanonSi.0x0018 0x0018 Makernote Short 1 0 Exif.CanonSi.0x0018 0x0018 Makernote Short 1 0
Exif.CanonSi.0x0019 0x0019 Makernote Short 1 0 Exif.CanonSi.0x0019 0x0019 Makernote Short 1 0
Exif.CanonSi.CameraType 0x001a Makernote Short 1 250 Exif.CanonSi.0x001a 0x001a Makernote Short 1 250
Exif.Canon.0x0000 0x0000 Makernote Short 6 0 0 0 0 0 0 Exif.Canon.0x0000 0x0000 Makernote Short 6 0 0 0 0 0 0
Exif.Canon.0x0000 0x0000 Makernote Short 4 0 0 0 0 Exif.Canon.0x0000 0x0000 Makernote Short 4 0 0 0 0
Exif.Canon.ImageType 0x0006 Makernote Ascii 32 IMG:PowerShot S40 JPEG Exif.Canon.ImageType 0x0006 Makernote Ascii 32 IMG:PowerShot S40 JPEG
@ -272,7 +272,7 @@ Exif.Photo.FlashpixVersion 0xa000 Exif Undefined 4
Exif.Photo.ColorSpace 0xa001 Exif Short 1 1 Exif.Photo.ColorSpace 0xa001 Exif Short 1 1
Exif.Photo.PixelXDimension 0xa002 Exif Short 1 2272 Exif.Photo.PixelXDimension 0xa002 Exif Short 1 2272
Exif.Photo.PixelYDimension 0xa003 Exif Short 1 1704 Exif.Photo.PixelYDimension 0xa003 Exif Short 1 1704
Exif.Photo.InteroperabilityTag 0xa005 Exif Long 1 1392 Exif.Photo.InteroperabilityTag 0xa005 Exif Long 1 1416
Exif.Iop.InteroperabilityIndex 0x0001 Iop Ascii 4 123 Exif.Iop.InteroperabilityIndex 0x0001 Iop Ascii 4 123
Exif.Iop.InteroperabilityVersion 0x0002 Iop Undefined 4 48 49 48 48 Exif.Iop.InteroperabilityVersion 0x0002 Iop Undefined 4 48 49 48 48
Exif.Iop.RelatedImageWidth 0x1001 Iop Short 1 2272 Exif.Iop.RelatedImageWidth 0x1001 Iop Short 1 2272
@ -291,7 +291,7 @@ Exif.Thumbnail.Compression 0x0103 IFD1 Short 1
Exif.Thumbnail.XResolution 0x011a IFD1 Rational 1 180/1 Exif.Thumbnail.XResolution 0x011a IFD1 Rational 1 180/1
Exif.Thumbnail.YResolution 0x011b IFD1 Rational 1 180/1 Exif.Thumbnail.YResolution 0x011b IFD1 Rational 1 180/1
Exif.Thumbnail.ResolutionUnit 0x0128 IFD1 Short 1 2 Exif.Thumbnail.ResolutionUnit 0x0128 IFD1 Short 1 2
Exif.Thumbnail.JPEGInterchangeFormat 0x0201 IFD1 Long 1 1540 Exif.Thumbnail.JPEGInterchangeFormat 0x0201 IFD1 Long 1 2036
Exif.Thumbnail.JPEGInterchangeFormatLength 0x0202 IFD1 Long 1 5448 Exif.Thumbnail.JPEGInterchangeFormatLength 0x0202 IFD1 Long 1 5448
---------------------------------------------- ----------------------------------------------
Copy construction, intrusive changes Copy construction, intrusive changes
@ -318,7 +318,7 @@ Exif.Photo.MaxApertureValue 0x9205 Exif Rational 1
Exif.Photo.MeteringMode 0x9207 Exif Short 6 1 2 3 4 5 6 Exif.Photo.MeteringMode 0x9207 Exif Short 6 1 2 3 4 5 6
Exif.Photo.Flash 0x9209 Exif Short 1 24 Exif.Photo.Flash 0x9209 Exif Short 1 24
Exif.Photo.FocalLength 0x920a Exif Rational 1 682/32 Exif.Photo.FocalLength 0x920a Exif Rational 1 682/32
Exif.Photo.MakerNote 0x927c Exif Undefined 450 12 0 1 0 3 0 40 0 0 0 88 3 0 0 2 0 3 0 4 0 0 0 168 3 0 0 3 0 3 0 4 0 0 0 176 3 0 0 4 0 3 0 27 0 0 0 184 3 0 0 0 0 3 0 6 0 0 0 238 3 0 0 0 0 3 0 4 0 0 0 250 3 0 0 6 0 2 0 32 0 0 0 2 4 0 0 7 0 2 0 24 0 0 0 34 4 0 0 8 0 4 0 1 0 0 0 59 225 17 0 9 0 2 0 32 0 0 0 58 4 0 0 16 0 4 0 1 0 0 0 0 0 17 1 13 0 3 0 21 0 0 0 90 4 0 0 0 0 0 0 80 0 2 0 0 0 5 0 1 0 0 0 0 0 4 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 17 0 5 0 1 0 3 48 1 0 255 255 255 255 170 2 227 0 32 0 149 0 192 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 49 0 224 8 224 8 0 0 1 0 2 0 170 2 30 1 215 0 0 0 0 0 0 0 0 0 54 0 0 0 160 0 20 1 149 0 31 1 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 2 48 0 0 0 0 0 0 1 0 14 3 0 0 149 0 33 1 0 0 0 0 0 0 250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 73 77 71 58 80 111 119 101 114 83 104 111 116 32 83 52 48 32 74 80 69 71 0 0 0 0 0 0 0 0 0 0 70 105 114 109 119 97 114 101 32 86 101 114 115 105 111 110 32 49 46 49 48 0 0 0 65 110 100 114 101 97 115 32 72 117 103 103 101 108 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 42 0 3 0 1 128 122 1 1 128 0 0 0 0 0 0 3 1 2 0 0 0 10 0 0 0 0 0 0 0 57 0 198 0 5 0 0 0 0 0 0 0 Exif.Photo.MakerNote 0x927c Exif Undefined 450 12 0 1 0 3 0 40 0 0 0 88 3 0 0 2 0 3 0 4 0 0 0 168 3 0 0 3 0 3 0 4 0 0 0 176 3 0 0 4 0 3 0 27 0 0 0 184 3 0 0 0 0 3 0 6 0 0 0 238 3 0 0 0 0 3 0 4 0 0 0 250 3 0 0 6 0 2 0 32 0 0 0 2 4 0 0 7 0 2 0 24 0 0 0 34 4 0 0 8 0 4 0 1 0 0 0 59 225 17 0 9 0 2 0 32 0 0 0 58 4 0 0 16 0 4 0 1 0 0 0 0 0 17 1 13 0 3 0 21 0 0 0 90 4 0 0 0 0 0 0 80 0 2 0 0 0 5 0 1 0 0 0 0 0 4 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 17 0 5 0 1 0 3 48 1 0 255 255 255 255 170 2 227 0 32 0 149 0 192 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 49 0 224 8 224 8 0 0 1 0 2 0 170 2 30 1 215 0 0 0 0 0 0 0 0 0 54 0 0 0 160 0 20 1 149 0 31 1 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 2 48 0 0 0 0 0 0 1 0 14 3 0 0 149 0 33 1 0 0 0 0 0 0 250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 73 77 71 58 80 111 119 101 114 83 104 111 116 32 83 52 48 32 74 80 69 71 0 0 0 0 0 0 0 0 0 0 70 105 114 109 119 97 114 101 32 86 101 114 115 105 111 110 32 49 46 49 48 0 0 0 65 110 100 114 101 97 115 32 72 117 103 103 101 108 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 42 0 3 0 1 128 122 1 1 128 0 0 0 0 0 0 3 1 2 0 0 0 10 0 0 0 0 0 0 0 57 0 198 0 5 0 0 0 0 0 0 0
Exif.MakerNote.Offset 0x0001 Makernote Long 1 706 Exif.MakerNote.Offset 0x0001 Makernote Long 1 706
Exif.MakerNote.ByteOrder 0x0002 Makernote Ascii 3 II Exif.MakerNote.ByteOrder 0x0002 Makernote Ascii 3 II
Exif.CanonCs.0x0000 0x0000 Makernote Short 1 80 Exif.CanonCs.0x0000 0x0000 Makernote Short 1 80
@ -330,7 +330,7 @@ Exif.CanonCs.DriveMode 0x0005 Makernote Short 1
Exif.CanonCs.0x0006 0x0006 Makernote Short 1 0 Exif.CanonCs.0x0006 0x0006 Makernote Short 1 0
Exif.CanonCs.FocusMode 0x0007 Makernote Short 1 4 Exif.CanonCs.FocusMode 0x0007 Makernote Short 1 4
Exif.CanonCs.0x0008 0x0008 Makernote Short 1 0 Exif.CanonCs.0x0008 0x0008 Makernote Short 1 0
Exif.CanonCs.RecordMode 0x0009 Makernote Short 1 1 Exif.CanonCs.0x0009 0x0009 Makernote Short 1 1
Exif.CanonCs.ImageSize 0x000a Makernote Short 1 0 Exif.CanonCs.ImageSize 0x000a Makernote Short 1 0
Exif.CanonCs.EasyMode 0x000b Makernote Short 1 1 Exif.CanonCs.EasyMode 0x000b Makernote Short 1 1
Exif.CanonCs.DigitalZoom 0x000c Makernote Short 1 0 Exif.CanonCs.DigitalZoom 0x000c Makernote Short 1 0
@ -353,7 +353,7 @@ Exif.CanonCs.0x001e 0x001e Makernote Short 1
Exif.CanonCs.0x001f 0x001f Makernote Short 1 0 Exif.CanonCs.0x001f 0x001f Makernote Short 1 0
Exif.CanonCs.FocusContinuous 0x0020 Makernote Short 1 0 Exif.CanonCs.FocusContinuous 0x0020 Makernote Short 1 0
Exif.CanonCs.AESetting 0x0021 Makernote Short 1 0 Exif.CanonCs.AESetting 0x0021 Makernote Short 1 0
Exif.CanonCs.ImageStabilization 0x0022 Makernote Short 1 0 Exif.CanonCs.ImageStabilization 0x0022 Makernote Short 1 65535
Exif.CanonCs.DisplayAperture 0x0023 Makernote Short 1 49 Exif.CanonCs.DisplayAperture 0x0023 Makernote Short 1 49
Exif.CanonCs.ZoomSourceWidth 0x0024 Makernote Short 1 2272 Exif.CanonCs.ZoomSourceWidth 0x0024 Makernote Short 1 2272
Exif.CanonCs.ZoomTargetWidth 0x0025 Makernote Short 1 2272 Exif.CanonCs.ZoomTargetWidth 0x0025 Makernote Short 1 2272
@ -369,25 +369,25 @@ Exif.CanonSi.TargetAperture 0x0004 Makernote Short 1
Exif.CanonSi.TargetShutterSpeed 0x0005 Makernote Short 1 287 Exif.CanonSi.TargetShutterSpeed 0x0005 Makernote Short 1 287
Exif.CanonSi.0x0006 0x0006 Makernote Short 1 0 Exif.CanonSi.0x0006 0x0006 Makernote Short 1 0
Exif.CanonSi.WhiteBalance 0x0007 Makernote Short 1 0 Exif.CanonSi.WhiteBalance 0x0007 Makernote Short 1 0
Exif.CanonSi.SlowShutter 0x0008 Makernote Short 1 0 Exif.CanonSi.0x0008 0x0008 Makernote Short 1 0
Exif.CanonSi.Sequence 0x0009 Makernote Short 1 0 Exif.CanonSi.Sequence 0x0009 Makernote Short 1 0
Exif.CanonSi.0x000a 0x000a Makernote Short 1 6 Exif.CanonSi.0x000a 0x000a Makernote Short 1 6
Exif.CanonSi.0x000b 0x000b Makernote Short 1 0 Exif.CanonSi.0x000b 0x000b Makernote Short 1 0
Exif.CanonSi.CameraTemperature 0x000c Makernote Short 1 0 Exif.CanonSi.0x000c 0x000c Makernote Short 1 0
Exif.CanonSi.FlashGuideNumber 0x000d Makernote Short 1 0 Exif.CanonSi.0x000d 0x000d Makernote Short 1 0
Exif.CanonSi.AFPointUsed 0x000e Makernote Short 1 12290 Exif.CanonSi.AFPointUsed 0x000e Makernote Short 1 12290
Exif.CanonSi.FlashBias 0x000f Makernote Short 1 0 Exif.CanonSi.FlashBias 0x000f Makernote Short 1 0
Exif.CanonSi.AutoExposureBracketing 0x0010 Makernote Short 1 0 Exif.CanonSi.0x0010 0x0010 Makernote Short 1 0
Exif.CanonSi.0x0011 0x0011 Makernote Short 1 0 Exif.CanonSi.0x0011 0x0011 Makernote Short 1 0
Exif.CanonSi.ControlMode 0x0012 Makernote Short 1 1 Exif.CanonSi.0x0012 0x0012 Makernote Short 1 1
Exif.CanonSi.SubjectDistance 0x0013 Makernote Short 1 782 Exif.CanonSi.SubjectDistance 0x0013 Makernote Short 1 782
Exif.CanonSi.FocusDistanceLower 0x0014 Makernote Short 1 0 Exif.CanonSi.0x0014 0x0014 Makernote Short 1 0
Exif.CanonSi.ApertureValue 0x0015 Makernote Short 1 149 Exif.CanonSi.ApertureValue 0x0015 Makernote Short 1 149
Exif.CanonSi.ShutterSpeedValue 0x0016 Makernote Short 1 289 Exif.CanonSi.ShutterSpeedValue 0x0016 Makernote Short 1 289
Exif.CanonSi.MeasuredEV2 0x0017 Makernote Short 1 0 Exif.CanonSi.MeasuredEV2 0x0017 Makernote Short 1 0
Exif.CanonSi.0x0018 0x0018 Makernote Short 1 0 Exif.CanonSi.0x0018 0x0018 Makernote Short 1 0
Exif.CanonSi.0x0019 0x0019 Makernote Short 1 0 Exif.CanonSi.0x0019 0x0019 Makernote Short 1 0
Exif.CanonSi.CameraType 0x001a Makernote Short 1 250 Exif.CanonSi.0x001a 0x001a Makernote Short 1 250
Exif.Canon.0x0000 0x0000 Makernote Short 6 0 0 0 0 0 0 Exif.Canon.0x0000 0x0000 Makernote Short 6 0 0 0 0 0 0
Exif.Canon.0x0000 0x0000 Makernote Short 4 0 0 0 0 Exif.Canon.0x0000 0x0000 Makernote Short 4 0 0 0 0
Exif.Canon.ImageType 0x0006 Makernote Ascii 32 IMG:PowerShot S40 JPEG Exif.Canon.ImageType 0x0006 Makernote Ascii 32 IMG:PowerShot S40 JPEG
@ -433,7 +433,7 @@ Exif.Image.YResolution 0x011b IFD0 Rational 1
Exif.Image.ResolutionUnit 0x0128 IFD0 Short 1 2 Exif.Image.ResolutionUnit 0x0128 IFD0 Short 1 2
Exif.Image.DateTime 0x0132 IFD0 Ascii 13 Sunday, 11am Exif.Image.DateTime 0x0132 IFD0 Ascii 13 Sunday, 11am
Exif.Image.YCbCrPositioning 0x0213 IFD0 Short 1 1 Exif.Image.YCbCrPositioning 0x0213 IFD0 Short 1 1
Exif.Image.ExifTag 0x8769 IFD0 Long 1 178 Exif.Image.ExifTag 0x8769 IFD0 Long 1 202
Exif.Photo.ExposureTime 0x829a Exif Rational 1 1/500 Exif.Photo.ExposureTime 0x829a Exif Rational 1 1/500
Exif.Photo.FNumber 0x829d Exif Rational 1 49/10 Exif.Photo.FNumber 0x829d Exif Rational 1 49/10
Exif.Photo.ExifVersion 0x9000 Exif Undefined 4 48 50 50 48 Exif.Photo.ExifVersion 0x9000 Exif Undefined 4 48 50 50 48
@ -448,8 +448,8 @@ Exif.Photo.MaxApertureValue 0x9205 Exif Rational 1
Exif.Photo.MeteringMode 0x9207 Exif Short 1 1 Exif.Photo.MeteringMode 0x9207 Exif Short 1 1
Exif.Photo.Flash 0x9209 Exif Short 1 24 Exif.Photo.Flash 0x9209 Exif Short 1 24
Exif.Photo.FocalLength 0x920a Exif Rational 1 682/32 Exif.Photo.FocalLength 0x920a Exif Rational 1 682/32
Exif.Photo.MakerNote 0x927c Exif Undefined 450 12 0 1 0 3 0 40 0 0 0 36 3 0 0 2 0 3 0 4 0 0 0 116 3 0 0 3 0 3 0 4 0 0 0 124 3 0 0 4 0 3 0 27 0 0 0 132 3 0 0 0 0 3 0 6 0 0 0 186 3 0 0 0 0 3 0 4 0 0 0 198 3 0 0 6 0 2 0 32 0 0 0 206 3 0 0 7 0 2 0 24 0 0 0 238 3 0 0 8 0 4 0 1 0 0 0 59 225 17 0 9 0 2 0 32 0 0 0 6 4 0 0 16 0 4 0 1 0 0 0 0 0 17 1 13 0 3 0 21 0 0 0 38 4 0 0 0 0 0 0 80 0 2 0 0 0 5 0 1 0 0 0 0 0 4 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 17 0 5 0 1 0 3 48 1 0 255 255 255 255 170 2 227 0 32 0 149 0 192 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 49 0 224 8 224 8 0 0 1 0 2 0 170 2 30 1 215 0 0 0 0 0 0 0 0 0 54 0 0 0 160 0 20 1 149 0 31 1 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 2 48 0 0 0 0 0 0 1 0 14 3 0 0 149 0 33 1 0 0 0 0 0 0 250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 73 77 71 58 80 111 119 101 114 83 104 111 116 32 83 52 48 32 74 80 69 71 0 0 0 0 0 0 0 0 0 0 70 105 114 109 119 97 114 101 32 86 101 114 115 105 111 110 32 49 46 49 48 0 0 0 65 110 100 114 101 97 115 32 72 117 103 103 101 108 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 42 0 3 0 1 128 122 1 1 128 0 0 0 0 0 0 3 1 2 0 0 0 10 0 0 0 0 0 0 0 57 0 198 0 5 0 0 0 0 0 0 0 Exif.Photo.MakerNote 0x927c Exif Undefined 450 12 0 1 0 3 0 40 0 0 0 88 3 0 0 2 0 3 0 4 0 0 0 168 3 0 0 3 0 3 0 4 0 0 0 176 3 0 0 4 0 3 0 27 0 0 0 184 3 0 0 0 0 3 0 6 0 0 0 238 3 0 0 0 0 3 0 4 0 0 0 250 3 0 0 6 0 2 0 32 0 0 0 2 4 0 0 7 0 2 0 24 0 0 0 34 4 0 0 8 0 4 0 1 0 0 0 59 225 17 0 9 0 2 0 32 0 0 0 58 4 0 0 16 0 4 0 1 0 0 0 0 0 17 1 13 0 3 0 21 0 0 0 90 4 0 0 0 0 0 0 80 0 2 0 0 0 5 0 1 0 0 0 0 0 4 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 17 0 5 0 1 0 3 48 1 0 255 255 255 255 170 2 227 0 32 0 149 0 192 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 49 0 224 8 224 8 0 0 1 0 2 0 170 2 30 1 215 0 0 0 0 0 0 0 0 0 54 0 0 0 160 0 20 1 149 0 31 1 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 2 48 0 0 0 0 0 0 1 0 14 3 0 0 149 0 33 1 0 0 0 0 0 0 250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 73 77 71 58 80 111 119 101 114 83 104 111 116 32 83 52 48 32 74 80 69 71 0 0 0 0 0 0 0 0 0 0 70 105 114 109 119 97 114 101 32 86 101 114 115 105 111 110 32 49 46 49 48 0 0 0 65 110 100 114 101 97 115 32 72 117 103 103 101 108 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 42 0 3 0 1 128 122 1 1 128 0 0 0 0 0 0 3 1 2 0 0 0 10 0 0 0 0 0 0 0 57 0 198 0 5 0 0 0 0 0 0 0
Exif.MakerNote.Offset 0x0001 Makernote Long 1 654 Exif.MakerNote.Offset 0x0001 Makernote Long 1 706
Exif.MakerNote.ByteOrder 0x0002 Makernote Ascii 3 II Exif.MakerNote.ByteOrder 0x0002 Makernote Ascii 3 II
Exif.CanonCs.0x0000 0x0000 Makernote Short 1 80 Exif.CanonCs.0x0000 0x0000 Makernote Short 1 80
Exif.CanonCs.Macro 0x0001 Makernote Short 1 2 Exif.CanonCs.Macro 0x0001 Makernote Short 1 2
@ -460,7 +460,7 @@ Exif.CanonCs.DriveMode 0x0005 Makernote Short 1
Exif.CanonCs.0x0006 0x0006 Makernote Short 1 0 Exif.CanonCs.0x0006 0x0006 Makernote Short 1 0
Exif.CanonCs.FocusMode 0x0007 Makernote Short 1 4 Exif.CanonCs.FocusMode 0x0007 Makernote Short 1 4
Exif.CanonCs.0x0008 0x0008 Makernote Short 1 0 Exif.CanonCs.0x0008 0x0008 Makernote Short 1 0
Exif.CanonCs.RecordMode 0x0009 Makernote Short 1 1 Exif.CanonCs.0x0009 0x0009 Makernote Short 1 1
Exif.CanonCs.ImageSize 0x000a Makernote Short 1 0 Exif.CanonCs.ImageSize 0x000a Makernote Short 1 0
Exif.CanonCs.EasyMode 0x000b Makernote Short 1 1 Exif.CanonCs.EasyMode 0x000b Makernote Short 1 1
Exif.CanonCs.DigitalZoom 0x000c Makernote Short 1 0 Exif.CanonCs.DigitalZoom 0x000c Makernote Short 1 0
@ -483,7 +483,7 @@ Exif.CanonCs.0x001e 0x001e Makernote Short 1
Exif.CanonCs.0x001f 0x001f Makernote Short 1 0 Exif.CanonCs.0x001f 0x001f Makernote Short 1 0
Exif.CanonCs.FocusContinuous 0x0020 Makernote Short 1 0 Exif.CanonCs.FocusContinuous 0x0020 Makernote Short 1 0
Exif.CanonCs.AESetting 0x0021 Makernote Short 1 0 Exif.CanonCs.AESetting 0x0021 Makernote Short 1 0
Exif.CanonCs.ImageStabilization 0x0022 Makernote Short 1 0 Exif.CanonCs.ImageStabilization 0x0022 Makernote Short 1 65535
Exif.CanonCs.DisplayAperture 0x0023 Makernote Short 1 49 Exif.CanonCs.DisplayAperture 0x0023 Makernote Short 1 49
Exif.CanonCs.ZoomSourceWidth 0x0024 Makernote Short 1 2272 Exif.CanonCs.ZoomSourceWidth 0x0024 Makernote Short 1 2272
Exif.CanonCs.ZoomTargetWidth 0x0025 Makernote Short 1 2272 Exif.CanonCs.ZoomTargetWidth 0x0025 Makernote Short 1 2272
@ -499,25 +499,25 @@ Exif.CanonSi.TargetAperture 0x0004 Makernote Short 1
Exif.CanonSi.TargetShutterSpeed 0x0005 Makernote Short 1 287 Exif.CanonSi.TargetShutterSpeed 0x0005 Makernote Short 1 287
Exif.CanonSi.0x0006 0x0006 Makernote Short 1 0 Exif.CanonSi.0x0006 0x0006 Makernote Short 1 0
Exif.CanonSi.WhiteBalance 0x0007 Makernote Short 1 0 Exif.CanonSi.WhiteBalance 0x0007 Makernote Short 1 0
Exif.CanonSi.SlowShutter 0x0008 Makernote Short 1 0 Exif.CanonSi.0x0008 0x0008 Makernote Short 1 0
Exif.CanonSi.Sequence 0x0009 Makernote Short 1 0 Exif.CanonSi.Sequence 0x0009 Makernote Short 1 0
Exif.CanonSi.0x000a 0x000a Makernote Short 1 6 Exif.CanonSi.0x000a 0x000a Makernote Short 1 6
Exif.CanonSi.0x000b 0x000b Makernote Short 1 0 Exif.CanonSi.0x000b 0x000b Makernote Short 1 0
Exif.CanonSi.CameraTemperature 0x000c Makernote Short 1 0 Exif.CanonSi.0x000c 0x000c Makernote Short 1 0
Exif.CanonSi.FlashGuideNumber 0x000d Makernote Short 1 0 Exif.CanonSi.0x000d 0x000d Makernote Short 1 0
Exif.CanonSi.AFPointUsed 0x000e Makernote Short 1 12290 Exif.CanonSi.AFPointUsed 0x000e Makernote Short 1 12290
Exif.CanonSi.FlashBias 0x000f Makernote Short 1 0 Exif.CanonSi.FlashBias 0x000f Makernote Short 1 0
Exif.CanonSi.AutoExposureBracketing 0x0010 Makernote Short 1 0 Exif.CanonSi.0x0010 0x0010 Makernote Short 1 0
Exif.CanonSi.0x0011 0x0011 Makernote Short 1 0 Exif.CanonSi.0x0011 0x0011 Makernote Short 1 0
Exif.CanonSi.ControlMode 0x0012 Makernote Short 1 1 Exif.CanonSi.0x0012 0x0012 Makernote Short 1 1
Exif.CanonSi.SubjectDistance 0x0013 Makernote Short 1 782 Exif.CanonSi.SubjectDistance 0x0013 Makernote Short 1 782
Exif.CanonSi.FocusDistanceLower 0x0014 Makernote Short 1 0 Exif.CanonSi.0x0014 0x0014 Makernote Short 1 0
Exif.CanonSi.ApertureValue 0x0015 Makernote Short 1 149 Exif.CanonSi.ApertureValue 0x0015 Makernote Short 1 149
Exif.CanonSi.ShutterSpeedValue 0x0016 Makernote Short 1 289 Exif.CanonSi.ShutterSpeedValue 0x0016 Makernote Short 1 289
Exif.CanonSi.MeasuredEV2 0x0017 Makernote Short 1 0 Exif.CanonSi.MeasuredEV2 0x0017 Makernote Short 1 0
Exif.CanonSi.0x0018 0x0018 Makernote Short 1 0 Exif.CanonSi.0x0018 0x0018 Makernote Short 1 0
Exif.CanonSi.0x0019 0x0019 Makernote Short 1 0 Exif.CanonSi.0x0019 0x0019 Makernote Short 1 0
Exif.CanonSi.CameraType 0x001a Makernote Short 1 250 Exif.CanonSi.0x001a 0x001a Makernote Short 1 250
Exif.Canon.0x0000 0x0000 Makernote Short 6 0 0 0 0 0 0 Exif.Canon.0x0000 0x0000 Makernote Short 6 0 0 0 0 0 0
Exif.Canon.0x0000 0x0000 Makernote Short 4 0 0 0 0 Exif.Canon.0x0000 0x0000 Makernote Short 4 0 0 0 0
Exif.Canon.ImageType 0x0006 Makernote Ascii 32 IMG:PowerShot S40 JPEG Exif.Canon.ImageType 0x0006 Makernote Ascii 32 IMG:PowerShot S40 JPEG
@ -531,7 +531,7 @@ Exif.Photo.FlashpixVersion 0xa000 Exif Undefined 4
Exif.Photo.ColorSpace 0xa001 Exif Short 1 1 Exif.Photo.ColorSpace 0xa001 Exif Short 1 1
Exif.Photo.PixelXDimension 0xa002 Exif Short 1 2272 Exif.Photo.PixelXDimension 0xa002 Exif Short 1 2272
Exif.Photo.PixelYDimension 0xa003 Exif Short 1 1704 Exif.Photo.PixelYDimension 0xa003 Exif Short 1 1704
Exif.Photo.InteroperabilityTag 0xa005 Exif Long 1 1392 Exif.Photo.InteroperabilityTag 0xa005 Exif Long 1 1444
Exif.Iop.InteroperabilityIndex 0x0001 Iop Ascii 4 123 Exif.Iop.InteroperabilityIndex 0x0001 Iop Ascii 4 123
Exif.Iop.InteroperabilityVersion 0x0002 Iop Undefined 4 48 49 48 48 Exif.Iop.InteroperabilityVersion 0x0002 Iop Undefined 4 48 49 48 48
Exif.Iop.RelatedImageWidth 0x1001 Iop Short 1 2272 Exif.Iop.RelatedImageWidth 0x1001 Iop Short 1 2272
@ -551,7 +551,7 @@ Exif.Thumbnail.Orientation 0x0112 IFD1 Short 1
Exif.Thumbnail.XResolution 0x011a IFD1 Rational 1 180/1 Exif.Thumbnail.XResolution 0x011a IFD1 Rational 1 180/1
Exif.Thumbnail.YResolution 0x011b IFD1 Rational 1 180/1 Exif.Thumbnail.YResolution 0x011b IFD1 Rational 1 180/1
Exif.Thumbnail.ResolutionUnit 0x0128 IFD1 Short 1 2 Exif.Thumbnail.ResolutionUnit 0x0128 IFD1 Short 1 2
Exif.Thumbnail.JPEGInterchangeFormat 0x0201 IFD1 Long 1 1552 Exif.Thumbnail.JPEGInterchangeFormat 0x0201 IFD1 Long 1 1620
Exif.Thumbnail.JPEGInterchangeFormatLength 0x0202 IFD1 Long 1 5448 Exif.Thumbnail.JPEGInterchangeFormatLength 0x0202 IFD1 Long 1 5448
---------------------------------------------- ----------------------------------------------
Assignment, intrusive changes Assignment, intrusive changes
@ -578,7 +578,7 @@ Exif.Photo.MaxApertureValue 0x9205 Exif Rational 1
Exif.Photo.MeteringMode 0x9207 Exif Short 1 1 Exif.Photo.MeteringMode 0x9207 Exif Short 1 1
Exif.Photo.Flash 0x9209 Exif Short 1 24 Exif.Photo.Flash 0x9209 Exif Short 1 24
Exif.Photo.FocalLength 0x920a Exif Rational 1 682/32 Exif.Photo.FocalLength 0x920a Exif Rational 1 682/32
Exif.Photo.MakerNote 0x927c Exif Undefined 450 12 0 1 0 3 0 40 0 0 0 76 3 0 0 2 0 3 0 4 0 0 0 156 3 0 0 3 0 3 0 4 0 0 0 164 3 0 0 4 0 3 0 27 0 0 0 172 3 0 0 0 0 3 0 6 0 0 0 226 3 0 0 0 0 3 0 4 0 0 0 238 3 0 0 6 0 2 0 32 0 0 0 246 3 0 0 7 0 2 0 24 0 0 0 22 4 0 0 8 0 4 0 1 0 0 0 59 225 17 0 9 0 2 0 32 0 0 0 46 4 0 0 16 0 4 0 1 0 0 0 0 0 17 1 13 0 3 0 21 0 0 0 78 4 0 0 0 0 0 0 80 0 2 0 0 0 5 0 1 0 0 0 0 0 4 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 17 0 5 0 1 0 3 48 1 0 255 255 255 255 170 2 227 0 32 0 149 0 192 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 49 0 224 8 224 8 0 0 1 0 2 0 170 2 30 1 215 0 0 0 0 0 0 0 0 0 54 0 0 0 160 0 20 1 149 0 31 1 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 2 48 0 0 0 0 0 0 1 0 14 3 0 0 149 0 33 1 0 0 0 0 0 0 250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 73 77 71 58 80 111 119 101 114 83 104 111 116 32 83 52 48 32 74 80 69 71 0 0 0 0 0 0 0 0 0 0 70 105 114 109 119 97 114 101 32 86 101 114 115 105 111 110 32 49 46 49 48 0 0 0 65 110 100 114 101 97 115 32 72 117 103 103 101 108 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 42 0 3 0 1 128 122 1 1 128 0 0 0 0 0 0 3 1 2 0 0 0 10 0 0 0 0 0 0 0 57 0 198 0 5 0 0 0 0 0 0 0 Exif.Photo.MakerNote 0x927c Exif Undefined 450 12 0 1 0 3 0 40 0 0 0 76 3 0 0 2 0 3 0 4 0 0 0 156 3 0 0 3 0 3 0 4 0 0 0 164 3 0 0 4 0 3 0 27 0 0 0 172 3 0 0 0 0 3 0 6 0 0 0 226 3 0 0 0 0 3 0 4 0 0 0 238 3 0 0 6 0 2 0 32 0 0 0 246 3 0 0 7 0 2 0 24 0 0 0 22 4 0 0 8 0 4 0 1 0 0 0 59 225 17 0 9 0 2 0 32 0 0 0 46 4 0 0 16 0 4 0 1 0 0 0 0 0 17 1 13 0 3 0 21 0 0 0 78 4 0 0 0 0 0 0 80 0 2 0 0 0 5 0 1 0 0 0 0 0 4 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 17 0 5 0 1 0 3 48 1 0 255 255 255 255 170 2 227 0 32 0 149 0 192 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 49 0 224 8 224 8 0 0 1 0 2 0 170 2 30 1 215 0 0 0 0 0 0 0 0 0 54 0 0 0 160 0 20 1 149 0 31 1 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 2 48 0 0 0 0 0 0 1 0 14 3 0 0 149 0 33 1 0 0 0 0 0 0 250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 73 77 71 58 80 111 119 101 114 83 104 111 116 32 83 52 48 32 74 80 69 71 0 0 0 0 0 0 0 0 0 0 70 105 114 109 119 97 114 101 32 86 101 114 115 105 111 110 32 49 46 49 48 0 0 0 65 110 100 114 101 97 115 32 72 117 103 103 101 108 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 42 0 3 0 1 128 122 1 1 128 0 0 0 0 0 0 3 1 2 0 0 0 10 0 0 0 0 0 0 0 57 0 198 0 5 0 0 0 0 0 0 0
Exif.MakerNote.Offset 0x0001 Makernote Long 1 694 Exif.MakerNote.Offset 0x0001 Makernote Long 1 694
Exif.MakerNote.ByteOrder 0x0002 Makernote Ascii 3 II Exif.MakerNote.ByteOrder 0x0002 Makernote Ascii 3 II
Exif.CanonCs.0x0000 0x0000 Makernote Short 1 80 Exif.CanonCs.0x0000 0x0000 Makernote Short 1 80
@ -590,7 +590,7 @@ Exif.CanonCs.DriveMode 0x0005 Makernote Short 1
Exif.CanonCs.0x0006 0x0006 Makernote Short 1 0 Exif.CanonCs.0x0006 0x0006 Makernote Short 1 0
Exif.CanonCs.FocusMode 0x0007 Makernote Short 1 4 Exif.CanonCs.FocusMode 0x0007 Makernote Short 1 4
Exif.CanonCs.0x0008 0x0008 Makernote Short 1 0 Exif.CanonCs.0x0008 0x0008 Makernote Short 1 0
Exif.CanonCs.RecordMode 0x0009 Makernote Short 1 1 Exif.CanonCs.0x0009 0x0009 Makernote Short 1 1
Exif.CanonCs.ImageSize 0x000a Makernote Short 1 0 Exif.CanonCs.ImageSize 0x000a Makernote Short 1 0
Exif.CanonCs.EasyMode 0x000b Makernote Short 1 1 Exif.CanonCs.EasyMode 0x000b Makernote Short 1 1
Exif.CanonCs.DigitalZoom 0x000c Makernote Short 1 0 Exif.CanonCs.DigitalZoom 0x000c Makernote Short 1 0
@ -613,7 +613,7 @@ Exif.CanonCs.0x001e 0x001e Makernote Short 1
Exif.CanonCs.0x001f 0x001f Makernote Short 1 0 Exif.CanonCs.0x001f 0x001f Makernote Short 1 0
Exif.CanonCs.FocusContinuous 0x0020 Makernote Short 1 0 Exif.CanonCs.FocusContinuous 0x0020 Makernote Short 1 0
Exif.CanonCs.AESetting 0x0021 Makernote Short 1 0 Exif.CanonCs.AESetting 0x0021 Makernote Short 1 0
Exif.CanonCs.ImageStabilization 0x0022 Makernote Short 1 0 Exif.CanonCs.ImageStabilization 0x0022 Makernote Short 1 65535
Exif.CanonCs.DisplayAperture 0x0023 Makernote Short 1 49 Exif.CanonCs.DisplayAperture 0x0023 Makernote Short 1 49
Exif.CanonCs.ZoomSourceWidth 0x0024 Makernote Short 1 2272 Exif.CanonCs.ZoomSourceWidth 0x0024 Makernote Short 1 2272
Exif.CanonCs.ZoomTargetWidth 0x0025 Makernote Short 1 2272 Exif.CanonCs.ZoomTargetWidth 0x0025 Makernote Short 1 2272
@ -629,25 +629,25 @@ Exif.CanonSi.TargetAperture 0x0004 Makernote Short 1
Exif.CanonSi.TargetShutterSpeed 0x0005 Makernote Short 1 287 Exif.CanonSi.TargetShutterSpeed 0x0005 Makernote Short 1 287
Exif.CanonSi.0x0006 0x0006 Makernote Short 1 0 Exif.CanonSi.0x0006 0x0006 Makernote Short 1 0
Exif.CanonSi.WhiteBalance 0x0007 Makernote Short 1 0 Exif.CanonSi.WhiteBalance 0x0007 Makernote Short 1 0
Exif.CanonSi.SlowShutter 0x0008 Makernote Short 1 0 Exif.CanonSi.0x0008 0x0008 Makernote Short 1 0
Exif.CanonSi.Sequence 0x0009 Makernote Short 1 0 Exif.CanonSi.Sequence 0x0009 Makernote Short 1 0
Exif.CanonSi.0x000a 0x000a Makernote Short 1 6 Exif.CanonSi.0x000a 0x000a Makernote Short 1 6
Exif.CanonSi.0x000b 0x000b Makernote Short 1 0 Exif.CanonSi.0x000b 0x000b Makernote Short 1 0
Exif.CanonSi.CameraTemperature 0x000c Makernote Short 1 0 Exif.CanonSi.0x000c 0x000c Makernote Short 1 0
Exif.CanonSi.FlashGuideNumber 0x000d Makernote Short 1 0 Exif.CanonSi.0x000d 0x000d Makernote Short 1 0
Exif.CanonSi.AFPointUsed 0x000e Makernote Short 1 12290 Exif.CanonSi.AFPointUsed 0x000e Makernote Short 1 12290
Exif.CanonSi.FlashBias 0x000f Makernote Short 1 0 Exif.CanonSi.FlashBias 0x000f Makernote Short 1 0
Exif.CanonSi.AutoExposureBracketing 0x0010 Makernote Short 1 0 Exif.CanonSi.0x0010 0x0010 Makernote Short 1 0
Exif.CanonSi.0x0011 0x0011 Makernote Short 1 0 Exif.CanonSi.0x0011 0x0011 Makernote Short 1 0
Exif.CanonSi.ControlMode 0x0012 Makernote Short 1 1 Exif.CanonSi.0x0012 0x0012 Makernote Short 1 1
Exif.CanonSi.SubjectDistance 0x0013 Makernote Short 1 782 Exif.CanonSi.SubjectDistance 0x0013 Makernote Short 1 782
Exif.CanonSi.FocusDistanceLower 0x0014 Makernote Short 1 0 Exif.CanonSi.0x0014 0x0014 Makernote Short 1 0
Exif.CanonSi.ApertureValue 0x0015 Makernote Short 1 149 Exif.CanonSi.ApertureValue 0x0015 Makernote Short 1 149
Exif.CanonSi.ShutterSpeedValue 0x0016 Makernote Short 1 289 Exif.CanonSi.ShutterSpeedValue 0x0016 Makernote Short 1 289
Exif.CanonSi.MeasuredEV2 0x0017 Makernote Short 1 0 Exif.CanonSi.MeasuredEV2 0x0017 Makernote Short 1 0
Exif.CanonSi.0x0018 0x0018 Makernote Short 1 0 Exif.CanonSi.0x0018 0x0018 Makernote Short 1 0
Exif.CanonSi.0x0019 0x0019 Makernote Short 1 0 Exif.CanonSi.0x0019 0x0019 Makernote Short 1 0
Exif.CanonSi.CameraType 0x001a Makernote Short 1 250 Exif.CanonSi.0x001a 0x001a Makernote Short 1 250
Exif.Canon.0x0000 0x0000 Makernote Short 6 0 0 0 0 0 0 Exif.Canon.0x0000 0x0000 Makernote Short 6 0 0 0 0 0 0
Exif.Canon.0x0000 0x0000 Makernote Short 4 0 0 0 0 Exif.Canon.0x0000 0x0000 Makernote Short 4 0 0 0 0
Exif.Canon.ImageType 0x0006 Makernote Ascii 32 IMG:PowerShot S40 JPEG Exif.Canon.ImageType 0x0006 Makernote Ascii 32 IMG:PowerShot S40 JPEG

File diff suppressed because one or more lines are too long

@ -5,28 +5,10 @@ Case 1: Non-intrusive change to the standard Exif metadata
---> Writing Exif data to file test1.jpg ---> Writing Exif data to file test1.jpg
---> Reading file test1.jpg ---> Reading file test1.jpg
---> Writing Exif thumbnail to file thumb1.* ---> Writing Exif thumbnail to file thumb1.*
9c9
< Exif.Image.ExifTag 0x8769 Long 1 196
---
> Exif.Image.ExifTag 0x8769 Long 1 184
13c13 13c13
< Exif.Photo.DateTimeOriginal 0x9003 Ascii 20 2003:12:14 12:01:44 < Exif.Photo.DateTimeOriginal 0x9003 Ascii 20 2003:12:14 12:01:44
--- ---
> Exif.Photo.DateTimeOriginal 0x9003 Ascii 20 1999:11:22 00:11:22 > Exif.Photo.DateTimeOriginal 0x9003 Ascii 20 1999:11:22 00:11:22
24,25c24,25
< Exif.Photo.MakerNote 0x927c Undefined 450 12 0 1 0 3 0 40 0 0 0 68 4 0 0 2 0 3 0 4 0 0 0 148 4 0 0 3 0 3 0 4 0 0 0 156 4 0 0 4 0 3 0 27 0 0 0 164 4 0 0 0 0 3 0 6 0 0 0 218 4 0 0 0 0 3 0 4 0 0 0 230 4 0 0 6 0 2 0 32 0 0 0 238 4 0 0 7 0 2 0 24 0 0 0 14 5 0 0 8 0 4 0 1 0 0 0 59 225 17 0 9 0 2 0 32 0 0 0 38 5 0 0 16 0 4 0 1 0 0 0 0 0 17 1 13 0 3 0 21 0 0 0 70 5 0 0 0 0 0 0 80 0 2 0 0 0 5 0 1 0 0 0 0 0 4 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 17 0 5 0 1 0 3 48 1 0 255 255 255 255 170 2 227 0 32 0 149 0 192 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 49 0 224 8 224 8 0 0 1 0 2 0 170 2 30 1 215 0 0 0 0 0 0 0 0 0 54 0 0 0 160 0 20 1 149 0 31 1 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 2 48 0 0 0 0 0 0 1 0 14 3 0 0 149 0 33 1 0 0 0 0 0 0 250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 73 77 71 58 80 111 119 101 114 83 104 111 116 32 83 52 48 32 74 80 69 71 0 0 0 0 0 0 0 0 0 0 70 105 114 109 119 97 114 101 32 86 101 114 115 105 111 110 32 49 46 49 48 0 0 0 65 110 100 114 101 97 115 32 72 117 103 103 101 108 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 42 0 3 0 1 128 122 1 1 128 0 0 0 0 0 0 3 1 2 0 0 0 10 0 0 0 0 0 0 0 57 0 198 0 5 0 0 0 0 0 0 0
< Exif.MakerNote.Offset 0x0001 Long 1 942
---
> Exif.Photo.MakerNote 0x927c Undefined 450 12 0 1 0 3 0 40 0 0 0 48 3 0 0 2 0 3 0 4 0 0 0 128 3 0 0 3 0 3 0 4 0 0 0 136 3 0 0 4 0 3 0 27 0 0 0 144 3 0 0 0 0 3 0 6 0 0 0 198 3 0 0 0 0 3 0 4 0 0 0 210 3 0 0 6 0 2 0 32 0 0 0 218 3 0 0 7 0 2 0 24 0 0 0 250 3 0 0 8 0 4 0 1 0 0 0 59 225 17 0 9 0 2 0 32 0 0 0 18 4 0 0 16 0 4 0 1 0 0 0 0 0 17 1 13 0 3 0 21 0 0 0 50 4 0 0 0 0 0 0 80 0 2 0 0 0 5 0 1 0 0 0 0 0 4 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 17 0 5 0 1 0 3 48 1 0 255 255 255 255 170 2 227 0 32 0 149 0 192 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 49 0 224 8 224 8 0 0 1 0 2 0 170 2 30 1 215 0 0 0 0 0 0 0 0 0 54 0 0 0 160 0 20 1 149 0 31 1 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 2 48 0 0 0 0 0 0 1 0 14 3 0 0 149 0 33 1 0 0 0 0 0 0 250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 73 77 71 58 80 111 119 101 114 83 104 111 116 32 83 52 48 32 74 80 69 71 0 0 0 0 0 0 0 0 0 0 70 105 114 109 119 97 114 101 32 86 101 114 115 105 111 110 32 49 46 49 48 0 0 0 65 110 100 114 101 97 115 32 72 117 103 103 101 108 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 42 0 3 0 1 128 122 1 1 128 0 0 0 0 0 0 3 1 2 0 0 0 10 0 0 0 0 0 0 0 57 0 198 0 5 0 0 0 0 0 0 0
> Exif.MakerNote.Offset 0x0001 Long 1 666
106c106
< Exif.Photo.InteroperabilityTag 0xa005 Long 1 1416
---
> Exif.Photo.InteroperabilityTag 0xa005 Long 1 1404
125c125
< Exif.Thumbnail.JPEGInterchangeFormat 0x0201 Long 1 2036
---
> Exif.Thumbnail.JPEGInterchangeFormat 0x0201 Long 1 1552
------------------------------------------------------------ ------------------------------------------------------------
Case 2: Non-intrusive change to the makernote metadata Case 2: Non-intrusive change to the makernote metadata
---> Reading file ./exiv2-canon-powershot-s40.jpg ---> Reading file ./exiv2-canon-powershot-s40.jpg
@ -34,30 +16,14 @@ Case 2: Non-intrusive change to the makernote metadata
---> Writing Exif data to file test2.jpg ---> Writing Exif data to file test2.jpg
---> Reading file test2.jpg ---> Reading file test2.jpg
---> Writing Exif thumbnail to file thumb2.* ---> Writing Exif thumbnail to file thumb2.*
9c9 24c24
< Exif.Image.ExifTag 0x8769 Long 1 196
---
> Exif.Image.ExifTag 0x8769 Long 1 184
24,25c24,25
< Exif.Photo.MakerNote 0x927c Undefined 450 12 0 1 0 3 0 40 0 0 0 68 4 0 0 2 0 3 0 4 0 0 0 148 4 0 0 3 0 3 0 4 0 0 0 156 4 0 0 4 0 3 0 27 0 0 0 164 4 0 0 0 0 3 0 6 0 0 0 218 4 0 0 0 0 3 0 4 0 0 0 230 4 0 0 6 0 2 0 32 0 0 0 238 4 0 0 7 0 2 0 24 0 0 0 14 5 0 0 8 0 4 0 1 0 0 0 59 225 17 0 9 0 2 0 32 0 0 0 38 5 0 0 16 0 4 0 1 0 0 0 0 0 17 1 13 0 3 0 21 0 0 0 70 5 0 0 0 0 0 0 80 0 2 0 0 0 5 0 1 0 0 0 0 0 4 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 17 0 5 0 1 0 3 48 1 0 255 255 255 255 170 2 227 0 32 0 149 0 192 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 49 0 224 8 224 8 0 0 1 0 2 0 170 2 30 1 215 0 0 0 0 0 0 0 0 0 54 0 0 0 160 0 20 1 149 0 31 1 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 2 48 0 0 0 0 0 0 1 0 14 3 0 0 149 0 33 1 0 0 0 0 0 0 250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 73 77 71 58 80 111 119 101 114 83 104 111 116 32 83 52 48 32 74 80 69 71 0 0 0 0 0 0 0 0 0 0 70 105 114 109 119 97 114 101 32 86 101 114 115 105 111 110 32 49 46 49 48 0 0 0 65 110 100 114 101 97 115 32 72 117 103 103 101 108 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 42 0 3 0 1 128 122 1 1 128 0 0 0 0 0 0 3 1 2 0 0 0 10 0 0 0 0 0 0 0 57 0 198 0 5 0 0 0 0 0 0 0 < Exif.Photo.MakerNote 0x927c Undefined 450 12 0 1 0 3 0 40 0 0 0 68 4 0 0 2 0 3 0 4 0 0 0 148 4 0 0 3 0 3 0 4 0 0 0 156 4 0 0 4 0 3 0 27 0 0 0 164 4 0 0 0 0 3 0 6 0 0 0 218 4 0 0 0 0 3 0 4 0 0 0 230 4 0 0 6 0 2 0 32 0 0 0 238 4 0 0 7 0 2 0 24 0 0 0 14 5 0 0 8 0 4 0 1 0 0 0 59 225 17 0 9 0 2 0 32 0 0 0 38 5 0 0 16 0 4 0 1 0 0 0 0 0 17 1 13 0 3 0 21 0 0 0 70 5 0 0 0 0 0 0 80 0 2 0 0 0 5 0 1 0 0 0 0 0 4 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 17 0 5 0 1 0 3 48 1 0 255 255 255 255 170 2 227 0 32 0 149 0 192 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 49 0 224 8 224 8 0 0 1 0 2 0 170 2 30 1 215 0 0 0 0 0 0 0 0 0 54 0 0 0 160 0 20 1 149 0 31 1 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 2 48 0 0 0 0 0 0 1 0 14 3 0 0 149 0 33 1 0 0 0 0 0 0 250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 73 77 71 58 80 111 119 101 114 83 104 111 116 32 83 52 48 32 74 80 69 71 0 0 0 0 0 0 0 0 0 0 70 105 114 109 119 97 114 101 32 86 101 114 115 105 111 110 32 49 46 49 48 0 0 0 65 110 100 114 101 97 115 32 72 117 103 103 101 108 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 42 0 3 0 1 128 122 1 1 128 0 0 0 0 0 0 3 1 2 0 0 0 10 0 0 0 0 0 0 0 57 0 198 0 5 0 0 0 0 0 0 0
< Exif.MakerNote.Offset 0x0001 Long 1 942
--- ---
> Exif.Photo.MakerNote 0x927c Undefined 432 12 0 1 0 3 0 40 0 0 0 48 3 0 0 2 0 3 0 4 0 0 0 128 3 0 0 3 0 3 0 4 0 0 0 136 3 0 0 4 0 3 0 27 0 0 0 144 3 0 0 0 0 3 0 6 0 0 0 198 3 0 0 0 0 3 0 4 0 0 0 210 3 0 0 6 0 2 0 32 0 0 0 218 3 0 0 7 0 2 0 24 0 0 0 250 3 0 0 8 0 4 0 1 0 0 0 59 225 17 0 9 0 2 0 13 0 0 0 18 4 0 0 16 0 4 0 1 0 0 0 0 0 17 1 13 0 3 0 21 0 0 0 32 4 0 0 0 0 0 0 80 0 2 0 0 0 5 0 1 0 0 0 0 0 4 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 17 0 5 0 1 0 3 48 1 0 255 255 255 255 170 2 227 0 32 0 149 0 192 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 49 0 224 8 224 8 0 0 1 0 2 0 170 2 30 1 215 0 0 0 0 0 0 0 0 0 54 0 0 0 160 0 20 1 149 0 31 1 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 2 48 0 0 0 0 0 0 1 0 14 3 0 0 149 0 33 1 0 0 0 0 0 0 250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 73 77 71 58 80 111 119 101 114 83 104 111 116 32 83 52 48 32 74 80 69 71 0 0 0 0 0 0 0 0 0 0 70 105 114 109 119 97 114 101 32 86 101 114 115 105 111 110 32 49 46 49 48 0 0 0 67 104 97 110 32 89 101 101 83 101 110 100 0 0 42 0 3 0 1 128 122 1 1 128 0 0 0 0 0 0 3 1 2 0 0 0 10 0 0 0 0 0 0 0 57 0 198 0 5 0 0 0 0 0 0 0 > Exif.Photo.MakerNote 0x927c Undefined 432 12 0 1 0 3 0 40 0 0 0 68 4 0 0 2 0 3 0 4 0 0 0 148 4 0 0 3 0 3 0 4 0 0 0 156 4 0 0 4 0 3 0 27 0 0 0 164 4 0 0 0 0 3 0 6 0 0 0 218 4 0 0 0 0 3 0 4 0 0 0 230 4 0 0 6 0 2 0 32 0 0 0 238 4 0 0 7 0 2 0 24 0 0 0 14 5 0 0 8 0 4 0 1 0 0 0 59 225 17 0 9 0 2 0 13 0 0 0 38 5 0 0 16 0 4 0 1 0 0 0 0 0 17 1 13 0 3 0 21 0 0 0 70 5 0 0 0 0 0 0 80 0 2 0 0 0 5 0 1 0 0 0 0 0 4 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 17 0 5 0 1 0 3 48 1 0 255 255 255 255 170 2 227 0 32 0 149 0 192 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 49 0 224 8 224 8 0 0 1 0 2 0 170 2 30 1 215 0 0 0 0 0 0 0 0 0 54 0 0 0 160 0 20 1 149 0 31 1 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 2 48 0 0 0 0 0 0 1 0 14 3 0 0 149 0 33 1 0 0 0 0 0 0 250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 73 77 71 58 80 111 119 101 114 83 104 111 116 32 83 52 48 32 74 80 69 71 0 0 0 0 0 0 0 0 0 0 70 105 114 109 119 97 114 101 32 86 101 114 115 105 111 110 32 49 46 49 48 0 0 0 67 104 97 110 32 89 101 101 83 101 110 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 42 0 3 0 1 128 122 1 1 128 0 0 0 0 0 0 3 1 2 0 0 0 10 0
> Exif.MakerNote.Offset 0x0001 Long 1 666 99c99
89a90
> Exif.CanonSi.MeasuredEV2 0x0017 Short 1 0
98c99
< Exif.Canon.OwnerName 0x0009 Ascii 32 Andreas Huggel < Exif.Canon.OwnerName 0x0009 Ascii 32 Andreas Huggel
--- ---
> Exif.Canon.OwnerName 0x0009 Ascii 13 Chan YeeSend > Exif.Canon.OwnerName 0x0009 Ascii 13 Chan YeeSend
106c107
< Exif.Photo.InteroperabilityTag 0xa005 Long 1 1416
---
> Exif.Photo.InteroperabilityTag 0xa005 Long 1 1386
125c126
< Exif.Thumbnail.JPEGInterchangeFormat 0x0201 Long 1 2036
---
> Exif.Thumbnail.JPEGInterchangeFormat 0x0201 Long 1 1534
------------------------------------------------------------ ------------------------------------------------------------
Case 3: Non-intrusive change to the Exif metadata (w/o makernote) Case 3: Non-intrusive change to the Exif metadata (w/o makernote)
---> Reading file ./exiv2-kodak-dc210.jpg ---> Reading file ./exiv2-kodak-dc210.jpg
@ -90,13 +56,11 @@ Case 4: Intrusive change to the standard Exif metadata
--- ---
> Exif.Photo.MakerNote 0x927c Undefined 450 12 0 1 0 3 0 40 0 0 0 68 3 0 0 2 0 3 0 4 0 0 0 148 3 0 0 3 0 3 0 4 0 0 0 156 3 0 0 4 0 3 0 27 0 0 0 164 3 0 0 0 0 3 0 6 0 0 0 218 3 0 0 0 0 3 0 4 0 0 0 230 3 0 0 6 0 2 0 32 0 0 0 238 3 0 0 7 0 2 0 24 0 0 0 14 4 0 0 8 0 4 0 1 0 0 0 59 225 17 0 9 0 2 0 32 0 0 0 38 4 0 0 16 0 4 0 1 0 0 0 0 0 17 1 13 0 3 0 21 0 0 0 70 4 0 0 0 0 0 0 80 0 2 0 0 0 5 0 1 0 0 0 0 0 4 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 17 0 5 0 1 0 3 48 1 0 255 255 255 255 170 2 227 0 32 0 149 0 192 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 49 0 224 8 224 8 0 0 1 0 2 0 170 2 30 1 215 0 0 0 0 0 0 0 0 0 54 0 0 0 160 0 20 1 149 0 31 1 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 2 48 0 0 0 0 0 0 1 0 14 3 0 0 149 0 33 1 0 0 0 0 0 0 250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 73 77 71 58 80 111 119 101 114 83 104 111 116 32 83 52 48 32 74 80 69 71 0 0 0 0 0 0 0 0 0 0 70 105 114 109 119 97 114 101 32 86 101 114 115 105 111 110 32 49 46 49 48 0 0 0 65 110 100 114 101 97 115 32 72 117 103 103 101 108 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 42 0 3 0 1 128 122 1 1 128 0 0 0 0 0 0 3 1 2 0 0 0 10 0 0 0 0 0 0 0 57 0 198 0 5 0 0 0 0 0 0 0 > Exif.Photo.MakerNote 0x927c Undefined 450 12 0 1 0 3 0 40 0 0 0 68 3 0 0 2 0 3 0 4 0 0 0 148 3 0 0 3 0 3 0 4 0 0 0 156 3 0 0 4 0 3 0 27 0 0 0 164 3 0 0 0 0 3 0 6 0 0 0 218 3 0 0 0 0 3 0 4 0 0 0 230 3 0 0 6 0 2 0 32 0 0 0 238 3 0 0 7 0 2 0 24 0 0 0 14 4 0 0 8 0 4 0 1 0 0 0 59 225 17 0 9 0 2 0 32 0 0 0 38 4 0 0 16 0 4 0 1 0 0 0 0 0 17 1 13 0 3 0 21 0 0 0 70 4 0 0 0 0 0 0 80 0 2 0 0 0 5 0 1 0 0 0 0 0 4 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 17 0 5 0 1 0 3 48 1 0 255 255 255 255 170 2 227 0 32 0 149 0 192 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 49 0 224 8 224 8 0 0 1 0 2 0 170 2 30 1 215 0 0 0 0 0 0 0 0 0 54 0 0 0 160 0 20 1 149 0 31 1 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 2 48 0 0 0 0 0 0 1 0 14 3 0 0 149 0 33 1 0 0 0 0 0 0 250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 73 77 71 58 80 111 119 101 114 83 104 111 116 32 83 52 48 32 74 80 69 71 0 0 0 0 0 0 0 0 0 0 70 105 114 109 119 97 114 101 32 86 101 114 115 105 111 110 32 49 46 49 48 0 0 0 65 110 100 114 101 97 115 32 72 117 103 103 101 108 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 42 0 3 0 1 128 122 1 1 128 0 0 0 0 0 0 3 1 2 0 0 0 10 0 0 0 0 0 0 0 57 0 198 0 5 0 0 0 0 0 0 0
> Exif.MakerNote.Offset 0x0001 Long 1 686 > Exif.MakerNote.Offset 0x0001 Long 1 686
89a90 107c107
> Exif.CanonSi.MeasuredEV2 0x0017 Short 1 0
106c107
< Exif.Photo.InteroperabilityTag 0xa005 Long 1 1416 < Exif.Photo.InteroperabilityTag 0xa005 Long 1 1416
--- ---
> Exif.Photo.InteroperabilityTag 0xa005 Long 1 1424 > Exif.Photo.InteroperabilityTag 0xa005 Long 1 1424
125c126 126c126
< Exif.Thumbnail.JPEGInterchangeFormat 0x0201 Long 1 2036 < Exif.Thumbnail.JPEGInterchangeFormat 0x0201 Long 1 2036
--- ---
> Exif.Thumbnail.JPEGInterchangeFormat 0x0201 Long 1 1572 > Exif.Thumbnail.JPEGInterchangeFormat 0x0201 Long 1 1572
@ -117,15 +81,15 @@ Case 5: Intrusive change to the Canon makernote metadata
--- ---
> Exif.Photo.MakerNote 0x927c Undefined 460 12 0 1 0 3 0 40 0 0 0 48 3 0 0 2 0 3 0 4 0 0 0 128 3 0 0 3 0 3 0 4 0 0 0 136 3 0 0 4 0 3 0 27 0 0 0 144 3 0 0 0 0 3 0 6 0 0 0 198 3 0 0 0 0 3 0 4 0 0 0 210 3 0 0 6 0 2 0 32 0 0 0 218 3 0 0 7 0 2 0 24 0 0 0 250 3 0 0 8 0 4 0 1 0 0 0 59 225 17 0 9 0 2 0 42 0 0 0 18 4 0 0 16 0 4 0 1 0 0 0 0 0 17 1 13 0 3 0 21 0 0 0 60 4 0 0 0 0 0 0 80 0 2 0 0 0 5 0 1 0 0 0 0 0 4 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 17 0 5 0 1 0 3 48 1 0 255 255 255 255 170 2 227 0 32 0 149 0 192 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 49 0 224 8 224 8 0 0 1 0 2 0 170 2 30 1 215 0 0 0 0 0 0 0 0 0 54 0 0 0 160 0 20 1 149 0 31 1 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 2 48 0 0 0 0 0 0 1 0 14 3 0 0 149 0 33 1 0 0 0 0 0 0 250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 73 77 71 58 80 111 119 101 114 83 104 111 116 32 83 52 48 32 74 80 69 71 0 0 0 0 0 0 0 0 0 0 70 105 114 109 119 97 114 101 32 86 101 114 115 105 111 110 32 49 46 49 48 0 0 0 70 114 97 117 32 67 104 97 110 32 89 101 101 83 101 110 100 32 117 110 100 32 72 101 114 114 32 65 110 100 114 101 97 115 32 72 117 103 103 101 108 0 42 0 3 0 1 128 122 1 1 128 0 0 0 0 0 0 3 1 2 0 0 0 10 0 0 0 0 0 0 0 57 0 198 0 5 0 0 0 0 0 0 0 > Exif.Photo.MakerNote 0x927c Undefined 460 12 0 1 0 3 0 40 0 0 0 48 3 0 0 2 0 3 0 4 0 0 0 128 3 0 0 3 0 3 0 4 0 0 0 136 3 0 0 4 0 3 0 27 0 0 0 144 3 0 0 0 0 3 0 6 0 0 0 198 3 0 0 0 0 3 0 4 0 0 0 210 3 0 0 6 0 2 0 32 0 0 0 218 3 0 0 7 0 2 0 24 0 0 0 250 3 0 0 8 0 4 0 1 0 0 0 59 225 17 0 9 0 2 0 42 0 0 0 18 4 0 0 16 0 4 0 1 0 0 0 0 0 17 1 13 0 3 0 21 0 0 0 60 4 0 0 0 0 0 0 80 0 2 0 0 0 5 0 1 0 0 0 0 0 4 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 17 0 5 0 1 0 3 48 1 0 255 255 255 255 170 2 227 0 32 0 149 0 192 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 49 0 224 8 224 8 0 0 1 0 2 0 170 2 30 1 215 0 0 0 0 0 0 0 0 0 54 0 0 0 160 0 20 1 149 0 31 1 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 2 48 0 0 0 0 0 0 1 0 14 3 0 0 149 0 33 1 0 0 0 0 0 0 250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 73 77 71 58 80 111 119 101 114 83 104 111 116 32 83 52 48 32 74 80 69 71 0 0 0 0 0 0 0 0 0 0 70 105 114 109 119 97 114 101 32 86 101 114 115 105 111 110 32 49 46 49 48 0 0 0 70 114 97 117 32 67 104 97 110 32 89 101 101 83 101 110 100 32 117 110 100 32 72 101 114 114 32 65 110 100 114 101 97 115 32 72 117 103 103 101 108 0 42 0 3 0 1 128 122 1 1 128 0 0 0 0 0 0 3 1 2 0 0 0 10 0 0 0 0 0 0 0 57 0 198 0 5 0 0 0 0 0 0 0
> Exif.MakerNote.Offset 0x0001 Long 1 666 > Exif.MakerNote.Offset 0x0001 Long 1 666
98c98 99c99
< Exif.Canon.OwnerName 0x0009 Ascii 32 Andreas Huggel < Exif.Canon.OwnerName 0x0009 Ascii 32 Andreas Huggel
--- ---
> Exif.Canon.OwnerName 0x0009 Ascii 42 Frau Chan YeeSend und Herr Andreas Huggel > Exif.Canon.OwnerName 0x0009 Ascii 42 Frau Chan YeeSend und Herr Andreas Huggel
106c106 107c107
< Exif.Photo.InteroperabilityTag 0xa005 Long 1 1416 < Exif.Photo.InteroperabilityTag 0xa005 Long 1 1416
--- ---
> Exif.Photo.InteroperabilityTag 0xa005 Long 1 1414 > Exif.Photo.InteroperabilityTag 0xa005 Long 1 1414
125c125 126c126
< Exif.Thumbnail.JPEGInterchangeFormat 0x0201 Long 1 2036 < Exif.Thumbnail.JPEGInterchangeFormat 0x0201 Long 1 2036
--- ---
> Exif.Thumbnail.JPEGInterchangeFormat 0x0201 Long 1 1562 > Exif.Thumbnail.JPEGInterchangeFormat 0x0201 Long 1 1562

@ -1,13 +1,11 @@
#!/bin/bash #!/bin/bash
# Test driver for exifdata copy construction and assignment unit tests # Test driver for exifdata copy construction and assignment unit tests
source ./functions.source source ./functions.source
( cd "$testdir" ( cd "$testdir"
copyTestFiles exiv2-gc.jpg exiv2-canon-powershot-s40.jpg exiv2-nikon-d70.jpg copyTestFiles exiv2-gc.jpg exiv2-canon-powershot-s40.jpg exiv2-nikon-d70.jpg
runTest exiv2 -dc exiv2-gc.jpg exiv2-canon-powershot-s40.jpg exiv2-nikon-d70.jpg
runTest exifdata-test exiv2-gc.jpg runTest exifdata-test exiv2-gc.jpg
runTest exifdata-test exiv2-canon-powershot-s40.jpg runTest exifdata-test exiv2-canon-powershot-s40.jpg
runTest exifdata-test exiv2-nikon-d70.jpg runTest exifdata-test exiv2-nikon-d70.jpg

Loading…
Cancel
Save