exiftool_vendored 12.52.0 → 12.54.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (202) hide show
  1. checksums.yaml +4 -4
  2. data/bin/Changes +30 -1
  3. data/bin/META.json +1 -1
  4. data/bin/META.yml +1 -1
  5. data/bin/README +3 -3
  6. data/bin/exiftool +9 -7
  7. data/bin/lib/File/RandomAccess.pm +1 -1
  8. data/bin/lib/File/RandomAccess.pod +2 -2
  9. data/bin/lib/Image/ExifTool/AES.pm +1 -1
  10. data/bin/lib/Image/ExifTool/AFCP.pm +1 -1
  11. data/bin/lib/Image/ExifTool/AIFF.pm +1 -1
  12. data/bin/lib/Image/ExifTool/APE.pm +1 -1
  13. data/bin/lib/Image/ExifTool/APP12.pm +1 -1
  14. data/bin/lib/Image/ExifTool/ASF.pm +1 -1
  15. data/bin/lib/Image/ExifTool/Apple.pm +197 -27
  16. data/bin/lib/Image/ExifTool/Audible.pm +1 -1
  17. data/bin/lib/Image/ExifTool/BMP.pm +1 -1
  18. data/bin/lib/Image/ExifTool/BPG.pm +1 -1
  19. data/bin/lib/Image/ExifTool/BZZ.pm +1 -1
  20. data/bin/lib/Image/ExifTool/BigTIFF.pm +1 -1
  21. data/bin/lib/Image/ExifTool/BuildTagLookup.pm +3 -3
  22. data/bin/lib/Image/ExifTool/CBOR.pm +1 -1
  23. data/bin/lib/Image/ExifTool/Canon.pm +14 -2
  24. data/bin/lib/Image/ExifTool/CanonCustom.pm +1 -1
  25. data/bin/lib/Image/ExifTool/CanonRaw.pm +1 -1
  26. data/bin/lib/Image/ExifTool/CanonVRD.pm +9 -9
  27. data/bin/lib/Image/ExifTool/CaptureOne.pm +1 -1
  28. data/bin/lib/Image/ExifTool/Casio.pm +1 -1
  29. data/bin/lib/Image/ExifTool/Charset.pm +1 -1
  30. data/bin/lib/Image/ExifTool/DICOM.pm +1 -1
  31. data/bin/lib/Image/ExifTool/DJI.pm +1 -1
  32. data/bin/lib/Image/ExifTool/DNG.pm +1 -1
  33. data/bin/lib/Image/ExifTool/DPX.pm +1 -1
  34. data/bin/lib/Image/ExifTool/DV.pm +1 -1
  35. data/bin/lib/Image/ExifTool/DarwinCore.pm +1 -1
  36. data/bin/lib/Image/ExifTool/DjVu.pm +1 -1
  37. data/bin/lib/Image/ExifTool/EXE.pm +1 -1
  38. data/bin/lib/Image/ExifTool/Exif.pm +5 -16
  39. data/bin/lib/Image/ExifTool/FITS.pm +1 -1
  40. data/bin/lib/Image/ExifTool/FLAC.pm +1 -1
  41. data/bin/lib/Image/ExifTool/FLIF.pm +1 -1
  42. data/bin/lib/Image/ExifTool/FLIR.pm +1 -1
  43. data/bin/lib/Image/ExifTool/Fixup.pm +1 -1
  44. data/bin/lib/Image/ExifTool/Flash.pm +1 -1
  45. data/bin/lib/Image/ExifTool/FlashPix.pm +1 -1
  46. data/bin/lib/Image/ExifTool/Font.pm +1 -1
  47. data/bin/lib/Image/ExifTool/FotoStation.pm +1 -1
  48. data/bin/lib/Image/ExifTool/FujiFilm.pm +20 -13
  49. data/bin/lib/Image/ExifTool/GE.pm +1 -1
  50. data/bin/lib/Image/ExifTool/GIF.pm +1 -1
  51. data/bin/lib/Image/ExifTool/GIMP.pm +1 -1
  52. data/bin/lib/Image/ExifTool/GPS.pm +1 -1
  53. data/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
  54. data/bin/lib/Image/ExifTool/Geotag.pm +1 -1
  55. data/bin/lib/Image/ExifTool/GoPro.pm +1 -1
  56. data/bin/lib/Image/ExifTool/H264.pm +1 -1
  57. data/bin/lib/Image/ExifTool/HP.pm +1 -1
  58. data/bin/lib/Image/ExifTool/HTML.pm +1 -1
  59. data/bin/lib/Image/ExifTool/HtmlDump.pm +1 -1
  60. data/bin/lib/Image/ExifTool/ICC_Profile.pm +1 -1
  61. data/bin/lib/Image/ExifTool/ICO.pm +1 -1
  62. data/bin/lib/Image/ExifTool/ID3.pm +1 -1
  63. data/bin/lib/Image/ExifTool/IPTC.pm +1 -1
  64. data/bin/lib/Image/ExifTool/ISO.pm +1 -1
  65. data/bin/lib/Image/ExifTool/ITC.pm +1 -1
  66. data/bin/lib/Image/ExifTool/Import.pm +1 -1
  67. data/bin/lib/Image/ExifTool/InDesign.pm +1 -1
  68. data/bin/lib/Image/ExifTool/JPEG.pm +1 -1
  69. data/bin/lib/Image/ExifTool/JPEGDigest.pm +1 -1
  70. data/bin/lib/Image/ExifTool/JSON.pm +1 -1
  71. data/bin/lib/Image/ExifTool/JVC.pm +1 -1
  72. data/bin/lib/Image/ExifTool/Jpeg2000.pm +11 -5
  73. data/bin/lib/Image/ExifTool/Kodak.pm +1 -1
  74. data/bin/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
  75. data/bin/lib/Image/ExifTool/LIF.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/sk.pm +1806 -1927
  91. data/bin/lib/Image/ExifTool/Lang/sv.pm +1 -1
  92. data/bin/lib/Image/ExifTool/Lang/tr.pm +1 -1
  93. data/bin/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
  94. data/bin/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
  95. data/bin/lib/Image/ExifTool/Leaf.pm +1 -1
  96. data/bin/lib/Image/ExifTool/Lytro.pm +1 -1
  97. data/bin/lib/Image/ExifTool/M2TS.pm +1 -1
  98. data/bin/lib/Image/ExifTool/MIE.pm +1 -1
  99. data/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
  100. data/bin/lib/Image/ExifTool/MIFF.pm +1 -1
  101. data/bin/lib/Image/ExifTool/MISB.pm +1 -1
  102. data/bin/lib/Image/ExifTool/MNG.pm +1 -1
  103. data/bin/lib/Image/ExifTool/MOI.pm +1 -1
  104. data/bin/lib/Image/ExifTool/MPC.pm +1 -1
  105. data/bin/lib/Image/ExifTool/MPEG.pm +1 -1
  106. data/bin/lib/Image/ExifTool/MPF.pm +1 -1
  107. data/bin/lib/Image/ExifTool/MRC.pm +1 -1
  108. data/bin/lib/Image/ExifTool/MWG.pm +1 -1
  109. data/bin/lib/Image/ExifTool/MXF.pm +1 -1
  110. data/bin/lib/Image/ExifTool/MacOS.pm +1 -1
  111. data/bin/lib/Image/ExifTool/MakerNotes.pm +1 -1
  112. data/bin/lib/Image/ExifTool/Matroska.pm +1 -1
  113. data/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
  114. data/bin/lib/Image/ExifTool/Minolta.pm +1 -1
  115. data/bin/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
  116. data/bin/lib/Image/ExifTool/Motorola.pm +1 -1
  117. data/bin/lib/Image/ExifTool/Nikon.pm +190 -6
  118. data/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
  119. data/bin/lib/Image/ExifTool/NikonCustom.pm +1 -1
  120. data/bin/lib/Image/ExifTool/NikonSettings.pm +1 -1
  121. data/bin/lib/Image/ExifTool/Nintendo.pm +1 -1
  122. data/bin/lib/Image/ExifTool/OOXML.pm +1 -1
  123. data/bin/lib/Image/ExifTool/Ogg.pm +1 -1
  124. data/bin/lib/Image/ExifTool/Olympus.pm +1 -1
  125. data/bin/lib/Image/ExifTool/OpenEXR.pm +1 -1
  126. data/bin/lib/Image/ExifTool/Opus.pm +1 -1
  127. data/bin/lib/Image/ExifTool/Other.pm +1 -1
  128. data/bin/lib/Image/ExifTool/PCX.pm +1 -1
  129. data/bin/lib/Image/ExifTool/PDF.pm +1 -1
  130. data/bin/lib/Image/ExifTool/PGF.pm +1 -1
  131. data/bin/lib/Image/ExifTool/PICT.pm +1 -1
  132. data/bin/lib/Image/ExifTool/PLIST.pm +12 -7
  133. data/bin/lib/Image/ExifTool/PLUS.pm +1 -1
  134. data/bin/lib/Image/ExifTool/PNG.pm +1 -1
  135. data/bin/lib/Image/ExifTool/PPM.pm +1 -1
  136. data/bin/lib/Image/ExifTool/PSP.pm +1 -1
  137. data/bin/lib/Image/ExifTool/Palm.pm +1 -1
  138. data/bin/lib/Image/ExifTool/Panasonic.pm +1 -1
  139. data/bin/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
  140. data/bin/lib/Image/ExifTool/Parrot.pm +1 -1
  141. data/bin/lib/Image/ExifTool/Pentax.pm +1 -1
  142. data/bin/lib/Image/ExifTool/PhaseOne.pm +1 -1
  143. data/bin/lib/Image/ExifTool/PhotoCD.pm +1 -1
  144. data/bin/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
  145. data/bin/lib/Image/ExifTool/Photoshop.pm +1 -1
  146. data/bin/lib/Image/ExifTool/PostScript.pm +1 -1
  147. data/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
  148. data/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
  149. data/bin/lib/Image/ExifTool/QuickTime.pm +5 -4
  150. data/bin/lib/Image/ExifTool/QuickTimeStream.pl +19 -4
  151. data/bin/lib/Image/ExifTool/RIFF.pm +1 -1
  152. data/bin/lib/Image/ExifTool/RSRC.pm +1 -1
  153. data/bin/lib/Image/ExifTool/RTF.pm +1 -1
  154. data/bin/lib/Image/ExifTool/Radiance.pm +1 -1
  155. data/bin/lib/Image/ExifTool/Rawzor.pm +1 -1
  156. data/bin/lib/Image/ExifTool/Real.pm +1 -1
  157. data/bin/lib/Image/ExifTool/Reconyx.pm +1 -1
  158. data/bin/lib/Image/ExifTool/Red.pm +1 -1
  159. data/bin/lib/Image/ExifTool/Ricoh.pm +1 -1
  160. data/bin/lib/Image/ExifTool/Samsung.pm +3 -1
  161. data/bin/lib/Image/ExifTool/Sanyo.pm +1 -1
  162. data/bin/lib/Image/ExifTool/Scalado.pm +1 -1
  163. data/bin/lib/Image/ExifTool/Shift.pl +1 -1
  164. data/bin/lib/Image/ExifTool/Shortcuts.pm +1 -1
  165. data/bin/lib/Image/ExifTool/Sigma.pm +1 -1
  166. data/bin/lib/Image/ExifTool/SigmaRaw.pm +1 -1
  167. data/bin/lib/Image/ExifTool/Sony.pm +3 -3
  168. data/bin/lib/Image/ExifTool/SonyIDC.pm +1 -1
  169. data/bin/lib/Image/ExifTool/Stim.pm +1 -1
  170. data/bin/lib/Image/ExifTool/TagInfoXML.pm +2 -2
  171. data/bin/lib/Image/ExifTool/TagLookup.pm +1010 -968
  172. data/bin/lib/Image/ExifTool/TagNames.pod +87 -3
  173. data/bin/lib/Image/ExifTool/Text.pm +1 -1
  174. data/bin/lib/Image/ExifTool/Theora.pm +1 -1
  175. data/bin/lib/Image/ExifTool/Torrent.pm +1 -1
  176. data/bin/lib/Image/ExifTool/Unknown.pm +1 -1
  177. data/bin/lib/Image/ExifTool/VCard.pm +1 -1
  178. data/bin/lib/Image/ExifTool/Validate.pm +1 -1
  179. data/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
  180. data/bin/lib/Image/ExifTool/WTV.pm +1 -1
  181. data/bin/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
  182. data/bin/lib/Image/ExifTool/WriteExif.pl +14 -1
  183. data/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
  184. data/bin/lib/Image/ExifTool/WritePDF.pl +5 -1
  185. data/bin/lib/Image/ExifTool/WritePNG.pl +1 -1
  186. data/bin/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
  187. data/bin/lib/Image/ExifTool/WritePostScript.pl +1 -1
  188. data/bin/lib/Image/ExifTool/WriteQuickTime.pl +18 -7
  189. data/bin/lib/Image/ExifTool/WriteRIFF.pl +1 -1
  190. data/bin/lib/Image/ExifTool/WriteXMP.pl +1 -1
  191. data/bin/lib/Image/ExifTool/Writer.pl +2 -2
  192. data/bin/lib/Image/ExifTool/XMP.pm +23 -3
  193. data/bin/lib/Image/ExifTool/XMP2.pl +20 -1
  194. data/bin/lib/Image/ExifTool/XMPStruct.pl +1 -1
  195. data/bin/lib/Image/ExifTool/ZIP.pm +1 -1
  196. data/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
  197. data/bin/lib/Image/ExifTool/iWork.pm +1 -1
  198. data/bin/lib/Image/ExifTool.pm +3 -2
  199. data/bin/lib/Image/ExifTool.pod +39 -38
  200. data/bin/perl-Image-ExifTool.spec +1 -1
  201. data/lib/exiftool_vendored/version.rb +1 -1
  202. metadata +2 -2
