exiftool-vendored.pl 12.31.0 → 12.39.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 (201) hide show
  1. package/LICENSE +10 -3
  2. package/bin/Changes +130 -4
  3. package/bin/MANIFEST +3 -0
  4. package/bin/META.json +1 -1
  5. package/bin/META.yml +1 -1
  6. package/bin/README +45 -45
  7. package/bin/arg_files/xmp2exif.args +2 -1
  8. package/bin/exiftool +128 -96
  9. package/bin/lib/File/RandomAccess.pm +1 -1
  10. package/bin/lib/File/RandomAccess.pod +2 -2
  11. package/bin/lib/Image/ExifTool/AES.pm +1 -1
  12. package/bin/lib/Image/ExifTool/AFCP.pm +1 -1
  13. package/bin/lib/Image/ExifTool/AIFF.pm +1 -1
  14. package/bin/lib/Image/ExifTool/APE.pm +1 -1
  15. package/bin/lib/Image/ExifTool/APP12.pm +1 -1
  16. package/bin/lib/Image/ExifTool/ASF.pm +1 -1
  17. package/bin/lib/Image/ExifTool/Apple.pm +1 -1
  18. package/bin/lib/Image/ExifTool/Audible.pm +1 -1
  19. package/bin/lib/Image/ExifTool/BMP.pm +1 -1
  20. package/bin/lib/Image/ExifTool/BPG.pm +1 -1
  21. package/bin/lib/Image/ExifTool/BZZ.pm +1 -1
  22. package/bin/lib/Image/ExifTool/BigTIFF.pm +1 -1
  23. package/bin/lib/Image/ExifTool/BuildTagLookup.pm +17 -5
  24. package/bin/lib/Image/ExifTool/CBOR.pm +331 -0
  25. package/bin/lib/Image/ExifTool/Canon.pm +171 -13
  26. package/bin/lib/Image/ExifTool/CanonCustom.pm +13 -3
  27. package/bin/lib/Image/ExifTool/CanonRaw.pm +1 -1
  28. package/bin/lib/Image/ExifTool/CanonVRD.pm +1 -1
  29. package/bin/lib/Image/ExifTool/CaptureOne.pm +1 -1
  30. package/bin/lib/Image/ExifTool/Casio.pm +1 -1
  31. package/bin/lib/Image/ExifTool/Charset.pm +3 -1
  32. package/bin/lib/Image/ExifTool/DICOM.pm +1 -1
  33. package/bin/lib/Image/ExifTool/DJI.pm +1 -1
  34. package/bin/lib/Image/ExifTool/DNG.pm +1 -1
  35. package/bin/lib/Image/ExifTool/DPX.pm +1 -1
  36. package/bin/lib/Image/ExifTool/DV.pm +1 -1
  37. package/bin/lib/Image/ExifTool/DarwinCore.pm +3 -3
  38. package/bin/lib/Image/ExifTool/DjVu.pm +1 -1
  39. package/bin/lib/Image/ExifTool/EXE.pm +1 -1
  40. package/bin/lib/Image/ExifTool/Exif.pm +118 -4
  41. package/bin/lib/Image/ExifTool/FITS.pm +1 -1
  42. package/bin/lib/Image/ExifTool/FLAC.pm +1 -1
  43. package/bin/lib/Image/ExifTool/FLIF.pm +1 -1
  44. package/bin/lib/Image/ExifTool/FLIR.pm +48 -11
  45. package/bin/lib/Image/ExifTool/Fixup.pm +1 -1
  46. package/bin/lib/Image/ExifTool/Flash.pm +1 -1
  47. package/bin/lib/Image/ExifTool/FlashPix.pm +1 -1
  48. package/bin/lib/Image/ExifTool/Font.pm +1 -1
  49. package/bin/lib/Image/ExifTool/FotoStation.pm +1 -1
  50. package/bin/lib/Image/ExifTool/FujiFilm.pm +1 -1
  51. package/bin/lib/Image/ExifTool/GE.pm +1 -1
  52. package/bin/lib/Image/ExifTool/GIF.pm +6 -2
  53. package/bin/lib/Image/ExifTool/GIMP.pm +1 -1
  54. package/bin/lib/Image/ExifTool/GPS.pm +15 -11
  55. package/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
  56. package/bin/lib/Image/ExifTool/Geotag.pm +14 -3
  57. package/bin/lib/Image/ExifTool/GoPro.pm +1 -1
  58. package/bin/lib/Image/ExifTool/H264.pm +1 -1
  59. package/bin/lib/Image/ExifTool/HP.pm +1 -1
  60. package/bin/lib/Image/ExifTool/HTML.pm +1 -1
  61. package/bin/lib/Image/ExifTool/HtmlDump.pm +1 -1
  62. package/bin/lib/Image/ExifTool/ICC_Profile.pm +97 -5
  63. package/bin/lib/Image/ExifTool/ID3.pm +1 -1
  64. package/bin/lib/Image/ExifTool/IPTC.pm +1 -1
  65. package/bin/lib/Image/ExifTool/ISO.pm +1 -1
  66. package/bin/lib/Image/ExifTool/ITC.pm +1 -1
  67. package/bin/lib/Image/ExifTool/Import.pm +1 -1
  68. package/bin/lib/Image/ExifTool/InDesign.pm +1 -1
  69. package/bin/lib/Image/ExifTool/JPEG.pm +6 -2
  70. package/bin/lib/Image/ExifTool/JPEGDigest.pm +1 -1
  71. package/bin/lib/Image/ExifTool/JSON.pm +8 -4
  72. package/bin/lib/Image/ExifTool/JVC.pm +1 -1
  73. package/bin/lib/Image/ExifTool/Jpeg2000.pm +155 -25
  74. package/bin/lib/Image/ExifTool/Kodak.pm +1 -1
  75. package/bin/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
  76. package/bin/lib/Image/ExifTool/LIF.pm +1 -1
  77. package/bin/lib/Image/ExifTool/LNK.pm +1 -1
  78. package/bin/lib/Image/ExifTool/Lang/cs.pm +1 -1
  79. package/bin/lib/Image/ExifTool/Lang/de.pm +1 -1
  80. package/bin/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
  81. package/bin/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
  82. package/bin/lib/Image/ExifTool/Lang/es.pm +1 -1
  83. package/bin/lib/Image/ExifTool/Lang/fi.pm +1 -1
  84. package/bin/lib/Image/ExifTool/Lang/fr.pm +1 -1
  85. package/bin/lib/Image/ExifTool/Lang/it.pm +1 -1
  86. package/bin/lib/Image/ExifTool/Lang/ja.pm +1 -1
  87. package/bin/lib/Image/ExifTool/Lang/ko.pm +1 -1
  88. package/bin/lib/Image/ExifTool/Lang/nl.pm +1 -1
  89. package/bin/lib/Image/ExifTool/Lang/pl.pm +1 -1
  90. package/bin/lib/Image/ExifTool/Lang/ru.pm +1 -1
  91. package/bin/lib/Image/ExifTool/Lang/sv.pm +1 -1
  92. package/bin/lib/Image/ExifTool/Lang/tr.pm +1 -1
  93. package/bin/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
  94. package/bin/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
  95. package/bin/lib/Image/ExifTool/Leaf.pm +1 -1
  96. package/bin/lib/Image/ExifTool/Lytro.pm +1 -1
  97. package/bin/lib/Image/ExifTool/M2TS.pm +1 -1
  98. package/bin/lib/Image/ExifTool/MIE.pm +1 -1
  99. package/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
  100. package/bin/lib/Image/ExifTool/MIFF.pm +1 -1
  101. package/bin/lib/Image/ExifTool/MNG.pm +1 -1
  102. package/bin/lib/Image/ExifTool/MOI.pm +1 -1
  103. package/bin/lib/Image/ExifTool/MPC.pm +1 -1
  104. package/bin/lib/Image/ExifTool/MPEG.pm +1 -1
  105. package/bin/lib/Image/ExifTool/MPF.pm +1 -1
  106. package/bin/lib/Image/ExifTool/MRC.pm +1 -1
  107. package/bin/lib/Image/ExifTool/MWG.pm +1 -1
  108. package/bin/lib/Image/ExifTool/MXF.pm +1 -1
  109. package/bin/lib/Image/ExifTool/MacOS.pm +3 -3
  110. package/bin/lib/Image/ExifTool/MakerNotes.pm +1 -1
  111. package/bin/lib/Image/ExifTool/Matroska.pm +9 -5
  112. package/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
  113. package/bin/lib/Image/ExifTool/Minolta.pm +1 -1
  114. package/bin/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
  115. package/bin/lib/Image/ExifTool/Motorola.pm +1 -1
  116. package/bin/lib/Image/ExifTool/Nikon.pm +1895 -74
  117. package/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
  118. package/bin/lib/Image/ExifTool/NikonCustom.pm +523 -6
  119. package/bin/lib/Image/ExifTool/NikonSettings.pm +150 -87
  120. package/bin/lib/Image/ExifTool/Nintendo.pm +1 -1
  121. package/bin/lib/Image/ExifTool/OOXML.pm +1 -1
  122. package/bin/lib/Image/ExifTool/Ogg.pm +1 -1
  123. package/bin/lib/Image/ExifTool/Olympus.pm +6 -2
  124. package/bin/lib/Image/ExifTool/OpenEXR.pm +5 -3
  125. package/bin/lib/Image/ExifTool/Opus.pm +1 -1
  126. package/bin/lib/Image/ExifTool/Other.pm +1 -1
  127. package/bin/lib/Image/ExifTool/PCX.pm +1 -1
  128. package/bin/lib/Image/ExifTool/PDF.pm +6 -4
  129. package/bin/lib/Image/ExifTool/PGF.pm +1 -1
  130. package/bin/lib/Image/ExifTool/PICT.pm +1 -1
  131. package/bin/lib/Image/ExifTool/PLIST.pm +1 -1
  132. package/bin/lib/Image/ExifTool/PLUS.pm +1 -1
  133. package/bin/lib/Image/ExifTool/PNG.pm +29 -8
  134. package/bin/lib/Image/ExifTool/PPM.pm +1 -1
  135. package/bin/lib/Image/ExifTool/PSP.pm +1 -1
  136. package/bin/lib/Image/ExifTool/Palm.pm +1 -1
  137. package/bin/lib/Image/ExifTool/Panasonic.pm +3 -3
  138. package/bin/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
  139. package/bin/lib/Image/ExifTool/Parrot.pm +1 -1
  140. package/bin/lib/Image/ExifTool/Pentax.pm +4 -2
  141. package/bin/lib/Image/ExifTool/PhaseOne.pm +1 -1
  142. package/bin/lib/Image/ExifTool/PhotoCD.pm +1 -1
  143. package/bin/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
  144. package/bin/lib/Image/ExifTool/Photoshop.pm +1 -1
  145. package/bin/lib/Image/ExifTool/PostScript.pm +1 -1
  146. package/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
  147. package/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
  148. package/bin/lib/Image/ExifTool/QuickTime.pm +25 -4
  149. package/bin/lib/Image/ExifTool/QuickTimeStream.pl +125 -81
  150. package/bin/lib/Image/ExifTool/README +9 -2
  151. package/bin/lib/Image/ExifTool/RIFF.pm +1 -1
  152. package/bin/lib/Image/ExifTool/RSRC.pm +1 -1
  153. package/bin/lib/Image/ExifTool/RTF.pm +1 -1
  154. package/bin/lib/Image/ExifTool/Radiance.pm +1 -1
  155. package/bin/lib/Image/ExifTool/Rawzor.pm +1 -1
  156. package/bin/lib/Image/ExifTool/Real.pm +1 -1
  157. package/bin/lib/Image/ExifTool/Reconyx.pm +1 -1
  158. package/bin/lib/Image/ExifTool/Red.pm +1 -1
  159. package/bin/lib/Image/ExifTool/Ricoh.pm +1 -1
  160. package/bin/lib/Image/ExifTool/Samsung.pm +1 -1
  161. package/bin/lib/Image/ExifTool/Sanyo.pm +1 -1
  162. package/bin/lib/Image/ExifTool/Scalado.pm +1 -1
  163. package/bin/lib/Image/ExifTool/Shift.pl +3 -1
  164. package/bin/lib/Image/ExifTool/Shortcuts.pm +1 -1
  165. package/bin/lib/Image/ExifTool/Sigma.pm +1 -1
  166. package/bin/lib/Image/ExifTool/SigmaRaw.pm +1 -1
  167. package/bin/lib/Image/ExifTool/Sony.pm +34 -14
  168. package/bin/lib/Image/ExifTool/SonyIDC.pm +1 -1
  169. package/bin/lib/Image/ExifTool/Stim.pm +1 -1
  170. package/bin/lib/Image/ExifTool/TagInfoXML.pm +11 -6
  171. package/bin/lib/Image/ExifTool/TagLookup.pm +6589 -5877
  172. package/bin/lib/Image/ExifTool/TagNames.pod +1681 -65
  173. package/bin/lib/Image/ExifTool/Text.pm +1 -1
  174. package/bin/lib/Image/ExifTool/Theora.pm +1 -1
  175. package/bin/lib/Image/ExifTool/Torrent.pm +1 -1
  176. package/bin/lib/Image/ExifTool/Unknown.pm +1 -1
  177. package/bin/lib/Image/ExifTool/VCard.pm +1 -1
  178. package/bin/lib/Image/ExifTool/Validate.pm +1 -1
  179. package/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
  180. package/bin/lib/Image/ExifTool/WTV.pm +1 -1
  181. package/bin/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
  182. package/bin/lib/Image/ExifTool/WriteExif.pl +1 -1
  183. package/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
  184. package/bin/lib/Image/ExifTool/WritePDF.pl +1 -1
  185. package/bin/lib/Image/ExifTool/WritePNG.pl +30 -10
  186. package/bin/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
  187. package/bin/lib/Image/ExifTool/WritePostScript.pl +1 -1
  188. package/bin/lib/Image/ExifTool/WriteQuickTime.pl +12 -1
  189. package/bin/lib/Image/ExifTool/WriteXMP.pl +11 -12
  190. package/bin/lib/Image/ExifTool/Writer.pl +56 -10
  191. package/bin/lib/Image/ExifTool/XMP.pm +164 -52
  192. package/bin/lib/Image/ExifTool/XMP2.pl +6 -3
  193. package/bin/lib/Image/ExifTool/XMPStruct.pl +4 -2
  194. package/bin/lib/Image/ExifTool/ZIP.pm +10 -2
  195. package/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
  196. package/bin/lib/Image/ExifTool/iWork.pm +1 -1
  197. package/bin/lib/Image/ExifTool.pm +98 -23
  198. package/bin/lib/Image/ExifTool.pod +76 -67
  199. package/bin/perl-Image-ExifTool.spec +43 -43
  200. package/bin/pp_build_exe.args +6 -5
  201. package/package.json +3 -3
