From 90f9f0bc1944a0710cbd74924e24eac53a166234 Mon Sep 17 00:00:00 2001 From: clanmills Date: Fri, 23 Aug 2019 07:39:29 +0100 Subject: [PATCH] Add support for Exif.Canon.AF tags to be read from images This PR (and fix981_canonAutoFocus2) use a decoder listed in TiffMappingInfo to decode Exif.Canon.AFInfo. The decoding function "manufactures" Exif tags such as Exif.Canon.AFNumPoints from the data in Exif.Canon.AFInfo. These tags must never be written to file and are removed from the metadata in exif.cpp/ExifParser::encode(). Three of the tags created (AFPointsInFocus,AFPointsSelected, AFPrimaryPoint) are bitmasks. As the camera can have up to 64 focus points, the tags are a 64 bit mask to say which points are active. The function printBitmask() reports data such as 1,2,3 or (none). This decoding function decodeCanonAFInfo() added to TiffMappingInfo manufactures the new tags. Normally, tags are processed by the binary tag decoder and that approach was taken in branch fix981_canonAf. However, the binary tag decoder cannot deal with AFInfo because the size of some metadata arrays cannot be determined at compile time. --- src/canonmn_int.cpp | 32 +++++++++++ src/exif.cpp | 18 +++++- src/tags_int.cpp | 28 ++++++++- src/tags_int.hpp | 2 + src/tiffimage_int.cpp | 3 +- src/tiffvisitor_int.cpp | 73 ++++++++++++++++++++++++ src/tiffvisitor_int.hpp | 2 + test/data/test_issue_981a.exv | Bin 0 -> 14109 bytes test/data/test_issue_981b.exv | Bin 0 -> 18163 bytes test/data/test_issue_981c.exv | Bin 0 -> 60235 bytes test/data/test_issue_981d.exv | Bin 0 -> 52977 bytes tests/bugfixes/github/test_issue_981.py | 65 +++++++++++++++++++++ 12 files changed, 220 insertions(+), 3 deletions(-) create mode 100644 test/data/test_issue_981a.exv create mode 100644 test/data/test_issue_981b.exv create mode 100644 test/data/test_issue_981c.exv create mode 100644 test/data/test_issue_981d.exv create mode 100644 tests/bugfixes/github/test_issue_981.py diff --git a/src/canonmn_int.cpp b/src/canonmn_int.cpp index d678bd12..8b9e67ba 100644 --- a/src/canonmn_int.cpp +++ b/src/canonmn_int.cpp @@ -406,6 +406,23 @@ namespace Exiv2 { { 2, N_("Adobe RGB") } }; + extern const TagDetails canonAFAreaMode[] = { + { 0, N_("Off (Manual Focus)") }, + { 1, N_("AF Point Expansion (surround)")}, + { 2, N_("Single-point AF") }, + { 4, N_("Multi-point AF") }, + { 5, N_("Face Detect AF") }, + { 6, N_("Face + Tracking") }, + { 7, N_("Zone AF") }, + { 8, N_("AF Point Expansion (4 point)") }, + { 9, N_("Spot AF") }, + { 10, N_("AF Point Expansion (8 point)") }, + { 11, N_("Flexizone Multi (49 point)") }, + { 12, N_("Flexizone Multi (9 point)") }, + { 13, N_("Flexizone Single") }, + { 14, N_("Large Zone AF") }, + }; + // Canon MakerNote Tag Info const TagInfo CanonMakerNote::tagInfo_[] = { TagInfo(0x0000, "0x0000", "0x0000", N_("Unknown"), canonId, makerTags, unsignedShort, -1, printValue), @@ -442,6 +459,21 @@ namespace Exiv2 { TagInfo(0x00c1, "0x00c1", "0x00c1", N_("Unknown"), canonId, makerTags, unsignedShort, -1, printValue), TagInfo(0x00d0, "VRDOffset", N_("VRD Offset"), N_("VRD offset"), canonId, makerTags, unsignedLong, -1, printValue), TagInfo(0x00e0, "SensorInfo", N_("Sensor Info"), N_("Sensor info"), canonId, makerTags, unsignedShort, -1, printValue), + TagInfo(0x2600, "AFInfoSize", N_("AF InfoSize"), N_("AF InfoSize"), canonId, makerTags, signedShort, -1, printValue), + TagInfo(0x2601, "AFAreaMode", N_("AF Area Mode"), N_("AF Area Mode"), canonId, makerTags, signedShort, -1, EXV_PRINT_TAG(canonAFAreaMode)), + TagInfo(0x2602, "AFNumPoints", N_("AF NumPoints"), N_("AF NumPoints"), canonId, makerTags, signedShort, -1, printValue), + TagInfo(0x2603, "AFValidPoints", N_("AF ValidPoints"), N_("AF ValidPoints"), canonId, makerTags, signedShort, -1, printValue), + TagInfo(0x2604, "AFCanonImageWidth", N_("AF ImageWidth"), N_("AF ImageWidth"), canonId, makerTags, signedShort, -1, printValue), + TagInfo(0x2605, "AFCanonImageHeight", N_("AF ImageHeight"), N_("AF ImageHeight"), canonId, makerTags, signedShort, -1, printValue), + TagInfo(0x2606, "AFImageWidth", N_("AF Width"), N_("AF Width"), canonId, makerTags, signedShort, -1, printValue), + TagInfo(0x2607, "AFImageHeight", N_("AF Height"), N_("AF Height"), canonId, makerTags, signedShort, -1, printValue), + TagInfo(0x2608, "AFAreaWidths", N_("AF Area Widths"), N_("AF Area Widths"), canonId, makerTags, signedShort, -1, printValue), + TagInfo(0x2609, "AFAreaHeights", N_("AF Area Heights"), N_("AF Area Heights"), canonId, makerTags, signedShort, -1, printValue), + TagInfo(0x260a, "AFXPositions", N_("AF X Positions"), N_("AF X Positions"), canonId, makerTags, signedShort, -1, printValue), + TagInfo(0x260b, "AFYPositions", N_("AF Y Positions"), N_("AF Y Positions"), canonId, makerTags, signedShort, -1, printValue), + TagInfo(0x260c, "AFPointsInFocus", N_("AF Points in Focus"), N_("AF Points in Focus"), canonId, makerTags, signedShort, -1,printBitmask), + TagInfo(0x260d, "AFPointsSelected", N_("AF Points Selected"), N_("AF Points Selected"), canonId, makerTags, signedShort, -1, printBitmask), + TagInfo(0x260e, "AFPrimaryPoint", N_("AF Primary Point"), N_("AF Primary Point"), canonId, makerTags, signedShort, -1, printBitmask), TagInfo(0x4001, "ColorData", N_("Color Data"), N_("Color data"), canonId, makerTags, unsignedShort, -1, printValue), // End of list marker TagInfo(0xffff, "(UnknownCanonMakerNoteTag)", "(UnknownCanonMakerNoteTag)", N_("Unknown CanonMakerNote tag"), canonId, makerTags, asciiString, -1, printValue) diff --git a/src/exif.cpp b/src/exif.cpp index 26a8a2cd..b1622abe 100644 --- a/src/exif.cpp +++ b/src/exif.cpp @@ -660,7 +660,23 @@ namespace Exiv2 { "Exif.Image.StripByteCounts", "Exif.Image.JPEGInterchangeFormat", "Exif.Image.JPEGInterchangeFormatLength", - "Exif.Image.SubIFDs" + "Exif.Image.SubIFDs", + // Issue 981. Never allow manufactured data to be written + "Exif.Canon.AFInfoSize", + "Exif.Canon.AFAreaMode", + "Exif.Canon.AFNumPoints", + "Exif.Canon.AFValidPoints", + "Exif.Canon.AFCanonImageWidth", + "Exif.Canon.AFCanonImageHeight", + "Exif.Canon.AFImageWidth", + "Exif.Canon.AFImageHeight", + "Exif.Canon.AFAreaWidths", + "Exif.Canon.AFAreaHeights", + "Exif.Canon.AFXPositions", + "Exif.Canon.AFYPositions", + "Exif.Canon.AFPointsInFocus", + "Exif.Canon.AFPointsSelected", + "Exif.Canon.AFPrimaryPoint", }; for (unsigned int i = 0; i < EXV_COUNTOF(filteredIfd0Tags); ++i) { ExifData::iterator pos = ed.findKey(ExifKey(filteredIfd0Tags[i])); diff --git a/src/tags_int.cpp b/src/tags_int.cpp index 8d625964..add81946 100644 --- a/src/tags_int.cpp +++ b/src/tags_int.cpp @@ -1944,7 +1944,7 @@ namespace Exiv2 { TagInfo(0xb002, "MPFImageList", N_("MPFImageList"), N_("MPF Image List"), mpfId, mpfTags, asciiString, 0, printValue), - TagInfo(0xb003, "MPFImageUIDList", N_("MPFImageUIDList "), + TagInfo(0xb003, "MPFImageUIDList", N_("MPFImageUIDList "), N_("MPF Image UID List"), mpfId, mpfTags, unsignedLong, 1, printValue), TagInfo(0xb004, "MPFTotalFrames", N_("MPFTotalFrames"), @@ -2164,6 +2164,32 @@ namespace Exiv2 { return os << value; } + std::ostream& printBitmask(std::ostream& os, const Value& value, const ExifData* metadata) + { + if (value.typeId() == Exiv2::unsignedShort || value.typeId() == Exiv2::signedShort) + { + uint16_t bit = 0; + uint16_t comma = 0; + for (uint16_t i = 0; i < value.count(); i++ ) { // for each element in value array + uint16_t bits = static_cast(value.toLong(i)); + for (uint16_t b = 0; b < 16; ++b) { // for every bit + if (bits & (1 << b)) { + if ( comma++ ) { + os << ","; + } + os << bit; + } + bit++ ; + } + } + // if no bits are set, print "(none)" + if ( !comma ) os << N_("(none)"); + } else { + printValue(os,value,metadata); + } + return os; + } + float fnumber(float apertureValue) { return std::exp(std::log(2.0f) * apertureValue / 2.f); diff --git a/src/tags_int.hpp b/src/tags_int.hpp index 306cdbbc..7ff48b22 100644 --- a/src/tags_int.hpp +++ b/src/tags_int.hpp @@ -441,6 +441,8 @@ namespace Exiv2 { std::ostream& printXmpVersion(std::ostream& os, const Value& value, const ExifData*); //! Print a date following the format YYYY-MM-DDTHH:MM:SSZ std::ostream& printXmpDate(std::ostream& os, const Value& value, const ExifData*); + //! Print a bitmask as (none) | n | n,m... where: (none) = no bits set | n = bit n from left (0=left-most) | n,m.. = multiple bits " + std::ostream& printBitmask(std::ostream& os, const Value& value, const ExifData*); //@} //! Calculate F number from an APEX aperture value diff --git a/src/tiffimage_int.cpp b/src/tiffimage_int.cpp index a052a6a3..3d5173cd 100644 --- a/src/tiffimage_int.cpp +++ b/src/tiffimage_int.cpp @@ -1514,7 +1514,8 @@ namespace Exiv2 { { "*", Tag::all, ignoreId, 0, 0 }, // Do not decode tags with group == ignoreId { "*", 0x02bc, ifd0Id, &TiffDecoder::decodeXmp, 0 /*done before the tree is traversed*/ }, { "*", 0x83bb, ifd0Id, &TiffDecoder::decodeIptc, 0 /*done before the tree is traversed*/ }, - { "*", 0x8649, ifd0Id, &TiffDecoder::decodeIptc, 0 /*done before the tree is traversed*/ } + { "*", 0x8649, ifd0Id, &TiffDecoder::decodeIptc, 0 /*done before the tree is traversed*/ }, + { "*", 0x0026, canonId, &TiffDecoder::decodeCanonAFInfo, 0 /* Exiv2.Canon.AFInfo is read-only */ }, }; DecoderFct TiffMapping::findDecoder(const std::string& make, diff --git a/src/tiffvisitor_int.cpp b/src/tiffvisitor_int.cpp index 1e8615a4..930a75dd 100644 --- a/src/tiffvisitor_int.cpp +++ b/src/tiffvisitor_int.cpp @@ -45,6 +45,7 @@ #include #include #include +#include // ***************************************************************************** namespace { @@ -462,6 +463,78 @@ namespace Exiv2 { } } // TiffMetadataDecoder::decodeIptc + static const TagInfo* findTag(const TagInfo* pList,uint16_t tag) + { + while ( pList->tag_ != 0xffff && pList->tag_ != tag ) pList++; + return pList->tag_ != 0xffff ? pList : NULL; + } + + void TiffDecoder::decodeCanonAFInfo(const TiffEntryBase* object) { + // report Exif.Canon.AFInfo as usual + TiffDecoder::decodeStdTiffEntry(object); + if ( object->pValue()->count() < 3 || object->pValue()->typeId() != unsignedShort ) return; // insufficient data + + // create vector of signedShorts from unsignedShorts in Exif.Canon.AFInfo + std::vector ints; + std::vector uint; + for (int i = 0; i < object->pValue()->count(); i++) { + ints.push_back((int16_t) object->pValue()->toLong(i)); + uint.push_back((uint16_t) object->pValue()->toLong(i)); + } + // Check this is AFInfo2 (ints[0] = bytes in object) + if ( ints[0] != object->pValue()->count()*2 ) return ; + + std::string familyGroup(std::string("Exif.") + groupName(object->group()) + "."); + + const uint16_t nPoints = uint.at(2); + const uint16_t nMasks = (nPoints+15)/(sizeof(uint16_t) * 8); + int nStart = 0; + + struct { + uint16_t tag ; + uint16_t size ; + bool bSigned; + } records[] = { + { 0x2600 , 1 , true }, // AFInfoSize + { 0x2601 , 1 , true }, // AFAreaMode + { 0x2602 , 1 , true }, // AFNumPoints + { 0x2603 , 1 , true }, // AFValidPoints + { 0x2604 , 1 , true }, // AFCanonImageWidth + { 0x2605 , 1 , true }, // AFCanonImageHeight + { 0x2606 , 1 , true }, // AFImageWidth" + { 0x2607 , 1 , true }, // AFImageHeight + { 0x2608 , nPoints , true }, // AFAreaWidths + { 0x2609 , nPoints , true }, // AFAreaHeights + { 0x260a , nPoints , true }, // AFXPositions + { 0x260b , nPoints , true }, // AFYPositions + { 0x260c , nMasks , false }, // AFPointsInFocus + { 0x260d , nMasks , false }, // AFPointsSelected + { 0x260e , nMasks , false }, // AFPrimaryPoint + { 0xffff , 0 , true } // end marker + }; + // check we have enough data! + uint16_t count = 0; + for ( uint16_t i = 0; records[i].tag != 0xffff ; i++) count += records[i].size ; + if ( count > ints.size() ) return ; + + for ( uint16_t i = 0; records[i].tag != 0xffff ; i++) { + const TagInfo* pTags = ExifTags::tagList("Canon") ; + const TagInfo* pTag = findTag(pTags,records[i].tag); + if ( pTag ) { + Exiv2::Value::AutoPtr v = Exiv2::Value::create(records[i].bSigned?Exiv2::signedShort:Exiv2::unsignedShort); + std::ostringstream s; + if ( records[i].bSigned ) { + for ( int16_t k = 0 ; k < records[i].size ; k++ ) s << " " << ints.at(nStart++); + } else { + for ( int16_t k = 0 ; k < records[i].size ; k++ ) s << " " << uint.at(nStart++); + } + + v->read(s.str()); + exifData_[familyGroup + pTag->name_] = *v; + } + } + } + void TiffDecoder::decodeTiffEntry(const TiffEntryBase* object) { assert(object != 0); diff --git a/src/tiffvisitor_int.hpp b/src/tiffvisitor_int.hpp index caddace0..1a82e8f6 100644 --- a/src/tiffvisitor_int.hpp +++ b/src/tiffvisitor_int.hpp @@ -332,6 +332,8 @@ namespace Exiv2 { void decodeIptc(const TiffEntryBase* object); //! Decode XMP packet from an XMLPacket tag void decodeXmp(const TiffEntryBase* object); + //! Decode Exif.Canon.AFInfo + void decodeCanonAFInfo(const TiffEntryBase* object); //@} private: diff --git a/test/data/test_issue_981a.exv b/test/data/test_issue_981a.exv new file mode 100644 index 0000000000000000000000000000000000000000..8129f681984d556aea119e3a54b65ad50ac5ed32 GIT binary patch literal 14109 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 ZY|@%_q=N6A;;q>e42cfZcYylt{{S4}`bGc% literal 0 HcmV?d00001 diff --git a/test/data/test_issue_981c.exv b/test/data/test_issue_981c.exv new file mode 100644 index 0000000000000000000000000000000000000000..92d11d4fe57289b9d013f2ece452fd0b3dcb0138 GIT binary patch literal 60235 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 d_0(F0!hANi!9(s7K?!k(nqJQO1&?C_~CD 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