exiftool-vendored.exe 13.43.0 → 13.45.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.
Files changed (55) hide show
  1. package/bin/exiftool.exe +0 -0
  2. package/bin/exiftool_files/exiftool.pl +2 -2
  3. package/bin/exiftool_files/lib/Image/ExifTool/Apple.pm +0 -1
  4. package/bin/exiftool_files/lib/Image/ExifTool/BuildTagLookup.pm +4 -4
  5. package/bin/exiftool_files/lib/Image/ExifTool/Canon.pm +2 -1
  6. package/bin/exiftool_files/lib/Image/ExifTool/CanonCustom.pm +1 -1
  7. package/bin/exiftool_files/lib/Image/ExifTool/DarwinCore.pm +2 -2
  8. package/bin/exiftool_files/lib/Image/ExifTool/EXE.pm +1 -1
  9. package/bin/exiftool_files/lib/Image/ExifTool/Exif.pm +4 -2
  10. package/bin/exiftool_files/lib/Image/ExifTool/FLIR.pm +1 -1
  11. package/bin/exiftool_files/lib/Image/ExifTool/FlashPix.pm +1 -1
  12. package/bin/exiftool_files/lib/Image/ExifTool/FujiFilm.pm +2 -2
  13. package/bin/exiftool_files/lib/Image/ExifTool/Geolocation.dat +0 -0
  14. package/bin/exiftool_files/lib/Image/ExifTool/Geolocation.pm +1 -1
  15. package/bin/exiftool_files/lib/Image/ExifTool/Geotag.pm +3 -3
  16. package/bin/exiftool_files/lib/Image/ExifTool/Google.pm +2 -2
  17. package/bin/exiftool_files/lib/Image/ExifTool/ICC_Profile.pm +0 -1
  18. package/bin/exiftool_files/lib/Image/ExifTool/Import.pm +1 -1
  19. package/bin/exiftool_files/lib/Image/ExifTool/JPEG.pm +5 -1
  20. package/bin/exiftool_files/lib/Image/ExifTool/Jpeg2000.pm +1 -1
  21. package/bin/exiftool_files/lib/Image/ExifTool/Kandao.pm +399 -0
  22. package/bin/exiftool_files/lib/Image/ExifTool/LNK.pm +1 -1
  23. package/bin/exiftool_files/lib/Image/ExifTool/MRC.pm +4 -4
  24. package/bin/exiftool_files/lib/Image/ExifTool/MWG.pm +1 -1
  25. package/bin/exiftool_files/lib/Image/ExifTool/MacOS.pm +1 -2
  26. package/bin/exiftool_files/lib/Image/ExifTool/Matroska.pm +56 -15
  27. package/bin/exiftool_files/lib/Image/ExifTool/Microsoft.pm +1 -1
  28. package/bin/exiftool_files/lib/Image/ExifTool/Nikon.pm +13 -15
  29. package/bin/exiftool_files/lib/Image/ExifTool/NikonCustom.pm +10 -8
  30. package/bin/exiftool_files/lib/Image/ExifTool/OpenEXR.pm +1 -1
  31. package/bin/exiftool_files/lib/Image/ExifTool/PPM.pm +1 -1
  32. package/bin/exiftool_files/lib/Image/ExifTool/Panasonic.pm +18 -2
  33. package/bin/exiftool_files/lib/Image/ExifTool/Pentax.pm +9 -1
  34. package/bin/exiftool_files/lib/Image/ExifTool/PhaseOne.pm +17 -1
  35. package/bin/exiftool_files/lib/Image/ExifTool/Plot.pm +2 -2
  36. package/bin/exiftool_files/lib/Image/ExifTool/Protobuf.pm +42 -16
  37. package/bin/exiftool_files/lib/Image/ExifTool/QuickTime.pm +25 -5
  38. package/bin/exiftool_files/lib/Image/ExifTool/QuickTimeStream.pl +1 -1
  39. package/bin/exiftool_files/lib/Image/ExifTool/README +5 -5
  40. package/bin/exiftool_files/lib/Image/ExifTool/RIFF.pm +3 -3
  41. package/bin/exiftool_files/lib/Image/ExifTool/Reconyx.pm +2 -2
  42. package/bin/exiftool_files/lib/Image/ExifTool/Sony.pm +28 -3
  43. package/bin/exiftool_files/lib/Image/ExifTool/TNEF.pm +2 -2
  44. package/bin/exiftool_files/lib/Image/ExifTool/TagLookup.pm +18 -2
  45. package/bin/exiftool_files/lib/Image/ExifTool/TagNames.pod +246 -110
  46. package/bin/exiftool_files/lib/Image/ExifTool/Text.pm +1 -1
  47. package/bin/exiftool_files/lib/Image/ExifTool/Trailer.pm +1 -1
  48. package/bin/exiftool_files/lib/Image/ExifTool/WriteQuickTime.pl +1 -1
  49. package/bin/exiftool_files/lib/Image/ExifTool/Writer.pl +9 -5
  50. package/bin/exiftool_files/lib/Image/ExifTool/XMP.pm +4 -2
  51. package/bin/exiftool_files/lib/Image/ExifTool/ZIP.pm +1 -1
  52. package/bin/exiftool_files/lib/Image/ExifTool.pm +33 -26
  53. package/bin/exiftool_files/lib/Image/ExifTool.pod +88 -79
  54. package/bin/exiftool_files/windows_exiftool.txt +62 -54
  55. package/package.json +5 -5
