exiftool_vendored 12.11.0 → 12.16.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 +62 -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 +70 -36
  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 +39 -4
  11. data/bin/lib/Image/ExifTool.pod +12 -8
  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 +3 -2
  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 +4 -4
  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 +3 -3
  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 +1 -1
  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 +315 -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 +2 -1
  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 +3 -2
  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 +38 -23
  146. data/bin/lib/Image/ExifTool/QuickTimeStream.pl +46 -7
  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 +1 -1
  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 +312 -18
  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 +1 -1
  185. data/bin/lib/Image/ExifTool/WriteXMP.pl +1 -1
  186. data/bin/lib/Image/ExifTool/Writer.pl +26 -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
@@ -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.11';
31
+ $VERSION = '12.16';
32
32
  $RELEASE = '';
33
33
  @ISA = qw(Exporter);
34
34
  %EXPORT_TAGS = (
@@ -3395,7 +3395,11 @@ sub GetGroup($$;$)
3395
3395
  my @grps;
3396
3396
  # create list of group names (without identical adjacent groups if simplifying)
3397
3397
  foreach (@families) {
3398
- my $grp = $groups[$_] or next;
3398
+ my $grp = $groups[$_];
3399
+ unless ($grp) {
3400
+ next if $simplify;
3401
+ $grp = '';
3402
+ }
3399
3403
  push @grps, $grp unless $simplify and @grps and $grp eq $grps[-1];
3400
3404
  }
3401
3405
  # remove leading "Main:" if simplifying
@@ -4002,7 +4006,9 @@ sub Open($*$;$)
4002
4006
  }
4003
4007
  my $share = 0;
4004
4008
  eval {
4005
- $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
+ }
4006
4012
  };
4007
4013
  my $wh = eval { Win32API::File::CreateFileW($file, $access, $share, [], $create, 0, []) };
4008
4014
  return undef unless $wh;
@@ -6689,6 +6695,22 @@ sub ProcessJPEG($$)
6689
6695
  # extract the Stim information (it is in standard TIFF format)
6690
6696
  my $tagTablePtr = GetTagTable('Image::ExifTool::Stim::Main');
6691
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
+ }
6692
6714
  } elsif ($$segDataPt =~ /^\xff\xd8\xff\xdb/) {
6693
6715
  $dumpType = 'PreviewImage'; # (Samsung, HP, BenQ)
6694
6716
  $preview = $$segDataPt;
@@ -6723,6 +6745,11 @@ sub ProcessJPEG($$)
6723
6745
  # set flag if this is the last FPXR segment
6724
6746
  $dirInfo{LastFPXR} = not ($nextMarker==$marker and $$nextSegDataPt=~/^FPXR\0/),
6725
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);
6726
6753
  } elsif ($preview) {
6727
6754
  # continued Samsung S1060 preview from APP3
6728
6755
  $dumpType = 'PreviewImage';
@@ -6745,6 +6772,10 @@ sub ProcessJPEG($$)
6745
6772
  } elsif ($$segDataPt =~ /^ssuniqueid\0/) {
6746
6773
  my $tagTablePtr = GetTagTable('Image::ExifTool::Samsung::APP5');
6747
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);
6748
6779
  } elsif ($preview) {
6749
6780
  $dumpType = 'PreviewImage';
6750
6781
  $preview .= $$segDataPt;
@@ -6780,6 +6811,10 @@ sub ProcessJPEG($$)
6780
6811
  my $tagTablePtr = GetTagTable('Image::ExifTool::GoPro::GPMF');
6781
6812
  DirStart(\%dirInfo, 6);
6782
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);
6783
6818
  }
