exiftool_vendored 13.57.1 → 13.58.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/Changes +15 -1
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +2 -2
- data/bin/exiftool +4 -3
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +6 -4
- data/bin/lib/Image/ExifTool/Canon.pm +36 -36
- data/bin/lib/Image/ExifTool/FujiFilm.pm +4 -4
- data/bin/lib/Image/ExifTool/Garmin.pm +185 -3221
- data/bin/lib/Image/ExifTool/M2TS.pm +24 -1
- data/bin/lib/Image/ExifTool/Nikon.pm +4 -1
- data/bin/lib/Image/ExifTool/QuickTime.pm +4 -1
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +1 -1
- data/bin/lib/Image/ExifTool/TagLookup.pm +36 -37
- data/bin/lib/Image/ExifTool/TagNames.pod +48 -48
- data/bin/lib/Image/ExifTool/XMP.pm +24 -6
- data/bin/lib/Image/ExifTool.pm +1 -3
- data/bin/perl-Image-ExifTool.spec +1 -1
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 80eb52ce82e2830a23dcaaa3b12c1a6a1629b2ac95475c6c96f21b2d1313cf67
|
|
4
|
+
data.tar.gz: 5bdf2a271cc97053b66c1b836d3268ab0229ab568e20df3f6b5b35da3124c6f3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5e11b14441c11c34b7d667af8a60d26314d3ae9281294a6b345f5a383ac5037cc96684f840a1d7f75e9ab21ca24b6c7355a79ff1e192d084fedfe13d65aee900
|
|
7
|
+
data.tar.gz: bced11b21e11fbb5ccd250a6ebd5f58c3e00699b5e289a3e772c137ae0b7b26227e2495f71d9b8e6bd98216b1301c49184d2cd8042273060c444940f6ebcc95b
|
data/bin/Changes
CHANGED
|
@@ -7,11 +7,25 @@ RSS feed: https://exiftool.org/rss.xml
|
|
|
7
7
|
Note: The most recent production release is Version 13.55. (Other versions are
|
|
8
8
|
considered development releases, and are not uploaded to MetaCPAN.)
|
|
9
9
|
|
|
10
|
+
May 5, 2026 - Version 13.58
|
|
11
|
+
|
|
12
|
+
- Added a few new Nikon Z lenses (thanks Warren Hatch)
|
|
13
|
+
- Added a few new QuickTime MajorBrand values (thanks Herb)
|
|
14
|
+
- Added a new RAFCompression value
|
|
15
|
+
- Added undocumented -eh option (alias for -E/-escapeHTML)
|
|
16
|
+
- Decode timed GPS from INNOVV N2 TS videos
|
|
17
|
+
- Improved decoding of Canon ColorData for some models (thanks Iliah Borg)
|
|
18
|
+
- Changed the name of the RAFVersion tag to FirmwareVersion
|
|
19
|
+
- Removed conversion for Garmin FIT DeviceIndex values
|
|
20
|
+
- Properly parse XML CDATA and comment sections
|
|
21
|
+
- Fixed issue which could cause failed Garmin test on some systems
|
|
22
|
+
|
|
10
23
|
Apr. 17, 2026 - Version 13.57
|
|
11
24
|
|
|
12
25
|
- Added print conversions for Garmin FIT enum tags
|
|
13
26
|
- Decode a number of undocumented Garmin FIT tags
|
|
14
|
-
- Reverted XML patch of 13.56 which broke structured
|
|
27
|
+
- Reverted XML patch of 13.56 which broke structured output for XMP files with
|
|
28
|
+
an XML header
|
|
15
29
|
|
|
16
30
|
Apr. 15, 2026 - Version 13.56 - "Exif 3.1"
|
|
17
31
|
|
data/bin/META.json
CHANGED
data/bin/META.yml
CHANGED
data/bin/README
CHANGED
|
@@ -111,8 +111,8 @@ your home directory, then you would type the following commands in a
|
|
|
111
111
|
terminal window to extract and run ExifTool:
|
|
112
112
|
|
|
113
113
|
cd ~/Desktop
|
|
114
|
-
gzip -dc Image-ExifTool-13.
|
|
115
|
-
cd Image-ExifTool-13.
|
|
114
|
+
gzip -dc Image-ExifTool-13.58.tar.gz | tar -xf -
|
|
115
|
+
cd Image-ExifTool-13.58
|
|
116
116
|
./exiftool t/images/ExifTool.jpg
|
|
117
117
|
|
|
118
118
|
Note: These commands extract meta information from one of the test images.
|
data/bin/exiftool
CHANGED
|
@@ -11,7 +11,7 @@ use strict;
|
|
|
11
11
|
use warnings;
|
|
12
12
|
require 5.004;
|
|
13
13
|
|
|
14
|
-
my $version = '13.
|
|
14
|
+
my $version = '13.58';
|
|
15
15
|
|
|
16
16
|
$^W = 1; # enable global warnings
|
|
17
17
|
|
|
@@ -1009,7 +1009,8 @@ for (;;) {
|
|
|
1009
1009
|
/^list_dir$/i and $listDir = 1, next;
|
|
1010
1010
|
(/^e$/ or $a eq '-composite') and $mt->Options(Composite => 0), next;
|
|
1011
1011
|
(/^-e$/ or $a eq 'composite') and $mt->Options(Composite => 1), next;
|
|
1012
|
-
(
|
|
1012
|
+
# (-eh is undocumented)
|
|
1013
|
+
(/^E$/ or $a eq 'escapehtml' or $a eq 'eh') and require Image::ExifTool::HTML and $escapeHTML = 1, next;
|
|
1013
1014
|
($a eq 'ec' or $a eq 'escapec') and $escapeC = 1, next;
|
|
1014
1015
|
($a eq 'ex' or $a eq 'escapexml') and $escapeXML = 1, next;
|
|
1015
1016
|
if (/^echo(\d)?$/i) {
|
|
@@ -6159,7 +6160,7 @@ with this command:
|
|
|
6159
6160
|
|
|
6160
6161
|
produces output like this:
|
|
6161
6162
|
|
|
6162
|
-
-- Generated by ExifTool 13.
|
|
6163
|
+
-- Generated by ExifTool 13.58 --
|
|
6163
6164
|
File: a.jpg - 2003:10:31 15:44:19
|
|
6164
6165
|
(f/5.6, 1/60s, ISO 100)
|
|
6165
6166
|
File: b.jpg - 2006:05:23 11:57:38
|
|
@@ -35,7 +35,7 @@ use Image::ExifTool::Sony;
|
|
|
35
35
|
use Image::ExifTool::Validate;
|
|
36
36
|
use Image::ExifTool::MacOS;
|
|
37
37
|
|
|
38
|
-
$VERSION = '3.
|
|
38
|
+
$VERSION = '3.69';
|
|
39
39
|
@ISA = qw(Exporter);
|
|
40
40
|
|
|
41
41
|
sub NumbersFirst($$);
|
|
@@ -481,7 +481,7 @@ assume these values are properly stored as UTC, and will convert them to
|
|
|
481
481
|
local time when extracting.
|
|
482
482
|
|
|
483
483
|
When writing string-based date/time tags, the system time zone is added if
|
|
484
|
-
the PrintConv option is enabled and no time zone is specified. This is
|
|
484
|
+
the L<PrintConv|../ExifTool.html#PrintConv> option is enabled and no time zone is specified. This is
|
|
485
485
|
because Apple software may display crazy values if the time zone is missing
|
|
486
486
|
for some tags.
|
|
487
487
|
|
|
@@ -2301,12 +2301,13 @@ sub WriteTagNames($$)
|
|
|
2301
2301
|
for ($r=0; $r<$rows; ++$r) {
|
|
2302
2302
|
print HTMLFILE '<tr>';
|
|
2303
2303
|
for ($c=0; $c<$cols; ++$c) {
|
|
2304
|
-
my ($key, $val, $index, $prt);
|
|
2304
|
+
my ($key, $val, $index, $prt, $bit);
|
|
2305
2305
|
my $n = $r + $c * $rows;
|
|
2306
2306
|
if ($n < @keys) {
|
|
2307
2307
|
$key = $keys[$n];
|
|
2308
2308
|
$val = $$printConv{$key};
|
|
2309
2309
|
} elsif ($n < $items) {
|
|
2310
|
+
$bit = 1;
|
|
2310
2311
|
$key = 'Bit ' . $bits[$n - @keys];
|
|
2311
2312
|
$val = $$bits{$bits[$n - @keys]};
|
|
2312
2313
|
}
|
|
@@ -2321,7 +2322,8 @@ sub WriteTagNames($$)
|
|
|
2321
2322
|
} elsif ($$printConv{PrintString} or
|
|
2322
2323
|
$index !~ /^[+-]?(?=\d|\.\d)\d*(\.\d*)?$/)
|
|
2323
2324
|
{
|
|
2324
|
-
$index =
|
|
2325
|
+
$index = EscapeHTML($index);
|
|
2326
|
+
$index = "'${index}'" unless $bit;
|
|
2325
2327
|
}
|
|
2326
2328
|
} else {
|
|
2327
2329
|
$index = $prt = ' ';
|
|
@@ -88,7 +88,7 @@ sub ProcessCTMD($$$);
|
|
|
88
88
|
sub ProcessExifInfo($$$);
|
|
89
89
|
sub SwapWords($);
|
|
90
90
|
|
|
91
|
-
$VERSION = '5.
|
|
91
|
+
$VERSION = '5.07';
|
|
92
92
|
|
|
93
93
|
# Note: Removed 'USM' from 'L' lenses since it is redundant - PH
|
|
94
94
|
# (or is it? Ref 32 shows 5 non-USM L-type lenses)
|
|
@@ -2031,7 +2031,7 @@ my %offOn = ( 0 => 'Off', 1 => 'On' );
|
|
|
2031
2031
|
SubDirectory => { TagTable => 'Image::ExifTool::Canon::ColorData10' },
|
|
2032
2032
|
},
|
|
2033
2033
|
{ # (int16u[3973]) - R3 ref IB
|
|
2034
|
-
Condition => '($count == 3973 or $count == 3778) and $$valPt
|
|
2034
|
+
Condition => '($count == 3973 or $count == 3778) and $$valPt =~ /^[\0-\x40]/',
|
|
2035
2035
|
Name => 'ColorData11',
|
|
2036
2036
|
SubDirectory => { TagTable => 'Image::ExifTool::Canon::ColorData11' },
|
|
2037
2037
|
},
|
|
@@ -8729,18 +8729,18 @@ my %ciMaxFocal = (
|
|
|
8729
8729
|
0xa9 => { Name => 'ColorTempUnknown10', Unknown => 1 },
|
|
8730
8730
|
0xaa => { Name => 'WB_RGGBLevelsUnknown11', Format => 'int16s[4]', Unknown => 1 },
|
|
8731
8731
|
0xae => { Name => 'ColorTempUnknown11', Unknown => 1 },
|
|
8732
|
-
0xaf => { Name => '
|
|
8733
|
-
0xb3 => { Name => '
|
|
8734
|
-
0xb4 => { Name => '
|
|
8735
|
-
0xb8 => { Name => '
|
|
8736
|
-
0xb9 => { Name => '
|
|
8737
|
-
0xbd => { Name => '
|
|
8738
|
-
0xbe => { Name => '
|
|
8739
|
-
0xc2 => { Name => '
|
|
8740
|
-
0xc3 => { Name => '
|
|
8741
|
-
0xc7 => { Name => '
|
|
8742
|
-
0xc8 => { Name => '
|
|
8743
|
-
0xcc => { Name => '
|
|
8732
|
+
0xaf => { Name => 'WB_RGGBLevelsUnknown12', Format => 'int16s[4]', Unknown => 1 },
|
|
8733
|
+
0xb3 => { Name => 'ColorTempUnknown12', Unknown => 1 },
|
|
8734
|
+
0xb4 => { Name => 'WB_RGGBLevelsUnknown13', Format => 'int16s[4]', Unknown => 1 },
|
|
8735
|
+
0xb8 => { Name => 'ColorTempUnknown13', Unknown => 1 },
|
|
8736
|
+
0xb9 => { Name => 'WB_RGGBLevelsUnknown14', Format => 'int16s[4]', Unknown => 1 },
|
|
8737
|
+
0xbd => { Name => 'ColorTempUnknown14', Unknown => 1 },
|
|
8738
|
+
0xbe => { Name => 'WB_RGGBLevelsUnknown15', Format => 'int16s[4]', Unknown => 1 },
|
|
8739
|
+
0xc2 => { Name => 'ColorTempUnknown15', Unknown => 1 },
|
|
8740
|
+
0xc3 => { Name => 'WB_RGGBLevelsUnknown16', Format => 'int16s[4]', Unknown => 1 },
|
|
8741
|
+
0xc7 => { Name => 'ColorTempUnknown16', Unknown => 1 },
|
|
8742
|
+
0xc8 => { Name => 'WB_RGGBLevelsUnknown17', Format => 'int16s[4]', Unknown => 1 },
|
|
8743
|
+
0xcc => { Name => 'ColorTempUnknown17', Unknown => 1 },
|
|
8744
8744
|
0xcd => { Name => 'WB_RGGBLevelsDaylight', Format => 'int16s[4]' },
|
|
8745
8745
|
0xd1 => 'ColorTempDaylight',
|
|
8746
8746
|
0xd2 => { Name => 'WB_RGGBLevelsShade', Format => 'int16s[4]' },
|
|
@@ -8755,28 +8755,28 @@ my %ciMaxFocal = (
|
|
|
8755
8755
|
0xea => 'ColorTempKelvin',
|
|
8756
8756
|
0xeb => { Name => 'WB_RGGBLevelsFlash', Format => 'int16s[4]' },
|
|
8757
8757
|
0xef => 'ColorTempFlash',
|
|
8758
|
-
0xf0 => { Name => '
|
|
8759
|
-
0xf4 => { Name => '
|
|
8760
|
-
0xf5 => { Name => '
|
|
8761
|
-
0xf9 => { Name => '
|
|
8762
|
-
0xfa => { Name => '
|
|
8763
|
-
0xfe => { Name => '
|
|
8764
|
-
0xff => { Name => '
|
|
8765
|
-
0x103 => { Name => '
|
|
8766
|
-
0x104 => { Name => '
|
|
8767
|
-
0x108 => { Name => '
|
|
8768
|
-
0x109 => { Name => '
|
|
8769
|
-
0x10d => { Name => '
|
|
8770
|
-
0x10e => { Name => '
|
|
8771
|
-
0x112 => { Name => '
|
|
8772
|
-
0x113 => { Name => '
|
|
8773
|
-
0x117 => { Name => '
|
|
8774
|
-
0x118 => { Name => '
|
|
8775
|
-
0x11c => { Name => '
|
|
8776
|
-
0x11d => { Name => '
|
|
8777
|
-
0x121 => { Name => '
|
|
8778
|
-
0x122 => { Name => '
|
|
8779
|
-
0x126 => { Name => '
|
|
8758
|
+
0xf0 => { Name => 'WB_RGGBLevelsUnknown18', Format => 'int16s[4]', Unknown => 1 },
|
|
8759
|
+
0xf4 => { Name => 'ColorTempUnknown18', Unknown => 1 },
|
|
8760
|
+
0xf5 => { Name => 'WB_RGGBLevelsUnknown19', Format => 'int16s[4]', Unknown => 1 },
|
|
8761
|
+
0xf9 => { Name => 'ColorTempUnknown19', Unknown => 1 },
|
|
8762
|
+
0xfa => { Name => 'WB_RGGBLevelsUnknown20', Format => 'int16s[4]', Unknown => 1 },
|
|
8763
|
+
0xfe => { Name => 'ColorTempUnknown20', Unknown => 1 },
|
|
8764
|
+
0xff => { Name => 'WB_RGGBLevelsUnknown21', Format => 'int16s[4]', Unknown => 1 },
|
|
8765
|
+
0x103 => { Name => 'ColorTempUnknown21', Unknown => 1 },
|
|
8766
|
+
0x104 => { Name => 'WB_RGGBLevelsUnknown22', Format => 'int16s[4]', Unknown => 1 },
|
|
8767
|
+
0x108 => { Name => 'ColorTempUnknown22', Unknown => 1 },
|
|
8768
|
+
0x109 => { Name => 'WB_RGGBLevelsUnknown23', Format => 'int16s[4]', Unknown => 1 },
|
|
8769
|
+
0x10d => { Name => 'ColorTempUnknown23', Unknown => 1 },
|
|
8770
|
+
0x10e => { Name => 'WB_RGGBLevelsUnknown24', Format => 'int16s[4]', Unknown => 1 },
|
|
8771
|
+
0x112 => { Name => 'ColorTempUnknown24', Unknown => 1 },
|
|
8772
|
+
0x113 => { Name => 'WB_RGGBLevelsUnknown25', Format => 'int16s[4]', Unknown => 1 },
|
|
8773
|
+
0x117 => { Name => 'ColorTempUnknown25', Unknown => 1 },
|
|
8774
|
+
0x118 => { Name => 'WB_RGGBLevelsUnknown26', Format => 'int16s[4]', Unknown => 1 },
|
|
8775
|
+
0x11c => { Name => 'ColorTempUnknown26', Unknown => 1 },
|
|
8776
|
+
0x11d => { Name => 'WB_RGGBLevelsUnknown27', Format => 'int16s[4]', Unknown => 1 },
|
|
8777
|
+
0x121 => { Name => 'ColorTempUnknown27', Unknown => 1 },
|
|
8778
|
+
0x122 => { Name => 'WB_RGGBLevelsUnknown28', Format => 'int16s[4]', Unknown => 1 },
|
|
8779
|
+
0x126 => { Name => 'ColorTempUnknown28', Unknown => 1 },
|
|
8780
8780
|
0x12c => {
|
|
8781
8781
|
Name => 'ColorCalib',
|
|
8782
8782
|
Format => 'undef[120]',
|
|
@@ -31,13 +31,13 @@ use vars qw($VERSION);
|
|
|
31
31
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
32
32
|
use Image::ExifTool::Exif;
|
|
33
33
|
|
|
34
|
-
$VERSION = '2.
|
|
34
|
+
$VERSION = '2.01';
|
|
35
35
|
|
|
36
36
|
sub ProcessFujiDir($$$);
|
|
37
37
|
sub ProcessFaceRec($$$);
|
|
38
38
|
sub ProcessMRAW($$$);
|
|
39
39
|
|
|
40
|
-
# the following
|
|
40
|
+
# the following firmware version numbers have been tested for writing:
|
|
41
41
|
# (as of ExifTool 11.70, this lookup is no longer used if the version number is numerical)
|
|
42
42
|
my %testedRAF = (
|
|
43
43
|
'0100' => 'E550, E900, F770, S5600, S6000fd, S6500fd, HS10/HS11, HS30, S200EXR, X100, XF1, X-Pro1, X-S1, XQ2 Ver1.00, X-T100, GFX 50R, XF10',
|
|
@@ -67,7 +67,7 @@ my %testedRAF = (
|
|
|
67
67
|
# 0400 - expect to see this for X-T1
|
|
68
68
|
'0540' => 'X-T1 Ver5.40',
|
|
69
69
|
'0712' => 'S5000 Ver3.00',
|
|
70
|
-
'0716' => 'S5000 Ver3.00', # (yes, 2
|
|
70
|
+
'0716' => 'S5000 Ver3.00', # (yes, 2 firmware versions with the same Software version)
|
|
71
71
|
'0Dgi' => 'X-A10 Ver1.01 and X-A3 Ver1.02', # (yes, non-digits in the firmware number)
|
|
72
72
|
);
|
|
73
73
|
|
|
@@ -1226,7 +1226,7 @@ my %faceCategories = (
|
|
|
1226
1226
|
NOTES => 'Tags extracted from the header of RAF images.',
|
|
1227
1227
|
# 0x00 - eg. "FUJIFILMCCD-RAW 0201FA392001FinePix S3Pro"
|
|
1228
1228
|
0x3c => { #PH
|
|
1229
|
-
Name => '
|
|
1229
|
+
Name => 'FirmwareVersion', #forum17969
|
|
1230
1230
|
Format => 'undef[4]',
|
|
1231
1231
|
},
|
|
1232
1232
|
# (all int32u values)
|