Added Olympus 2 raw development, raw development 2, image processing and focus info sub-directories.

v0.27.3
Andreas Huggel 17 years ago
parent a1912c2feb
commit 6eb8b15f59

@ -72,6 +72,10 @@ namespace Exiv2 {
const uint16_t olymp2mn = 282; //!< Olympus II makernote const uint16_t olymp2mn = 282; //!< Olympus II makernote
const uint16_t olympcs = 283; //!< Olympus camera settings const uint16_t olympcs = 283; //!< Olympus camera settings
const uint16_t olympeq = 284; //!< Olympus equipment tags const uint16_t olympeq = 284; //!< Olympus equipment tags
const uint16_t olymprd = 285; //!< Olympus raw development tags
const uint16_t olymprd2 = 286; //!< Olympus raw development 2 tags
const uint16_t olympip = 287; //!< Olympus image processing tags
const uint16_t olympfi = 288; //!< Olympus focus info tags
} }
// ***************************************************************************** // *****************************************************************************

@ -667,6 +667,62 @@ namespace Exiv2 {
return tagInfoEq_; return tagInfoEq_;
} }
const TagInfo OlympusMakerNote::tagInfoRd_[] = {
TagInfo(0x0000, "RawDevVersion", N_("Raw Development Version"), N_("Raw development version"), olympusRdIfdId, makerTags, undefined, printExifVersion),
// Todo: Add Olympus raw development tags
// End of list marker
TagInfo(0xffff, "(UnknownOlympusRdTag)", "(UnknownOlympusRdTag)", N_("Unknown OlympusRd tag"), olympusRdIfdId, makerTags, invalidTypeId, printValue)
};
const TagInfo* OlympusMakerNote::tagListRd()
{
return tagInfoRd_;
}
const TagInfo OlympusMakerNote::tagInfoRd2_[] = {
TagInfo(0x0000, "RawDev2Version", N_("Raw Development 2 Version"), N_("Raw development 2 version"), olympusRd2IfdId, makerTags, undefined, printExifVersion),
// Todo: Add Olympus raw development 2 tags
// End of list marker
TagInfo(0xffff, "(UnknownOlympusRd2Tag)", "(UnknownOlympusRd2Tag)", N_("Unknown OlympusRd2 tag"), olympusRd2IfdId, makerTags, invalidTypeId, printValue)
};
const TagInfo* OlympusMakerNote::tagListRd2()
{
return tagInfoRd2_;
}
const TagInfo OlympusMakerNote::tagInfoIp_[] = {
TagInfo(0x0000, "ImageProcessingVersion", N_("Image Processing Version"), N_("Image processing version"), olympusIpIfdId, makerTags, undefined, printExifVersion),
// Todo: Add Olympus image processing tags
// End of list marker
TagInfo(0xffff, "(UnknownOlympusIpTag)", "(UnknownOlympusIpTag)", N_("Unknown OlympusIp tag"), olympusIpIfdId, makerTags, invalidTypeId, printValue)
};
const TagInfo* OlympusMakerNote::tagListIp()
{
return tagInfoIp_;
}
const TagInfo OlympusMakerNote::tagInfoFi_[] = {
TagInfo(0x0000, "FocusInfoVersion", N_("Focus Info Version"), N_("Focus info version"), olympusFiIfdId, makerTags, undefined, printExifVersion),
// Todo: Add Olympus focus info tags
// End of list marker
TagInfo(0xffff, "(UnknownOlympusFiTag)", "(UnknownOlympusFiTag)", N_("Unknown OlympusFi tag"), olympusFiIfdId, makerTags, invalidTypeId, printValue)
};
const TagInfo* OlympusMakerNote::tagListFi()
{
return tagInfoFi_;
}
// Gradation // Gradation
std::ostream& OlympusMakerNote::print0x050f(std::ostream& os, const Value& value, const ExifData*) std::ostream& OlympusMakerNote::print0x050f(std::ostream& os, const Value& value, const ExifData*)
{ {

@ -63,6 +63,14 @@ namespace Exiv2 {
static const TagInfo* tagListCs(); static const TagInfo* tagListCs();
//! Return read-only list of built-in Olympus Equipment tags //! Return read-only list of built-in Olympus Equipment tags
static const TagInfo* tagListEq(); static const TagInfo* tagListEq();
//! Return read-only list of built-in Olympus Raw Development tags
static const TagInfo* tagListRd();
//! Return read-only list of built-in Olympus Raw Development 2 tags
static const TagInfo* tagListRd2();
//! Return read-only list of built-in Olympus Image Processing tags
static const TagInfo* tagListIp();
//! Return read-only list of built-in Olympus Focus Info tags
static const TagInfo* tagListFi();
//! @name Print functions for Olympus %MakerNote tags //! @name Print functions for Olympus %MakerNote tags
//@{ //@{
@ -83,6 +91,10 @@ namespace Exiv2 {
static const TagInfo tagInfo_[]; static const TagInfo tagInfo_[];
static const TagInfo tagInfoCs_[]; static const TagInfo tagInfoCs_[];
static const TagInfo tagInfoEq_[]; static const TagInfo tagInfoEq_[];
static const TagInfo tagInfoRd_[];
static const TagInfo tagInfoRd2_[];
static const TagInfo tagInfoIp_[];
static const TagInfo tagInfoFi_[];
}; // class OlympusMakerNote }; // class OlympusMakerNote

@ -117,6 +117,10 @@ namespace Exiv2 {
{ olympus2IfdId, "Makernote", "Olympus2", OlympusMakerNote::tagList }, { olympus2IfdId, "Makernote", "Olympus2", OlympusMakerNote::tagList },
{ olympusCsIfdId, "Makernote", "OlympusCs", OlympusMakerNote::tagListCs }, { olympusCsIfdId, "Makernote", "OlympusCs", OlympusMakerNote::tagListCs },
{ olympusEqIfdId, "Makernote", "OlympusEq", OlympusMakerNote::tagListEq }, { olympusEqIfdId, "Makernote", "OlympusEq", OlympusMakerNote::tagListEq },
{ olympusRdIfdId, "Makernote", "OlympusRd", OlympusMakerNote::tagListRd },
{ olympusRd2IfdId, "Makernote", "OlympusRd2", OlympusMakerNote::tagListRd2 },
{ olympusIpIfdId, "Makernote", "OlympusIp", OlympusMakerNote::tagListIp },
{ olympusFiIfdId, "Makernote", "OlympusFi", OlympusMakerNote::tagListFi },
{ panasonicIfdId, "Makernote", "Panasonic", PanasonicMakerNote::tagList }, { panasonicIfdId, "Makernote", "Panasonic", PanasonicMakerNote::tagList },
{ pentaxIfdId, "Makernote", "Pentax", PentaxMakerNote::tagList }, { pentaxIfdId, "Makernote", "Pentax", PentaxMakerNote::tagList },
{ sigmaIfdId, "Makernote", "Sigma", SigmaMakerNote::tagList }, { sigmaIfdId, "Makernote", "Sigma", SigmaMakerNote::tagList },

@ -106,7 +106,11 @@ namespace Exiv2 {
{ 281, "Olympus" }, { 281, "Olympus" },
{ 282, "Olympus2" }, { 282, "Olympus2" },
{ 283, "OlympusCs" }, { 283, "OlympusCs" },
{ 284, "OlympusEq" } { 284, "OlympusEq" },
{ 285, "OlympusRd" },
{ 286, "OlympusRd2" },
{ 287, "OlympusIp" },
{ 288, "OlympusFi" }
}; };
bool TiffGroupInfo::operator==(const uint16_t& group) const bool TiffGroupInfo::operator==(const uint16_t& group) const

@ -376,10 +376,14 @@ namespace Exiv2 {
{ 0x0003, Group::olymp2mn, Group::minocsn, 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 }, { 0x2010, Group::olymp2mn, Group::olympeq, 0x927c, Group::exif, newTiffSubIfd },
{ 0x2020, Group::olymp2mn, Group::olympcs, 0x927c, Group::exif, newTiffSubIfd }, { 0x2020, Group::olymp2mn, Group::olympcs, 0x927c, Group::exif, newTiffSubIfd },
{ 0x2030, Group::olymp2mn, Group::olymprd, 0x927c, Group::exif, newTiffSubIfd },
{ 0x2031, Group::olymp2mn, Group::olymprd2, 0x927c, Group::exif, newTiffSubIfd },
{ 0x2040, Group::olymp2mn, Group::olympip, 0x927c, Group::exif, newTiffSubIfd },
{ 0x2050, Group::olymp2mn, Group::olympfi, 0x927c, Group::exif, newTiffSubIfd },
{ Tag::next, Group::olymp2mn, Group::ignr, 0x927c, Group::exif, newTiffDirectory }, { Tag::next, Group::olymp2mn, Group::ignr, 0x927c, Group::exif, newTiffDirectory },
{ Tag::all, Group::olymp2mn, Group::olymp2mn, 0x927c, Group::exif, newTiffEntry }, { Tag::all, Group::olymp2mn, Group::olymp2mn, 0x927c, Group::exif, newTiffEntry },
// Olympus2 Equipment subdir // Olympus2 equipment subdir
{ Tag::all, Group::olympeq, Group::olympeq, 0x2010, Group::olymp2mn, newTiffEntry }, { Tag::all, Group::olympeq, Group::olympeq, 0x2010, Group::olymp2mn, newTiffEntry },
// Olympus2 camera settings subdir // Olympus2 camera settings subdir
@ -387,6 +391,18 @@ namespace Exiv2 {
{ 0x0102, Group::olympcs, Group::olympcs, 0x2020, Group::olymp2mn, newTiffImageSize<0x0101, Group::olympcs> }, { 0x0102, Group::olympcs, Group::olympcs, 0x2020, Group::olymp2mn, newTiffImageSize<0x0101, Group::olympcs> },
{ Tag::all, Group::olympcs, Group::olympcs, 0x2020, Group::olymp2mn, newTiffEntry }, { Tag::all, Group::olympcs, Group::olympcs, 0x2020, Group::olymp2mn, newTiffEntry },
// Olympus2 raw development subdir
{ Tag::all, Group::olymprd, Group::olymprd, 0x2030, Group::olymp2mn, newTiffEntry },
// Olympus2 raw development 2 subdir
{ Tag::all, Group::olymprd2, Group::olymprd2, 0x2031, Group::olymp2mn, newTiffEntry },
// Olympus2 image processing subdir
{ Tag::all, Group::olympip, Group::olympip, 0x2040, Group::olymp2mn, newTiffEntry },
// Olympus2 focus info subdir
{ Tag::all, Group::olympfi, Group::olympfi, 0x2050, Group::olymp2mn, newTiffEntry },
// Fujifilm makernote // Fujifilm makernote
{ Tag::next, Group::fujimn, Group::ignr, 0x927c, Group::exif, newTiffDirectory }, { Tag::next, Group::fujimn, Group::ignr, 0x927c, Group::exif, newTiffDirectory },
{ Tag::all, Group::fujimn, Group::fujimn, 0x927c, Group::exif, newTiffEntry }, { Tag::all, Group::fujimn, Group::fujimn, 0x927c, Group::exif, newTiffEntry },

@ -145,6 +145,7 @@ namespace Exiv2 {
minoltaCsOldIfdId, minoltaCsNewIfdId, minoltaCsOldIfdId, minoltaCsNewIfdId,
nikon1IfdId, nikon2IfdId, nikon3IfdId, nikonPvIfdId, nikon1IfdId, nikon2IfdId, nikon3IfdId, nikonPvIfdId,
olympusIfdId, olympus2IfdId, olympusCsIfdId, olympusEqIfdId, olympusIfdId, olympus2IfdId, olympusCsIfdId, olympusEqIfdId,
olympusRdIfdId, olympusRd2IfdId, olympusIpIfdId, olympusFiIfdId,
panasonicIfdId, pentaxIfdId, sigmaIfdId, sonyIfdId, panasonicIfdId, pentaxIfdId, sigmaIfdId, sonyIfdId,
lastIfdId }; lastIfdId };

Loading…
Cancel
Save