exiftool_vendored 12.52.0 → 12.54.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (202) hide show
  1. checksums.yaml +4 -4
  2. data/bin/Changes +30 -1
  3. data/bin/META.json +1 -1
  4. data/bin/META.yml +1 -1
  5. data/bin/README +3 -3
  6. data/bin/exiftool +9 -7
  7. data/bin/lib/File/RandomAccess.pm +1 -1
  8. data/bin/lib/File/RandomAccess.pod +2 -2
  9. data/bin/lib/Image/ExifTool/AES.pm +1 -1
  10. data/bin/lib/Image/ExifTool/AFCP.pm +1 -1
  11. data/bin/lib/Image/ExifTool/AIFF.pm +1 -1
  12. data/bin/lib/Image/ExifTool/APE.pm +1 -1
  13. data/bin/lib/Image/ExifTool/APP12.pm +1 -1
  14. data/bin/lib/Image/ExifTool/ASF.pm +1 -1
  15. data/bin/lib/Image/ExifTool/Apple.pm +197 -27
  16. data/bin/lib/Image/ExifTool/Audible.pm +1 -1
  17. data/bin/lib/Image/ExifTool/BMP.pm +1 -1
  18. data/bin/lib/Image/ExifTool/BPG.pm +1 -1
  19. data/bin/lib/Image/ExifTool/BZZ.pm +1 -1
  20. data/bin/lib/Image/ExifTool/BigTIFF.pm +1 -1
  21. data/bin/lib/Image/ExifTool/BuildTagLookup.pm +3 -3
  22. data/bin/lib/Image/ExifTool/CBOR.pm +1 -1
  23. data/bin/lib/Image/ExifTool/Canon.pm +14 -2
  24. data/bin/lib/Image/ExifTool/CanonCustom.pm +1 -1
  25. data/bin/lib/Image/ExifTool/CanonRaw.pm +1 -1
  26. data/bin/lib/Image/ExifTool/CanonVRD.pm +9 -9
  27. data/bin/lib/Image/ExifTool/CaptureOne.pm +1 -1
  28. data/bin/lib/Image/ExifTool/Casio.pm +1 -1
  29. data/bin/lib/Image/ExifTool/Charset.pm +1 -1
  30. data/bin/lib/Image/ExifTool/DICOM.pm +1 -1
  31. data/bin/lib/Image/ExifTool/DJI.pm +1 -1
  32. data/bin/lib/Image/ExifTool/DNG.pm +1 -1
  33. data/bin/lib/Image/ExifTool/DPX.pm +1 -1
  34. data/bin/lib/Image/ExifTool/DV.pm +1 -1
  35. data/bin/lib/Image/ExifTool/DarwinCore.pm +1 -1
  36. data/bin/lib/Image/ExifTool/DjVu.pm +1 -1
  37. data/bin/lib/Image/ExifTool/EXE.pm +1 -1
  38. data/bin/lib/Image/ExifTool/Exif.pm +5 -16
  39. data/bin/lib/Image/ExifTool/FITS.pm +1 -1
  40. data/bin/lib/Image/ExifTool/FLAC.pm +1 -1
  41. data/bin/lib/Image/ExifTool/FLIF.pm +1 -1
  42. data/bin/lib/Image/ExifTool/FLIR.pm +1 -1
  43. data/bin/lib/Image/ExifTool/Fixup.pm +1 -1
  44. data/bin/lib/Image/ExifTool/Flash.pm +1 -1
  45. data/bin/lib/Image/ExifTool/FlashPix.pm +1 -1
  46. data/bin/lib/Image/ExifTool/Font.pm +1 -1
  47. data/bin/lib/Image/ExifTool/FotoStation.pm +1 -1
  48. data/bin/lib/Image/ExifTool/FujiFilm.pm +20 -13
  49. data/bin/lib/Image/ExifTool/GE.pm +1 -1
  50. data/bin/lib/Image/ExifTool/GIF.pm +1 -1
  51. data/bin/lib/Image/ExifTool/GIMP.pm +1 -1
  52. data/bin/lib/Image/ExifTool/GPS.pm +1 -1
  53. data/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
  54. data/bin/lib/Image/ExifTool/Geotag.pm +1 -1
  55. data/bin/lib/Image/ExifTool/GoPro.pm +1 -1
  56. data/bin/lib/Image/ExifTool/H264.pm +1 -1
  57. data/bin/lib/Image/ExifTool/HP.pm +1 -1
  58. data/bin/lib/Image/ExifTool/HTML.pm +1 -1
  59. data/bin/lib/Image/ExifTool/HtmlDump.pm +1 -1
  60. data/bin/lib/Image/ExifTool/ICC_Profile.pm +1 -1
  61. data/bin/lib/Image/ExifTool/ICO.pm +1 -1
  62. data/bin/lib/Image/ExifTool/ID3.pm +1 -1
  63. data/bin/lib/Image/ExifTool/IPTC.pm +1 -1
  64. data/bin/lib/Image/ExifTool/ISO.pm +1 -1
  65. data/bin/lib/Image/ExifTool/ITC.pm +1 -1
  66. data/bin/lib/Image/ExifTool/Import.pm +1 -1
  67. data/bin/lib/Image/ExifTool/InDesign.pm +1 -1
  68. data/bin/lib/Image/ExifTool/JPEG.pm +1 -1
  69. data/bin/lib/Image/ExifTool/JPEGDigest.pm +1 -1
  70. data/bin/lib/Image/ExifTool/JSON.pm +1 -1
  71. data/bin/lib/Image/ExifTool/JVC.pm +1 -1
  72. data/bin/lib/Image/ExifTool/Jpeg2000.pm +11 -5
  73. data/bin/lib/Image/ExifTool/Kodak.pm +1 -1
  74. data/bin/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
  75. data/bin/lib/Image/ExifTool/LIF.pm +1 -1
  76. data/bin/lib/Image/ExifTool/LNK.pm +1 -1
  77. data/bin/lib/Image/ExifTool/Lang/cs.pm +1 -1
  78. data/bin/lib/Image/ExifTool/Lang/de.pm +1 -1
  79. data/bin/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
  80. data/bin/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
  81. data/bin/lib/Image/ExifTool/Lang/es.pm +1 -1
  82. data/bin/lib/Image/ExifTool/Lang/fi.pm +1 -1
  83. data/bin/lib/Image/ExifTool/Lang/fr.pm +1 -1
  84. data/bin/lib/Image/ExifTool/Lang/it.pm +1 -1
  85. data/bin/lib/Image/ExifTool/Lang/ja.pm +1 -1
  86. data/bin/lib/Image/ExifTool/Lang/ko.pm +1 -1
  87. data/bin/lib/Image/ExifTool/Lang/nl.pm +1 -1
  88. data/bin/lib/Image/ExifTool/Lang/pl.pm +1 -1
  89. data/bin/lib/Image/ExifTool/Lang/ru.pm +1 -1
  90. data/bin/lib/Image/ExifTool/Lang/sk.pm +1806 -1927
  91. data/bin/lib/Image/ExifTool/Lang/sv.pm +1 -1
  92. data/bin/lib/Image/ExifTool/Lang/tr.pm +1 -1
  93. data/bin/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
  94. data/bin/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
  95. data/bin/lib/Image/ExifTool/Leaf.pm +1 -1
  96. data/bin/lib/Image/ExifTool/Lytro.pm +1 -1
  97. data/bin/lib/Image/ExifTool/M2TS.pm +1 -1
  98. data/bin/lib/Image/ExifTool/MIE.pm +1 -1
  99. data/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
  100. data/bin/lib/Image/ExifTool/MIFF.pm +1 -1
  101. data/bin/lib/Image/ExifTool/MISB.pm +1 -1
  102. data/bin/lib/Image/ExifTool/MNG.pm +1 -1
  103. data/bin/lib/Image/ExifTool/MOI.pm +1 -1
  104. data/bin/lib/Image/ExifTool/MPC.pm +1 -1
  105. data/bin/lib/Image/ExifTool/MPEG.pm +1 -1
  106. data/bin/lib/Image/ExifTool/MPF.pm +1 -1
  107. data/bin/lib/Image/ExifTool/MRC.pm +1 -1
  108. data/bin/lib/Image/ExifTool/MWG.pm +1 -1
  109. data/bin/lib/Image/ExifTool/MXF.pm +1 -1
  110. data/bin/lib/Image/ExifTool/MacOS.pm +1 -1
  111. data/bin/lib/Image/ExifTool/MakerNotes.pm +1 -1
  112. data/bin/lib/Image/ExifTool/Matroska.pm +1 -1
  113. data/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
  114. data/bin/lib/Image/ExifTool/Minolta.pm +1 -1
  115. data/bin/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
  116. data/bin/lib/Image/ExifTool/Motorola.pm +1 -1
  117. data/bin/lib/Image/ExifTool/Nikon.pm +190 -6
  118. data/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
  119. data/bin/lib/Image/ExifTool/NikonCustom.pm +1 -1
  120. data/bin/lib/Image/ExifTool/NikonSettings.pm +1 -1
  121. data/bin/lib/Image/ExifTool/Nintendo.pm +1 -1
  122. data/bin/lib/Image/ExifTool/OOXML.pm +1 -1
  123. data/bin/lib/Image/ExifTool/Ogg.pm +1 -1
  124. data/bin/lib/Image/ExifTool/Olympus.pm +1 -1
  125. data/bin/lib/Image/ExifTool/OpenEXR.pm +1 -1
  126. data/bin/lib/Image/ExifTool/Opus.pm +1 -1
  127. data/bin/lib/Image/ExifTool/Other.pm +1 -1
  128. data/bin/lib/Image/ExifTool/PCX.pm +1 -1
  129. data/bin/lib/Image/ExifTool/PDF.pm +1 -1
  130. data/bin/lib/Image/ExifTool/PGF.pm +1 -1
  131. data/bin/lib/Image/ExifTool/PICT.pm +1 -1
  132. data/bin/lib/Image/ExifTool/PLIST.pm +12 -7
  133. data/bin/lib/Image/ExifTool/PLUS.pm +1 -1
  134. data/bin/lib/Image/ExifTool/PNG.pm +1 -1
  135. data/bin/lib/Image/ExifTool/PPM.pm +1 -1
  136. data/bin/lib/Image/ExifTool/PSP.pm +1 -1
  137. data/bin/lib/Image/ExifTool/Palm.pm +1 -1
  138. data/bin/lib/Image/ExifTool/Panasonic.pm +1 -1
  139. data/bin/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
  140. data/bin/lib/Image/ExifTool/Parrot.pm +1 -1
  141. data/bin/lib/Image/ExifTool/Pentax.pm +1 -1
  142. data/bin/lib/Image/ExifTool/PhaseOne.pm +1 -1
  143. data/bin/lib/Image/ExifTool/PhotoCD.pm +1 -1
  144. data/bin/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
  145. data/bin/lib/Image/ExifTool/Photoshop.pm +1 -1
  146. data/bin/lib/Image/ExifTool/PostScript.pm +1 -1
  147. data/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
  148. data/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
  149. data/bin/lib/Image/ExifTool/QuickTime.pm +5 -4
  150. data/bin/lib/Image/ExifTool/QuickTimeStream.pl +19 -4
  151. data/bin/lib/Image/ExifTool/RIFF.pm +1 -1
  152. data/bin/lib/Image/ExifTool/RSRC.pm +1 -1
  153. data/bin/lib/Image/ExifTool/RTF.pm +1 -1
  154. data/bin/lib/Image/ExifTool/Radiance.pm +1 -1
  155. data/bin/lib/Image/ExifTool/Rawzor.pm +1 -1
  156. data/bin/lib/Image/ExifTool/Real.pm +1 -1
  157. data/bin/lib/Image/ExifTool/Reconyx.pm +1 -1
  158. data/bin/lib/Image/ExifTool/Red.pm +1 -1
  159. data/bin/lib/Image/ExifTool/Ricoh.pm +1 -1
  160. data/bin/lib/Image/ExifTool/Samsung.pm +3 -1
  161. data/bin/lib/Image/ExifTool/Sanyo.pm +1 -1
  162. data/bin/lib/Image/ExifTool/Scalado.pm +1 -1
  163. data/bin/lib/Image/ExifTool/Shift.pl +1 -1
  164. data/bin/lib/Image/ExifTool/Shortcuts.pm +1 -1
  165. data/bin/lib/Image/ExifTool/Sigma.pm +1 -1
  166. data/bin/lib/Image/ExifTool/SigmaRaw.pm +1 -1
  167. data/bin/lib/Image/ExifTool/Sony.pm +3 -3
  168. data/bin/lib/Image/ExifTool/SonyIDC.pm +1 -1
  169. data/bin/lib/Image/ExifTool/Stim.pm +1 -1
  170. data/bin/lib/Image/ExifTool/TagInfoXML.pm +2 -2
  171. data/bin/lib/Image/ExifTool/TagLookup.pm +1010 -968
  172. data/bin/lib/Image/ExifTool/TagNames.pod +87 -3
  173. data/bin/lib/Image/ExifTool/Text.pm +1 -1
  174. data/bin/lib/Image/ExifTool/Theora.pm +1 -1
  175. data/bin/lib/Image/ExifTool/Torrent.pm +1 -1
  176. data/bin/lib/Image/ExifTool/Unknown.pm +1 -1
  177. data/bin/lib/Image/ExifTool/VCard.pm +1 -1
  178. data/bin/lib/Image/ExifTool/Validate.pm +1 -1
  179. data/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
  180. data/bin/lib/Image/ExifTool/WTV.pm +1 -1
  181. data/bin/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
  182. data/bin/lib/Image/ExifTool/WriteExif.pl +14 -1
  183. data/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
  184. data/bin/lib/Image/ExifTool/WritePDF.pl +5 -1
  185. data/bin/lib/Image/ExifTool/WritePNG.pl +1 -1
  186. data/bin/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
  187. data/bin/lib/Image/ExifTool/WritePostScript.pl +1 -1
  188. data/bin/lib/Image/ExifTool/WriteQuickTime.pl +18 -7
  189. data/bin/lib/Image/ExifTool/WriteRIFF.pl +1 -1
  190. data/bin/lib/Image/ExifTool/WriteXMP.pl +1 -1
  191. data/bin/lib/Image/ExifTool/Writer.pl +2 -2
  192. data/bin/lib/Image/ExifTool/XMP.pm +23 -3
  193. data/bin/lib/Image/ExifTool/XMP2.pl +20 -1
  194. data/bin/lib/Image/ExifTool/XMPStruct.pl +1 -1
  195. data/bin/lib/Image/ExifTool/ZIP.pm +1 -1
  196. data/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
  197. data/bin/lib/Image/ExifTool/iWork.pm +1 -1
  198. data/bin/lib/Image/ExifTool.pm +3 -2
  199. data/bin/lib/Image/ExifTool.pod +39 -38
  200. data/bin/perl-Image-ExifTool.spec +1 -1
  201. data/lib/exiftool_vendored/version.rb +1 -1
  202. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ba4ecb59460ff7222300e603360d0911cc1570510f754c02fe047d2f15792457
