exiftool-vendored.pl 12.49.0 → 12.54.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (203) hide show
  1. package/bin/Changes +107 -6
  2. package/bin/MANIFEST +5 -0
  3. package/bin/META.json +1 -1
  4. package/bin/META.yml +1 -1
  5. package/bin/README +3 -3
  6. package/bin/exiftool +39 -30
  7. package/bin/lib/File/RandomAccess.pm +1 -1
  8. package/bin/lib/File/RandomAccess.pod +2 -2
  9. package/bin/lib/Image/ExifTool/AES.pm +1 -1
  10. package/bin/lib/Image/ExifTool/AFCP.pm +1 -1
  11. package/bin/lib/Image/ExifTool/AIFF.pm +1 -1
  12. package/bin/lib/Image/ExifTool/APE.pm +1 -1
  13. package/bin/lib/Image/ExifTool/APP12.pm +1 -1
  14. package/bin/lib/Image/ExifTool/ASF.pm +1 -1
  15. package/bin/lib/Image/ExifTool/Apple.pm +197 -27
  16. package/bin/lib/Image/ExifTool/Audible.pm +1 -1
  17. package/bin/lib/Image/ExifTool/BMP.pm +1 -1
  18. package/bin/lib/Image/ExifTool/BPG.pm +1 -1
  19. package/bin/lib/Image/ExifTool/BZZ.pm +1 -1
  20. package/bin/lib/Image/ExifTool/BigTIFF.pm +1 -1
  21. package/bin/lib/Image/ExifTool/BuildTagLookup.pm +10 -7
  22. package/bin/lib/Image/ExifTool/CBOR.pm +1 -1
  23. package/bin/lib/Image/ExifTool/Canon.pm +26 -9
  24. package/bin/lib/Image/ExifTool/CanonCustom.pm +1 -1
  25. package/bin/lib/Image/ExifTool/CanonRaw.pm +1 -1
  26. package/bin/lib/Image/ExifTool/CanonVRD.pm +9 -9
  27. package/bin/lib/Image/ExifTool/CaptureOne.pm +1 -1
  28. package/bin/lib/Image/ExifTool/Casio.pm +4 -4
  29. package/bin/lib/Image/ExifTool/Charset.pm +1 -1
  30. package/bin/lib/Image/ExifTool/DICOM.pm +1 -1
  31. package/bin/lib/Image/ExifTool/DJI.pm +1 -1
  32. package/bin/lib/Image/ExifTool/DNG.pm +1 -1
  33. package/bin/lib/Image/ExifTool/DPX.pm +1 -1
  34. package/bin/lib/Image/ExifTool/DV.pm +1 -1
  35. package/bin/lib/Image/ExifTool/DarwinCore.pm +1 -1
  36. package/bin/lib/Image/ExifTool/DjVu.pm +1 -1
  37. package/bin/lib/Image/ExifTool/EXE.pm +1 -1
  38. package/bin/lib/Image/ExifTool/Exif.pm +11 -21
  39. package/bin/lib/Image/ExifTool/FITS.pm +1 -1
  40. package/bin/lib/Image/ExifTool/FLAC.pm +1 -1
  41. package/bin/lib/Image/ExifTool/FLIF.pm +1 -1
  42. package/bin/lib/Image/ExifTool/FLIR.pm +7 -6
  43. package/bin/lib/Image/ExifTool/Fixup.pm +1 -1
  44. package/bin/lib/Image/ExifTool/Flash.pm +1 -1
  45. package/bin/lib/Image/ExifTool/FlashPix.pm +1 -1
  46. package/bin/lib/Image/ExifTool/Font.pm +1 -1
  47. package/bin/lib/Image/ExifTool/FotoStation.pm +1 -1
  48. package/bin/lib/Image/ExifTool/FujiFilm.pm +20 -13
  49. package/bin/lib/Image/ExifTool/GE.pm +1 -1
  50. package/bin/lib/Image/ExifTool/GIF.pm +1 -1
  51. package/bin/lib/Image/ExifTool/GIMP.pm +1 -1
  52. package/bin/lib/Image/ExifTool/GPS.pm +12 -6
  53. package/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
  54. package/bin/lib/Image/ExifTool/Geotag.pm +14 -6
  55. package/bin/lib/Image/ExifTool/GoPro.pm +1 -1
  56. package/bin/lib/Image/ExifTool/H264.pm +1 -1
  57. package/bin/lib/Image/ExifTool/HP.pm +1 -1
  58. package/bin/lib/Image/ExifTool/HTML.pm +1 -1
  59. package/bin/lib/Image/ExifTool/HtmlDump.pm +1 -1
  60. package/bin/lib/Image/ExifTool/ICC_Profile.pm +1 -1
  61. package/bin/lib/Image/ExifTool/ICO.pm +3 -1
  62. package/bin/lib/Image/ExifTool/ID3.pm +1 -1
  63. package/bin/lib/Image/ExifTool/IPTC.pm +6 -2
  64. package/bin/lib/Image/ExifTool/ISO.pm +1 -1
  65. package/bin/lib/Image/ExifTool/ITC.pm +1 -1
  66. package/bin/lib/Image/ExifTool/Import.pm +1 -1
  67. package/bin/lib/Image/ExifTool/InDesign.pm +1 -1
  68. package/bin/lib/Image/ExifTool/JPEG.pm +2 -1
  69. package/bin/lib/Image/ExifTool/JPEGDigest.pm +1 -1
  70. package/bin/lib/Image/ExifTool/JSON.pm +1 -1
  71. package/bin/lib/Image/ExifTool/JVC.pm +1 -1
  72. package/bin/lib/Image/ExifTool/Jpeg2000.pm +35 -8
  73. package/bin/lib/Image/ExifTool/Kodak.pm +1 -1
  74. package/bin/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
  75. package/bin/lib/Image/ExifTool/LIF.pm +1 -1
  76. package/bin/lib/Image/ExifTool/LNK.pm +1 -1
  77. package/bin/lib/Image/ExifTool/Lang/cs.pm +1 -1
  78. package/bin/lib/Image/ExifTool/Lang/de.pm +2 -2
  79. package/bin/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
  80. package/bin/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
  81. package/bin/lib/Image/ExifTool/Lang/es.pm +1 -1
  82. package/bin/lib/Image/ExifTool/Lang/fi.pm +1 -1
  83. package/bin/lib/Image/ExifTool/Lang/fr.pm +6016 -760
  84. package/bin/lib/Image/ExifTool/Lang/it.pm +1 -1
  85. package/bin/lib/Image/ExifTool/Lang/ja.pm +1 -1
  86. package/bin/lib/Image/ExifTool/Lang/ko.pm +1 -1
  87. package/bin/lib/Image/ExifTool/Lang/nl.pm +1 -1
  88. package/bin/lib/Image/ExifTool/Lang/pl.pm +1 -1
  89. package/bin/lib/Image/ExifTool/Lang/ru.pm +1 -1
  90. package/bin/lib/Image/ExifTool/Lang/sk.pm +1806 -0
  91. package/bin/lib/Image/ExifTool/Lang/sv.pm +1 -1
  92. package/bin/lib/Image/ExifTool/Lang/tr.pm +1 -1
  93. package/bin/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
  94. package/bin/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
  95. package/bin/lib/Image/ExifTool/Leaf.pm +1 -1
  96. package/bin/lib/Image/ExifTool/Lytro.pm +1 -1
  97. package/bin/lib/Image/ExifTool/M2TS.pm +45 -2
  98. package/bin/lib/Image/ExifTool/MIE.pm +1 -1
  99. package/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
  100. package/bin/lib/Image/ExifTool/MIFF.pm +1 -1
  101. package/bin/lib/Image/ExifTool/MISB.pm +2 -2
  102. package/bin/lib/Image/ExifTool/MNG.pm +1 -1
  103. package/bin/lib/Image/ExifTool/MOI.pm +1 -1
  104. package/bin/lib/Image/ExifTool/MPC.pm +1 -1
  105. package/bin/lib/Image/ExifTool/MPEG.pm +1 -1
  106. package/bin/lib/Image/ExifTool/MPF.pm +1 -1
  107. package/bin/lib/Image/ExifTool/MRC.pm +1 -1
  108. package/bin/lib/Image/ExifTool/MWG.pm +1 -1
  109. package/bin/lib/Image/ExifTool/MXF.pm +1 -1
  110. package/bin/lib/Image/ExifTool/MacOS.pm +1 -1
  111. package/bin/lib/Image/ExifTool/MakerNotes.pm +1 -1
  112. package/bin/lib/Image/ExifTool/Matroska.pm +262 -46
  113. package/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
  114. package/bin/lib/Image/ExifTool/Minolta.pm +1 -1
  115. package/bin/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
  116. package/bin/lib/Image/ExifTool/Motorola.pm +1 -1
  117. package/bin/lib/Image/ExifTool/Nikon.pm +845 -355
  118. package/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
  119. package/bin/lib/Image/ExifTool/NikonCustom.pm +140 -107
  120. package/bin/lib/Image/ExifTool/NikonSettings.pm +1 -1
  121. package/bin/lib/Image/ExifTool/Nintendo.pm +1 -1
  122. package/bin/lib/Image/ExifTool/OOXML.pm +1 -1
  123. package/bin/lib/Image/ExifTool/Ogg.pm +1 -1
  124. package/bin/lib/Image/ExifTool/Olympus.pm +6 -4
  125. package/bin/lib/Image/ExifTool/OpenEXR.pm +1 -1
  126. package/bin/lib/Image/ExifTool/Opus.pm +1 -1
  127. package/bin/lib/Image/ExifTool/Other.pm +1 -1
  128. package/bin/lib/Image/ExifTool/PCX.pm +1 -1
  129. package/bin/lib/Image/ExifTool/PDF.pm +1 -1
  130. package/bin/lib/Image/ExifTool/PGF.pm +1 -1
  131. package/bin/lib/Image/ExifTool/PICT.pm +1 -1
  132. package/bin/lib/Image/ExifTool/PLIST.pm +12 -7
  133. package/bin/lib/Image/ExifTool/PLUS.pm +1 -1
  134. package/bin/lib/Image/ExifTool/PNG.pm +9 -2
  135. package/bin/lib/Image/ExifTool/PPM.pm +1 -1
  136. package/bin/lib/Image/ExifTool/PSP.pm +1 -1
  137. package/bin/lib/Image/ExifTool/Palm.pm +1 -1
  138. package/bin/lib/Image/ExifTool/Panasonic.pm +1 -1
  139. package/bin/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
  140. package/bin/lib/Image/ExifTool/Parrot.pm +1 -1
  141. package/bin/lib/Image/ExifTool/Pentax.pm +8 -3
  142. package/bin/lib/Image/ExifTool/PhaseOne.pm +1 -1
  143. package/bin/lib/Image/ExifTool/PhotoCD.pm +1 -1
  144. package/bin/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
  145. package/bin/lib/Image/ExifTool/Photoshop.pm +1 -1
  146. package/bin/lib/Image/ExifTool/PostScript.pm +1 -1
  147. package/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
  148. package/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
  149. package/bin/lib/Image/ExifTool/QuickTime.pm +52 -9
  150. package/bin/lib/Image/ExifTool/QuickTimeStream.pl +95 -14
  151. package/bin/lib/Image/ExifTool/README +6 -1
  152. package/bin/lib/Image/ExifTool/RIFF.pm +1 -1
  153. package/bin/lib/Image/ExifTool/RSRC.pm +1 -1
  154. package/bin/lib/Image/ExifTool/RTF.pm +1 -1
  155. package/bin/lib/Image/ExifTool/Radiance.pm +1 -1
  156. package/bin/lib/Image/ExifTool/Rawzor.pm +1 -1
  157. package/bin/lib/Image/ExifTool/Real.pm +1 -1
  158. package/bin/lib/Image/ExifTool/Reconyx.pm +1 -1
  159. package/bin/lib/Image/ExifTool/Red.pm +1 -1
  160. package/bin/lib/Image/ExifTool/Ricoh.pm +1 -1
  161. package/bin/lib/Image/ExifTool/Samsung.pm +3 -1
  162. package/bin/lib/Image/ExifTool/Sanyo.pm +1 -1
  163. package/bin/lib/Image/ExifTool/Scalado.pm +1 -1
  164. package/bin/lib/Image/ExifTool/Shift.pl +1 -1
  165. package/bin/lib/Image/ExifTool/Shortcuts.pm +1 -1
  166. package/bin/lib/Image/ExifTool/Sigma.pm +1 -1
  167. package/bin/lib/Image/ExifTool/SigmaRaw.pm +1 -1
  168. package/bin/lib/Image/ExifTool/Sony.pm +35 -20
  169. package/bin/lib/Image/ExifTool/SonyIDC.pm +1 -1
  170. package/bin/lib/Image/ExifTool/Stim.pm +1 -1
  171. package/bin/lib/Image/ExifTool/TagInfoXML.pm +15 -8
  172. package/bin/lib/Image/ExifTool/TagLookup.pm +4672 -4568
  173. package/bin/lib/Image/ExifTool/TagNames.pod +357 -46
  174. package/bin/lib/Image/ExifTool/Text.pm +1 -1
  175. package/bin/lib/Image/ExifTool/Theora.pm +1 -1
  176. package/bin/lib/Image/ExifTool/Torrent.pm +1 -1
  177. package/bin/lib/Image/ExifTool/Unknown.pm +1 -1
  178. package/bin/lib/Image/ExifTool/VCard.pm +1 -1
  179. package/bin/lib/Image/ExifTool/Validate.pm +1 -1
  180. package/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
  181. package/bin/lib/Image/ExifTool/WTV.pm +1 -1
  182. package/bin/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
  183. package/bin/lib/Image/ExifTool/WriteExif.pl +14 -1
  184. package/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
  185. package/bin/lib/Image/ExifTool/WritePDF.pl +5 -1
  186. package/bin/lib/Image/ExifTool/WritePNG.pl +1 -1
  187. package/bin/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
  188. package/bin/lib/Image/ExifTool/WritePostScript.pl +1 -1
  189. package/bin/lib/Image/ExifTool/WriteQuickTime.pl +30 -14
  190. package/bin/lib/Image/ExifTool/WriteRIFF.pl +1 -1
  191. package/bin/lib/Image/ExifTool/WriteXMP.pl +16 -2
  192. package/bin/lib/Image/ExifTool/Writer.pl +35 -15
  193. package/bin/lib/Image/ExifTool/XMP.pm +25 -4
  194. package/bin/lib/Image/ExifTool/XMP2.pl +29 -2
  195. package/bin/lib/Image/ExifTool/XMPStruct.pl +1 -1
  196. package/bin/lib/Image/ExifTool/ZIP.pm +20 -8
  197. package/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
  198. package/bin/lib/Image/ExifTool/iWork.pm +1 -1
  199. package/bin/lib/Image/ExifTool.pm +45 -20
  200. package/bin/lib/Image/ExifTool.pod +48 -46
  201. package/bin/perl-Image-ExifTool.spec +1 -1
  202. package/bin/pp_build_exe.args +6 -5
  203. package/package.json +3 -3
