exiftool_vendored 12.52.0 → 12.55.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (204) hide show
  1. checksums.yaml +4 -4
  2. data/bin/Changes +42 -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 +12 -10
  7. data/bin/fmt_files/kml_track.fmt +3 -3
  8. data/bin/lib/File/RandomAccess.pm +1 -1
  9. data/bin/lib/File/RandomAccess.pod +2 -2
  10. data/bin/lib/Image/ExifTool/AES.pm +1 -1
  11. data/bin/lib/Image/ExifTool/AFCP.pm +1 -1
  12. data/bin/lib/Image/ExifTool/AIFF.pm +1 -1
  13. data/bin/lib/Image/ExifTool/APE.pm +1 -1
  14. data/bin/lib/Image/ExifTool/APP12.pm +1 -1
  15. data/bin/lib/Image/ExifTool/ASF.pm +1 -1
  16. data/bin/lib/Image/ExifTool/Apple.pm +197 -27
  17. data/bin/lib/Image/ExifTool/Audible.pm +1 -1
  18. data/bin/lib/Image/ExifTool/BMP.pm +1 -1
  19. data/bin/lib/Image/ExifTool/BPG.pm +1 -1
  20. data/bin/lib/Image/ExifTool/BZZ.pm +1 -1
  21. data/bin/lib/Image/ExifTool/BigTIFF.pm +1 -1
  22. data/bin/lib/Image/ExifTool/BuildTagLookup.pm +4 -4
  23. data/bin/lib/Image/ExifTool/CBOR.pm +1 -1
  24. data/bin/lib/Image/ExifTool/Canon.pm +14 -2
  25. data/bin/lib/Image/ExifTool/CanonCustom.pm +1 -1
  26. data/bin/lib/Image/ExifTool/CanonRaw.pm +1 -1
  27. data/bin/lib/Image/ExifTool/CanonVRD.pm +9 -9
  28. data/bin/lib/Image/ExifTool/CaptureOne.pm +1 -1
  29. data/bin/lib/Image/ExifTool/Casio.pm +1 -1
  30. data/bin/lib/Image/ExifTool/Charset.pm +1 -1
  31. data/bin/lib/Image/ExifTool/DICOM.pm +1 -1
  32. data/bin/lib/Image/ExifTool/DJI.pm +1 -1
  33. data/bin/lib/Image/ExifTool/DNG.pm +1 -1
  34. data/bin/lib/Image/ExifTool/DPX.pm +1 -1
  35. data/bin/lib/Image/ExifTool/DV.pm +1 -1
  36. data/bin/lib/Image/ExifTool/DarwinCore.pm +1 -1
  37. data/bin/lib/Image/ExifTool/DjVu.pm +1 -1
  38. data/bin/lib/Image/ExifTool/EXE.pm +1 -1
  39. data/bin/lib/Image/ExifTool/Exif.pm +5 -16
  40. data/bin/lib/Image/ExifTool/FITS.pm +1 -1
  41. data/bin/lib/Image/ExifTool/FLAC.pm +1 -1
  42. data/bin/lib/Image/ExifTool/FLIF.pm +1 -1
  43. data/bin/lib/Image/ExifTool/FLIR.pm +1 -1
  44. data/bin/lib/Image/ExifTool/Fixup.pm +1 -1
  45. data/bin/lib/Image/ExifTool/Flash.pm +1 -1
  46. data/bin/lib/Image/ExifTool/FlashPix.pm +1 -1
  47. data/bin/lib/Image/ExifTool/Font.pm +1 -1
  48. data/bin/lib/Image/ExifTool/FotoStation.pm +1 -1
  49. data/bin/lib/Image/ExifTool/FujiFilm.pm +21 -13
  50. data/bin/lib/Image/ExifTool/GE.pm +1 -1
  51. data/bin/lib/Image/ExifTool/GIF.pm +1 -1
  52. data/bin/lib/Image/ExifTool/GIMP.pm +1 -1
  53. data/bin/lib/Image/ExifTool/GPS.pm +1 -1
  54. data/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
  55. data/bin/lib/Image/ExifTool/Geotag.pm +14 -5
  56. data/bin/lib/Image/ExifTool/GoPro.pm +1 -1
  57. data/bin/lib/Image/ExifTool/H264.pm +1 -1
  58. data/bin/lib/Image/ExifTool/HP.pm +1 -1
  59. data/bin/lib/Image/ExifTool/HTML.pm +1 -1
  60. data/bin/lib/Image/ExifTool/HtmlDump.pm +1 -1
  61. data/bin/lib/Image/ExifTool/ICC_Profile.pm +1 -1
  62. data/bin/lib/Image/ExifTool/ICO.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 +1 -1
  68. data/bin/lib/Image/ExifTool/InDesign.pm +1 -1
  69. data/bin/lib/Image/ExifTool/JPEG.pm +1 -1
  70. data/bin/lib/Image/ExifTool/JPEGDigest.pm +1 -1
  71. data/bin/lib/Image/ExifTool/JSON.pm +1 -1
  72. data/bin/lib/Image/ExifTool/JVC.pm +1 -1
  73. data/bin/lib/Image/ExifTool/Jpeg2000.pm +11 -5
  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/LIF.pm +1 -1
  77. data/bin/lib/Image/ExifTool/LNK.pm +1 -1
  78. data/bin/lib/Image/ExifTool/Lang/cs.pm +1 -1
  79. data/bin/lib/Image/ExifTool/Lang/de.pm +1 -1
  80. data/bin/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
  81. data/bin/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
  82. data/bin/lib/Image/ExifTool/Lang/es.pm +1 -1
  83. data/bin/lib/Image/ExifTool/Lang/fi.pm +1 -1
  84. data/bin/lib/Image/ExifTool/Lang/fr.pm +1 -1
  85. data/bin/lib/Image/ExifTool/Lang/it.pm +1 -1
  86. data/bin/lib/Image/ExifTool/Lang/ja.pm +1 -1
  87. data/bin/lib/Image/ExifTool/Lang/ko.pm +1 -1
  88. data/bin/lib/Image/ExifTool/Lang/nl.pm +1 -1
  89. data/bin/lib/Image/ExifTool/Lang/pl.pm +1 -1
  90. data/bin/lib/Image/ExifTool/Lang/ru.pm +1 -1
  91. data/bin/lib/Image/ExifTool/Lang/sk.pm +1806 -1927
  92. data/bin/lib/Image/ExifTool/Lang/sv.pm +1 -1
  93. data/bin/lib/Image/ExifTool/Lang/tr.pm +1 -1
  94. data/bin/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
  95. data/bin/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
  96. data/bin/lib/Image/ExifTool/Leaf.pm +1 -1
  97. data/bin/lib/Image/ExifTool/Lytro.pm +1 -1
  98. data/bin/lib/Image/ExifTool/M2TS.pm +1 -1
  99. data/bin/lib/Image/ExifTool/MIE.pm +1 -1
  100. data/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
  101. data/bin/lib/Image/ExifTool/MIFF.pm +1 -1
  102. data/bin/lib/Image/ExifTool/MISB.pm +1 -1
  103. data/bin/lib/Image/ExifTool/MNG.pm +1 -1
  104. data/bin/lib/Image/ExifTool/MOI.pm +1 -1
  105. data/bin/lib/Image/ExifTool/MPC.pm +1 -1
  106. data/bin/lib/Image/ExifTool/MPEG.pm +1 -1
  107. data/bin/lib/Image/ExifTool/MPF.pm +1 -1
  108. data/bin/lib/Image/ExifTool/MRC.pm +1 -1
  109. data/bin/lib/Image/ExifTool/MWG.pm +1 -1
  110. data/bin/lib/Image/ExifTool/MXF.pm +1 -1
  111. data/bin/lib/Image/ExifTool/MacOS.pm +1 -1
  112. data/bin/lib/Image/ExifTool/MakerNotes.pm +1 -1
  113. data/bin/lib/Image/ExifTool/Matroska.pm +5 -5
  114. data/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
  115. data/bin/lib/Image/ExifTool/Minolta.pm +1 -1
  116. data/bin/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
  117. data/bin/lib/Image/ExifTool/Motorola.pm +1 -1
  118. data/bin/lib/Image/ExifTool/Nikon.pm +219 -10
  119. data/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
  120. data/bin/lib/Image/ExifTool/NikonCustom.pm +1 -1
  121. data/bin/lib/Image/ExifTool/NikonSettings.pm +1 -1
  122. data/bin/lib/Image/ExifTool/Nintendo.pm +1 -1
  123. data/bin/lib/Image/ExifTool/OOXML.pm +1 -1
  124. data/bin/lib/Image/ExifTool/Ogg.pm +1 -1
  125. data/bin/lib/Image/ExifTool/Olympus.pm +1 -1
  126. data/bin/lib/Image/ExifTool/OpenEXR.pm +1 -1
  127. data/bin/lib/Image/ExifTool/Opus.pm +1 -1
  128. data/bin/lib/Image/ExifTool/Other.pm +1 -1
  129. data/bin/lib/Image/ExifTool/PCX.pm +1 -1
  130. data/bin/lib/Image/ExifTool/PDF.pm +1 -1
  131. data/bin/lib/Image/ExifTool/PGF.pm +1 -1
  132. data/bin/lib/Image/ExifTool/PICT.pm +1 -1
  133. data/bin/lib/Image/ExifTool/PLIST.pm +12 -7
  134. data/bin/lib/Image/ExifTool/PLUS.pm +1 -1
  135. data/bin/lib/Image/ExifTool/PNG.pm +1 -1
  136. data/bin/lib/Image/ExifTool/PPM.pm +1 -1
  137. data/bin/lib/Image/ExifTool/PSP.pm +1 -1
  138. data/bin/lib/Image/ExifTool/Palm.pm +1 -1
  139. data/bin/lib/Image/ExifTool/Panasonic.pm +1 -1
  140. data/bin/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
  141. data/bin/lib/Image/ExifTool/Parrot.pm +1 -1
  142. data/bin/lib/Image/ExifTool/Pentax.pm +1 -1
  143. data/bin/lib/Image/ExifTool/PhaseOne.pm +1 -1
  144. data/bin/lib/Image/ExifTool/PhotoCD.pm +1 -1
  145. data/bin/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
  146. data/bin/lib/Image/ExifTool/Photoshop.pm +1 -1
  147. data/bin/lib/Image/ExifTool/PostScript.pm +1 -1
  148. data/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
  149. data/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
  150. data/bin/lib/Image/ExifTool/QuickTime.pm +23 -7
  151. data/bin/lib/Image/ExifTool/QuickTimeStream.pl +122 -28
  152. data/bin/lib/Image/ExifTool/README +3 -0
  153. data/bin/lib/Image/ExifTool/RIFF.pm +1 -1
  154. data/bin/lib/Image/ExifTool/RSRC.pm +1 -1
  155. data/bin/lib/Image/ExifTool/RTF.pm +1 -1
  156. data/bin/lib/Image/ExifTool/Radiance.pm +1 -1
  157. data/bin/lib/Image/ExifTool/Rawzor.pm +1 -1
  158. data/bin/lib/Image/ExifTool/Real.pm +1 -1
  159. data/bin/lib/Image/ExifTool/Reconyx.pm +1 -1
  160. data/bin/lib/Image/ExifTool/Red.pm +1 -1
  161. data/bin/lib/Image/ExifTool/Ricoh.pm +1 -1
  162. data/bin/lib/Image/ExifTool/Samsung.pm +3 -1
  163. data/bin/lib/Image/ExifTool/Sanyo.pm +1 -1
  164. data/bin/lib/Image/ExifTool/Scalado.pm +1 -1
  165. data/bin/lib/Image/ExifTool/Shift.pl +1 -1
  166. data/bin/lib/Image/ExifTool/Shortcuts.pm +1 -1
  167. data/bin/lib/Image/ExifTool/Sigma.pm +1 -1
  168. data/bin/lib/Image/ExifTool/SigmaRaw.pm +1 -1
  169. data/bin/lib/Image/ExifTool/Sony.pm +3 -3
  170. data/bin/lib/Image/ExifTool/SonyIDC.pm +1 -1
  171. data/bin/lib/Image/ExifTool/Stim.pm +1 -1
  172. data/bin/lib/Image/ExifTool/TagInfoXML.pm +2 -2
  173. data/bin/lib/Image/ExifTool/TagLookup.pm +1023 -979
  174. data/bin/lib/Image/ExifTool/TagNames.pod +99 -9
  175. data/bin/lib/Image/ExifTool/Text.pm +1 -1
  176. data/bin/lib/Image/ExifTool/Theora.pm +1 -1
  177. data/bin/lib/Image/ExifTool/Torrent.pm +1 -1
  178. data/bin/lib/Image/ExifTool/Unknown.pm +1 -1
  179. data/bin/lib/Image/ExifTool/VCard.pm +1 -1
  180. data/bin/lib/Image/ExifTool/Validate.pm +1 -1
  181. data/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
  182. data/bin/lib/Image/ExifTool/WTV.pm +1 -1
  183. data/bin/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
  184. data/bin/lib/Image/ExifTool/WriteExif.pl +14 -1
  185. data/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
  186. data/bin/lib/Image/ExifTool/WritePDF.pl +5 -1
  187. data/bin/lib/Image/ExifTool/WritePNG.pl +1 -1
  188. data/bin/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
  189. data/bin/lib/Image/ExifTool/WritePostScript.pl +1 -1
  190. data/bin/lib/Image/ExifTool/WriteQuickTime.pl +18 -7
  191. data/bin/lib/Image/ExifTool/WriteRIFF.pl +1 -1
  192. data/bin/lib/Image/ExifTool/WriteXMP.pl +1 -1
  193. data/bin/lib/Image/ExifTool/Writer.pl +2 -2
  194. data/bin/lib/Image/ExifTool/XMP.pm +23 -3
  195. data/bin/lib/Image/ExifTool/XMP2.pl +20 -1
  196. data/bin/lib/Image/ExifTool/XMPStruct.pl +1 -1
  197. data/bin/lib/Image/ExifTool/ZIP.pm +1 -1
  198. data/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
  199. data/bin/lib/Image/ExifTool/iWork.pm +1 -1
  200. data/bin/lib/Image/ExifTool.pm +4 -3
  201. data/bin/lib/Image/ExifTool.pod +39 -38
  202. data/bin/perl-Image-ExifTool.spec +1 -1
  203. data/lib/exiftool_vendored/version.rb +1 -1
  204. metadata +2 -2
