exiftool-vendored.exe 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 (198) hide show
  1. package/bin/exiftool_files/Changes +107 -6
  2. package/bin/exiftool_files/README +3 -3
  3. package/bin/exiftool_files/exiftool.pl +41 -29
  4. package/bin/exiftool_files/lib/File/RandomAccess.pm +1 -1
  5. package/bin/exiftool_files/lib/File/RandomAccess.pod +2 -2
  6. package/bin/exiftool_files/lib/Image/ExifTool/AES.pm +1 -1
  7. package/bin/exiftool_files/lib/Image/ExifTool/AFCP.pm +1 -1
  8. package/bin/exiftool_files/lib/Image/ExifTool/AIFF.pm +1 -1
  9. package/bin/exiftool_files/lib/Image/ExifTool/APE.pm +1 -1
  10. package/bin/exiftool_files/lib/Image/ExifTool/APP12.pm +1 -1
  11. package/bin/exiftool_files/lib/Image/ExifTool/ASF.pm +1 -1
  12. package/bin/exiftool_files/lib/Image/ExifTool/Apple.pm +197 -27
  13. package/bin/exiftool_files/lib/Image/ExifTool/Audible.pm +1 -1
  14. package/bin/exiftool_files/lib/Image/ExifTool/BMP.pm +1 -1
  15. package/bin/exiftool_files/lib/Image/ExifTool/BPG.pm +1 -1
  16. package/bin/exiftool_files/lib/Image/ExifTool/BZZ.pm +1 -1
  17. package/bin/exiftool_files/lib/Image/ExifTool/BigTIFF.pm +1 -1
  18. package/bin/exiftool_files/lib/Image/ExifTool/BuildTagLookup.pm +10 -7
  19. package/bin/exiftool_files/lib/Image/ExifTool/CBOR.pm +1 -1
  20. package/bin/exiftool_files/lib/Image/ExifTool/Canon.pm +26 -9
  21. package/bin/exiftool_files/lib/Image/ExifTool/CanonCustom.pm +1 -1
  22. package/bin/exiftool_files/lib/Image/ExifTool/CanonRaw.pm +1 -1
  23. package/bin/exiftool_files/lib/Image/ExifTool/CanonVRD.pm +9 -9
  24. package/bin/exiftool_files/lib/Image/ExifTool/CaptureOne.pm +1 -1
  25. package/bin/exiftool_files/lib/Image/ExifTool/Casio.pm +4 -4
  26. package/bin/exiftool_files/lib/Image/ExifTool/Charset.pm +1 -1
  27. package/bin/exiftool_files/lib/Image/ExifTool/DICOM.pm +1 -1
  28. package/bin/exiftool_files/lib/Image/ExifTool/DJI.pm +1 -1
  29. package/bin/exiftool_files/lib/Image/ExifTool/DNG.pm +1 -1
  30. package/bin/exiftool_files/lib/Image/ExifTool/DPX.pm +1 -1
  31. package/bin/exiftool_files/lib/Image/ExifTool/DV.pm +1 -1
  32. package/bin/exiftool_files/lib/Image/ExifTool/DarwinCore.pm +1 -1
  33. package/bin/exiftool_files/lib/Image/ExifTool/DjVu.pm +1 -1
  34. package/bin/exiftool_files/lib/Image/ExifTool/EXE.pm +1 -1
  35. package/bin/exiftool_files/lib/Image/ExifTool/Exif.pm +11 -21
  36. package/bin/exiftool_files/lib/Image/ExifTool/FITS.pm +1 -1
  37. package/bin/exiftool_files/lib/Image/ExifTool/FLAC.pm +1 -1
  38. package/bin/exiftool_files/lib/Image/ExifTool/FLIF.pm +1 -1
  39. package/bin/exiftool_files/lib/Image/ExifTool/FLIR.pm +7 -6
  40. package/bin/exiftool_files/lib/Image/ExifTool/Fixup.pm +1 -1
  41. package/bin/exiftool_files/lib/Image/ExifTool/Flash.pm +1 -1
  42. package/bin/exiftool_files/lib/Image/ExifTool/FlashPix.pm +1 -1
  43. package/bin/exiftool_files/lib/Image/ExifTool/Font.pm +1 -1
  44. package/bin/exiftool_files/lib/Image/ExifTool/FotoStation.pm +1 -1
  45. package/bin/exiftool_files/lib/Image/ExifTool/FujiFilm.pm +20 -13
  46. package/bin/exiftool_files/lib/Image/ExifTool/GE.pm +1 -1
  47. package/bin/exiftool_files/lib/Image/ExifTool/GIF.pm +1 -1
  48. package/bin/exiftool_files/lib/Image/ExifTool/GIMP.pm +1 -1
  49. package/bin/exiftool_files/lib/Image/ExifTool/GPS.pm +12 -6
  50. package/bin/exiftool_files/lib/Image/ExifTool/GeoTiff.pm +1 -1
  51. package/bin/exiftool_files/lib/Image/ExifTool/Geotag.pm +14 -6
  52. package/bin/exiftool_files/lib/Image/ExifTool/GoPro.pm +1 -1
  53. package/bin/exiftool_files/lib/Image/ExifTool/H264.pm +1 -1
  54. package/bin/exiftool_files/lib/Image/ExifTool/HP.pm +1 -1
  55. package/bin/exiftool_files/lib/Image/ExifTool/HTML.pm +1 -1
  56. package/bin/exiftool_files/lib/Image/ExifTool/HtmlDump.pm +1 -1
  57. package/bin/exiftool_files/lib/Image/ExifTool/ICC_Profile.pm +1 -1
  58. package/bin/exiftool_files/lib/Image/ExifTool/ICO.pm +3 -1
  59. package/bin/exiftool_files/lib/Image/ExifTool/ID3.pm +1 -1
  60. package/bin/exiftool_files/lib/Image/ExifTool/IPTC.pm +6 -2
  61. package/bin/exiftool_files/lib/Image/ExifTool/ISO.pm +1 -1
  62. package/bin/exiftool_files/lib/Image/ExifTool/ITC.pm +1 -1
  63. package/bin/exiftool_files/lib/Image/ExifTool/Import.pm +1 -1
  64. package/bin/exiftool_files/lib/Image/ExifTool/InDesign.pm +1 -1
  65. package/bin/exiftool_files/lib/Image/ExifTool/JPEG.pm +2 -1
  66. package/bin/exiftool_files/lib/Image/ExifTool/JPEGDigest.pm +1 -1
  67. package/bin/exiftool_files/lib/Image/ExifTool/JSON.pm +1 -1
  68. package/bin/exiftool_files/lib/Image/ExifTool/JVC.pm +1 -1
  69. package/bin/exiftool_files/lib/Image/ExifTool/Jpeg2000.pm +35 -8
  70. package/bin/exiftool_files/lib/Image/ExifTool/Kodak.pm +1 -1
  71. package/bin/exiftool_files/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
  72. package/bin/exiftool_files/lib/Image/ExifTool/LIF.pm +1 -1
  73. package/bin/exiftool_files/lib/Image/ExifTool/LNK.pm +1 -1
  74. package/bin/exiftool_files/lib/Image/ExifTool/Lang/cs.pm +1 -1
  75. package/bin/exiftool_files/lib/Image/ExifTool/Lang/de.pm +2 -2
  76. package/bin/exiftool_files/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
  77. package/bin/exiftool_files/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
  78. package/bin/exiftool_files/lib/Image/ExifTool/Lang/es.pm +1 -1
  79. package/bin/exiftool_files/lib/Image/ExifTool/Lang/fi.pm +1 -1
  80. package/bin/exiftool_files/lib/Image/ExifTool/Lang/fr.pm +6016 -760
  81. package/bin/exiftool_files/lib/Image/ExifTool/Lang/it.pm +1 -1
  82. package/bin/exiftool_files/lib/Image/ExifTool/Lang/ja.pm +1 -1
  83. package/bin/exiftool_files/lib/Image/ExifTool/Lang/ko.pm +1 -1
  84. package/bin/exiftool_files/lib/Image/ExifTool/Lang/nl.pm +1 -1
  85. package/bin/exiftool_files/lib/Image/ExifTool/Lang/pl.pm +1 -1
  86. package/bin/exiftool_files/lib/Image/ExifTool/Lang/ru.pm +1 -1
  87. package/bin/exiftool_files/lib/Image/ExifTool/Lang/sk.pm +1806 -0
  88. package/bin/exiftool_files/lib/Image/ExifTool/Lang/sv.pm +1 -1
  89. package/bin/exiftool_files/lib/Image/ExifTool/Lang/tr.pm +1 -1
  90. package/bin/exiftool_files/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
  91. package/bin/exiftool_files/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
  92. package/bin/exiftool_files/lib/Image/ExifTool/Leaf.pm +1 -1
  93. package/bin/exiftool_files/lib/Image/ExifTool/Lytro.pm +1 -1
  94. package/bin/exiftool_files/lib/Image/ExifTool/M2TS.pm +45 -2
  95. package/bin/exiftool_files/lib/Image/ExifTool/MIE.pm +1 -1
  96. package/bin/exiftool_files/lib/Image/ExifTool/MIEUnits.pod +1 -1
  97. package/bin/exiftool_files/lib/Image/ExifTool/MIFF.pm +1 -1
  98. package/bin/exiftool_files/lib/Image/ExifTool/MISB.pm +2 -2
  99. package/bin/exiftool_files/lib/Image/ExifTool/MNG.pm +1 -1
  100. package/bin/exiftool_files/lib/Image/ExifTool/MOI.pm +1 -1
  101. package/bin/exiftool_files/lib/Image/ExifTool/MPC.pm +1 -1
  102. package/bin/exiftool_files/lib/Image/ExifTool/MPEG.pm +1 -1
  103. package/bin/exiftool_files/lib/Image/ExifTool/MPF.pm +1 -1
  104. package/bin/exiftool_files/lib/Image/ExifTool/MRC.pm +1 -1
  105. package/bin/exiftool_files/lib/Image/ExifTool/MWG.pm +1 -1
  106. package/bin/exiftool_files/lib/Image/ExifTool/MXF.pm +1 -1
  107. package/bin/exiftool_files/lib/Image/ExifTool/MacOS.pm +1 -1
  108. package/bin/exiftool_files/lib/Image/ExifTool/MakerNotes.pm +1 -1
  109. package/bin/exiftool_files/lib/Image/ExifTool/Matroska.pm +262 -46
  110. package/bin/exiftool_files/lib/Image/ExifTool/Microsoft.pm +1 -1
  111. package/bin/exiftool_files/lib/Image/ExifTool/Minolta.pm +1 -1
  112. package/bin/exiftool_files/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
  113. package/bin/exiftool_files/lib/Image/ExifTool/Motorola.pm +1 -1
  114. package/bin/exiftool_files/lib/Image/ExifTool/Nikon.pm +845 -355
  115. package/bin/exiftool_files/lib/Image/ExifTool/NikonCapture.pm +1 -1
  116. package/bin/exiftool_files/lib/Image/ExifTool/NikonCustom.pm +140 -107
  117. package/bin/exiftool_files/lib/Image/ExifTool/NikonSettings.pm +1 -1
  118. package/bin/exiftool_files/lib/Image/ExifTool/Nintendo.pm +1 -1
  119. package/bin/exiftool_files/lib/Image/ExifTool/OOXML.pm +1 -1
  120. package/bin/exiftool_files/lib/Image/ExifTool/Ogg.pm +1 -1
  121. package/bin/exiftool_files/lib/Image/ExifTool/Olympus.pm +6 -4
  122. package/bin/exiftool_files/lib/Image/ExifTool/OpenEXR.pm +1 -1
  123. package/bin/exiftool_files/lib/Image/ExifTool/Opus.pm +1 -1
  124. package/bin/exiftool_files/lib/Image/ExifTool/Other.pm +1 -1
  125. package/bin/exiftool_files/lib/Image/ExifTool/PCX.pm +1 -1
  126. package/bin/exiftool_files/lib/Image/ExifTool/PDF.pm +1 -1
  127. package/bin/exiftool_files/lib/Image/ExifTool/PGF.pm +1 -1
  128. package/bin/exiftool_files/lib/Image/ExifTool/PICT.pm +1 -1
  129. package/bin/exiftool_files/lib/Image/ExifTool/PLIST.pm +12 -7
  130. package/bin/exiftool_files/lib/Image/ExifTool/PLUS.pm +1 -1
  131. package/bin/exiftool_files/lib/Image/ExifTool/PNG.pm +9 -2
  132. package/bin/exiftool_files/lib/Image/ExifTool/PPM.pm +1 -1
  133. package/bin/exiftool_files/lib/Image/ExifTool/PSP.pm +1 -1
  134. package/bin/exiftool_files/lib/Image/ExifTool/Palm.pm +1 -1
  135. package/bin/exiftool_files/lib/Image/ExifTool/Panasonic.pm +1 -1
  136. package/bin/exiftool_files/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
  137. package/bin/exiftool_files/lib/Image/ExifTool/Parrot.pm +1 -1
  138. package/bin/exiftool_files/lib/Image/ExifTool/Pentax.pm +8 -3
  139. package/bin/exiftool_files/lib/Image/ExifTool/PhaseOne.pm +1 -1
  140. package/bin/exiftool_files/lib/Image/ExifTool/PhotoCD.pm +1 -1
  141. package/bin/exiftool_files/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
  142. package/bin/exiftool_files/lib/Image/ExifTool/Photoshop.pm +1 -1
  143. package/bin/exiftool_files/lib/Image/ExifTool/PostScript.pm +1 -1
  144. package/bin/exiftool_files/lib/Image/ExifTool/PrintIM.pm +1 -1
  145. package/bin/exiftool_files/lib/Image/ExifTool/Qualcomm.pm +1 -1
  146. package/bin/exiftool_files/lib/Image/ExifTool/QuickTime.pm +52 -9
  147. package/bin/exiftool_files/lib/Image/ExifTool/QuickTimeStream.pl +95 -14
  148. package/bin/exiftool_files/lib/Image/ExifTool/README +6 -1
  149. package/bin/exiftool_files/lib/Image/ExifTool/RIFF.pm +1 -1
  150. package/bin/exiftool_files/lib/Image/ExifTool/RSRC.pm +1 -1
  151. package/bin/exiftool_files/lib/Image/ExifTool/RTF.pm +1 -1
  152. package/bin/exiftool_files/lib/Image/ExifTool/Radiance.pm +1 -1
  153. package/bin/exiftool_files/lib/Image/ExifTool/Rawzor.pm +1 -1
  154. package/bin/exiftool_files/lib/Image/ExifTool/Real.pm +1 -1
  155. package/bin/exiftool_files/lib/Image/ExifTool/Reconyx.pm +1 -1
  156. package/bin/exiftool_files/lib/Image/ExifTool/Red.pm +1 -1
  157. package/bin/exiftool_files/lib/Image/ExifTool/Ricoh.pm +1 -1
  158. package/bin/exiftool_files/lib/Image/ExifTool/Samsung.pm +3 -1
  159. package/bin/exiftool_files/lib/Image/ExifTool/Sanyo.pm +1 -1
  160. package/bin/exiftool_files/lib/Image/ExifTool/Scalado.pm +1 -1
  161. package/bin/exiftool_files/lib/Image/ExifTool/Shift.pl +1 -1
  162. package/bin/exiftool_files/lib/Image/ExifTool/Shortcuts.pm +1 -1
  163. package/bin/exiftool_files/lib/Image/ExifTool/Sigma.pm +1 -1
  164. package/bin/exiftool_files/lib/Image/ExifTool/SigmaRaw.pm +1 -1
  165. package/bin/exiftool_files/lib/Image/ExifTool/Sony.pm +35 -20
  166. package/bin/exiftool_files/lib/Image/ExifTool/SonyIDC.pm +1 -1
  167. package/bin/exiftool_files/lib/Image/ExifTool/Stim.pm +1 -1
  168. package/bin/exiftool_files/lib/Image/ExifTool/TagInfoXML.pm +15 -8
  169. package/bin/exiftool_files/lib/Image/ExifTool/TagLookup.pm +4672 -4568
  170. package/bin/exiftool_files/lib/Image/ExifTool/TagNames.pod +357 -46
  171. package/bin/exiftool_files/lib/Image/ExifTool/Text.pm +1 -1
  172. package/bin/exiftool_files/lib/Image/ExifTool/Theora.pm +1 -1
  173. package/bin/exiftool_files/lib/Image/ExifTool/Torrent.pm +1 -1
  174. package/bin/exiftool_files/lib/Image/ExifTool/Unknown.pm +1 -1
  175. package/bin/exiftool_files/lib/Image/ExifTool/VCard.pm +1 -1
  176. package/bin/exiftool_files/lib/Image/ExifTool/Validate.pm +1 -1
  177. package/bin/exiftool_files/lib/Image/ExifTool/Vorbis.pm +1 -1
  178. package/bin/exiftool_files/lib/Image/ExifTool/WTV.pm +1 -1
  179. package/bin/exiftool_files/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
  180. package/bin/exiftool_files/lib/Image/ExifTool/WriteExif.pl +14 -1
  181. package/bin/exiftool_files/lib/Image/ExifTool/WriteIPTC.pl +1 -1
  182. package/bin/exiftool_files/lib/Image/ExifTool/WritePDF.pl +5 -1
  183. package/bin/exiftool_files/lib/Image/ExifTool/WritePNG.pl +1 -1
  184. package/bin/exiftool_files/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
  185. package/bin/exiftool_files/lib/Image/ExifTool/WritePostScript.pl +1 -1
  186. package/bin/exiftool_files/lib/Image/ExifTool/WriteQuickTime.pl +30 -14
  187. package/bin/exiftool_files/lib/Image/ExifTool/WriteRIFF.pl +1 -1
  188. package/bin/exiftool_files/lib/Image/ExifTool/WriteXMP.pl +16 -2
  189. package/bin/exiftool_files/lib/Image/ExifTool/Writer.pl +35 -15
  190. package/bin/exiftool_files/lib/Image/ExifTool/XMP.pm +25 -4
  191. package/bin/exiftool_files/lib/Image/ExifTool/XMP2.pl +29 -2
  192. package/bin/exiftool_files/lib/Image/ExifTool/XMPStruct.pl +1 -1
  193. package/bin/exiftool_files/lib/Image/ExifTool/ZIP.pm +20 -8
  194. package/bin/exiftool_files/lib/Image/ExifTool/ZISRAW.pm +1 -1
  195. package/bin/exiftool_files/lib/Image/ExifTool/iWork.pm +1 -1
  196. package/bin/exiftool_files/lib/Image/ExifTool.pm +45 -20
  197. package/bin/exiftool_files/lib/Image/ExifTool.pod +48 -46
  198. package/package.json +3 -3