4
- data.tar.gz: 5009d51c03eb7d9827e3fd0838f6303d3359320cc8ea92dbbb3418887e91a9c9
3
+ metadata.gz: 556931dee6ac163b8e4b8249baaba174050a2069510b368c6d8669f6f60dd60e
4
+ data.tar.gz: e057290ad28b94817a7cef2f6379a9a8cf23fddcbc60b04129dc02858983cc82
5
5
  SHA512:
6
- metadata.gz: f10977406b7799830c8d2e4292ed43bac78595b03deb80345486b22a8c87e1ce1d693c59839e7bb6000c271479756a9c3cea23a84501fdbaa19a97540eb6e709
7
- data.tar.gz: df67d3fe0ec4b6a79354eb880c601eab994b578e439b05770a714bfd32642860e72706bb1a1bc430eb77e4ba4be17d7eabc02e4bdebcda97183a23dfbebd2b5b
6
+ metadata.gz: e6d7aae1216168a7f041da0e14b274808ba4866dcfee8f36106428b994d8fb87bdd4d6025da7f0c692704d8a097a2287368cd7ff0be4078d43f0e6614605af0a
7
+ data.tar.gz: 402e27906748e39a5246a1edf5dba1b42584bdd80519ea3db1aa69eb73b77980d9ab2d8fb8efd400eb13736c1c60d9213d2fe5a736da48e54ff26609ba5ee8df
data/bin/Changes CHANGED
@@ -7,6 +7,35 @@ RSS feed: https://exiftool.org/rss.xml
7
7
  Note: The most recent production release is Version 12.50. (Other versions are
8
8
  considered development releases, and are not uploaded to MetaCPAN.)
