[SCM] exiv2 packaging branch, master, updated. debian/0.25-3.1-3734-gdcbc29a

Maximiliano Curia maxy at moszumanska.debian.org
Thu Jul 13 17:41:26 UTC 2017


Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/exiv2.git;a=commitdiff;h=bf17786

The following commit has been merged in the master branch:
commit bf17786a045210e7fb9f01270fa28a2303725eec
Author: Andreas Huggel <ahuggel at gmx.net>
Date:   Tue Apr 20 15:56:04 2010 +0000

    Added basic config to support SonyMinolta and SonyCs groups. (Patches from Gilles Caulier)
---
 src/makernote_int.hpp |  2 ++
 src/sonymn.cpp        | 70 +++++++++++++++++++++++++++++++++------------------
 src/sonymn.hpp        |  3 +++
 src/tags.cpp          |  2 ++
 src/tiffcomposite.cpp |  4 ++-
 src/tiffimage.cpp     | 30 +++++++++++++++++++++-
 src/types.hpp         |  2 ++
 7 files changed, 86 insertions(+), 27 deletions(-)

diff --git a/src/makernote_int.hpp b/src/makernote_int.hpp
index 4af005e..269cdad 100644
--- a/src/makernote_int.hpp
+++ b/src/makernote_int.hpp
@@ -109,6 +109,8 @@ namespace Exiv2 {
         const uint16_t nikonsi5  = 317; //!< Nikon Shot Info v2.* Tags
         const uint16_t nikonsi6  = 318; //!< Nikon Shot Info v1.* Tags
         const uint16_t canonfi   = 320; //!< Canon File Info
+        const uint16_t sonymltmn = 330; //!< Sony Minolta Makernotes
+        const uint16_t sonycs    = 331; //!< Sony Camera Settings
     }
 
 // *****************************************************************************
diff --git a/src/sonymn.cpp b/src/sonymn.cpp
index 9e0eb4c..53c4e44 100644
--- a/src/sonymn.cpp
+++ b/src/sonymn.cpp
@@ -207,6 +207,35 @@ namespace Exiv2 {
         { 14, N_("Incandescent")  }
     };
 
