exiftool_vendored 12.10.0 → 12.15.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.

Files changed (195) hide show
  1. checksums.yaml +4 -4
  2. data/bin/Changes +71 -2
  3. data/bin/MANIFEST +5 -0
  4. data/bin/META.json +1 -1
  5. data/bin/META.yml +1 -1
  6. data/bin/README +3 -3
  7. data/bin/exiftool +130 -55
  8. data/bin/lib/File/RandomAccess.pm +1 -1
  9. data/bin/lib/File/RandomAccess.pod +2 -2
  10. data/bin/lib/Image/ExifTool.pm +46 -10
  11. data/bin/lib/Image/ExifTool.pod +14 -11
  12. data/bin/lib/Image/ExifTool/AES.pm +1 -1
  13. data/bin/lib/Image/ExifTool/AFCP.pm +1 -1
  14. data/bin/lib/Image/ExifTool/AIFF.pm +1 -1
  15. data/bin/lib/Image/ExifTool/APE.pm +1 -1
  16. data/bin/lib/Image/ExifTool/APP12.pm +1 -1
  17. data/bin/lib/Image/ExifTool/ASF.pm +1 -1
  18. data/bin/lib/Image/ExifTool/Apple.pm +1 -1
  19. data/bin/lib/Image/ExifTool/Audible.pm +1 -1
  20. data/bin/lib/Image/ExifTool/BMP.pm +1 -1
  21. data/bin/lib/Image/ExifTool/BPG.pm +1 -1
  22. data/bin/lib/Image/ExifTool/BZZ.pm +1 -1
  23. data/bin/lib/Image/ExifTool/BigTIFF.pm +1 -1
  24. data/bin/lib/Image/ExifTool/BuildTagLookup.pm +10 -4
  25. data/bin/lib/Image/ExifTool/Canon.pm +15 -12
  26. data/bin/lib/Image/ExifTool/CanonCustom.pm +1 -1
  27. data/bin/lib/Image/ExifTool/CanonRaw.pm +1 -1
  28. data/bin/lib/Image/ExifTool/CanonVRD.pm +1 -1
  29. data/bin/lib/Image/ExifTool/CaptureOne.pm +1 -1
  30. data/bin/lib/Image/ExifTool/Casio.pm +1 -1
  31. data/bin/lib/Image/ExifTool/Charset.pm +1 -1
  32. data/bin/lib/Image/ExifTool/DICOM.pm +1 -1
  33. data/bin/lib/Image/ExifTool/DJI.pm +28 -2
  34. data/bin/lib/Image/ExifTool/DNG.pm +1 -1
  35. data/bin/lib/Image/ExifTool/DPX.pm +1 -1
  36. data/bin/lib/Image/ExifTool/DV.pm +1 -1
  37. data/bin/lib/Image/ExifTool/DarwinCore.pm +1 -1
  38. data/bin/lib/Image/ExifTool/DjVu.pm +1 -1
  39. data/bin/lib/Image/ExifTool/EXE.pm +1 -1
  40. data/bin/lib/Image/ExifTool/Exif.pm +14 -1
  41. data/bin/lib/Image/ExifTool/FITS.pm +1 -1
  42. data/bin/lib/Image/ExifTool/FLAC.pm +1 -1
  43. data/bin/lib/Image/ExifTool/FLIF.pm +1 -1
  44. data/bin/lib/Image/ExifTool/FLIR.pm +1 -1
  45. data/bin/lib/Image/ExifTool/Fixup.pm +1 -1
  46. data/bin/lib/Image/ExifTool/Flash.pm +1 -1
  47. data/bin/lib/Image/ExifTool/FlashPix.pm +1 -1
  48. data/bin/lib/Image/ExifTool/Font.pm +1 -1
  49. data/bin/lib/Image/ExifTool/FotoStation.pm +1 -1
  50. data/bin/lib/Image/ExifTool/FujiFilm.pm +1 -1
  51. data/bin/lib/Image/ExifTool/GE.pm +1 -1
  52. data/bin/lib/Image/ExifTool/GIF.pm +1 -1
  53. data/bin/lib/Image/ExifTool/GIMP.pm +1 -1
  54. data/bin/lib/Image/ExifTool/GPS.pm +1 -1
  55. data/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
  56. data/bin/lib/Image/ExifTool/Geotag.pm +30 -11
  57. data/bin/lib/Image/ExifTool/GoPro.pm +1 -1
  58. data/bin/lib/Image/ExifTool/H264.pm +1 -1
  59. data/bin/lib/Image/ExifTool/HP.pm +1 -1
  60. data/bin/lib/Image/ExifTool/HTML.pm +1 -1
  61. data/bin/lib/Image/ExifTool/HtmlDump.pm +1 -1
  62. data/bin/lib/Image/ExifTool/ICC_Profile.pm +1 -1
  63. data/bin/lib/Image/ExifTool/ID3.pm +1 -1
  64. data/bin/lib/Image/ExifTool/IPTC.pm +1 -1
  65. data/bin/lib/Image/ExifTool/ISO.pm +1 -1
  66. data/bin/lib/Image/ExifTool/ITC.pm +1 -1
  67. data/bin/lib/Image/ExifTool/Import.pm +15 -12
  68. data/bin/lib/Image/ExifTool/InDesign.pm +1 -1
  69. data/bin/lib/Image/ExifTool/JPEG.pm +24 -2
  70. data/bin/lib/Image/ExifTool/JPEGDigest.pm +1 -1
  71. data/bin/lib/Image/ExifTool/JSON.pm +1 -1
  72. data/bin/lib/Image/ExifTool/JVC.pm +1 -1
  73. data/bin/lib/Image/ExifTool/Jpeg2000.pm +9 -4
  74. data/bin/lib/Image/ExifTool/Kodak.pm +1 -1
  75. data/bin/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
  76. data/bin/lib/Image/ExifTool/LNK.pm +1 -1
  77. data/bin/lib/Image/ExifTool/Lang/cs.pm +1 -1
  78. data/bin/lib/Image/ExifTool/Lang/de.pm +1 -1
  79. data/bin/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
  80. data/bin/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
  81. data/bin/lib/Image/ExifTool/Lang/es.pm +1 -1
  82. data/bin/lib/Image/ExifTool/Lang/fi.pm +1 -1
  83. data/bin/lib/Image/ExifTool/Lang/fr.pm +1 -1
  84. data/bin/lib/Image/ExifTool/Lang/it.pm +1 -1
  85. data/bin/lib/Image/ExifTool/Lang/ja.pm +1 -1
  86. data/bin/lib/Image/ExifTool/Lang/ko.pm +1 -1
  87. data/bin/lib/Image/ExifTool/Lang/nl.pm +1 -1
  88. data/bin/lib/Image/ExifTool/Lang/pl.pm +1 -1
  89. data/bin/lib/Image/ExifTool/Lang/ru.pm +1 -1
  90. data/bin/lib/Image/ExifTool/Lang/sv.pm +1 -1
  91. data/bin/lib/Image/ExifTool/Lang/tr.pm +1 -1
  92. data/bin/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
  93. data/bin/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
  94. data/bin/lib/Image/ExifTool/Leaf.pm +1 -1
  95. data/bin/lib/Image/ExifTool/Lytro.pm +1 -1
  96. data/bin/lib/Image/ExifTool/M2TS.pm +1 -1
  97. data/bin/lib/Image/ExifTool/MIE.pm +1 -1
  98. data/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
  99. data/bin/lib/Image/ExifTool/MIFF.pm +1 -1
  100. data/bin/lib/Image/ExifTool/MNG.pm +1 -1
  101. data/bin/lib/Image/ExifTool/MOI.pm +1 -1
  102. data/bin/lib/Image/ExifTool/MPC.pm +1 -1
  103. data/bin/lib/Image/ExifTool/MPEG.pm +1 -1
  104. data/bin/lib/Image/ExifTool/MPF.pm +3 -3
  105. data/bin/lib/Image/ExifTool/MWG.pm +1 -1
  106. data/bin/lib/Image/ExifTool/MXF.pm +1 -1
  107. data/bin/lib/Image/ExifTool/MacOS.pm +1 -1
  108. data/bin/lib/Image/ExifTool/MakerNotes.pm +1 -1
  109. data/bin/lib/Image/ExifTool/Matroska.pm +1 -1
  110. data/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
  111. data/bin/lib/Image/ExifTool/Minolta.pm +1 -1
  112. data/bin/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
  113. data/bin/lib/Image/ExifTool/Motorola.pm +1 -1
  114. data/bin/lib/Image/ExifTool/Nikon.pm +314 -35
  115. data/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
  116. data/bin/lib/Image/ExifTool/NikonCustom.pm +1 -1
  117. data/bin/lib/Image/ExifTool/NikonSettings.pm +2013 -0
  118. data/bin/lib/Image/ExifTool/Nintendo.pm +1 -1
  119. data/bin/lib/Image/ExifTool/OOXML.pm +1 -1
  120. data/bin/lib/Image/ExifTool/Ogg.pm +1 -1
  121. data/bin/lib/Image/ExifTool/Olympus.pm +4 -2
  122. data/bin/lib/Image/ExifTool/OpenEXR.pm +1 -1
  123. data/bin/lib/Image/ExifTool/Opus.pm +1 -1
  124. data/bin/lib/Image/ExifTool/PCX.pm +1 -1
  125. data/bin/lib/Image/ExifTool/PDF.pm +10 -2
  126. data/bin/lib/Image/ExifTool/PGF.pm +1 -1
  127. data/bin/lib/Image/ExifTool/PICT.pm +1 -1
  128. data/bin/lib/Image/ExifTool/PLIST.pm +1 -1
  129. data/bin/lib/Image/ExifTool/PLUS.pm +1 -1
  130. data/bin/lib/Image/ExifTool/PNG.pm +12 -4
  131. data/bin/lib/Image/ExifTool/PPM.pm +1 -1
  132. data/bin/lib/Image/ExifTool/PSP.pm +1 -1
  133. data/bin/lib/Image/ExifTool/Palm.pm +1 -1
  134. data/bin/lib/Image/ExifTool/Panasonic.pm +1 -1
  135. data/bin/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
  136. data/bin/lib/Image/ExifTool/Parrot.pm +1 -1
  137. data/bin/lib/Image/ExifTool/Pentax.pm +12 -4
  138. data/bin/lib/Image/ExifTool/PhaseOne.pm +1 -1
  139. data/bin/lib/Image/ExifTool/PhotoCD.pm +1 -1
  140. data/bin/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
  141. data/bin/lib/Image/ExifTool/Photoshop.pm +1 -1
  142. data/bin/lib/Image/ExifTool/PostScript.pm +1 -1
  143. data/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
  144. data/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
  145. data/bin/lib/Image/ExifTool/QuickTime.pm +28 -19
  146. data/bin/lib/Image/ExifTool/QuickTimeStream.pl +25 -4
  147. data/bin/lib/Image/ExifTool/RIFF.pm +83 -5
  148. data/bin/lib/Image/ExifTool/RSRC.pm +1 -1
  149. data/bin/lib/Image/ExifTool/RTF.pm +1 -1
  150. data/bin/lib/Image/ExifTool/Radiance.pm +1 -1
  151. data/bin/lib/Image/ExifTool/Rawzor.pm +1 -1
  152. data/bin/lib/Image/ExifTool/Real.pm +1 -1
  153. data/bin/lib/Image/ExifTool/Reconyx.pm +1 -1
  154. data/bin/lib/Image/ExifTool/Red.pm +1 -1
  155. data/bin/lib/Image/ExifTool/Ricoh.pm +1 -1
  156. data/bin/lib/Image/ExifTool/Samsung.pm +1 -1
  157. data/bin/lib/Image/ExifTool/Sanyo.pm +1 -1
  158. data/bin/lib/Image/ExifTool/Scalado.pm +1 -1
  159. data/bin/lib/Image/ExifTool/Shift.pl +1 -1
  160. data/bin/lib/Image/ExifTool/Shortcuts.pm +1 -1
  161. data/bin/lib/Image/ExifTool/Sigma.pm +1 -1
  162. data/bin/lib/Image/ExifTool/SigmaRaw.pm +1 -1
  163. data/bin/lib/Image/ExifTool/Sony.pm +8 -2
  164. data/bin/lib/Image/ExifTool/SonyIDC.pm +1 -1
  165. data/bin/lib/Image/ExifTool/Stim.pm +3 -3
  166. data/bin/lib/Image/ExifTool/TagInfoXML.pm +2 -2
  167. data/bin/lib/Image/ExifTool/TagLookup.pm +3943 -3807
  168. data/bin/lib/Image/ExifTool/TagNames.pod +313 -21
  169. data/bin/lib/Image/ExifTool/Text.pm +1 -1
  170. data/bin/lib/Image/ExifTool/Theora.pm +1 -1
  171. data/bin/lib/Image/ExifTool/Torrent.pm +1 -1
  172. data/bin/lib/Image/ExifTool/Unknown.pm +1 -1
  173. data/bin/lib/Image/ExifTool/VCard.pm +1 -1
  174. data/bin/lib/Image/ExifTool/Validate.pm +1 -1
  175. data/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
  176. data/bin/lib/Image/ExifTool/WTV.pm +1 -1
  177. data/bin/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
  178. data/bin/lib/Image/ExifTool/WriteExif.pl +1 -1
  179. data/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
  180. data/bin/lib/Image/ExifTool/WritePDF.pl +1 -1
  181. data/bin/lib/Image/ExifTool/WritePNG.pl +1 -1
  182. data/bin/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
  183. data/bin/lib/Image/ExifTool/WritePostScript.pl +1 -1
  184. data/bin/lib/Image/ExifTool/WriteQuickTime.pl +5 -4
  185. data/bin/lib/Image/ExifTool/WriteXMP.pl +1 -1
  186. data/bin/lib/Image/ExifTool/Writer.pl +28 -14
  187. data/bin/lib/Image/ExifTool/XMP.pm +17 -8
  188. data/bin/lib/Image/ExifTool/XMP2.pl +5 -1
  189. data/bin/lib/Image/ExifTool/XMPStruct.pl +1 -1
  190. data/bin/lib/Image/ExifTool/ZIP.pm +1 -1
  191. data/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
  192. data/bin/lib/Image/ExifTool/iWork.pm +1 -1
  193. data/bin/perl-Image-ExifTool.spec +1 -1
  194. data/lib/exiftool_vendored/version.rb +1 -1
  195. metadata +9 -4