@@ -114,7 +114,7 @@ information from PC Paintbrush (PCX) files.
114
114
 
115
115
  =head1 AUTHOR
116
116
 
117
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
117
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
118
118
 
119
119
  This library is free software; you can redistribute it and/or modify it
120
120
  under the same terms as Perl itself.
@@ -2389,7 +2389,7 @@ including AESV2 (AES-128) and AESV3 (AES-256).
2389
2389
 
2390
2390
  =head1 AUTHOR
2391
2391
 
2392
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
2392
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
2393
2393
 
2394
2394
  This library is free software; you can redistribute it and/or modify it
2395
2395
  under the same terms as Perl itself.
@@ -119,7 +119,7 @@ information from Progressive Graphics File (PGF) images.
119
119
 
120
120
  =head1 AUTHOR
121
121
 
122
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
122
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
123
123
 
124
124
  This library is free software; you can redistribute it and/or modify it
125
125
  under the same terms as Perl itself.
@@ -1236,7 +1236,7 @@ Verbose or the Unknown option.
1236
1236
 
1237
1237
  =head1 AUTHOR
1238
1238
 
1239
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
1239
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
1240
1240
 
1241
1241
  This library is free software; you can redistribute it and/or modify it
1242
1242
  under the same terms as Perl itself.
@@ -21,7 +21,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
21
21
  use Image::ExifTool::XMP;
