exiftool_vendored 12.52.0 → 12.55.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (204) hide show
  1. checksums.yaml +4 -4
  2. data/bin/Changes +42 -1
  3. data/bin/META.json +1 -1
  4. data/bin/META.yml +1 -1
  5. data/bin/README +3 -3
  6. data/bin/exiftool +12 -10
  7. data/bin/fmt_files/kml_track.fmt +3 -3
  8. data/bin/lib/File/RandomAccess.pm +1 -1
  9. data/bin/lib/File/RandomAccess.pod +2 -2
  10. data/bin/lib/Image/ExifTool/AES.pm +1 -1
  11. data/bin/lib/Image/ExifTool/AFCP.pm +1 -1
  12. data/bin/lib/Image/ExifTool/AIFF.pm +1 -1
  13. data/bin/lib/Image/ExifTool/APE.pm +1 -1
  14. data/bin/lib/Image/ExifTool/APP12.pm +1 -1
  15. data/bin/lib/Image/ExifTool/ASF.pm +1 -1
  16. data/bin/lib/Image/ExifTool/Apple.pm +197 -27
  17. data/bin/lib/Image/ExifTool/Audible.pm +1 -1
  18. data/bin/lib/Image/ExifTool/BMP.pm +1 -1
  19. data/bin/lib/Image/ExifTool/BPG.pm +1 -1
  20. data/bin/lib/Image/ExifTool/BZZ.pm +1 -1
  21. data/bin/lib/Image/ExifTool/BigTIFF.pm +1 -1
  22. data/bin/lib/Image/ExifTool/BuildTagLookup.pm +4 -4
  23. data/bin/lib/Image/ExifTool/CBOR.pm +1 -1
  24. data/bin/lib/Image/ExifTool/Canon.pm +14 -2
  25. data/bin/lib/Image/ExifTool/CanonCustom.pm +1 -1
  26. data/bin/lib/Image/ExifTool/CanonRaw.pm +1 -1
  27. data/bin/lib/Image/ExifTool/CanonVRD.pm +9 -9
  28. data/bin/lib/Image/ExifTool/CaptureOne.pm +1 -1
  29. data/bin/lib/Image/ExifTool/Casio.pm +1 -1
  30. data/bin/lib/Image/ExifTool/Charset.pm +1 -1
  31. data/bin/lib/Image/ExifTool/DICOM.pm +1 -1
  32. data/bin/lib/Image/ExifTool/DJI.pm +1 -1
  33. data/bin/lib/Image/ExifTool/DNG.pm +1 -1
  34. data/bin/lib/Image/ExifTool/DPX.pm +1 -1
  35. data/bin/lib/Image/ExifTool/DV.pm +1 -1
  36. data/bin/lib/Image/ExifTool/DarwinCore.pm +1 -1
  37. data/bin/lib/Image/ExifTool/DjVu.pm +1 -1
  38. data/bin/lib/Image/ExifTool/EXE.pm +1 -1
  39. data/bin/lib/Image/ExifTool/Exif.pm +5 -16
  40. data/bin/lib/Image/ExifTool/FITS.pm +1 -1
  41. data/bin/lib/Image/ExifTool/FLAC.pm +1 -1
  42. data/bin/lib/Image/ExifTool/FLIF.pm +1 -1
  43. data/bin/lib/Image/ExifTool/FLIR.pm +1 -1
  44. data/bin/lib/Image/ExifTool/Fixup.pm +1 -1
  45. data/bin/lib/Image/ExifTool/Flash.pm +1 -1
  46. data/bin/lib/Image/ExifTool/FlashPix.pm +1 -1
  47. data/bin/lib/Image/ExifTool/Font.pm +1 -1
  48. data/bin/lib/Image/ExifTool/FotoStation.pm +1 -1
  49. data/bin/lib/Image/ExifTool/FujiFilm.pm +21 -13
  50. data/bin/lib/Image/ExifTool/GE.pm +1 -1
  51. data/bin/lib/Image/ExifTool/GIF.pm +1 -1
  52. data/bin/lib/Image/ExifTool/GIMP.pm +1 -1
  53. data/bin/lib/Image/ExifTool/GPS.pm +1 -1
  54. data/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
  55. data/bin/lib/Image/ExifTool/Geotag.pm +14 -5
  56. data/bin/lib/Image/ExifTool/GoPro.pm +1 -1
  57. data/bin/lib/Image/ExifTool/H264.pm +1 -1
  58. data/bin/lib/Image/ExifTool/HP.pm +1 -1
  59. data/bin/lib/Image/ExifTool/HTML.pm +1 -1
  60. data/bin/lib/Image/ExifTool/HtmlDump.pm +1 -1
  61. data/bin/lib/Image/ExifTool/ICC_Profile.pm +1 -1
  62. data/bin/lib/Image/ExifTool/ICO.pm +1 -1
  63. data/bin/lib/Image/ExifTool/ID3.pm +1 -1
  64. data/bin/lib/Image/ExifTool/IPTC.pm +1 -1
  65. data/bin/lib/Image/ExifTool/ISO.pm +1 -1
  66. data/bin/lib/Image/ExifTool/ITC.pm +1 -1
  67. data/bin/lib/Image/ExifTool/Import.pm +1 -1
  68. data/bin/lib/Image/ExifTool/InDesign.pm +1 -1
  69. data/bin/lib/Image/ExifTool/JPEG.pm +1 -1
  70. data/bin/lib/Image/ExifTool/JPEGDigest.pm +1 -1
  71. data/bin/lib/Image/ExifTool/JSON.pm +1 -1
  72. data/bin/lib/Image/ExifTool/JVC.pm +1 -1
  73. data/bin/lib/Image/ExifTool/Jpeg2000.pm +11 -5
  74. data/bin/lib/Image/ExifTool/Kodak.pm +1 -1
  75. data/bin/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
  76. data/bin/lib/Image/ExifTool/LIF.pm +1 -1
  77. data/bin/lib/Image/ExifTool/LNK.pm +1 -1
  78. data/bin/lib/Image/ExifTool/Lang/cs.pm +1 -1
  79. data/bin/lib/Image/ExifTool/Lang/de.pm +1 -1
  80. data/bin/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
  81. data/bin/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
  82. data/bin/lib/Image/ExifTool/Lang/es.pm +1 -1
  83. data/bin/lib/Image/ExifTool/Lang/fi.pm +1 -1
  84. data/bin/lib/Image/ExifTool/Lang/fr.pm +1 -1
  85. data/bin/lib/Image/ExifTool/Lang/it.pm +1 -1
  86. data/bin/lib/Image/ExifTool/Lang/ja.pm +1 -1
  87. data/bin/lib/Image/ExifTool/Lang/ko.pm +1 -1
  88. data/bin/lib/Image/ExifTool/Lang/nl.pm +1 -1
  89. data/bin/lib/Image/ExifTool/Lang/pl.pm +1 -1
  90. data/bin/lib/Image/ExifTool/Lang/ru.pm +1 -1
  91. data/bin/lib/Image/ExifTool/Lang/sk.pm +1806 -1927
  92. data/bin/lib/Image/ExifTool/Lang/sv.pm +1 -1
  93. data/bin/lib/Image/ExifTool/Lang/tr.pm +1 -1
  94. data/bin/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
  95. data/bin/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
  96. data/bin/lib/Image/ExifTool/Leaf.pm +1 -1
  97. data/bin/lib/Image/ExifTool/Lytro.pm +1 -1
  98. data/bin/lib/Image/ExifTool/M2TS.pm +1 -1
  99. data/bin/lib/Image/ExifTool/MIE.pm +1 -1
  100. data/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
  101. data/bin/lib/Image/ExifTool/MIFF.pm +1 -1
  102. data/bin/lib/Image/ExifTool/MISB.pm +1 -1
  103. data/bin/lib/Image/ExifTool/MNG.pm +1 -1
  104. data/bin/lib/Image/ExifTool/MOI.pm +1 -1
  105. data/bin/lib/Image/ExifTool/MPC.pm +1 -1
  106. data/bin/lib/Image/ExifTool/MPEG.pm +1 -1
  107. data/bin/lib/Image/ExifTool/MPF.pm +1 -1
  108. data/bin/lib/Image/ExifTool/MRC.pm +1 -1
  109. data/bin/lib/Image/ExifTool/MWG.pm +1 -1
  110. data/bin/lib/Image/ExifTool/MXF.pm +1 -1
  111. data/bin/lib/Image/ExifTool/MacOS.pm +1 -1
  112. data/bin/lib/Image/ExifTool/MakerNotes.pm +1 -1
  113. data/bin/lib/Image/ExifTool/Matroska.pm +5 -5
  114. data/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
  115. data/bin/lib/Image/ExifTool/Minolta.pm +1 -1
  116. data/bin/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
  117. data/bin/lib/Image/ExifTool/Motorola.pm +1 -1
  118. data/bin/lib/Image/ExifTool/Nikon.pm +219 -10
  119. data/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
  120. data/bin/lib/Image/ExifTool/NikonCustom.pm +1 -1
  121. data/bin/lib/Image/ExifTool/NikonSettings.pm +1 -1
  122. data/bin/lib/Image/ExifTool/Nintendo.pm +1 -1
  123. data/bin/lib/Image/ExifTool/OOXML.pm +1 -1
  124. data/bin/lib/Image/ExifTool/Ogg.pm +1 -1
  125. data/bin/lib/Image/ExifTool/Olympus.pm +1 -1
  126. data/bin/lib/Image/ExifTool/OpenEXR.pm +1 -1
  127. data/bin/lib/Image/ExifTool/Opus.pm +1 -1
  128. data/bin/lib/Image/ExifTool/Other.pm +1 -1
  129. data/bin/lib/Image/ExifTool/PCX.pm +1 -1
  130. data/bin/lib/Image/ExifTool/PDF.pm +1 -1
  131. data/bin/lib/Image/ExifTool/PGF.pm +1 -1
  132. data/bin/lib/Image/ExifTool/PICT.pm +1 -1
  133. data/bin/lib/Image/ExifTool/PLIST.pm +12 -7
  134. data/bin/lib/Image/ExifTool/PLUS.pm +1 -1
  135. data/bin/lib/Image/ExifTool/PNG.pm +1 -1
  136. data/bin/lib/Image/ExifTool/PPM.pm +1 -1
  137. data/bin/lib/Image/ExifTool/PSP.pm +1 -1
  138. data/bin/lib/Image/ExifTool/Palm.pm +1 -1
  139. data/bin/lib/Image/ExifTool/Panasonic.pm +1 -1
  140. data/bin/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
  141. data/bin/lib/Image/ExifTool/Parrot.pm +1 -1
  142. data/bin/lib/Image/ExifTool/Pentax.pm +1 -1
  143. data/bin/lib/Image/ExifTool/PhaseOne.pm +1 -1
  144. data/bin/lib/Image/ExifTool/PhotoCD.pm +1 -1
  145. data/bin/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
  146. data/bin/lib/Image/ExifTool/Photoshop.pm +1 -1
  147. data/bin/lib/Image/ExifTool/PostScript.pm +1 -1
  148. data/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
  149. data/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
  150. data/bin/lib/Image/ExifTool/QuickTime.pm +23 -7
  151. data/bin/lib/Image/ExifTool/QuickTimeStream.pl +122 -28
  152. data/bin/lib/Image/ExifTool/README +3 -0
  153. data/bin/lib/Image/ExifTool/RIFF.pm +1 -1
  154. data/bin/lib/Image/ExifTool/RSRC.pm +1 -1
  155. data/bin/lib/Image/ExifTool/RTF.pm +1 -1
  156. data/bin/lib/Image/ExifTool/Radiance.pm +1 -1
  157. data/bin/lib/Image/ExifTool/Rawzor.pm +1 -1
  158. data/bin/lib/Image/ExifTool/Real.pm +1 -1
  159. data/bin/lib/Image/ExifTool/Reconyx.pm +1 -1
  160. data/bin/lib/Image/ExifTool/Red.pm +1 -1
  161. data/bin/lib/Image/ExifTool/Ricoh.pm +1 -1
  162. data/bin/lib/Image/ExifTool/Samsung.pm +3 -1
  163. data/bin/lib/Image/ExifTool/Sanyo.pm +1 -1
  164. data/bin/lib/Image/ExifTool/Scalado.pm +1 -1
  165. data/bin/lib/Image/ExifTool/Shift.pl +1 -1
  166. data/bin/lib/Image/ExifTool/Shortcuts.pm +1 -1
  167. data/bin/lib/Image/ExifTool/Sigma.pm +1 -1
  168. data/bin/lib/Image/ExifTool/SigmaRaw.pm +1 -1
  169. data/bin/lib/Image/ExifTool/Sony.pm +3 -3
  170. data/bin/lib/Image/ExifTool/SonyIDC.pm +1 -1
  171. data/bin/lib/Image/ExifTool/Stim.pm +1 -1
  172. data/bin/lib/Image/ExifTool/TagInfoXML.pm +2 -2
  173. data/bin/lib/Image/ExifTool/TagLookup.pm +1023 -979
  174. data/bin/lib/Image/ExifTool/TagNames.pod +99 -9
  175. data/bin/lib/Image/ExifTool/Text.pm +1 -1
  176. data/bin/lib/Image/ExifTool/Theora.pm +1 -1
  177. data/bin/lib/Image/ExifTool/Torrent.pm +1 -1
  178. data/bin/lib/Image/ExifTool/Unknown.pm +1 -1
  179. data/bin/lib/Image/ExifTool/VCard.pm +1 -1
  180. data/bin/lib/Image/ExifTool/Validate.pm +1 -1
  181. data/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
  182. data/bin/lib/Image/ExifTool/WTV.pm +1 -1
  183. data/bin/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
  184. data/bin/lib/Image/ExifTool/WriteExif.pl +14 -1
  185. data/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
  186. data/bin/lib/Image/ExifTool/WritePDF.pl +5 -1
  187. data/bin/lib/Image/ExifTool/WritePNG.pl +1 -1
  188. data/bin/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
  189. data/bin/lib/Image/ExifTool/WritePostScript.pl +1 -1
  190. data/bin/lib/Image/ExifTool/WriteQuickTime.pl +18 -7
  191. data/bin/lib/Image/ExifTool/WriteRIFF.pl +1 -1
  192. data/bin/lib/Image/ExifTool/WriteXMP.pl +1 -1
  193. data/bin/lib/Image/ExifTool/Writer.pl +2 -2
  194. data/bin/lib/Image/ExifTool/XMP.pm +23 -3
  195. data/bin/lib/Image/ExifTool/XMP2.pl +20 -1
  196. data/bin/lib/Image/ExifTool/XMPStruct.pl +1 -1
  197. data/bin/lib/Image/ExifTool/ZIP.pm +1 -1
  198. data/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
  199. data/bin/lib/Image/ExifTool/iWork.pm +1 -1
  200. data/bin/lib/Image/ExifTool.pm +4 -3
  201. data/bin/lib/Image/ExifTool.pod +39 -38
  202. data/bin/perl-Image-ExifTool.spec +1 -1
  203. data/lib/exiftool_vendored/version.rb +1 -1
  204. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ba4ecb59460ff7222300e603360d0911cc1570510f754c02fe047d2f15792457
