exiftool_vendored 10.58.0 → 10.65.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of exiftool_vendored might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/bin/Changes +100 -1
- data/bin/MANIFEST +2 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +39 -38
- data/bin/arg_files/exif2iptc.args +3 -0
- data/bin/arg_files/iptc2exif.args +3 -0
- data/bin/config_files/example.config +16 -14
- data/bin/config_files/photoshop_paths.config +10 -0
- data/bin/exiftool +71 -65
- data/bin/lib/Image/ExifTool/APE.pm +5 -0
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +31 -15
- data/bin/lib/Image/ExifTool/Canon.pm +18 -4
- data/bin/lib/Image/ExifTool/CanonCustom.pm +3 -0
- data/bin/lib/Image/ExifTool/Charset/DOSLatin1.pm +49 -0
- data/bin/lib/Image/ExifTool/Charset/DOSLatinUS.pm +49 -0
- data/bin/lib/Image/ExifTool/Charset.pm +8 -5
- data/bin/lib/Image/ExifTool/Exif.pm +37 -18
- data/bin/lib/Image/ExifTool/FLAC.pm +47 -37
- data/bin/lib/Image/ExifTool/FLIR.pm +3 -3
- data/bin/lib/Image/ExifTool/FujiFilm.pm +5 -2
- data/bin/lib/Image/ExifTool/GPS.pm +6 -6
- data/bin/lib/Image/ExifTool/Geotag.pm +1 -1
- data/bin/lib/Image/ExifTool/H264.pm +2 -0
- data/bin/lib/Image/ExifTool/ID3.pm +8 -3
- data/bin/lib/Image/ExifTool/IPTC.pm +1 -1
- data/bin/lib/Image/ExifTool/Import.pm +4 -1
- data/bin/lib/Image/ExifTool/InDesign.pm +11 -7
- data/bin/lib/Image/ExifTool/Kodak.pm +4 -1
- data/bin/lib/Image/ExifTool/Lang/de.pm +31 -31
- data/bin/lib/Image/ExifTool/MWG.pm +12 -4
- data/bin/lib/Image/ExifTool/MakerNotes.pm +3 -3
- data/bin/lib/Image/ExifTool/Matroska.pm +2 -1
- data/bin/lib/Image/ExifTool/Microsoft.pm +3 -3
- data/bin/lib/Image/ExifTool/Minolta.pm +71 -61
- data/bin/lib/Image/ExifTool/Nikon.pm +286 -43
- data/bin/lib/Image/ExifTool/NikonCustom.pm +1049 -0
- data/bin/lib/Image/ExifTool/Olympus.pm +4 -1
- data/bin/lib/Image/ExifTool/PNG.pm +4 -7
- data/bin/lib/Image/ExifTool/PanasonicRaw.pm +24 -1
- data/bin/lib/Image/ExifTool/Pentax.pm +20 -6
- data/bin/lib/Image/ExifTool/Photoshop.pm +24 -3
- data/bin/lib/Image/ExifTool/QuickTime.pm +545 -14
- data/bin/lib/Image/ExifTool/README +16 -9
- data/bin/lib/Image/ExifTool/RIFF.pm +8 -1
- data/bin/lib/Image/ExifTool/Samsung.pm +5 -4
- data/bin/lib/Image/ExifTool/Sigma.pm +9 -1
- data/bin/lib/Image/ExifTool/Sony.pm +327 -153
- data/bin/lib/Image/ExifTool/TagLookup.pm +3273 -3220
- data/bin/lib/Image/ExifTool/TagNames.pod +317 -38
- data/bin/lib/Image/ExifTool/Validate.pm +15 -1
- data/bin/lib/Image/ExifTool/WriteExif.pl +5 -0
- data/bin/lib/Image/ExifTool/WriteIPTC.pl +23 -1
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +8 -2
- data/bin/lib/Image/ExifTool/WriteXMP.pl +7 -0
- data/bin/lib/Image/ExifTool/Writer.pl +96 -18
- data/bin/lib/Image/ExifTool/XMP.pm +20 -11
- data/bin/lib/Image/ExifTool/XMP2.pl +634 -583
- data/bin/lib/Image/ExifTool.pm +124 -17
- data/bin/lib/Image/ExifTool.pod +86 -82
- data/bin/perl-Image-ExifTool.spec +38 -37
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +4 -2
@@ -39,7 +39,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
|
|
39
39
|
use Image::ExifTool::Exif;
|
40
40
|
use Image::ExifTool::APP12;
|
41
41
|
|
42
|
-
$VERSION = '2.
|
42
|
+
$VERSION = '2.51';
|
43
43
|
|
44
44
|
sub PrintLensInfo($$$);
|
45
45
|
|
@@ -101,7 +101,9 @@ my %olympusLensTypes = (
|
|
101
101
|
'0 26 10' => 'Olympus M.Zuiko Digital ED 12-100mm F4.0 IS Pro', #IB/NJ
|
102
102
|
'0 27 10' => 'Olympus M.Zuiko Digital ED 30mm F3.5 Macro', #IB/NJ
|
103
103
|
'0 28 10' => 'Olympus M.Zuiko Digital ED 25mm F1.2 Pro', #IB/NJ
|
104
|
+
'0 29 10' => 'Olympus M.Zuiko Digital ED 17mm F1.2 Pro', #IB
|
104
105
|
'0 30 00' => 'Olympus Zuiko Digital ED 50-200mm F2.8-3.5 SWD', #7
|
106
|
+
'0 30 10' => 'Olympus M.Zuiko Digital ED 45mm F1.2 Pro', #IB
|
105
107
|
'0 31 00' => 'Olympus Zuiko Digital ED 12-60mm F2.8-4.0 SWD', #7
|
106
108
|
'0 32 00' => 'Olympus Zuiko Digital ED 14-35mm F2.0 SWD', #PH
|
107
109
|
'0 33 00' => 'Olympus Zuiko Digital 25mm F2.8', #PH
|
@@ -401,6 +403,7 @@ my %olympusCameraTypes = (
|
|
401
403
|
S0061 => 'PEN-F', #forum7005
|
402
404
|
S0065 => 'E-PL8',
|
403
405
|
S0067 => 'E-M1MarkII',
|
406
|
+
S0068 => 'E-M10MarkIII',
|
404
407
|
SR45 => 'D220',
|
405
408
|
SR55 => 'D320L',
|
406
409
|
SR83 => 'D340L',
|
@@ -26,7 +26,7 @@ use strict;
|
|
26
26
|
use vars qw($VERSION $AUTOLOAD %stdCase);
|
27
27
|
use Image::ExifTool qw(:DataAccess :Utils);
|
28
28
|
|
29
|
-
$VERSION = '1.
|
29
|
+
$VERSION = '1.44';
|
30
30
|
|
31
31
|
sub ProcessPNG_tEXt($$$);
|
32
32
|
sub ProcessPNG_iTXt($$$);
|
@@ -41,7 +41,7 @@ sub GetLangInfo($$);
|
|
41
41
|
sub BuildTextChunk($$$$$);
|
42
42
|
|
43
43
|
# translate lower-case to actual case used for eXIf/zXIf chunks
|
44
|
-
%stdCase = ( 'zxif' => 'zxIf', exif => '
|
44
|
+
%stdCase = ( 'zxif' => 'zxIf', exif => 'eXIf' );
|
45
45
|
|
46
46
|
my $noCompressLib;
|
47
47
|
|
@@ -258,10 +258,7 @@ $Image::ExifTool::PNG::colorType = -1;
|
|
258
258
|
# eXIf
|
259
259
|
$stdCase{exif} => {
|
260
260
|
Name => $stdCase{exif},
|
261
|
-
Notes =>
|
262
|
-
proposed but not yet registered. This is where ExifTool will create new
|
263
|
-
EXIF
|
264
|
-
},
|
261
|
+
Notes => 'this is where ExifTool will create new EXIF',
|
265
262
|
SubDirectory => {
|
266
263
|
TagTable => 'Image::ExifTool::Exif::Main',
|
267
264
|
DirName => 'EXIF', # (to write as a block)
|
@@ -984,7 +981,7 @@ sub ProcessProfile($$$)
|
|
984
981
|
}
|
985
982
|
} elsif ($buff =~ /^(MM\0\x2a|II\x2a\0)/) {
|
986
983
|
# TIFF information
|
987
|
-
return 1 if $outBuff and not $$editDirs{IFD0};
|
984
|
+
return 1 if $outBuff and not $$editDirs{IFD0};
|
988
985
|
if ($outBuff) {
|
989
986
|
# delete non-standard EXIF if recreating from scratch
|
990
987
|
if ($$et{DEL_GROUP}{EXIF} or $$et{DEL_GROUP}{IFD0}) {
|
@@ -20,7 +20,7 @@ use vars qw($VERSION);
|
|
20
20
|
use Image::ExifTool qw(:DataAccess :Utils);
|
21
21
|
use Image::ExifTool::Exif;
|
22
22
|
|
23
|
-
$VERSION = '1.
|
23
|
+
$VERSION = '1.11';
|
24
24
|
|
25
25
|
sub ProcessJpgFromRaw($$$);
|
26
26
|
sub WriteJpgFromRaw($$$);
|
@@ -223,6 +223,14 @@ my %wbTypeInfo = (
|
|
223
223
|
SubDirectory => { TagTable => 'Image::ExifTool::PanasonicRaw::DistortionInfo' },
|
224
224
|
},
|
225
225
|
# 0x11b - chromatic aberration correction (ref 3)
|
226
|
+
0x120 => {
|
227
|
+
Name => 'CameraIFD',
|
228
|
+
SubDirectory => {
|
229
|
+
TagTable => 'Image::ExifTool::PanasonicRaw::CameraIFD',
|
230
|
+
Base => '$start',
|
231
|
+
ProcessProc => \&Image::ExifTool::ProcessTIFF,
|
232
|
+
},
|
233
|
+
},
|
226
234
|
0x2bc => { # PH Extension!!
|
227
235
|
Name => 'ApplicationNotes', # (writable directory!)
|
228
236
|
Writable => 'int8u',
|
@@ -379,6 +387,21 @@ my %wbTypeInfo = (
|
|
379
387
|
# 14,15 - checksums
|
380
388
|
);
|
381
389
|
|
390
|
+
# Panasonic RW2 camera IFD written by GH5 (ref PH)
|
391
|
+
# (doesn't seem to be valid for the GF7 or GM5 -- encrypted?)
|
392
|
+
%Image::ExifTool::PanasonicRaw::CameraIFD = (
|
393
|
+
GROUPS => { 0 => 'PanasonicRaw', 1 => 'CameraIFD', 2 => 'Camera'},
|
394
|
+
# (don't know what format codes 0x101 and 0x102 are for, so just
|
395
|
+
# map them into 4 = int32u for now)
|
396
|
+
VARS => { MAP_FORMAT => { 0x101 => 4, 0x102 => 4 } },
|
397
|
+
0x1101 => { #forum8484 (Metabones EF-M43-BT2 adapter with Canon lenses)
|
398
|
+
Name => 'FocusDistance',
|
399
|
+
Writable => 'int16u',
|
400
|
+
ValueConv => '$val / 200',
|
401
|
+
PrintConv => '$val > 65534.5/200 ? "inf" : "$val m"',
|
402
|
+
},
|
403
|
+
);
|
404
|
+
|
382
405
|
# PanasonicRaw composite tags
|
383
406
|
%Image::ExifTool::PanasonicRaw::Composite = (
|
384
407
|
ImageWidth => {
|
@@ -58,7 +58,7 @@ use Image::ExifTool::Exif;
|
|
58
58
|
use Image::ExifTool::GPS;
|
59
59
|
use Image::ExifTool::HP;
|
60
60
|
|
61
|
-
$VERSION = '3.
|
61
|
+
$VERSION = '3.20';
|
62
62
|
|
63
63
|
sub CryptShutterCount($$);
|
64
64
|
sub PrintFilter($$$);
|
@@ -178,7 +178,8 @@ sub DecodeAFPoints($$$$;$);
|
|
178
178
|
'4 2' => 'smc PENTAX-FA 80-320mm F4.5-5.6',
|
179
179
|
'4 3' => 'smc PENTAX-FA 43mm F1.9 Limited',
|
180
180
|
'4 6' => 'smc PENTAX-FA 35-80mm F4-5.6',
|
181
|
-
'4
|
181
|
+
'4 9' => 'Irix 11mm F4 Firefly', #27
|
182
|
+
'4 10' => 'Irix 15mm F2.4', #27
|
182
183
|
'4 12' => 'smc PENTAX-FA 50mm F1.4', #17
|
183
184
|
'4 15' => 'smc PENTAX-FA 28-105mm F4-5.6 [IF]',
|
184
185
|
'4 16' => 'Tamron AF 80-210mm F4-5.6 (178D)', #13
|
@@ -325,6 +326,7 @@ sub DecodeAFPoints($$$$;$);
|
|
325
326
|
'8 30' => 'Sigma 17-70mm F2.8-4 DC Macro HSM | C', #27
|
326
327
|
'8 31' => 'Sigma 18-35mm F1.8 DC HSM', #27
|
327
328
|
'8 32' => 'Sigma 30mm F1.4 DC HSM | A', #27
|
329
|
+
'8 33' => 'Sigma 18-200mm F3.5-6.3 DC MACRO HSM', #DieterPearcey (C014)
|
328
330
|
'8 34' => 'Sigma 18-300mm F3.5-6.3 DC Macro HSM', #NJ
|
329
331
|
'8 59' => 'HD PENTAX-D FA 150-450mm F4.5-5.6 ED DC AW', #29
|
330
332
|
'8 60' => 'HD PENTAX-D FA* 70-200mm F2.8 ED DC AW', #29
|
@@ -1924,13 +1926,16 @@ my %binaryDataAttrs = (
|
|
1924
1926
|
1 => 'Remote Control (3 s delay)', #19
|
1925
1927
|
2 => 'Remote Control', #19
|
1926
1928
|
4 => 'Remote Continuous Shooting', # (K-5)
|
1927
|
-
10 => 'Composite Average', #31
|
1928
|
-
11 => 'Composite Additive', #31
|
1929
|
-
12 => 'Composite Bright', #31
|
1930
1929
|
},{
|
1931
1930
|
0x00 => 'Single Exposure',
|
1932
1931
|
0x01 => 'Multiple Exposure',
|
1932
|
+
0x02 => 'Composite Average', #31
|
1933
|
+
0x03 => 'Composite Additive', #31
|
1934
|
+
0x04 => 'Composite Bright', #31
|
1933
1935
|
0x08 => 'Interval Shooting', #31
|
1936
|
+
0x0a => 'Interval Composite Average', #31
|
1937
|
+
0x0b => 'Interval Composite Additive', #31
|
1938
|
+
0x0c => 'Interval Composite Bright', #31
|
1934
1939
|
0x0f => 'Interval Movie', #PH (K-01)
|
1935
1940
|
0x10 => 'HDR', #PH (645D)
|
1936
1941
|
0x20 => 'HDR Strong 1', #PH (NC) (K-5)
|
@@ -5750,7 +5755,16 @@ my %binaryDataAttrs = (
|
|
5750
5755
|
TagTable => 'Image::ExifTool::Pentax::Main',
|
5751
5756
|
Start => 10,
|
5752
5757
|
Base => '$start',
|
5753
|
-
ByteOrder => '
|
5758
|
+
ByteOrder => 'Unknown', # K-70 is little-endian, K-x is big-endian
|
5759
|
+
},
|
5760
|
+
},
|
5761
|
+
mknt => { # (Q-S1)
|
5762
|
+
Name => 'MakerNotes',
|
5763
|
+
SubDirectory => {
|
5764
|
+
TagTable => 'Image::ExifTool::Pentax::Main',
|
5765
|
+
Start => 10,
|
5766
|
+
Base => '$start',
|
5767
|
+
ByteOrder => 'Unknown',
|
5754
5768
|
},
|
5755
5769
|
},
|
5756
5770
|
);
|
@@ -28,7 +28,7 @@ use strict;
|
|
28
28
|
use vars qw($VERSION $AUTOLOAD $iptcDigestInfo);
|
29
29
|
use Image::ExifTool qw(:DataAccess :Utils);
|
30
30
|
|
31
|
-
$VERSION = '1.
|
31
|
+
$VERSION = '1.56';
|
32
32
|
|
33
33
|
sub ProcessPhotoshop($$$);
|
34
34
|
sub WritePhotoshop($$$);
|
@@ -543,11 +543,32 @@ my %unicodeString = (
|
|
543
543
|
Name => 'LayerUnicodeNames',
|
544
544
|
List => 1,
|
545
545
|
RawConv => q{
|
546
|
-
return
|
546
|
+
return '' if length($val) < 4;
|
547
547
|
my $len = Get32u(\$val, 0);
|
548
548
|
return $self->Decode(substr($val, 4, $len * 2), 'UCS2');
|
549
549
|
},
|
550
550
|
},
|
551
|
+
lyid => {
|
552
|
+
Name => 'LayerIDs',
|
553
|
+
Description => 'Layer IDs',
|
554
|
+
Format => 'int32u',
|
555
|
+
List => 1,
|
556
|
+
Unknown => 1,
|
557
|
+
},
|
558
|
+
shmd => { # layer metadata (undocumented structure)
|
559
|
+
# (for now, only extract layerTime. May also contain "layerXMP" --
|
560
|
+
# it would be nice to decode this but I need a sample)
|
561
|
+
Name => 'LayerModifyDates',
|
562
|
+
Groups => { 2 => 'Time' },
|
563
|
+
List => 1,
|
564
|
+
RawConv => q{
|
565
|
+
return '' unless $val =~ /layerTimedoub(.{8})/s;
|
566
|
+
my $tmp = $1;
|
567
|
+
return GetDouble(\$tmp, 0);
|
568
|
+
},
|
569
|
+
ValueConv => 'length $val ? ConvertUnixTime($val,1) : ""',
|
570
|
+
PrintConv => 'length $val ? $self->ConvertDateTime($val) : ""',
|
571
|
+
}
|
551
572
|
);
|
552
573
|
|
553
574
|
# image data
|
@@ -698,7 +719,7 @@ sub ProcessLayers($$$)
|
|
698
719
|
$et->HandleTag($tagTablePtr, $tag, '');
|
699
720
|
++$count{$tag};
|
700
721
|
}
|
701
|
-
$et->HandleTag($tagTablePtr, $tag,
|
722
|
+
$et->HandleTag($tagTablePtr, $tag, undef, %dinfo);
|
702
723
|
++$count{$tag};
|
703
724
|
$pos += $n; # step to start of next structure
|
704
725
|
}
|