exiftool_vendored 12.10.0 → 12.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

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
@@ -718,7 +718,7 @@ metadata from GoPro MP4 videos.
718
718
 
719
719
  =head1 AUTHOR
720
720
 
721
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
721
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
722
722
 
723
723
  This library is free software; you can redistribute it and/or modify it
724
724
  under the same terms as Perl itself.
@@ -1108,7 +1108,7 @@ information from H.264 video streams.
1108
1108
 
1109
1109
  =head1 AUTHOR
1110
1110
 
1111
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
1111
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
1112
1112
 
1113
1113
  This library is free software; you can redistribute it and/or modify it
1114
1114
  under the same terms as Perl itself.
@@ -250,7 +250,7 @@ Hewlett-Packard maker notes.
250
250
 
251
251
  =head1 AUTHOR
252
252
 
253
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
253
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
254
254
 
255
255
  This library is free software; you can redistribute it and/or modify it
256
256
  under the same terms as Perl itself.
@@ -555,7 +555,7 @@ meta information from HTML documents.
555
555
 
556
556
  =head1 AUTHOR
557
557
 
558
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
558
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
559
559
 
560
560
  This library is free software; you can redistribute it and/or modify it
561
561
  under the same terms as Perl itself.
@@ -917,7 +917,7 @@ page.
917
917
 
918
918
  =head1 AUTHOR
919
919
 
920
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
920
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
921
921
 
922
922
  This library is free software; you can redistribute it and/or modify it
923
923
  under the same terms as Perl itself.
@@ -1264,7 +1264,7 @@ data created on one device into another device's native color space.
1264
1264
 
1265
1265
  =head1 AUTHOR
1266
1266
 
1267
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
1267
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
1268
1268
 
1269
1269
  This library is free software; you can redistribute it and/or modify it
1270
1270
  under the same terms as Perl itself.
@@ -1640,7 +1640,7 @@ other types of audio files.
1640
1640
 
1641
1641
  =head1 AUTHOR
1642
1642
 
1643
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
1643
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
1644
1644
 
1645
1645
  This library is free software; you can redistribute it and/or modify it
1646
1646
  under the same terms as Perl itself.
@@ -1280,7 +1280,7 @@ image files.
1280
1280
 
1281
1281
  =head1 AUTHOR
1282
1282
 
1283
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
1283
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
1284
1284
 
1285
1285
  This library is free software; you can redistribute it and/or modify it
1286
1286
  under the same terms as Perl itself.
@@ -184,7 +184,7 @@ information from ISO 9660 disk images.
184
184
 
185
185
  =head1 AUTHOR
186
186
 
187
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
187
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
188
188
 
189
189
  This library is free software; you can redistribute it and/or modify it
190
190
  under the same terms as Perl itself.
@@ -191,7 +191,7 @@ information (including artwork images) from iTunes Cover Flow files.
191
191
 
192
192
  =head1 AUTHOR
193
193
 
194
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
194
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
195
195
 
196
196
  This library is free software; you can redistribute it and/or modify it
197
197
  under the same terms as Perl itself.
@@ -12,25 +12,26 @@ require Exporter;
12
12
 
13
13
  use vars qw($VERSION @ISA @EXPORT_OK);
14
14
 
15
- $VERSION = '1.09';
15
+ $VERSION = '1.10';
16
16
  @ISA = qw(Exporter);
17
17
  @EXPORT_OK = qw(ReadCSV ReadJSON);
18
18
 
19
19
  sub ReadJSONObject($;$);
20
20
 
21
- my %unescapeJSON = ( 't'=>"\t", 'n'=>"\n", 'r'=>"\r" );
21
+ my %unescapeJSON = ( 't'=>"\t", 'n'=>"\n", 'r'=>"\r", 'b' => "\b", 'f' => "\f" );
22
22
  my $charset;
23
23
 
24
24
  #------------------------------------------------------------------------------
25
25
  # Read CSV file
26
- # Inputs: 0) CSV file name, file ref or RAF ref, 1) database hash ref, 2) missing tag value
26
+ # Inputs: 0) CSV file name, file ref or RAF ref, 1) database hash ref,
27
+ # 2) missing tag value, 3) delimiter if other than ','
27
28
  # Returns: undef on success, or error string
28
29
  # Notes: There are various flavours of CSV, but here we assume that only
29
30
  # double quotes are escaped, and they are escaped by doubling them
