Added Olympus 2 equipment makernote sub-directory.

v0.27.3
Andreas Huggel 17 years ago
parent 9f791e6ac6
commit a1912c2feb

@ -71,6 +71,7 @@ namespace Exiv2 {
const uint16_t olymp1mn = 281; //!< Olympus makernote
const uint16_t olymp2mn = 282; //!< Olympus II makernote
const uint16_t olympcs = 283; //!< Olympus camera settings
const uint16_t olympeq = 284; //!< Olympus equipment tags
}
// *****************************************************************************

@ -653,6 +653,20 @@ namespace Exiv2 {
return tagInfoCs_;
}
const TagInfo OlympusMakerNote::tagInfoEq_[] = {
TagInfo(0x0000, "EquipmentVersion", N_("Equipment Version"), N_("Equipment version"), olympusEqIfdId, makerTags, undefined, printExifVersion),
// Todo: Add Olympus equipment tags
// End of list marker
TagInfo(0xffff, "(UnknownOlympusEqTag)", "(UnknownOlympusEqTag)", N_("Unknown OlympusEq tag"), olympusEqIfdId, makerTags, invalidTypeId, printValue)
};
const TagInfo* OlympusMakerNote::tagListEq()
{
return tagInfoEq_;
}
// Gradation
std::ostream& OlympusMakerNote::print0x050f(std::ostream& os, const Value& value, const ExifData*)
{

@ -61,6 +61,8 @@ namespace Exiv2 {
static const TagInfo* tagList();
//! Return read-only list of built-in Olympus Camera Settings tags
static const TagInfo* tagListCs();
//! Return read-only list of built-in Olympus Equipment tags
static const TagInfo* tagListEq();
//! @name Print functions for Olympus %MakerNote tags
//@{
@ -80,6 +82,7 @@ namespace Exiv2 {
//! Tag information
static const TagInfo tagInfo_[];
static const TagInfo tagInfoCs_[];
static const TagInfo tagInfoEq_[];
}; // class OlympusMakerNote

@ -116,6 +116,7 @@ namespace Exiv2 {
{ olympusIfdId, "Makernote", "Olympus", OlympusMakerNote::tagList },
{ olympus2IfdId, "Makernote", "Olympus2", OlympusMakerNote::tagList },
{ olympusCsIfdId, "Makernote", "OlympusCs", OlympusMakerNote::tagListCs },
{ olympusEqIfdId, "Makernote", "OlympusEq", OlympusMakerNote::tagListEq },
{ panasonicIfdId, "Makernote", "Panasonic", PanasonicMakerNote::tagList },
{ pentaxIfdId, "Makernote", "Pentax", PentaxMakerNote::tagList },
{ sigmaIfdId, "Makernote", "Sigma", SigmaMakerNote::tagList },

@ -105,7 +105,8 @@ namespace Exiv2 {
{ 280, "NikonPreview" },
{ 281, "Olympus" },
{ 282, "Olympus2" },
{ 283, "OlympusCs" }
{ 283, "OlympusCs" },
{ 284, "OlympusEq" }
};
bool TiffGroupInfo::operator==(const uint16_t& group) const

@ -374,10 +374,14 @@ namespace Exiv2 {
// Olympus2 makernote
{ 0x0001, Group::olymp2mn, Group::minocso, 0x927c, Group::exif, newTiffArrayEntry<ttUnsignedLong, false> },
{ 0x0003, Group::olymp2mn, Group::minocsn, 0x927c, Group::exif, newTiffArrayEntry<ttUnsignedLong, false> },
{ 0x2010, Group::olymp2mn, Group::olympeq, 0x927c, Group::exif, newTiffSubIfd },
{ 0x2020, Group::olymp2mn, Group::olympcs, 0x927c, Group::exif, newTiffSubIfd },
{ Tag::next, Group::olymp2mn, Group::ignr, 0x927c, Group::exif, newTiffDirectory },
{ Tag::all, Group::olymp2mn, Group::olymp2mn, 0x927c, Group::exif, newTiffEntry },
// Olympus2 Equipment subdir
{ Tag::all, Group::olympeq, Group::olympeq, 0x2010, Group::olymp2mn, newTiffEntry },
// Olympus2 camera settings subdir
{ 0x0101, Group::olympcs, Group::olympcs, 0x2020, Group::olymp2mn, newTiffImageData<0x0102, Group::olympcs> },
{ 0x0102, Group::olympcs, Group::olympcs, 0x2020, Group::olymp2mn, newTiffImageSize<0x0101, Group::olympcs> },

@ -144,7 +144,7 @@ namespace Exiv2 {
minoltaIfdId, minoltaCs5DIfdId, minoltaCs7DIfdId,
minoltaCsOldIfdId, minoltaCsNewIfdId,
nikon1IfdId, nikon2IfdId, nikon3IfdId, nikonPvIfdId,
olympusIfdId, olympus2IfdId, olympusCsIfdId,
olympusIfdId, olympus2IfdId, olympusCsIfdId, olympusEqIfdId,
panasonicIfdId, pentaxIfdId, sigmaIfdId, sonyIfdId,
lastIfdId };

Loading…
Cancel
Save