From b70a3fb572bb583928017c2dc08526238ed81992 Mon Sep 17 00:00:00 2001 From: Alex Esseling Date: Wed, 19 May 2021 23:34:49 +0200 Subject: [PATCH] Canon AF Info 2 Tag --- src/canonmn_int.cpp | 1 + src/tags_int.cpp | 5 +++-- src/tiffimage_int.cpp | 18 +++++++++++++++++- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/canonmn_int.cpp b/src/canonmn_int.cpp index 876798d2..dd6d2e94 100644 --- a/src/canonmn_int.cpp +++ b/src/canonmn_int.cpp @@ -788,6 +788,7 @@ namespace Exiv2 { (0x000f, "0x000f", "0x000f", N_("0x000f"), canonAf2Id, makerTags, unsignedShort, -1, printValue), (0x0010, "0x0010", "0x0010", N_("0x0010"), canonAf2Id, makerTags, unsignedShort, -1, printValue), (0x0011, "AFFineRotation", N_("AFFineRotation"), N_("AFFineRotation"), canonAf2Id, makerTags, unsignedShort, -1, printValue), + (0xffff, "(UnknowAFInfo2Tag)", "(UnknowAFInfo2Tag)", N_("UnknowAFInfo2Tag Tag"), canonAf2Id, makerTags, unsignedShort, 1, printValue) // important to add end of tag }; const TagInfo* CanonMakerNote::tagListAf2() diff --git a/src/tags_int.cpp b/src/tags_int.cpp index 73b22dd2..6a99605c 100644 --- a/src/tags_int.cpp +++ b/src/tags_int.cpp @@ -90,6 +90,7 @@ namespace Exiv2 { { canonFiId, "Makernote", "CanonFi", CanonMakerNote::tagListFi }, { canonPaId, "Makernote", "CanonPa", CanonMakerNote::tagListPa }, { canonPrId, "Makernote", "CanonPr", CanonMakerNote::tagListPr }, + { canonAf2Id, "Makernote", "CanonAf2Id", CanonMakerNote::tagListAf2 }, { canonVigCor2Id, "Makernote", "CanonVigCor2", CanonMakerNote::tagListVigCor2 }, { canonLiOpId, "Makernote", "CanonLiOp", CanonMakerNote::tagListLiOp }, { canonAfMiAdjId, "Makernote", "CanonAfMiAdj", CanonMakerNote::tagListAfMiAdj }, @@ -98,8 +99,8 @@ namespace Exiv2 { { canonFilId, "Makernote", "CanonFil", CanonMakerNote::tagListFil }, { canonMeId, "Makernote", "CanonMe", CanonMakerNote::tagListMe }, { canonHdrId, "Makernote", "CanonHdr", CanonMakerNote::tagListHdr }, - { canonAfCId, "Makernote","CanonAfC", CanonMakerNote::tagListAfC }, - { canonRawBId, "Makernote", "canonRawB", CanonMakerNote::tagListRawB }, + { canonAfCId, "Makernote", "CanonAfC", CanonMakerNote::tagListAfC }, + { canonRawBId, "Makernote", "CanonRawB", CanonMakerNote::tagListRawB }, { casioId, "Makernote", "Casio", CasioMakerNote::tagList }, { casio2Id, "Makernote", "Casio2", Casio2MakerNote::tagList }, { fujiId, "Makernote", "Fujifilm", FujiMakerNote::tagList }, diff --git a/src/tiffimage_int.cpp b/src/tiffimage_int.cpp index 48052e11..5e93042e 100644 --- a/src/tiffimage_int.cpp +++ b/src/tiffimage_int.cpp @@ -114,6 +114,19 @@ namespace Exiv2 { { 0, ttSignedLong, 1 } }; + + //! Canon canonAfMiAdj Info binary array - configuration + extern const ArrayCfg canonAf2Cfg = { + canonAf2Id, // Group for the elements + invalidByteOrder, // Use byte order from parent + ttSignedLong, // Type for array entry and size element + notEncrypted, // Not encrypted + true, // Has a size element + false, // No fillers + false, // Don't concatenate gaps + { 0, ttSignedLong, 1 } + }; + //! Canon File Info binary array - configuration constexpr ArrayCfg canonFiCfg = { canonFiId, // Group for the elements @@ -1299,7 +1312,8 @@ namespace Exiv2 { { Tag::root, fujiId, exifId, 0x927c }, { Tag::root, canonId, exifId, 0x927c }, { Tag::root, canonCsId, canonId, 0x0001 }, - { Tag::root, canonSiId, canonId, 0x0004 }, + { Tag::root, canonSiId, canonId, 0x0004 }, + { Tag::root, canonAf2Id, canonId, 0x0026 }, { Tag::root, canonPaId, canonId, 0x0005 }, { Tag::root, canonCfId, canonId, 0x000f }, { Tag::root, canonPiId, canonId, 0x0012 }, @@ -1670,6 +1684,7 @@ namespace Exiv2 { { 0x0005, canonId, EXV_SIMPLE_BINARY_ARRAY(canonPaCfg) }, { 0x000f, canonId, EXV_SIMPLE_BINARY_ARRAY(canonCfCfg) }, { 0x0012, canonId, EXV_SIMPLE_BINARY_ARRAY(canonPiCfg) }, + { 0x0026, canonId, EXV_SIMPLE_BINARY_ARRAY(canonAf2Cfg) }, { 0x0035, canonId, EXV_SIMPLE_BINARY_ARRAY(canonTiCfg) }, { 0x0093, canonId, EXV_BINARY_ARRAY(canonFiCfg, canonFiDef) }, { 0x00a0, canonId, EXV_SIMPLE_BINARY_ARRAY(canonPrCfg) }, @@ -1690,6 +1705,7 @@ namespace Exiv2 { // Canon makernote composite tags { Tag::all, canonCsId, newTiffBinaryElement }, { Tag::all, canonSiId, newTiffBinaryElement }, + { Tag::all, canonAf2Id, newTiffBinaryElement }, { Tag::all, canonPaId, newTiffBinaryElement }, { Tag::all, canonCfId, newTiffBinaryElement }, { Tag::all, canonPiId, newTiffBinaryElement },