@@ -17,7 +17,7 @@ use strict;
17
17
  use vars qw($VERSION);
18
18
  use Image::ExifTool qw(:DataAccess :Utils);
19
19
 
20
- $VERSION = '1.04';
20
+ $VERSION = '1.07';
21
21
 
22
22
  sub ProcessNikonSettings($$$);
23
23
 
@@ -161,6 +161,39 @@ my %iSOAutoHiLimitD6 = (
161
161
  45 => 'ISO Hi 5.0',
162
162
  );
163
163
 
164
+ my %iSOAutoHiLimitZ7 = (
165
+ 1 => 'ISO 100',
166
+ 2 => 'ISO 125',
167
+ 4 => 'ISO 160',
168
+ 5 => 'ISO 200',
169
+ 6 => 'ISO 250',
170
+ 8 => 'ISO 320',
171
+ 9 => 'ISO 400',
172
+ 10 => 'ISO 500',
173
+ 12 => 'ISO 640',
174
+ 13 => 'ISO 800',
175
+ 14 => 'ISO 1000',
176
+ 16 => 'ISO 1250',
177
+ 17 => 'ISO 1600',
178
+ 18 => 'ISO 2000',
179
+ 20 => 'ISO 2500',
180
+ 21 => 'ISO 3200',
181
+ 22 => 'ISO 4000',
182
+ 24 => 'ISO 5000',
183
+ 25 => 'ISO 6400',
184
+ 26 => 'ISO 8000',
185
+ 28 => 'ISO 10000',
186
+ 29 => 'ISO 12800',
187
+ 30 => 'ISO 16000',
188
+ 32 => 'ISO 20000',
189
+ 33 => 'ISO 25600',
190
+ 38 => 'ISO Hi 0.3',
191
+ 39 => 'ISO Hi 0.5',
192
+ 40 => 'ISO Hi 0.7',
193
+ 41 => 'ISO Hi 1.0',
194
+ 42 => 'ISO Hi 2.0',
195
+ );
196
+
164
197
  my %lensFuncButtonZ7m2 = (
165
198
  1 => 'AF-On',
166
199
  2 => 'AF Lock Only',
@@ -305,16 +338,21 @@ my %times4s10s20s1m5m20m = (
305
338
 
306
339
  my %yesNo = ( 1 => 'Yes', 2 => 'No' );
307
340
 
308
- my %infoZ72 = (
309
- Condition => '$$self{Model} =~ /^NIKON Z 6_2/i or $$self{Model} =~ /^NIKON Z 7_2/i',
310
- Notes => 'Z7_2',
311
- );
312
-
313
341
  my %infoD6 = (
314
- Condition => '$$self{Model} =~ /^NIKON D6/i',
342
+ Condition => '$$self{Model} =~ /^NIKON D6\b/i',
315
343
  Notes => 'D6',
316
344
  );
317
345
 
346
+ my %infoZ7 = (
347
+ Condition => '$$self{Model} =~ /^NIKON Z (7|7_2)\b/i',
348
+ Notes => 'Z7 and Z7_2',
349
+ );
350
+
351
+ my %infoZSeries = (
352
+ Condition => '$$self{Model} =~ /^NIKON Z (5|50|6|6_2|7|7_2|fc)\b/i',
353
+ Notes => 'Z Series cameras thru November 2021',
354
+ );
355
+
318
356
  # Nikon Settings tags (ref 1, tag ID's ref PH)
319
357
  %Image::ExifTool::NikonSettings::Main = (
320
358
  PROCESS_PROC => \&ProcessNikonSettings,
@@ -329,39 +367,8 @@ my %infoD6 = (
329
367
  %infoD6,
330
368
  },{
331
369
  Name => 'ISOAutoHiLimit',
332
- PrintConv => {
333
- 1 => 'ISO 100',
334
- 2 => 'ISO 125',
335
- 4 => 'ISO 160',
336
- 5 => 'ISO 200',
337
- 6 => 'ISO 250',
338
- 8 => 'ISO 320',
339
- 9 => 'ISO 400',
340
- 10 => 'ISO 500',
341
- 12 => 'ISO 640',
342
- 13 => 'ISO 800',
343
- 14 => 'ISO 1000',
344
- 16 => 'ISO 1250',
345
- 17 => 'ISO 1600',
346
- 18 => 'ISO 2000',
347
- 20 => 'ISO 2500',
348
- 21 => 'ISO 3200',
349
- 22 => 'ISO 4000',
350
- 24 => 'ISO 5000',
351
- 25 => 'ISO 6400',
352
- 26 => 'ISO 8000',
353
- 28 => 'ISO 10000',
354
- 29 => 'ISO 12800',
355
- 30 => 'ISO 16000',
356
- 32 => 'ISO 20000',
357
- 33 => 'ISO 25600',
358
- 38 => 'ISO Hi 0.3',
359
- 39 => 'ISO Hi 0.5',
360
- 40 => 'ISO Hi 0.7',
361
- 41 => 'ISO Hi 1.0',
362
- 42 => 'ISO Hi 2.0',
363
- },
364
- %infoZ72,
370
+ PrintConv => \%iSOAutoHiLimitZ7,
371
+ %infoZ7,
365
372
  }],
366
373
  0x002 => [{
367
374
  Name => 'ISOAutoFlashLimit',
@@ -441,7 +448,7 @@ my %infoD6 = (
441
448
  42 => 'ISO Hi 1.0',
442
449
  43 => 'ISO Hi 2.0',
443
450
  },
444
- %infoZ72,
451
+ %infoZ7,
445
452
  }],
446
453
  0x003 => { # (D6/Z7_2)
447
454
  Name => 'ISOAutoShutterTime',
@@ -542,18 +549,10 @@ my %infoD6 = (
542
549
  37 => 'ISO Hi 1.0',
543
550
  38 => 'ISO Hi 2.0',
544
551
  },
545
- %infoZ72,
552
+ %infoZ7,
546
553
  }],
547
554
  0x00e => { Name => 'MovieISOAutoControlManualMode',PrintConv => \%onOff }, # (D6/Z7_2)
548
- # 0x00f => [{ # this tag should reside here, but unable to confirm
549
- # Name => 'MovieISOAutoManualMode',
550
- # PrintConv => \%iSOAutoHiLimitD6,
551
- # %infoD6,
552
- # },{
553
- # Name => 'MovieISOAutoManualMode',
554
- # PrintConv => \%iSOAutoHiLimitZ7m2,
555
- # %infoZ72,
556
- # }],
555
+ 0x00f => { Name => 'MovieWhiteBalanceSameAsPhoto', PrintConv => \%yesNo }, # (D6/Z7_2)
557
556
  0x01d => [{ # CSa1 (D6)
558
557
  Name => 'AF-CPrioritySel',
559
558
  PrintConv => { # valid for cameras with 4 options for CS1, otherwise 1=Release, 2=Focus
@@ -566,7 +565,7 @@ my %infoD6 = (
566
565
  },{ # CSa1 (Z7_2)
567
566
  Name => 'AF-CPrioritySel',
568
567
  PrintConv => \%releaseFocus,
569
- %infoZ72,
568
+ %infoZSeries,
570
569
  }],
571
570
  0x01e => { Name => 'AF-SPrioritySel', PrintConv => \%releaseFocus }, # CSa2 (D6), CSa2 (Z7_2)
572
571
  0x020 => [{ # CSa4 (D6)
@@ -580,7 +579,7 @@ my %infoD6 = (
580
579
  },{ # CSa4 (Z7_2)
581
580
  Name => 'AFPointSel',
582
581
  PrintConv => { 1 => 'Use All', 2 => 'Use Half' },
583
- %infoZ72,
582
+ %infoZSeries,
584
583
  }],
585
584
  0x022 => { Name => 'AFActivation', PrintConv => { 1 => 'Shutter/AF-On', 2 => 'AF-On Only' } }, # CSa6-a (D6/Z7_2) (missing enable/disable out of focus release) # (D6)
586
585
  0x023 => { Name => 'FocusPointWrap', PrintConv => { 1 => 'Wrap', 2 => 'No Wrap' } }, # CSa16 (D6), CSa8 (Z7_2)
@@ -617,7 +616,7 @@ my %infoD6 = (
617
616
  },{ # CSb3 (Z7_2)
618
617
  Name => 'CenterWeightedAreaSize',
619
618
  PrintConv => { 1 => '12 mm', 2 => 'Average' },
620
- %infoZ72,
619
+ %infoZSeries,
621
620
  }],
622
621
  0x02f => { # CSb7-a (D6), CSb4-a (Z7_2)
623
622
  Name => 'FineTuneOptMatrixMetering',
@@ -681,7 +680,7 @@ my %infoD6 = (
681
680
  7 => '30 min',
682
681
  8 => 'No Limit',
683
682
  },
684
- %infoZ72,
683
+ %infoZSeries,
685
684
  }],
686
685
  0x035 => { # CSc3-a (D6), CSc2-a (Z7_2)
687
686
  Name => 'SelfTimerTime',
@@ -770,7 +769,7 @@ my %infoD6 = (
770
769
  6 => '1/80 s',
771
770
  7 => '1/60 s',
772
771
  },
773
- %infoZ72,
772
+ %infoZSeries,
774
773
  }],
775
774
  0x048 => { # CSe2 (D6/Z7_2)
776
775
  Name => 'FlashShutterSpeed',
@@ -844,7 +843,7 @@ my %infoD6 = (
844
843
  25 => 'Non-CPU Lens',
845
844
  26 => 'None',
846
845
  },
847
- %infoZ72,
846
+ %infoZSeries,
848
847
  }],