4
- data.tar.gz: 5009d51c03eb7d9827e3fd0838f6303d3359320cc8ea92dbbb3418887e91a9c9
3
+ metadata.gz: '08dd80f8e21b9b1cdb9c94d397452030151b485db6f08e25fdb408a4eade1052'
4
+ data.tar.gz: 6db554ec80bedd0d2022bd019cba25f5f7e61862bec88b00659790edbe123952
5
5
  SHA512:
6
- metadata.gz: f10977406b7799830c8d2e4292ed43bac78595b03deb80345486b22a8c87e1ce1d693c59839e7bb6000c271479756a9c3cea23a84501fdbaa19a97540eb6e709
7
- data.tar.gz: df67d3fe0ec4b6a79354eb880c601eab994b578e439b05770a714bfd32642860e72706bb1a1bc430eb77e4ba4be17d7eabc02e4bdebcda97183a23dfbebd2b5b
6
+ metadata.gz: 64da9fcb6865573609dfb79388711aa9d74bd24718a9d076846158d74ffd962bb956a722671dca51b406de6581b9b2220528b09971c2ebe8f3afc0b1a2b3f281
7
+ data.tar.gz: 9601c888737e9e4c31f5edaa1b2fba847bbdb8cf2b4dc20013522ee0045c58736491a0d9e0b715f09a1113e23fd8a4672278292f45a6ed07f45507fa50a84bb6
data/bin/Changes CHANGED
@@ -7,6 +7,47 @@ 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. 17, 2023 - Version 12.55
11
+
12
+ - Added support for geotagging from FlightAware KML files
13
+ - Decode two more types of timed GPS from MOV/MP4 videos (66 types now)
14
+ - Decode a few new Nikon tags (thanks Warren Hatch)
15
+ - Decode a new Samsung HEIC tag
16
+ - Decode FujiFilm RollAngle
17
+ - Fixed bug where FlatName property wasn't working properly for some
18
+ user-defined structure tags
19
+
20
+ Jan. 6, 2023 - Version 12.54
21
+
22
+ - Decode a number of new Apple tags (thanks Frank Rupprecht)
23
+ - Increased precision of Sony FocusDistance2 conversion
24
+ - Fixed problem where GPSAltitude wasn't being set when geotagging from KML
25
+ files
26
+ - Fixed bug writing HEIC/AVIF files which have a zero-sized mdat (ie. media
27
+ data extends to end of file) which could cause an incorrect mdat size to be
28
+ written
29
+
30
+ Jan. 4, 2023 - Version 12.53
31
+
32
+ - Added support for a number of new XMP tags written by ACR 15.1
33
+ - Added a new Nikon LensID
34
+ - Decode timed GPS from Lamax S9 dual dashcam MOV videos
35
+ - Decode a number of new Nikon tags (thanks Warren Hatch)
36
+ - Decode a couple of new Canon tags (thanks John Moyer)
37
+ - Decode FujiFilm BWMagentaGreen tag
38
+ - Enable block-write of EXIF to JXL files
39
+ - Accept values of "now" and "Z" when writing EXIF OffsetTime tags
40
+ - Changed priority of XMP when reading/writing HEIC files so that it is no
41
+ longer preferred as with other QuickTime-based formats
42
+ - Changed family 1 group name of Canon DR4 tags from CanonVRD to CanonDR4 to
43
+ allow newer tags to be differentiated from older ones. The family 0 group
44
+ name for both remains CanonVRD
45
+ - Patched to recognize JXL EXIF box with non-zero header length
46
+ - Patched to avoid runtime error when writing a PDF with an Info dictionary
47
+ which was stored incorrectly as a direct object
48
+ - Fixed problem writing EXIF to JXL images where a new EXIF box was created
49
+ even if one previously existed
50
+
10
51
  Dec. 6, 2022 - Version 12.52
