[SCM] exiv2 packaging branch, master, updated. debian/0.25-3.1-3734-gdcbc29a
Maximiliano Curia
maxy at moszumanska.debian.org
Thu Jul 13 17:47:17 UTC 2017
Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/exiv2.git;a=commitdiff;h=8126568
The following commit has been merged in the master branch:
commit 81265684f064f193a6fcdd2073da2e2e7e6dcd6e
Author: Robin Mills <robin at clanmills.com>
Date: Sat Nov 12 22:08:10 2016 +0000
#1108 Fixed bugs in printStructure(kpsRecursive) handling of RATIONAL data.
---
include/exiv2/image.hpp | 1 +
src/image.cpp | 23 +++++++++++++----------
test/data/bugfixes-test.out | Bin 1928392 -> 1928430 bytes
test/data/icc-test.out | 36 ++++++++++++++++++------------------
test/data/stdin-test.out | 4 ++--
test/data/tiff-test.out | 8 ++++----
test/data/webp-test.out | 24 ++++++++++++------------
7 files changed, 50 insertions(+), 46 deletions(-)
diff --git a/include/exiv2/image.hpp b/include/exiv2/image.hpp
index 7ba84b3..a60d384 100644
--- a/include/exiv2/image.hpp
+++ b/include/exiv2/image.hpp
@@ -346,6 +346,7 @@ namespace Exiv2 {
bool isRationalType(uint16_t type);
bool is2ByteType(uint16_t type);
bool is4ByteType(uint16_t type);
+ bool is8ByteType(uint16_t type);
bool isPrintXMP(uint16_t type, Exiv2::PrintStructureOption option);
bool isPrintICC(uint16_t type, Exiv2::PrintStructureOption option);
diff --git a/src/image.cpp b/src/image.cpp
index 66859c3..8fa3fff 100644
--- a/src/image.cpp
+++ b/src/image.cpp
@@ -205,7 +205,14 @@ namespace Exiv2 {
bool Image::is4ByteType(uint16_t type)
{
return isLongType(type)
- || isRationalType(type)
+ || type == Exiv2::tiffFloat
+ || type == Exiv2::tiffIfd
+ ;
+ }
+ bool Image::is8ByteType(uint16_t type)
+ {
+ return isRationalType(type)
+ || type == Exiv2::tiffDouble
;
}
bool Image::isPrintXMP(uint16_t type, Exiv2::PrintStructureOption option)
@@ -317,6 +324,7 @@ namespace Exiv2 {
case Exiv2::signedRational : result = "SRATIONAL" ; break;
case Exiv2::tiffFloat : result = "FLOAT" ; break;
case Exiv2::tiffDouble : result = "DOUBLE" ; break;
+ case Exiv2::tiffIfd : result = "IFD" ; break;
default : result = "unknown" ; break;
}
return result;
@@ -374,6 +382,7 @@ namespace Exiv2 {
uint32_t size = isStringType(type) ? 1
: is2ByteType(type) ? 2
: is4ByteType(type) ? 4
+ : is8ByteType(type) ? 8
: 1
;
@@ -405,15 +414,9 @@ namespace Exiv2 {
} else if ( isRationalType(type) ){
for ( size_t k = 0 ; k < kount ; k++ ) {
- uint16_t a = byteSwap2(buf,k*size+0,bSwap);
- uint16_t b = byteSwap2(buf,k*size+2,bSwap);
- if ( isLittleEndianPlatform() ) {
- if ( bSwap ) out << sp << b << "/" << a;
- else out << sp << a << "/" << b;
- } else {
- if ( bSwap ) out << sp << a << "/" << b;
- else out << sp << b << "/" << a;
- }
+ uint32_t a = byteSwap4(buf,k*size+0,bSwap);
+ uint32_t b = byteSwap4(buf,k*size+4,bSwap);
+ out << sp << a << "/" << b;
sp = " ";
}
} else if ( isStringType(type) ) {
diff --git a/test/data/bugfixes-test.out b/test/data/bugfixes-test.out
index ca12a10..f502286 100644
Binary files a/test/data/bugfixes-test.out and b/test/data/bugfixes-test.out differ
diff --git a/test/data/icc-test.out b/test/data/icc-test.out
index 9f44d87..6b55586 100644
--- a/test/data/icc-test.out
+++ b/test/data/icc-test.out
@@ -477,8 +477,8 @@ STRUCTURE OF TIFF FILE (II): ReaganLargeTiff.tiff
154 | 0x0115 SamplesPerPixel | SHORT | 1 | 3 | 3
166 | 0x0116 RowsPerStrip | SHORT | 1 | 128 | 128
178 | 0x0117 StripByteCounts | LONG | 2 | 880 | 43883 931
- 190 | 0x011a XResolution | RATIONAL | 1 | 888 | 888/0
- 202 | 0x011b YResolution | RATIONAL | 1 | 896 | 896/0
+ 190 | 0x011a XResolution | RATIONAL | 1 | 888 | 300/1
+ 202 | 0x011b YResolution | RATIONAL | 1 | 896 | 300/1
214 | 0x011c PlanarConfiguration | SHORT | 1 | 1 | 1
226 | 0x0128 ResolutionUnit | SHORT | 1 | 2 | 2
238 | 0x0131 Software | ASCII | 11 | 904 | GIMP 2.9.5
@@ -512,8 +512,8 @@ STRUCTURE OF TIFF FILE (II): ReaganLargeTiff.tiff
154 | 0x0115 SamplesPerPixel | SHORT | 1 | 3 | 3
166 | 0x0116 RowsPerStrip | SHORT | 1 | 128 | 128
178 | 0x0117 StripByteCounts | LONG | 2 | 880 | 43883 931
- 190 | 0x011a XResolution | RATIONAL | 1 | 888 | 888/0
- 202 | 0x011b YResolution | RATIONAL | 1 | 896 | 896/0
+ 190 | 0x011a XResolution | RATIONAL | 1 | 888 | 300/1
+ 202 | 0x011b YResolution | RATIONAL | 1 | 896 | 300/1
214 | 0x011c PlanarConfiguration | SHORT | 1 | 1 | 1
226 | 0x0128 ResolutionUnit | SHORT | 1 | 2 | 2
238 | 0x0131 Software | ASCII | 11 | 904 | GIMP 2.9.5
@@ -546,8 +546,8 @@ STRUCTURE OF TIFF FILE (II): ReaganLargeTiff.tiff
154 | 0x0115 SamplesPerPixel | SHORT | 1 | 3 | 3
166 | 0x0116 RowsPerStrip | SHORT | 1 | 128 | 128
178 | 0x0117 StripByteCounts | LONG | 2 | 880 | 43883 931
- 190 | 0x011a XResolution | RATIONAL | 1 | 888 | 888/0
- 202 | 0x011b YResolution | RATIONAL | 1 | 896 | 896/0
+ 190 | 0x011a XResolution | RATIONAL | 1 | 888 | 300/1
+ 202 | 0x011b YResolution | RATIONAL | 1 | 896 | 300/1
214 | 0x011c PlanarConfiguration | SHORT | 1 | 1 | 1
226 | 0x0128 ResolutionUnit | SHORT | 1 | 2 | 2
238 | 0x0131 Software | ASCII | 11 | 904 | GIMP 2.9.5
@@ -579,8 +579,8 @@ STRUCTURE OF TIFF FILE (II): ReaganLargeTiff.tiff
154 | 0x0115 SamplesPerPixel | SHORT | 1 | 3 | 3
166 | 0x0116 RowsPerStrip | SHORT | 1 | 128 | 128
178 | 0x0117 StripByteCounts | LONG | 2 | 880 | 43883 931
- 190 | 0x011a XResolution | RATIONAL | 1 | 888 | 888/0
- 202 | 0x011b YResolution | RATIONAL | 1 | 896 | 896/0
+ 190 | 0x011a XResolution | RATIONAL | 1 | 888 | 300/1
+ 202 | 0x011b YResolution | RATIONAL | 1 | 896 | 300/1
214 | 0x011c PlanarConfiguration | SHORT | 1 | 1 | 1
226 | 0x0128 ResolutionUnit | SHORT | 1 | 2 | 2
238 | 0x0131 Software | ASCII | 11 | 904 | GIMP 2.9.5
@@ -614,8 +614,8 @@ STRUCTURE OF TIFF FILE (II): ReaganLargeTiff.tiff
154 | 0x0115 SamplesPerPixel | SHORT | 1 | 3 | 3
166 | 0x0116 RowsPerStrip | SHORT | 1 | 128 | 128
178 | 0x0117 StripByteCounts | LONG | 2 | 880 | 43883 931
- 190 | 0x011a XResolution | RATIONAL | 1 | 888 | 888/0
- 202 | 0x011b YResolution | RATIONAL | 1 | 896 | 896/0
+ 190 | 0x011a XResolution | RATIONAL | 1 | 888 | 300/1
+ 202 | 0x011b YResolution | RATIONAL | 1 | 896 | 300/1
214 | 0x011c PlanarConfiguration | SHORT | 1 | 1 | 1
226 | 0x0128 ResolutionUnit | SHORT | 1 | 2 | 2
238 | 0x0131 Software | ASCII | 11 | 904 | GIMP 2.9.5
@@ -648,8 +648,8 @@ STRUCTURE OF TIFF FILE (II): ReaganLargeTiff.tiff
154 | 0x0115 SamplesPerPixel | SHORT | 1 | 3 | 3
166 | 0x0116 RowsPerStrip | SHORT | 1 | 128 | 128
178 | 0x0117 StripByteCounts | LONG | 2 | 880 | 43883 931
- 190 | 0x011a XResolution | RATIONAL | 1 | 888 | 888/0
- 202 | 0x011b YResolution | RATIONAL | 1 | 896 | 896/0
+ 190 | 0x011a XResolution | RATIONAL | 1 | 888 | 300/1
+ 202 | 0x011b YResolution | RATIONAL | 1 | 896 | 300/1
214 | 0x011c PlanarConfiguration | SHORT | 1 | 1 | 1
226 | 0x0128 ResolutionUnit | SHORT | 1 | 2 | 2
238 | 0x0131 Software | ASCII | 11 | 904 | GIMP 2.9.5
@@ -681,8 +681,8 @@ STRUCTURE OF TIFF FILE (II): ReaganLargeTiff.tiff
154 | 0x0115 SamplesPerPixel | SHORT | 1 | 3 | 3
166 | 0x0116 RowsPerStrip | SHORT | 1 | 128 | 128
178 | 0x0117 StripByteCounts | LONG | 2 | 880 | 43883 931
- 190 | 0x011a XResolution | RATIONAL | 1 | 888 | 888/0
- 202 | 0x011b YResolution | RATIONAL | 1 | 896 | 896/0
+ 190 | 0x011a XResolution | RATIONAL | 1 | 888 | 300/1
+ 202 | 0x011b YResolution | RATIONAL | 1 | 896 | 300/1
214 | 0x011c PlanarConfiguration | SHORT | 1 | 1 | 1
226 | 0x0128 ResolutionUnit | SHORT | 1 | 2 | 2
238 | 0x0131 Software | ASCII | 11 | 904 | GIMP 2.9.5
@@ -716,8 +716,8 @@ STRUCTURE OF TIFF FILE (II): ReaganLargeTiff.tiff
154 | 0x0115 SamplesPerPixel | SHORT | 1 | 3 | 3
166 | 0x0116 RowsPerStrip | SHORT | 1 | 128 | 128
178 | 0x0117 StripByteCounts | LONG | 2 | 880 | 43883 931
- 190 | 0x011a XResolution | RATIONAL | 1 | 888 | 888/0
- 202 | 0x011b YResolution | RATIONAL | 1 | 896 | 896/0
+ 190 | 0x011a XResolution | RATIONAL | 1 | 888 | 300/1
+ 202 | 0x011b YResolution | RATIONAL | 1 | 896 | 300/1
214 | 0x011c PlanarConfiguration | SHORT | 1 | 1 | 1
226 | 0x0128 ResolutionUnit | SHORT | 1 | 2 | 2
238 | 0x0131 Software | ASCII | 11 | 904 | GIMP 2.9.5
@@ -750,8 +750,8 @@ STRUCTURE OF TIFF FILE (II): ReaganLargeTiff.tiff
154 | 0x0115 SamplesPerPixel | SHORT | 1 | 3 | 3
166 | 0x0116 RowsPerStrip | SHORT | 1 | 128 | 128
178 | 0x0117 StripByteCounts | LONG | 2 | 880 | 43883 931
- 190 | 0x011a XResolution | RATIONAL | 1 | 888 | 888/0
- 202 | 0x011b YResolution | RATIONAL | 1 | 896 | 896/0
+ 190 | 0x011a XResolution | RATIONAL | 1 | 888 | 300/1
+ 202 | 0x011b YResolution | RATIONAL | 1 | 896 | 300/1
214 | 0x011c PlanarConfiguration | SHORT | 1 | 1 | 1
226 | 0x0128 ResolutionUnit | SHORT | 1 | 2 | 2
238 | 0x0131 Software | ASCII | 11 | 904 | GIMP 2.9.5
diff --git a/test/data/stdin-test.out b/test/data/stdin-test.out
index c051f72..ca90eb8 100644
--- a/test/data/stdin-test.out
+++ b/test/data/stdin-test.out
@@ -248,8 +248,8 @@ STRUCTURE OF TIFF FILE (MM): Reagan.tiff
130 | 0x0115 SamplesPerPixel | SHORT | 1 | 262144 | 4
142 | 0x0116 RowsPerStrip | SHORT | 1 | 8519680 | 130
154 | 0x0117 StripByteCounts | LONG | 1 | 104000 | 104000
- 166 | 0x011a XResolution | RATIONAL | 1 | 778 | 778/0
- 178 | 0x011b YResolution | RATIONAL | 1 | 786 | 786/0
+ 166 | 0x011a XResolution | RATIONAL | 1 | 778 | 300/1
+ 178 | 0x011b YResolution | RATIONAL | 1 | 786 | 300/1
190 | 0x011c PlanarConfiguration | SHORT | 1 | 65536 | 1
202 | 0x0128 ResolutionUnit | SHORT | 1 | 131072 | 2
214 | 0x0131 Software | ASCII | 29 | 794 | Adobe Photoshop CS Macintosh
diff --git a/test/data/tiff-test.out b/test/data/tiff-test.out
index ca4c1c9..a59f8f3 100644
--- a/test/data/tiff-test.out
+++ b/test/data/tiff-test.out
@@ -31,8 +31,8 @@ Orientation SHORT 1 "1"
SamplesPerPixel SHORT 1 "3"
RowsPerStrip SHORT 1 "64"
StripByteCounts LONG 1 "243"
-XResolution RATIONAL 1 "510/0"
-YResolution RATIONAL 1 "518/0"
+XResolution RATIONAL 1 "1207959552/16777216"
+YResolution RATIONAL 1 "1207959552/16777216"
PlanarConfiguration SHORT 1 "1"
ResolutionUnit SHORT 1 "2"
@@ -118,8 +118,8 @@ Orientation SHORT 1 "1"
SamplesPerPixel SHORT 1 "3"
RowsPerStrip SHORT 1 "64"
StripByteCounts LONG 1 "243"
-XResolution RATIONAL 1 "278/0"
-YResolution RATIONAL 1 "286/0"
+XResolution RATIONAL 1 "1207959552/16777216"
+YResolution RATIONAL 1 "1207959552/16777216"
PlanarConfiguration SHORT 1 "1"
ResolutionUnit SHORT 1 "2"
ExifTag LONG 1 "294"
diff --git a/test/data/webp-test.out b/test/data/webp-test.out
index 1ae9fc4..e92a844 100644
--- a/test/data/webp-test.out
+++ b/test/data/webp-test.out
@@ -22,8 +22,8 @@ STRUCTURE OF WEBP FILE: exiv2-bug1199.webp
58 | 0x010f Make | ASCII | 18 | 238 | NIKON CORPORATION
70 | 0x0110 Model | ASCII | 12 | 256 | NIKON D5300
82 | 0x0112 Orientation | SHORT | 1 | 1 | 1
- 94 | 0x011a XResolution | RATIONAL | 1 | 268 | 268/0
- 106 | 0x011b YResolution | RATIONAL | 1 | 276 | 276/0
+ 94 | 0x011a XResolution | RATIONAL | 1 | 268 | 300/1
+ 106 | 0x011b YResolution | RATIONAL | 1 | 276 | 300/1
118 | 0x0128 ResolutionUnit | SHORT | 1 | 2 | 2
130 | 0x0131 Software | ASCII | 11 | 284 | GIMP 2.9.5
142 | 0x0132 DateTime | ASCII | 20 | 296 | 2016:08:13 10:54:16
@@ -31,8 +31,8 @@ STRUCTURE OF WEBP FILE: exiv2-bug1199.webp
166 | 0x8769 ExifTag | LONG | 1 | 316 | 316
STRUCTURE OF TIFF FILE (II): MemIo
address | tag | type | count | offset | value
- 318 | 0x829a ExposureTime | RATIONAL | 1 | 814 | 814/0
- 330 | 0x829d FNumber | RATIONAL | 1 | 822 | 822/0
+ 318 | 0x829a ExposureTime | RATIONAL | 1 | 814 | 10/4000
+ 330 | 0x829d FNumber | RATIONAL | 1 | 822 | 100/10
342 | 0x8822 ExposureProgram | SHORT | 1 | 0 | 0
354 | 0x8827 ISOSpeedRatings | SHORT | 1 | 200 | 200
366 | 0x8830 SensitivityType | SHORT | 1 | 2 | 2
@@ -40,13 +40,13 @@ STRUCTURE OF WEBP FILE: exiv2-bug1199.webp
390 | 0x9003 DateTimeOriginal | ASCII | 20 | 830 | 2015:07:16 15:38:54
402 | 0x9004 DateTimeDigitized | ASCII | 20 | 850 | 2015:07:16 15:38:54
414 | 0x9101 ComponentsConfiguration | UNDEFINED | 4 | 197121 | ...
- 426 | 0x9102 CompressedBitsPerPixel | RATIONAL | 1 | 870 | 870/0
- 438 | 0x9204 ExposureBiasValue | SRATIONAL | 1 | 878 | 878/0
- 450 | 0x9205 MaxApertureValue | RATIONAL | 1 | 886 | 886/0
+ 426 | 0x9102 CompressedBitsPerPixel | RATIONAL | 1 | 870 | 2/1
+ 438 | 0x9204 ExposureBiasValue | SRATIONAL | 1 | 878 | 0/6
+ 450 | 0x9205 MaxApertureValue | RATIONAL | 1 | 886 | 43/10
462 | 0x9207 MeteringMode | SHORT | 1 | 5 | 5
474 | 0x9208 LightSource | SHORT | 1 | 0 | 0
486 | 0x9209 Flash | SHORT | 1 | 16 | 16
- 498 | 0x920a FocalLength | RATIONAL | 1 | 894 | 894/0
+ 498 | 0x920a FocalLength | RATIONAL | 1 | 894 | 440/10
510 | 0x927c MakerNote | UNDEFINED | 3826 | 902 | Nikon.....II*.....9.+...$...... ...
STRUCTURE OF TIFF FILE (II): MemIo
address | tag | type | count | offset | value
@@ -67,7 +67,7 @@ STRUCTURE OF WEBP FILE: exiv2-bug1199.webp
178 | 0x008a | SHORT | 1 | 1 | 1
190 | 0x001e GPSDifferential | SHORT | 1 | 1 | 1
202 | 0x001b GPSProcessingMethod | SHORT | 7 | 2032 | 0 6016 4016 6016 4016 ...
- 214 | 0x0019 GPSDestDistanceRef | SRATIONAL | 1 | 2046 | 2046/0
+ 214 | 0x0019 GPSDestDistanceRef | SRATIONAL | 1 | 2046 | 0/6
226 | 0x000e GPSTrackRef | UNDEFINED | 4 | 786688 | ...
238 | 0x001c GPSAreaInformation | SHORT | 3 | 2054 | 0 1 6
250 | 0x0018 GPSDestBearing | UNDEFINED | 4 | 393472 | ...
@@ -83,7 +83,7 @@ STRUCTURE OF WEBP FILE: exiv2-bug1199.webp
370 | 0x0002 ISOSpeed | SHORT | 2 | 13107200 | 0 200
382 | 0x0016 GPSDestLongitude | SHORT | 4 | 2152 | 0 0 6000 4000
394 | 0x00a2 | LONG | 1 | 6173648 | 6173648
- 406 | 0x0084 | RATIONAL | 4 | 2160 | 180/0 10/0 2500/0 10/0
+ 406 | 0x0084 | RATIONAL | 4 | 2160 | 180/10 2500/10 35/10 63/10
418 | 0x008b | UNDEFINED | 4 | 786743 | 7..
430 | 0x0083 | BYTE | 1 | 14 | .
442 | 0x0095 | ASCII | 5 | 2192 | OFF
@@ -95,7 +95,7 @@ STRUCTURE OF WEBP FILE: exiv2-bug1199.webp
514 | 0x00a7 | LONG | 1 | 9608 | 9608
526 | 0x00ab | ASCII | 16 | 2234 | AUTO(FLASH OFF)
538 | 0x0001 Version | UNDEFINED | 4 | 825307696 | 0211
- 550 | 0x000c GPSSpeedRef | RATIONAL | 4 | 2250 | 538/0 256/0 354/0 256/0
+ 550 | 0x000c GPSSpeedRef | RATIONAL | 4 | 2250 | 538/256 354/256 256/256 256/256
562 | 0x0005 WhiteBalance | ASCII | 13 | 2282 | AUTO
574 | 0x000b ProcessingSoftware | SSHORT | 2 | 0 | 0 0
586 | 0x00b7 | UNDEFINED | 30 | 2296 | 0100....i....................
@@ -123,7 +123,7 @@ STRUCTURE OF WEBP FILE: exiv2-bug1199.webp
666 | 0xa401 CustomRendered | SHORT | 1 | 0 | 0
678 | 0xa402 ExposureMode | SHORT | 1 | 0 | 0
690 | 0xa403 WhiteBalance | SHORT | 1 | 0 | 0
- 702 | 0xa404 DigitalZoomRatio | RATIONAL | 1 | 4780 | 4780/0
+ 702 | 0xa404 DigitalZoomRatio | RATIONAL | 1 | 4780 | 1/1
714 | 0xa405 FocalLengthIn35mmFilm | SHORT | 1 | 66 | 66
726 | 0xa406 SceneCaptureType | SHORT | 1 | 0 | 0
738 | 0xa407 GainControl | SHORT | 1 | 0 | 0
--
exiv2 packaging
More information about the pkg-kde-commits
mailing list