package/bin/exiftool.exe CHANGED
Binary file
@@ -11,7 +11,7 @@ use strict;
11
11
  use warnings;
12
12
  require 5.004;
13
13
 
14
- my $version = '13.43';
14
+ my $version = '13.45';
15
15
 
16
16
  $^W = 1; # enable global warnings
17
17
 
@@ -3288,7 +3288,7 @@ sub SetImageInfo($$$)
3288
3288
  }
3289
3289
  }
3290
3290
  next;
3291
- }
3291
+ }
3292
3292
  my @exclTags = @csvExclude;
3293
3293
  foreach (@exclTags) {
3294
3294
  tr/-0-9a-zA-Z_:#?*//dc; # remove illegal characters
@@ -116,7 +116,6 @@ sub ConvertPLIST($$);
116
116
  # - changed in 12.19 to MediaGroupUUID, NealKrawetz private communication
117
117
  # - changed back to ContentIdentifier since Apple writes this to Keys content.identifier (forum14874)
118
118
  Writable => 'string',
119
-
120
119
  },
121
120
  # 0x0012 - (QRMOutputType, ref 2)
122
121
  # 0x0013 - (SphereExternalForceOffset, ref 2)
@@ -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.63';
38
+ $VERSION = '3.64';
39
39
  @ISA = qw(Exporter);
40
40
 
41
41
  sub NumbersFirst($$);
@@ -346,7 +346,7 @@ or "Rights-en-US"). (See L<http://www.ietf.org/rfc/rfc3066.txt> for the RFC
346
346
  3066 specification.) A C<lang-alt> tag with no language code accesses the
347
347
  "x-default" language, but causes other languages for this tag to be deleted
348
348
  when writing. The "x-default" language code may be specified when writing
349
- to preserve other existing languages (eg. "XMP-dc:Description-x-default").
349
+ to preserve other existing languages (eg. "XMP-dc:Description-x-default").
350
350
  When reading, "x-default" is not specified.
351
351
 
352
352
  The XMP tags are organized according to schema B<Namespace> in the following
@@ -555,7 +555,7 @@ Pentax, Ricoh, Samsung, Sanyo, SeaLife, Sony, Supra and Vivitar.
555
555
  These tags are used in Panasonic/Leica cameras.
556
556
  },
557
557
  Pentax => q{
558
- These tags are used in Pentax/Asahi cameras.
558
+ These tags are used in Pentax/Asahi/Ricoh cameras.
559
559
  },
560
560
  CanonRaw => q{
561
561
  These tags apply to CRW-format Canon RAW files and information in the APP0
@@ -629,7 +629,7 @@ and RPM).
629
629
  Extra => q{
630
630
  The extra tags provide extra features or extra information extracted or
631
631
  generated by ExifTool that is not directly associated with another tag
632
- group. The B<Group> column lists the family 1 group name when reading.
632
+ group. The B<Group> column lists the family 1 group name when reading.
633
633
  Tags with a "-" in this column are write-only.
634
634
 
635
635
  Tags in the family 1 "System" group are referred to as "pseudo" tags because
@@ -88,7 +88,7 @@ sub ProcessCTMD($$$);
88
88
  sub ProcessExifInfo($$$);
89
89
  sub SwapWords($);
90
90
 
91
- $VERSION = '5.00';
91
+ $VERSION = '5.01';
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)
@@ -9397,6 +9397,7 @@ my %filterConv = (
9397
9397
  0 => 'Initial Priority',
9398
9398
  1 => 'On Subject',
9399
9399
  2 => 'Switch Subject',
9400
+ 0x7fffffff => 'n/a',
9400
9401
  },
