exiftool_vendored 12.70.0 → 12.73.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (207) hide show
  1. checksums.yaml +4 -4
  2. data/bin/Changes +53 -1
  3. data/bin/MANIFEST +5 -0
  4. data/bin/META.json +1 -1
  5. data/bin/META.yml +1 -1
  6. data/bin/README +11 -11
  7. data/bin/exiftool +47 -27
  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 +177 -0
  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 -3
  24. data/bin/lib/Image/ExifTool/CBOR.pm +1 -1
  25. data/bin/lib/Image/ExifTool/Canon.pm +22 -7
  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/DV.pm +1 -1
  37. data/bin/lib/Image/ExifTool/DarwinCore.pm +1 -1
  38. data/bin/lib/Image/ExifTool/DjVu.pm +1 -1
  39. data/bin/lib/Image/ExifTool/EXE.pm +1 -1
  40. data/bin/lib/Image/ExifTool/Exif.pm +31 -10
  41. data/bin/lib/Image/ExifTool/FITS.pm +1 -1
  42. data/bin/lib/Image/ExifTool/FLAC.pm +1 -1
  43. data/bin/lib/Image/ExifTool/FLIF.pm +1 -1
  44. data/bin/lib/Image/ExifTool/FLIR.pm +1 -1
  45. data/bin/lib/Image/ExifTool/Fixup.pm +1 -1
  46. data/bin/lib/Image/ExifTool/Flash.pm +1 -1
  47. data/bin/lib/Image/ExifTool/FlashPix.pm +60 -7
  48. data/bin/lib/Image/ExifTool/Font.pm +1 -1
  49. data/bin/lib/Image/ExifTool/FotoStation.pm +1 -1
  50. data/bin/lib/Image/ExifTool/FujiFilm.pm +6 -3
  51. data/bin/lib/Image/ExifTool/GE.pm +1 -1
  52. data/bin/lib/Image/ExifTool/GIF.pm +1 -1
  53. data/bin/lib/Image/ExifTool/GIMP.pm +1 -1
  54. data/bin/lib/Image/ExifTool/GPS.pm +1 -1
  55. data/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
  56. data/bin/lib/Image/ExifTool/Geotag.pm +1 -1
  57. data/bin/lib/Image/ExifTool/GoPro.pm +17 -2
  58. data/bin/lib/Image/ExifTool/H264.pm +1 -1
  59. data/bin/lib/Image/ExifTool/HP.pm +1 -1
  60. data/bin/lib/Image/ExifTool/HTML.pm +1 -1
  61. data/bin/lib/Image/ExifTool/HtmlDump.pm +1 -1
  62. data/bin/lib/Image/ExifTool/ICC_Profile.pm +1 -1
  63. data/bin/lib/Image/ExifTool/ICO.pm +1 -1
  64. data/bin/lib/Image/ExifTool/ID3.pm +8 -5
  65. data/bin/lib/Image/ExifTool/IPTC.pm +1 -1
  66. data/bin/lib/Image/ExifTool/ISO.pm +1 -1
  67. data/bin/lib/Image/ExifTool/ITC.pm +1 -1
  68. data/bin/lib/Image/ExifTool/Import.pm +1 -1
  69. data/bin/lib/Image/ExifTool/InDesign.pm +1 -1
  70. data/bin/lib/Image/ExifTool/InfiRay.pm +1 -1
  71. data/bin/lib/Image/ExifTool/JPEG.pm +5 -2
  72. data/bin/lib/Image/ExifTool/JPEGDigest.pm +1 -1
  73. data/bin/lib/Image/ExifTool/JSON.pm +5 -2
  74. data/bin/lib/Image/ExifTool/JVC.pm +3 -3
  75. data/bin/lib/Image/ExifTool/Jpeg2000.pm +17 -6
  76. data/bin/lib/Image/ExifTool/Kodak.pm +1 -1
  77. data/bin/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
  78. data/bin/lib/Image/ExifTool/LIF.pm +1 -1
  79. data/bin/lib/Image/ExifTool/LNK.pm +1 -1
  80. data/bin/lib/Image/ExifTool/Lang/cs.pm +1 -1
  81. data/bin/lib/Image/ExifTool/Lang/de.pm +1 -1
  82. data/bin/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
  83. data/bin/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
  84. data/bin/lib/Image/ExifTool/Lang/es.pm +4 -4
  85. data/bin/lib/Image/ExifTool/Lang/fi.pm +1 -1
  86. data/bin/lib/Image/ExifTool/Lang/fr.pm +4 -5
  87. data/bin/lib/Image/ExifTool/Lang/it.pm +3 -3
  88. data/bin/lib/Image/ExifTool/Lang/ja.pm +1 -1
  89. data/bin/lib/Image/ExifTool/Lang/ko.pm +1 -1
  90. data/bin/lib/Image/ExifTool/Lang/nl.pm +1 -1
  91. data/bin/lib/Image/ExifTool/Lang/pl.pm +1 -1
  92. data/bin/lib/Image/ExifTool/Lang/ru.pm +1 -1
  93. data/bin/lib/Image/ExifTool/Lang/sk.pm +1 -1
  94. data/bin/lib/Image/ExifTool/Lang/sv.pm +1 -1
  95. data/bin/lib/Image/ExifTool/Lang/tr.pm +1 -1
  96. data/bin/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
  97. data/bin/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
  98. data/bin/lib/Image/ExifTool/Leaf.pm +3 -3
  99. data/bin/lib/Image/ExifTool/Lytro.pm +1 -1
  100. data/bin/lib/Image/ExifTool/M2TS.pm +22 -17
  101. data/bin/lib/Image/ExifTool/MIE.pm +3 -3
  102. data/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
  103. data/bin/lib/Image/ExifTool/MIFF.pm +1 -1
  104. data/bin/lib/Image/ExifTool/MISB.pm +1 -1
  105. data/bin/lib/Image/ExifTool/MNG.pm +1 -1
  106. data/bin/lib/Image/ExifTool/MOI.pm +1 -1
  107. data/bin/lib/Image/ExifTool/MPC.pm +1 -1
  108. data/bin/lib/Image/ExifTool/MPEG.pm +1 -1
  109. data/bin/lib/Image/ExifTool/MPF.pm +1 -1
  110. data/bin/lib/Image/ExifTool/MRC.pm +1 -1
  111. data/bin/lib/Image/ExifTool/MWG.pm +1 -1
  112. data/bin/lib/Image/ExifTool/MXF.pm +1 -1
  113. data/bin/lib/Image/ExifTool/MacOS.pm +1 -1
  114. data/bin/lib/Image/ExifTool/MakerNotes.pm +1 -1
  115. data/bin/lib/Image/ExifTool/Matroska.pm +1 -1
  116. data/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
  117. data/bin/lib/Image/ExifTool/Minolta.pm +1 -1
  118. data/bin/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
  119. data/bin/lib/Image/ExifTool/Motorola.pm +1 -1
  120. data/bin/lib/Image/ExifTool/Nikon.pm +166 -97
  121. data/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
  122. data/bin/lib/Image/ExifTool/NikonCustom.pm +1 -1
  123. data/bin/lib/Image/ExifTool/NikonSettings.pm +1 -1
  124. data/bin/lib/Image/ExifTool/Nintendo.pm +1 -1
  125. data/bin/lib/Image/ExifTool/OOXML.pm +1 -1
  126. data/bin/lib/Image/ExifTool/Ogg.pm +1 -1
  127. data/bin/lib/Image/ExifTool/Olympus.pm +1 -1
  128. data/bin/lib/Image/ExifTool/OpenEXR.pm +1 -1
  129. data/bin/lib/Image/ExifTool/Opus.pm +1 -1
  130. data/bin/lib/Image/ExifTool/Other.pm +1 -1
  131. data/bin/lib/Image/ExifTool/PCX.pm +1 -1
  132. data/bin/lib/Image/ExifTool/PDF.pm +1 -1
  133. data/bin/lib/Image/ExifTool/PGF.pm +1 -1
  134. data/bin/lib/Image/ExifTool/PICT.pm +1 -1
  135. data/bin/lib/Image/ExifTool/PLIST.pm +1 -1
  136. data/bin/lib/Image/ExifTool/PLUS.pm +1 -1
  137. data/bin/lib/Image/ExifTool/PNG.pm +24 -2
  138. data/bin/lib/Image/ExifTool/PPM.pm +1 -1
  139. data/bin/lib/Image/ExifTool/PSP.pm +1 -1
  140. data/bin/lib/Image/ExifTool/Palm.pm +1 -1
  141. data/bin/lib/Image/ExifTool/Panasonic.pm +27 -2
  142. data/bin/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
  143. data/bin/lib/Image/ExifTool/Parrot.pm +1 -1
  144. data/bin/lib/Image/ExifTool/Pentax.pm +46 -16
  145. data/bin/lib/Image/ExifTool/PhaseOne.pm +4 -4
  146. data/bin/lib/Image/ExifTool/PhotoCD.pm +1 -1
  147. data/bin/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
  148. data/bin/lib/Image/ExifTool/Photoshop.pm +1 -1
  149. data/bin/lib/Image/ExifTool/PostScript.pm +1 -1
  150. data/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
  151. data/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
  152. data/bin/lib/Image/ExifTool/QuickTime.pm +50 -11
  153. data/bin/lib/Image/ExifTool/QuickTimeStream.pl +148 -12
  154. data/bin/lib/Image/ExifTool/RIFF.pm +1 -1
  155. data/bin/lib/Image/ExifTool/RSRC.pm +1 -1
  156. data/bin/lib/Image/ExifTool/RTF.pm +1 -1
  157. data/bin/lib/Image/ExifTool/Radiance.pm +1 -1
  158. data/bin/lib/Image/ExifTool/Rawzor.pm +1 -1
  159. data/bin/lib/Image/ExifTool/Real.pm +1 -1
  160. data/bin/lib/Image/ExifTool/Reconyx.pm +1 -1
  161. data/bin/lib/Image/ExifTool/Red.pm +1 -1
  162. data/bin/lib/Image/ExifTool/Ricoh.pm +111 -3
  163. data/bin/lib/Image/ExifTool/Samsung.pm +4 -3
  164. data/bin/lib/Image/ExifTool/Sanyo.pm +1 -1
  165. data/bin/lib/Image/ExifTool/Scalado.pm +1 -1
  166. data/bin/lib/Image/ExifTool/Shift.pl +1 -1
  167. data/bin/lib/Image/ExifTool/Shortcuts.pm +1 -1
  168. data/bin/lib/Image/ExifTool/Sigma.pm +1 -1
  169. data/bin/lib/Image/ExifTool/SigmaRaw.pm +1 -1
  170. data/bin/lib/Image/ExifTool/Sony.pm +85 -6
  171. data/bin/lib/Image/ExifTool/SonyIDC.pm +1 -1
  172. data/bin/lib/Image/ExifTool/Stim.pm +1 -1
  173. data/bin/lib/Image/ExifTool/TagInfoXML.pm +2 -2
  174. data/bin/lib/Image/ExifTool/TagLookup.pm +4878 -4830
  175. data/bin/lib/Image/ExifTool/TagNames.pod +11518 -11379
  176. data/bin/lib/Image/ExifTool/Text.pm +1 -1
  177. data/bin/lib/Image/ExifTool/Theora.pm +1 -1
  178. data/bin/lib/Image/ExifTool/Torrent.pm +1 -1
  179. data/bin/lib/Image/ExifTool/Unknown.pm +1 -1
  180. data/bin/lib/Image/ExifTool/VCard.pm +1 -1
  181. data/bin/lib/Image/ExifTool/Validate.pm +1 -1
  182. data/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
  183. data/bin/lib/Image/ExifTool/WPG.pm +1 -1
  184. data/bin/lib/Image/ExifTool/WTV.pm +1 -1
  185. data/bin/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
  186. data/bin/lib/Image/ExifTool/WriteExif.pl +20 -5
  187. data/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
  188. data/bin/lib/Image/ExifTool/WritePDF.pl +1 -1
  189. data/bin/lib/Image/ExifTool/WritePNG.pl +1 -1
  190. data/bin/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
  191. data/bin/lib/Image/ExifTool/WritePostScript.pl +1 -1
  192. data/bin/lib/Image/ExifTool/WriteQuickTime.pl +4 -1
  193. data/bin/lib/Image/ExifTool/WriteRIFF.pl +1 -1
  194. data/bin/lib/Image/ExifTool/WriteXMP.pl +5 -3
  195. data/bin/lib/Image/ExifTool/Writer.pl +87 -15
  196. data/bin/lib/Image/ExifTool/XISF.pm +1 -1
  197. data/bin/lib/Image/ExifTool/XMP.pm +19 -3
  198. data/bin/lib/Image/ExifTool/XMP2.pl +1 -1
  199. data/bin/lib/Image/ExifTool/XMPStruct.pl +1 -1
  200. data/bin/lib/Image/ExifTool/ZIP.pm +1 -1
  201. data/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
  202. data/bin/lib/Image/ExifTool/iWork.pm +1 -1
  203. data/bin/lib/Image/ExifTool.pm +35 -8
  204. data/bin/lib/Image/ExifTool.pod +29 -16
  205. data/bin/perl-Image-ExifTool.spec +9 -9
  206. data/lib/exiftool_vendored/version.rb +1 -1
  207. metadata +3 -2