11
52
 
12
53
  - Added a few new Nikon LensID's (thanks LibRaw and Chris)
@@ -258,7 +299,7 @@ Apr. 7, 2022 - Version 12.41
258
299
  - Enhanced -v0 option to also print new file name when renaming, moving or
259
300
  copying a file
260
301
  - Updated xmp2exif.args and exif2xmp.args helper files to reflect the IPTC
261
- Photometadata Mapping Guidelines version 2202.1
302
+ Photometadata Mapping Guidelines version 2022.1
262
303
  - Made "Invalid Xxx data" a minor warning for MakerNote data
263
304
  - Patched to allow writing of MP4 videos which have other tracks with a
264
305
  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.55"
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.55
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.55.tar.gz | tar -xf -
111
+ cd Image-ExifTool-12.55
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.55';
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.55 --
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
@@ -6324,9 +6326,9 @@ seconds behind GPS:
6324
6326
 
6325
6327
  exiftool -geosync=+1:20 -geotag a.log DIR
6326
6328
 
6327
- Advanced C<Geosync> features allow a linear time drift correction and
6328
- synchronization from previously geotagged images. See "geotag.html" in the
6329
- full ExifTool distribution for more information.
6329
+ Advanced C<Geosync> features allow a piecewise linear time drift correction
6330
+ and synchronization from previously geotagged images. See "geotag.html" in
6331
+ the full ExifTool distribution for more information.
6330
6332
 