@@ -25,7 +25,7 @@
25
25
  #
26
26
  # May also be used for string i/o (just pass a scalar reference)
27
27
  #
28
- # Legal: Copyright (c) 2003-2020 Phil Harvey (philharvey66 at gmail.com)
28
+ # Legal: Copyright (c) 2003-2021 Phil Harvey (philharvey66 at gmail.com)
29
29
  # This library is free software; you can redistribute it and/or
30
30
  # modify it under the same terms as Perl itself.
31
31
  #------------------------------------------------------------------------------
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # Description: Buffer to support random access reading of sequential file
5
5
  #
6
- # Legal: Copyright (c) 2003-2020 Phil Harvey (philharvey66 at gmail.com)
6
+ # Legal: Copyright (c) 2003-2021 Phil Harvey (philharvey66 at gmail.com)
7
7
  # This library is free software; you can redistribute it and/or
8
8
  # modify it under the same terms as Perl itself.
9
9
  #------------------------------------------------------------------------------
@@ -236,7 +236,7 @@ the end of file is not allowed.
236
236
 
237
237
  =head1 AUTHOR
238
238
 
239
- Copyright 2003-2020 Phil Harvey (philharvey66 at gmail.com)
239
+ Copyright 2003-2021 Phil Harvey (philharvey66 at gmail.com)
240
240
 