849
848
  0x053 => [{ # CSf4-a (D6)
850
849
  Name => 'MultiSelectorShootMode',
@@ -864,7 +863,7 @@ my %infoD6 = (
864
863
  4 => 'Zoom (High)',
865
864
  5 => 'None',
866
865
  },
867
- %infoZ72,
866
+ %infoZSeries,
868
867
  }],
869
868
  0x054 => [{ # CSf4-c (D6)
870
869
  Name => 'MultiSelectorPlaybackMode',
@@ -887,7 +886,7 @@ my %infoD6 = (
887
886
  5 => 'Zoom (High)',
888
887
  6 => 'Choose Folder',
889
888
  },
890
- %infoZ72,
889
+ %infoZSeries,
891
890
  }],
892
891
  0x056 => { # CSf4-b (D6)
893
892
  Name => 'MultiSelectorLiveView',
@@ -949,7 +948,7 @@ my %infoD6 = (
949
948
  Name => 'MovieShutterButton',
950
949
  PrintConv => {
951
950
  1 => 'Take Photo',
952
- 2 => 'Record Movies',
951
+ 2 => 'Record Movie',
953
952
  },
954
953
  },
955
954
  0x063 => { # Settings menu # (D6,Z7_2)
@@ -975,9 +974,29 @@ my %infoD6 = (
975
974
  1 => 'Manual (dark on light)',
976
975
  2 => 'Manual (light on dark)',
977
976
  },
978
- %infoZ72,
977
+ %infoZSeries,
979
978
  }],
