exiftool_vendored 13.44.0 → 13.46.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.
Files changed (219) hide show
  1. checksums.yaml +4 -4
  2. data/bin/Changes +33 -1
  3. data/bin/META.json +1 -1
  4. data/bin/META.yml +1 -1
  5. data/bin/README +3 -3
  6. data/bin/config_files/example.config +5 -2
  7. data/bin/exiftool +19 -11
  8. data/bin/lib/File/RandomAccess.pm +1 -1
  9. data/bin/lib/File/RandomAccess.pod +2 -2
  10. data/bin/lib/Image/ExifTool/AAC.pm +1 -1
  11. data/bin/lib/Image/ExifTool/AES.pm +1 -1
  12. data/bin/lib/Image/ExifTool/AFCP.pm +1 -1
  13. data/bin/lib/Image/ExifTool/AIFF.pm +1 -1
  14. data/bin/lib/Image/ExifTool/APE.pm +1 -1
  15. data/bin/lib/Image/ExifTool/APP12.pm +1 -1
  16. data/bin/lib/Image/ExifTool/ASF.pm +1 -1
  17. data/bin/lib/Image/ExifTool/Apple.pm +1 -1
  18. data/bin/lib/Image/ExifTool/Audible.pm +1 -1
  19. data/bin/lib/Image/ExifTool/BMP.pm +1 -1
  20. data/bin/lib/Image/ExifTool/BPG.pm +1 -1
  21. data/bin/lib/Image/ExifTool/BZZ.pm +1 -1
  22. data/bin/lib/Image/ExifTool/BigTIFF.pm +1 -1
  23. data/bin/lib/Image/ExifTool/BuildTagLookup.pm +4 -4
  24. data/bin/lib/Image/ExifTool/CBOR.pm +1 -1
  25. data/bin/lib/Image/ExifTool/Canon.pm +53 -11
  26. data/bin/lib/Image/ExifTool/CanonCustom.pm +1 -1
  27. data/bin/lib/Image/ExifTool/CanonRaw.pm +1 -1
  28. data/bin/lib/Image/ExifTool/CanonVRD.pm +1 -1
  29. data/bin/lib/Image/ExifTool/CaptureOne.pm +1 -1
  30. data/bin/lib/Image/ExifTool/Casio.pm +1 -1
  31. data/bin/lib/Image/ExifTool/Charset.pm +1 -1
  32. data/bin/lib/Image/ExifTool/DICOM.pm +1 -1
  33. data/bin/lib/Image/ExifTool/DJI.pm +1 -1
  34. data/bin/lib/Image/ExifTool/DNG.pm +1 -1
  35. data/bin/lib/Image/ExifTool/DPX.pm +1 -1
  36. data/bin/lib/Image/ExifTool/DSF.pm +1 -1
  37. data/bin/lib/Image/ExifTool/DV.pm +1 -1
  38. data/bin/lib/Image/ExifTool/DarwinCore.pm +1 -1
  39. data/bin/lib/Image/ExifTool/DjVu.pm +1 -1
  40. data/bin/lib/Image/ExifTool/EXE.pm +1 -1
  41. data/bin/lib/Image/ExifTool/Exif.pm +7 -5
  42. data/bin/lib/Image/ExifTool/FITS.pm +1 -1
  43. data/bin/lib/Image/ExifTool/FLAC.pm +1 -1
  44. data/bin/lib/Image/ExifTool/FLIF.pm +1 -1
  45. data/bin/lib/Image/ExifTool/FLIR.pm +1 -1
  46. data/bin/lib/Image/ExifTool/Fixup.pm +1 -1
  47. data/bin/lib/Image/ExifTool/Flash.pm +1 -1
  48. data/bin/lib/Image/ExifTool/FlashPix.pm +1 -1
  49. data/bin/lib/Image/ExifTool/Font.pm +1 -1
  50. data/bin/lib/Image/ExifTool/FotoStation.pm +1 -1
  51. data/bin/lib/Image/ExifTool/FujiFilm.pm +1 -1
  52. data/bin/lib/Image/ExifTool/GE.pm +1 -1
  53. data/bin/lib/Image/ExifTool/GIF.pm +1 -1
  54. data/bin/lib/Image/ExifTool/GIMP.pm +1 -1
  55. data/bin/lib/Image/ExifTool/GM.pm +1 -1
  56. data/bin/lib/Image/ExifTool/GPS.pm +1 -1
  57. data/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
  58. data/bin/lib/Image/ExifTool/Geolocation.pm +1 -1
  59. data/bin/lib/Image/ExifTool/Geotag.pm +61 -20
  60. data/bin/lib/Image/ExifTool/GoPro.pm +1 -1
  61. data/bin/lib/Image/ExifTool/Google.pm +3 -2
  62. data/bin/lib/Image/ExifTool/H264.pm +1 -1
  63. data/bin/lib/Image/ExifTool/HP.pm +1 -1
  64. data/bin/lib/Image/ExifTool/HTML.pm +1 -1
  65. data/bin/lib/Image/ExifTool/HtmlDump.pm +1 -1
  66. data/bin/lib/Image/ExifTool/ICC_Profile.pm +1 -1
  67. data/bin/lib/Image/ExifTool/ICO.pm +1 -1
  68. data/bin/lib/Image/ExifTool/ID3.pm +1 -1
  69. data/bin/lib/Image/ExifTool/IPTC.pm +1 -1
  70. data/bin/lib/Image/ExifTool/ISO.pm +1 -1
  71. data/bin/lib/Image/ExifTool/ITC.pm +1 -1
  72. data/bin/lib/Image/ExifTool/Import.pm +1 -1
  73. data/bin/lib/Image/ExifTool/InDesign.pm +1 -1
  74. data/bin/lib/Image/ExifTool/InfiRay.pm +1 -1
  75. data/bin/lib/Image/ExifTool/JPEG.pm +6 -2
  76. data/bin/lib/Image/ExifTool/JPEGDigest.pm +1 -1
  77. data/bin/lib/Image/ExifTool/JSON.pm +1 -1
  78. data/bin/lib/Image/ExifTool/JVC.pm +1 -1
  79. data/bin/lib/Image/ExifTool/Jpeg2000.pm +1 -1
  80. data/bin/lib/Image/ExifTool/Kandao.pm +3 -3
  81. data/bin/lib/Image/ExifTool/Kodak.pm +1 -1
  82. data/bin/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
  83. data/bin/lib/Image/ExifTool/LIF.pm +1 -1
  84. data/bin/lib/Image/ExifTool/LNK.pm +1 -1
  85. data/bin/lib/Image/ExifTool/Lang/cs.pm +1 -1
  86. data/bin/lib/Image/ExifTool/Lang/de.pm +1 -1
  87. data/bin/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
  88. data/bin/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
  89. data/bin/lib/Image/ExifTool/Lang/es.pm +1 -1
  90. data/bin/lib/Image/ExifTool/Lang/fi.pm +1 -1
  91. data/bin/lib/Image/ExifTool/Lang/fr.pm +1 -1
  92. data/bin/lib/Image/ExifTool/Lang/it.pm +1 -1
  93. data/bin/lib/Image/ExifTool/Lang/ja.pm +1 -1
  94. data/bin/lib/Image/ExifTool/Lang/ko.pm +1 -1
  95. data/bin/lib/Image/ExifTool/Lang/nl.pm +1 -1
  96. data/bin/lib/Image/ExifTool/Lang/pl.pm +1 -1
  97. data/bin/lib/Image/ExifTool/Lang/ru.pm +1 -1
  98. data/bin/lib/Image/ExifTool/Lang/sk.pm +1 -1
  99. data/bin/lib/Image/ExifTool/Lang/sv.pm +1 -1
  100. data/bin/lib/Image/ExifTool/Lang/tr.pm +1 -1
  101. data/bin/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
  102. data/bin/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
  103. data/bin/lib/Image/ExifTool/Leaf.pm +1 -1
  104. data/bin/lib/Image/ExifTool/LigoGPS.pm +1 -1
  105. data/bin/lib/Image/ExifTool/Lytro.pm +1 -1
  106. data/bin/lib/Image/ExifTool/M2TS.pm +1 -1
  107. data/bin/lib/Image/ExifTool/MIE.pm +1 -1
  108. data/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
  109. data/bin/lib/Image/ExifTool/MIFF.pm +1 -1
  110. data/bin/lib/Image/ExifTool/MISB.pm +1 -1
  111. data/bin/lib/Image/ExifTool/MNG.pm +1 -1
  112. data/bin/lib/Image/ExifTool/MOI.pm +1 -1
  113. data/bin/lib/Image/ExifTool/MPC.pm +1 -1
  114. data/bin/lib/Image/ExifTool/MPEG.pm +1 -1
  115. data/bin/lib/Image/ExifTool/MPF.pm +1 -1
  116. data/bin/lib/Image/ExifTool/MRC.pm +1 -1
  117. data/bin/lib/Image/ExifTool/MWG.pm +1 -1
  118. data/bin/lib/Image/ExifTool/MXF.pm +1 -1
  119. data/bin/lib/Image/ExifTool/MacOS.pm +1 -1
  120. data/bin/lib/Image/ExifTool/MakerNotes.pm +4 -2
  121. data/bin/lib/Image/ExifTool/Matroska.pm +1 -1
  122. data/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
  123. data/bin/lib/Image/ExifTool/Minolta.pm +1 -1
  124. data/bin/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
  125. data/bin/lib/Image/ExifTool/Motorola.pm +1 -1
  126. data/bin/lib/Image/ExifTool/Nikon.pm +9 -11
  127. data/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
  128. data/bin/lib/Image/ExifTool/NikonCustom.pm +6 -3
  129. data/bin/lib/Image/ExifTool/NikonSettings.pm +1 -1
  130. data/bin/lib/Image/ExifTool/Nintendo.pm +1 -1
  131. data/bin/lib/Image/ExifTool/OOXML.pm +1 -1
  132. data/bin/lib/Image/ExifTool/Ogg.pm +1 -1
  133. data/bin/lib/Image/ExifTool/Olympus.pm +1 -1
  134. data/bin/lib/Image/ExifTool/OpenEXR.pm +1 -1
  135. data/bin/lib/Image/ExifTool/Opus.pm +1 -1
  136. data/bin/lib/Image/ExifTool/Other.pm +1 -1
  137. data/bin/lib/Image/ExifTool/PCAP.pm +1 -1
  138. data/bin/lib/Image/ExifTool/PCX.pm +1 -1
  139. data/bin/lib/Image/ExifTool/PDF.pm +1 -1
  140. data/bin/lib/Image/ExifTool/PGF.pm +1 -1
  141. data/bin/lib/Image/ExifTool/PICT.pm +1 -1
  142. data/bin/lib/Image/ExifTool/PLIST.pm +1 -1
  143. data/bin/lib/Image/ExifTool/PLUS.pm +1 -1
  144. data/bin/lib/Image/ExifTool/PNG.pm +1 -1
  145. data/bin/lib/Image/ExifTool/PPM.pm +1 -1
  146. data/bin/lib/Image/ExifTool/PSP.pm +1 -1
  147. data/bin/lib/Image/ExifTool/Palm.pm +1 -1
  148. data/bin/lib/Image/ExifTool/Panasonic.pm +7 -2
  149. data/bin/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
  150. data/bin/lib/Image/ExifTool/Parrot.pm +1 -1
  151. data/bin/lib/Image/ExifTool/Pentax.pm +13 -4
  152. data/bin/lib/Image/ExifTool/PhaseOne.pm +1 -1
  153. data/bin/lib/Image/ExifTool/PhotoCD.pm +1 -1
  154. data/bin/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
  155. data/bin/lib/Image/ExifTool/Photoshop.pm +1 -1
  156. data/bin/lib/Image/ExifTool/Plot.pm +1 -1
  157. data/bin/lib/Image/ExifTool/PostScript.pm +1 -1
  158. data/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
  159. data/bin/lib/Image/ExifTool/Protobuf.pm +41 -15
  160. data/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
  161. data/bin/lib/Image/ExifTool/QuickTime.pm +8 -4
  162. data/bin/lib/Image/ExifTool/QuickTimeStream.pl +1 -1
  163. data/bin/lib/Image/ExifTool/RIFF.pm +1 -1
  164. data/bin/lib/Image/ExifTool/RSRC.pm +1 -1
  165. data/bin/lib/Image/ExifTool/RTF.pm +1 -1
  166. data/bin/lib/Image/ExifTool/Radiance.pm +1 -1
  167. data/bin/lib/Image/ExifTool/Rawzor.pm +1 -1
  168. data/bin/lib/Image/ExifTool/Real.pm +1 -1
  169. data/bin/lib/Image/ExifTool/Reconyx.pm +1 -1
  170. data/bin/lib/Image/ExifTool/Red.pm +1 -1
  171. data/bin/lib/Image/ExifTool/Ricoh.pm +1 -1
  172. data/bin/lib/Image/ExifTool/Samsung.pm +1 -1
  173. data/bin/lib/Image/ExifTool/Sanyo.pm +1 -1
  174. data/bin/lib/Image/ExifTool/Scalado.pm +1 -1
  175. data/bin/lib/Image/ExifTool/Shift.pl +1 -1
  176. data/bin/lib/Image/ExifTool/Shortcuts.pm +1 -1
  177. data/bin/lib/Image/ExifTool/Sigma.pm +1 -1
  178. data/bin/lib/Image/ExifTool/SigmaRaw.pm +1 -1
  179. data/bin/lib/Image/ExifTool/Sony.pm +19 -3
  180. data/bin/lib/Image/ExifTool/SonyIDC.pm +1 -1
  181. data/bin/lib/Image/ExifTool/Stim.pm +1 -1
  182. data/bin/lib/Image/ExifTool/TNEF.pm +1 -1
  183. data/bin/lib/Image/ExifTool/TagInfoXML.pm +2 -2
  184. data/bin/lib/Image/ExifTool/TagLookup.pm +6976 -6967
  185. data/bin/lib/Image/ExifTool/TagNames.pod +23 -7
  186. data/bin/lib/Image/ExifTool/Text.pm +1 -1
  187. data/bin/lib/Image/ExifTool/Theora.pm +1 -1
  188. data/bin/lib/Image/ExifTool/Torrent.pm +1 -1
  189. data/bin/lib/Image/ExifTool/Trailer.pm +1 -1
  190. data/bin/lib/Image/ExifTool/Unknown.pm +1 -1
  191. data/bin/lib/Image/ExifTool/VCard.pm +1 -1
  192. data/bin/lib/Image/ExifTool/Validate.pm +5 -5
  193. data/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
  194. data/bin/lib/Image/ExifTool/WPG.pm +1 -1
  195. data/bin/lib/Image/ExifTool/WTV.pm +1 -1
  196. data/bin/lib/Image/ExifTool/WavPack.pm +1 -1
  197. data/bin/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
  198. data/bin/lib/Image/ExifTool/WriteExif.pl +1 -1
  199. data/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
  200. data/bin/lib/Image/ExifTool/WritePDF.pl +1 -1
  201. data/bin/lib/Image/ExifTool/WritePNG.pl +1 -1
  202. data/bin/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
  203. data/bin/lib/Image/ExifTool/WritePostScript.pl +1 -1
  204. data/bin/lib/Image/ExifTool/WriteQuickTime.pl +8 -4
  205. data/bin/lib/Image/ExifTool/WriteRIFF.pl +1 -1
  206. data/bin/lib/Image/ExifTool/WriteXMP.pl +1 -1
  207. data/bin/lib/Image/ExifTool/Writer.pl +7 -4
  208. data/bin/lib/Image/ExifTool/XISF.pm +1 -1
  209. data/bin/lib/Image/ExifTool/XMP.pm +1 -1
  210. data/bin/lib/Image/ExifTool/XMP2.pl +1 -1
  211. data/bin/lib/Image/ExifTool/XMPStruct.pl +1 -1
  212. data/bin/lib/Image/ExifTool/ZIP.pm +1 -1
  213. data/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
  214. data/bin/lib/Image/ExifTool/iWork.pm +1 -1
  215. data/bin/lib/Image/ExifTool.pm +35 -29
  216. data/bin/lib/Image/ExifTool.pod +20 -2
  217. data/bin/perl-Image-ExifTool.spec +1 -1
  218. data/lib/exiftool_vendored/version.rb +1 -1
  219. metadata +1 -1