241
241
  This library is free software; you can redistribute it and/or modify it
242
242
  under the same terms as Perl itself.
@@ -8,7 +8,7 @@
8
8
  # Revisions: Nov. 12/2003 - P. Harvey Created
9
9
  # (See html/history.html for revision history)
10
10
  #
11
- # Legal: Copyright (c) 2003-2020, Phil Harvey (philharvey66 at gmail.com)
11
+ # Legal: Copyright (c) 2003-2021, Phil Harvey (philharvey66 at gmail.com)
12
12
  # This library is free software; you can redistribute it and/or
13
13
  # modify it under the same terms as Perl itself.
14
14
  #------------------------------------------------------------------------------
@@ -28,7 +28,7 @@ use vars qw($VERSION $RELEASE @ISA @EXPORT_OK %EXPORT_TAGS $AUTOLOAD @fileTypes
28
28
  %mimeType $swapBytes $swapWords $currentByteOrder %unpackStd
29
29
  %jpegMarker %specialTags %fileTypeLookup $testLen $exePath);
30
30
 
31
- $VERSION = '12.10';
31
+ $VERSION = '12.15';
32
32
  $RELEASE = '';
33
33
  @ISA = qw(Exporter);
34
34
  %EXPORT_TAGS = (
@@ -2505,6 +2505,7 @@ sub ExtractInfo($;@)
2505
2505
  } else {
2506
2506
  $self->Error('Unknown file type');
2507
2507
  }