9
9
 
10
+ Jan. 6, 2023 - Version 12.54
11
+
12
+ - Increased precision of Sony FocusDistance2 conversion
13
+ - Decode a number of new Apple tags (thanks Frank Rupprecht)
14
+ - Fixed bug writing QuickTime-format files which have a zero-sized mdat (ie.
15
+ media data extends to end of file) which would cause an incorrect mdat size
16
+ to be written
17
+
18
+ Jan. 4, 2023 - Version 12.53
19
+
20
+ - Added support for a number of new XMP tags written by ACR 15.1
21
+ - Added a new Nikon LensID
22
+ - Decode timed GPS from Lamax S9 dual dashcam MOV videos
23
+ - Decode a number of new Nikon tags (thanks Warren Hatch)
24
+ - Decode a couple of new Canon tags (thanks John Moyer)
25
+ - Decode FujiFilm BWMagentaGreen tag
26
+ - Enable block-write of EXIF to JXL files
27
+ - Accept values of "now" and "Z" when writing EXIF OffsetTime tags
28
+ - Changed priority of XMP when reading/writing HEIC files so that it is no
29
+ longer preferred as with other QuickTime-based formats
30
+ - Changed family 1 group name of Canon DR4 tags from CanonVRD to CanonDR4 to
31
+ allow newer tags to be differentiated from older ones. The family 0 group
32
+ name for both remains CanonVRD
33
+ - Patched to recognize JXL EXIF box with non-zero header length
34
+ - Patched to avoid runtime error when writing a PDF with an Info dictionary
35
+ which was stored incorrectly as a direct object
36
+ - Fixed problem writing EXIF to JXL images where a new EXIF box was created
37
+ even if one previously existed
38
+
10
39
  Dec. 6, 2022 - Version 12.52