package/bin/Changes CHANGED
@@ -4,9 +4,110 @@ ExifTool Version History
4
4
 
5
5
  RSS feed: https://exiftool.org/rss.xml
6
6
 
7
- Note: The most recent production release is Version 12.42. (Other versions are
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
+
39
+ Dec. 6, 2022 - Version 12.52
40
+
41
+ - Added a few new Nikon LensID's (thanks LibRaw and Chris)
42
+ - Added Slovak translations (thanks Peter Bagin)
43
+ - Made SphericalVideoXML readable/writable as a block
44
+ - Improved handling of Matroska metadata tags, including language support
45
+ - Improved French translations (thanks Philippe Bonnaure of GraphicConverter)
46
+ - Improved Composite:GPSAltitude conversion to honour -lang setting
47
+ - Improved -v2 messages to indicate files extracted from zip archives
48
+
49
+ Nov. 21, 2022 - Version 12.51
50
+
51
+ - Added a new Olympus LensType (thanks Herb)
52
+ - Extract C2PA JUMBF metadata from PNG images and extract C2PA Salt values
53
+ - Decode NikonSettings for Z9 firmware 3.0 (thanks Warren Hatch)
54
+ - Decode additional camm metadata from Insta360 Pro2 MP4 videos
55
+ - Improved Verbose output when writing Composite tags to add a "+" sign to
56
+ indicate related tags that are being written
57
+ - Enhanced -geotag option CSV format to support GPSImgDirection column
58
+ - Fixed problem where -w+ option didn't work in Windows if there were Unicode
59
+ characters in the path name
60
+ - Fixed problem where only the last image of the sequence was extracted
61
+ (multiple times) when using -ee2 to extract embedded images from FLIR SEQ
62
+ files
63
+ - Fixed issue where GPS reference directions may be unknowingly written when
64
+ using ExifTool 12.44 or later to write GPSLatitude or GPSLongitude without
65
+ specifying a group name. The fix was to Avoid writing the Composite tags
66
+ unless the Composite group is specified explicitly
67
+ - Fixed -geotag to write orientation and track tags even if some tags in the
68
+ category were missing
69
+ - Fixed inconsistency in selecting which tag to output with the -json option
70
+ when multiple tags with the same JSON key exist and the -TAG# feature is
71
+ used to disable print conversion
72
+ - Fixed problem writing QuickTime:PlayListID
73
+ - Fixed problem writing QuickTime tags when specifying tag ID (ie. family 7
74
+ group) as well as a language code
75
+
76
+ Nov. 8, 2022 - Version 12.50 (production release)
77
+
78
+ - Added a new XMP-GCreations tag
79
+ - Added a few new Sony lenses (thanks Jos Roost)
80
+ - Added new SonyModelID and Olympus CameraType values (thanks LibRaw and Herb)
81
+ - Added a couple of new XMP tags (thanks Jose Oliver-Didier)
82
+ - Added a new Nikon Z lens (thanks LibRaw)
83
+ - Added a new Canon LensType and CanonModelID (thanks Norbert Wasser and
84
+ LibRaw)
85
+ - Added some new Pentax lenses (thanks LibRaw)
86
+ - Added experimental support for timed GPS in TS videos from Jomise T860S-GM
87
+ dashcam (more samples are needed for this to be finalized)
88
+ - Decode information written in "skip" atom of 70mai Pro Plus+ MP4 videos
89
+ - Decode timed accelerometer data from Kenwood dashcam MP4 videos
90
+ - Decode a few new Nikon Z9 tags (thanks Stefan Grussen)
91
+ - Decode ColorData for some newer Canon models (thanks LibRaw)
92
+ - Decode a number of new tags for the Sony ILCE-7RM5 (thanks Jos Roost)
93
+ - Updated IPTC XMP tags to correspond with new Photo Metadata 2022.1 standard
94
+ - Extract JPEG previews from FujiFilm HIF images
95
+ - Changed -if option so multiple -if options are evaluated at the lowest
96
+ specified -fast level
97
+ - Changed MIMEType for ICO and CUR files
98
+ - Enhanced -fast2 so it stops processing QuickTime files at mdat atom
99
+ - Enhanced -listx output so -f also indicates the ID of the parent structure
100
+ for Flattened tags
101
+ - Improved conversion of IPTC date-only and time-only tags to allow formatting
102
+ with the -d option
103
+ - Improved Canon and Nikon TimeZone tags to accept a wider variety of input
104
+ formats when writing
105
+ - Disabled extraction of Nikon Z9 MenuSettings for firmware 3.0 until they can
106
+ be properly decoded (thanks Warren Hatch)
107
+ - Fixed decoding of AF points for some newer Nikon models
108
+ - Fixed inconsistent year and time zone for Kenwood dashcam timed GPS in MP4
109
+ videos
110
+
10
111
  Oct. 19, 2022 - Version 12.49
11
112
 
12
113
  - Added read support for Windows ICO and CUR files
@@ -174,6 +275,8 @@ June 1, 2022 - Version 12.42 (production release)
174
275
  - Patched to allow PDF Encrypt object to be "null"
175
276
  - Fixed bug reading ICC_Profile 'meta' tags
176
277
 
278
+ History of older versions (back to Nov. 19, 2003 - Version 1.00) -->
279
+
177
280
  Apr. 7, 2022 - Version 12.41
178
281
 
179
282
  - Added support for "OM SYSTEM" maker notes
@@ -184,7 +287,7 @@ Apr. 7, 2022 - Version 12.41
184
287
  - Enhanced -v0 option to also print new file name when renaming, moving or
185
288
  copying a file
186
289
  - Updated xmp2exif.args and exif2xmp.args helper files to reflect the IPTC
187
- Photometadata Mapping Guidelines version 2202.1
290
+ Photometadata Mapping Guidelines version 2022.1
188
291
  - Made "Invalid Xxx data" a minor warning for MakerNote data
189
292
  - Patched to allow writing of MP4 videos which have other tracks with a
190
293
  missing sample description entry
@@ -320,7 +423,7 @@ Oct. 16, 2021 - Version 12.33
320
423
  - Added a new Canon RF lens (thanks Norbert Wasser)
321
424
  - Decode Canon ShutterMode (thanks John Moyer)
322
425
  - Extract LensModel from some Olympus MOV videos
323
- - Generate MediaDataOffset/Size for MOV videos with zero-sized MDAT chunk
426
+ - Generate MediaDataOffset/Size for MOV videos with zero-sized mdat chunk
324
427
  - Improvements to CBOR reader, including hex dump with -v3 option
325
428
  - Recognize Final Cut Pro XML files
326
429
  - Allow binary data of Protected tags to be extracted with the -X -j and -php
@@ -385,8 +488,6 @@ Aug. 12, 2021 - Version 12.30 (production release)
385
488
  currently can't be created)
386
489
  - Patched to remove 2 GB size limit when reading Photoshop ImageSourceData
387
490
 
388
- History of older versions (back to Nov. 19, 2003 - Version 1.00) -->
389
-
390
491
  July 9, 2021 - Version 12.29
391
492
 
392
493
  - Added a few new Nikon and Olympus lenses (thanks LibRaw)
@@ -2119,7 +2220,7 @@ Mar. 1, 2018 - Version 10.82
2119
2220
  - Added a few new CanonModelID/SonyModelID values (thanks LibRaw)
2120
2221
  - Added support for the Sony ILCE-7M3 (thanks Jos Roost)
2121
2222
  - Decode timed GPS information from Insta360 MP4 videos with the -ee option
2122
- - Write XMP before idat in MOV/MP4/CR3 files if possible
2223
+ - Write XMP before mdat in MOV/MP4/CR3 files if possible
2123
2224
  - Fixed "'x' outside of string" runtime error when reading some Sony images
2124
2225
  - Fixed problem with some hex dumps going to the console when -v3 was combined
2125
2226
  with the -w option
package/bin/MANIFEST CHANGED
@@ -323,6 +323,7 @@ lib/Image/ExifTool/Lang/ko.pm
323
323
  lib/Image/ExifTool/Lang/nl.pm
324
324
  lib/Image/ExifTool/Lang/pl.pm
325
325
  lib/Image/ExifTool/Lang/ru.pm
326
+ lib/Image/ExifTool/Lang/sk.pm
326
327
  lib/Image/ExifTool/Lang/sv.pm
327
328
  lib/Image/ExifTool/Lang/tr.pm
328
329
  lib/Image/ExifTool/Lang/zh_cn.pm
@@ -598,6 +599,8 @@ t/GoPro.t
598
599
  t/GoPro_2.out
599
600
  t/HTML.t
600
601
  t/HTML_2.out
602
+ t/ICO.t
603
+ t/ICO_2.out
601
604
  t/IPTC.t
602
605
  t/IPTC_2.out
603
606
  t/IPTC_4.out
@@ -644,6 +647,7 @@ t/Lang_15.out
644
647
  t/Lang_16.out
645
648
  t/Lang_17.out
646
649
  t/Lang_18.out
650
+ t/Lang_19.out
647
651
  t/Lang_2.out
648
652
  t/Lang_3.out
649
653
  t/Lang_4.out
@@ -1025,6 +1029,7 @@ t/images/Geotag_DJI_2020-12-02_[07-50-31].csv
1025
1029
  t/images/GoPro.jpg
1026
1030
  t/images/HTML.html
1027
1031
  t/images/ICC_Profile.icc
1032
+ t/images/ICO.ico
1028
1033
  t/images/IPTC.jpg
1029
1034
  t/images/ISO.iso
1030
1035
  t/images/ITC.itc
package/bin/META.json CHANGED
@@ -47,6 +47,6 @@
47
47
  }