@@ -10087,7 +10087,7 @@ this information.
10087
10087
 
10088
10088
  =head1 AUTHOR
10089
10089
 
10090
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
10090
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
10091
10091
 
10092
10092
  This library is free software; you can redistribute it and/or modify it
10093
10093
  under the same terms as Perl itself.
@@ -2077,7 +2077,7 @@ Nikon cameras such as the D6 and Z7mk2.
2077
2077
 
2078
2078
  =head1 AUTHOR
2079
2079
 
2080
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
2080
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
2081
2081
 
2082
2082
  This library is free software; you can redistribute it and/or modify it
2083
2083
  under the same terms as Perl itself.
@@ -107,7 +107,7 @@ interpret Nintendo maker notes EXIF meta information.
107
107
 
108
108
  =head1 AUTHOR
109
109
 
110
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
110
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
111
111
 
112
112
  This library is free software; you can redistribute it and/or modify it
113
113
  under the same terms as Perl itself.
@@ -395,7 +395,7 @@ archives of XML files.
395
395
 
396
396
  =head1 AUTHOR
397
397
 
398
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
398
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
399
399
 
400
400
  This library is free software; you can redistribute it and/or modify it
401
401
  under the same terms as Perl itself.
@@ -214,7 +214,7 @@ information from Ogg bitstream container files.
214
214
 