980
979
  0x074 => { Name => 'FlickAdvanceDirection', PrintConv => { 1 => 'Right to Left', 2 => 'Left to Right' } }, # CSf12-3 (D6)
980
+ 0x075 => { # Settings menu # (D6,Z7_2)
981
+ Name => 'HDMIOutputResolution',
982
+ PrintConv => {
983
+ 1 => 'Auto',
984
+ 2 => '2160p',
985
+ 3 => '1080p',
986
+ 4 => '1080i',
987
+ 5 => '720p',
988
+ 6 => '576p',
989
+ 7 => '480p',
990
+ },
991
+ },
992
+ 0x077 => { # Settings menu # (D6,Z7_2)
993
+ Name => 'HDMIOutputRange',
994
+ PrintConv => {
995
+ 1 => 'Auto',
996
+ 2 => 'Limit',
997
+ 3 => 'Full',
998
+ },
999
+ },
981
1000
  0x080 => [{
982
1001
  Name => 'RemoteFuncButton',
983
1002
  PrintConv => {
@@ -1010,7 +1029,7 @@ my %infoD6 = (
1010
1029
  10 => 'None',
1011
1030
  11 => 'LiveView Info Display On/Off',
1012
1031
  },
1013
- %infoZ72,
1032
+ %infoZSeries,
1014
1033
  }],
1015
1034
  0x08b => [{ # CSf6-a-1 and CSf6-a-2 (D6), CSf5-a-1 and CSf5-a-2 (Z7_2), (continued from above)
1016
1035
  Name => 'CmdDialsReverseRotation',
@@ -1051,6 +1070,7 @@ my %infoD6 = (
1051
1070
  8 => '180',
1052
1071
  },
1053
1072
  },
1073
+ 0x092 => { Name => 'HDMIExternalRecorder', PrintConv => \%onOff }, # Settings Menu/HDMI/Advanced entry (D6 & Z7_2)
1054
1074
  0x093 => { # CSa3-a (D6), CSa3 (Z7_2)
1055
1075
  Name => 'BlockShotAFResponse',
1056
1076
  PrintConv => {
@@ -1077,7 +1097,7 @@ my %infoD6 = (
1077
1097
  1 => 'Focus Point',
1078
1098
  2 => 'Off',
1079
1099
  },
1080
- %infoZ72,
1100
+ %infoZSeries,
1081
1101
  }],
1082
1102
  0x099 => { Name => 'DynamicAreaAFAssist',PrintConv => \%onOff }, # CSa17-c (D6), CSa9-b (Z7_2)
1083
1103
  0x09a => { Name => 'ExposureCompStepSize', PrintConv => \%thirdHalfFull }, # CSb3 (D6)
@@ -1100,7 +1120,7 @@ my %infoD6 = (
1100
1120
  },{ # CSf2-a (Z7_2)
1101
1121
  Name => 'Func1Button',
1102
1122
  PrintConv => \%funcButtonZ7m2,
1103
- %infoZ72,
1123
+ %infoZSeries,
1104
1124
  }],
1105
1125
  0x0a2 => [{ # CSf3-c (D6)
1106
1126
  Name => 'Func2Button',
@@ -1109,7 +1129,7 @@ my %infoD6 = (
1109
1129
  },{ # CSf2-b (Z7_2)
1110
1130
  Name => 'Func2Button',
1111
1131
  PrintConv => \%funcButtonZ7m2,
1112
- %infoZ72,
1132
+ %infoZSeries,
1113
1133
  }],
1114
1134
  0x0a3 => [{ # CSf3-f (D6)
1115
1135
  Name => 'AF-OnButton',
@@ -1161,7 +1181,7 @@ my %infoD6 = (
1161
1181
  11 => 'Zoom (High)',
1162
1182
  12 => 'None'
1163
1183
  },
1164
- %infoZ72,
1184
+ %infoZSeries,
1165
1185
  }],
1166
1186
  0x0a4 => { Name => 'SubSelector', PrintConv => \%tagSubSelector }, # CSf3-g-1 # (D6), CSf2-d-1 # (Z7_2)
1167
1187
  0x0a5 => [{ # CSf3-h (D6)
@@ -1234,7 +1254,7 @@ my %infoD6 = (
1234
1254
  24 => 'Non-CPU Lens',
1235
1255
  25 => 'None',
1236
1256
  },
1237
- %infoZ72,
1257
+ %infoZSeries,
1238
1258
  }],
1239
1259
  0x0a7 => [{ # CSf3-n (D6)
1240
1260
  Name => 'LensFunc1Button',
@@ -1274,7 +1294,7 @@ my %infoD6 = (
1274
1294
  },{ # CSf2-g (Z7_2)
1275
1295
  Name => 'LensFunc1Button',
1276
1296
  PrintConv => \%lensFuncButtonZ7m2,
1277
- %infoZ72,
1297
+ %infoZSeries,
1278
1298
  }],
1279
1299
  0x0a8 => { Name => 'CmdDialsApertureSetting', PrintConv => { 1 => 'Sub-command Dial', 2 => 'Aperture Ring' } }, # CSf6-c (D6)
1280
1300
  0x0a9 => { Name => 'MultiSelector', PrintConv => \%tagMultiSelector }, # CSf7 (D6)
@@ -1335,7 +1355,7 @@ my %infoD6 = (
1335
1355
  23 => 'Rating (1)', # no mapping for 24 on the Z7_2. Possibly intended for Rating = 'Candidate for Deletion'?
1336
1356
  25 => 'None',
1337
1357
  },
1338
- %infoZ72,
1358
+ %infoZSeries,
1339
1359
  }],
1340
1360
  0x0b3 => [{ # CSg2-b (D6)
1341
1361
  Name => 'MovieFunc1Button',
@@ -1379,7 +1399,7 @@ my %infoD6 = (
1379
1399
  23 => 'Rating (1)', # no mapping for 24 on the Z7_2. Possibly intended for Rating = 'Candidate for Deletion'?
1380
1400
  25 => 'None',
1381
1401
  },
1382
- %infoZ72,
1402
+ %infoZSeries,
1383
1403
  }],
1384
1404
  0x0b5 => { # CSg2-c (D6)
1385
1405
  Name => 'MovieFunc2Button',
@@ -1405,7 +1425,7 @@ my %infoD6 = (
1405
1425
  7 => 'Zoom (Low)',
1406
1426
  8 => 'Zoom (1:1)',
1407
1427
  9 => 'Zoom (High)',
1408
- 10 => 'Record Movies',
1428
+ 10 => 'Record Movie',
1409
1429
  11 => 'None',
1410
1430
  },
1411
1431
  %infoD6,
@@ -1422,11 +1442,11 @@ my %infoD6 = (
1422
1442
  8 => 'Zoom (Low)',
1423
1443
  9 => 'Zoom (1:1)',
1424
1444
  10 => 'Zoom (High)',
1425
- 11 => 'Record Movies',
1445
+ 11 => 'Record Movie',
1426
1446
  12 => 'Image Area',
1427
1447
  13 => 'None',
1428
1448
  },
1429
- %infoZ72,
1449
+ %infoZSeries,
1430
1450
  }],
