[SCM] exiv2 packaging branch, master, updated. debian/0.25-3.1-3734-gdcbc29a
Maximiliano Curia
maxy at moszumanska.debian.org
Thu Jul 13 17:39:49 UTC 2017
Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/exiv2.git;a=commitdiff;h=7216dae
The following commit has been merged in the master branch:
commit 7216dae83d1cf8d526ce686fa8f7dff2b9799cec
Author: Andreas Huggel <ahuggel at gmx.net>
Date: Thu Sep 18 23:30:23 2008 +0000
Added subIFD olympcs to Olympus2 makernote and ifdIds, tags. Still incomplete.
---
src/makernote_int.hpp | 1 +
src/olympusmn.cpp | 35 +++++++++++++++++++++++++++++++++++
src/olympusmn.hpp | 3 +++
src/tags.cpp | 2 ++
src/tiffcomposite.cpp | 10 ++++++----
src/tiffimage.cpp | 4 ++--
src/types.hpp | 3 ++-
7 files changed, 51 insertions(+), 7 deletions(-)
diff --git a/src/makernote_int.hpp b/src/makernote_int.hpp
index 825c4f8..b72924a 100644
--- a/src/makernote_int.hpp
+++ b/src/makernote_int.hpp
@@ -70,6 +70,7 @@ namespace Exiv2 {
const uint16_t nikonpv = 280; //!< Nikon preview sub-IFD
const uint16_t olymp1mn = 281; //!< Olympus makernote
const uint16_t olymp2mn = 282; //!< Olympus II makernote
+ const uint16_t olympcs = 283; //!< Olympus camera settings
}
// *****************************************************************************
diff --git a/src/olympusmn.cpp b/src/olympusmn.cpp
index dedb163..e69b6f9 100644
--- a/src/olympusmn.cpp
+++ b/src/olympusmn.cpp
@@ -57,6 +57,12 @@ namespace Exiv2 {
{ 1, N_("On") }
};
+ //! NoYes, multiple tags
+ extern const TagDetails olympusNoYes[] = {
+ { 0, N_("No") },
+ { 1, N_("Yes") }
+ };
+
//! Quality, tag 0x0201
extern const TagDetails olympusQuality[] = {
{ 1, N_("Standard Quality (SQ)") },
@@ -403,6 +409,35 @@ namespace Exiv2 {
return tagInfo_;
}
+ //! ExposureMode, tag 0x0200
+ extern const TagDetails olympusExposureMode[] = {
+ { 1, N_("Manual") },
+ { 2, N_("Program") },
+ { 3, N_("Aperture-priority AE") },
+ { 4, N_("Shutter speed priority AE") },
+ { 5, N_("Program-shift") }
+ };
+
+ const TagInfo OlympusMakerNote::tagInfoCs_[] = {
+ TagInfo(0x0000, "CameraSettingsVersion", N_("Camera Settings Version"), N_("Camera settings version"), olympusCsIfdId, makerTags, undefined, printValue),
+ TagInfo(0x0100, "PreviewImageValid", N_("PreviewImage Valid"), N_("Preview image valid"), olympusCsIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(olympusNoYes)),
+ TagInfo(0x0101, "PreviewImageStart", N_("PreviewImage Start"), N_("Preview image start"), olympusCsIfdId, makerTags, unsignedLong, printValue),
+ TagInfo(0x0102, "PreviewImageLength", N_("PreviewImage Length"), N_("Preview image length"), olympusCsIfdId, makerTags, unsignedLong, printValue),
+ TagInfo(0x0200, "ExposureMode", N_("Exposure Mode"), N_("Exposure mode"), olympusCsIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(olympusExposureMode)),
+ TagInfo(0x0201, "AELock", N_("AE Lock"), N_("Auto exposure lock"), olympusCsIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(olympusOffOn)),
+ // Todo: add remaining tags...
+
+ // End of list marker
+ TagInfo(0xffff, "(UnknownOlympusCsTag)", "(UnknownOlympusCsTag)",
+ N_("Unknown OlympusCs tag"),
+ olympusCsIfdId, makerTags, invalidTypeId, printValue)
+ };
+
+ const TagInfo* OlympusMakerNote::tagListCs()
+ {
+ return tagInfoCs_;
+ }
+
std::ostream& OlympusMakerNote::print0x0200(std::ostream& os, const Value& value, const ExifData*)
{
if (value.count() != 3 || value.typeId() != unsignedLong) {
diff --git a/src/olympusmn.hpp b/src/olympusmn.hpp
index e7966af..069c3b1 100644
--- a/src/olympusmn.hpp
+++ b/src/olympusmn.hpp
@@ -59,6 +59,8 @@ namespace Exiv2 {
public:
//! Return read-only list of built-in Olympus tags
static const TagInfo* tagList();
+ //! Return read-only list of built-in Olympus Camera Settings tags
+ static const TagInfo* tagListCs();
//! @name Print functions for Olympus %MakerNote tags
//@{
@@ -73,6 +75,7 @@ namespace Exiv2 {
private:
//! Tag information
static const TagInfo tagInfo_[];
+ static const TagInfo tagInfoCs_[];
}; // class OlympusMakerNote
diff --git a/src/tags.cpp b/src/tags.cpp
index 4f2ec54..7182049 100644
--- a/src/tags.cpp
+++ b/src/tags.cpp
@@ -110,6 +110,8 @@ namespace Exiv2 {
{ nikon3IfdId, "Makernote", "Nikon3", Nikon3MakerNote::tagList },
{ nikonPvIfdId, "Makernote", "NikonPreview", ExifTags::ifdTagList },
{ olympusIfdId, "Makernote", "Olympus", OlympusMakerNote::tagList },
+ { olympus2IfdId, "Makernote", "Olympus2", OlympusMakerNote::tagList },
+ { olympusCsIfdId, "Makernote", "OlympusCs", OlympusMakerNote::tagListCs },
{ panasonicIfdId, "Makernote", "Panasonic", PanasonicMakerNote::tagList },
{ pentaxIfdId, "Makernote", "Pentax", PentaxMakerNote::tagList },
{ sigmaIfdId, "Makernote", "Sigma", SigmaMakerNote::tagList },
diff --git a/src/tiffcomposite.cpp b/src/tiffcomposite.cpp
index d3861de..e0d86f6 100644
--- a/src/tiffcomposite.cpp
+++ b/src/tiffcomposite.cpp
@@ -65,7 +65,8 @@ namespace Exiv2 {
};
// Todo: This mapping table probably belongs somewhere else - move it
- //! List of groups and their names
+ // Note: Names must be unique!
+ //! List of groups and their names.
extern const TiffGroupInfo tiffGroupInfo[] = {
{ 1, "Image" },
{ 2, "Thumbnail" },
@@ -77,7 +78,7 @@ namespace Exiv2 {
{ 8, "SubImage2" },
{ 9, "SubImage3" },
{ 10, "SubImage4" },
- // { 257, "Olympus" },
+ // 257 not needed (olympmn)
{ 258, "Fujifilm" },
{ 259, "Canon" },
{ 260, "CanonCs" },
@@ -91,7 +92,7 @@ namespace Exiv2 {
{ 268, "Sigma" },
// 269 not needed (sonymn)
{ 270, "Sony" },
- { 271, "Sony" },
+ { 271, "Sony" }, // Todo: Need second Sony group!
{ 272, "Minolta" },
{ 273, "MinoltaCsOld" },
{ 274, "MinoltaCsNew" },
@@ -102,7 +103,8 @@ namespace Exiv2 {
{ 279, "Pentax" },
{ 280, "NikonPreview" },
{ 281, "Olympus" },
- { 282, "Olympus" }
+ { 282, "Olympus2" },
+ { 283, "OlympusCs" }
};
bool TiffGroupInfo::operator==(const uint16_t& group) const
diff --git a/src/tiffimage.cpp b/src/tiffimage.cpp
index 0d73f2d..cc5324f 100644
--- a/src/tiffimage.cpp
+++ b/src/tiffimage.cpp
@@ -371,10 +371,10 @@ namespace Exiv2 {
{ Tag::next, Group::olymp1mn, Group::ignr, 0x927c, Group::exif, newTiffDirectory },
{ Tag::all, Group::olymp1mn, Group::olymp1mn, 0x927c, Group::exif, newTiffEntry },
- // Olympus makernote - some Olympus cameras use Minolta structures
- // Todo: Adding such tags will not work (maybe result in a Minolta makernote), need separate groups
+ // Olympus2 makernote
{ 0x0001, Group::olymp2mn, Group::minocso, 0x927c, Group::exif, newTiffArrayEntry<ttUnsignedLong, false> },
{ 0x0003, Group::olymp2mn, Group::minocsn, 0x927c, Group::exif, newTiffArrayEntry<ttUnsignedLong, false> },
+ { 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 },
diff --git a/src/types.hpp b/src/types.hpp
index 89698d1..fc99730 100644
--- a/src/types.hpp
+++ b/src/types.hpp
@@ -142,7 +142,8 @@ namespace Exiv2 {
minoltaIfdId, minoltaCs5DIfdId, minoltaCs7DIfdId,
minoltaCsOldIfdId, minoltaCsNewIfdId,
nikon1IfdId, nikon2IfdId, nikon3IfdId, nikonPvIfdId,
- olympusIfdId, panasonicIfdId, pentaxIfdId, sigmaIfdId, sonyIfdId,
+ olympusIfdId, olympus2IfdId, olympusCsIfdId,
+ panasonicIfdId, pentaxIfdId, sigmaIfdId, sonyIfdId,
lastIfdId };
//! Container for binary data
--
exiv2 packaging
More information about the pkg-kde-commits
mailing list