#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. */
/* #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
/* 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
bool writeXmpFromPacket_;//!< Determines the source when writing XMP
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

@ -79,36 +79,20 @@ namespace Exiv2 {
std::string g_; //!< Group name
};
//! Tag information
//! Tag information
struct EXIV2API TagInfo {
enum compType
{
String, Long, Float, Rational
};
enum compOperator
{
equal_to, not_equal_to, less, less_equal, greater, greater_equal
};
static const bool & b_(void);
static const LongValue & lv_(void);
static const compType & ct_(void);
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_()
);
//! 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
);
uint16_t tag_; //!< Tag
const char* name_; //!< One word tag label
const char* title_; //!< Tag title
@ -118,11 +102,7 @@ namespace Exiv2 {
TypeId typeId_; //!< Type id
int16_t count_; //!< The number of values (not bytes!), 0=any, -1=count not known.
PrintFct printFct_; //!< Pointer to tag print function
const bool &hasUndefined_; //!< true means that it has undefined values that are to be ignored, default false
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
}; // struct TagInfo
//! Access to Exif group and tag lists and misc. tag reference methods, implemented as a static class.
class EXIV2API ExifTags {

@ -54,13 +54,6 @@ EXIV2_RCSID("@(#) $Id$")
namespace Exiv2 {
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
extern const TagDetails canonOffOn[] = {
{ 0, N_("Off") },
@ -402,14 +395,7 @@ namespace Exiv2 {
{ 2, N_("On (2)") }
};
//! DateStampMode, tag 0x001c #PH (A570IS) used only in postcard mode
extern const TagDetails canonDateStampMode[] = {
{ 0, N_("Off") },
{ 1, N_("Date") },
{ 2, N_("Date & Time") }
};
//! ColorSpace, tag 0x00b4
//! ColorSpace, tag 0x00b4
extern const TagDetails canonColorSpace[] = {
{ 1, N_("sRGB") },
{ 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(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(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(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(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(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(0x0096, "InternalSerialNumber", N_("Internal Serial Number"), N_("Internal serial number"), canonId, makerTags, asciiString, -1, printValue),
@ -494,96 +478,84 @@ namespace Exiv2 {
//! DriveMode, tag 0x0005
extern const TagDetails canonCsDriveMode[] = {
{ 0, N_("Single / timer") },
{ 1, N_("Continuous") },
{ 2, N_("Movie") },
{ 3, N_("Continuous, speed priority") },
{ 4, N_("Continuous, low") },
{ 5, N_("Continuous, high") },
{ 6, N_("Silent Single") },
{ 9, N_("Single, Silent") },
{ 10, N_("Continuous, Silent") }
};
//! FocusMode, tag 0x0007
extern const TagDetails canonCsFocusMode[] = {
{ 0, N_("One shot AF") },
{ 1, N_("AI servo AF") },
{ 2, N_("AI focus AF") },
{ 0, N_("Single / timer") },
{ 1, N_("Continuous") },
{ 2, N_("Movie") },
{ 3, N_("Continuous, speed priority") },
{ 4, N_("Continuous, low") },
{ 5, N_("Continuous, high") },
{ 6, N_("Silent Single") },
{ 9, N_("Single, Silent") },
{ 10, N_("Continuous, Silent") }
};
//! FocusMode, tag 0x0007
extern const TagDetails canonCsFocusMode[] = {
{ 0, N_("One shot AF") },
{ 1, N_("AI servo AF") },
{ 2, N_("AI focus AF") },
{ 3, N_("Manual focus (3)") },
{ 4, N_("Single") },
{ 5, N_("Continuous") },
{ 4, N_("Single") },
{ 5, N_("Continuous") },
{ 6, N_("Manual focus (6)") },
{ 16, N_("Pan focus") },
{ 256, N_("AF + MF") }, // #PH (NC, EOS M)
{ 512, N_("Movie Snap Focus") }, // #48
{ 519, N_("Movie Servo AF") } // #PH (NC, EOS M)
};
//! RecordMode, tag 0x0009
extern const TagDetails canonCsRecordMode[] = {
{ 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
{ 16, N_("Pan focus") },
{ 256, N_("AF + MF") },
{ 512, N_("Movie Snap Focus") },
{ 519, N_("Movie Servo AF") },
{ 519, N_("Movie Servo AF") } // To silence compiler warning
};
//! ImageSize, tag 0x000a
extern const TagDetails canonCsImageSize[] = {
{ 0, N_("Large") },
{ 1, N_("Medium") },
{ 2, N_("Small") },
{ 5, N_("Medium 1") },
{ 6, N_("Medium 2") },
{ 7, N_("Medium 3") },
{ 8, N_("Postcard") }, // #PH (SD200 1600x1200 with DateStamp option)
{ 9, N_("Widescreen") }, // #PH (SD900 3648x2048), 22 (HFS200 3264x1840)
{ 10, N_("Medium Widescreen") }, // #22 (HFS200 1920x1080)
{ 14, N_("Small 1") }, // #PH
{ 15, N_("Small 2") }, // #PH
{ 16, N_("Small 3") }, // #PH
{ 128, N_("640x480 Movie") }, // #PH (7D 60fps)
{ 129, N_("Medium Movie") }, // #22
{ 130, N_("Small Movie") }, // #22
{ 137, N_("1280x720 Movie") }, // #PH (S95 24fps; D60 50fps)
{ 142, N_("1920x1080 Movie") } // #PH (D60 25fps)
};
{ 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") }
};
//! EasyMode, tag 0x000b
extern const TagDetails canonCsEasyMode[] = {
{ 0, N_("Full auto") },
{ 1, N_("Manual") },
{ 2, N_("Landscape") },
{ 3, N_("Fast shutter") },
{ 4, N_("Slow shutter") },
{ 5, N_("Night Scene") },
{ 6, N_("Gray scale") },
{ 7, N_("Sepia") },
{ 8, N_("Portrait") },
{ 9, N_("Sports") },
{ 10, N_("Macro / close-up") },
{ 11, N_("Black & white") },
{ 12, N_("Pan focus") },
{ 13, N_("Vivid") },
{ 14, N_("Neutral") },
{ 15, N_("Flash off") },
{ 16, N_("Long shutter") },
{ 17, N_("Super macro") },
{ 18, N_("Foliage") },
{ 19, N_("Indoor") },
{ 20, N_("Fireworks") },
{ 21, N_("Beach") },
{ 22, N_("Underwater") },
{ 23, N_("Snow") },
{ 0, N_("Full auto") },
{ 1, N_("Manual") },
{ 2, N_("Landscape") },
{ 3, N_("Fast shutter") },
{ 4, N_("Slow shutter") },
{ 5, N_("Night") },
{ 6, N_("Gray Scale") },
{ 7, N_("Sepia") },
{ 8, N_("Portrait") },
{ 9, N_("Sports") },
{ 10, N_("Macro") },
{ 11, N_("Black & White") },
{ 12, N_("Pan focus") },
{ 13, N_("Vivid") },
{ 14, N_("Neutral") },
{ 15, N_("Flash Off") },
{ 16, N_("Long Shutter") },
{ 17, N_("Super Macro") },
{ 18, N_("Foliage") },
{ 19, N_("Indoor") },
{ 20, N_("Fireworks") },
{ 21, N_("Beach") },
{ 22, N_("Underwater") },
{ 23, N_("Snow") },
{ 24, N_("Kids & Pets") },
{ 25, N_("Night Snapshot") },
{ 26, N_("Digital Macro") },
{ 27, N_("My Colors") },
{ 27, N_("My Colors") },
{ 28, N_("Movie Snap") },
{ 29, N_("Super Macro 2") },
{ 30, N_("Color Accent") },
@ -621,13 +593,13 @@ namespace Exiv2 {
{ 62, N_("Soft Focus") },
{ 257, N_("Spotlight") },
{ 258, N_("Night 2") },
{ 259, N_("Night+") },
{ 259, N_("Night+") },
{ 260, N_("Super Night") },
{ 261, N_("Sunset") },
{ 263, N_("Night Scene") },
{ 264, N_("Surface") },
{ 265, N_("Low Light 2") }
};
};
//! DigitalZoom, tag 0x000c
extern const TagDetails canonCsDigitalZoom[] = {
@ -699,7 +671,7 @@ namespace Exiv2 {
{ 0x3004, N_("Left") },
{ 0x4001, N_("Auto AF point selection") },
{ 0x4006, N_("Face Detect") }
};
};
//! ExposureProgram, tag 0x0014
extern const TagDetails canonCsExposureProgram[] = {
@ -711,7 +683,7 @@ namespace Exiv2 {
{ 5, N_("A-DEP") },
{ 6, N_("M-DEP") },
{ 7, N_("Bulb") }
};
};
//! LensType, tag 0x0016
extern const TagDetails canonCsLensType[] = {
@ -1134,8 +1106,8 @@ namespace Exiv2 {
extern const TagDetails canonCsFocusContinuous[] = {
{ 0, N_("Single") },
{ 1, N_("Continuous") },
{ 8, N_("Manual") }
};
{ 8, N_("Manual") }
};
//! AESetting, tag 0x0021
extern const TagDetails canonCsAESetting[] = {
@ -1148,8 +1120,8 @@ namespace Exiv2 {
//! ImageStabilization, tag 0x0022
extern const TagDetails canonCsImageStabilization[] = {
{ 0, N_("Off") },
{ 1, N_("On") },
{ 0, N_("Off") },
{ 1, N_("On") },
{ 2, N_("Shoot Only") },
{ 3, N_("Panning") },
{ 4, N_("Dynamic") },
@ -1158,7 +1130,7 @@ namespace Exiv2 {
{ 258, N_("Shoot Only (2)") },
{ 259, N_("Panning (2)") },
{ 260, N_("Dynamic (2)") }
};
};
//! SpotMeteringMode, tag 0x0027
extern const TagDetails canonCsSpotMeteringMode[] = {
@ -1205,41 +1177,41 @@ namespace Exiv2 {
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(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(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(0x000d, "Contrast", N_("Contrast"), N_("Contrast 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), true, us7FFF_),
TagInfo(0x000f, "Sharpness", N_("Sharpness"), N_("Sharpness setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsLnh), true, us7FFF_),
TagInfo(0x0010, "ISOSpeed", N_("ISO Speed Mode"), N_("ISO speed setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsISOSpeed), 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)),
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)),
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(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(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(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(0x001a, "MaxAperture", N_("Max Aperture"), N_("Max 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, true, us0_, TagInfo::less_equal),
TagInfo(0x001c, "FlashActivity", N_("Flash Activity"), N_("Flash activity"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsFlashActivity), true, s_1_),
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),
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(0x001e, "0x001e", "0x001e", 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(0x0021, "AESetting", N_("AESetting"), N_("AE setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsAESetting), true, s_1_),
TagInfo(0x0022, "ImageStabilization", N_("Image Stabilization"), N_("Image stabilization"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsImageStabilization), true, s_1_),
TagInfo(0x0023, "DisplayAperture", N_("Display Aperture"), N_("Display aperture"), canonCsId, makerTags, signedShort, 1, printValue, true, us0_),
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)),
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),
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(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(0x0028, "PhotoEffect", N_("Photo Effect"), N_("Photo effect"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsPhotoEffect), 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)),
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(0x002e, "SRAWQuality", N_("SRAW Quality Tone"), N_("SRAW quality"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsSRAWQuality), true, s_1_),
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)),
// End of list marker
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)") }
};
//! SlowShutter, tag 0x0008
extern const TagDetails canonSiSlowShutter[] = {
{ 0xffff, N_("n/a") },
{ 0, N_("Off") },
{ 1, N_("Night Scene") },
{ 2, N_("On") },
{ 3, N_("None") }
};
//! AFPointUsed, tag 0x000e
//! AFPointUsed, tag 0x000e
extern const TagDetailsBitmask canonSiAFPointUsed[] = {
{ 0x0004, N_("left") },
{ 0x0002, N_("center") },
@ -1312,80 +1275,35 @@ namespace Exiv2 {
{ 0x0040, "2 EV" }
};
//! AutoExposureBracketing, tag 0x0010
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
// Canon Shot Info Tag
const TagInfo CanonMakerNote::tagInfoSi_[] = {
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(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(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(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(0x000a, "0x000a", "0x000a", 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(0x000d, "FlashGuideNumber", N_("Flash Guide Number"), N_("Flash Guide Number"), canonSiId, makerTags, unsignedShort, 1, printValue, true, s_1_),
TagInfo(0x000e, "AFPointUsed", N_("AF Point Used"), N_("AF point used"), canonSiId, makerTags, unsignedShort, 1, printSi0x000e, true, us0_),
TagInfo(0x000c, "0x000c", "0x000c", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue),
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),
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(0x0012, "ControlMode", N_("Control Mode"), N_("Control Mode"), canonSiId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(canonSiControlMode)),
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(0x0014, "FocusDistanceLower", N_("FocusDistanceLower"), N_("FocusDistanceLower"), canonSiId, makerTags, unsignedShort, 1, printFiFocusDistance),
TagInfo(0x0015, "ApertureValue", N_("Aperture Value"), N_("Aperture"), canonSiId, makerTags, unsignedShort, 1, printSi0x0015, true, us0_),
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),
TagInfo(0x0014, "0x0014", "0x0014", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue),
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(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(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(0x001b, "AutoRotate", N_("Auto Rotate"), N_("Auto Rotate"), canonSiId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(canonSiAutoRotate), true, us0_, TagInfo::less),
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(0x001a, "0x001a", "0x001a", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue),
// End of list marker
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
const TagInfo CanonMakerNote::tagInfoPa_[] = {
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
TagInfo(0xffff, "(UnknownCanonCs2Tag)", "(UnknownCanonCs2Tag)", N_("Unknown Canon Panorama tag"), canonPaId, makerTags, unsignedShort, 1, printValue)
};
@ -1492,9 +1410,28 @@ namespace Exiv2 {
{ 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[] = {
{ 0, N_("Off") },
{ 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(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(0x0006, "RawJpgQuality", N_("Raw Jpg Quality"), N_("Raw Jpg Quality"), canonFiId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsQuality), true, us0_, TagInfo::less_equal),
TagInfo(0x0007, "RawJpgSize", N_("Raw Jpg Size"), N_("Raw Jpg Size"), canonFiId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsImageSize), true, us0_, TagInfo::less),
TagInfo(0x0008, "NoiseReduction", N_("Noise Reduction"), N_("Noise Reduction"), canonFiId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonNoiseReduction), true, us0_, TagInfo::less),
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(canonRawJpgSize)),
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(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(0x000e, "FilterEffect", N_("Filter Effect"), N_("Filter Effect"), canonFiId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonFilterEffect), true, s_1_),
TagInfo(0x000f, "ToningEffect", N_("Toning Effect"), N_("Toning Effect"), canonFiId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonToningEffect), 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)),
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(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(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(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(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),

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

@ -417,49 +417,7 @@ namespace Exiv2 {
return value_.get() == 0 ? Value::AutoPtr(0) : value_->clone();
}
bool Exifdatum::ignore(void) 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
long Exifdatum::sizeDataArea() const
{
return value_.get() == 0 ? 0 : value_->sizeDataArea();
}

@ -158,7 +158,6 @@ namespace Exiv2 {
pixelHeight_(0),
imageType_(imageType),
supportedMetadata_(supportedMetadata),
cleanedExifData_(false),
#ifdef EXV_HAVE_XMP_TOOLKIT
writeXmpFromPacket_(false),
#else
@ -187,32 +186,8 @@ namespace Exiv2 {
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()
{
#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_;
}
@ -254,13 +229,11 @@ namespace Exiv2 {
void Image::clearExifData()
{
exifData_.clear();
cleanedExifData_ = false;
}
void Image::setExifData(const ExifData& exifData)
{
exifData_ = exifData;
cleanedExifData_ = false; // Just got new data, possibly needs cleaning
}
void Image::clearIptcData()

@ -2946,31 +2946,7 @@ namespace Exiv2 {
return 0 == strcmp(groupName.g_.c_str(), groupName_);
}
const bool & TagInfo::b_(void)
{
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(
TagInfo::TagInfo(
uint16_t tag,
const char* name,
const char* title,
@ -2979,15 +2955,10 @@ namespace Exiv2 {
int sectionId,
TypeId typeId,
int16_t count,
PrintFct printFct,
const bool &hasUndefined,
const Value &undefValue,
const compOperator &compO,
const compType &compT
)
PrintFct printFct
)
: tag_(tag), name_(name), title_(title), desc_(desc), ifdId_(ifdId),
sectionId_(sectionId), typeId_(typeId), count_(count), printFct_(printFct),
hasUndefined_(hasUndefined), undefValue_(undefValue), compO_(compO), compT_(compT)
sectionId_(sectionId), typeId_(typeId), count_(count), printFct_(printFct)
{
}

@ -83,10 +83,6 @@ EXIV2_RCSID("@(#) $Id$")
#define EXV_ENABLE_WEBREADY 0
#endif
#ifndef EXV_DONT_IGNORE_UNDEFINED
#define EXV_DONT_IGNORE_UNDEFINED 0
#endif
#include "http.hpp"
#include "svn_version.h"
#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_webready =0;
int dont_ignore_undef =0;
#if EXV_HAVE_DECL_STRERROR_R
have_strerror_r=1;
@ -477,10 +472,6 @@ void Exiv2::dumpLibraryInfo(std::ostream& os,const exv_grep_keys_t& keys)
enable_webready=1;
#endif
#if EXV_DONT_IGNORE_UNDEFINED
dont_ignore_undef=1;
#endif
#if defined(WIN32) || defined(__CYGWIN__) || defined(__MINGW__)
// enumerate loaded libraries and determine path to executable
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,"enable_video" ,enable_video );
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
#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.DateTime 0x0132 IFD0 Ascii 13 Sunday, 11am
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.FNumber 0x829d Exif Rational 1 49/10
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.Flash 0x9209 Exif Short 1 24
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.MakerNote.Offset 0x0001 Makernote Long 1 654
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 942
Exif.MakerNote.ByteOrder 0x0002 Makernote Ascii 3 II
Exif.CanonCs.0x0000 0x0000 Makernote Short 1 80
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.FocusMode 0x0007 Makernote Short 1 4
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.EasyMode 0x000b Makernote Short 1 1
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.FocusContinuous 0x0020 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.ZoomSourceWidth 0x0024 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.0x0006 0x0006 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.0x000a 0x000a Makernote Short 1 6
Exif.CanonSi.0x000b 0x000b Makernote Short 1 0
Exif.CanonSi.CameraTemperature 0x000c Makernote Short 1 0
Exif.CanonSi.FlashGuideNumber 0x000d Makernote Short 1 0
Exif.CanonSi.0x000c 0x000c Makernote Short 1 0
Exif.CanonSi.0x000d 0x000d Makernote Short 1 0
Exif.CanonSi.AFPointUsed 0x000e Makernote Short 1 12290
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.ControlMode 0x0012 Makernote Short 1 1
Exif.CanonSi.0x0012 0x0012 Makernote Short 1 1
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.ShutterSpeedValue 0x0016 Makernote Short 1 289
Exif.CanonSi.MeasuredEV2 0x0017 Makernote Short 1 0
Exif.CanonSi.0x0018 0x0018 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 4 0 0 0 0
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.PixelXDimension 0xa002 Exif Short 1 2272
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.InteroperabilityVersion 0x0002 Iop Undefined 4 48 49 48 48
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.YResolution 0x011b IFD1 Rational 1 180/1
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
----------------------------------------------
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.Flash 0x9209 Exif Short 1 24
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.ByteOrder 0x0002 Makernote Ascii 3 II
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.FocusMode 0x0007 Makernote Short 1 4
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.EasyMode 0x000b Makernote Short 1 1
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.FocusContinuous 0x0020 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.ZoomSourceWidth 0x0024 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.0x0006 0x0006 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.0x000a 0x000a Makernote Short 1 6
Exif.CanonSi.0x000b 0x000b Makernote Short 1 0
Exif.CanonSi.CameraTemperature 0x000c Makernote Short 1 0
Exif.CanonSi.FlashGuideNumber 0x000d Makernote Short 1 0
Exif.CanonSi.0x000c 0x000c Makernote Short 1 0
Exif.CanonSi.0x000d 0x000d Makernote Short 1 0
Exif.CanonSi.AFPointUsed 0x000e Makernote Short 1 12290
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.ControlMode 0x0012 Makernote Short 1 1
Exif.CanonSi.0x0012 0x0012 Makernote Short 1 1
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.ShutterSpeedValue 0x0016 Makernote Short 1 289
Exif.CanonSi.MeasuredEV2 0x0017 Makernote Short 1 0
Exif.CanonSi.0x0018 0x0018 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 4 0 0 0 0
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.DateTime 0x0132 IFD0 Ascii 13 Sunday, 11am
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.FNumber 0x829d Exif Rational 1 49/10
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.Flash 0x9209 Exif Short 1 24
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.MakerNote.Offset 0x0001 Makernote Long 1 654
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.ByteOrder 0x0002 Makernote Ascii 3 II
Exif.CanonCs.0x0000 0x0000 Makernote Short 1 80
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.FocusMode 0x0007 Makernote Short 1 4
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.EasyMode 0x000b Makernote Short 1 1
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.FocusContinuous 0x0020 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.ZoomSourceWidth 0x0024 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.0x0006 0x0006 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.0x000a 0x000a Makernote Short 1 6
Exif.CanonSi.0x000b 0x000b Makernote Short 1 0
Exif.CanonSi.CameraTemperature 0x000c Makernote Short 1 0
Exif.CanonSi.FlashGuideNumber 0x000d Makernote Short 1 0
Exif.CanonSi.0x000c 0x000c Makernote Short 1 0
Exif.CanonSi.0x000d 0x000d Makernote Short 1 0
Exif.CanonSi.AFPointUsed 0x000e Makernote Short 1 12290
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.ControlMode 0x0012 Makernote Short 1 1
Exif.CanonSi.0x0012 0x0012 Makernote Short 1 1
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.ShutterSpeedValue 0x0016 Makernote Short 1 289
Exif.CanonSi.MeasuredEV2 0x0017 Makernote Short 1 0
Exif.CanonSi.0x0018 0x0018 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 4 0 0 0 0
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.PixelXDimension 0xa002 Exif Short 1 2272
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.InteroperabilityVersion 0x0002 Iop Undefined 4 48 49 48 48
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.YResolution 0x011b IFD1 Rational 1 180/1
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
----------------------------------------------
Assignment, intrusive changes
@ -578,7 +578,7 @@ Exif.Photo.MaxApertureValue 0x9205 Exif Rational 1
Exif.Photo.MeteringMode 0x9207 Exif Short 1 1
Exif.Photo.Flash 0x9209 Exif Short 1 24
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.ByteOrder 0x0002 Makernote Ascii 3 II
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.FocusMode 0x0007 Makernote Short 1 4
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.EasyMode 0x000b Makernote Short 1 1
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.FocusContinuous 0x0020 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.ZoomSourceWidth 0x0024 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.0x0006 0x0006 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.0x000a 0x000a Makernote Short 1 6
Exif.CanonSi.0x000b 0x000b Makernote Short 1 0
Exif.CanonSi.CameraTemperature 0x000c Makernote Short 1 0
Exif.CanonSi.FlashGuideNumber 0x000d Makernote Short 1 0
Exif.CanonSi.0x000c 0x000c Makernote Short 1 0
Exif.CanonSi.0x000d 0x000d Makernote Short 1 0
Exif.CanonSi.AFPointUsed 0x000e Makernote Short 1 12290
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.ControlMode 0x0012 Makernote Short 1 1
Exif.CanonSi.0x0012 0x0012 Makernote Short 1 1
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.ShutterSpeedValue 0x0016 Makernote Short 1 289
Exif.CanonSi.MeasuredEV2 0x0017 Makernote Short 1 0
Exif.CanonSi.0x0018 0x0018 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 4 0 0 0 0
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
---> Reading file test1.jpg
---> Writing Exif thumbnail to file thumb1.*
9c9
< Exif.Image.ExifTag 0x8769 Long 1 196
---
> Exif.Image.ExifTag 0x8769 Long 1 184
13c13
< Exif.Photo.DateTimeOriginal 0x9003 Ascii 20 2003:12:14 12:01:44
---
> 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
---> 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
---> Reading file test2.jpg
---> Writing Exif thumbnail to file thumb2.*
9c9
< Exif.Image.ExifTag 0x8769 Long 1 196
---
> Exif.Image.ExifTag 0x8769 Long 1 184
24,25c24,25
24c24
< 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.MakerNote.Offset 0x0001 Long 1 666
89a90
> Exif.CanonSi.MeasuredEV2 0x0017 Short 1 0
98c99
> 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
99c99
< Exif.Canon.OwnerName 0x0009 Ascii 32 Andreas Huggel
---
> 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)
---> 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.MakerNote.Offset 0x0001 Long 1 686
89a90
> Exif.CanonSi.MeasuredEV2 0x0017 Short 1 0
106c107
107c107
< Exif.Photo.InteroperabilityTag 0xa005 Long 1 1416
---
> Exif.Photo.InteroperabilityTag 0xa005 Long 1 1424
125c126
126c126
< Exif.Thumbnail.JPEGInterchangeFormat 0x0201 Long 1 2036
---
> 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.MakerNote.Offset 0x0001 Long 1 666
98c98
99c99
< Exif.Canon.OwnerName 0x0009 Ascii 32 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 1414
125c125
126c126
< Exif.Thumbnail.JPEGInterchangeFormat 0x0201 Long 1 2036
---
> Exif.Thumbnail.JPEGInterchangeFormat 0x0201 Long 1 1562

@ -1,13 +1,11 @@
#!/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
( cd "$testdir"
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-canon-powershot-s40.jpg
runTest exifdata-test exiv2-nikon-d70.jpg

Loading…
Cancel
Save