@@ -15,7 +15,7 @@ package Image::ExifTool::NikonCustom;
15
15
  use strict;
16
16
  use vars qw($VERSION @ISA @EXPORT_OK %buttonsZ8 %buttonsZ9);
17
17
 
18
- $VERSION = '1.27';
18
+ $VERSION = '1.28';
19
19
 
20
20
  @ISA = qw(Exporter);
21
21
  @EXPORT_OK = qw(%buttonsZ8 %buttonsZ9);
@@ -142,7 +142,7 @@ my %buttonsCommonZ8Z9 = ( #button roles shared by the Z8 & Z9. Assigments bega
142
142
  %buttonsCommonZ8Z9,
143
143
  116 => 'Save and Load Power Zoom Position',
144
144
  117 => 'Cycle AF-area Mode',
145
- 118 => 'Raw Processing (Current)', #118-131 are Playback Retouch options
145
+ 118 => 'Raw Processing (Current)', #118-131 and 135 are Playback Retouch options
146
146
  119 => 'Raw Processing (Multiple)',
147
147
  120 => 'Trim',
148
148
  121 => 'Resize (Current)',
@@ -156,6 +156,9 @@ my %buttonsCommonZ8Z9 = ( #button roles shared by the Z8 & Z9. Assigments bega
156
156
  129 => 'Lighten',
157
157
  130 => 'Darken',
158
158
  131 => 'Motion Blend',
159
+ 133 => 'Focus Limiter',
160
+ 134 => 'Cycle Subject Detection Options',
161
+ 135 => 'Jump To Source Image',
159
162
  },
160
163
  );