2508
+ $self->BuildCompositeTags() if $fast == 4 and $$options{Composite};
2508
2509
  last; # don't read the file
2509
2510
  }
2510
2511
  if (@fileTypeList) {
@@ -3394,7 +3395,11 @@ sub GetGroup($$;$)
3394
3395
  my @grps;
3395
3396
  # create list of group names (without identical adjacent groups if simplifying)
3396
3397
  foreach (@families) {
3397
- my $grp = $groups[$_] or next;
3398
+ my $grp = $groups[$_];
3399
+ unless ($grp) {
3400
+ next if $simplify;
3401
+ $grp = '';
3402
+ }
3398
3403
  push @grps, $grp unless $simplify and @grps and $grp eq $grps[-1];
3399
3404
  }
3400
3405
  # remove leading "Main:" if simplifying
@@ -4001,7 +4006,9 @@ sub Open($*$;$)
4001
4006
  }
4002
4007
  my $share = 0;
4003
4008
  eval {
4004
- $share = Win32API::File::FILE_SHARE_READ() unless $access & Win32API::File::GENERIC_WRITE();
4009
+ unless ($access & Win32API::File::GENERIC_WRITE()) {
4010
+ $share = Win32API::File::FILE_SHARE_READ() | Win32API::File::FILE_SHARE_WRITE();
4011
+ }
4005
4012
  };
4006
4013
  my $wh = eval { Win32API::File::CreateFileW($file, $access, $share, [], $create, 0, []) };
4007
4014
  return undef unless $wh;
@@ -5732,12 +5739,12 @@ sub ConvertFileSize($)
5732
5739
  {
5733
5740
  my $val = shift;
5734
5741
  $val < 2048 and return "$val bytes";
5735
- $val < 10240 and return sprintf('%.1f kB', $val / 1024);
5736
- $val < 2097152 and return sprintf('%.0f kB', $val / 1024);
5737
- $val < 10485760 and return sprintf('%.1f MB', $val / 1048576);
5738
- $val < 2147483648 and return sprintf('%.0f MB', $val / 1048576);
5739
- $val < 10737418240 and return sprintf('%.1f GB', $val / 1073741824);
5740
- return sprintf('%.0f GB', $val / 1073741824);
5742
+ $val < 10240 and return sprintf('%.1f KiB', $val / 1024);
5743
+ $val < 2097152 and return sprintf('%.0f KiB', $val / 1024);
5744
+ $val < 10485760 and return sprintf('%.1f MiB', $val / 1048576);
5745
+ $val < 2147483648 and return sprintf('%.0f MiB', $val / 1048576);
5746
+ $val < 10737418240 and return sprintf('%.1f GiB', $val / 1073741824);
5747
+ return sprintf('%.0f GiB', $val / 1073741824);
5741
5748
  }