1431
1451
  0x0b8 => { Name => 'LimitAFAreaModeSelD9', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa14-a (D6)
1432
1452
  0x0b9 => { Name => 'LimitAFAreaModeSelD25', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa14-b (D6)
@@ -1459,14 +1479,13 @@ my %infoD6 = (
1459
1479
  4 => 'Off',
1460
1480
  },
1461
1481
  },
1462
- 0x0e9 => { # CSf2-i # need to confirm with a Z series lens # (Z7_2)
1482
+ 0x0ea => { # CSf2-i #option for 'Focus (M/A)' is documented, but not available from camera menu
1463
1483
  Name => 'LensControlRing',
1464
1484
  PrintConv => {
1465
- 1 => 'Focus (M/A)',
1466
- 2 => 'Aperture',
1467
- 3 => 'Exposure Compensation',
1468
- 4 => 'ISO Sensitivity',
1469
- 5 => 'None (Disabled)',
1485
+ 1 => 'Aperture',
1486
+ 2 => 'Exposure Compensation',
1487
+ 3 => 'ISO Sensitivity',
1488
+ 4 => 'None (Disabled)',
1470
1489
  },
1471
1490
  },
1472
1491
  # 0x0eb MovieLensControlRing ? # (Z7_2)
@@ -1478,7 +1497,7 @@ my %infoD6 = (
1478
1497
  2 => 'Zoom (Low)',
1479
1498
  3 => 'Zoom (1:1)',
1480
1499
  4 => 'Zoom (High)',
1481
- 5 => 'Record Movies',
1500
+ 5 => 'Record Movie',
1482
1501
  6 => 'None',
1483
1502
  },
1484
1503
  %infoD6,
@@ -1489,7 +1508,7 @@ my %infoD6 = (
1489
1508
  2 => 'Zoom (Low)',
1490
1509
  3 => 'Zoom (1:1)',
1491
1510
  4 => 'Zoom (High)',
1492
- 5 => 'Record Movies',
1511
+ 5 => 'Record Movie',
1493
1512
  6 => 'None',
1494
1513
  },
1495
1514
  }],
