exiftool-vendored.exe 12.56.0 → 12.60.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 (54) hide show
  1. package/bin/exiftool_files/Changes +80 -5
  2. package/bin/exiftool_files/README +2 -2
  3. package/bin/exiftool_files/config_files/example.config +1 -0
  4. package/bin/exiftool_files/config_files/rotate_regions.config +1 -1
  5. package/bin/exiftool_files/exiftool.pl +174 -99
  6. package/bin/exiftool_files/lib/Image/ExifTool/AIFF.pm +2 -2
  7. package/bin/exiftool_files/lib/Image/ExifTool/APE.pm +2 -2
  8. package/bin/exiftool_files/lib/Image/ExifTool/BuildTagLookup.pm +19 -15
  9. package/bin/exiftool_files/lib/Image/ExifTool/Canon.pm +26 -6
  10. package/bin/exiftool_files/lib/Image/ExifTool/CanonRaw.pm +5 -1
  11. package/bin/exiftool_files/lib/Image/ExifTool/DJI.pm +28 -2
  12. package/bin/exiftool_files/lib/Image/ExifTool/Exif.pm +77 -19
  13. package/bin/exiftool_files/lib/Image/ExifTool/FlashPix.pm +32 -10
  14. package/bin/exiftool_files/lib/Image/ExifTool/FujiFilm.pm +7 -3
  15. package/bin/exiftool_files/lib/Image/ExifTool/GPS.pm +7 -2
  16. package/bin/exiftool_files/lib/Image/ExifTool/Geotag.pm +30 -7
  17. package/bin/exiftool_files/lib/Image/ExifTool/JPEG.pm +14 -2
  18. package/bin/exiftool_files/lib/Image/ExifTool/Jpeg2000.pm +5 -5
  19. package/bin/exiftool_files/lib/Image/ExifTool/LIF.pm +10 -2
  20. package/bin/exiftool_files/lib/Image/ExifTool/LNK.pm +5 -4
  21. package/bin/exiftool_files/lib/Image/ExifTool/MIE.pm +3 -3
  22. package/bin/exiftool_files/lib/Image/ExifTool/MPEG.pm +2 -2
  23. package/bin/exiftool_files/lib/Image/ExifTool/MakerNotes.pm +3 -2
  24. package/bin/exiftool_files/lib/Image/ExifTool/Minolta.pm +6 -7
  25. package/bin/exiftool_files/lib/Image/ExifTool/MinoltaRaw.pm +2 -1
  26. package/bin/exiftool_files/lib/Image/ExifTool/Nikon.pm +1003 -907
  27. package/bin/exiftool_files/lib/Image/ExifTool/NikonCustom.pm +2 -2
  28. package/bin/exiftool_files/lib/Image/ExifTool/NikonSettings.pm +1 -1
  29. package/bin/exiftool_files/lib/Image/ExifTool/Olympus.pm +88 -6
  30. package/bin/exiftool_files/lib/Image/ExifTool/PNG.pm +10 -2
  31. package/bin/exiftool_files/lib/Image/ExifTool/PanasonicRaw.pm +27 -1
  32. package/bin/exiftool_files/lib/Image/ExifTool/Pentax.pm +8 -5
  33. package/bin/exiftool_files/lib/Image/ExifTool/PhaseOne.pm +14 -1
  34. package/bin/exiftool_files/lib/Image/ExifTool/Photoshop.pm +38 -7
  35. package/bin/exiftool_files/lib/Image/ExifTool/QuickTime.pm +44 -13
  36. package/bin/exiftool_files/lib/Image/ExifTool/QuickTimeStream.pl +40 -6
  37. package/bin/exiftool_files/lib/Image/ExifTool/README +19 -2
  38. package/bin/exiftool_files/lib/Image/ExifTool/RIFF.pm +34 -13
  39. package/bin/exiftool_files/lib/Image/ExifTool/Rawzor.pm +2 -2
  40. package/bin/exiftool_files/lib/Image/ExifTool/Ricoh.pm +2 -1
  41. package/bin/exiftool_files/lib/Image/ExifTool/Sigma.pm +5 -4
  42. package/bin/exiftool_files/lib/Image/ExifTool/SigmaRaw.pm +9 -3
  43. package/bin/exiftool_files/lib/Image/ExifTool/Sony.pm +24 -1
  44. package/bin/exiftool_files/lib/Image/ExifTool/TagLookup.pm +4678 -4628
  45. package/bin/exiftool_files/lib/Image/ExifTool/TagNames.pod +305 -113
  46. package/bin/exiftool_files/lib/Image/ExifTool/Validate.pm +5 -5
  47. package/bin/exiftool_files/lib/Image/ExifTool/WriteExif.pl +42 -0
  48. package/bin/exiftool_files/lib/Image/ExifTool/WriteXMP.pl +1 -1
  49. package/bin/exiftool_files/lib/Image/ExifTool/Writer.pl +150 -36
  50. package/bin/exiftool_files/lib/Image/ExifTool/XMP.pm +19 -4
  51. package/bin/exiftool_files/lib/Image/ExifTool/XMP2.pl +2 -1
  52. package/bin/exiftool_files/lib/Image/ExifTool.pm +195 -42
  53. package/bin/exiftool_files/lib/Image/ExifTool.pod +44 -9
  54. package/package.json +2 -2
