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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ba4192d537a29f92d95021a0ee7718b33b62e9d1b74ac77b6338d8977556d362
4
- data.tar.gz: 45bb1f4f1ae0019d715d87e1dbcb2114d3f2b68dbca7bde4bec11a91a85996c6
3
+ metadata.gz: 80eb52ce82e2830a23dcaaa3b12c1a6a1629b2ac95475c6c96f21b2d1313cf67
4
+ data.tar.gz: 5bdf2a271cc97053b66c1b836d3268ab0229ab568e20df3f6b5b35da3124c6f3
5
5
  SHA512:
6
- metadata.gz: 044e6e583071bffdbb6a6d8db31656067a44995f89d035b26cf1864dff6da1cf7872f90f821f17ab206e088e0233f59236fd80709cc166a21e063467b5f27fff
7
- data.tar.gz: c5ea4c50271825cc61cf0679ca9cde1d8b3abd1e4f434024276ba032fe74d92e5f136c5009bf083f62123f307a07e61854ba0a038b6f1d8336e9b30d96a47840
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 JSON output
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
@@ -50,6 +50,6 @@
50
50
  }
51
51
  },
52
52
  "release_status" : "stable",
53
- "version" : "13.57",
53
+ "version" : "13.58",
54
54
  "x_serialization_backend" : "JSON::PP version 4.06"
55
55
  }
data/bin/META.yml CHANGED
@@ -31,5 +31,5 @@ recommends:
31
31
  Time::HiRes: '0'
32
32
  requires:
33
33
  perl: '5.004'
34
- version: '13.57'
34
+ version: '13.58'
35
35
  x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
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.57.tar.gz | tar -xf -
115
- cd Image-ExifTool-13.57
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.57';
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
- (/^E$/ or $a eq 'escapehtml') and require Image::ExifTool::HTML and $escapeHTML = 1, next;
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.57 --
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.68';
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 = "'" . EscapeHTML($index) . "'";
2325
+ $index = EscapeHTML($index);
2326
+ $index = "'${index}'" unless $bit;
2325
2327
  }
2326
2328
  } else {
2327
2329
  $index = $prt = '&nbsp;';
@@ -88,7 +88,7 @@ sub ProcessCTMD($$$);
88
88
  sub ProcessExifInfo($$$);
89
89
  sub SwapWords($);
90
90
 
91
- $VERSION = '5.06';
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 !~ /^\x41\0/',
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 => 'WB_RGGBLevelsUnknown11', Format => 'int16s[4]', Unknown => 1 },
8733
- 0xb3 => { Name => 'ColorTempUnknown11', Unknown => 1 },
8734
- 0xb4 => { Name => 'WB_RGGBLevelsUnknown12', Format => 'int16s[4]', Unknown => 1 },
8735
- 0xb8 => { Name => 'ColorTempUnknown12', Unknown => 1 },
8736
- 0xb9 => { Name => 'WB_RGGBLevelsUnknown13', Format => 'int16s[4]', Unknown => 1 },
8737
- 0xbd => { Name => 'ColorTempUnknown13', Unknown => 1 },
8738
- 0xbe => { Name => 'WB_RGGBLevelsUnknown14', Format => 'int16s[4]', Unknown => 1 },
8739
- 0xc2 => { Name => 'ColorTempUnknown14', Unknown => 1 },
8740
- 0xc3 => { Name => 'WB_RGGBLevelsUnknown15', Format => 'int16s[4]', Unknown => 1 },
8741
- 0xc7 => { Name => 'ColorTempUnknown15', Unknown => 1 },
8742
- 0xc8 => { Name => 'WB_RGGBLevelsUnknown16', Format => 'int16s[4]', Unknown => 1 },
8743
- 0xcc => { Name => 'ColorTempUnknown16', Unknown => 1 },
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 => 'WB_RGGBLevelsUnknown17', Format => 'int16s[4]', Unknown => 1 },
8759
- 0xf4 => { Name => 'ColorTempUnknown17', Unknown => 1 },
8760
- 0xf5 => { Name => 'WB_RGGBLevelsUnknown18', Format => 'int16s[4]', Unknown => 1 },
8761
- 0xf9 => { Name => 'ColorTempUnknown18', Unknown => 1 },
8762
- 0xfa => { Name => 'WB_RGGBLevelsUnknown19', Format => 'int16s[4]', Unknown => 1 },
8763
- 0xfe => { Name => 'ColorTempUnknown19', Unknown => 1 },
8764
- 0xff => { Name => 'WB_RGGBLevelsUnknown20', Format => 'int16s[4]', Unknown => 1 },
8765
- 0x103 => { Name => 'ColorTempUnknown20', Unknown => 1 },
8766
- 0x104 => { Name => 'WB_RGGBLevelsUnknown21', Format => 'int16s[4]', Unknown => 1 },
8767
- 0x108 => { Name => 'ColorTempUnknown21', Unknown => 1 },
8768
- 0x109 => { Name => 'WB_RGGBLevelsUnknown22', Format => 'int16s[4]', Unknown => 1 },
8769
- 0x10d => { Name => 'ColorTempUnknown22', Unknown => 1 },
8770
- 0x10e => { Name => 'WB_RGGBLevelsUnknown23', Format => 'int16s[4]', Unknown => 1 },
8771
- 0x112 => { Name => 'ColorTempUnknown23', Unknown => 1 },
8772
- 0x113 => { Name => 'WB_RGGBLevelsUnknown24', Format => 'int16s[4]', Unknown => 1 },
8773
- 0x117 => { Name => 'ColorTempUnknown24', Unknown => 1 },
8774
- 0x118 => { Name => 'WB_RGGBLevelsUnknown25', Format => 'int16s[4]', Unknown => 1 },
8775
- 0x11c => { Name => 'ColorTempUnknown25', Unknown => 1 },
8776
- 0x11d => { Name => 'WB_RGGBLevelsUnknown26', Format => 'int16s[4]', Unknown => 1 },
8777
- 0x121 => { Name => 'ColorTempUnknown26', Unknown => 1 },
8778
- 0x122 => { Name => 'WB_RGGBLevelsUnknown27', Format => 'int16s[4]', Unknown => 1 },
8779
- 0x126 => { Name => 'ColorTempUnknown27', Unknown => 1 },
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.00';
34
+ $VERSION = '2.01';
35
35
 
36
36
  sub ProcessFujiDir($$$);
37
37
  sub ProcessFaceRec($$$);
38
38
  sub ProcessMRAW($$$);
39
39
 
40
- # the following RAF version numbers have been tested for writing:
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 RAF versions with the same Software version)
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 => 'RAFVersion',
1229
+ Name => 'FirmwareVersion', #forum17969
1230
1230
  Format => 'undef[4]',
1231
1231
  },
1232
1232
  # (all int32u values)