5742
5749
 
5743
5750
  #------------------------------------------------------------------------------
@@ -6688,6 +6695,22 @@ sub ProcessJPEG($$)
6688
6695
  # extract the Stim information (it is in standard TIFF format)
6689
6696
  my $tagTablePtr = GetTagTable('Image::ExifTool::Stim::Main');
6690
6697
  $self->ProcessTIFF(\%dirInfo, $tagTablePtr);
6698
+ } elsif ($$self{Make} eq 'DJI') {
6699
+ $dumpType = 'DJI ThermalData';
6700
+ # add this data to the combined data if it exists
6701
+ my $dataPt = $segDataPt;
6702
+ if (defined $combinedSegData) {
6703
+ $combinedSegData .= $$segDataPt;
6704
+ $dataPt = \$combinedSegData;
6705
+ }
6706
+ if ($nextMarker == $marker) {
6707
+ $combinedSegData = $$segDataPt unless defined $combinedSegData;
6708
+ } else {
6709
+ # process DJI FLIR thermal data
6710
+ my $tagTablePtr = GetTagTable('Image::ExifTool::JPEG::Main');
6711
+ $self->HandleTag($tagTablePtr, 'APP3', $$dataPt);
6712
+ undef $combinedSegData;
6713
+ }
6691
6714
  } elsif ($$segDataPt =~ /^\xff\xd8\xff\xdb/) {
6692
6715
  $dumpType = 'PreviewImage'; # (Samsung, HP, BenQ)
6693
6716
  $preview = $$segDataPt;
@@ -6722,6 +6745,11 @@ sub ProcessJPEG($$)
6722
6745
  # set flag if this is the last FPXR segment
6723
6746
  $dirInfo{LastFPXR} = not ($nextMarker==$marker and $$nextSegDataPt=~/^FPXR\0/),
6724
6747
  $self->ProcessDirectory(\%dirInfo, $tagTablePtr);
6748
+ } elsif ($$self{Make} eq 'DJI' and $$segDataPt =~ /^\xaa\x55\x12\x06/) {
6749
+ $dumpType = 'DJI ThermalParams';
6750
+ DirStart(\%dirInfo, 0, 0);
6751
+ my $tagTablePtr = GetTagTable('Image::ExifTool::DJI::ThermalParams');
6752
+ $self->ProcessDirectory(\%dirInfo, $tagTablePtr);
6725
6753
  } elsif ($preview) {
6726
6754
  # continued Samsung S1060 preview from APP3
6727
6755
  $dumpType = 'PreviewImage';
@@ -6744,6 +6772,10 @@ sub ProcessJPEG($$)
6744
6772
  } elsif ($$segDataPt =~ /^ssuniqueid\0/) {
6745
6773
  my $tagTablePtr = GetTagTable('Image::ExifTool::Samsung::APP5');
6746
6774
  $self->HandleTag($tagTablePtr, 'ssuniqueid', substr($$segDataPt, 11));
6775
+ } elsif ($$self{Make} eq 'DJI') {
6776
+ $dumpType = 'DJI ThermalCal';
6777
+ my $tagTablePtr = GetTagTable('Image::ExifTool::JPEG::Main');
6778
+ $self->HandleTag($tagTablePtr, 'APP5', $$segDataPt);
6747
6779
  } elsif ($preview) {
6748
6780
  $dumpType = 'PreviewImage';
6749
6781
  $preview .= $$segDataPt;
@@ -6779,6 +6811,10 @@ sub ProcessJPEG($$)
6779
6811
  my $tagTablePtr = GetTagTable('Image::ExifTool::GoPro::GPMF');
6780
6812
  DirStart(\%dirInfo, 6);
6781
6813
  $self->ProcessDirectory(\%dirInfo, $tagTablePtr);
6814
+ } elsif ($$segDataPt =~ /^DTAT\0\0.\{/s) {
6815
+ $dumpType = 'DJI_DTAT';
6816
+ my $tagTablePtr = GetTagTable('Image::ExifTool::JPEG::Main');
6817
+ $self->HandleTag($tagTablePtr, 'APP6', $$segDataPt);
6782
6818
  }
6783
6819
  } elsif ($marker == 0xe7) { # APP7 (Pentax, Huawei, Qualcomm)
6784
6820
  if ($$segDataPt =~ /^PENTAX \0(II|MM)/) {
@@ -5,7 +5,7 @@
5
5
  #
6
6
  # URL: https://exiftool.org/
7
7
  #
8
- # Legal: Copyright (c) 2003-2020, Phil Harvey (philharvey66 at gmail.com)
8
+ # Legal: Copyright (c) 2003-2021, Phil Harvey (philharvey66 at gmail.com)
9
9
  # This library is free software; you can redistribute it and/or
10
10
  # modify it under the same terms as Perl itself.
11
11
  #------------------------------------------------------------------------------
@@ -644,10 +644,11 @@ file types. With a value of 2, ExifTool will also avoid extracting any EXIF
644
644
  MakerNote information, and will stop parsing at the IDAT chunk of PNG
645
645
  images. (By the PNG specification, metadata is allowed after IDAT, but
646
646
  ExifTool always writes it before because some utilities will ignore it
647
- otherwise.) When set to 3 or 4, only pseudo system tags and FileType are
648
- generated. For 3, the file header is read to provide an educated guess at
649
- FileType. For 4, the file is not read at all and FileType is determined
650
- based on the file's extension. Default is undef.
647
+ otherwise.) When set to 3 or higher, only pseudo system tags and FileType
648
+ are generated. For 3, the file header is read to provide an educated guess
649
+ at FileType. For 4, the file is not read at all and FileType is determined
650
+ based on the file's extension. For 5, generation of Composite tags is also
651
+ disabled (like setting L</Composite> to 0). Default is undef.
651
652
 
652
653
  =item Filter
653
654
 
@@ -1901,7 +1902,9 @@ file or creating the link.
1901
1902
 
1902
1903
  =item Notes:
1903
1904
 
1904
- Will not overwrite existing files. New directories are created as necessary.
1905
+ Will not overwrite existing files. New directories are created as necessary.
1906
+ If the file is successfully renamed, the new file name may be accessed via
1907
+ C<$$exifTool{NewName}>.
1905
1908
 
1906
1909
  =back
1907
1910
 
@@ -2295,10 +2298,10 @@ MIE-Orient, MIE-Preview, MIE-Thumbnail, MIE-UTM, MIE-Unknown, MIE-Video,
2295
2298
  MIFF, MNG, MOBI, MOI, MPC, MPEG, MPF0, MPImage, MS-DOC, MXF, MacOS,
2296
2299
  MakerNotes, MakerUnknown, Matroska, MediaJukebox, Meta, MetaIFD, Microsoft,
2297
2300
  Minolta, MinoltaRaw, Motorola, NITF, Nikon, NikonCapture, NikonCustom,
2298
- NikonScan, Nintendo, Ocad, Ogg, Olympus, OpenEXR, Opus, PDF, PICT, PNG,
2299
- PNG-pHYs, PSP, Palm, Panasonic, PanasonicRaw, Pentax, PhaseOne, PhotoCD,
2300
- PhotoMechanic, Photoshop, PictureInfo, PostScript, PreviewIFD, PrintIM,
2301
- ProfileIFD, Qualcomm, QuickTime, RAF, RAF2, RIFF, RMETA, RSRC, RTF,
2301
+ NikonScan, NikonSettings, Nintendo, Ocad, Ogg, Olympus, OpenEXR, Opus, PDF,
2302
+ PICT, PNG, PNG-pHYs, PSP, Palm, Panasonic, PanasonicRaw, Pentax, PhaseOne,
2303
+ PhotoCD, PhotoMechanic, Photoshop, PictureInfo, PostScript, PreviewIFD,
2304
+ PrintIM, ProfileIFD, Qualcomm, QuickTime, RAF, RAF2, RIFF, RMETA, RSRC, RTF,
2302
2305
  Radiance, Rawzor, Real, Real-CONT, Real-MDPR, Real-PROP, Real-RA3, Real-RA4,
2303
2306
  Real-RA5, Real-RJMD, Reconyx, Red, Ricoh, SPIFF, SR2, SR2DataIFD, SR2SubIFD,
2304
2307
  SRF#, SVG, Samsung, Sanyo, Scalado, Sigma, SigmaRaw, Sony, SonyIDC, Stim,
@@ -2708,7 +2711,7 @@ specified by the L</Charset> option.
2708
2711
 
2709
2712
  =head1 AUTHOR
2710
2713
 
2711
- Copyright 2003-2020, Phil Harvey
2714
+ Copyright 2003-2021, Phil Harvey
2712
2715
 
2713
2716
  This library is free software; you can redistribute it and/or modify it
2714
2717
  under the same terms as Perl itself.
@@ -477,7 +477,7 @@ main purpose of encryption, so this really can't be considered a bug.
477
477
 
478
478
  =head1 AUTHOR
479
479
 
480
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
480
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
481
481
 
482
482
  This library is free software; you can redistribute it and/or modify it
483
483
  under the same terms as Perl itself.
@@ -259,7 +259,7 @@ scanning for AFCP information.
259
259
 
260
260
  =head1 AUTHOR
261
261
 
262
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
262
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
263
263
 
264
264
  This library is free software; you can redistribute it and/or modify it
265
265
  under the same terms as Perl itself.
@@ -287,7 +287,7 @@ information from AIFF (Audio Interchange File Format) audio files.
287
287
 
288
288
  =head1 AUTHOR
289
289
 
290
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
290
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
291
291
 
292
292
  This library is free software; you can redistribute it and/or modify it
293
293
  under the same terms as Perl itself.
@@ -263,7 +263,7 @@ Currently doesn't parse MAC header unless it is at the start of the file.
263
263
 
264
264
  =head1 AUTHOR
265
265
 
266
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
266
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
267
267
 
268
268
  This library is free software; you can redistribute it and/or modify it
269
269
  under the same terms as Perl itself.
@@ -305,7 +305,7 @@ APP12 meta information.
305
305
 
306
306
  =head1 AUTHOR
307
307
 
308
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
308
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
309
309
 
310
310
  This library is free software; you can redistribute it and/or modify it
311
311
  under the same terms as Perl itself.
@@ -876,7 +876,7 @@ Windows Media Audio (WMA) and Windows Media Video (WMV) files.
876
876
 
877
877
  =head1 AUTHOR
878
878
 
879
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
879
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
880
880
 
881
881
  This library is free software; you can redistribute it and/or modify it
882
882
  under the same terms as Perl itself.
@@ -148,7 +148,7 @@ Apple maker notes in EXIF information.
148
148
 
149
149
  =head1 AUTHOR
150
150
 
151
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
151
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
152
152
 
153
153
  This library is free software; you can redistribute it and/or modify it
154
154
  under the same terms as Perl itself.
@@ -291,7 +291,7 @@ information from Audible audio books.
291
291
 
292
292
  =head1 AUTHOR
293
293
 
294
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
294
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
295
295
 
296
296
  This library is free software; you can redistribute it and/or modify it
297
297
  under the same terms as Perl itself.
@@ -335,7 +335,7 @@ This module contains definitions required by Image::ExifTool to read BMP
335
335
 
336
336
  =head1 AUTHOR
337
337
 
338
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
338
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
339
339
 
340
340
  This library is free software; you can redistribute it and/or modify it
341
341
  under the same terms as Perl itself.
@@ -231,7 +231,7 @@ This module contains definitions required by Image::ExifTool to read BPG
231
231
 
232
232
  =head1 AUTHOR
233
233
 
234
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
234
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
235
235
 
236
236
  This library is free software; you can redistribute it and/or modify it
237
237
  under the same terms as Perl itself.
@@ -445,7 +445,7 @@ compression ability).
445
445
 