161
164
  my %buttonsZ6III= (
@@ -11391,7 +11394,7 @@ this information.
11391
11394
 
11392
11395
  =head1 AUTHOR
11393
11396
 
11394
- Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
11397
+ Copyright 2003-2026, Phil Harvey (philharvey66 at gmail.com)
11395
11398
 
11396
11399
  This library is free software; you can redistribute it and/or modify it
11397
11400
  under the same terms as Perl itself.
@@ -2132,7 +2132,7 @@ Nikon cameras such as the D6 and Z7mk2.
2132
2132
 
2133
2133
  =head1 AUTHOR
2134
2134
 
2135
- Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
2135
+ Copyright 2003-2026, Phil Harvey (philharvey66 at gmail.com)
2136
2136
 
2137
2137
  This library is free software; you can redistribute it and/or modify it
2138
2138
  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-2025, Phil Harvey (philharvey66 at gmail.com)
110
+ Copyright 2003-2026, 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.
@@ -396,7 +396,7 @@ archives of XML files.
396
396
 
397
397
  =head1 AUTHOR
398
398
 
399
- Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
399
+ Copyright 2003-2026, Phil Harvey (philharvey66 at gmail.com)
400
400
 
401
401
  This library is free software; you can redistribute it and/or modify it
402
402
  under the same terms as Perl itself.
@@ -215,7 +215,7 @@ information from Ogg bitstream container files.
215
215
 
216
216
  =head1 AUTHOR
217
217
 
218
- Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
218
+ Copyright 2003-2026, Phil Harvey (philharvey66 at gmail.com)
219
219
 
220
220
  This library is free software; you can redistribute it and/or modify it
221
221
  under the same terms as Perl itself.
@@ -4428,7 +4428,7 @@ Olympus or Epson maker notes in EXIF information.
4428
4428
 
4429
4429
  =head1 AUTHOR
4430
4430
 
4431
- Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
4431
+ Copyright 2003-2026, Phil Harvey (philharvey66 at gmail.com)
4432
4432
 
4433
4433
  This library is free software; you can redistribute it and/or modify it
4434
4434
  under the same terms as Perl itself.
@@ -341,7 +341,7 @@ information from OpenEXR images.
341
341
 
342
342
  =head1 AUTHOR
343
343
 
344
- Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
344
+ Copyright 2003-2026, Phil Harvey (philharvey66 at gmail.com)
345
345
 
346
346
  This library is free software; you can redistribute it and/or modify it
347
347
  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-2025, Phil Harvey (philharvey66 at gmail.com)
72
+ Copyright 2003-2026, 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-2025, Phil Harvey (philharvey66 at gmail.com)
74
+ Copyright 2003-2026, 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.
@@ -436,7 +436,7 @@ metadata from CAP, PCAP and PCAPNG Packet Capture files.
436
436
 
437
437
  =head1 AUTHOR
438
438
 
439
- Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
439
+ Copyright 2003-2026, Phil Harvey (philharvey66 at gmail.com)
440
440
 
441
441
  This library is free software; you can redistribute it and/or modify it
442
442
  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-2025, Phil Harvey (philharvey66 at gmail.com)
117
+ Copyright 2003-2026, 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.
@@ -2507,7 +2507,7 @@ and AESV3 (AES-256).
2507
2507
 
2508
2508
  =head1 AUTHOR
2509
2509
 
2510
- Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
2510
+ Copyright 2003-2026, Phil Harvey (philharvey66 at gmail.com)
2511
2511
 
2512
2512
  This library is free software; you can redistribute it and/or modify it
2513
2513
  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-2025, Phil Harvey (philharvey66 at gmail.com)
122
+ Copyright 2003-2026, 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-2025, Phil Harvey (philharvey66 at gmail.com)
1239
+ Copyright 2003-2026, 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.
@@ -513,7 +513,7 @@ This module decodes both the binary and XML-based PLIST format.
513
513
 
514
514
  =head1 AUTHOR
515
515
 
516
- Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
516
+ Copyright 2003-2026, Phil Harvey (philharvey66 at gmail.com)
517
517
 
518
518
  This library is free software; you can redistribute it and/or modify it
519
519
  under the same terms as Perl itself.
@@ -2601,7 +2601,7 @@ Definitions for PLUS (Picture Licensing Universal System) tags.
2601
2601
 
2602
2602
  =head1 AUTHOR
2603
2603
 
2604
- Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
2604
+ Copyright 2003-2026, Phil Harvey (philharvey66 at gmail.com)
2605
2605
 
2606
2606
  This library is free software; you can redistribute it and/or modify it
2607
2607
  under the same terms as Perl itself.
@@ -1704,7 +1704,7 @@ and JNG (JPEG Network Graphics) images.
1704
1704
 
1705
1705
  =head1 AUTHOR
1706
1706
 
1707
- Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
1707
+ Copyright 2003-2026, Phil Harvey (philharvey66 at gmail.com)
1708
1708
 
1709
1709
  This library is free software; you can redistribute it and/or modify it
1710
1710
  under the same terms as Perl itself.
@@ -152,7 +152,7 @@ BitMap) images.
152
152
 