48
48
  },
49
49
  "release_status" : "stable",
50
- "version" : "12.49",
50
+ "version" : "12.54",
51
51
  "x_serialization_backend" : "JSON::PP version 4.02"
52
52
  }
package/bin/META.yml CHANGED
@@ -28,5 +28,5 @@ recommends:
28
28
  Time::HiRes: 0
29
29
  requires:
30
30
  perl: 5.004
31
- version: 12.49
31
+ version: 12.54
32
32
  x_serialization_backend: 'JSON::PP version 4.02'
package/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.49.tar.gz | tar -xf -
111
- cd Image-ExifTool-12.49
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.
package/bin/exiftool CHANGED
@@ -11,7 +11,7 @@ use strict;
11
11
  use warnings;
12
12
  require 5.004;
13
13
 
14
- my $version = '12.49';
14
+ my $version = '12.54';
15
15
 
16
16
  # add our 'lib' directory to the include list BEFORE 'use Image::ExifTool'
17
17
  BEGIN {
@@ -1009,8 +1009,12 @@ for (;;) {
1009
1009
  }
1010
1010
  if (/^if(\d*)$/i) {
1011
1011
  my $cond = shift;
1012
- $fastCondition = $1 if length $1;
1012
+ my $fast = length($1) ? $1 : undef;
1013
1013
  defined $cond or Error("Expecting expression for -if option\n"), $badCmd=1, next;
1014
+ # use lowest -fast setting if multiple conditions
1015
+ if (not @condition or not defined $fast or (defined $fastCondition and $fastCondition > $fast)) {
1016
+ $fastCondition = $fast;
1017
+ }
1014
1018
  # prevent processing file unnecessarily for simple case of failed '$ok' or 'not $ok'
1015
1019
  $cond =~ /^\s*(not\s*)\$ok\s*$/i and ($1 xor $rtnValPrev) and $failCondition=1;
1016
1020
  # add to list of requested tags
@@ -2347,7 +2351,8 @@ TAG: foreach $tag (@foundTags) {
2347
2351
  $group = $et->GetGroup($tag, $showGroup);
2348
2352
  # look ahead to see if this tag may suppress a priority tag in
2349
2353
  # the same group, and if so suppress this tag instead
2350
- next if $noDups and $tag =~ /^(.*?) \(/ and defined $$info{$1} and
2354
+ # (note that the tag key may look like "TAG #(1)" when the "#" feature is used)
2355
+ next if $noDups and $tag =~ /^(.*?) ?\(/ and defined $$info{$1} and
2351
2356
  $group eq $et->GetGroup($1, $showGroup);
2352
2357
  $group = 'Unknown' if not $group and ($xml or $json or $csv);
2353
2358
  if ($fp and not ($allGroup or $csv)) {
@@ -2372,7 +2377,7 @@ TAG: foreach $tag (@foundTags) {
2372
2377
  }
2373
2378
  } elsif ($noDups) {
2374
2379
  # don't allow duplicates, but avoid suppressing the priority tag
2375
- next if $tag =~ /^(.*?) \(/ and defined $$info{$1};
2380
+ next if $tag =~ /^(.*?) ?\(/ and defined $$info{$1};
2376
2381
  }
2377
2382
 
2378
2383
  ++$lineCount; # we are printing something meaningful
@@ -4767,7 +4772,7 @@ For example, C<--xmp-crs:all> may speed processing significantly in cases
4767
4772
  where a large number of XMP-crs tags exist. To use this feature to bypass
4768
4773
  processing of a specific XMP property, the property name must be used
4769
4774
  instead of the ExifTool tag name (eg. C<--xmp-crs:dabs>). Also, C<XMP-all>
4770
- 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>).
4771
4776
 
4772
4777
  =item B<->I<TAG>[+-^]B<=>[I<VALUE>]
4773
4778
 
@@ -5329,9 +5334,11 @@ specific target file. An object with a missing SourceFile or a SourceFile
5329
5334
  of "*" defines default tags for all target files which are combined with any
5330
5335
  tags specified for the specific SourceFile processed. The imported JSON
5331
5336
  file must have the same format as the exported JSON files with the exception
5332
- that the B<-g> option is not compatible with the import file format (use
5333
- B<-G> instead). Additionally, tag names in the input JSON file may be
5334
- 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.
5335
5342
 
5336
5343
  Unlike CSV import, empty values are not ignored, and will cause an empty
5337
5344
  value to be written if supported by the specific metadata type. Tags are
@@ -5470,7 +5477,7 @@ with this command:
5470
5477
 
5471
5478
  produces output like this:
5472
5479
 
5473
- -- Generated by ExifTool 12.49 --
5480
+ -- Generated by ExifTool 12.54 --
5474
5481
  File: a.jpg - 2003:10:31 15:44:19
5475
5482
  (f/5.6, 1/60s, ISO 100)
5476
5483
  File: b.jpg - 2006:05:23 11:57:38
@@ -5889,12 +5896,14 @@ audio/video data in WAV/AVI files to search for additional metadata. These
5889
5896
  speed benefits are small when reading images directly from disk, but can be
5890
5897
  substantial if piping images through a network connection. For more
5891
5898
  substantial speed benefits, B<-fast2> also causes exiftool to avoid
5892
- extracting any EXIF MakerNote information. B<-fast3> avoids extracting
5893
- metadata from the file, and returns only pseudo System tags, but still reads
5894
- the file header to obtain an educated guess at FileType. B<-fast4> doesn't
5895
- even read the file header, and returns only System tags and a FileType based
5896
- on the file extension. B<-fast5> also disables generation of the Composite
5897
- tags (like B<-e>). Has no effect when writing.
5899
+ extracting any EXIF MakerNote information, and to stop processing at the
5900
+ IDAT chunk of PNG images and the mdat atom of QuickTime-format files (but
5901
+ note that some files may store metadata after this). B<-fast3> avoids
5902
+ extracting metadata from the file, and returns only pseudo System tags, but
5903
+ still reads the file header to obtain an educated guess at FileType.
5904
+ B<-fast4> doesn't even read the file header, and returns only System tags
5905
+ and a FileType based on the file extension. B<-fast5> also disables
5906
+ generation of the Composite tags (like B<-e>). Has no effect when writing.
5898
5907
 
5899
5908
  Note that a separate B<-fast> setting may be used for evaluation of a B<-if>
5900
5909
  condition, or when ordering files with the B<-fileOrder> option. See the
@@ -5914,14 +5923,13 @@ order may be reversed by prefixing the tag name with a C<-> (eg.
5914
5923
  C<-fileOrder -createdate>). Print conversion of the sorted values is
5915
5924
  disabled with the B<-n> option, or a C<#> appended to the tag name. Other
5916
5925
  formatting options (eg. B<-d>) have no effect on the sorted values. Note
5917
- that the B<-fileOrder> option can have a large performance impact since it
5918
- involves an additional processing pass of each file, but this impact may be
5919
- reduced by specifying a I<NUM> for the B<-fast> level used during the
5920
- metadata-extraction phase. For example, B<-fileOrder4> may be used if
5921
- I<TAG> is a pseudo System tag. If multiple B<-fileOrder> options are used,
5922
- the extraction is done at the lowest B<-fast> level. Note that files are
5923
- sorted across directory boundaries if multiple input directories are
5924
- specified.
5926
+ that the B<-fileOrder> option can incur large performance penalty since it
5927
+ involves an additional initial processing pass of all files, but this impact
5928
+ may be reduced by specifying a I<NUM> to effectively set the B<-fast> level
5929
+ for the initial pass. For example, B<-fileOrder4> may be used if I<TAG> is
5930
+ a pseudo System tag. If multiple B<-fileOrder> options are used, the
5931
+ extraction is done at the lowest B<-fast> level. Note that files are sorted
5932
+ across directory boundaries if multiple input directories are specified.
5925
5933
 
5926
5934
  =item B<-i> I<DIR> (B<-ignore>)
5927
5935
 
@@ -6256,12 +6264,13 @@ are some examples:
6256
6264
 
6257
6265
  When combined with B<-listx>, the B<-s> option shortens the output by
6258
6266
  omitting the descriptions and values (as in the last example above), and
6259
- B<-f> adds a 'flags' attribute if applicable. The flags are formatted as a
6260
- comma-separated list of the following possible values: Avoid, Binary, List,
6261
- Mandatory, Permanent, Protected, Unknown and Unsafe (see the L<Tag Name
6262
- documentation|Image::ExifTool::TagNames>). For XMP List tags, the list type
6263
- (Alt, Bag or Seq) is added to the flags, and flattened structure tags are
6264
- indicated by a Flattened flag.
6267
+ B<-f> adds 'flags' and 'struct' attributes if applicable. The flags are
6268
+ formatted as a comma-separated list of the following possible values:
6269
+ Avoid, Binary, List, Mandatory, Permanent, Protected, Unknown and Unsafe
6270
+ (see the L<Tag Name documentation|Image::ExifTool::TagNames>). For XMP List
6271
+ tags, the list type (Alt, Bag or Seq) is added to the flags, and flattened
6272
+ structure tags are indicated by a Flattened flag with 'struct' giving the ID
6273
+ of the parent structure.
6265
6274
 
6266
6275
  Note that none of the B<-list> options require an input I<FILE>.
6267
6276
 
@@ -7294,7 +7303,7 @@ the commands if B<-execute> was used).
7294
7303
 
7295
7304
  =head1 AUTHOR
7296
7305
 
7297
- Copyright 2003-2022, Phil Harvey
7306
+ Copyright 2003-2023, Phil Harvey
7298
7307
 
7299
7308
  This is free software; you can redistribute it and/or modify it under the
7300
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.