30
- sub ReadCSV($$;$)
31
+ sub ReadCSV($$;$$)
31
32
  {
32
33
  local ($_, $/);
33
- my ($file, $database, $missingValue) = @_;
34
+ my ($file, $database, $missingValue, $delim) = @_;
34
35
  my ($buff, @tags, $found, $err, $raf, $openedFile);
35
36
 
36
37
  if (UNIVERSAL::isa($file, 'File::RandomAccess')) {
@@ -45,6 +46,7 @@ sub ReadCSV($$;$)
45
46
  $openedFile = 1;
46
47
  $raf = new File::RandomAccess(\*CSVFILE);
47
48
  }
49
+ $delim = ',' unless defined $delim;
48
50
  # set input record separator by first newline found in the file
49
51
  # (safe because first line should contain only tag names)
50
52
  while ($raf->Read($buff, 65536)) {
@@ -53,18 +55,18 @@ sub ReadCSV($$;$)
53
55
  $raf->Seek(0,0);
54
56
  while ($raf->ReadLine($buff)) {
55
57
  my (@vals, $v, $i, %fileInfo);
56
- my @toks = split ',', $buff;
58
+ my @toks = split /\Q$delim/, $buff;
57
59
  while (@toks) {
58
60
  ($v = shift @toks) =~ s/^ +//; # remove leading spaces
59
61
  if ($v =~ s/^"//) {
60
62
  # quoted value must end in an odd number of quotes
61
63
  while ($v !~ /("+)\s*$/ or not length($1) & 1) {
62
64
  if (@toks) {
63
- $v .= ',' . shift @toks;
65
+ $v .= $delim . shift @toks;
64
66
  } else {
65
67
  # read another line from the file
66
68
  $raf->ReadLine($buff) or last;
67
- @toks = split ',', $buff;
69
+ @toks = split /\Q$delim/, $buff;
68
70
  last unless @toks;
69
71
  $v .= shift @toks;
70
72
  }
@@ -330,9 +332,10 @@ Read CSV or JSON file into a database hash.
330
332
  2) Optional string used to represent an undefined (missing) tag value.
331
333
  (Used for deleting tags.)
332
334
 
333
- 3) [ReadJSON only] Optional character set for converting Unicode escape
334
- sequences in strings. Defaults to "UTF8". See the ExifTool Charset option
335
- for a list of valid settings.
335
+ 3) For ReadCSV this gives the delimiter for CSV entries, with a default of
336
+ ",". For ReadJSON this is the character set for converting Unicode escape
337
+ sequences in strings, with a default of "UTF8". See the ExifTool Charset
338
+ option for a list of valid character sets.
336
339
 
337
340
  =item Return Value:
338
341
 
@@ -345,7 +348,7 @@ stored as hash lookups of tag name/value for each SourceFile.
345
348
 
346
349
  =head1 AUTHOR
347
350
 
348
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
351
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
349
352
 
350
353
  This library is free software; you can redistribute it and/or modify it
351
354
  under the same terms as Perl itself.
@@ -258,7 +258,7 @@ them and the LargeFileSupport option is enabled.
258
258
 
259
259
  =head1 AUTHOR
260
260
 
261
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
261
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
262
262
 
263
263
  This library is free software; you can redistribute it and/or modify it
264
264
  under the same terms as Perl itself.
@@ -16,7 +16,7 @@ $VERSION = '1.30';
16
16
  sub ProcessOcad($$$);
17
17
  sub ProcessJPEG_HDR($$$);
18
18
 
19
- # (this main JPEG table is for documentation purposes only)
19
+ # (most of the tags in this table are for documentation purposes only)
20
20
  %Image::ExifTool::JPEG::Main = (
21
21
  NOTES => q{
22
22
  This table lists information extracted by ExifTool from JPEG images. See
@@ -96,6 +96,12 @@ sub ProcessJPEG_HDR($$$);
96
96
  Name => 'Stim',
97
97
  Condition => '$$valPt =~ /^Stim\0/',
98
98
  SubDirectory => { TagTable => 'Image::ExifTool::Stim::Main' },
99
+ }, {
100
+ Name => 'ThermalData', # (written by DJI FLIR models)
101
+ Condition => '$$self{Make} eq "DJI"',
102
+ Notes => 'DJI raw thermal data',
103
+ Groups => { 0 => 'APP3', 1 => 'DJI', 2 => 'Image' },
104
+ Binary => 1,
99
105
  }, {
100
106
  Name => 'PreviewImage', # (written by HP R837 and Samsung S1060)
101
107
  Condition => '$$valPt =~ /^\xff\xd8\xff\xdb/',
@@ -109,6 +115,10 @@ sub ProcessJPEG_HDR($$$);
109
115
  Name => 'FPXR', # (non-standard location written by some HP models)
110
116
  Condition => '$$valPt =~ /^FPXR\0/',
111
117
  SubDirectory => { TagTable => 'Image::ExifTool::FlashPix::Main' },
118
+ }, {
119
+ Name => 'ThermalParams', # (written by DJI FLIR models)
120
+ Condition => '$$self{Make} eq "DJI" and $$valPt =~ /^\xaa\x55\x12\x06/',
121
+ SubDirectory => { TagTable => 'Image::ExifTool::DJI::ThermalParams' },
112
122
  }, {
113
123
  Name => 'PreviewImage', # (eg. Samsung S1060)
114
124
  Notes => 'continued from APP3',
@@ -121,6 +131,12 @@ sub ProcessJPEG_HDR($$$);
121
131
  Name => 'SamsungUniqueID',
122
132
  Condition => '$$valPt =~ /ssuniqueid\0/',
123
133
  SubDirectory => { TagTable => 'Image::ExifTool::Samsung::APP5' },
134
+ }, {
135
+ Name => 'ThermalCalibration', # (written by DJI FLIR models)
136
+ Condition => '$$self{Make} eq "DJI"',
137
+ Notes => 'DJI thermal calibration data',
138
+ Groups => { 0 => 'APP5', 1 => 'DJI', 2 => 'Image' },
139
+ Binary => 1,
124
140
  }, {
125
141
  Name => 'PreviewImage', # (eg. BenQ DC E1050)
126
142
  Notes => 'continued from APP4',
@@ -142,6 +158,12 @@ sub ProcessJPEG_HDR($$$);
142
158
  Condition => '$$valPt =~ /^GoPro\0/',
143
159
  SubDirectory => { TagTable => 'Image::ExifTool::GoPro::GPMF' },
144
160
  # also seen Motorola APP6 "MMIMETA\0", with sub-types: AL3A,ALED,MMI0,MOTD,QC3A
161
+ }, {
162
+ Name => 'DJI_DTAT', # (written by ZH20T)
163
+ Condition => '$$valPt =~ /^DTAT\0\0.\{/s',
164
+ Groups => { 0 => 'APP6', 1 => 'DJI' },
165
+ Notes => 'DJI Thermal Analysis Tool record',
166
+ ValueConv => 'substr($val,7)',
145
167
  }],
146
168
  APP7 => [{
147
169
  Name => 'Pentax',
@@ -622,7 +644,7 @@ segments are included in the Image::ExifTool module itself.
622
644
 
623
645
  =head1 AUTHOR
624
646
 
625
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
647
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
626
648
 
627
649
  This library is free software; you can redistribute it and/or modify it
628
650
  under the same terms as Perl itself.
@@ -2590,7 +2590,7 @@ estimated JPEG quality if requested.
2590
2590
 
2591
2591
  =head1 AUTHOR
2592
2592
 
2593
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
2593
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
2594
2594
 
2595
2595
  This library is free software; you can redistribute it and/or modify it
2596
2596
  under the same terms as Perl itself.
@@ -151,7 +151,7 @@ information from JSON files.
151
151
 
152
152
  =head1 AUTHOR
153
153
 
154
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
154
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
155
155
 
156
156
  This library is free software; you can redistribute it and/or modify it
157
157
  under the same terms as Perl itself.
@@ -117,7 +117,7 @@ notes.
117
117
 
118
118
  =head1 AUTHOR
119
119
 
120
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
120
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
121
121
 
122
122
  This library is free software; you can redistribute it and/or modify it
123
123
  under the same terms as Perl itself.
@@ -16,7 +16,7 @@ use strict;
16
16
  use vars qw($VERSION);
17
17
  use Image::ExifTool qw(:DataAccess :Utils);
18
18
 
19
- $VERSION = '1.26';
19
+ $VERSION = '1.27';
20
20
 
21
21
  sub ProcessJpeg2000Box($$$);
22
22
 
@@ -186,7 +186,11 @@ my %j2cMarker = (
186
186
  comp => 'Composition',
187
187
  copt => 'CompositionOptions',
188
188
  inst => 'InstructionSet',
189
- asoc => 'Association',
189
+ asoc => {
190
+ Name => 'Association',
191
+ SubDirectory => { },
192
+ },
193
+ # (Association box may contain any other sub-box)
190
194
  nlst => 'NumberList',
191
195
  bfil => 'BinaryFilter',
192
196
  drep => 'DesiredReproductions',
@@ -212,7 +216,8 @@ my %j2cMarker = (
212
216
  written and copied. This is a List-type tag because multiple XML blocks may
213
217
  exist
214
218
  },
215
- SubDirectory => { TagTable => 'Image::ExifTool::XMP::Main' },
219
+ # (note: extracting as a block was broken in 11.04, and finally fixed in 12.14)
220
+ SubDirectory => { TagTable => 'Image::ExifTool::XMP::XML' },
216
221
  },
217
222
  uuid => [
218
223
  {
@@ -874,7 +879,7 @@ files.
874
879
 
875
880
  =head1 AUTHOR
876
881
 
877
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
882
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
878
883
 
879
884
  This library is free software; you can redistribute it and/or modify it
880
885
  under the same terms as Perl itself.
@@ -3252,7 +3252,7 @@ interpret Kodak maker notes EXIF meta information.
3252
3252
 
3253
3253
  =head1 AUTHOR
3254
3254
 
3255
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
3255
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
3256
3256
 
3257
3257
  This library is free software; you can redistribute it and/or modify it
3258
3258
  under the same terms as Perl itself.
@@ -152,7 +152,7 @@ meta information from Kyocera Contax N Digital RAW images.
152
152
 
153
153
  =head1 AUTHOR
154
154
 
155
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
155
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
156
156
 
157
157
  This library is free software; you can redistribute it and/or modify it
158
158
  under the same terms as Perl itself.
@@ -699,7 +699,7 @@ information MS Shell Link (Windows shortcut) files.
699
699
 
700
700
  =head1 AUTHOR
701
701
 
702
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
702
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
703
703
 
704
704
  This library is free software; you can redistribute it and/or modify it
705
705
  under the same terms as Perl itself.
@@ -1570,7 +1570,7 @@ and values.
1570
1570
 
1571
1571
  =head1 AUTHOR
1572
1572
 
1573
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
1573
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
1574
1574
 
1575
1575
  This library is free software; you can redistribute it and/or modify it
1576
1576
  under the same terms as Perl itself.
@@ -8702,7 +8702,7 @@ and values.
8702
8702
 
8703
8703
  =head1 AUTHOR
8704
8704
 
8705
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
8705
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
8706
8706
 
8707
8707
  This library is free software; you can redistribute it and/or modify it
8708
8708
  under the same terms as Perl itself.
@@ -989,7 +989,7 @@ and values.
989
989
 
990
990
  =head1 AUTHOR
991
991
 
992
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
992
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
993
993
 
994
994
  This library is free software; you can redistribute it and/or modify it
995
995
  under the same terms as Perl itself.
@@ -1032,7 +1032,7 @@ and values.
1032
1032
 
1033
1033
  =head1 AUTHOR
1034
1034
 
1035
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
1035
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
1036
1036
 
1037
1037
  This library is free software; you can redistribute it and/or modify it
1038
1038
  under the same terms as Perl itself.
@@ -4005,7 +4005,7 @@ and values.
4005
4005
 
4006
4006
  =head1 AUTHOR
4007
4007
 
4008
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
4008
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
4009
4009
 
4010
4010
  This library is free software; you can redistribute it and/or modify it
4011
4011
  under the same terms as Perl itself.
@@ -2878,7 +2878,7 @@ and values.
2878
2878
 
2879
2879
  =head1 AUTHOR
2880
2880
 
2881
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
2881
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
2882
2882
 
2883
2883
  This library is free software; you can redistribute it and/or modify it
2884
2884
  under the same terms as Perl itself.
@@ -4751,7 +4751,7 @@ and values.
4751
4751
 
4752
4752
  =head1 AUTHOR
4753
4753
 
4754
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
4754
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
4755
4755
 
4756
4756
  This library is free software; you can redistribute it and/or modify it
4757
4757
  under the same terms as Perl itself.
@@ -7903,7 +7903,7 @@ and values.
7903
7903
 
7904
7904
  =head1 AUTHOR
7905
7905
 
7906
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
7906
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
7907
7907
 
7908
7908
  This library is free software; you can redistribute it and/or modify it
7909
7909
  under the same terms as Perl itself.
@@ -5841,7 +5841,7 @@ and values.
5841
5841
 
5842
5842
  =head1 AUTHOR
5843
5843
 
5844
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
5844
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
5845
5845
 
5846
5846
  This library is free software; you can redistribute it and/or modify it
5847
5847
  under the same terms as Perl itself.
@@ -2316,7 +2316,7 @@ and values.
2316
2316
 
2317
2317
  =head1 AUTHOR
2318
2318
 
2319
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
2319
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
2320
2320
 
2321
2321
  This library is free software; you can redistribute it and/or modify it
2322
2322
  under the same terms as Perl itself.