[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