exiftool_vendored 12.09.0 → 12.14.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 (194) hide show
  1. checksums.yaml +4 -4
  2. data/bin/Changes +76 -5
  3. data/bin/MANIFEST +3 -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 +156 -64
  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 +18 -10
  11. data/bin/lib/Image/ExifTool.pod +14 -10
  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 +20 -15
  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 +1 -1
  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 +1 -1
  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 +4 -2
  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 +7 -5
  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/Nintendo.pm +1 -1
  118. data/bin/lib/Image/ExifTool/OOXML.pm +1 -1
  119. data/bin/lib/Image/ExifTool/Ogg.pm +1 -1
  120. data/bin/lib/Image/ExifTool/Olympus.pm +4 -2
  121. data/bin/lib/Image/ExifTool/OpenEXR.pm +1 -1
  122. data/bin/lib/Image/ExifTool/Opus.pm +1 -1
  123. data/bin/lib/Image/ExifTool/PCX.pm +1 -1
  124. data/bin/lib/Image/ExifTool/PDF.pm +10 -2
  125. data/bin/lib/Image/ExifTool/PGF.pm +1 -1
  126. data/bin/lib/Image/ExifTool/PICT.pm +1 -1
  127. data/bin/lib/Image/ExifTool/PLIST.pm +1 -1
  128. data/bin/lib/Image/ExifTool/PLUS.pm +1 -1
  129. data/bin/lib/Image/ExifTool/PNG.pm +1 -1
  130. data/bin/lib/Image/ExifTool/PPM.pm +1 -1
  131. data/bin/lib/Image/ExifTool/PSP.pm +1 -1
  132. data/bin/lib/Image/ExifTool/Palm.pm +1 -1
  133. data/bin/lib/Image/ExifTool/Panasonic.pm +1 -1
  134. data/bin/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
  135. data/bin/lib/Image/ExifTool/Parrot.pm +1 -1
  136. data/bin/lib/Image/ExifTool/Pentax.pm +12 -4
  137. data/bin/lib/Image/ExifTool/PhaseOne.pm +1 -1
  138. data/bin/lib/Image/ExifTool/PhotoCD.pm +1 -1
  139. data/bin/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
  140. data/bin/lib/Image/ExifTool/Photoshop.pm +1 -1
  141. data/bin/lib/Image/ExifTool/PostScript.pm +1 -1
  142. data/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
  143. data/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
  144. data/bin/lib/Image/ExifTool/QuickTime.pm +28 -18
  145. data/bin/lib/Image/ExifTool/QuickTimeStream.pl +24 -3
  146. data/bin/lib/Image/ExifTool/RIFF.pm +82 -5
  147. data/bin/lib/Image/ExifTool/RSRC.pm +1 -1
  148. data/bin/lib/Image/ExifTool/RTF.pm +1 -1
  149. data/bin/lib/Image/ExifTool/Radiance.pm +1 -1
  150. data/bin/lib/Image/ExifTool/Rawzor.pm +1 -1
  151. data/bin/lib/Image/ExifTool/Real.pm +1 -1
  152. data/bin/lib/Image/ExifTool/Reconyx.pm +1 -1
  153. data/bin/lib/Image/ExifTool/Red.pm +1 -1
  154. data/bin/lib/Image/ExifTool/Ricoh.pm +1 -1
  155. data/bin/lib/Image/ExifTool/Samsung.pm +1 -1
  156. data/bin/lib/Image/ExifTool/Sanyo.pm +1 -1
  157. data/bin/lib/Image/ExifTool/Scalado.pm +1 -1
  158. data/bin/lib/Image/ExifTool/Shift.pl +1 -1
  159. data/bin/lib/Image/ExifTool/Shortcuts.pm +1 -1
  160. data/bin/lib/Image/ExifTool/Sigma.pm +1 -1
  161. data/bin/lib/Image/ExifTool/SigmaRaw.pm +1 -1
  162. data/bin/lib/Image/ExifTool/Sony.pm +16 -12
  163. data/bin/lib/Image/ExifTool/SonyIDC.pm +1 -1
  164. data/bin/lib/Image/ExifTool/Stim.pm +3 -3
  165. data/bin/lib/Image/ExifTool/TagInfoXML.pm +2 -2
  166. data/bin/lib/Image/ExifTool/TagLookup.pm +7 -1
  167. data/bin/lib/Image/ExifTool/TagNames.pod +41 -13
  168. data/bin/lib/Image/ExifTool/Text.pm +1 -1
  169. data/bin/lib/Image/ExifTool/Theora.pm +1 -1
  170. data/bin/lib/Image/ExifTool/Torrent.pm +1 -1
  171. data/bin/lib/Image/ExifTool/Unknown.pm +1 -1
  172. data/bin/lib/Image/ExifTool/VCard.pm +1 -1
  173. data/bin/lib/Image/ExifTool/Validate.pm +1 -1
  174. data/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
  175. data/bin/lib/Image/ExifTool/WTV.pm +1 -1
  176. data/bin/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
  177. data/bin/lib/Image/ExifTool/WriteExif.pl +1 -1
  178. data/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
  179. data/bin/lib/Image/ExifTool/WritePDF.pl +1 -1
  180. data/bin/lib/Image/ExifTool/WritePNG.pl +1 -1
  181. data/bin/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
  182. data/bin/lib/Image/ExifTool/WritePostScript.pl +1 -1
  183. data/bin/lib/Image/ExifTool/WriteQuickTime.pl +5 -4
  184. data/bin/lib/Image/ExifTool/WriteXMP.pl +1 -1
  185. data/bin/lib/Image/ExifTool/Writer.pl +31 -17
  186. data/bin/lib/Image/ExifTool/XMP.pm +17 -8
  187. data/bin/lib/Image/ExifTool/XMP2.pl +6 -1
  188. data/bin/lib/Image/ExifTool/XMPStruct.pl +1 -1
  189. data/bin/lib/Image/ExifTool/ZIP.pm +1 -1
  190. data/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
  191. data/bin/lib/Image/ExifTool/iWork.pm +1 -1
  192. data/bin/perl-Image-ExifTool.spec +1 -1
  193. data/lib/exiftool_vendored/version.rb +1 -1
  194. metadata +3 -3