215
215
  =head1 AUTHOR
216
216
 
217
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
217
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
218
218
 
219
219
  This library is free software; you can redistribute it and/or modify it
220
220
  under the same terms as Perl itself.
@@ -4093,7 +4093,7 @@ Olympus or Epson maker notes in EXIF information.
4093
4093
 
4094
4094
  =head1 AUTHOR
4095
4095
 
4096
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
4096
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
4097
4097
 
4098
4098
  This library is free software; you can redistribute it and/or modify it
4099
4099
  under the same terms as Perl itself.
@@ -304,7 +304,7 @@ information from OpenEXR images.
304
304
 
305
305
  =head1 AUTHOR
306
306
 
307
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
307
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
308
308
 
309
309
  This library is free software; you can redistribute it and/or modify it
310
310
  under the same terms as Perl itself.
@@ -69,7 +69,7 @@ information from Ogg Opus audio files.
69
69
 
70
70
  =head1 AUTHOR
71
71
 
72
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
72
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
73
73
 
74
74
  This library is free software; you can redistribute it and/or modify it
75
75
  under the same terms as Perl itself.
@@ -71,7 +71,7 @@ information from Portable FloatMap (PFM) images.
71
71
 
72
72
  =head1 AUTHOR
73
73
 
74
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
74
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
75
75
 