446
446
  =head1 AUTHOR
447
447
 
448
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
448
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
449
449
  Copyright 2002, Leon Bottou and Yann Le Cun
450
450
  Copyright 2001, AT&T
451
451
  Copyright 1999-2001, LizardTech Inc.
@@ -275,7 +275,7 @@ information in BigTIFF images.
275
275
 
276
276
  =head1 AUTHOR
277
277
 
278
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
278
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
279
279
 
280
280
  This library is free software; you can redistribute it and/or modify it
281
281
  under the same terms as Perl itself.
@@ -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.39';
38
+ $VERSION = '3.41';
39
39
  @ISA = qw(Exporter);
40
40
 
41
41
  sub NumbersFirst($$);
@@ -457,6 +457,11 @@ values. However, if the L<QuickTimeUTC|../ExifTool.html#QuickTimeUTC> API optio
457
457
  assume these values are properly stored as UTC, and will convert them to
458
458
  local time when extracting.
459
459
 
460
+ When writing string-based date/time tags, the system time zone is added if
461
+ the PrintConv option is enabled and no time zone is specified. This is
462
+ because Apple software may display a crazy values if the time zone is
463
+ missing for some tags.
464
+
460
465
  See
461
466
  L<https://developer.apple.com/library/archive/documentation/QuickTime/QTFF/>