+    std::ostream& SonyMakerNote::print0xb000(std::ostream& os, const Value& value, const ExifData*)
+    {
+        if (value.count() != 4)
+        {
+            os << "(" << value << ")";
+        }
+        else
+        {
+            std::string val = value.toString(0) + value.toString(1) + value.toString(2) + value.toString(3);
+            if      (val == "0002") os << "JPEG";
+            else if (val == "1000") os << "SR2";
+            else if (val == "2000") os << "ARW 1.0";
+            else if (val == "3000") os << "ARW 2.0";
+            else if (val == "3100") os << "ARW 2.1";
+            else                    os << "(" << value << ")";
+        }
+        return os;
+    }
+
+    std::ostream& SonyMakerNote::printImageSize(std::ostream& os, const Value& value, const ExifData*)
+    {
+        if (value.count() == 2)
+            os << value.toString(0) << " x " << value.toString(1);
+        else
+            os << "(" << value << ")";
+
+        return os;
+    }
+
     // Sony MakerNote Tag Info
     const TagInfo SonyMakerNote::tagInfo_[] = {
 
@@ -351,33 +380,24 @@ namespace Exiv2 {
         return tagInfo_;
     }
 
-    std::ostream& SonyMakerNote::print0xb000(std::ostream& os, const Value& value, const ExifData*)
-    {
-        if (value.count() != 4)
-        {
-            os << "(" << value << ")";
-        }
-        else
-        {
-            std::string val = value.toString(0) + value.toString(1) + value.toString(2) + value.toString(3);
-            if      (val == "0002") os << "JPEG";
-            else if (val == "1000") os << "SR2";
-            else if (val == "2000") os << "ARW 1.0";
-            else if (val == "3000") os << "ARW 2.0";
-            else if (val == "3100") os << "ARW 2.1";
-            else                    os << "(" << value << ")";
-        }
-        return os;
-    }
+    // -- Sony camera settings ---------------------------------------------------------------
 
-    std::ostream& SonyMakerNote::printImageSize(std::ostream& os, const Value& value, const ExifData*)
-    {
-        if (value.count() == 2)
-            os << value.toString(0) << " x " << value.toString(1);
-        else
-            os << "(" << value << ")";
+    // Sony Camera Settings Tag Info
+    const TagInfo SonyMakerNote::tagInfoCs_[] = {
 
-        return os;
+        TagInfo(0x0016, "ISOSetting", N_("ISO Setting"),
+                N_("ISO Setting"),
+                sonyCsIfdId, makerTags, unsignedShort, printValue),
+
+        // End of list marker
+        TagInfo(0xffff, "(UnknownSonyCsTag)", "(UnknownSonyCsTag)",
+                N_("Unknown Sony Camera Settings tag"),
+                sonyCsIfdId, makerTags, invalidTypeId, printValue)
+    };
+
+    const TagInfo* SonyMakerNote::tagListCs()
+    {
+        return tagInfoCs_;
     }
 
 }                                       // namespace Exiv2
diff --git a/src/sonymn.hpp b/src/sonymn.hpp
index 8c3e9c8..56480fc 100644
--- a/src/sonymn.hpp
+++ b/src/sonymn.hpp
@@ -55,6 +55,8 @@ namespace Exiv2 {
     public:
         //! Return read-only list of built-in Sony tags
         static const TagInfo* tagList();
+        //! Return read-only list of built-in Sony Standard Camera Settings tags
+        static const TagInfo* tagListCs();
 
         //! @name Print functions for Sony %MakerNote tags
         //@{
@@ -66,6 +68,7 @@ namespace Exiv2 {
     private:
         //! Tag information
         static const TagInfo tagInfo_[];
+        static const TagInfo tagInfoCs_[];
 
     }; // class SonyMakerNote
 }                                       // namespace Exiv2
diff --git a/src/tags.cpp b/src/tags.cpp
index dadb1de..6acf2dc 100644
--- a/src/tags.cpp
+++ b/src/tags.cpp
@@ -171,6 +171,8 @@ namespace Exiv2 {
         { pentaxIfdId,       "Makernote", "Pentax",       PentaxMakerNote::tagList       },
         { sigmaIfdId,        "Makernote", "Sigma",        SigmaMakerNote::tagList        },
         { sonyIfdId,         "Makernote", "Sony",         SonyMakerNote::tagList         },
+        { sonyMltIfdId,      "Makernote", "SonyMinolta",  MinoltaMakerNote::tagList      },
+        { sonyCsIfdId,       "Makernote", "SonyCs",       SonyMakerNote::tagListCs       },
         { lastIfdId,         "(Last IFD info)", "(Last IFD item)", 0 }
     };
 
diff --git a/src/tiffcomposite.cpp b/src/tiffcomposite.cpp
index 1b303c1..75f83f1 100644
--- a/src/tiffcomposite.cpp
+++ b/src/tiffcomposite.cpp
@@ -156,7 +156,9 @@ namespace Exiv2 {
         { 316, "NikonSiD300b" },
         { 317, "NikonSi02xx"  },
         { 318, "NikonSi01xx"  },
-        { 320, "CanonFi"      }
+        { 320, "CanonFi"      },
+        { 330, "SonyMinolta"  },
+        { 331, "SonyCs"       }
     };
 
     bool TiffGroupInfo::operator==(const uint16_t& group) const
diff --git a/src/tiffimage.cpp b/src/tiffimage.cpp
index 3a3b07f..1e27858 100644
--- a/src/tiffimage.cpp
+++ b/src/tiffimage.cpp
@@ -794,6 +794,23 @@ namespace Exiv2 {
         { 146, ttSignedShort, 1 } // Exif.MinoltaCs5D.ColorTemperature
     };
 
+    //! Sony Camera Settings binary array - configuration
+    extern const ArrayCfg sonyCsCfg = {
+        Group::sonycs,    // Group for the elements
+        bigEndian,        // Big endian
+        ttUndefined,      // Type for array entry and size element
+        notEncrypted,     // Not encrypted
+        false,            // No size element
+        false,            // No fillers
+        false,            // Don't concatenate gaps
+        { 0, ttUnsignedShort, 1 }
+    };
+    //! Sony Camera Settings binary array - definition
+    extern const ArrayDef sonyCsDef[] = {
+        {   6, ttUnsignedShort, 1 }, // Exif.SonyCs.DriveMode
+        {  10, ttSignedShort,   1 }  // Exif.SonyCs.WhiteBalanceFineTune
+    };
+
     /*
       This table lists for each group in a tree, its parent group and tag.
       Root identifies the root of a TIFF tree, as there is a need for multiple
@@ -877,6 +894,8 @@ namespace Exiv2 {
         { Tag::root, Group::pentaxmn,  Group::exif,      0x927c    },
         { Tag::root, Group::sigmamn,   Group::exif,      0x927c    },
         { Tag::root, Group::sony1mn,   Group::exif,      0x927c    },
+        { Tag::root, Group::sonycs,    Group::sony1mn,   0x0114    },
+        { Tag::root, Group::sonymltmn, Group::sony1mn,   0xb028    },
         { Tag::root, Group::sony2mn,   Group::exif,      0x927c    },
         { Tag::root, Group::minoltamn, Group::exif,      0x927c    },
         { Tag::root, Group::minocso,   Group::minoltamn, 0x0001    },
@@ -1235,12 +1254,21 @@ namespace Exiv2 {
 
         // Sony1 makernote
         { Tag::next, Group::sony1mn,   newTiffDirectory<Group::ignr>             },
+        {    0x0114, Group::sony1mn,   EXV_BINARY_ARRAY(sonyCsCfg, sonyCsDef)    },
+        {    0xb028, Group::sony1mn,   newTiffSubIfd<Group::sonymltmn>           },
         {  Tag::all, Group::sony1mn,   newTiffEntry                              },
 
+        // Sony1 camera settings
+        {  Tag::all, Group::sonycs,    newTiffBinaryElement                      },
+
         // Sony2 makernote
         { Tag::next, Group::sony2mn,   newTiffDirectory<Group::ignr>             },
         {  Tag::all, Group::sony2mn,   newTiffEntry                              },
 
+        // Sony Minolta makernote
+        { Tag::next, Group::sonymltmn, newTiffDirectory<Group::ignr>             },
+        {  Tag::all, Group::sonymltmn, newTiffEntry                              },
+
         // Minolta makernote
         {    0x0001, Group::minoltamn, EXV_SIMPLE_BINARY_ARRAY(minoCsoCfg)       },
         {    0x0003, Group::minoltamn, EXV_SIMPLE_BINARY_ARRAY(minoCsnCfg)       },
@@ -1662,7 +1690,7 @@ namespace Exiv2 {
             { 0x010a, Group::ifd0 }, // Exif.Image.FillOrder
             { 0x0111, Group::ifd0 }, // Exif.Image.StripOffsets
             { 0x0115, Group::ifd0 }, // Exif.Image.SamplesPerPixel
-            { 0x0116, Group::ifd0 }, // Exif.Image.RowsPerStrip 
+            { 0x0116, Group::ifd0 }, // Exif.Image.RowsPerStrip
             { 0x0117, Group::ifd0 }, // Exif.Image.StripByteCounts
             { 0x011a, Group::ifd0 }, // Exif.Image.XResolution
             { 0x011b, Group::ifd0 }, // Exif.Image.YResolution
diff --git a/src/types.hpp b/src/types.hpp
index 271f3ec..1b562e2 100644
--- a/src/types.hpp
+++ b/src/types.hpp
@@ -224,6 +224,8 @@ namespace Exiv2 {
         pentaxIfdId,
         sigmaIfdId,
         sonyIfdId,
+        sonyMltIfdId,
+        sonyCsIfdId,
         lastIfdId
     };
 

-- 
exiv2 packaging



More information about the pkg-kde-commits mailing list