76
76
  This library is free software; you can redistribute it and/or modify it
77
77
  under the same terms as Perl itself.
@@ -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.83';
51
51
 
52
52
  sub ProcessMOV($$;$);
53
53
  sub ProcessKeys($$$);
@@ -62,6 +62,7 @@ sub Process_mebx($$$);
62
62
  sub Process_3gf($$$);
63
63
  sub Process_gps0($$$);
64
64
  sub Process_gsen($$$);
65
+ sub ProcessKenwood($$$);
65
66
  sub ProcessRIFFTrailer($$$);
66
67
  sub ProcessTTAD($$$);
67
68
  sub ProcessNMEA($$$);
@@ -652,10 +653,17 @@ my %eeBox2 = (
652
653
  Name => 'HTCInfo',
653
654
  SubDirectory => { TagTable => 'Image::ExifTool::QuickTime::HTCInfo' },
654
655
  },
655
- udta => {
656
- Name => 'UserData',
656
+ udta => [{
657
+ Name => 'KenwoodData',
658
+ Condition => '$$valPt =~ /^VIDEOUUUUUUUUUUUUUUUUUUUUUU/',
659
+ SubDirectory => {
660
+ TagTable => 'Image::ExifTool::QuickTime::Stream',
661
+ ProcessProc => \&ProcessKenwood,
662
+ },
663
+ },{
664
+ Name => 'FLIRData',
657
665
  SubDirectory => { TagTable => 'Image::ExifTool::FLIR::UserData' },
658
- },
666
+ }],
659
667
  thum => { #PH
660
668
  Name => 'ThumbnailImage',
661
669
  Groups => { 2 => 'Preview' },
@@ -763,6 +771,13 @@ my %eeBox2 = (
763
771
  SubDirectory => { TagTable => 'Image::ExifTool::Samsung::Trailer' },
764
772
  },
765
773
  # 'samn'? - seen in Vantrue N2S sample video
774
+ mpvd => {
775
+ Name => 'MotionPhotoVideo',
776
+ Notes => 'MP4-format video saved in Samsung motion-photo HEIC images.',
777
+ Binary => 1,
778
+ # note that this may be written and/or deleted, but can't currently be added back again
779
+ Writable => 1,
780
+ },
766
781
  );
