[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:58 UTC 2017
Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/exiv2.git;a=commitdiff;h=f25fca8
The following commit has been merged in the master branch:
commit f25fca88088899ea2d1ca3a081b008cf35baff6a
Author: Andreas Huggel <ahuggel at gmx.net>
Date: Tue Sep 21 15:45:07 2010 +0000
#726: Added support for thumbnail found in sub-IFD of IFD1 of Samsung .SRW files.
---
src/error.cpp | 2 +-
src/exif.cpp | 1 +
src/preview.cpp | 16 ++++++++++------
src/tags.cpp | 2 ++
src/tags_int.hpp | 1 +
src/tiffimage.cpp | 12 ++++++++++++
src/tiffvisitor.cpp | 5 ++++-
7 files changed, 31 insertions(+), 8 deletions(-)
diff --git a/src/error.cpp b/src/error.cpp
index 2507db1..faac04a 100644
--- a/src/error.cpp
+++ b/src/error.cpp
@@ -123,7 +123,7 @@ namespace Exiv2 {
case LogMsg::info: break;
case LogMsg::warn: std::cerr << "Warning: "; break;
case LogMsg::error: std::cerr << "Error: "; break;
- case LogMsg::mute: assert(true);
+ case LogMsg::mute: assert(false);
}
std::cerr << s;
}
diff --git a/src/exif.cpp b/src/exif.cpp
index 1fe153f..e325397 100644
--- a/src/exif.cpp
+++ b/src/exif.cpp
@@ -693,6 +693,7 @@ namespace Exiv2 {
subImage7Id,
subImage8Id,
subImage9Id,
+ subThumb1Id,
panaRawId,
ifd2Id,
ifd3Id
diff --git a/src/preview.cpp b/src/preview.cpp
index c967589..d4dc77a 100644
--- a/src/preview.cpp
+++ b/src/preview.cpp
@@ -255,14 +255,16 @@ namespace {
{ 0, createLoaderTiff, 3 },
{ 0, createLoaderTiff, 4 },
{ 0, createLoaderTiff, 5 },
+ { 0, createLoaderTiff, 6 },
{ 0, createLoaderExifJpeg, 0 },
{ 0, createLoaderExifJpeg, 1 },
{ 0, createLoaderExifJpeg, 2 },
{ 0, createLoaderExifJpeg, 3 },
{ 0, createLoaderExifJpeg, 4 },
{ 0, createLoaderExifJpeg, 5 },
- { "image/x-canon-cr2", createLoaderExifJpeg, 6 },
- { 0, createLoaderExifJpeg, 7 }
+ { 0, createLoaderExifJpeg, 6 },
+ { "image/x-canon-cr2", createLoaderExifJpeg, 7 },
+ { 0, createLoaderExifJpeg, 8 }
};
const LoaderExifJpeg::Param LoaderExifJpeg::param_[] = {
@@ -271,9 +273,10 @@ namespace {
{ "Exif.SubImage2.JPEGInterchangeFormat", "Exif.SubImage2.JPEGInterchangeFormatLength", 0 }, // 2
{ "Exif.SubImage3.JPEGInterchangeFormat", "Exif.SubImage3.JPEGInterchangeFormatLength", 0 }, // 3
{ "Exif.SubImage4.JPEGInterchangeFormat", "Exif.SubImage4.JPEGInterchangeFormatLength", 0 }, // 4
- { "Exif.Image2.JPEGInterchangeFormat", "Exif.Image2.JPEGInterchangeFormatLength", 0 }, // 5
- { "Exif.Image.StripOffsets", "Exif.Image.StripByteCounts", 0 }, // 6
- { "Exif.OlympusCs.PreviewImageStart", "Exif.OlympusCs.PreviewImageLength", "Exif.MakerNote.Offset"} // 7
+ { "Exif.SubThumb1.JPEGInterchangeFormat", "Exif.SubThumb1.JPEGInterchangeFormatLength", 0 }, // 5
+ { "Exif.Image2.JPEGInterchangeFormat", "Exif.Image2.JPEGInterchangeFormatLength", 0 }, // 6
+ { "Exif.Image.StripOffsets", "Exif.Image.StripByteCounts", 0 }, // 7
+ { "Exif.OlympusCs.PreviewImageStart", "Exif.OlympusCs.PreviewImageLength", "Exif.MakerNote.Offset"} // 8
};
const LoaderExifDataJpeg::Param LoaderExifDataJpeg::param_[] = {
@@ -294,7 +297,8 @@ namespace {
{ "SubImage2", "Exif.SubImage2.NewSubfileType", "1" }, // 2
{ "SubImage3", "Exif.SubImage3.NewSubfileType", "1" }, // 3
{ "SubImage4", "Exif.SubImage4.NewSubfileType", "1" }, // 4
- { "Thumbnail", 0, 0 } // 5
+ { "SubThumb1", "Exif.SubThumb1.NewSubfileType", "1" }, // 5
+ { "Thumbnail", 0, 0 } // 6
};
Loader::AutoPtr Loader::create(PreviewId id, const Image &image)
diff --git a/src/tags.cpp b/src/tags.cpp
index c394071..6331c20 100644
--- a/src/tags.cpp
+++ b/src/tags.cpp
@@ -99,6 +99,7 @@ namespace Exiv2 {
{ subImage7Id, "SubImage7", "SubImage7", ifdTagList },
{ subImage8Id, "SubImage8", "SubImage8", ifdTagList },
{ subImage9Id, "SubImage9", "SubImage9", ifdTagList },
+ { subThumb1Id, "SubThumb1", "SubThumb1", ifdTagList },
{ panaRawId, "PanaRaw", "PanasonicRaw", PanasonicMakerNote::tagListRaw },
{ mnId, "Makernote", "MakerNote", mnTagList },
{ canonId, "Makernote", "Canon", CanonMakerNote::tagList },
@@ -1956,6 +1957,7 @@ namespace Exiv2 {
case subImage7Id:
case subImage8Id:
case subImage9Id:
+ case subThumb1Id:
case panaRawId: rc = true; break;
default: rc = false; break;
}
diff --git a/src/tags_int.hpp b/src/tags_int.hpp
index 37c4c31..8559482 100644
--- a/src/tags_int.hpp
+++ b/src/tags_int.hpp
@@ -71,6 +71,7 @@ namespace Exiv2 {
subImage7Id,
subImage8Id,
subImage9Id,
+ subThumb1Id,
panaRawId,
mnId,
canonId,
diff --git a/src/tiffimage.cpp b/src/tiffimage.cpp
index c602d68..75b22cb 100644
--- a/src/tiffimage.cpp
+++ b/src/tiffimage.cpp
@@ -1100,6 +1100,7 @@ namespace Exiv2 {
{ Tag::root, ifd3Id, ifd2Id, Tag::next },
{ Tag::root, olympusId, exifId, 0x927c },
{ Tag::root, olympus2Id, exifId, 0x927c },
+ { Tag::root, subThumb1Id, ifd1Id, 0x014a },
{ Tag::root, olympusEqId, olympus2Id, 0x2010 },
{ Tag::root, olympusCsId, olympus2Id, 0x2020 },
{ Tag::root, olympusRdId, olympus2Id, 0x2030 },
@@ -1321,11 +1322,22 @@ namespace Exiv2 {
{ 0x0117, ifd1Id, newTiffThumbSize<0x0111, ifd1Id> },
{ 0x0144, ifd1Id, newTiffImageData<0x0145, ifd1Id> },
{ 0x0145, ifd1Id, newTiffImageSize<0x0144, ifd1Id> },
+ { 0x014a, ifd1Id, newTiffSubIfd<subThumb1Id> },
{ 0x0201, ifd1Id, newTiffThumbData<0x0202, ifd1Id> },
{ 0x0202, ifd1Id, newTiffThumbSize<0x0201, ifd1Id> },
{ Tag::next, ifd1Id, newTiffDirectory<ifd2Id> },
{ Tag::all, ifd1Id, newTiffEntry },
+ // Subdir subThumb1
+ { 0x0111, subThumb1Id, newTiffImageData<0x0117, subThumb1Id> },
+ { 0x0117, subThumb1Id, newTiffImageSize<0x0111, subThumb1Id> },
+ { 0x0144, subThumb1Id, newTiffImageData<0x0145, subThumb1Id> },
+ { 0x0145, subThumb1Id, newTiffImageSize<0x0144, subThumb1Id> },
+ { 0x0201, subThumb1Id, newTiffImageData<0x0202, subThumb1Id> },
+ { 0x0202, subThumb1Id, newTiffImageSize<0x0201, subThumb1Id> },
+ { Tag::next, subThumb1Id, newTiffDirectory<ignoreId> },
+ { Tag::all, subThumb1Id, newTiffEntry },
+
// IFD2 (eg, in Pentax PEF and Canon CR2 files)
{ 0x0111, ifd2Id, newTiffImageData<0x0117, ifd2Id> },
{ 0x0117, ifd2Id, newTiffImageSize<0x0111, ifd2Id> },
diff --git a/src/tiffvisitor.cpp b/src/tiffvisitor.cpp
index f1d984d..7c1afd7 100644
--- a/src/tiffvisitor.cpp
+++ b/src/tiffvisitor.cpp
@@ -1337,6 +1337,9 @@ namespace Exiv2 {
if ( (object->tiffType() == ttUnsignedLong || object->tiffType() == ttSignedLong
|| object->tiffType() == ttTiffIfd)
&& object->count() >= 1) {
+ // Todo: Fix hack
+ uint32_t maxi = 9;
+ if (object->group() == ifd1Id) maxi = 1;
for (uint32_t i = 0; i < object->count(); ++i) {
int32_t offset = getLong(object->pData() + 4*i, byteOrder());
if ( baseOffset() + offset > size_
@@ -1350,7 +1353,7 @@ namespace Exiv2 {
#endif
return;
}
- if (object->newGroup_ + i == subImage9Id + 1) {
+ if (i >= maxi) {
#ifndef SUPPRESS_WARNINGS
EXV_WARNING << "Directory " << groupName(object->group())
<< ", entry 0x" << std::setw(4)
--
exiv2 packaging
More information about the pkg-kde-commits
mailing list