@@ -445,7 +445,7 @@ compression ability).
445
445
 
446
446
  =head1 AUTHOR
447
447
 
448
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
448
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
449
449
  Copyright 2002, Leon Bottou and Yann Le Cun
450
450
  Copyright 2001, AT&T
451
451
  Copyright 1999-2001, LizardTech Inc.
@@ -282,7 +282,7 @@ information in BigTIFF images.
282
282
 
283
283
  =head1 AUTHOR
284
284
 
285
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
285
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
286
286
 
287
287
  This library is free software; you can redistribute it and/or modify it
288
288
  under the same terms as Perl itself.
@@ -219,7 +219,8 @@ writable directly, but is written automatically by ExifTool (often when a
219
219
  corresponding L<Composite|Image::ExifTool::TagNames/Composite Tags> or
220
220
  L<Extra|Image::ExifTool::TagNames/Extra Tags> tag is written). A colon
221
221
  (C<:>) indicates a I<Mandatory> tag which may be added automatically when
222
- writing. Normally MakerNotes tags may not be deleted individually, but a
222
+ writing (use the API L<NoMandatory|../ExifTool.html#NoMandatory> option to avoid creating mandatory EXIF
223
+ tags). Normally MakerNotes tags may not be deleted individually, but a
223
224
  caret (C<^>) indicates a I<Deletable> MakerNotes tag.