22
22
  use Image::ExifTool::GPS;
23
23
 
24
- $VERSION = '1.09';
24
+ $VERSION = '1.10';
25
25
 
26
26
  sub ExtractObject($$;$);
27
27
  sub Get24u($$);
@@ -274,6 +274,7 @@ sub ExtractObject($$;$)
274
274
  }
275
275
  my $tagTablePtr = $$plistInfo{TagTablePtr};
276
276
  my $verbose = $et->Options('Verbose');
277
+ $val = { }; # initialize return dictionary (will stay empty if tags are saved)
277
278
  for ($i=0; $i<$size; ++$i) {
278
279
  # get the entry key
279
280
  $raf->Seek($$table[$refs[$i]], 0) or return undef;
@@ -284,8 +285,13 @@ sub ExtractObject($$;$)
284
285
  # generate an ID for this tag
285
286
  my $tag = defined $parent ? "$parent/$key" : $key;
286
287
  undef $$plistInfo{DateFormat};
287
- my $val = ExtractObject($et, $plistInfo, $tag);
288
- next if not defined $val or ref($val) eq 'HASH';
288
+ my $obj = ExtractObject($et, $plistInfo, $tag);
289
+ next if not defined $obj;
290
+ unless ($tagTablePtr) {
291
+ $$val{$key} = $obj if defined $obj;
292
+ next;
293
+ }
294
+ next if ref($obj) eq 'HASH';
289
295
  my $tagInfo = $et->GetTagInfo($tagTablePtr, $tag);
290
296
  unless ($tagInfo) {
291
297
  $et->VPrint(0, $$et{INDENT}, "[adding $tag]\n") if $verbose;
@@ -304,9 +310,8 @@ sub ExtractObject($$;$)
304
310
  delete $$et{LIST_TAGS}{$$et{LastPListTag}};
305
311
  }
306
312
  $$et{LastPListTag} = $tagInfo;
307
- $et->HandleTag($tagTablePtr, $tag, $val);
313
+ $et->HandleTag($tagTablePtr, $tag, $obj);
308
314
  }
