diff --git a/src/canonmn_int.cpp b/src/canonmn_int.cpp index 40fb7e72..876798d2 100644 --- a/src/canonmn_int.cpp +++ b/src/canonmn_int.cpp @@ -1312,7 +1312,8 @@ namespace Exiv2 { // Canon RawBurstInfo Info Tag constexpr TagInfo CanonMakerNote::tagInfoRawB_[] = { {0x0001, "RawBurstImageNum", N_("Raw Burst Image Num"), N_("Raw Burst Image Num"), canonRawBId, makerTags, unsignedLong, -1, printValue}, - {0x0002, "RawBurstImageCount", N_("Raw Burst Image Count"), N_("Raw Burst Image Count"), canonRawBId, makerTags, unsignedLong, -1, printValue} + {0x0002, "RawBurstImageCount", N_("Raw Burst Image Count"), N_("Raw Burst Image Count"), canonRawBId, makerTags, unsignedLong, -1, printValue}, + (0xffff, "(UnknownRawBurstTag)", "(UnknownRawBurstTag)", N_("UnknownRawBurstTag"), canonRawBId, makerTags, signedLong, 1, printValue) // important to add end of tag }; const TagInfo* CanonMakerNote::tagListRawB() diff --git a/src/tags_int.cpp b/src/tags_int.cpp index 9069e3c6..73b22dd2 100644 --- a/src/tags_int.cpp +++ b/src/tags_int.cpp @@ -93,12 +93,13 @@ namespace Exiv2 { { canonVigCor2Id, "Makernote", "CanonVigCor2", CanonMakerNote::tagListVigCor2 }, { canonLiOpId, "Makernote", "CanonLiOp", CanonMakerNote::tagListLiOp }, { canonAfMiAdjId, "Makernote", "CanonAfMiAdj", CanonMakerNote::tagListAfMiAdj }, - { canonLeId, "Makernote", "CanonLe", CanonMakerNote::tagListLe }, - { canonAmId, "Makernote", "CanonAm", CanonMakerNote::tagListAm }, - { canonFilId, "Makernote", "CanonFil", CanonMakerNote::tagListFil }, + { canonLeId, "Makernote", "CanonLe", CanonMakerNote::tagListLe }, + { canonAmId, "Makernote", "CanonAm", CanonMakerNote::tagListAm }, + { canonFilId, "Makernote", "CanonFil", CanonMakerNote::tagListFil }, { canonMeId, "Makernote", "CanonMe", CanonMakerNote::tagListMe }, { canonHdrId, "Makernote", "CanonHdr", CanonMakerNote::tagListHdr }, - { canonAfCId, "Makernote", "CanonAfC", CanonMakerNote::tagListAfC }, + { 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 23923daf..48052e11 100644 --- a/src/tiffimage_int.cpp +++ b/src/tiffimage_int.cpp @@ -244,7 +244,7 @@ namespace Exiv2 { { 0, ttSignedLong, 1 } }; - //! Canon AF Config Info binary array - configuration + //! Canon AF Config Info binary array - configuration extern const ArrayCfg canonAfCCfg = { canonAfCId, // Group for the elements invalidByteOrder, // Use byte order from parent @@ -256,6 +256,22 @@ namespace Exiv2 { { 0, ttSignedLong, 1 } }; + + + + //! Canon RawBurst Info binary array - configuration + extern const ArrayCfg canonRawBCfg = { + canonRawBId, // 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, ttUnsignedLong, 1 } + }; + + //! Nikon Vibration Reduction binary array - configuration constexpr ArrayCfg nikonVrCfg = { nikonVrId, // Group for the elements @@ -1299,6 +1315,7 @@ namespace Exiv2 { { Tag::root, canonFilId, canonId, 0x4024 }, { Tag::root, canonHdrId, canonId, 0x4025 }, { Tag::root, canonAfCId, canonId, 0x4028 }, + { Tag::root, canonRawBId, canonId, 0x403f }, { Tag::root, nikon1Id, exifId, 0x927c }, { Tag::root, nikon2Id, exifId, 0x927c }, { Tag::root, nikon3Id, exifId, 0x927c }, @@ -1666,6 +1683,7 @@ namespace Exiv2 { { 0x4024, canonId, EXV_SIMPLE_BINARY_ARRAY(canonFilCfg) }, { 0x4025, canonId, EXV_SIMPLE_BINARY_ARRAY(canonHdrCfg) }, { 0x4028, canonId, EXV_SIMPLE_BINARY_ARRAY(canonAfCCfg) }, + { 0x403f, canonId, EXV_SIMPLE_BINARY_ARRAY(canonRawBCfg) }, { Tag::next, canonId, ignoreTiffComponent }, { Tag::all, canonId, newTiffEntry }, @@ -1687,7 +1705,8 @@ namespace Exiv2 { { Tag::all, canonMeId, newTiffBinaryElement }, { Tag::all, canonFilId, newTiffBinaryElement }, { Tag::all, canonHdrId, newTiffBinaryElement }, - { Tag::all, canonAfCId, newTiffBinaryElement }, + { Tag::all, canonAfCId, newTiffBinaryElement }, + { Tag::all, canonRawBId, newTiffBinaryElement }, // Nikon1 makernote { Tag::next, nikon1Id, ignoreTiffComponent },