224
225
 
225
226
  The HTML version of these tables also lists possible B<Values> for
@@ -679,7 +680,7 @@ L<Image::ExifTool::BuildTagLookup|Image::ExifTool::BuildTagLookup>.
679
680
 
680
681
  ~head1 AUTHOR
681
682
 
682
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
683
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
683
684
 
684
685
  This library is free software; you can redistribute it and/or modify it
685
686
  under the same terms as Perl itself.
@@ -2779,7 +2780,7 @@ Returned list of writable pseudo tags.
2779
2780
 
2780
2781
  =head1 AUTHOR
2781
2782
 
2782
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
2783
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
2783
2784
 
2784
2785
  This library is free software; you can redistribute it and/or modify it
2785
2786
  under the same terms as Perl itself.
@@ -321,7 +321,7 @@ specification.
321
321
 
322
322
  =head1 AUTHOR
323
323
 
324
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
324
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
325
325
 
326
326
  This library is free software; you can redistribute it and/or modify it
327
327
  under the same terms as Perl itself.
@@ -88,7 +88,7 @@ sub ProcessCTMD($$$);
88
88
  sub ProcessExifInfo($$$);
89
89
  sub SwapWords($);
90
90
 
91
- $VERSION = '4.71';
91
+ $VERSION = '4.72';
92
92
 
93
93
  # Note: Removed 'USM' from 'L' lenses since it is redundant - PH