@@ -15,7 +15,7 @@ use strict;
15
15
  use vars qw($VERSION);
16
16
  use Image::ExifTool qw(:DataAccess :Utils);
17
17
 
18
- $VERSION = '1.08';
18
+ $VERSION = '1.09';
19
19
 
20
20
  sub ProcessItemID($$$);
21
21
  sub ProcessLinkInfo($$$);
@@ -507,7 +507,7 @@ sub ProcessLinkInfo($$$)
507
507
  if ($lif & 0x01) {
508
508
  # read Volume ID
509
509
  $off = Get32u($dataPt, 0x0c);
510
- if ($off + 0x20 <= $dataLen) {
510
+ if ($off and $off + 0x20 <= $dataLen) {
511
511
  # my $len = Get32u($dataPt, $off);
512
512
  $et->HandleTag($tagTablePtr, 'DriveType', undef, %opts, Start=>$off+4);
513
513
  $et->HandleTag($tagTablePtr, 'DriveSerialNumber', undef, %opts, Start=>$off+8);
@@ -545,6 +545,7 @@ sub ProcessLinkInfo($$$)
545
545
  $off = Get32u($dataPt, 0x14);
546
546
  if ($off and $off + 0x14 <= $dataLen) {
547
547
  my $siz = Get32u($dataPt, $off);
548
+ return 0 if $off + $siz > $dataLen;
548
549
  $pos = Get32u($dataPt, $off + 0x08);
549
550
  if ($pos > 0x14 and $siz >= 0x18) {
550
551
  $pos = Get32u($dataPt, $off + 0x14);
@@ -552,7 +553,7 @@ sub ProcessLinkInfo($$$)
552
553
  } else {
553
554
  undef $unicode;
554
555
  }
555
- $val = GetString($dataPt, $pos, $unicode);
556
+ $val = GetString($dataPt, $off + $pos, $unicode);
556
557
  if (defined $val) {
557
558
  $size = length $val;
558
559
  $val = $et->Decode($val, 'UCS2') if $unicode;
@@ -567,7 +568,7 @@ sub ProcessLinkInfo($$$)
567
568
  } else {
568
569
  undef $unicode;
569
570
  }
570
- $val = GetString($dataPt, $pos, $unicode);
571
+ $val = GetString($dataPt, $off + $pos, $unicode);
571
572
  if (defined $val) {
572
573
  $size = length $val;
573
574
  $val = $et->Decode($val, 'UCS2') if $unicode;
@@ -14,7 +14,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
14
14
  use Image::ExifTool::Exif;
15
15
  use Image::ExifTool::GPS;
16
16
 
17
- $VERSION = '1.50';
17
+ $VERSION = '1.51';
18
18
 
19
19
  sub ProcessMIE($$);
20
20
  sub ProcessMIEGroup($$$);
@@ -391,7 +391,7 @@ my %offOn = ( 0 => 'Off', 1 => 'On' );
391
391
  -30", "-40.5", "40 30 0.00 S"
392
392
  },
393
393
  ValueConv => 'Image::ExifTool::GPS::ToDegrees($val, 1)',
394
- ValueConvInv => 'Image::ExifTool::GPS::ToDMS($self, $val, 0)',
394
+ ValueConvInv => 'Image::ExifTool::GPS::ToDMS($self, $val, 3)',
395
395
  PrintConv => 'Image::ExifTool::GPS::ToDMS($self, $val, 1, "N")',
396
396
  PrintConvInv => 'Image::ExifTool::GPS::ToDegrees($val, 1, "lat")',
397
397
  },
@@ -404,7 +404,7 @@ my %offOn = ( 0 => 'Off', 1 => 'On' );
404
404
  negative, but may be entered as positive numbers with a trailing 'W'
405
405
  },
406
406
  ValueConv => 'Image::ExifTool::GPS::ToDegrees($val, 1)',
407
- ValueConvInv => 'Image::ExifTool::GPS::ToDMS($self, $val, 0)',
407
+ ValueConvInv => 'Image::ExifTool::GPS::ToDMS($self, $val, 3)',
408
408
  PrintConv => 'Image::ExifTool::GPS::ToDMS($self, $val, 1, "E")',
409
409
  PrintConvInv => 'Image::ExifTool::GPS::ToDegrees($val, 1, "lon")',
410
410
  },
@@ -18,7 +18,7 @@ use strict;
18
18
  use vars qw($VERSION);
19
19
  use Image::ExifTool qw(:DataAccess :Utils);
20
20
 
21
- $VERSION = '1.16';
21
+ $VERSION = '1.17';
22
22
 
23
23
  %Image::ExifTool::MPEG::Audio = (
24
24
  GROUPS => { 2 => 'Audio' },
@@ -599,7 +599,7 @@ sub ProcessMPEGVideo($$)
599
599
  return 0;
600
600
  }
601
601
  # set file type if not done already
602
- $et->SetFileType('MPEG') unless $$et{VALUE}{FileType};
602
+ $et->SetFileType('MPEG') unless $$et{FileType};
603
603
 
604
604
  my $tagTablePtr = GetTagTable('Image::ExifTool::MPEG::Video');
605
605
  ProcessFrameHeader($et, $tagTablePtr, $w1, $w2);
@@ -21,7 +21,7 @@ sub ProcessKodakPatch($$$);
21
21
  sub WriteUnknownOrPreview($$$);
22
22
  sub FixLeicaBase($$;$);
23
23
 
24
- $VERSION = '2.12';
24
+ $VERSION = '2.14';
25
25
 
26
26
  my $debug; # set to 1 to enable debugging code
27
27
 
@@ -92,11 +92,12 @@ my $debug; # set to 1 to enable debugging code
92
92
  {
93
93
  Name => 'MakerNoteDJIInfo',
94
94
  Condition => '$$valPt =~ /^\[ae_dbg_info:/',
95
+ NotIFD => 1,
95
96
  SubDirectory => { TagTable => 'Image::ExifTool::DJI::Info' },
96
97
  },
97
98
  {
98
99
  Name => 'MakerNoteDJI',
99
- Condition => '$$self{Make} eq "DJI" and $$valPt !~ /^...\@AMBA/s',
100
+ Condition => '$$self{Make} eq "DJI" and $$valPt !~ /^(...\@AMBA|DJI)/s',
100
101
  SubDirectory => {
101
102
  TagTable => 'Image::ExifTool::DJI::Main',
102
103
  Start => '$valuePtr',
@@ -49,7 +49,7 @@ use vars qw($VERSION %minoltaLensTypes %minoltaTeleconverters %minoltaColorMode
49
49
  use Image::ExifTool qw(:DataAccess :Utils);
50
50
  use Image::ExifTool::Exif;
51
51
 
52
- $VERSION = '2.87';
52
+ $VERSION = '2.88';
53
53
 
54
54
  # Full list of product codes for Sony-compatible Minolta lenses
55
55
  # (ref http://www.kb.sony.com/selfservice/documentLink.do?externalId=C1000570)
@@ -179,12 +179,9 @@ $VERSION = '2.87';
179
179
  # ("New" and "II" appear in brackets if original version also has this LensType)
180
180
  %minoltaLensTypes = (
181
181
  Notes => q{
182
- Decimal values have been added to differentiate lenses which would otherwise
183
- have the same LensType, and are used by the Composite LensID tag when
184
- attempting to identify the specific lens model. "New" or "II" appear in
185
- brackets if the original version of the lens has the same LensType. Special
186
- logic is employed to identify the attached lens when a Metabones Canon EF
187
- adapter is used.
182
+ "New" or "II" appear in brackets if the original version of the lens has the
183
+ same LensType. Special logic is employed to identify the attached lens when
184
+ a Metabones Canon EF adapter is used.
188
185
  },
189
186
  OTHER => sub {
190
187
  my ($val, $inv) = @_;
@@ -898,6 +895,7 @@ my %offOn = ( 0 => 'Off', 1 => 'On' );
898
895
  SeparateTable => 1,
899
896
  ValueConvInv => 'int($val)', # (must truncate decimal part)
900
897
  PrintConv => \%minoltaLensTypes,
898
+ PrintInt => 1,
901
899
  },
902
900
  # 0x010e - WhiteBalance according to ref #10
903
901
  0x0111 => { #20
@@ -2708,6 +2706,7 @@ my %offOn = ( 0 => 'Off', 1 => 'On' );
2708
2706
  SeparateTable => 1,
2709
2707
  ValueConvInv => 'int($val)', # (must truncate decimal part)
2710
2708
  PrintConv => \%minoltaLensTypes,
2709
+ PrintInt => 1,
2711
2710
  },
2712
2711
  0x49c0 => {
2713
2712
  Name => 'ExposureCompensation', # (in exposure bracketing, this is the actual value used)
@@ -17,7 +17,7 @@ use vars qw($VERSION);
17
17
  use Image::ExifTool qw(:DataAccess :Utils);
18
18
  use Image::ExifTool::Minolta;
19
19
 
20
- $VERSION = '1.16';
20
+ $VERSION = '1.17';
21
21
 
22
22
  sub ProcessMRW($$;$);
23
23
  sub WriteMRW($$;$);
@@ -489,6 +489,7 @@ sub ProcessMRW($$;$)
489
489
  $err and $et->Error("MRW format error", $$et{TIFF_TYPE} eq 'ARW');
490
490
  } else {
491
491
  $err and $et->Warn("MRW format error");
492
+ $et->ImageDataMD5($raf, undef, 'raw');
492
493
  }
493
494
  return $rtnVal;
494
495
  }