@@ -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
@@ -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.
@@ -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
  my $exePath;
@@ -1023,8 +1023,12 @@ for (;;) {
1023
1023
  }
1024
1024
  if (/^if(\d*)$/i) {
1025
1025
  my $cond = shift;
1026
- $fastCondition = $1 if length $1;
1026
+ my $fast = length($1) ? $1 : undef;
1027
1027
  defined $cond or Error("Expecting expression for -if option\n"), $badCmd=1, next;
1028
+ # use lowest -fast setting if multiple conditions
1029
+ if (not @condition or not defined $fast or (defined $fastCondition and $fastCondition > $fast)) {
1030
+ $fastCondition = $fast;
1031
+ }
1028
1032
  # prevent processing file unnecessarily for simple case of failed '$ok' or 'not $ok'
1029
1033
  $cond =~ /^\s*(not\s*)\$ok\s*$/i and ($1 xor $rtnValPrev) and $failCondition=1;
1030
1034
  # add to list of requested tags
@@ -2345,7 +2349,8 @@ TAG: foreach $tag (@foundTags) {
2345
2349
  $group = $et->GetGroup($tag, $showGroup);
2346
2350
  # look ahead to see if this tag may suppress a priority tag in
2347
2351
  # the same group, and if so suppress this tag instead
2348
- next if $noDups and $tag =~ /^(.*?) \(/ and defined $$info{$1} and
2352
+ # (note that the tag key may look like "TAG #(1)" when the "#" feature is used)
2353
+ next if $noDups and $tag =~ /^(.*?) ?\(/ and defined $$info{$1} and
2349
2354
  $group eq $et->GetGroup($1, $showGroup);
2350
2355
  $group = 'Unknown' if not $group and ($xml or $json or $csv);
2351
2356
  if ($fp and not ($allGroup or $csv)) {
@@ -2370,7 +2375,7 @@ TAG: foreach $tag (@foundTags) {
2370
2375
  }
2371
2376
  } elsif ($noDups) {
2372
2377
  # don't allow duplicates, but avoid suppressing the priority tag
2373
- next if $tag =~ /^(.*?) \(/ and defined $$info{$1};
2378
+ next if $tag =~ /^(.*?) ?\(/ and defined $$info{$1};
2374
2379
  }
2375
2380
 
2376
2381
  ++$lineCount; # we are printing something meaningful
@@ -4774,7 +4779,7 @@ OPTIONS
4774
4779
  tags exist. To use this feature to bypass processing of a specific
4775
4780
  XMP property, the property name must be used instead of the
4776
4781
  ExifTool tag name (eg. "--xmp-crs:dabs"). Also, "XMP-all" may be
4777
- used to to indicate any XMP namespace (eg. <C--xmp-all:dabs>).
4782
+ used to to indicate any XMP namespace (eg. "--xmp-all:dabs").
4778
4783
 
4779
4784
  -*TAG*[+-^]=[*VALUE*]
4780
4785
  Write a new value for the specified tag (eg. "-comment=wow"), or
@@ -5350,9 +5355,11 @@ OPTIONS
5350
5355
  tags for all target files which are combined with any tags
5351
5356
  specified for the specific SourceFile processed. The imported JSON
5352
5357
  file must have the same format as the exported JSON files with the
5353
- exception that the -g option is not compatible with the import file
5354
- format (use -G instead). Additionally, tag names in the input JSON
5355
- file may be suffixed with a "#" to disable print conversion.
5358
+ exception that options exporting JSON objects instead of simple
5359
+ values are not compatible with the import file format (ie. export
5360
+ with -D, -H, -l, or -T is not compatable, and use -G instead of
5361
+ -g). Additionally, tag names in the input JSON file may be suffixed
5362
+ with a "#" to disable print conversion.
5356
5363
 
5357
5364
  Unlike CSV import, empty values are not ignored, and will cause an
5358
5365
  empty value to be written if supported by the specific metadata
@@ -5494,7 +5501,7 @@ OPTIONS
5494
5501
 
5495
5502
  produces output like this:
5496
5503
 
5497
- -- Generated by ExifTool 12.49 --
5504
+ -- Generated by ExifTool 12.54 --
5498
5505
  File: a.jpg - 2003:10:31 15:44:19
5499
5506
  (f/5.6, 1/60s, ISO 100)
5500
5507
  File: b.jpg - 2006:05:23 11:57:38
@@ -5915,12 +5922,15 @@ OPTIONS
5915
5922
  images directly from disk, but can be substantial if piping images
5916
5923
  through a network connection. For more substantial speed benefits,
5917
5924
  -fast2 also causes exiftool to avoid extracting any EXIF MakerNote
5918
- information. -fast3 avoids extracting metadata from the file, and
5919
- returns only pseudo System tags, but still reads the file header to
5920
- obtain an educated guess at FileType. -fast4 doesn't even read the
5921
- file header, and returns only System tags and a FileType based on
5922
- the file extension. -fast5 also disables generation of the
5923
- Composite tags (like -e). Has no effect when writing.
5925
+ information, and to stop processing at the IDAT chunk of PNG images
5926
+ and the mdat atom of QuickTime-format files (but note that some
5927
+ files may store metadata after this). -fast3 avoids extracting
5928
+ metadata from the file, and returns only pseudo System tags, but
5929
+ still reads the file header to obtain an educated guess at
5930
+ FileType. -fast4 doesn't even read the file header, and returns
5931
+ only System tags and a FileType based on the file extension. -fast5
5932
+ also disables generation of the Composite tags (like -e). Has no
5933
+ effect when writing.
5924
5934
 
5925
5935
  Note that a separate -fast setting may be used for evaluation of a
5926
5936
  -if condition, or when ordering files with the -fileOrder option.
@@ -5939,14 +5949,15 @@ OPTIONS
5939
5949
  (eg. "-fileOrder -createdate"). Print conversion of the sorted
5940
5950
  values is disabled with the -n option, or a "#" appended to the tag
5941
5951
  name. Other formatting options (eg. -d) have no effect on the
5942
- sorted values. Note that the -fileOrder option can have a large
5943
- performance impact since it involves an additional processing pass
5944
- of each file, but this impact may be reduced by specifying a *NUM*
5945
- for the -fast level used during the metadata-extraction phase. For
5946
- example, -fileOrder4 may be used if *TAG* is a pseudo System tag.
5947
- If multiple -fileOrder options are used, the extraction is done at
5948
- the lowest -fast level. Note that files are sorted across directory
5949
- boundaries if multiple input directories are specified.
5952
+ sorted values. Note that the -fileOrder option can incur large
5953
+ performance penalty since it involves an additional initial
5954
+ processing pass of all files, but this impact may be reduced by
5955
+ specifying a *NUM* to effectively set the -fast level for the
5956
+ initial pass. For example, -fileOrder4 may be used if *TAG* is a
5957
+ pseudo System tag. If multiple -fileOrder options are used, the
5958
+ extraction is done at the lowest -fast level. Note that files are
5959
+ sorted across directory boundaries if multiple input directories
5960
+ are specified.
5950
5961
 
5951
5962
  -i *DIR* (-ignore)
5952
5963
  Ignore specified directory name. *DIR* may be either an individual
@@ -6280,12 +6291,13 @@ OPTIONS
6280
6291
 
6281
6292
  When combined with -listx, the -s option shortens the output by
6282
6293
  omitting the descriptions and values (as in the last example
6283
- above), and -f adds a 'flags' attribute if applicable. The flags
6284
- are formatted as a comma-separated list of the following possible
6285
- values: Avoid, Binary, List, Mandatory, Permanent, Protected,
6286
- Unknown and Unsafe (see the Tag Name documentation). For XMP List
6287
- tags, the list type (Alt, Bag or Seq) is added to the flags, and
6288
- flattened structure tags are indicated by a Flattened flag.
6294
+ above), and -f adds 'flags' and 'struct' attributes if applicable.
6295
+ The flags are formatted as a comma-separated list of the following
6296
+ possible values: Avoid, Binary, List, Mandatory, Permanent,
6297
+ Protected, Unknown and Unsafe (see the Tag Name documentation). For
6298
+ XMP List tags, the list type (Alt, Bag or Seq) is added to the
6299
+ flags, and flattened structure tags are indicated by a Flattened
6300
+ flag with 'struct' giving the ID of the parent structure.
6289
6301
 
6290
6302
  Note that none of the -list options require an input *FILE*.
6291
6303
 
@@ -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.