462
467
  for the official specification.
@@ -628,7 +633,8 @@ overlapping EXIF, IPTC and XMP tags to be reconciled when reading, and
628
633
  synchronized when writing. The MWG Composite tags below are designed to aid
629
634
  in the implementation of these recommendations. As well, the MWG defines
630
635
  new XMP tags which are listed in the subsequent tables below. See
631
- L<http://www.metadataworkinggroup.org/> for the official MWG specification.
636
+ L<https://web.archive.org/web/20181006115950/http://www.metadataworkinggroup.org/specs/>
637
+ for the official MWG specification.
632
638
  },
633
639
  MacOS => q{
634
640
  On MacOS systems, the there are additional MDItem and XAttr Finder tags that
@@ -651,7 +657,7 @@ L<Image::ExifTool::BuildTagLookup|Image::ExifTool::BuildTagLookup>.
651
657
 
652
658
  ~head1 AUTHOR
653
659
 
654
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
660
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
655
661
 
656
662
  This library is free software; you can redistribute it and/or modify it
657
663
  under the same terms as Perl itself.
@@ -2726,7 +2732,7 @@ Returned list of writable pseudo tags.
2726
2732
 
2727
2733
  =head1 AUTHOR
2728
2734
 
2729
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
2735
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
2730
2736
 
2731
2737
  This library is free software; you can redistribute it and/or modify it
2732
2738
  under the same terms as Perl itself.
@@ -88,7 +88,7 @@ sub ProcessCTMD($$$);
88
88
  sub ProcessExifInfo($$$);
89
89
  sub SwapWords($);
90
90
 
91
- $VERSION = '4.40';
91
+ $VERSION = '4.42';
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)
@@ -578,16 +578,17 @@ $VERSION = '4.40';
578
578
  61182.7 => 'Canon RF 15-35mm F2.8L IS USM',