@@ -1541,7 +1560,7 @@ my %infoD6 = (
1541
1560
  8 => 'Zoom (Low)',
1542
1561
  9 => 'Zoom (1:1)',
1543
1562
  10 => 'Zoom (High)',
1544
- 11 => 'Record Movies',
1563
+ 11 => 'Record Movie',
1545
1564
  12 => 'None',
1546
1565
  },
1547
1566
  },
@@ -1549,6 +1568,29 @@ my %infoD6 = (
1549
1568
  0x0fb => { Name => 'SecondarySlotFunction', PrintConv => \%tagSecondarySlotFunction }, # (D6)
1550
1569
  0x0fc => { Name => 'SilentPhotography', PrintConv => \%onOff }, # (D6,Z7_2) # tag is associated with Silent LiveView Photography (as distinguisehed from Silent Interval or Silent Focus Shift)
1551
1570
  0x0fd => { Name => 'ExtendedShutterSpeeds', PrintConv => \%onOff }, # CSd7 (D6), CSd6 (Z7_2)
1571
+ 0x102 => { # (Z7_2)
1572
+ Name => 'HDMIBitDepth',
1573
+ RawConv => '$$self{HDMIBitDepth} = $val',
1574
+ PrintConv => {
1575
+ 1 => '8 Bit',
1576
+ 2 => '10 Bit',
1577
+ #5 => 'Auto', #observed on the Z50 - needs confirmation
1578
+ },
1579
+ },
1580
+ 0x103 => { # (Z7_2)
1581
+ Name => 'HDMIOutputHDR',
1582
+ Condition => '$$self{HDMIBitDepth} == 2', # HDR(HLC) output option only available only for 10 bit
1583
+ RawConv => '$$self{HDMIOutputHDR} = $val',
1584
+ PrintConv => {
1585
+ 2 => 'On', # unusual decode perhaps due to sharing sub-menu with tag HDMIOutputN-Log?
1586
+ 3 => 'Off',
1587
+ },
1588
+ },
1589
+ 0x104 => { # valid for 10 bit with either N-Log or HDR/HLG selected CSg5 (Z7_2)
1590
+ Name => 'HDMIViewAssist',
1591
+ Condition => '$$self{HDMIBitDepth} == 2',
1592
+ PrintConv => \%onOff
1593
+ },
1552
1594
  0x109 => { # (D6,Z7_2)
1553
1595
  Name => 'BracketSet',
1554
1596
  RawConv => '$$self{BracketSet} = $val',
@@ -1640,6 +1682,11 @@ my %infoD6 = (
1640
1682
  8 => 'Off, Low, Normal, High, Extra High',
1641
1683
  },
1642
1684
  },
1685
+ 0x10e => { # (D6/Z7_2)
1686
+ Name => 'MonitorBrightness',
1687
+ # settings: -5 to +5
1688
+ ValueConv => '$val - 6',
1689
+ },
1643
1690
  0x116 => { Name => 'GroupAreaC1', PrintConv =>\%groupAreaCustom }, # CSa10-a (new with D6) # (D6)
1644
1691
  0x117 => { Name => 'AutoAreaAFStartingPoint', PrintConv => \%enableDisable }, # CSa12 (D6)
1645
1692
  0x118 => { Name => 'FocusPointPersistence', PrintConv => { 1 => 'Auto', 2 => 'Off' } }, # CSa13 (new with D6) # (D6)
@@ -1808,7 +1855,7 @@ my %infoD6 = (
1808
1855
  0x13d => { # CSg2-d (D6)
1809
1856
  Name => 'MovieFunc3Button',
1810
1857
  PrintConv => {
1811
- 1 => 'Record Movies',
1858
+ 1 => 'Record Movie',
1812
1859
  2 => 'My Menu',
1813
1860
  3 => 'My Menu Top Item',
1814
1861
  4 => 'None',
@@ -1823,8 +1870,9 @@ my %infoD6 = (
1823
1870
  },
1824
1871
  },
1825
1872
  0x151 => { Name => 'LensFunc2Button', PrintConv => \%lensFuncButtonZ7m2 }, # CSf2-h (Z7_2)
1873
+ #0x153 => { Name => 'ViewfinderBrightness', } #(Z7_2) # commented out to reduce output volume. Range [-5,+5]. PrintConv matches MonitorBrightness.
1826
1874
  0x158 => { Name => 'USBPowerDelivery', PrintConv => \%enableDisable }, # (Z7_2)
1827
- 0x15b => { Name => 'GroupAreaC2', PrintConv =>\%groupAreaCustom }, # CSa10-b (new with D6) # (D6)
1875
+ 0x159 => { Name => 'EnergySavingMode', PrintConv =>\%onOff }, # (Z7_2)
1828
1876
  0x15c => { Name => 'BracketingBurstOptions',PrintConv => \%enableDisable }, # CSe9 (D6)
1829
1877
  # 0x15d => CSf3-j-2 (D6) 'Same as Multi-Selector with Info(U/D) & Playback(R/L)' and 'Same as Multi-Selector with Info(R/L) & Playback(U/D)' (skipped to reduce volume of output)
1830
1878
  0x15e => { Name => 'PrimarySlot', PrintConv => { 1 => 'CFexpress/XQD Card', 2 => 'SD Card' } }, # (Z7_2)
@@ -1876,7 +1924,7 @@ my %infoD6 = (
1876
1924
  Name => 'VerticalMovieFuncButton',
1877
1925
  PrintConv => {
1878
1926
  1 => 'LiveView Info Display On/Off',
1879
- 2 => 'Record Movies',
1927
+ 2 => 'Record Movie',
1880
1928
  3 => 'Exposure Compensation',
1881
1929
  4 => 'ISO',
1882
1930
  5 => 'None',
@@ -1896,14 +1944,16 @@ my %infoD6 = (
1896
1944
  9 => 'Zoom (Low)',
1897
1945
  10 => 'Zoom (1:1)',
1898
1946
  11 => 'Zoom (High)',
1899
- 12 => 'Record Movies',
1947
+ 12 => 'Record Movie',
1900
1948
  13 => 'None',
1901
1949
  },
1902
1950
  },
1951
+ #0x168 => { Name => 'ControlPanelBrightness', # (Z7_2) #commented to reduce output volume
1903
1952
  0x169 => { Name => 'LimitAF-AreaModeSelAutoPeople', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa7-h (Z7_2)
1904
1953
  0x16a => { Name => 'LimitAF-AreaModeSelAutoAnimals', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa7-h (Z7_2)
1905
1954
  0x16b => { Name => 'LimitAF-AreaModeSelWideLPeople', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa7-e (Z7_2)
1906
1955
  0x16c => { Name => 'LimitAF-AreaModeSelWideLAnimals', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa7-f (Z7_2)
1956
+ 0x16d => { Name => 'SaveFocus', PrintConv => \%onOff }, # (Z7_2)
1907
1957
  0x16e => { # (Z7_2)
1908
1958
  Name => 'AFAreaMode',
1909
1959
  RawConv => '$$self{AFAreaMode} = $val',
@@ -1919,6 +1969,19 @@ my %infoD6 = (
1919
1969
  10 => 'Auto (Animals)',
1920
1970
  },
1921
1971
  },
1972
+ 0x16f => { # (Z7_2)
1973
+ Name => 'MovieAFAreaMode',
1974
+ PrintConv => {
1975
+ 1 => 'Single-point',
1976
+ 2 => 'Wide (S)',
1977
+ 3 => 'Wide (L)',
1978
+ 4 => 'Wide (L-people)',
1979
+ 5 => 'Wide (L-animals)',
1980
+ 6 => 'Auto',
1981
+ 7 => 'Auto (People)',
1982
+ 8 => 'Auto (Animals)',
1983
+ },
1984
+ },
1922
1985
  0x170 => { Name => 'PreferSubSelectorCenter', PrintConv => \%offOn }, # CSf13 (D6 firmware v1.2.0)
1923
1986
  0x171 => { # CSb8 (D6 firmware v1.3.0)
1924
1987
  Name => 'KeepExposureWithTeleconverter',
@@ -2012,7 +2075,7 @@ Nikon cameras such as the D6 and Z7mk2.
2012
2075
 
2013
2076
  =head1 AUTHOR
2014
2077
 
2015
- Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
2078
+ Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
2016
2079
 
2017
2080
  This library is free software; you can redistribute it and/or modify it
2018
2081
  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-2021, Phil Harvey (philharvey66 at gmail.com)
110
+ Copyright 2003-2022, 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-2021, Phil Harvey (philharvey66 at gmail.com)
398
+ Copyright 2003-2022, 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-2021, Phil Harvey (philharvey66 at gmail.com)
217
+ Copyright 2003-2022, 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.
@@ -40,7 +40,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
40
40
  use Image::ExifTool::Exif;
41
41
  use Image::ExifTool::APP12;
42
42
 
43
- $VERSION = '2.74';
43
+ $VERSION = '2.75';
44
44
 
45
45
  sub PrintLensInfo($$$);
46
46
 
@@ -3609,6 +3609,10 @@ my %indexInfo = (
3609
3609
  Format => 'string[24]',
3610
3610
  Groups => { 2 => 'Time' },
3611
3611
  },
3612
+ 0x17f => {
3613
+ Name => 'LensModel',
3614
+ Format => 'string[32]'
3615
+ },
3612
3616
  );
3613
3617
 
3614
3618
  # yet a different "thmb" atom format (PH, E-M5)
@@ -4067,7 +4071,7 @@ Olympus or Epson maker notes in EXIF information.
4067
4071
 
4068
4072
  =head1 AUTHOR
4069
4073
 
4070
- Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
4074
+ Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
4071
4075
 
4072
4076
  This library is free software; you can redistribute it and/or modify it
4073
4077
  under the same terms as Perl itself.
@@ -15,7 +15,7 @@ use vars qw($VERSION);
15
15
  use Image::ExifTool qw(:DataAccess :Utils);
16
16
  use Image::ExifTool::GPS;
17
17
 
18
- $VERSION = '1.02';
18
+ $VERSION = '1.03';
19
19
 
20
20
  # supported EXR value format types (other types are extracted as undef binary data)
21
21
  my %formatType = (
@@ -172,12 +172,13 @@ sub ProcessEXR($$)
172
172
  my $ver = unpack('x4V', $buff);
173
173
  $et->HandleTag($tagTablePtr, '_ver', $ver & 0xff);
174
174
  $et->HandleTag($tagTablePtr, '_lay', $ver & 0x200);
175
+ my $maxLen = ($ver & 0x400) ? 255 : 31;
175
176
 
176
177
  # extract attributes
177
178
  for (;;) {
178
179
  $raf->Read($buff, 68) or last;
179
180
  last if $buff =~ /^\0/;
180
- unless ($buff =~ /^([^\0]{1,31})\0([^\0]{1,31})\0(.{4})/sg) {
181
+ unless ($buff =~ /^([^\0]{1,$maxLen})\0([^\0]{1,$maxLen})\0(.{4})/sg) {
181
182
  $et->Warn('EXR format error');
182
183
  last;
183
184
  }
@@ -189,6 +190,7 @@ sub ProcessEXR($$)
189
190
  my $tagInfo = $et->GetTagInfo($tagTablePtr, $tag);
190
191
  unless ($tagInfo) {
191
192
  my $name = ucfirst $tag;
193
+ $name =~ s/([^a-zA-Z])([a-z])/$1\U$2/g; # capitalize first letter of each word
192
194
  $name =~ tr/-_a-zA-Z0-9//dc;
193
195
  if (length $name <= 1) {
194
196
  if (length $name) {
@@ -302,7 +304,7 @@ information from OpenEXR images.
302
304
 
303
305
  =head1 AUTHOR
304
306
 
305
- Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
307
+ Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
306
308
 
307
309
  This library is free software; you can redistribute it and/or modify it
308
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-2021, Phil Harvey (philharvey66 at gmail.com)
72
+ Copyright 2003-2022, 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-2021, Phil Harvey (philharvey66 at gmail.com)
74
+ Copyright 2003-2022, 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-2021, Phil Harvey (philharvey66 at gmail.com)
117
+ Copyright 2003-2022, 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.