9401
9402
  },
9402
9403
  24 => { #forum16068 #KG extensions for 'left' and 'right'
@@ -1362,7 +1362,7 @@ my %convPFn = ( PrintConv => \&ConvertPfn, PrintConvInv => \&ConvertPfnInv );
1362
1362
  PrintConvInv => '$val=~/0x([\dA-F]+)/i ? hex($1) : undef',
1363
1363
  },{
1364
1364
  Name => 'UsableMeteringModes',
1365
- Count => 2,
1365
+ Count => 2,
1366
1366
  PrintConv => [
1367
1367
  \%disableEnable,
1368
1368
  'sprintf("Flags 0x%x",$val)', # (evaluative,partial,spot,center-weighted average)
@@ -296,7 +296,7 @@ my %event = (
296
296
  taxonomicStatus => { },
297
297
  verbatimTaxonRank => { },
298
298
  vernacularName => { Writable => 'lang-alt' },
299
- superFamily => { }, # dwc.tdwg.org added 2023
299
+ superFamily => { }, # dwc.tdwg.org added 2023
300
300
  subFamily => { }, # dwc.tdwg.org added 2023
301
301
  tribe => { }, # dwc.tdwg.org added 2023
302
302
  subTribe => { }, # dwc.tdwg.org added 2023
@@ -332,7 +332,7 @@ my %event = (
332
332
  georeferenceProtocol => { },
333
333
  georeferenceRemarks => { },
334
334
  georeferenceSources => { },
335
- georeferenceVerificationStatus => { }, # dwc.tdwg.org removed 2023
335
+ georeferenceVerificationStatus => { }, # dwc.tdwg.org removed 2023
336
336
  higherGeography => { },
337
337
  higherGeographyID => { },
338
338
  island => { },
@@ -1113,7 +1113,7 @@ sub ProcessPEResources($$)
1113
1113
  #------------------------------------------------------------------------------
1114
1114
  # Process Windows PE file data dictionary
1115
1115
  # Inputs: 0) ExifTool object ref, 1) dirInfo ref
1116
- # Returns: true on success or if the PE resources didn't exist, or false on error
1116
+ # Returns: true on success or if the PE resources didn't exist, or false on error
1117
1117
  # processing the PE resources
1118
1118
  sub ProcessPEDict($$)
1119
1119
  {
@@ -57,7 +57,7 @@ use vars qw($VERSION $AUTOLOAD @formatSize @formatName %formatNumber %intFormat
57
57
  use Image::ExifTool qw(:DataAccess :Utils);
58
58
  use Image::ExifTool::MakerNotes;
59
59
 
60
- $VERSION = '4.61';
60
+ $VERSION = '4.63';
61
61
 
62
62
  sub ProcessExif($$$);
63
63
  sub WriteExif($$$);
@@ -213,7 +213,7 @@ $formatName[129] = 'utf8'; # (Exif 3.0)
213
213
  10 => 'JBIG Color', #3
214
214
  99 => 'JPEG', #16
215
215
  262 => 'Kodak 262', #16
216
- 32766 => 'Next', #3
216
+ 32766 => 'Next or Sony ARW Compressed 2', #3/Milos
217
217
  32767 => 'Sony ARW Compressed', #16
218
218
  32769 => 'Packed RAW', #PH (used by Epson, Nikon, Samsung)
219
219
  32770 => 'Samsung SRW Compressed', #PH
@@ -1598,6 +1598,7 @@ my %opcodeInfo = (
1598
1598
  2 => 'Sony Compressed RAW', # (lossy, ref IB)
1599
1599
  3 => 'Sony Lossless Compressed RAW', #IB
1600
1600
  4 => 'Sony Lossless Compressed RAW 2', #JR (ILCE-1)
1601
+ 6 => 'Sony Compressed RAW 2', # ILCE-7M5
1601
1602
  },
1602
1603
  },
1603
1604
  # 0x7001 - int16u[1] (in SubIFD of Sony ARW images) - values: 0,1
@@ -3590,6 +3591,7 @@ my %opcodeInfo = (
3590
3591
  Condition => '$$valPt =~ /^\[ae_dbg_info:/',
3591
3592
  MakerNotes => 1,
3592
3593
  Binary => 1,
3594
+ NotIFD => 1,
3593
3595
  WriteGroup => 'IFD0', # (for Validate)
3594
3596
  SubDirectory => { TagTable => 'Image::ExifTool::DJI::Info' },
3595
3597
  Format => 'undef',
@@ -479,7 +479,7 @@ my %float8g = ( Format => 'float', PrintConv => 'sprintf("%.8g",$val)' );
479
479
  VARS => { ID_FMT => 'none' },
480
480
  NOTES => q{
481
481
  Tags listed below are only for the first measurement tool, however multiple
482
- measurements may be added, and information is extracted for all of them.
482
+ measurements may be added, and information is extracted for all of them.
483
483
  Tags for subsequent measurements are generated as required with the prefixes
484
484
  "Meas2", "Meas3", etc.
485
485
  },
@@ -1454,7 +1454,7 @@ sub ProcessContents($$$)
1454
1454
  my ($w, $h) = unpack('V2',$2);
1455
1455
  $et->FoundTag(ImageWidth => $w);
1456
1456
  $et->FoundTag(ImageHeight => $h);
1457
- $et->HandleTag($tagTablePtr, OriginalFileName => $name);
1457
+ $et->HandleTag($tagTablePtr, OriginalFileName => $name);
1458
1458
  if ($$dataPt =~ /\G\x01\0{4}(.{12})/sg) {
1459
1459
  # (first 4 bytes seem to be number of objects, next 4 bytes are zero, then ICC size)
1460
1460
  my $size = unpack('x8V', $1);
@@ -876,7 +876,7 @@ my %faceCategories = (
876
876
  0x144a => { Name => 'WBRed', Writable => 'int16u' },
877
877
  0x144b => { Name => 'WBGreen', Writable => 'int16u' },
878
878
  0x144c => { Name => 'WBBlue', Writable => 'int16u' },
879
-
879
+
880
880
  0x144d => { Name => 'RollAngle', Writable => 'rational64s' }, #forum14319
881
881
  0x3803 => { #forum10037
882
882
  Name => 'VideoRecordingMode',
@@ -1942,7 +1942,7 @@ sub ProcessRAF($$)
1942
1942
  $et->SetFileType() unless $$et{DOC_NUM};
1943
1943
  my $tbl = GetTagTable('Image::ExifTool::FujiFilm::RAFHeader');
1944
1944
  $et->ProcessDirectory({ DataPt => \$buff, DirName => 'RAFHeader', Base => $base }, $tbl);
1945
-
1945
+
1946
1946
  # extract information from embedded JPEG
1947
1947
  my %dirInfo = (
1948
1948
  Parent => 'RAF',
@@ -12,7 +12,7 @@
12
12
  # Notes: Set $Image::ExifTool::Geolocation::geoDir to override the
13
13
  # default directory containing the database file Geolocation.dat
14
14
  # and the GeoLang directory with the alternate language files.
15
- # If set, this directory is
15
+ # If set, this directory is
16
16
  #
17
17
  # AltNames.dat may be loaded from a different directory by
18
18
  # specifying $Image::ExifTool::Geolocation::altDir. This
@@ -35,7 +35,7 @@ use vars qw($VERSION);
35
35
  use Image::ExifTool qw(:Public);
36
36
  use Image::ExifTool::GPS;
37
37
 
38
- $VERSION = '1.83';
38
+ $VERSION = '1.84';
39
39
 
40
40
  sub JITTER() { return 2 } # maximum time jitter
41
41
 
@@ -1269,7 +1269,7 @@ Category: foreach $category (qw{pos track alt orient atemp err dop}) {
1269
1269
  my $tag = ($$nvHash{WantGroup} ? "$$nvHash{WantGroup}:" : '') . 'Geolocate';
1270
1270
  # pass along any regular expressions to qualify geolocation search
1271
1271
  my $parms = join ',', grep m(/), split /\s*,\s*/, $geoloc;
1272
- $parms and $parms = ",$parms,both";
1272
+ $parms and $parms = ",$parms,both";
1273
1273
  $et->SetNewValue($tag => "$$fix{lat},$$fix{lon}$parms");
1274
1274
  # (the Geolocate tag will be restored to its original value
1275
1275
  # by RestoreNewValues before the next file in batch processing)
@@ -1530,7 +1530,7 @@ sub PrintFixTime($)
1530
1530
  {
1531
1531
  my $time = $_[0] + 0.0005; # round off to nearest ms
1532
1532
  my $fsec = int(($time - int($time)) * 1000);
1533
- return sprintf('%s.%.3d UTC', Image::ExifTool::ConvertUnixTime($time), $fsec);
1533
+ return Image::ExifTool::ConvertUnixTime($time, undef, 3) . ' UTC';
1534
1534
  }
1535
1535
 
1536
1536
  #------------------------------------------------------------------------------
@@ -47,7 +47,7 @@ my %sEarthPose = (
47
47
  NAMESPACE => { EarthPose => 'http://ns.google.com/photos/dd/1.0/earthpose/' },
48
48
  Latitude => {
49
49
  Writable => 'real',
50
- Groups => { 2 => 'Location' },
50
+ Groups => { 2 => 'Location' },
51
51
  ValueConv => 'Image::ExifTool::GPS::ToDegrees($val, 1)',
52
52
  ValueConvInv => '$val',
53
53
  PrintConv => 'Image::ExifTool::GPS::ToDMS($self, $val, 1, "N")',
@@ -512,7 +512,7 @@ my %sAppInfo = (
512
512
  GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
513
513
  TAG_PREFIX => 'HDRPlusMakerNote',
514
514
  PROCESS_PROC => \&ProcessHDRP,
515
- VARS => {
515
+ VARS => {
516
516
  ID_FMT => 'str',
517
517
  SORT_PROC => sub {
518
518
  my ($a,$b) = @_;
@@ -370,7 +370,6 @@ my %manuSig = ( #6
370
370
  Groups => { 2 => 'Time' },
371
371
  PrintConv => '$self->ConvertDateTime($val)',
372
372
  },
373
-
374
373
  targ => {
375
374
  Name => 'CharTarget',
376
375
  ValueConv => '$val=~s/\0.*//; length $val > 128 ? \$val : $val',
@@ -335,7 +335,7 @@ Read CSV or JSON file into a database hash.
335
335
 
336
336
  1) Hash reference for database object.
337
337
 
338
- 2) Optional string used to represent an undefined (missing) tag value.
338
+ 2) Optional string used to represent an undefined (missing) tag value.
339
339
  (Used for deleting tags.)
340
340
 
341
341
  3) For ReadCSV this gives the delimiter for CSV entries, with a default of
@@ -11,7 +11,7 @@ use strict;
11
11
  use vars qw($VERSION);
12
12
  use Image::ExifTool qw(:DataAccess :Utils);
13
13
 
14
- $VERSION = '1.39';
14
+ $VERSION = '1.40';
15
15
 
16
16
  sub ProcessOcad($$$);
17
17
  sub ProcessJPEG_HDR($$$);
@@ -212,6 +212,10 @@ sub ProcessJPEG_HDR($$$);
212
212
  Name => 'Pentax',
213
213
  Condition => '$$valPt =~ /^PENTAX \0/',
214
214
  SubDirectory => { TagTable => 'Image::ExifTool::Pentax::Main' },
215
+ }, {
216
+ Name => 'Ricoh',
217
+ Condition => '$$valPt =~ /^RICOH\0/',
218
+ SubDirectory => { TagTable => 'Image::ExifTool::Pentax::Main' },
215
219
  }, {
216
220
  Name => 'Huawei',
217
221
  Condition => '$$valPt =~ /^HUAWEI\0\0/',
@@ -132,7 +132,7 @@ my %j2cMarker = (
132
132
  NOTES => q{
133
133
  The tags below are found in JPEG 2000 images and the C2PA CAI JUMBF metadata
134
134
  in various file types (see below). Note that ExifTool currently writes only
135
- EXIF, IPTC and XMP tags in Jpeg2000 images, and EXIF and XMP in JXL images.
135
+ EXIF, IPTC and XMP tags in Jpeg2000 images, and EXIF and XMP in JXL images.
136
136
  ExifTool will read/write Brotli-compressed EXIF and XMP in JXL images, but
137
137
  the API L<Compress|../ExifTool.html#Compress> option must be set to create new EXIF and XMP in compressed
138
138
  format.