579
579
  61182.8 => 'Canon RF 24-240mm F4-6.3 IS USM',
580
580
  61182.9 => 'Canon RF 70-200mm F2.8L IS USM',
581
- 61182.10 => 'Canon RF 600mm F11 IS STM',
582
- 61182.11 => 'Canon RF 600mm F11 IS STM + RF1.4x',
583
- 61182.12 => 'Canon RF 600mm F11 IS STM + RF2x',
584
- 61182.13 => 'Canon RF 800mm F11 IS STM',
585
- 61182.14 => 'Canon RF 800mm F11 IS STM + RF1.4x',
586
- 61182.15 => 'Canon RF 800mm F11 IS STM + RF2x',
587
- 61182.16 => 'Canon RF 24-105mm F4-7.1 IS STM',
588
- 61182.17 => 'Canon RF 100-500mm F4.5-7.1L IS USM',
589
- 61182.18 => 'Canon RF 100-500mm F4.5-7.1L IS USM + RF1.4x',
590
- 61182.19 => 'Canon RF 100-500mm F4.5-7.1L IS USM + RF2x',
581
+ 61182.10 => 'Canon RF 85mm F2 MACRO IS STM',
582
+ 61182.11 => 'Canon RF 600mm F11 IS STM',
583
+ 61182.12 => 'Canon RF 600mm F11 IS STM + RF1.4x',
584
+ 61182.13 => 'Canon RF 600mm F11 IS STM + RF2x',
585
+ 61182.14 => 'Canon RF 800mm F11 IS STM',
586
+ 61182.15 => 'Canon RF 800mm F11 IS STM + RF1.4x',
587
+ 61182.16 => 'Canon RF 800mm F11 IS STM + RF2x',
588
+ 61182.17 => 'Canon RF 24-105mm F4-7.1 IS STM',
589
+ 61182.18 => 'Canon RF 100-500mm F4.5-7.1L IS USM',
590
+ 61182.19 => 'Canon RF 100-500mm F4.5-7.1L IS USM + RF1.4x',
591
+ 61182.20 => 'Canon RF 100-500mm F4.5-7.1L IS USM + RF2x',
591
592
  65535 => 'n/a',
592
593
  );
593
594
 
@@ -943,6 +944,7 @@ $VERSION = '4.40';
943
944
  0x80000436 => 'EOS SL3 / 250D / Kiss X10', #25
944
945
  0x80000437 => 'EOS 90D', #IB
945
946
  0x80000453 => 'EOS R6', #PH
947
+ 0x80000467 => 'PowerShot ZOOM',
946
948
  0x80000520 => 'EOS D2000C', #IB
947
949
  0x80000560 => 'EOS D6000C', #PH (guess)
948
950
  );
@@ -6722,6 +6724,7 @@ my %ciMaxFocal = (
6722
6724
  264 => 'Canon RF 15-35mm F2.8L IS USM',
6723
6725
  265 => 'Canon RF 24-240mm F4-6.3 IS USM',
6724
6726
  266 => 'Canon RF 70-200mm F2.8L IS USM',
6727
+ 267 => 'Canon RF 85mm F2 MACRO IS STM',
6725
6728
  268 => 'Canon RF 600mm F11 IS STM',
6726
6729
  269 => 'Canon RF 600mm F11 IS STM + RF1.4x',
6727
6730
  270 => 'Canon RF 600mm F11 IS STM + RF2x',
@@ -9871,7 +9874,7 @@ Canon maker notes in EXIF information.
9871
9874
 
9872
9875
  =head1 AUTHOR
9873
9876
 
9874
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
9877
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
9875
9878
 
9876
9879
  This library is free software; you can redistribute it and/or modify it
9877
9880
  under the same terms as Perl itself.
@@ -2845,7 +2845,7 @@ Image::ExifTool to read this information.
2845
2845
 
2846
2846
  =head1 AUTHOR
2847
2847
 
2848
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
2848
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
2849
2849
 
2850
2850
  This library is free software; you can redistribute it and/or modify it
2851
2851
  under the same terms as Perl itself.
@@ -877,7 +877,7 @@ tags.)
877
877
 
878
878
  =head1 AUTHOR
879
879
 
880
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
880
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
881
881
 
882
882
  This library is free software; you can redistribute it and/or modify it
883
883
  under the same terms as Perl itself.