[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:11 UTC 2017
Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/exiv2.git;a=commitdiff;h=13704dc
The following commit has been merged in the master branch:
commit 13704dcba4f8094cdfb7d2c83e92d8a0156392da
Author: Andreas Huggel <ahuggel at gmx.net>
Date: Thu Mar 4 14:46:01 2010 +0000
#684: Extended SubIFD support to 9 SubIFDs.
---
src/exif.cpp | 5 ++++
src/tags.cpp | 10 ++++++++
src/tiffcomposite.cpp | 5 ++++
src/tiffcomposite_int.hpp | 6 +++++
src/tiffimage.cpp | 60 +++++++++++++++++++++++++++++++++++++++++++++++
src/tiffvisitor.cpp | 5 ++--
src/types.hpp | 5 ++++
7 files changed, 93 insertions(+), 3 deletions(-)
diff --git a/src/exif.cpp b/src/exif.cpp
index 7bd237a..03c10df 100644
--- a/src/exif.cpp
+++ b/src/exif.cpp
@@ -688,6 +688,11 @@ namespace Exiv2 {
subImage2Id,
subImage3Id,
subImage4Id,
+ subImage5Id,
+ subImage6Id,
+ subImage7Id,
+ subImage8Id,
+ subImage9Id,
panaRawIfdId,
ifd2Id,
ifd3Id
diff --git a/src/tags.cpp b/src/tags.cpp
index 1dcaa6f..88c74f7 100644
--- a/src/tags.cpp
+++ b/src/tags.cpp
@@ -105,6 +105,11 @@ namespace Exiv2 {
{ subImage2Id, "SubImage2", "SubImage2", ExifTags::ifdTagList },
{ subImage3Id, "SubImage3", "SubImage3", ExifTags::ifdTagList },
{ subImage4Id, "SubImage4", "SubImage4", ExifTags::ifdTagList },
+ { subImage5Id, "SubImage5", "SubImage5", ExifTags::ifdTagList },
+ { subImage6Id, "SubImage6", "SubImage6", ExifTags::ifdTagList },
+ { subImage7Id, "SubImage7", "SubImage7", ExifTags::ifdTagList },
+ { subImage8Id, "SubImage8", "SubImage8", ExifTags::ifdTagList },
+ { subImage9Id, "SubImage9", "SubImage9", ExifTags::ifdTagList },
{ mnIfdId, "Makernote", "MakerNote", ExifTags::mnTagList },
{ canonIfdId, "Makernote", "Canon", CanonMakerNote::tagList },
{ canonCsIfdId, "Makernote", "CanonCs", CanonMakerNote::tagListCs },
@@ -1768,6 +1773,11 @@ namespace Exiv2 {
case subImage2Id:
case subImage3Id:
case subImage4Id:
+ case subImage5Id:
+ case subImage6Id:
+ case subImage7Id:
+ case subImage8Id:
+ case subImage9Id:
case panaRawIfdId: rc = true; break;
default: rc = false; break;
}
diff --git a/src/tiffcomposite.cpp b/src/tiffcomposite.cpp
index 8ea92f5..074240c 100644
--- a/src/tiffcomposite.cpp
+++ b/src/tiffcomposite.cpp
@@ -87,6 +87,11 @@ namespace Exiv2 {
{ 9, "SubImage2" },
{ 10, "SubImage3" },
{ 11, "SubImage4" },
+ { 12, "SubImage5" },
+ { 13, "SubImage6" },
+ { 14, "SubImage7" },
+ { 15, "SubImage8" },
+ { 16, "SubImage9" },
{ 64, "PanasonicRaw" },
{ 256, "MakerNote" },
// 257 not needed (olympmn)
diff --git a/src/tiffcomposite_int.hpp b/src/tiffcomposite_int.hpp
index 918ed89..5cfc7f8 100644
--- a/src/tiffcomposite_int.hpp
+++ b/src/tiffcomposite_int.hpp
@@ -97,6 +97,12 @@ namespace Exiv2 {
const uint16_t subimg2 = 9; //!< 2nd TIFF SubIFD in IFD0
const uint16_t subimg3 = 10; //!< 3rd TIFF SubIFD in IFD0
const uint16_t subimg4 = 11; //!< 4th TIFF SubIFD in IFD0
+ const uint16_t subimg5 = 12; //!< 5th TIFF SubIFD in IFD0
+ const uint16_t subimg6 = 13; //!< 6th TIFF SubIFD in IFD0
+ const uint16_t subimg7 = 14; //!< 7th TIFF SubIFD in IFD0
+ const uint16_t subimg8 = 15; //!< 8th TIFF SubIFD in IFD0
+ const uint16_t subimg9 = 16; //!< 9th TIFF SubIFD in IFD0
+ const uint16_t subimgX = 17; //!< End of SubIFD list marker, not a valid group
const uint16_t panaraw = 64; //!< IFD0 of Panasonic RAW images
const uint16_t mn = 256; //!< Makernote
const uint16_t ignr = 511; //!< Read but do not decode
diff --git a/src/tiffimage.cpp b/src/tiffimage.cpp
index 38dd692..3ce8ef9 100644
--- a/src/tiffimage.cpp
+++ b/src/tiffimage.cpp
@@ -97,6 +97,11 @@ namespace Exiv2 {
"Exif.SubImage2.NewSubfileType",
"Exif.SubImage3.NewSubfileType",
"Exif.SubImage4.NewSubfileType"
+ "Exif.SubImage5.NewSubfileType"
+ "Exif.SubImage6.NewSubfileType"
+ "Exif.SubImage7.NewSubfileType"
+ "Exif.SubImage8.NewSubfileType"
+ "Exif.SubImage9.NewSubfileType"
};
// Find the group of the primary image, default to "Image"
std::string groupName = "Image";
@@ -807,6 +812,11 @@ namespace Exiv2 {
{ Tag::root, Group::subimg2, Group::ifd0, 0x014a },
{ Tag::root, Group::subimg3, Group::ifd0, 0x014a },
{ Tag::root, Group::subimg4, Group::ifd0, 0x014a },
+ { Tag::root, Group::subimg5, Group::ifd0, 0x014a },
+ { Tag::root, Group::subimg6, Group::ifd0, 0x014a },
+ { Tag::root, Group::subimg7, Group::ifd0, 0x014a },
+ { Tag::root, Group::subimg8, Group::ifd0, 0x014a },
+ { Tag::root, Group::subimg9, Group::ifd0, 0x014a },
{ Tag::root, Group::exif, Group::ifd0, 0x8769 },
{ Tag::root, Group::gps, Group::ifd0, 0x8825 },
{ Tag::root, Group::iop, Group::exif, 0xa005 },
@@ -951,6 +961,56 @@ namespace Exiv2 {
{ Tag::next, Group::subimg4, newTiffDirectory<Group::ignr> },
{ Tag::all, Group::subimg4, newTiffEntry },
+ // Subdir subimg5
+ { 0x0111, Group::subimg5, newTiffImageData<0x0117, Group::subimg5> },
+ { 0x0117, Group::subimg5, newTiffImageSize<0x0111, Group::subimg5> },
+ { 0x0144, Group::subimg5, newTiffImageData<0x0145, Group::subimg5> },
+ { 0x0145, Group::subimg5, newTiffImageSize<0x0144, Group::subimg5> },
+ { 0x0201, Group::subimg5, newTiffImageData<0x0202, Group::subimg5> },
+ { 0x0202, Group::subimg5, newTiffImageSize<0x0201, Group::subimg5> },
+ { Tag::next, Group::subimg5, newTiffDirectory<Group::ignr> },
+ { Tag::all, Group::subimg5, newTiffEntry },
+
+ // Subdir subimg6
+ { 0x0111, Group::subimg6, newTiffImageData<0x0117, Group::subimg6> },
+ { 0x0117, Group::subimg6, newTiffImageSize<0x0111, Group::subimg6> },
+ { 0x0144, Group::subimg6, newTiffImageData<0x0145, Group::subimg6> },
+ { 0x0145, Group::subimg6, newTiffImageSize<0x0144, Group::subimg6> },
+ { 0x0201, Group::subimg6, newTiffImageData<0x0202, Group::subimg6> },
+ { 0x0202, Group::subimg6, newTiffImageSize<0x0201, Group::subimg6> },
+ { Tag::next, Group::subimg6, newTiffDirectory<Group::ignr> },
+ { Tag::all, Group::subimg6, newTiffEntry },
+
+ // Subdir subimg7
+ { 0x0111, Group::subimg7, newTiffImageData<0x0117, Group::subimg7> },
+ { 0x0117, Group::subimg7, newTiffImageSize<0x0111, Group::subimg7> },
+ { 0x0144, Group::subimg7, newTiffImageData<0x0145, Group::subimg7> },
+ { 0x0145, Group::subimg7, newTiffImageSize<0x0144, Group::subimg7> },
+ { 0x0201, Group::subimg7, newTiffImageData<0x0202, Group::subimg7> },
+ { 0x0202, Group::subimg7, newTiffImageSize<0x0201, Group::subimg7> },
+ { Tag::next, Group::subimg7, newTiffDirectory<Group::ignr> },
+ { Tag::all, Group::subimg7, newTiffEntry },
+
+ // Subdir subimg8
+ { 0x0111, Group::subimg8, newTiffImageData<0x0117, Group::subimg8> },
+ { 0x0117, Group::subimg8, newTiffImageSize<0x0111, Group::subimg8> },
+ { 0x0144, Group::subimg8, newTiffImageData<0x0145, Group::subimg8> },
+ { 0x0145, Group::subimg8, newTiffImageSize<0x0144, Group::subimg8> },
+ { 0x0201, Group::subimg8, newTiffImageData<0x0202, Group::subimg8> },
+ { 0x0202, Group::subimg8, newTiffImageSize<0x0201, Group::subimg8> },
+ { Tag::next, Group::subimg8, newTiffDirectory<Group::ignr> },
+ { Tag::all, Group::subimg8, newTiffEntry },
+
+ // Subdir subimg9
+ { 0x0111, Group::subimg9, newTiffImageData<0x0117, Group::subimg9> },
+ { 0x0117, Group::subimg9, newTiffImageSize<0x0111, Group::subimg9> },
+ { 0x0144, Group::subimg9, newTiffImageData<0x0145, Group::subimg9> },
+ { 0x0145, Group::subimg9, newTiffImageSize<0x0144, Group::subimg9> },
+ { 0x0201, Group::subimg9, newTiffImageData<0x0202, Group::subimg9> },
+ { 0x0202, Group::subimg9, newTiffImageSize<0x0201, Group::subimg9> },
+ { Tag::next, Group::subimg9, newTiffDirectory<Group::ignr> },
+ { Tag::all, Group::subimg9, newTiffEntry },
+
// Exif subdir
{ 0xa005, Group::exif, newTiffSubIfd<Group::iop> },
{ 0x927c, Group::exif, newTiffMnEntry },
diff --git a/src/tiffvisitor.cpp b/src/tiffvisitor.cpp
index cb58963..25f4fe7 100644
--- a/src/tiffvisitor.cpp
+++ b/src/tiffvisitor.cpp
@@ -1250,14 +1250,13 @@ namespace Exiv2 {
#endif
return;
}
- // Todo: Don't use a hardcoded constant here
- if (i == 4) {
+ if (object->newGroup_ + i == Group::subimgX) {
#ifndef SUPPRESS_WARNINGS
std::cerr << "Warning: "
<< "Directory " << tiffGroupName(object->group())
<< ", entry 0x" << std::setw(4)
<< std::setfill('0') << std::hex << object->tag()
- << ": Skipping sub-IFDs beyond the first four.
";
+ << ": Skipping sub-IFDs beyond the first " << i << ".
";
#endif
break;
}
diff --git a/src/types.hpp b/src/types.hpp
index 6a7a6d8..da1eefc 100644
--- a/src/types.hpp
+++ b/src/types.hpp
@@ -158,6 +158,11 @@ namespace Exiv2 {
subImage2Id,
subImage3Id,
subImage4Id,
+ subImage5Id,
+ subImage6Id,
+ subImage7Id,
+ subImage8Id,
+ subImage9Id,
mnIfdId,
canonIfdId,
canonCsIfdId,
--
exiv2 packaging
More information about the pkg-kde-commits
mailing list