[SCM] exiv2 packaging branch, master, updated. debian/0.25-3.1-3734-gdcbc29a
Maximiliano Curia
maxy at moszumanska.debian.org
Thu Jul 13 17:40:20 UTC 2017
Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/exiv2.git;a=commitdiff;h=3bd8cde
The following commit has been merged in the master branch:
commit 3bd8cde75b85150dd4bf573d08951a8f3836fef0
Author: Andreas Huggel <ahuggel at gmx.net>
Date: Tue Feb 3 09:46:34 2009 +0000
Fixed ExifParser::encode to delete Panasonic RAW tags, filter duplicate tags when reading RW2 images.
---
src/exif.cpp | 3 ++-
src/rw2image.cpp | 19 +++++++++++++++++--
2 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/src/exif.cpp b/src/exif.cpp
index 34f799d..9d9e907 100644
--- a/src/exif.cpp
+++ b/src/exif.cpp
@@ -497,6 +497,7 @@ namespace Exiv2 {
subImage2Id,
subImage3Id,
subImage4Id,
+ panaRawIfdId,
ifd2Id
};
for (unsigned int i = 0; i < EXV_COUNTOF(filteredIfds); ++i) {
@@ -510,7 +511,7 @@ namespace Exiv2 {
const IptcData iptcData;
const XmpData xmpData;
- // Encode and check if the results fits into a JPEG Exif APP1 segment
+ // Encode and check if the result fits into a JPEG Exif APP1 segment
WriteMethod wm = TiffParser::encode(blob,
pData,
size,
diff --git a/src/rw2image.cpp b/src/rw2image.cpp
index e673c8e..674e603 100644
--- a/src/rw2image.cpp
+++ b/src/rw2image.cpp
@@ -143,8 +143,23 @@ namespace Exiv2 {
return;
}
image->readMetadata();
- for (ExifData::const_iterator pos = image->exifData().begin();
- pos != image->exifData().end(); ++pos) {
+ ExifData& prevData = image->exifData();
+ if (!prevData.empty()) {
+ // Filter duplicate tags
+ for (ExifData::const_iterator pos = exifData_.begin(); pos != exifData_.end(); ++pos) {
+ if (pos->ifdId() == panaRawIfdId) continue;
+ ExifData::iterator dup = prevData.findKey(ExifKey(pos->key()));
+ if (dup != prevData.end()) {
+#ifdef DEBUG
+ std::cerr << "Filtering duplicate tag " << pos->key()
+ << " (values '" << pos->value()
+ << "' and '" << dup->value() << "')
";
+#endif
+ prevData.erase(dup);
+ }
+ }
+ }
+ for (ExifData::const_iterator pos = prevData.begin(); pos != prevData.end(); ++pos) {
exifData_.add(*pos);
}
--
exiv2 packaging
More information about the pkg-kde-commits
mailing list