767
782
 
768
783
  # stuff seen in 'skip' atom (70mai Pro Plus+ MP4 videos)
@@ -9221,9 +9236,9 @@ sub ProcessMOV($$;$)
9221
9236
  } else {
9222
9237
  # check on file type if called with a RAF
9223
9238
  $$tagTablePtr{$tag} or return 0;
9239
+ my $fileType;
9224
9240
  if ($tag eq 'ftyp' and $size >= 12) {
9225
9241
  # read ftyp atom to see what type of file this is
9226
- my $fileType;
9227
9242
  if ($raf->Read($buff, $size-8) == $size-8) {
9228
9243
  $raf->Seek(-($size-8), 1);
9229
9244
  my $type = substr($buff, 0, 4);
@@ -9248,7 +9263,8 @@ sub ProcessMOV($$;$)
9248
9263
  $et->SetFileType(); # MOV
9249
9264
  }
9250
9265
  SetByteOrder('MM');
9251
- $$et{PRIORITY_DIR} = 'XMP'; # have XMP take priority
9266
+ # have XMP take priority except for HEIC
9267
+ $$et{PRIORITY_DIR} = 'XMP' unless $fileType and $fileType eq 'HEIC';
9252
9268
  }
9253
9269
  my $fast = $$et{OPTIONS}{FastScan} || 0;
9254
9270
  $$raf{NoBuffer} = 1 if $fast; # disable buffering in FastScan mode
@@ -9842,7 +9858,7 @@ information from QuickTime and MP4 video, M4A audio, and HEIC image files.
9842
9858
 
9843
9859
  =head1 AUTHOR
9844
9860
 
9845
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
9861
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
9846
9862
 
9847
9863
  This library is free software; you can redistribute it and/or modify it
9848
9864
  under the same terms as Perl itself.