153
153
  =head1 AUTHOR
154
154
 
155
- Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
155
+ Copyright 2003-2026, 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.
@@ -284,7 +284,7 @@ information from Paint Shop Pro images.
284
284
 
285
285
  =head1 AUTHOR
286
286
 
287
- Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
287
+ Copyright 2003-2026, 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-2025, Phil Harvey (philharvey66 at gmail.com)
382
+ Copyright 2003-2026, 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.
@@ -37,7 +37,7 @@ use vars qw($VERSION %leicaLensTypes);
37
37
  use Image::ExifTool qw(:DataAccess :Utils);
38
38
  use Image::ExifTool::Exif;
39
39
 
40
- $VERSION = '2.28';
40
+ $VERSION = '2.29';
41
41
 
42
42
  sub ProcessLeicaLEIC($$$);
43
43
  sub WhiteBalanceConv($;$$);
@@ -1440,6 +1440,11 @@ my %shootingMode = (
1440
1440
  3 => 'High',
1441
1441
  },
1442
1442
  },
1443
+ 0xd4 => { #forum17795
1444
+ Name => 'HybridLogGamma',
1445
+ Writable => 'int16u',
1446
+ PrintConv => { 0 => 'Off', 1 => 'On' },
1447
+ },
1443
1448
  0xd6 => { #PH (DC-S1)
1444
1449
  Name => 'NoiseReductionStrength',
1445
1450
  Writable => 'rational64s',
@@ -2958,7 +2963,7 @@ Panasonic and Leica maker notes in EXIF information.
2958
2963
 
2959
2964
  =head1 AUTHOR
2960
2965
 
2961
- Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
2966
+ Copyright 2003-2026, Phil Harvey (philharvey66 at gmail.com)
2962
2967
 
2963
2968
  This library is free software; you can redistribute it and/or modify it
2964
2969
  under the same terms as Perl itself.
@@ -935,7 +935,7 @@ write meta information in Panasonic/Leica RAW, RW2 and RWL images.
935
935
 
936
936
  =head1 AUTHOR
937
937
 
938
- Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
938
+ Copyright 2003-2026, Phil Harvey (philharvey66 at gmail.com)
939
939
 
940
940
  This library is free software; you can redistribute it and/or modify it
941
941
  under the same terms as Perl itself.
@@ -872,7 +872,7 @@ timed metadata from the 'mett' frame found in Parrot drone MP4 videos.
872
872
 
873
873
  =head1 AUTHOR
874
874
 
875
- Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
875
+ Copyright 2003-2026, Phil Harvey (philharvey66 at gmail.com)
876
876
 
877
877
  This library is free software; you can redistribute it and/or modify it
878
878
  under the same terms as Perl itself.
@@ -59,7 +59,7 @@ use Image::ExifTool::Exif;
59
59
  use Image::ExifTool::GPS;
60
60
  use Image::ExifTool::HP;
61
61
 
62
- $VERSION = '3.59';
62
+ $VERSION = '3.60';
63
63
 
64
64
  sub CryptShutterCount($$);
65
65
  sub PrintFilter($$$);
@@ -401,7 +401,8 @@ sub AFAreasK3III($$);
401
401
  #
402
402
  # Q-mount lenses (21=auto focus lens, 22=manual focus)
403
403
  #
404
- '21 0' => 'Pentax Q Manual Lens', #PH
404
+ '20 0' => 'Pentax Q Manual Lens (Q, Q10)', #27
405
+ '21 0' => 'Pentax Q Manual Lens', #PH (Q7, Q-S1)
405
406
  '21 1' => '01 Standard Prime 8.5mm F1.9', #PH
406
407
  '21 2' => '02 Standard Zoom 5-15mm F2.8-4.5', #PH
407
408
  '22 3' => '03 Fish-eye 3.2mm F5.6', #PH
@@ -909,10 +910,18 @@ my %binaryDataAttrs = (
909
910
  # 11.3.0.0 - K-S1
910
911
  # 11.5.0.0 - K-S2
911
912
  # 11.6.1.0 - K-3 II
912
- # 11.7.5.0 - WG-M2
913
+ # 11.7.5.0 - Ricoh WG-M2
913
914
  # 12.0.0.0 - K-1
914
915
  # 12.1.3.0 - K-70
915
916
  # 12.1.5.0 - KP
917
+ # 12.3.2.0 - K-1 Mark II
918
+ # 12.7.5.0 - Ricoh WG-M2
919
+ # 13.0.0.0 - Ricoh GR III / G900SE
920
+ # 13.1.1.0 - Ricoh WG-70
921
+ # 14.0.0.0 - K-3 Mark III
922
+ # 14.0.1.0 - Ricoh GR IIIx
923
+ # 14.2.0.0 - KF
924
+ # 15.2.3.0 - Ricoh GR IV
916
925
  },
917
926
  0x0001 => { #PH
918
927
  Name => 'PentaxModelType',
@@ -6916,7 +6925,7 @@ tags, and everyone who helped contribute to the LensType values.
6916
6925
 
6917
6926
  =head1 AUTHOR
6918
6927
 
6919
- Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
6928
+ Copyright 2003-2026, Phil Harvey (philharvey66 at gmail.com)
6920
6929
 
6921
6930
  This library is free software; you can redistribute it and/or modify it
6922
6931
  under the same terms as Perl itself.
@@ -742,7 +742,7 @@ One maker notes.
742
742
 
743
743
  =head1 AUTHOR
744
744
 
745
- Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
745
+ Copyright 2003-2026, Phil Harvey (philharvey66 at gmail.com)
746
746
 
747
747
  This library is free software; you can redistribute it and/or modify it
748
748
  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-2025, Phil Harvey (philharvey66 at gmail.com)
487
+ Copyright 2003-2026, 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.
@@ -237,7 +237,7 @@ write information written by the Camera Bits Photo Mechanic software.
237
237
 
238
238
  =head1 AUTHOR
239
239
 
240
- Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
240
+ Copyright 2003-2026, Phil Harvey (philharvey66 at gmail.com)
241
241
 
242
242
  This library is free software; you can redistribute it and/or modify it
243
243
  under the same terms as Perl itself.
@@ -1262,7 +1262,7 @@ be preserved when copying Photoshop information via user-defined tags.
1262
1262
 
1263
1263
  =head1 AUTHOR
1264
1264
 
1265
- Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
1265
+ Copyright 2003-2026, Phil Harvey (philharvey66 at gmail.com)
1266
1266
 
1267
1267
  This library is free software; you can redistribute it and/or modify it
1268
1268
  under the same terms as Perl itself.
@@ -716,7 +716,7 @@ invalid.
716
716
 
717
717
  =head1 AUTHOR
718
718
 
719
- Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
719
+ Copyright 2003-2026, Phil Harvey (philharvey66 at gmail.com)
720
720
 
721
721
  This library is free software; you can redistribute it and/or modify it
722
722
  under the same terms as Perl itself.
@@ -768,7 +768,7 @@ This code reads meta information from EPS (Encapsulated PostScript), PS
768
768
 
769
769
  =head1 AUTHOR
770
770
 
771
- Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
771
+ Copyright 2003-2026, Phil Harvey (philharvey66 at gmail.com)
772
772
 
773
773
  This library is free software; you can redistribute it and/or modify it
774
774
  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-2025, Phil Harvey (philharvey66 at gmail.com)
115
+ Copyright 2003-2026, 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.
@@ -21,10 +21,16 @@ use strict;
21
21
  use vars qw($VERSION);
22
22
  use Image::ExifTool qw(:DataAccess :Utils);
23
23
 
24
- $VERSION = '1.05';
24
+ $VERSION = '1.06';
25
25
 
26
26
  sub ProcessProtobuf($$$;$);
27
27
 
28
+ # largest unsigned integer on this system (2^32 or 2^64 - 1)
29
+ my $intMax = ~0;
30
+
31
+ # smallest unsigned integer that we interpret as int64s (0xffffffff00000000)
32
+ my $int64sMin = 18446744069414584320;
33
+
28
34
  #------------------------------------------------------------------------------
29
35
  # Read bytes from dirInfo object
30
36
  # Inputs: 0) dirInfo ref (with DataPt and Pos set), 1) number of bytes
@@ -43,17 +49,23 @@ sub GetBytes($$)
43
49
  # Read variable-length integer
44
50
  # Inputs: 0) dirInfo ref
45
51
  # Returns: integer value
52
+ # - sets $$dirInfo{Bit0} according to bit 0 of returned value
53
+ # (necessary for cases where a signed integer exceeds $intMax)
46
54
  sub VarInt($)
47
55
  {
48
56
  my $dirInfo = shift;
49
- my $val = 0;
50
- my $shift = 0;
57
+ my $buff = GetBytes($dirInfo, 1);
58
+ return undef unless defined $buff;
59
+ my $val = ord($buff) & 0x7f;
60
+ $$dirInfo{Bit0} = $val & 0x01;
61
+ my $mult = 128;
51
62
  for (;;) {
52
- my $buff = GetBytes($dirInfo, 1);
53
- defined $buff or return undef;
54
- $val += (ord($buff) & 0x7f) << $shift;
55
63
  last unless ord($buff) & 0x80;
56
- $shift += 7;
64
+ $buff = GetBytes($dirInfo, 1);
65
+ return undef unless defined $buff;
66
+ $val += (ord($buff) & 0x7f) * $mult;
67
+ last unless ord($buff) & 0x80;
68
+ $mult *= 128; # (Note: don't use integer bit shift to avoid integer overflow)
57
69
  }
58
70
  return $val;
59
71
  }
@@ -62,7 +74,8 @@ sub VarInt($)
62
74
  # Read protobuf record
63
75
  # Inputs: 0) dirInfo ref
64
76
  # Returns: 0) record payload (plus tag id and format type in list context)
65
- # Notes: Updates dirInfo Pos to start of next record
77
+ # Notes: Updates $$dirInfo{Pos} to start of next record, and sets $$dirInfo{Bit0}
78
+ # according to the least significant bit of type 0 (varInt) records
66
79
  sub ReadRecord($)
67
80
  {
68
81
  my $dirInfo = shift;
@@ -170,11 +183,19 @@ sub ProcessProtobuf($$$;$)
170
183
  if ($type == 0) {
171
184
  $val = $buff;
172
185
  if ($$tagInfo{Format} eq 'signed') {
173
- $val = ($val & 1) ? -($val >> 1)-1 : ($val >> 1);
174
- } elsif ($$tagInfo{Format} eq 'int64s' and $val > 0xffffffff) {
186
+ if ($val > $intMax) {
187
+ # use double math (15 decimal digits precision)
188
+ $val = $$dirInfo{Bit0} ? -int($val / 2) - 1 : $val / 2;
189
+ } else {
190
+ # use integer math
191
+ $val = ($val & 1) ? -($val >> 1)-1 : ($val >> 1);
192
+ }
193
+ } elsif ($$tagInfo{Format} eq 'int64s' and $val >= $int64sMin) {
175
194
  # hack for DJI drones which store 64-bit signed integers improperly
176
195
  # (just toss upper 32 bits which should be all 1's anyway)
177
- $val = ($val & 0xffffffff) - 4294967296;
196
+ # Note: do the two subtractions because $int64sMin + 4294967296
197
+ # is too large for a 64-bit integer
198
+ $val = $val - $int64sMin - 4294967296;
178
199
  }
179
200
  } elsif ($type == 2 and $$tagInfo{Format} eq 'rational') {
180
201
  my $dir = { DataPt => \$buff, Pos => 0 };
@@ -187,11 +208,16 @@ sub ProcessProtobuf($$$;$)
187
208
  } elsif ($type == 0) { # varInt
188
209
  $val = $buff;
189
210
  my $hex = sprintf('%x', $val);
190
- if (length($hex) == 16 and $hex =~ /^ffffffff/) {
191
- my $s64 = hex(substr($hex, 8)) - 4294967296;
211
+ if ($val >= $int64sMin) {
212
+ my $s64 = $val - $int64sMin - 4294967296;
192
213
  $val .= " (0x$hex, int64s $s64)";
193
214
  } else {
194
- my $signed = ($val & 1) ? -($val >> 1)-1 : ($val >> 1);
215
+ my $signed;
216
+ if ($val > $intMax) {
217
+ $signed = $$dirInfo{Bit0} ? -int($val / 2) - 1 : $val / 2;
218
+ } else {
219
+ $signed = ($val & 1) ? -($val >> 1)-1 : ($val >> 1);
220
+ }
195
221
  $val .= " (0x$hex, signed $signed)";
196
222
  }
197
223
  } elsif ($type == 1) { # 64-bit number
@@ -269,7 +295,7 @@ information in protocol buffer (protobuf) format.
269
295
 
270
296
  =head1 AUTHOR
271
297
 
272
- Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
298
+ Copyright 2003-2026, Phil Harvey (philharvey66 at gmail.com)
273
299
 
274
300
  This library is free software; you can redistribute it and/or modify it
275
301
  under the same terms as Perl itself.
@@ -1408,7 +1408,7 @@ information from the APP7 Qualcomm segment in JPEG images.
1408
1408
 
1409
1409
  =head1 AUTHOR
1410
1410
 
1411
- Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
1411
+ Copyright 2003-2026, Phil Harvey (philharvey66 at gmail.com)
1412
1412
 
1413
1413
  This library is free software; you can redistribute it and/or modify it
1414
1414
  under the same terms as Perl itself.
@@ -49,7 +49,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
49
49
  use Image::ExifTool::Exif;
50
50
  use Image::ExifTool::GPS;
51
51
 
52
- $VERSION = '3.25';
52
+ $VERSION = '3.26';
53
53
 
54
54
  sub ProcessMOV($$;$);
55
55
  sub ProcessKeys($$$);
@@ -10546,8 +10546,12 @@ ItemID: foreach $id (reverse sort { $a <=> $b } keys %$items) {
10546
10546
  $raf->Seek($seekTo);
10547
10547
  }
10548
10548
  unless ($raf->Seek($seekTo-1) and $raf->Read($buff, 1) == 1) {
10549
- my $t = PrintableTagID($tag,2);
10550
- $warnStr = sprintf("Truncated '${t}' data at offset 0x%x", $lastPos);
10549
+ if (pack('N',$size) =~ /^<b[r>]/) { # check for corrupted HEIC file downloaded from heic.digital
10550
+ $warnStr = sprintf('Extraneous HTML text appended to file at offset 0x%x', $lastPos);
10551
+ } else {
10552
+ my $t = PrintableTagID($tag,2);
10553
+ $warnStr = sprintf("Truncated '${t}' data at offset 0x%x", $lastPos);
10554
+ }
10551
10555
  last;
10552
10556
  }
10553
10557
  }
@@ -10689,7 +10693,7 @@ information from QuickTime and MP4 video, M4A audio, and HEIC image files.
10689
10693
 
10690
10694
  =head1 AUTHOR
10691
10695
 
10692
- Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
10696
+ Copyright 2003-2026, Phil Harvey (philharvey66 at gmail.com)
10693
10697
 
10694
10698
  This library is free software; you can redistribute it and/or modify it
10695
10699
  under the same terms as Perl itself.
@@ -3777,7 +3777,7 @@ information like GPS tracks from MOV, MP4 and INSV media data.
3777
3777
 
3778
3778
  =head1 AUTHOR
3779
3779
 
3780
- Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
3780
+ Copyright 2003-2026, Phil Harvey (philharvey66 at gmail.com)
3781
3781
 
3782
3782
  This library is free software; you can redistribute it and/or modify it
3783
3783
  under the same terms as Perl itself.
@@ -2236,7 +2236,7 @@ including AVI videos, WAV audio files and WEBP images.
2236
2236
 
2237
2237
  =head1 AUTHOR
2238
2238
 
2239
- Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
2239
+ Copyright 2003-2026, Phil Harvey (philharvey66 at gmail.com)
2240
2240
 
2241
2241
  This library is free software; you can redistribute it and/or modify it
2242
2242
  under the same terms as Perl itself.
@@ -225,7 +225,7 @@ resource files.
225
225
 
226
226
  =head1 AUTHOR
227
227
 
228
- Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
228
+ Copyright 2003-2026, 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-2025, Phil Harvey (philharvey66 at gmail.com)
369
+ Copyright 2003-2026, 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-2025, Phil Harvey (philharvey66 at gmail.com)
128
+ Copyright 2003-2026, 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-2025, Phil Harvey (philharvey66 at gmail.com)
171
+ Copyright 2003-2026, 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-2025, Phil Harvey (philharvey66 at gmail.com)
718
+ Copyright 2003-2026, 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.
@@ -715,7 +715,7 @@ maker notes in images from Reconyx cameras.
715
715
 
716
716
  =head1 AUTHOR
717
717
 
718
- Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
718
+ Copyright 2003-2026, 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.
@@ -313,7 +313,7 @@ from Redcode R3D version 1 and 2 video files.
313
313
 
314
314
  =head1 AUTHOR
315
315
 
316
- Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
316
+ Copyright 2003-2026, Phil Harvey (philharvey66 at gmail.com)
317
317
 
318
318
  This library is free software; you can redistribute it and/or modify it
319
319
  under the same terms as Perl itself.