309
- $val = { }; # flag the value as a dictionary (ie. tags already saved)
310
315
  } else {
311
316
  # extract the referenced objects
312
317
  foreach $ref (@refs) {
@@ -326,7 +331,7 @@ sub ExtractObject($$;$)
326
331
  # Process binary PLIST data (ref 2)
327
332
  # Inputs: 0) ExifTool object ref, 1) DirInfo ref, 2) tag table ref
328
333
  # Returns: 1 on success (and returns plist value as $$dirInfo{Value})
329
- sub ProcessBinaryPLIST($$$)
334
+ sub ProcessBinaryPLIST($$;$)
330
335
  {
331
336
  my ($et, $dirInfo, $tagTablePtr) = @_;
332
337
  my ($i, $buff, @table);
@@ -438,7 +443,7 @@ This module decodes both the binary and XML-based PLIST format.
438
443
 
439
444
  =head1 AUTHOR
440
445
 
441
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
446
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
442
447
 
443
448
  This library is free software; you can redistribute it and/or modify it
444
449
  under the same terms as Perl itself.
@@ -2586,7 +2586,7 @@ Definitions for PLUS (Picture Licensing Universal System) tags.
2586
2586
 
2587
2587
  =head1 AUTHOR
2588
2588
 
2589
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
2589
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
2590
2590
 
2591
2591
  This library is free software; you can redistribute it and/or modify it
2592
2592
  under the same terms as Perl itself.
@@ -1568,7 +1568,7 @@ and JNG (JPEG Network Graphics) images.
1568
1568
 
1569
1569
  =head1 AUTHOR
1570
1570
 
1571
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
1571
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
1572
1572
 
1573
1573
  This library is free software; you can redistribute it and/or modify it
1574
1574
  under the same terms as Perl itself.
@@ -143,7 +143,7 @@ BitMap) images.
143
143
 
144
144
  =head1 AUTHOR
145
145
 
146
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
146
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
147
147
 
148
148
  This library is free software; you can redistribute it and/or modify it
149
149
  under the same terms as Perl itself.
@@ -284,7 +284,7 @@ information from Paint Shop Pro images.
284
284
 
285
285
  =head1 AUTHOR
286
286
 
287
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
287
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
288
288
 
289
289
  This library is free software; you can redistribute it and/or modify it
290
290
  under the same terms as Perl itself.
@@ -379,7 +379,7 @@ KF7 and KF8 books (AZW and AZW3).
379
379
 
380
380
  =head1 AUTHOR
381
381
 
382
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
382
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
383
383
 
384
384
  This library is free software; you can redistribute it and/or modify it
385
385
  under the same terms as Perl itself.
@@ -2863,7 +2863,7 @@ Panasonic and Leica maker notes in EXIF information.
2863
2863
 
2864
2864
  =head1 AUTHOR
2865
2865
 
2866
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
2866
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
2867
2867
 
2868
2868
  This library is free software; you can redistribute it and/or modify it
2869
2869
  under the same terms as Perl itself.
@@ -908,7 +908,7 @@ write meta information in Panasonic/Leica RAW, RW2 and RWL images.
908
908
 
909
909
  =head1 AUTHOR
910
910
 
911
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
911
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
912
912
 
913
913
  This library is free software; you can redistribute it and/or modify it
914
914
  under the same terms as Perl itself.
@@ -825,7 +825,7 @@ timed metadata from the 'mett' frame found in Parrot drone MP4 videos.
825
825
 
826
826
  =head1 AUTHOR
827
827
 
828
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
828
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
829
829
 
830
830
  This library is free software; you can redistribute it and/or modify it
831
831
  under the same terms as Perl itself.
@@ -6320,7 +6320,7 @@ tags, and everyone who helped contribute to the LensType values.
6320
6320
 
6321
6321
  =head1 AUTHOR
6322
6322
 
6323
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
6323
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
6324
6324
 
6325
6325
  This library is free software; you can redistribute it and/or modify it
6326
6326
  under the same terms as Perl itself.
@@ -712,7 +712,7 @@ One maker notes.
712
712
 
713
713
  =head1 AUTHOR
714
714
 
715
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
715
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
716
716
 
717
717
  This library is free software; you can redistribute it and/or modify it
718
718
  under the same terms as Perl itself.
@@ -484,7 +484,7 @@ information from Kodak Photo CD Image Pac (PCD) files.
484
484
 
485
485
  =head1 AUTHOR
486
486
 
487
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
487
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
488
488
 
489
489
  This library is free software; you can redistribute it and/or modify it
490
490
  under the same terms as Perl itself.
@@ -236,7 +236,7 @@ write information written by the Camera Bits Photo Mechanic software.
236
236
 
237
237
  =head1 AUTHOR
238
238
 
239
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
239
+ Copyright 2003-2023, 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.
@@ -1170,7 +1170,7 @@ be preserved when copying Photoshop information via user-defined tags.
1170
1170
 
1171
1171
  =head1 AUTHOR
1172
1172
 
1173
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
1173
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
1174
1174
 
1175
1175
  This library is free software; you can redistribute it and/or modify it
1176
1176
  under the same terms as Perl itself.
@@ -777,7 +777,7 @@ This code reads meta information from EPS (Encapsulated PostScript), PS
777
777
 
778
778
  =head1 AUTHOR
779
779
 
780
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
780
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
781
781
 
782
782
  This library is free software; you can redistribute it and/or modify it
783
783
  under the same terms as Perl itself.
@@ -112,7 +112,7 @@ Print Image Matching meta information.
112
112
 
113
113
  =head1 AUTHOR
114
114
 
115
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
115
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
116
116
 
117
117
  This library is free software; you can redistribute it and/or modify it
118
118
  under the same terms as Perl itself.
@@ -1331,7 +1331,7 @@ information from the APP7 Qualcomm segment in JPEG images.
1331
1331
 
1332
1332
  =head1 AUTHOR
1333
1333
 
1334
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
1334
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
1335
1335
 
1336
1336
  This library is free software; you can redistribute it and/or modify it
1337
1337
  under the same terms as Perl itself.
@@ -47,7 +47,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
47
47
  use Image::ExifTool::Exif;
48
48
  use Image::ExifTool::GPS;
49
49
 
50
- $VERSION = '2.81';
50
+ $VERSION = '2.82';
51
51
 
52
52
  sub ProcessMOV($$;$);
53
53
  sub ProcessKeys($$$);
@@ -9221,9 +9221,9 @@ sub ProcessMOV($$;$)
9221
9221
  } else {
9222
9222
  # check on file type if called with a RAF
9223
9223
  $$tagTablePtr{$tag} or return 0;
9224
+ my $fileType;
9224
9225
  if ($tag eq 'ftyp' and $size >= 12) {
9225
9226
  # read ftyp atom to see what type of file this is
9226
- my $fileType;
9227
9227
  if ($raf->Read($buff, $size-8) == $size-8) {
9228
9228
  $raf->Seek(-($size-8), 1);
9229
9229
  my $type = substr($buff, 0, 4);
@@ -9248,7 +9248,8 @@ sub ProcessMOV($$;$)
9248
9248
  $et->SetFileType(); # MOV
9249
9249
  }
9250
9250
  SetByteOrder('MM');
9251
- $$et{PRIORITY_DIR} = 'XMP'; # have XMP take priority
9251
+ # have XMP take priority except for HEIC
9252
+ $$et{PRIORITY_DIR} = 'XMP' unless $fileType and $fileType eq 'HEIC';
9252
9253
  }
9253
9254
  my $fast = $$et{OPTIONS}{FastScan} || 0;
9254
9255
  $$raf{NoBuffer} = 1 if $fast; # disable buffering in FastScan mode
@@ -9842,7 +9843,7 @@ information from QuickTime and MP4 video, M4A audio, and HEIC image files.
9842
9843
 
9843
9844
  =head1 AUTHOR
9844
9845
 
9845
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
9846
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
9846
9847
 
9847
9848
  This library is free software; you can redistribute it and/or modify it
9848
9849
  under the same terms as Perl itself.
@@ -102,7 +102,7 @@ my %insvLimit = (
102
102
  The tags below are extracted from timed metadata in QuickTime and other
103
103
  formats of video files when the ExtractEmbedded option is used. Although
104
104
  most of these tags are combined into the single table below, ExifTool
105
- currently reads 62 different formats of timed GPS metadata from video files.
105
+ currently reads 63 different formats of timed GPS metadata from video files.
106
106
  },
107
107
  VARS => { NO_ID => 1 },
108
108
  GPSLatitude => { PrintConv => 'Image::ExifTool::GPS::ToDMS($self, $val, 1, "N")', RawConv => '$$self{FoundGPSLatitude} = 1; $val' },
@@ -2243,6 +2243,7 @@ sub Process_3gf($$$)
2243
2243
 
2244
2244
  #------------------------------------------------------------------------------
2245
2245
  # Process DuDuBell M1 dashcam / VSYS M6L 'gps0' atom (ref PH)
2246
+ # (Lamax S9 dual dashcam also uses 'gps0' atom, but encrypted text format)
2246
2247
  # Inputs: 0) ExifTool ref, 1) dirInfo ref, 2) tag table ref
2247
2248
  # Returns: 1 on success
2248
2249
  sub Process_gps0($$$)
@@ -2250,14 +2251,28 @@ sub Process_gps0($$$)
2250
2251
  my ($et, $dirInfo, $tagTbl) = @_;
2251
2252
  my $dataPt = $$dirInfo{DataPt};
2252
2253
  my $dirLen = $$dirInfo{DirLen};
2253
- my $recLen = 32; # 32-byte record length
2254
+ my ($pos, $recLen);
2254
2255
  $et->VerboseDir('gps0', undef, $dirLen);
2256
+ # check for encrypted format written by Lamax S9 dual dashcam
2257
+ # (similar to Ambarella A12, but in multiple 311-byte records)
2258
+ if ($$dataPt =~ /^.{2}\xf2\xe1\xf0\xeeTT\x98/s) {
2259
+ $recLen = 311;
2260
+ for ($pos=0; $pos+$recLen<=$dirLen; $pos+=$recLen) {
2261
+ my $dat = substr($$dataPt, $pos, $recLen);
2262
+ last unless $dat =~ /^.{2}\xf2\xe1\xf0\xeeTT\x98/s;
2263
+ $$et{DOC_NUM} = ++$$et{DOC_COUNT};
2264
+ Process_text($et, \$dat, $tagTbl);
2265
+ $pos += $recLen;
2266
+ }
2267
+ delete $$et{DOC_NUM};
2268
+ return 1;
2269
+ }
2270
+ $recLen = 32; # 32-byte record length
2255
2271
  SetByteOrder('II');
2256
2272
  if ($dirLen > $recLen and not $et->Options('ExtractEmbedded')) {
2257
2273
  $dirLen = $recLen;
2258
2274
  EEWarn($et);
2259
2275
  }
2260
- my $pos;
2261
2276
  for ($pos=0; $pos+$recLen<=$dirLen; $pos+=$recLen) {
2262
2277
  $$et{DOC_NUM} = ++$$et{DOC_COUNT};
2263
2278
  # lat/long are in DDDMM.MMMM format
@@ -3005,7 +3020,7 @@ information like GPS tracks from MOV, MP4 and INSV media data.
3005
3020
 
3006
3021
  =head1 AUTHOR
3007
3022
 
3008
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
3023
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
3009
3024
 
3010
3025
  This library is free software; you can redistribute it and/or modify it
3011
3026
  under the same terms as Perl itself.
@@ -2126,7 +2126,7 @@ including AVI videos, WAV audio files and WEBP images.
2126
2126
 
2127
2127
  =head1 AUTHOR
2128
2128
 
2129
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
2129
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
2130
2130
 
2131
2131
  This library is free software; you can redistribute it and/or modify it
2132
2132
  under the same terms as Perl itself.
@@ -225,7 +225,7 @@ resource files.
225
225
 
226
226
  =head1 AUTHOR
227
227
 
228
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
228
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
229
229
 
230
230
  This library is free software; you can redistribute it and/or modify it
231
231
  under the same terms as Perl itself.
@@ -366,7 +366,7 @@ information from RTF (Rich Text Format) documents.
366
366
 
367
367
  =head1 AUTHOR
368
368
 
369
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
369
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
370
370
 
371
371
  This library is free software; you can redistribute it and/or modify it
372
372
  under the same terms as Perl itself.
@@ -125,7 +125,7 @@ images are a type of high dynamic-range image.
125
125
 
126
126
  =head1 AUTHOR
127
127
 
128
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
128
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
129
129
 
130
130
  This library is free software; you can redistribute it and/or modify it
131
131
  under the same terms as Perl itself.
@@ -168,7 +168,7 @@ information from Rawzor compressed images.
168
168
 
169
169
  =head1 AUTHOR
170
170
 
171
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
171
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
172
172
 
173
173
  This library is free software; you can redistribute it and/or modify it
174
174
  under the same terms as Perl itself.
@@ -715,7 +715,7 @@ little-endian, but the Real format is big-endian.
715
715
 
716
716
  =head1 AUTHOR
717
717
 
718
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
718
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
719
719
 
720
720
  This library is free software; you can redistribute it and/or modify it
721
721
  under the same terms as Perl itself.
@@ -431,7 +431,7 @@ maker notes in images from Reconyx cameras.
431
431
 
432
432
  =head1 AUTHOR
433
433
 
434
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
434
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
435
435
 
436
436
  This library is free software; you can redistribute it and/or modify it
437
437
  under the same terms as Perl itself.
@@ -303,7 +303,7 @@ from Redcode R3D version 1 and 2 video files.
303
303
 
304
304
  =head1 AUTHOR
305
305
 
306
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
306
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
307
307
 
308
308
  This library is free software; you can redistribute it and/or modify it
309
309
  under the same terms as Perl itself.
@@ -1143,7 +1143,7 @@ interpret Ricoh maker notes EXIF meta information.
1143
1143
 
1144
1144
  =head1 AUTHOR
1145
1145
 
1146
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
1146
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
1147
1147
 
1148
1148
  This library is free software; you can redistribute it and/or modify it
1149
1149
  under the same terms as Perl itself.
@@ -1261,8 +1261,10 @@ my %formatMinMax = (
1261
1261
  },
1262
1262
  # 0x0b41-name - seen 'SingeShot_DepthMap_1' (Yes, "Singe") (SM-N975X front camera)
1263
1263
  '0x0b41' => { Name => 'SingleShotDepthMap', Binary => 1 },
1264
+ # 0x0ba1-name - seen 'Original_Path_Hash_Key', 'PhotoEditor_Re_Edit_Data'
1264
1265
  # 0xa050-name - seen 'Jpeg360_2D_Info' (Samsung Gear 360)
1265
1266
  # 0xa050 - seen 'Jpeg3602D' (Samsung Gear 360)
1267
+ # 0x0c81-name - seen 'Watermark_Info'
1266
1268
  );
1267
1269
 
1268
1270
  # DualShot Extra Info (ref PH)
@@ -1720,7 +1722,7 @@ Samsung maker notes in EXIF information.
1720
1722
 
1721
1723
  =head1 AUTHOR
1722
1724
 
1723
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
1725
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
1724
1726
 
1725
1727
  This library is free software; you can redistribute it and/or modify it
1726
1728
  under the same terms as Perl itself.
@@ -419,7 +419,7 @@ Sanyo maker notes in EXIF information.
419
419
 
420
420
  =head1 AUTHOR
421
421
 
422
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
422
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
423
423
 
424
424
  This library is free software; you can redistribute it and/or modify it
425
425
  under the same terms as Perl itself.
@@ -128,7 +128,7 @@ metadata from the JPEG APP4 SCALADO segment.
128
128
 
129
129
  =head1 AUTHOR
130
130
 
131
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
131
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
132
132
 
133
133
  This library is free software; you can redistribute it and/or modify it
134
134
  under the same terms as Perl itself.
@@ -632,7 +632,7 @@ limited to the range 1970 to 2038 on 32-bit systems.
632
632
 
633
633
  =head1 AUTHOR
634
634
 
635
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
635
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
636
636
 
637
637
  This library is free software; you can redistribute it and/or modify it
638
638
  under the same terms as Perl itself.
@@ -343,7 +343,7 @@ name prefix.
343
343
 
344
344
  =head1 AUTHOR
345
345
 
346
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
346
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
347
347
 
348
348
  This library is free software; you can redistribute it and/or modify it
349
349
  under the same terms as Perl itself.
@@ -863,7 +863,7 @@ Sigma and Foveon maker notes in EXIF information.
863
863
 
864
864
  =head1 AUTHOR
865
865
 
866
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
866
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
867
867
 
868
868
  This library is free software; you can redistribute it and/or modify it
869
869
  under the same terms as Perl itself.
@@ -674,7 +674,7 @@ Sigma and Foveon X3F images.
674
674
 
675
675
  =head1 AUTHOR
676
676
 
677
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
677
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
678
678
 
679
679
  This library is free software; you can redistribute it and/or modify it
680
680
  under the same terms as Perl itself.
@@ -34,7 +34,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
34
34
  use Image::ExifTool::Exif;
35
35
  use Image::ExifTool::Minolta;
36
36
 
37
- $VERSION = '3.55';
37
+ $VERSION = '3.56';
38
38
 
39
39
  sub ProcessSRF($$$);
40
40
  sub ProcessSR2($$$);
@@ -10364,7 +10364,7 @@ my %isoSetting2010 = (
10364
10364
  return 'inf' if $val >= 255;
10365
10365
  return (2**($val/16-5) + 1) * $val[1] / 1000;
10366
10366
  },
10367
- PrintConv => '$val eq "inf" ? $val : sprintf("%.2f m",$val)',
10367
+ PrintConv => '$val eq "inf" ? $val : sprintf("%.4g m", $val)',
10368
10368
  },
10369
10369
  GPSDateTime => {
10370
10370
  Description => 'GPS Date/Time',
@@ -11317,7 +11317,7 @@ Minolta.
11317
11317
 
11318
11318
  =head1 AUTHOR
11319
11319
 
11320
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
11320
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
11321
11321
 
11322
11322
  This library is free software; you can redistribute it and/or modify it
11323
11323
  under the same terms as Perl itself.
@@ -379,7 +379,7 @@ write Sony Image Data Converter version 3.0 metadata in ARW images.
379
379
 
380
380
  =head1 AUTHOR
381
381
 
382
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
382
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
383
383
 
384
384
  This library is free software; you can redistribute it and/or modify it
385
385
  under the same terms as Perl itself.
@@ -174,7 +174,7 @@ information.
174
174
 
175
175
  =head1 AUTHOR
176
176
 
177
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
177
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
178
178
 
179
179
  This library is free software; you can redistribute it and/or modify it
180
180
  under the same terms as Perl itself.
@@ -650,7 +650,7 @@ and values.
650
650
 
651
651
  ~head1 AUTHOR
652
652
 
653
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
653
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
654
654
 
655
655
  This library is free software; you can redistribute it and/or modify it
656
656
  under the same terms as Perl itself.
@@ -834,7 +834,7 @@ Number of modules updated, or negative on error.
834
834
 
835
835
  =head1 AUTHOR
836
836
 
837
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
837
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
838
838
 
839
839
  This library is free software; you can redistribute it and/or modify it
840
840
  under the same terms as Perl itself.