11
40
 
12
41
  - Added a few new Nikon LensID's (thanks LibRaw and Chris)
@@ -258,7 +287,7 @@ Apr. 7, 2022 - Version 12.41
258
287
  - Enhanced -v0 option to also print new file name when renaming, moving or
259
288
  copying a file
260
289
  - Updated xmp2exif.args and exif2xmp.args helper files to reflect the IPTC
261
- Photometadata Mapping Guidelines version 2202.1
290
+ Photometadata Mapping Guidelines version 2022.1
262
291
  - Made "Invalid Xxx data" a minor warning for MakerNote data
263
292
  - Patched to allow writing of MP4 videos which have other tracks with a
264
293
  missing sample description entry
data/bin/META.json CHANGED
@@ -47,5 +47,5 @@
47
47
  }
48
48
  },
49
49
  "release_status" : "stable",
50
- "version" : "12.52"
50
+ "version" : "12.54"
51
51
  }
data/bin/META.yml CHANGED
@@ -28,4 +28,4 @@ recommends:
28
28
  Time::HiRes: 0
29
29
  requires:
30
30
  perl: 5.004
31
- version: 12.52
31
+ version: 12.54
data/bin/README CHANGED
@@ -107,8 +107,8 @@ your home directory, then you would type the following commands in a
107
107
  terminal window to extract and run ExifTool:
108
108
 
109
109
  cd ~/Desktop
110
- gzip -dc Image-ExifTool-12.52.tar.gz | tar -xf -
111
- cd Image-ExifTool-12.52
110
+ gzip -dc Image-ExifTool-12.54.tar.gz | tar -xf -
111
+ cd Image-ExifTool-12.54
112
112
  ./exiftool t/images/ExifTool.jpg
113
113
 
114
114
  Note: These commands extract meta information from one of the test images.
@@ -162,7 +162,7 @@ for calculating digest values and providing other features listed below:
162
162
 
163
163
  COPYRIGHT AND LICENSE
164
164
 
165
- Copyright 2003-2022, Phil Harvey
165
+ Copyright 2003-2023, Phil Harvey
166
166
 
167
167
  This is free software; you can redistribute it and/or modify it under the
168
168
  same terms as Perl itself.
data/bin/exiftool CHANGED
@@ -11,7 +11,7 @@ use strict;
11
11
  use warnings;
12
12
  require 5.004;
13
13
 
14
- my $version = '12.52';
14
+ my $version = '12.54';
15
15
 
16
16
  # add our 'lib' directory to the include list BEFORE 'use Image::ExifTool'
17
17
  BEGIN {
@@ -4772,7 +4772,7 @@ For example, C<--xmp-crs:all> may speed processing significantly in cases
4772
4772
  where a large number of XMP-crs tags exist. To use this feature to bypass
4773
4773
  processing of a specific XMP property, the property name must be used
4774
4774
  instead of the ExifTool tag name (eg. C<--xmp-crs:dabs>). Also, C<XMP-all>
4775
- may be used to to indicate any XMP namespace (eg. <C--xmp-all:dabs>).
4775
+ may be used to to indicate any XMP namespace (eg. C<--xmp-all:dabs>).
4776
4776
 
4777
4777
  =item B<->I<TAG>[+-^]B<=>[I<VALUE>]
4778
4778
 
@@ -5334,9 +5334,11 @@ specific target file. An object with a missing SourceFile or a SourceFile
5334
5334
  of "*" defines default tags for all target files which are combined with any
5335
5335
  tags specified for the specific SourceFile processed. The imported JSON
5336
5336
  file must have the same format as the exported JSON files with the exception
5337
- that the B<-g> option is not compatible with the import file format (use
5338
- B<-G> instead). Additionally, tag names in the input JSON file may be
5339
- suffixed with a C<#> to disable print conversion.
5337
+ that options exporting JSON objects instead of simple values are not
5338
+ compatible with the import file format (ie. export with B<-D>, B<-H>, B<-l>,
5339
+ or B<-T> is not compatable, and use B<-G> instead of B<-g>). Additionally,
5340
+ tag names in the input JSON file may be suffixed with a C<#> to disable
5341
+ print conversion.
5340
5342
 
5341
5343
  Unlike CSV import, empty values are not ignored, and will cause an empty
5342
5344
  value to be written if supported by the specific metadata type. Tags are
@@ -5475,7 +5477,7 @@ with this command:
5475
5477
 
5476
5478
  produces output like this:
5477
5479
 
5478
- -- Generated by ExifTool 12.52 --
5480
+ -- Generated by ExifTool 12.54 --
5479
5481
  File: a.jpg - 2003:10:31 15:44:19
5480
5482
  (f/5.6, 1/60s, ISO 100)
5481
5483
  File: b.jpg - 2006:05:23 11:57:38
@@ -7301,7 +7303,7 @@ the commands if B<-execute> was used).
7301
7303
 
7302
7304
  =head1 AUTHOR
7303
7305
 
7304
- Copyright 2003-2022, Phil Harvey
7306
+ Copyright 2003-2023, Phil Harvey
7305
7307
 