@@ -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.09';
31
+ $VERSION = '12.14';
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
  #------------------------------------------------------------------------------
@@ -7147,6 +7154,7 @@ sub DoProcessTIFF($$;$)
7147
7154
  # no longer do this because various files use different values
7148
7155
  # (TIFF=0x2a, RW2/RWL=0x55, HDP=0xbc, BTF=0x2b, ORF=0x4f52/0x5352/0x????)
7149
7156
  # return 0 unless $identifier == 0x2a;
7157
+ $self->Warn('Invalid magic number in EXIF TIFF header') if $fileType eq 'APP1' and $identifier != 0x2a;
7150
7158
 
7151
7159
  # get offset to IFD0
7152
7160
  return 0 if length $$dataPt < 8;
@@ -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
 
@@ -850,9 +851,10 @@ causing conversion to local time when they are extracted and from local time
850
851
  when written. According to the QuickTime specification date/time values
851
852
  should be UTC, but many digital cameras store local time instead (presumably
852
853
  because they don't know the time zone), so the default is to not convert
853
- these times. This option also disables the autodetection of incorrect
854
- time-zero offsets in QuickTime date/time values, and enforces a time zero of
855
- 1904 as per the QuickTime specification.
854
+ these times (except for Canon CR3 files, which always use UTC times). This
855
+ option also disables the autodetection of incorrect time-zero offsets in
856
+ QuickTime date/time values, and enforces a time zero of 1904 as per the
857
+ QuickTime specification.
856
858
 
857
859
  =item RequestAll
858
860
 
@@ -1900,7 +1902,9 @@ file or creating the link.
1900
1902
 
1901
1903
  =item Notes:
1902
1904
 
1903
- 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}>.
1904
1908
 
1905
1909
  =back
1906
1910
 
@@ -2707,7 +2711,7 @@ specified by the L</Charset> option.
2707
2711
 
2708
2712
  =head1 AUTHOR
2709
2713
 
2710
- Copyright 2003-2020, Phil Harvey
2714
+ Copyright 2003-2021, Phil Harvey
2711
2715
 
2712
2716
  This library is free software; you can redistribute it and/or modify it
2713
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
  );
@@ -1899,8 +1901,8 @@ my %offOn = ( 0 => 'Off', 1 => 'On' );
1899
1901
  Name => 'ColorData9',
1900
1902
  SubDirectory => { TagTable => 'Image::ExifTool::Canon::ColorData9' },
1901
1903
  },
1902
- { # (int16u[3656]) - R5/R6 ref PH
1903
- Condition => '$count == 3656',
1904
+ { # (int16u[2024|3656]) - 1DXmkIII (2024) ref IB, R5/R6 (3656) ref PH
1905
+ Condition => '$count == 2024 or $count == 3656',
1904
1906
  Name => 'ColorData10',
1905
1907
  SubDirectory => { TagTable => 'Image::ExifTool::Canon::ColorData10' },
1906
1908
  },
@@ -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',
@@ -8094,7 +8097,8 @@ my %ciMaxFocal = (
8094
8097
  },
8095
8098
  );
8096
8099
 
8097
- # Color data (MakerNotes tag 0x4001, count=3656) (same as ColorData9 but shifted up by 0x0e, ref PH)
8100
+ # Color data (MakerNotes tag 0x4001, count=2024,3656)
8101
+ # (same as ColorData9 but shifted up by 0x0e, ref PH)
8098
8102
  %Image::ExifTool::Canon::ColorData10 = (
8099
8103
  %binaryDataAttrs,
8100
8104
  FORMAT => 'int16s',
@@ -8107,6 +8111,7 @@ my %ciMaxFocal = (
8107
8111
  DataMember => 'ColorDataVersion',
8108
8112
  RawConv => '$$self{ColorDataVersion} = $val',
8109
8113
  PrintConv => {
8114
+ 32 => '32 (1DXmkIII)', #IB
8110
8115
  33 => '33 (R5/R6)',
8111
8116
  },
8112
8117
  },
@@ -9869,7 +9874,7 @@ Canon maker notes in EXIF information.
9869
9874
 
9870
9875
  =head1 AUTHOR
9871
9876
 
9872
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
9877
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
9873
9878
 
9874
9879
  This library is free software; you can redistribute it and/or modify it
9875
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.
@@ -2264,7 +2264,7 @@ files, and as a trailer in JPEG, CRW, CR2 and TIFF images.
2264
2264
 
2265
2265
  =head1 AUTHOR
2266
2266
 
2267
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
2267
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
2268
2268
 
2269
2269
  This library is free software; you can redistribute it and/or modify it
2270
2270
  under the same terms as Perl itself.
@@ -221,7 +221,7 @@ settings files (COS).
221
221
 
222
222
  =head1 AUTHOR
223
223
 
224
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
224
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
225
225
 
226
226
  This library is free software; you can redistribute it and/or modify it
227
227
  under the same terms as Perl itself.