6331
6333
  Multiple B<-geotag> options may be used to concatenate GPS track log data.
6332
6334
  Also, a single B<-geotag> option may be used to load multiple track log
@@ -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.
@@ -1,5 +1,5 @@
1
1
  #------------------------------------------------------------------------------
2
- # File: kml.fmt
2
+ # File: kml_track.fmt
3
3
  #
4
4
  # Description: Example ExifTool print format file for generating a
5
5
  # track in Google Earth KML format from a collection of
@@ -7,11 +7,11 @@
7
7
  #
8
8
  # Usage: From a collection of images:
9
9
  #
10
- # exiftool -p kml.fmt -r DIR [...] > out.kml
10
+ # exiftool -p kml_track.fmt -r DIR [...] > out.kml
11
11
  #
12
12
  # From video files:
13
13
  #
14
- # exiftool -p kml.fmt -ee3 FILEorDIR [...] > out.kml
14
+ # exiftool -p kml_track.fmt -ee3 FILEorDIR [...] > out.kml
15
15
  #
16
16
  # Requires: ExifTool version 10.41 or later
17
17
  #
@@ -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.
@@ -238,7 +238,7 @@ types of meta information. To determine a tag name, either consult this
238
238
  documentation or run C<exiftool -s> on a file containing the information in
239
239
  question.
240
240
 
241
- I<(This documentation is the result of years of research, testing and
241
+ I<(This documentation is the result of decades of research, testing and
242
242
  reverse engineering, and is the most complete metadata tag list available
243
243
  anywhere on the internet. It is provided not only for ExifTool users, but
244
244
  more importantly as a public service to help augment the collective
@@ -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.