7306
7308
  This is free software; you can redistribute it and/or modify it under the
7307
7309
  same terms as Perl itself.
@@ -25,7 +25,7 @@
25
25
  #
26
26
  # May also be used for string i/o (just pass a scalar reference)
27
27
  #
28
- # Legal: Copyright (c) 2003-2022 Phil Harvey (philharvey66 at gmail.com)
28
+ # Legal: Copyright (c) 2003-2023 Phil Harvey (philharvey66 at gmail.com)
29
29
  # This library is free software; you can redistribute it and/or
30
30
  # modify it under the same terms as Perl itself.
31
31
  #------------------------------------------------------------------------------
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # Description: Buffer to support random access reading of sequential file
5
5
  #
6
- # Legal: Copyright (c) 2003-2022 Phil Harvey (philharvey66 at gmail.com)
6
+ # Legal: Copyright (c) 2003-2023 Phil Harvey (philharvey66 at gmail.com)
7
7
  # This library is free software; you can redistribute it and/or
8
8
  # modify it under the same terms as Perl itself.
9
9
  #------------------------------------------------------------------------------
@@ -236,7 +236,7 @@ the end of file is not allowed.
236
236
 
237
237
  =head1 AUTHOR
238
238
 
239
- Copyright 2003-2022 Phil Harvey (philharvey66 at gmail.com)
239
+ Copyright 2003-2023 Phil Harvey (philharvey66 at gmail.com)
240
240
 
241
241
  This library is free software; you can redistribute it and/or modify it
242
242
  under the same terms as Perl itself.
@@ -477,7 +477,7 @@ main purpose of encryption, so this really can't be considered a bug.
477
477
 
478
478
  =head1 AUTHOR
479
479
 
480
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
480
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
481
481
 
482
482
  This library is free software; you can redistribute it and/or modify it
483
483
  under the same terms as Perl itself.
@@ -259,7 +259,7 @@ scanning for AFCP information.
259
259
 
260
260
  =head1 AUTHOR
261
261
 
262
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
262
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
263
263
 
264
264
  This library is free software; you can redistribute it and/or modify it
265
265
  under the same terms as Perl itself.
@@ -287,7 +287,7 @@ information from AIFF (Audio Interchange File Format) audio files.
287
287
 
288
288
  =head1 AUTHOR
289
289
 
290
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
290
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
291
291
 
292
292
  This library is free software; you can redistribute it and/or modify it
293
293
  under the same terms as Perl itself.
@@ -263,7 +263,7 @@ Currently doesn't parse MAC header unless it is at the start of the file.
263
263
 
264
264
  =head1 AUTHOR
265
265
 
266
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
266
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
267
267
 
268
268
  This library is free software; you can redistribute it and/or modify it
269
269
  under the same terms as Perl itself.
@@ -305,7 +305,7 @@ APP12 meta information.
305
305
 
306
306
  =head1 AUTHOR
307
307
 
308
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
308
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
309
309
 
310
310
  This library is free software; you can redistribute it and/or modify it
311
311
  under the same terms as Perl itself.
@@ -876,7 +876,7 @@ Windows Media Audio (WMA) and Windows Media Video (WMV) files.
876
876
 
877
877
  =head1 AUTHOR
878
878
 
879
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
879
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
880
880
 
881
881
  This library is free software; you can redistribute it and/or modify it
882
882
  under the same terms as Perl itself.
@@ -6,6 +6,7 @@
6
6
  # Revisions: 2013-09-13 - P. Harvey Created
7
7
  #
8
8
  # References: 1) http://www.photoinvestigator.co/blog/the-mystery-of-maker-apple-metadata/
9
+ # 2) Frank Rupprecht private communication
9
10
  #------------------------------------------------------------------------------
10
11
 
11
12
  package Image::ExifTool::Apple;
@@ -15,7 +16,9 @@ use vars qw($VERSION);
15
16
  use Image::ExifTool::Exif;
16
17
  use Image::ExifTool::PLIST;
17
18
 
18
- $VERSION = '1.07';
19
+ $VERSION = '1.08';
20
+
21
+ sub ConvertPLIST($$);
19
22
 
20
23
  # Apple iPhone metadata (ref PH)