94
94
  # (or is it? Ref 32 shows 5 non-USM L-type lenses)
@@ -627,7 +627,8 @@ $VERSION = '4.71';
627
627
  '61182.51' => 'Canon RF 100-300mm F2.8L IS USM + RF2x', #42
628
628
  '61182.52' => 'Canon RF 10-20mm F4 L IS STM', #42
629
629
  '61182.53' => 'Canon RF 28mm F2.8 STM', #42
630
- # we need the RFLensType values for the following...
630
+ '61182.54' => 'Canon RF 24-105mm F2.8 L IS USM Z', #42
631
+ '61182.55' => 'Canon RF-S 10-18mm F4.5-6.3 IS STM', #42
631
632
  65535 => 'n/a',
632
633
  );
633
634
 
@@ -4726,7 +4727,7 @@ my %ciMaxFocal = (
4726
4727
  FIRST_ENTRY => 0,
4727
4728
  PRIORITY => 0,
4728
4729
  GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
4729
- NOTES => 'CameraInfo tags for the EOS R6.',
4730
+ NOTES => 'CameraInfo tags for the PowerShot G5 X Mark II.',
4730
4731
  0x0293 => {
4731
4732
  Name => 'ShutterCount',
4732
4733
  Format => 'int32u',
@@ -6950,8 +6951,13 @@ my %ciMaxFocal = (
6950
6951
  306 => 'Canon RF 100-300mm F2.8L IS USM', #42
6951
6952
  307 => 'Canon RF 100-300mm F2.8L IS USM + RF1.4x', #42
6952
6953
  308 => 'Canon RF 100-300mm F2.8L IS USM + RF2x', #42
6954
+ 309 => 'Canon RF 200-800mm F6.3-9 IS USM', #42
6955
+ 310 => 'Canon RF 200-800mm F6.3-9 IS USM + RF1.4x', #42
6956
+ 311 => 'Canon RF 200-800mm F6.3-9 IS USM + RF2x', #42
6953
6957
  312 => 'Canon RF 10-20mm F4 L IS STM', #42
6954
6958
  313 => 'Canon RF 28mm F2.8 STM', #42
6959
+ 314 => 'Canon RF 24-105mm F2.8 L IS USM Z', #42
6960
+ 315 => 'Canon RF-S 10-18mm F4.5-6.3 IS STM', #42
6955
6961
  # Note: add new RF lenses to %canonLensTypes with ID 61182
6956
6962
  },
6957
6963
  },
@@ -7468,7 +7474,7 @@ my %ciMaxFocal = (
7468
7474
  RawConv => '$$self{ColorDataVersion} = $val',
7469
7475
  PrintConv => {
7470
7476
  2 => '2 (1DmkIII)',
7471
- 3 => '3 (40D)',
7477
+ 3 => '3 (40D)', # (doesn't record SpecularWhiteLevel, ref github#233)
7472
7478
  4 => '4 (1DSmkIII)',
7473
7479
  5 => '5 (450D/1000D)',
7474
7480
  6 => '6 (50D/5DmkII)',
@@ -7778,10 +7784,15 @@ my %ciMaxFocal = (
7778
7784
  SubDirectory => { TagTable => 'Image::ExifTool::Canon::ColorCalib2' }
7779
7785
  },
7780
7786
  0x108=> { #IB
7781
- Name => 'PerChannelBlackLevel',
7787
+ Name => 'PerChannelBlackLevel', # (or perhaps AverageBlackLevel?, ref github#232)
7782
7788
  Condition => '$$self{ColorDataVersion} == -3',
7783
7789
  Format => 'int16s[4]',
7784
7790
  },
7791
+ 0x296 => { #github#232
7792
+ Name => 'SpecularWhiteLevel',
7793
+ Condition => '$$self{ColorDataVersion} == -3',
7794
+ Format => 'int16u',
7795
+ },
7785
7796
  0x14d=> { #IB
7786
7797
  Name => 'PerChannelBlackLevel',
7787
7798
  Condition => '$$self{ColorDataVersion} == -4',
@@ -8696,7 +8707,7 @@ my %ciMaxFocal = (
8696
8707
  },
8697
8708
  );
8698
8709
 
8699
- # Auto Lighting Optimizater information (MakerNotes tag 0x4018) (ref PH)
8710
+ # Auto Lighting Optimizer information (MakerNotes tag 0x4018) (ref PH)
8700
8711
  %Image::ExifTool::Canon::LightingOpt = (
8701
8712
  %binaryDataAttrs,
8702
8713
  FORMAT => 'int32s',
@@ -8748,6 +8759,10 @@ my %ciMaxFocal = (
8748
8759
  2 => 'High',
8749
8760
  },
8750
8761
  },
8762
+ 11 => { #forum15445
8763
+ Name => 'DualPixelRaw',
8764
+ PrintConv => \%offOn,
8765
+ },
8751
8766
  );
8752
8767
 
8753
8768
  # Lens information (MakerNotes tag 0x4019) (ref 20)
@@ -10306,7 +10321,7 @@ Canon maker notes in EXIF information.
10306
10321
 
10307
10322
  =head1 AUTHOR
10308
10323
 
10309
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
10324
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
10310
10325
 
10311
10326
  This library is free software; you can redistribute it and/or modify it
10312
10327
  under the same terms as Perl itself.
@@ -2873,7 +2873,7 @@ Image::ExifTool to read this information.
2873
2873
 
2874
2874
  =head1 AUTHOR
2875
2875
 
2876
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
2876
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
2877
2877
 
2878
2878
  This library is free software; you can redistribute it and/or modify it
2879
2879
  under the same terms as Perl itself.
@@ -888,7 +888,7 @@ tags.)
888
888
 
889
889
  =head1 AUTHOR
890
890
 
891
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
891
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
892
892
 
893
893
  This library is free software; you can redistribute it and/or modify it
894
894
  under the same terms as Perl itself.
@@ -2266,7 +2266,7 @@ files, and as a trailer in JPEG, CRW, CR2 and TIFF images.
2266
2266
 
2267
2267
  =head1 AUTHOR
2268
2268
 
2269
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
2269
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
2270
2270
 
2271
2271
  This library is free software; you can redistribute it and/or modify it
2272
2272
  under the same terms as Perl itself.
@@ -221,7 +221,7 @@ settings files (COS).
221
221
 
222
222
  =head1 AUTHOR
223
223
 
224
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
224
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
225
225
 
226
226
  This library is free software; you can redistribute it and/or modify it
227
227
  under the same terms as Perl itself.
@@ -2034,7 +2034,7 @@ Casio maker notes in EXIF information.
2034
2034
 
2035
2035
  =head1 AUTHOR
2036
2036
 
2037
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
2037
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
2038
2038
 
2039
2039
  This library is free software; you can redistribute it and/or modify it
2040
2040
  under the same terms as Perl itself.
@@ -422,7 +422,7 @@ when decoding certain types of information.
422
422
 
423
423
  =head1 AUTHOR
424
424
 
425
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
425
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
426
426
 
427
427
  This library is free software; you can redistribute it and/or modify it
428
428
  under the same terms as Perl itself.
@@ -3853,7 +3853,7 @@ No translation of special characters sets is done.
3853
3853
 
3854
3854
  =head1 AUTHOR
3855
3855
 
3856
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
3856
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
3857
3857
 
3858
3858
  This library is free software; you can redistribute it and/or modify it
3859
3859
  under the same terms as Perl itself.
@@ -237,7 +237,7 @@ the maker notes in images from some DJI Phantom drones.
237
237
 
238
238
  =head1 AUTHOR
239
239
 
240
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
240
+ Copyright 2003-2024, 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.
@@ -849,7 +849,7 @@ information in DNG (Digital Negative) images.
849
849
 
850
850
  =head1 AUTHOR
851
851
 
852
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
852
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
853
853
 
854
854
  This library is free software; you can redistribute it and/or modify it
855
855
  under the same terms as Perl itself.
@@ -225,7 +225,7 @@ metadata from DPX (Digital Picture Exchange) images.
225
225
 
226
226
  =head1 AUTHOR
227
227
 
228
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
228
+ Copyright 2003-2024, 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.
@@ -291,7 +291,7 @@ information from DV (raw Digital Video) files.
291
291
 
292
292
  =head1 AUTHOR
293
293
 
294
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
294
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
295
295
 
296
296
  This library is free software; you can redistribute it and/or modify it
297
297
  under the same terms as Perl itself.
@@ -372,7 +372,7 @@ This file contains tag definitions for the Darwin Core XMP namespace.
372
372
 
373
373
  =head1 AUTHOR
374
374
 
375
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
375
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
376
376
 
377
377
  This library is free software; you can redistribute it and/or modify it
378
378
  under the same terms as Perl itself.
@@ -353,7 +353,7 @@ Image::ExifTool::AIFF.
353
353
 
354
354
  =head1 AUTHOR
355
355
 
356
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
356
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
357
357
 
358
358
  This library is free software; you can redistribute it and/or modify it
359
359
  under the same terms as Perl itself.
@@ -1454,7 +1454,7 @@ library files.
1454
1454
 
1455
1455
  =head1 AUTHOR
1456
1456
 
1457
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
1457
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
1458
1458
 
1459
1459
  This library is free software; you can redistribute it and/or modify it
1460
1460
  under the same terms as Perl itself.
@@ -57,7 +57,7 @@ use vars qw($VERSION $AUTOLOAD @formatSize @formatName %formatNumber %intFormat
57
57
  use Image::ExifTool qw(:DataAccess :Utils);
58
58
  use Image::ExifTool::MakerNotes;
59
59
 
60
- $VERSION = '4.46';
60
+ $VERSION = '4.48';
61
61
 
62
62
  sub ProcessExif($$$);
63
63
  sub WriteExif($$$);
@@ -1426,12 +1426,12 @@ my %opcodeInfo = (
1426
1426
  Count => 6,
1427
1427
  Priority => 0,
1428
1428
  },
1429
- # 0x220 - int32u: 0 (IFD0, Xaiomi Redmi models)
1430
- # 0x221 - int32u: 0 (IFD0, Xaiomi Redmi models)
1431
- # 0x222 - int32u: 0 (IFD0, Xaiomi Redmi models)
1432
- # 0x223 - int32u: 0 (IFD0, Xaiomi Redmi models)
1433
- # 0x224 - int32u: 0,1 (IFD0, Xaiomi Redmi models)
1434
- # 0x225 - string: "" (IFD0, Xaiomi Redmi models)
1429
+ # 0x220 - int32u: 0 (IFD0, Xiaomi Redmi models)
1430
+ # 0x221 - int32u: 0 (IFD0, Xiaomi Redmi models)
1431
+ # 0x222 - int32u: 0 (IFD0, Xiaomi Redmi models)
1432
+ # 0x223 - int32u: 0 (IFD0, Xiaomi Redmi models)
1433
+ # 0x224 - int32u: 0,1 (IFD0, Xiaomi Redmi models)
1434
+ # 0x225 - string: "" (IFD0, Xiaomi Redmi models)
1435
1435
  0x22f => 'StripRowCounts',
1436
1436
  0x2bc => {
1437
1437
  Name => 'ApplicationNotes', # (writable directory!)
@@ -1445,6 +1445,16 @@ my %opcodeInfo = (
1445
1445
  TagTable => 'Image::ExifTool::XMP::Main',
1446
1446
  },
1447
1447
  },
1448
+ 0x303 => { #https://learn.microsoft.com/en-us/windows/win32/gdiplus/-gdiplus-constant-property-item-descriptions
1449
+ Name => 'RenderingIntent',
1450
+ Format => 'int8u',
1451
+ PrintConv => {
1452
+ 0 => 'Perceptual',
1453
+ 1 => 'Relative Colorimetric',
1454
+ 2 => 'Saturation',
1455
+ 3 => 'Absolute colorimetric',
1456
+ },
1457
+ },
1448
1458
  0x3e7 => 'USPTOMiscellaneous', #20
1449
1459
  0x1000 => { #5
1450
1460
  Name => 'RelatedImageFileFormat',
@@ -2523,8 +2533,18 @@ my %opcodeInfo = (
2523
2533
  Name => 'CameraElevationAngle',
2524
2534
  Writable => 'rational64s',
2525
2535
  },
2526
- # 0x9999 - string: camera settings (ExifIFD, Xiaomi POCO F1)
2527
- # 0x9aaa - int8u[2176]: ? (ExifIFD, Xiaomi POCO F1)
2536
+ 0x9999 => { # (ExifIFD, Xiaomi)
2537
+ Name => 'XiaomiSettings', # (writable directory!)
2538
+ Writable => 'string',
2539
+ Protected => 1,
2540
+ SubDirectory => { TagTable => 'Image::ExifTool::JSON::Main' },
2541
+ },
2542
+ 0x9a00 => {
2543
+ Name => 'XiaomiModel',
2544
+ Writable => 'string',
2545
+ Protected => 1,
2546
+ },
2547
+ # 0x9aaa - int8u[2048/2176]: ? (ExifIFD, Xiaomi POCO F1)
2528
2548
  0x9c9b => {
2529
2549
  Name => 'XPTitle',
2530
2550
  Format => 'undef',
@@ -2976,6 +2996,7 @@ my %opcodeInfo = (
2976
2996
  0xa480 => { Name => 'GDALMetadata', Writable => 'string', WriteGroup => 'IFD0' }, #3
2977
2997
  0xa481 => { Name => 'GDALNoData', Writable => 'string', WriteGroup => 'IFD0' }, #3
2978
2998
  0xa500 => { Name => 'Gamma', Writable => 'rational64u' },
2999
+ # 0xa661 - string: ? (ExifIFD, Xiaomi)
2979
3000
  0xafc0 => 'ExpandSoftware', #JD (Opanda)
2980
3001
  0xafc1 => 'ExpandLens', #JD (Opanda)
2981
3002
  0xafc2 => 'ExpandFilm', #JD (Opanda)
@@ -7043,7 +7064,7 @@ EXIF and TIFF meta information.
7043
7064
 
7044
7065
  =head1 AUTHOR
7045
7066
 
7046
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
7067
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
7047
7068
 
7048
7069
  This library is free software; you can redistribute it and/or modify it
7049
7070
  under the same terms as Perl itself.
@@ -137,7 +137,7 @@ information from FITS (Flexible Image Transport System) images.
137
137
 
138
138
  =head1 AUTHOR
139
139
 
140
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
140
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
141
141
 
142
142
  This library is free software; you can redistribute it and/or modify it
143
143
  under the same terms as Perl itself.
@@ -298,7 +298,7 @@ information from Free Lossless Audio Codec (FLAC) audio files.
298
298
 
299
299
  =head1 AUTHOR
300
300
 
301
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
301
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
302
302
 
303
303
  This library is free software; you can redistribute it and/or modify it
304
304
  under the same terms as Perl itself.
@@ -329,7 +329,7 @@ meta information in FLIF (Free Lossless Image Format) images.
329
329
 
330
330
  =head1 AUTHOR
331
331
 
332
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
332
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
333
333
 
334
334
  This library is free software; you can redistribute it and/or modify it
335
335
  under the same terms as Perl itself.
@@ -1633,7 +1633,7 @@ Systems Inc. thermal image files (FFF, FPF and JPEG format).
1633
1633
 
1634
1634
  =head1 AUTHOR
1635
1635
 
1636
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
1636
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
1637
1637
 
1638
1638
  This library is free software; you can redistribute it and/or modify it
1639
1639
  under the same terms as Perl itself.
@@ -354,7 +354,7 @@ linear list when ApplyFixups() is called.
354
354
 
355
355
  =head1 AUTHOR
356
356
 
357
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
357
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
358
358
 
359
359
  This library is free software; you can redistribute it and/or modify it
360
360
  under the same terms as Perl itself.
@@ -721,7 +721,7 @@ will add AMF3 support.
721
721
 
722
722
  =head1 AUTHOR
723
723
 
724
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
724
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
725
725
 
726
726
  This library is free software; you can redistribute it and/or modify it
727
727
  under the same terms as Perl itself.
@@ -22,7 +22,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
22
22
  use Image::ExifTool::Exif;
23
23
  use Image::ExifTool::ASF; # for GetGUID()
24
24
 
25
- $VERSION = '1.46';
25
+ $VERSION = '1.47';
26
26
 
27
27
  sub ProcessFPX($$);
28
28
  sub ProcessFPXR($$$);
@@ -511,6 +511,31 @@ my %fpxFileType = (
511
511
  corresponding EmbeddedImage from the Contents of a VNT file
512
512
  },
513
513
  },
514
+ _eeJPG => {
515
+ Name => 'EmbeddedImage',
516
+ Notes => q{
517
+ Not a real tag. Extracted from stream content when the ExtractEmbedded
518
+ option is used
519
+ },
520
+ Groups => { 2 => 'Preview' },
521
+ Binary => 1,
522
+ },
523
+ _eePNG => {
524
+ Name => 'EmbeddedPNG',
525
+ Notes => q{
526
+ Not a real tag. Extracted from stream content when the ExtractEmbedded
527
+ option is used
528
+ },
529
+ Groups => { 2 => 'Preview' },
530
+ Binary => 1,
531
+ },
532
+ _eeLink => {
533
+ Name => 'LinkedFileName',
534
+ Notes => q{
535
+ Not a real tag. Extracted from stream content when the ExtractEmbedded
536
+ option is used
537
+ },
538
+ },
514
539
  );
515
540
 
516
541
  # Summary Information properties
@@ -2180,6 +2205,9 @@ sub ProcessFPX($$)
2180
2205
  my ($buff, $out, $oldIndent, $miniStreamBuff);
2181
2206
  my ($tag, %hier, %objIndex, %loadedDifSect);
2182
2207
 
2208
+ # handle FPX format in memory from PNG cpIp chunk
2209
+ $raf or $raf = new File::RandomAccess($$dirInfo{DataPt});
2210
+
2183
2211
  # read header
2184
2212
  return 0 unless $raf->Read($buff,HDR_SIZE) == HDR_SIZE;
2185
2213
  # check signature
@@ -2291,6 +2319,8 @@ sub ProcessFPX($$)
2291
2319
  my $miniStream;
2292
2320
  $endPos = length($dir);
2293
2321
  my $index = 0;
2322
+ my $ee; # name of next tag to extract if unknown
2323
+ $ee = 0 if $et->Options('ExtractEmbedded');
2294
2324
 
2295
2325
  for ($pos=0; $pos<=$endPos-128; $pos+=128, ++$index) {
2296
2326
 
@@ -2310,6 +2340,9 @@ sub ProcessFPX($$)
2310
2340
  $tag = Image::ExifTool::Decode(undef, substr($dir,$pos,$len*2), 'UCS2', 'II', 'Latin');
2311
2341
  $tag =~ s/\0.*//s; # truncate at null (in case length was wrong)
2312
2342
 
2343
+ if ($tag eq '0' and not defined $ee) {
2344
+ $et->WarnOnce('Use the ExtractEmbedded option to extract embedded information', 3);
2345
+ }
2313
2346
  my $sect = Get32u(\$dir, $pos + 0x74); # start sector number
2314
2347
  my $size = Get32u(\$dir, $pos + 0x78); # stream length
2315
2348
 
@@ -2326,6 +2359,9 @@ sub ProcessFPX($$)
2326
2359
  my $tagInfo;
2327
2360
  if ($$tagTablePtr{$tag}) {
2328
2361
  $tagInfo = $et->GetTagInfo($tagTablePtr, $tag);
2362
+ } elsif (defined $ee and $tag eq $ee) {
2363
+ $tagInfo = ''; # won't know the actual tagID untile we read the stream
2364
+ $ee = sprintf('%x', hex($ee)+1); # tag to look for next
2329
2365
  } else {
2330
2366
  # remove instance number or class ID from tag if necessary
2331
2367
  $tagInfo = $et->GetTagInfo($tagTablePtr, $1) if
@@ -2349,7 +2385,7 @@ sub ProcessFPX($$)
2349
2385
  $$sub{Parent} = $index;
2350
2386
  }
2351
2387
 
2352
- next unless $tagInfo or $verbose;
2388
+ next unless defined $tagInfo or $verbose;
2353
2389
 
2354
2390
  # load the data for stream types
2355
2391
  my $extra = '';
@@ -2383,18 +2419,22 @@ sub ProcessFPX($$)
2383
2419
  $extra .= " Left=$lSib" unless $lSib == FREE_SECT;
2384
2420
  $extra .= " Right=$rSib" unless $rSib == FREE_SECT;
2385
2421
  $extra .= " Child=$chld" unless $chld == FREE_SECT;
2422
+ $extra .= " Size=$size" if defined $size;
2423
+ my $name;
2424
+ $name = "Unknown_0x$tag" if not $tagInfo and $tag =~ /^[0-9a-f]{1,3}$/;
2386
2425
  $et->VerboseInfo($tag, $tagInfo,
2387
2426
  Index => $index,
2388
2427
  Value => $buff,
2389
2428
  DataPt => \$buff,
2390
2429
  Extra => $extra,
2391
- Size => $size,
2430
+ # Size => $size, (moved to $extra so we can see the rest of the stream if larger)
2431
+ Name => $name,
2392
2432
  );
2393
2433
  }
2394
- if ($tagInfo and $buff) {
2434
+ if (defined $tagInfo and $buff) {
2395
2435
  my $num = $$et{NUM_FOUND};
2396
- my $subdir = $$tagInfo{SubDirectory};
2397
- if ($subdir) {
2436
+ if ($tagInfo and $$tagInfo{SubDirectory}) {
2437
+ my $subdir = $$tagInfo{SubDirectory};
2398
2438
  my %dirInfo = (
2399
2439
  DataPt => \$buff,
2400
2440
  DirStart => $$subdir{DirStart},
@@ -2422,6 +2462,19 @@ sub ProcessFPX($$)
2422
2462
  }
2423
2463
  }
2424
2464
  delete $$et{DOC_NUM};
2465
+ } elsif (not $tagInfo) {
2466
+ # extract some embedded information from PNG Plus images
2467
+ if ($buff =~ /^(.{19,40})(\xff\xd8\xff\xe0|\x89PNG\r\n\x1a\n)/sg) {
2468
+ my $id = $2 eq "\xff\xd8\xff\xe0" ? '_eeJPG' : '_eePNG';
2469
+ $et->HandleTag($tagTablePtr, $id, substr($buff, length($1)));
2470
+ } elsif ($buff =~ /^\0\x80\0\0\x01\0\0\0\x0e\0/ and length($buff) > 18) {
2471
+ my $len = unpack('x17C', $buff);
2472
+ next if $len + 18 > length($buff);
2473
+ my $filename = $et->Decode(substr($buff,18,$len), 'UTF16', 'II');
2474
+ $et->HandleTag($tagTablePtr, '_eeLink', $filename);
2475
+ } else {
2476
+ next;
2477
+ }
2425
2478
  } else {
2426
2479
  $et->FoundTag($tagInfo, $buff);
2427
2480
  }
@@ -2508,7 +2561,7 @@ JPEG images.
2508
2561
 
2509
2562
  =head1 AUTHOR
2510
2563
 
2511
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
2564
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
2512
2565
 
2513
2566
  This library is free software; you can redistribute it and/or modify it
2514
2567
  under the same terms as Perl itself.
@@ -622,7 +622,7 @@ extracted from these formats.
622
622
 
623
623
  =head1 AUTHOR
624
624
 
625
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
625
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
626
626
 
627
627
  This library is free software; you can redistribute it and/or modify it
628
628
  under the same terms as Perl itself.
@@ -243,7 +243,7 @@ write information from the FotoWare FotoStation trailer.
243
243
 
244
244
  =head1 AUTHOR
245
245
 
246
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
246
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
247
247
 
248
248
  This library is free software; you can redistribute it and/or modify it
249
249
  under the same terms as Perl itself.
@@ -1468,12 +1468,15 @@ my %faceCategories = (
1468
1468
  },
1469
1469
  1 => { Name => 'RawImageNumber', Format => 'int32u' },
1470
1470
  # 3 - seen "0 100", "-300 100" and "300 100" for a sequence of 3 images
1471
- 3 => { Name => 'MRAW_0x0003', Format => 'rational32s', Unknown => 1, Hidden => 1, PrintConv => 'sprintf("%+.2f",$val)' },
1471
+ 3 => { Name => 'ExposureCompensation', Format => 'rational32s', Unknown => 1, Hidden => 1, PrintConv => 'sprintf("%+.2f",$val)' },
1472
1472
  # 4 - (same value as 3 in all my samples)
1473
- 4 => { Name => 'MRAW_0x0004', Format => 'rational32s', Unknown => 1, Hidden => 1, PrintConv => 'sprintf("%+.2f",$val)' },
1473
+ 4 => { Name => 'ExposureCompensation2', Format => 'rational32s', Unknown => 1, Hidden => 1, PrintConv => 'sprintf("%+.2f",$val)' },
1474
1474
  # 5 - seen "10 1600", "10 6800", "10 200", "10 35000" etc
1475
+ 5 => { Name => 'ExposureTime', Format => 'rational64u', PrintConv => 'Image::ExifTool::Exif::PrintExposureTime($val)' },
1475
1476
  # 6 - seen "450 100", "400 100" (all images in RAF have same value)
1477
+ 6 => { Name => 'FNumber', Format => 'rational64u', PrintConv => 'Image::ExifTool::Exif::PrintFNumber($val)' },
1476
1478
  # 7 - seen 200, 125, 250, 2000
1479
+ 7 => 'ISO',
1477
1480
  # 8 - seen 0
1478
1481
  );
1479
1482
 
@@ -1871,7 +1874,7 @@ FujiFilm maker notes in EXIF information, and to read/write FujiFilm RAW
1871
1874
 
1872
1875
  =head1 AUTHOR
1873
1876
 
1874
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
1877
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
1875
1878
 
1876
1879
  This library is free software; you can redistribute it and/or modify it
1877
1880
  under the same terms as Perl itself.
@@ -68,7 +68,7 @@ General Imaging maker notes.
68
68
 
69
69
  =head1 AUTHOR
70
70
 
71
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
71
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
72
72
 
73
73
  This library is free software; you can redistribute it and/or modify it
74
74
  under the same terms as Perl itself.
@@ -545,7 +545,7 @@ write GIF meta information.
545
545
 
546
546
  =head1 AUTHOR
547
547
 
548
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
548
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
549
549
 
550
550
  This library is free software; you can redistribute it and/or modify it
551
551
  under the same terms as Perl itself.