6784
6819
  } elsif ($marker == 0xe7) { # APP7 (Pentax, Huawei, Qualcomm)
6785
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
  #------------------------------------------------------------------------------
@@ -626,7 +626,9 @@ XMP to be extracted.
626
626
  Flag to extract information from embedded documents in EPS files, embedded
627
627
  EPS information and JPEG and Jpeg2000 images in PDF files, embedded MPF
628
628
  images in JPEG and MPO files, timed metadata in videos, and the resource
629
- fork of Mac OS files. Default is undef.
629
+ fork of Mac OS files. A setting of 2 also causes the H264 video stream in
630
+ MP4 files to be parsed until the first SEI message is decoded, or 3 to
631
+ parse the entire stream. Default is undef.
630
632
 
631
633
  =item FastScan
632
634
 
@@ -1902,7 +1904,9 @@ file or creating the link.
1902
1904
 
1903
1905
  =item Notes:
1904
1906
 
1905
- Will not overwrite existing files. New directories are created as necessary.
1907
+ Will not overwrite existing files. New directories are created as necessary.
1908
+ If the file is successfully renamed, the new file name may be accessed via
1909
+ C<$$exifTool{NewName}>.
1906
1910
 
1907
1911
  =back
1908
1912
 
@@ -2296,10 +2300,10 @@ MIE-Orient, MIE-Preview, MIE-Thumbnail, MIE-UTM, MIE-Unknown, MIE-Video,
2296
2300
  MIFF, MNG, MOBI, MOI, MPC, MPEG, MPF0, MPImage, MS-DOC, MXF, MacOS,
2297
2301
  MakerNotes, MakerUnknown, Matroska, MediaJukebox, Meta, MetaIFD, Microsoft,
2298
2302
  Minolta, MinoltaRaw, Motorola, NITF, Nikon, NikonCapture, NikonCustom,
2299
- NikonScan, Nintendo, Ocad, Ogg, Olympus, OpenEXR, Opus, PDF, PICT, PNG,
2300
- PNG-pHYs, PSP, Palm, Panasonic, PanasonicRaw, Pentax, PhaseOne, PhotoCD,
2301
- PhotoMechanic, Photoshop, PictureInfo, PostScript, PreviewIFD, PrintIM,
2302
- ProfileIFD, Qualcomm, QuickTime, RAF, RAF2, RIFF, RMETA, RSRC, RTF,
2303
+ NikonScan, NikonSettings, Nintendo, Ocad, Ogg, Olympus, OpenEXR, Opus, PDF,
2304
+ PICT, PNG, PNG-pHYs, PSP, Palm, Panasonic, PanasonicRaw, Pentax, PhaseOne,
2305
+ PhotoCD, PhotoMechanic, Photoshop, PictureInfo, PostScript, PreviewIFD,
2306
+ PrintIM, ProfileIFD, Qualcomm, QuickTime, RAF, RAF2, RIFF, RMETA, RSRC, RTF,
2303
2307
  Radiance, Rawzor, Real, Real-CONT, Real-MDPR, Real-PROP, Real-RA3, Real-RA4,
2304
2308
  Real-RA5, Real-RJMD, Reconyx, Red, Ricoh, SPIFF, SR2, SR2DataIFD, SR2SubIFD,
2305
2309
  SRF#, SVG, Samsung, Sanyo, Scalado, Sigma, SigmaRaw, Sony, SonyIDC, Stim,
@@ -2709,7 +2713,7 @@ specified by the L</Charset> option.
2709
2713
 
2710
2714
  =head1 AUTHOR
2711
2715
 
2712
- Copyright 2003-2020, Phil Harvey
2716
+ Copyright 2003-2021, Phil Harvey
2713
2717
 
2714
2718
  This library is free software; you can redistribute it and/or modify it
2715
2719
  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.41';
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)
@@ -944,6 +944,7 @@ $VERSION = '4.41';
944
944
  0x80000436 => 'EOS SL3 / 250D / Kiss X10', #25
945
945
  0x80000437 => 'EOS 90D', #IB
946
946
  0x80000453 => 'EOS R6', #PH
947
+ 0x80000467 => 'PowerShot ZOOM',
947
948
  0x80000520 => 'EOS D2000C', #IB
948
949
  0x80000560 => 'EOS D6000C', #PH (guess)
949
950
  );
@@ -9873,7 +9874,7 @@ Canon maker notes in EXIF information.
9873
9874
 
9874
9875
  =head1 AUTHOR
9875
9876
 
