[SCM] exiv2 packaging branch, master, updated. debian/0.25-3.1-3734-gdcbc29a
Maximiliano Curia
maxy at moszumanska.debian.org
Thu Jul 13 17:43:38 UTC 2017
Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/exiv2.git;a=commitdiff;h=fe95f42
The following commit has been merged in the master branch:
commit fe95f427b3da8227aca17deb22e18e3fc9c51754
Author: nkbj <nkbj1970 at hotmail.com>
Date: Fri Mar 22 03:52:04 2013 +0000
Issue #896: ser-readable output of Olympus' FocusDistance. Thanks to Teemu Rytilahti for the patch.
---
src/olympusmn.cpp | 22 +++++++++++++++++++++-
src/olympusmn_int.hpp | 2 ++
2 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/src/olympusmn.cpp b/src/olympusmn.cpp
index cbe3791..9171ee4 100644
--- a/src/olympusmn.cpp
+++ b/src/olympusmn.cpp
@@ -1005,7 +1005,7 @@ namespace Exiv2 {
TagInfo(0x0301, "FocusStepCount", N_("Focus Step Count"), N_("Focus step count"), olympusFiId, makerTags, unsignedShort, -1, printValue),
TagInfo(0x0303, "FocusStepInfinity", N_("Focus Step Infinity"), N_("Focus step infinity"), olympusFiId, makerTags, unsignedShort, -1, printValue),
TagInfo(0x0304, "FocusStepNear", N_("Focus Step Near"), N_("Focus step near"), olympusFiId, makerTags, unsignedShort, -1, printValue),
- TagInfo(0x0305, "FocusDistance", N_("Focus Distance"), N_("Focus distance"), olympusFiId, makerTags, unsignedRational, -1, printValue),
+ TagInfo(0x0305, "FocusDistance", N_("Focus Distance"), N_("Focus distance"), olympusFiId, makerTags, unsignedRational, -1, print0x0305),
TagInfo(0x0308, "AFPoint", N_("AF Point"), N_("AF point"), olympusFiId, makerTags, unsignedShort, -1, print0x0308),
TagInfo(0x1201, "ExternalFlash", N_("External Flash"), N_("External flash"), olympusFiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusOffOn)),
TagInfo(0x1203, "ExternalFlashGuideNumber", N_("External Flash Guide Number"), N_("External flash guide number"), olympusFiId, makerTags, signedRational, -1, printValue),
@@ -1514,6 +1514,26 @@ namespace Exiv2 {
return os;
} // OlympusMakerNote::print0x1209
+ // Olympus FocusDistance 0x0305
+ std::ostream& OlympusMakerNote::print0x0305(std::ostream& os, const Value& value, const ExifData*) {
+ if (value.count() != 1 || value.typeId() != unsignedRational) {
+ return os << value;
+ }
+
+ Rational distance = value.toRational();
+ if(static_cast<uint32_t>(distance.first) == 0xffffffff) {
+ os << _("Infinity");
+ }
+ else {
+ std::ostringstream oss;
+ oss.copyfmt(os);
+ os << std::fixed << std::setprecision(2);
+ os << (float)distance.first/1000 << " m";
+ os.copyfmt(oss);
+ }
+ return os;
+ }
+
// Olympus FocusInfo tag 0x0308 AFPoint
std::ostream& OlympusMakerNote::print0x0308(std::ostream& os, const Value&
value, const ExifData* metadata)
diff --git a/src/olympusmn_int.hpp b/src/olympusmn_int.hpp
index 848bd5f..568eb86 100644
--- a/src/olympusmn_int.hpp
+++ b/src/olympusmn_int.hpp
@@ -103,6 +103,8 @@ namespace Exiv2 {
static std::ostream& print0x0529(std::ostream& os, const Value& value, const ExifData*);
//! Print Olympus focus info ManualFlash
static std::ostream& print0x1209(std::ostream& os, const Value& value, const ExifData*);
+ //! Print Olympus focus distance
+ static std::ostream& print0x0305(std::ostream& os, const Value& value, const ExifData*);
//! Print Olympus focus info AF Point
static std::ostream& print0x0308(std::ostream& os, const Value& value, const ExifData*);
//! Print Olympus generic
--
exiv2 packaging
More information about the pkg-kde-commits
mailing list