21
24
  %Image::ExifTool::Apple::Main = (
@@ -24,17 +27,39 @@ $VERSION = '1.07';
24
27
  WRITABLE => 1,
25
28
  GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
26
29
  NOTES => 'Tags extracted from the maker notes of iPhone images.',
27
- # 0x0001 - int32s: seen 0,1,2,3,4,9
28
- # 0x0002 - binary plist with a single data object of size 512 bytes (iPhone5s)
29
- 0x0003 => {
30
+ 0x0001 => { # (Version, ref 2)
31
+ Name => 'MakerNoteVersion',
32
+ Writable => 'int32s',
33
+ },
34
+ 0x0002 => { #2
35
+ Name => 'AEMatrix',
36
+ Unknown => 1,
37
+ # (not currently writable)
38
+ ValueConv => \&ConvertPLIST,
39
+ },
40
+ 0x0003 => { # (Timestamp, ref 2)
30
41
  Name => 'RunTime', # (includes time plugged in, but not when suspended, ref 1)
31
42
  SubDirectory => { TagTable => 'Image::ExifTool::Apple::RunTime' },
32
43
  },
33
- # 0x0004 - int32s: normally 1, but 0 for low-light images
34
- # 0x0005 - int32s: seen values 113-247, and 100 for blank images
35
- # 0x0006 - int32s: seen values 27-258, and 20 for blank images
36
- # 0x0007 - int32s: seen 1
37
- 0x0008 => { #1
44
+ 0x0004 => { #2
45
+ Name => 'AEStable',
46
+ Writable => 'int32s',
47
+ PrintConv => { 0 => 'No', 1 => 'Yes' },
48
+ },
49
+ 0x0005 => { #2
50
+ Name => 'AETarget',
51
+ Writable => 'int32s',
52
+ },
53
+ 0x0006 => { #2
54
+ Name => 'AEAverage',
55
+ Writable => 'int32s',
56
+ },
57
+ 0x0007 => { #2
58
+ Name => 'AFStable',
59
+ Writable => 'int32s',
60
+ PrintConv => { 0 => 'No', 1 => 'Yes' },
61
+ },
62
+ 0x0008 => { #1 (FocusAccelerometerVector, ref 2)
38
63
  Name => 'AccelerationVector',
39
64
  Groups => { 2 => 'Camera' },
40
65
  Writable => 'rational64s',
@@ -51,8 +76,8 @@ $VERSION = '1.07';
51
76
  toward the bottom, and positive Z points into the face of the phone
52
77
  },
53
78
  },
54
- # 0x0009 - int32s: seen 19,275,531,4371
55
- 0x000a => {
79
+ # 0x0009 - int32s: seen 19,275,531,4371 (SISMethod, ref 2)
80
+ 0x000a => { # (HDRMethod, ref 2)
56
81
  Name => 'HDRImageType',
57
82
  Writable => 'int32s',
58
83
  PrintConv => {
@@ -61,12 +86,12 @@ $VERSION = '1.07';
61
86
  4 => 'Original Image',
62
87
  },
63
88
  },
64
- 0x000b => {
89
+ 0x000b => { # (BurstUUID, ref 2)
65
90
  Name => 'BurstUUID',
66
91
  Writable => 'string',
67
92
  Notes => 'unique ID for all images in a burst',
68
93
  },
69
- 0x000c => { # ref forum13710 (Neal Krawetz)
94
+ 0x000c => { # ref forum13710 (Neal Krawetz) (SphereHealthTrackingError, ref 2)
70
95
  Name => 'FocusDistanceRange',
71
96
  Writable => 'rational64s',
72
97
  Count => 2,
@@ -76,29 +101,157 @@ $VERSION = '1.07';
76
101
  },
77
102
  PrintConvInv => '$val =~ s/ - //; $val =~ s/ ?m$//; $val',
78
103
  },
79
- # 0x000d - int32s: 0,1,6,20,24,32,40
80
- # 0x000e - int32s: 0,1,4,12 (Orientation? 0=landscape? 4=portrait? ref 1)
81
- # 0x000f - int32s: 2,3
82
- # 0x0010 - int32s: 1
83
- 0x0011 => { # (if defined, there is a live photo associated with the video, #forum13565)
104
+ # 0x000d - int32s: 0,1,6,20,24,32,40 (SphereHealthAverageCurrent, ref 2)
105
+ # 0x000e - int32s: 0,1,4,12 (Orientation? 0=landscape? 4=portrait? ref 1) (SphereMotionDataStatus, ref 2)
106
+ 0x000f => { #2
107
+ Name => 'OISMode',
108
+ Writable => 'int32s',
109
+ # seen: 2,3,5
110
+ },
111
+ # 0x0010 - int32s: 1 (SphereStatus, ref 2)
112
+ 0x0011 => { # (if defined, there is a live photo associated with the video, #forum13565) (AssetIdentifier, ref 2)
84
113
  Name => 'MediaGroupUUID', #NealKrawetz private communication
85
114
  # (changed in 12.19 from Name => 'ContentIdentifier', #forum8750)
86
115
  Writable => 'string',
87
116
  },
88
- # 0x0014 - int32s: 1,2,3,4,5 (iPhone 6s, iOS 6.1)
89
- 0x0015 => {
117
+ # 0x0012 - (QRMOutputType, ref 2)
118
+ # 0x0013 - (SphereExternalForceOffset, ref 2)
119
+ 0x0014 => { # (StillImageCaptureType, ref 2)
120
+ Name => 'ImageCaptureType',
121
+ Writable => 'int32s',
122
+ Unknown => 1, # (don't know what the values mean)
123
+ # seen: 1,2,3,4,5,10,12
124
+ },
125
+ 0x0015 => { # (ImageGroupIdentifier, ref 2)
90
126
  Name => 'ImageUniqueID',
91
127
  Writable => 'string',
92
128
  },
93
- # 0x0016 - string[29]: "AXZ6pMTOh2L+acSh4Kg630XCScoO\0"
94
- 0x0017 => { #forum13565 (only valid if MediaGroupUUID exists)
129
+ # 0x0016 - string[29]: "AXZ6pMTOh2L+acSh4Kg630XCScoO\0" (PhotosOriginatingSignature, ref 2)
130
+ 0x0017 => { #forum13565 (only valid if MediaGroupUUID exists) (StillImageCaptureFlags, ref 2)
95
131
  Name => 'LivePhotoVideoIndex',
96
132
  Notes => 'divide by RunTimeScale to get time in seconds',
97
133
  },
98
- # 0x0017 - int32s: 0,8192
99
- # 0x0019 - int32s: 0,2,128
100
- # 0x001a - string[6]: "q825s\0"
101
- # 0x001f - int32s: 0
134
+ # 0x0018 - (PhotosRenderOriginatingSignature, ref 2)
135
+ 0x0019 => { # (StillImageProcessingFlags, ref 2)
136
+ Name => 'ImageProcessingFlags',
137
+ Writable => 'int32s',
138
+ Unknown => 1,
139
+ PrintConv => { BITMASK => { } },
140
+ },
141
+ 0x001a => { # (PhotoTranscodeQualityHint, ref 2)
142
+ Name => 'QualityHint',
143
+ Writable => 'string',
144
+ Unknown => 1,
145
+ # seen: "q825s\0", "q750n\0", "q900n\0"
146
+ },
147
+ # 0x001b - (PhotosRenderEffect, ref 2)
148
+ # 0x001c - (BracketedCaptureSequenceNumber, ref 2)
149
+ 0x001d => { #2
150
+ Name => 'LuminanceNoiseAmplitude',
151
+ Writable => 'rational64s',
152
+ },
153
+ # 0x001e - (OriginatingAppID, ref 2)
154
+ # 0x001f - int32s: 0,1 (PhotosAppFeatureFlags, ref 2)
155
+ 0x0020 => { # (ImageCaptureRequestIdentifier, ref 2)
156
+ Name => 'ImageCaptureReqestID',
157
+ Writable => 'string',
158
+ Unknown => 1,
159
+ },
160
+ 0x0021 => { # (MeteorHeadroom, ref 2)
161
+ Name => 'HDRHeadroom',
162
+ Writable => 'rational64s',
163
+ },
164
+ # 0x0022 - (ARKitPhoto, ref 2)
165
+ # 0x0023 - int32s[2] (AFPerformance, ref 2)
166
+ # 0x0024 - (AFExternalOffset, ref 2)
167
+ 0x0025 => { # (StillImageSceneFlags, ref 2)
168
+ Name => 'SceneFlags',
169
+ Writable => 'int32s',
170
+ Unknown => 1,
171
+ PrintConv => { BITMASK => { } },
172
+ },
173
+ 0x0026 => { # (StillImageSNRType, ref 2)
174
+ Name => 'SignalToNoiseRatioType',
175
+ Writable => 'int32s',
176
+ Unknown => 1,
177
+ },
178
+ 0x0027 => { # (StillImageSNR, ref 2)
179
+ Name => 'SignalToNoiseRatio',
180
+ Writable => 'rational64s',
181
+ },
182
+ # 0x0028 - int32s (UBMethod, ref 2)
183
+ # 0x0029 - string (SpatialOverCaptureGroupIdentifier, ref 2)
184
+ # 0x002A - (iCloudServerSoftwareVersionForDynamicallyGeneratedMedia, ref 2)
185
+ # 0x002B - (PhotoIdentifier, ref 2)
186
+ # 0x002C - (SpatialOverCaptureImageType, ref 2)
187
+ # 0x002D - (CCT, ref 2)
188
+ # 0x002E - (ApsMode, ref 2)
189
+ 0x002F => { #2
190
+ Name => 'FocusPosition',
191
+ Writable => 'int32s',
192
+ },
193
+ 0x0030 => { # (MeteorPlusGainMap, ref 2)
194
+ Name => 'HDRGain',
195
+ Writable => 'rational64s',
196
+ },
197
+ # 0x0031 - (StillImageProcessingHomography, ref 2)
198
+ # 0x0032 - (IntelligentDistortionCorrection, ref 2)
199
+ # 0x0033 - (NRFStatus, ref 2)
200
+ # 0x0034 - (NRFInputBracketCount, ref 2)
201
+ # 0x0035 - (NRFRegisteredBracketCount, ref 2)
202
+ # 0x0036 - (LuxLevel, ref 2)
203
+ # 0x0037 - (LastFocusingMethod, ref 2)
204
+ 0x0038 => { # (TimeOfFlightAssistedAutoFocusEstimatorMeasuredDepth, ref 2)
205
+ Name => 'AFMeasuredDepth',
206
+ Notes => 'from the time-of-flight-assisted auto-focus estimator',
207
+ Writable => 'int32s',
208
+ },
209
+ # 0x0039 - (TimeOfFlightAssistedAutoFocusEstimatorROIType, ref 2)
210
+ # 0x003A - (NRFSRLStatus, ref 2)
211
+ # 0x003B - (SystemPressureLevel, ref 2)
212
+ # 0x003C - (CameraControlsStatisticsMaster, ref 2)
213
+ 0x003D => { # (TimeOfFlightAssistedAutoFocusEstimatorSensorConfidence, ref 2)
214
+ Name => 'AFConfidence',
215
+ Writable => 'int32s',
216
+ },
217
+ 0x003E => { # (ColorCorrectionMatrix, ref 2)
218
+ Name => 'ColorCorrectionMatrix',
219
+ Unknown => 1,
220
+ ValueConv => \&ConvertPLIST,
221
+ },
222
+ 0x003F => { #2
223
+ Name => 'GreenGhostMitigationStatus',
224
+ Writable => 'int32s',
225
+ Unknown => 1,
226
+ },
227
+ 0x0040 => { #2
228
+ Name => 'SemanticStyle',
229
+ ValueConv => \&ConvertPLIST,
230
+ },
231
+ 0x0041 => { # (SemanticStyleKey_RenderingVersion, ref 2)
232
+ Name => 'SemanticStyleRenderingVer',
233
+ ValueConv => \&ConvertPLIST,
234
+ },
235
+ 0x0042 => { # (SemanticStyleKey_Preset, ref 2)
236
+ Name => 'SemanticStylePreset',
237
+ ValueConv => \&ConvertPLIST,
238
+ },
239
+ # 0x0043 - (SemanticStyleKey_ToneBias, ref 2)
240
+ # 0x0044 - (SemanticStyleKey_WarmthBias, ref 2)
241
+ 0x0045 => { # (FrontFacing, ref 2)
242
+ Name => 'FrontFacingCamera',
243
+ Writable => 'int32s',
244
+ PrintConv => { 0 => 'No', 1 => 'Yes' }, #PH (NC)
245
+ },
246
+ # 0x0046 - (TimeOfFlightAssistedAutoFocusEstimatorContainsBlindSpot, ref 2)
247
+ # 0x0047 - (LeaderFollowerAutoFocusLeaderDepth, ref 2)
248
+ # 0x0048 - (LeaderFollowerAutoFocusLeaderFocusMethod, ref 2)
249
+ # 0x0049 - (LeaderFollowerAutoFocusLeaderConfidence, ref 2)
250
+ # 0x004A - (LeaderFollowerAutoFocusLeaderROIType, ref 2)
251
+ # 0x004B - (ZeroShutterLagFailureReason, ref 2)
252
+ # 0x004C - (TimeOfFlightAssistedAutoFocusEstimatorMSPMeasuredDepth, ref 2)
253
+ # 0x004D - (TimeOfFlightAssistedAutoFocusEstimatorMSPSensorConfidence, ref 2)
254
+ # 0x004E - (Camera, ref 2)
102
255
  );
103
256
 
104
257
  # PLIST-format CMTime structure (ref PH)
@@ -142,6 +295,23 @@ $VERSION = '1.07';
142
295
  # add our composite tags
143
296
  Image::ExifTool::AddCompositeTags('Image::ExifTool::Apple');
144
297
 
298
+ #------------------------------------------------------------------------------
299
+ # Convert from binary PLIST format to a tag value we can use
300
+ # Inputs: 0) binary plist data, 1) ExifTool ref
301
+ # Returns: converted value
302
+ sub ConvertPLIST($$)
303
+ {
304
+ my ($val, $et) = @_;
305
+ my $dirInfo = { DataPt => \$val };
306
+ require Image::ExifTool::PLIST;
307
+ Image::ExifTool::PLIST::ProcessBinaryPLIST($et, $dirInfo);
308
+ $val = $$dirInfo{Value};
309
+ if (ref $val eq 'HASH' and not $et->Options('Struct')) {
310
+ require 'Image/ExifTool/XMPStruct.pl';
311
+ $val = Image::ExifTool::XMP::SerializeStruct($val);
312
+ }
313
+ return $val;
314
+ }
145
315
 
146
316
  1; # end
147
317
 
@@ -162,7 +332,7 @@ Apple maker notes in EXIF information.
162
332
 
163
333
  =head1 AUTHOR
164
334
 
165
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
335
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
166
336
 
167
337
  This library is free software; you can redistribute it and/or modify it
168
338
  under the same terms as Perl itself.
@@ -291,7 +291,7 @@ information from Audible audio books.
291
291
 
292
292
  =head1 AUTHOR
293
293
 
294
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
294
+ Copyright 2003-2023, 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.
@@ -335,7 +335,7 @@ This module contains definitions required by Image::ExifTool to read BMP
335
335
 
336
336
  =head1 AUTHOR
337
337
 
338
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
338
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
339
339
 
340
340
  This library is free software; you can redistribute it and/or modify it
341
341
  under the same terms as Perl itself.
@@ -231,7 +231,7 @@ This module contains definitions required by Image::ExifTool to read BPG
231
231
 
232
232
  =head1 AUTHOR
233
233
 
234
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
234
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
235
235
 
236
236
  This library is free software; you can redistribute it and/or modify it
237
237
  under the same terms as Perl itself.
@@ -445,7 +445,7 @@ compression ability).
445
445
 
446
446
  =head1 AUTHOR
447
447
 
448
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
448
+ Copyright 2003-2023, 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.
@@ -275,7 +275,7 @@ information in BigTIFF images.
275
275
 
276
276
  =head1 AUTHOR
277
277
 
278
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
278
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
279
279
 
280
280
  This library is free software; you can redistribute it and/or modify it
281
281
  under the same terms as Perl itself.
@@ -671,7 +671,7 @@ L<Image::ExifTool::BuildTagLookup|Image::ExifTool::BuildTagLookup>.
671
671
 
672
672
  ~head1 AUTHOR
673
673
 
674
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
674
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
675
675
 
676
676
  This library is free software; you can redistribute it and/or modify it
677
677
  under the same terms as Perl itself.
@@ -1507,7 +1507,7 @@ TagID: foreach $tagID (@keys) {
1507
1507
  }
1508
1508
  }
1509
1509
  foreach $tagID (sort keys %$hash) {
1510
- warn sprintf("Warning: Missing %s for %s %s, tag %d (0x%.4x)\n",
1510
+ warn sprintf("Warning: Missing %s for %s %s, tag %s (0x%.4x)\n",
1511
1511
  $var, $short, $$hash{$tagID}, $tagID, $tagID);
1512
1512
  }
1513
1513
  }
@@ -2773,7 +2773,7 @@ Returned list of writable pseudo tags.
2773
2773
 
2774
2774
  =head1 AUTHOR
2775
2775
 
2776
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
2776
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
2777
2777
 
2778
2778
  This library is free software; you can redistribute it and/or modify it
2779
2779
  under the same terms as Perl itself.
@@ -307,7 +307,7 @@ specification.
307
307
 
308
308
  =head1 AUTHOR
309
309
 
310
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
310
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
311
311
 
312
312
  This library is free software; you can redistribute it and/or modify it
313
313
  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.63';
91
+ $VERSION = '4.64';
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)
@@ -8578,6 +8578,10 @@ my %ciMaxFocal = (
8578
8578
  Name => 'DistortionCorrectionSetting',
8579
8579
  PrintConv => \%offOn,
8580
8580
  },
8581
+ 9 => { #forum14286
8582
+ Name => 'DigitalLensOptimizerSetting',
8583
+ PrintConv => \%offOn,
8584
+ },
8581
8585
  );
8582
8586
 
8583
8587
  # Auto Lighting Optimizater information (MakerNotes tag 0x4018) (ref PH)
@@ -8624,6 +8628,14 @@ my %ciMaxFocal = (
8624
8628
  # 6 - related to ChromaticAberrationCorr
8625
8629
  # 7 - related to DistortionCorrection (0=off, 1=On in a 5DmkIV sample)
8626
8630
  # 8 - related to PeripheralIlluminationCorr and ChromaticAberrationCorr
8631
+ 10 => { #forum14286
8632
+ Name => 'DigitalLensOptimizer',
8633
+ PrintConv => {
8634
+ 0 => 'Off',
8635
+ 1 => 'Stanard',
8636
+ 2 => 'High',
8637
+ },
8638
+ },
8627
8639
  );
8628
8640
 
8629
8641
  # Lens information (MakerNotes tag 0x4019) (ref 20)
@@ -10176,7 +10188,7 @@ Canon maker notes in EXIF information.
10176
10188
 
10177
10189
  =head1 AUTHOR
10178
10190
 
10179
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
10191
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
10180
10192
 
10181
10193
  This library is free software; you can redistribute it and/or modify it
10182
10194
  under the same terms as Perl itself.