9876
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
9877
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
9877
9878
 
9878
9879
  This library is free software; you can redistribute it and/or modify it
9879
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.
@@ -2034,7 +2034,7 @@ Casio maker notes in EXIF information.
2034
2034
 
2035
2035
  =head1 AUTHOR
2036
2036
 
2037
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
2037
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
2038
2038
 
2039
2039
  This library is free software; you can redistribute it and/or modify it
2040
2040
  under the same terms as Perl itself.
@@ -420,7 +420,7 @@ when decoding certain types of information.
420
420
 
421
421
  =head1 AUTHOR
422
422
 
423
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
423
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
424
424
 
425
425
  This library is free software; you can redistribute it and/or modify it
426
426
  under the same terms as Perl itself.
@@ -3853,7 +3853,7 @@ No translation of special characters sets is done.
3853
3853
 
3854
3854
  =head1 AUTHOR
3855
3855
 
3856
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
3856
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
3857
3857
 
3858
3858
  This library is free software; you can redistribute it and/or modify it
3859
3859
  under the same terms as Perl itself.
@@ -15,7 +15,7 @@ use Image::ExifTool::Exif;
15
15
  use Image::ExifTool::XMP;
16
16
  use Image::ExifTool::GPS;
17
17
 
18
- $VERSION = '1.02';
18
+ $VERSION = '1.03';
19
19
 
20
20
  my %convFloat2 = (
21
21
  PrintConv => 'sprintf("%+.2f", $val)',
@@ -44,6 +44,32 @@ my %convFloat2 = (
44
44
  0x0b => { Name => 'CameraRoll', Writable => 'float', %convFloat2 },
45
45
  );
46
46
 
47
+ # thermal parameters in APP4 of DJI ZH20T images (ref forum11401)
48
+ %Image::ExifTool::DJI::ThermalParams = (
49
+ PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
50
+ GROUPS => { 0 => 'APP4', 2 => 'Image' },
51
+ NOTES => 'Thermal parameters extracted from APP4 of DJI RJPEG files from the ZH20T.',
52
+ # 0x00 - 0xaa551206 - temperature header magic number
53
+ 0x24 => { Name => 'K1', Format => 'float' },
54
+ 0x28 => { Name => 'K2', Format => 'float' },
55
+ 0x2c => { Name => 'K3', Format => 'float' },
56
+ 0x30 => { Name => 'K4', Format => 'float' },
57
+ 0x34 => { Name => 'KF', Format => 'float' },
58
+ 0x38 => { Name => 'B1', Format => 'float' },
59
+ 0x3c => { Name => 'B2', Format => 'float' },
60
+ 0x44 => { Name => 'ObjectDistance', Format => 'int16u' },
61
+ 0x46 => { Name => 'RelativeHumidity', Format => 'int16u' },
62
+ 0x48 => { Name => 'Emissivity', Format => 'int16u' },
63
+ 0x4a => { Name => 'Reflection', Format => 'int16u', },
64
+ 0x4c => { Name => 'AmbientTemperature', Format => 'int16u' }, # (aka D1)
65
+ 0x50 => { Name => 'D2', Format => 'int32s' },
66
+ 0x54 => { Name => 'KJ', Format => 'int16u' },
67
+ 0x56 => { Name => 'DB', Format => 'int16u' },
68
+ 0x58 => { Name => 'KK', Format => 'int16u' },
69
+ # 0x500 - 0x55aa1206 - device header magic number
70
+ # (nothing yet decoded from device header)
71
+ );
72
+
47
73
  %Image::ExifTool::DJI::XMP = (
48
74
  %Image::ExifTool::XMP::xmpTableDefaults,
49
75
  GROUPS => { 0 => 'XMP', 1 => 'XMP-drone-dji', 2 => 'Location' },
@@ -125,7 +151,7 @@ the maker notes in images from some DJI Phantom drones.
125
151
 
126
152
  =head1 AUTHOR
127
153
 
128
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
154
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
129
155
 
130
156
  This library is free software; you can redistribute it and/or modify it
131
157
  under the same terms as Perl itself.