exiftool-vendored.pl 12.33.0 → 12.40.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 (205) hide show
  1. package/LICENSE +10 -3
  2. package/bin/Changes +116 -0
  3. package/bin/MANIFEST +2 -0
  4. package/bin/META.json +1 -1
  5. package/bin/META.yml +1 -1
  6. package/bin/README +45 -45
  7. package/bin/config_files/acdsee.config +6 -6
  8. package/bin/config_files/photoshop_paths.config +30 -7
  9. package/bin/config_files/picasa_faces.config +1 -1
  10. package/bin/config_files/pix4d.config +2 -2
  11. package/bin/config_files/tiff_version.config +2 -2
  12. package/bin/exiftool +112 -82
  13. package/bin/lib/File/RandomAccess.pm +1 -1
  14. package/bin/lib/File/RandomAccess.pod +2 -2
  15. package/bin/lib/Image/ExifTool/AES.pm +1 -1
  16. package/bin/lib/Image/ExifTool/AFCP.pm +1 -1
  17. package/bin/lib/Image/ExifTool/AIFF.pm +1 -1
  18. package/bin/lib/Image/ExifTool/APE.pm +1 -1
  19. package/bin/lib/Image/ExifTool/APP12.pm +1 -1
  20. package/bin/lib/Image/ExifTool/ASF.pm +1 -1
  21. package/bin/lib/Image/ExifTool/Apple.pm +1 -1
  22. package/bin/lib/Image/ExifTool/Audible.pm +1 -1
  23. package/bin/lib/Image/ExifTool/BMP.pm +1 -1
  24. package/bin/lib/Image/ExifTool/BPG.pm +1 -1
  25. package/bin/lib/Image/ExifTool/BZZ.pm +1 -1
  26. package/bin/lib/Image/ExifTool/BigTIFF.pm +1 -1
  27. package/bin/lib/Image/ExifTool/BuildTagLookup.pm +15 -4
  28. package/bin/lib/Image/ExifTool/CBOR.pm +1 -1
  29. package/bin/lib/Image/ExifTool/Canon.pm +225 -13
  30. package/bin/lib/Image/ExifTool/CanonCustom.pm +13 -3
  31. package/bin/lib/Image/ExifTool/CanonRaw.pm +1 -1
  32. package/bin/lib/Image/ExifTool/CanonVRD.pm +1 -1
  33. package/bin/lib/Image/ExifTool/CaptureOne.pm +1 -1
  34. package/bin/lib/Image/ExifTool/Casio.pm +1 -1
  35. package/bin/lib/Image/ExifTool/Charset.pm +3 -1
  36. package/bin/lib/Image/ExifTool/DICOM.pm +1 -1
  37. package/bin/lib/Image/ExifTool/DJI.pm +1 -1
  38. package/bin/lib/Image/ExifTool/DNG.pm +1 -1
  39. package/bin/lib/Image/ExifTool/DPX.pm +1 -1
  40. package/bin/lib/Image/ExifTool/DV.pm +1 -1
  41. package/bin/lib/Image/ExifTool/DarwinCore.pm +3 -3
  42. package/bin/lib/Image/ExifTool/DjVu.pm +1 -1
  43. package/bin/lib/Image/ExifTool/EXE.pm +1 -1
  44. package/bin/lib/Image/ExifTool/Exif.pm +64 -20
  45. package/bin/lib/Image/ExifTool/FITS.pm +1 -1
  46. package/bin/lib/Image/ExifTool/FLAC.pm +1 -1
  47. package/bin/lib/Image/ExifTool/FLIF.pm +1 -1
  48. package/bin/lib/Image/ExifTool/FLIR.pm +48 -11
  49. package/bin/lib/Image/ExifTool/Fixup.pm +1 -1
  50. package/bin/lib/Image/ExifTool/Flash.pm +1 -1
  51. package/bin/lib/Image/ExifTool/FlashPix.pm +1 -1
  52. package/bin/lib/Image/ExifTool/Font.pm +1 -1
  53. package/bin/lib/Image/ExifTool/FotoStation.pm +1 -1
  54. package/bin/lib/Image/ExifTool/FujiFilm.pm +1 -1
  55. package/bin/lib/Image/ExifTool/GE.pm +1 -1
  56. package/bin/lib/Image/ExifTool/GIF.pm +6 -2
  57. package/bin/lib/Image/ExifTool/GIMP.pm +1 -1
  58. package/bin/lib/Image/ExifTool/GPS.pm +15 -11
  59. package/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
  60. package/bin/lib/Image/ExifTool/Geotag.pm +4 -3
  61. package/bin/lib/Image/ExifTool/GoPro.pm +1 -1
  62. package/bin/lib/Image/ExifTool/H264.pm +1 -1
  63. package/bin/lib/Image/ExifTool/HP.pm +1 -1
  64. package/bin/lib/Image/ExifTool/HTML.pm +1 -1
  65. package/bin/lib/Image/ExifTool/HtmlDump.pm +1 -1
  66. package/bin/lib/Image/ExifTool/ICC_Profile.pm +97 -5
  67. package/bin/lib/Image/ExifTool/ID3.pm +1 -1
  68. package/bin/lib/Image/ExifTool/IPTC.pm +1 -1
  69. package/bin/lib/Image/ExifTool/ISO.pm +1 -1
  70. package/bin/lib/Image/ExifTool/ITC.pm +1 -1
  71. package/bin/lib/Image/ExifTool/Import.pm +1 -1
  72. package/bin/lib/Image/ExifTool/InDesign.pm +1 -1
  73. package/bin/lib/Image/ExifTool/JPEG.pm +6 -2
  74. package/bin/lib/Image/ExifTool/JPEGDigest.pm +1 -1
  75. package/bin/lib/Image/ExifTool/JSON.pm +1 -1
  76. package/bin/lib/Image/ExifTool/JVC.pm +1 -1
  77. package/bin/lib/Image/ExifTool/Jpeg2000.pm +109 -12
  78. package/bin/lib/Image/ExifTool/Kodak.pm +1 -1
  79. package/bin/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
  80. package/bin/lib/Image/ExifTool/LIF.pm +1 -1
  81. package/bin/lib/Image/ExifTool/LNK.pm +1 -1
  82. package/bin/lib/Image/ExifTool/Lang/cs.pm +1 -1
  83. package/bin/lib/Image/ExifTool/Lang/de.pm +1 -1
  84. package/bin/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
  85. package/bin/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
  86. package/bin/lib/Image/ExifTool/Lang/es.pm +1 -1
  87. package/bin/lib/Image/ExifTool/Lang/fi.pm +1 -1
  88. package/bin/lib/Image/ExifTool/Lang/fr.pm +1 -1
  89. package/bin/lib/Image/ExifTool/Lang/it.pm +1 -1
  90. package/bin/lib/Image/ExifTool/Lang/ja.pm +1 -1
  91. package/bin/lib/Image/ExifTool/Lang/ko.pm +1 -1
  92. package/bin/lib/Image/ExifTool/Lang/nl.pm +1 -1
  93. package/bin/lib/Image/ExifTool/Lang/pl.pm +1 -1
  94. package/bin/lib/Image/ExifTool/Lang/ru.pm +1 -1
  95. package/bin/lib/Image/ExifTool/Lang/sv.pm +1 -1
  96. package/bin/lib/Image/ExifTool/Lang/tr.pm +1 -1
  97. package/bin/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
  98. package/bin/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
  99. package/bin/lib/Image/ExifTool/Leaf.pm +1 -1
  100. package/bin/lib/Image/ExifTool/Lytro.pm +1 -1
  101. package/bin/lib/Image/ExifTool/M2TS.pm +1 -1
  102. package/bin/lib/Image/ExifTool/MIE.pm +1 -1
  103. package/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
  104. package/bin/lib/Image/ExifTool/MIFF.pm +1 -1
  105. package/bin/lib/Image/ExifTool/MNG.pm +1 -1
  106. package/bin/lib/Image/ExifTool/MOI.pm +1 -1
  107. package/bin/lib/Image/ExifTool/MPC.pm +1 -1
  108. package/bin/lib/Image/ExifTool/MPEG.pm +1 -1
  109. package/bin/lib/Image/ExifTool/MPF.pm +1 -1
  110. package/bin/lib/Image/ExifTool/MRC.pm +1 -1
  111. package/bin/lib/Image/ExifTool/MWG.pm +1 -1
  112. package/bin/lib/Image/ExifTool/MXF.pm +1 -1
  113. package/bin/lib/Image/ExifTool/MacOS.pm +1 -1
  114. package/bin/lib/Image/ExifTool/MakerNotes.pm +1 -1
  115. package/bin/lib/Image/ExifTool/Matroska.pm +9 -5
  116. package/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
  117. package/bin/lib/Image/ExifTool/Minolta.pm +1 -1
  118. package/bin/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
  119. package/bin/lib/Image/ExifTool/Motorola.pm +1 -1
  120. package/bin/lib/Image/ExifTool/Nikon.pm +1918 -72
  121. package/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
  122. package/bin/lib/Image/ExifTool/NikonCustom.pm +523 -6
  123. package/bin/lib/Image/ExifTool/NikonSettings.pm +150 -87
  124. package/bin/lib/Image/ExifTool/Nintendo.pm +1 -1
  125. package/bin/lib/Image/ExifTool/OOXML.pm +1 -1
  126. package/bin/lib/Image/ExifTool/Ogg.pm +1 -1
  127. package/bin/lib/Image/ExifTool/Olympus.pm +7 -7
  128. package/bin/lib/Image/ExifTool/OpenEXR.pm +5 -3
  129. package/bin/lib/Image/ExifTool/Opus.pm +1 -1
  130. package/bin/lib/Image/ExifTool/Other.pm +1 -1
  131. package/bin/lib/Image/ExifTool/PCX.pm +1 -1
  132. package/bin/lib/Image/ExifTool/PDF.pm +6 -4
  133. package/bin/lib/Image/ExifTool/PGF.pm +1 -1
  134. package/bin/lib/Image/ExifTool/PICT.pm +1 -1
  135. package/bin/lib/Image/ExifTool/PLIST.pm +1 -1
  136. package/bin/lib/Image/ExifTool/PLUS.pm +1 -1
  137. package/bin/lib/Image/ExifTool/PNG.pm +29 -8
  138. package/bin/lib/Image/ExifTool/PPM.pm +1 -1
  139. package/bin/lib/Image/ExifTool/PSP.pm +1 -1
  140. package/bin/lib/Image/ExifTool/Palm.pm +1 -1
  141. package/bin/lib/Image/ExifTool/Panasonic.pm +1 -1
  142. package/bin/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
  143. package/bin/lib/Image/ExifTool/Parrot.pm +1 -1
  144. package/bin/lib/Image/ExifTool/Pentax.pm +3 -2
  145. package/bin/lib/Image/ExifTool/PhaseOne.pm +1 -1
  146. package/bin/lib/Image/ExifTool/PhotoCD.pm +1 -1
  147. package/bin/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
  148. package/bin/lib/Image/ExifTool/Photoshop.pm +1 -1
  149. package/bin/lib/Image/ExifTool/PostScript.pm +1 -1
  150. package/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
  151. package/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
  152. package/bin/lib/Image/ExifTool/QuickTime.pm +25 -7
  153. package/bin/lib/Image/ExifTool/QuickTimeStream.pl +40 -4
  154. package/bin/lib/Image/ExifTool/README +4 -0
  155. package/bin/lib/Image/ExifTool/RIFF.pm +1 -1
  156. package/bin/lib/Image/ExifTool/RSRC.pm +1 -1
  157. package/bin/lib/Image/ExifTool/RTF.pm +1 -1
  158. package/bin/lib/Image/ExifTool/Radiance.pm +1 -1
  159. package/bin/lib/Image/ExifTool/Rawzor.pm +1 -1
  160. package/bin/lib/Image/ExifTool/Real.pm +1 -1
  161. package/bin/lib/Image/ExifTool/Reconyx.pm +1 -1
  162. package/bin/lib/Image/ExifTool/Red.pm +1 -1
  163. package/bin/lib/Image/ExifTool/Ricoh.pm +1 -1
  164. package/bin/lib/Image/ExifTool/Samsung.pm +6 -2
  165. package/bin/lib/Image/ExifTool/Sanyo.pm +1 -1
  166. package/bin/lib/Image/ExifTool/Scalado.pm +1 -1
  167. package/bin/lib/Image/ExifTool/Shift.pl +3 -1
  168. package/bin/lib/Image/ExifTool/Shortcuts.pm +1 -1
  169. package/bin/lib/Image/ExifTool/Sigma.pm +1 -1
  170. package/bin/lib/Image/ExifTool/SigmaRaw.pm +1 -1
  171. package/bin/lib/Image/ExifTool/Sony.pm +34 -12
  172. package/bin/lib/Image/ExifTool/SonyIDC.pm +1 -1
  173. package/bin/lib/Image/ExifTool/Stim.pm +1 -1
  174. package/bin/lib/Image/ExifTool/TagInfoXML.pm +11 -6
  175. package/bin/lib/Image/ExifTool/TagLookup.pm +6581 -5893
  176. package/bin/lib/Image/ExifTool/TagNames.pod +1641 -59
  177. package/bin/lib/Image/ExifTool/Text.pm +1 -1
  178. package/bin/lib/Image/ExifTool/Theora.pm +1 -1
  179. package/bin/lib/Image/ExifTool/Torrent.pm +1 -1
  180. package/bin/lib/Image/ExifTool/Unknown.pm +1 -1
  181. package/bin/lib/Image/ExifTool/VCard.pm +1 -1
  182. package/bin/lib/Image/ExifTool/Validate.pm +1 -1
  183. package/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
  184. package/bin/lib/Image/ExifTool/WTV.pm +1 -1
  185. package/bin/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
  186. package/bin/lib/Image/ExifTool/WriteExif.pl +1 -1
  187. package/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
  188. package/bin/lib/Image/ExifTool/WritePDF.pl +1 -1
  189. package/bin/lib/Image/ExifTool/WritePNG.pl +30 -10
  190. package/bin/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
  191. package/bin/lib/Image/ExifTool/WritePostScript.pl +1 -1
  192. package/bin/lib/Image/ExifTool/WriteQuickTime.pl +19 -4
  193. package/bin/lib/Image/ExifTool/WriteXMP.pl +13 -12
  194. package/bin/lib/Image/ExifTool/Writer.pl +56 -10
  195. package/bin/lib/Image/ExifTool/XMP.pm +169 -54
  196. package/bin/lib/Image/ExifTool/XMP2.pl +6 -4
  197. package/bin/lib/Image/ExifTool/XMPStruct.pl +22 -8
  198. package/bin/lib/Image/ExifTool/ZIP.pm +10 -2
  199. package/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
  200. package/bin/lib/Image/ExifTool/iWork.pm +1 -1
  201. package/bin/lib/Image/ExifTool.pm +93 -13
  202. package/bin/lib/Image/ExifTool.pod +80 -70
  203. package/bin/perl-Image-ExifTool.spec +43 -43
  204. package/bin/pp_build_exe.args +5 -5
  205. package/package.json +3 -3
package/LICENSE CHANGED
@@ -1,6 +1,13 @@
1
- MIT License
1
+ # Vendored ExifTool source
2
2
 
3
- Copyright (c) 2016-2019 Matthew McEachen
3
+ This is free software; you can redistribute it and/or modify it under the same
4
+ terms as Perl itself: <https://dev.perl.org/licenses/>
5
+
6
+ ---
7
+
8
+ # npm packaging of exiftool-vendored.pl
9
+
10
+ Copyright (c) 2016-2022 Matthew McEachen
4
11
 
5
12
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
13
  of this software and associated documentation files (the "Software"), to deal
@@ -18,4 +25,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
25
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
26
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
27
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
28
+ SOFTWARE.
package/bin/Changes CHANGED
@@ -7,6 +7,119 @@ RSS feed: https://exiftool.org/rss.xml
7
7
  Note: The most recent production release is Version 12.30. (Other versions are
8
8
  considered development releases, and are not uploaded to MetaCPAN.)
9
9
 
10
+ Feb. 9, 2022 - Version 12.40
11
+
12
+ - Added a new Nikon LensID (thanks Wolfgang Exler)
13
+ - Added PageCount tag to return the number of pages in a multi-page TIFF
14
+ - Added a few more Sony LensTypes (thanks Jos Roost)
15
+ - Decode some new Canon tags (thanks Mark Reid)
16
+ - Decode another Nikon Z9 tag (thanks Warren Hatch)
17
+ - Decode Nikon NKSC GPSImgDirection (thanks Olaf)
18
+ - Improved handling of empty XMP structures in lists
19
+ - Tolerate leading UTF-8 BOM in -geotag log files
20
+ - Updated photoshop_paths.config to include WorkingPath
21
+ - Patched to allow writing of MP4 videos which have url tracks with a missing
22
+ sample description entry
23
+ - Fixed typo in the name of a new Nikon tag (thanks Herb)
24
+ - Fixed description of GPR (General Purpose RAW) file type
25
+ - Fixed potential deep recursion runtime error when writing nested XMP
26
+ structures
27
+ - Fixed warning which could be generated when writing new
28
+ Composite:GPSCoordinates tag
29
+ - Fixed deep recursion error when reading multi-page TIFF images with more
30
+ than 100 pages
31
+
32
+ Jan. 13, 2022 - Version 12.39
33
+
34
+ - Added a new Pentax LensType (thanks Christian Shulz)
35
+ - Added a couple of new Nikon LensID's
36
+ - Added support for Nikon NKSC sidecar files
37
+ - Decode more tags for the Nikon Z7 and Z9 (thanks Warren Hatch)
38
+ - Decode a couple more FLIR tags
39
+ - Extract ZIP file comments
40
+ - Made PNG ProfileName, SRGBRendering and Gamma writable
41
+ - Patched to avoid possible problem running "more" to show documentation in
42
+ Windows version
43
+ - Fixed problem writing Composite:GPSPosition with coordinates in DMS format,
44
+ and made this tag protected when writing
45
+ - Fixed bug where invalid date/time tags could be written to PNG files when
46
+ attempting to shift a non-existent date/time tag
47
+ - Fixed spelling of a few Matroska tag names (thanks Martin Hoppenheit)
48
+
49
+ Dec. 20, 2021 - Version 12.38
50
+
51
+ - Decode a number of new tags for the Nikon Z9 (thanks Warren Hatch)
52
+ - Patched incorrect decoding of AEBShotCount for the Canon EOS 90D
53
+ - Patched EXR reader to support long tag names
54
+ - Patched security issue (thanks Joe Lothan)
55
+ - Fixed an incorrect tag ID for a new Nikon MakerNote tag (github #108)
56
+ - Fixed XMP-exif:GPSMeasureMode conversions to match EXIF
57
+ - Fixed problem where some namespaces may be undeclared in the -X output when
58
+ using the -struct option
59
+
60
+ Dec. 8, 2021 - Version 12.37
61
+
62
+ - Decode timed GPS from Vantrue S1 dashcam MP4 videos
63
+ - Decode ColorData tags for the Canon EOS R3 (thanks LibRaw)
64
+ - Decode more makernotes tags for Nikon Z cameras (thanks Warren Hatch)
65
+ - Extract TransparentColor from GIF images
66
+ - Improved parsing of input time values for GPSTimeStamp to properly handle a
67
+ "." separator
68
+ - Improved warning when incorrectly using "
69
+
70
+ Nov. 16, 2021 - Version 12.36
71
+
72
+ - IMPORTANT: Fixed bug introduced in 12.35 which corrupted JPEG 2000 images
73
+ when removing all metadata with -all=
74
+ - Added feature to bypass processing of specified XMP namespaces and
75
+ properties (to improve performance in cases where the XMP suffers from
76
+ Adobe-editing bloat)
77
+ - Added a number of new XMP tags used by Lightroom 11.0
78
+ - Decode a number of new Nikon tags (thanks Warren Hatch)
79
+ - Made the Composite GPSPosition tag writable
80
+ - Fixed erroneous "Skipped unknown bytes after JPEG SOS" warning
81
+ - Fixed group for new writable Jpeg2000 color tags in -listx output
82
+ - Fixed problem finding files in Windows when using wildcards in file name and
83
+ a drive letter with no slash
84
+
85
+ Nov. 11, 2021 - Version 12.35
86
+
87
+ - Added ability to write ICC_Profile (and other color specifications) to
88
+ Jpeg2000 images
89
+ - Added %o code to -W option format string
90
+ - Added %f code to -d option for fractional seconds
91
+ - Added a couple of new Sony LensType values (thanks Jos Roost)
92
+ - Added a new CanonModelID (thanks Norbert Wasser)
93
+ - Added a new Nikon LensID
94
+ - Decode more Nikon MakerNotes tags for some new models (thanks Warren Hatch)
95
+ - Extract ThumbnailImage from some DJI drone videos
96
+ - Enhanced -ee option to extract metadata from all frames in a SEQ file
97
+ - Patched to avoid possible "Use of uninitialized value" runtime warning
98
+ - Fixed a couple of misspelt new ICC_Profile tag names (thanks Herb)
99
+ - Fixed problem generating the correct file extension when extracting
100
+ OriginalRawImage from a DNG file using the -W option with the %s format code
101
+ - Fixed bug introduced in 11.91 where exiftool couldn't find its libraries
102
+ when run via a soft link. Also changed to look for config file in the link
103
+ target directory instead of the directory of the link itself
104
+
105
+ Oct. 27, 2021 - Version 12.34
106
+
107
+ - Added support for ICC.2:2019 (Profile version 5.0.0 - iccMAX) color profiles
108
+ - Added ability to detect/delete a Windows Zone.Identifier alternate data
109
+ stream (ADS) via the new ZoneIdentifier tag (thanks Alex Xu)
110
+ - Added support for the Sony ILCE-7M4 (thanks Jos Roost)
111
+ - Added a new Sony lens (thanks LibRaw and Jos Roost)
112
+ - Added a new SonyModelID (thanks LibRaw)
113
+ - Added a new Canon RF lens (thanks Norbert Wasser)
114
+ - Improved handling of some SVG files
115
+ - Patched -overwrite_original_in_place option to open the output file in
116
+ update mode rather than write mode (to allow some write optimizations on
117
+ certain filesystems) (thanks Joel Low)
118
+ - Fixed case of tag ID for new XMP-iptcExt:EventID (thanks Michael Steidl)
119
+ - Fixed problem extracting ICC_Profile information from some PDF files
120
+ - API Changes:
121
+ - Added QuickTimePad option
122
+
10
123
  Oct. 16, 2021 - Version 12.33
11
124
 
12
125
  - Added support for DNG version 1.6.0.0
@@ -135,6 +248,8 @@ May 20, 2021 - Version 12.26 (production release)
135
248
  - Fixed problem which could cause a "Wide character" warning and generate a
136
249
  corrupted output file when writing some illegal values
137
250
 
251
+ History of older versions (back to Nov. 19, 2003 - Version 1.00) -->
252
+
138
253
  Apr. 22, 2021 - Version 12.25
139
254
 
140
255
  - JPEG XL support is now official
@@ -617,6 +732,7 @@ Mar. 19, 2020 - Version 11.92
617
732
 
618
733
  Mar. 5, 2020 - Version 11.91
619
734
 
735
+ - Added undocumented -xpath option for use by alternate Windows version
620
736
  - Decode a couple of new Panasonic tags
621
737
  - Documented -ec option (available since version 11.54)
622
738
  - Reverted -htmlDump fix of 11.90 because it broke more than it fixed, and
package/bin/MANIFEST CHANGED
@@ -194,6 +194,7 @@ html/idiosyncracies.html
194
194
  html/index.html
195
195
  html/install.html
196
196
  html/metafiles.html
197
+ html/mistakes.html
197
198
  html/overview.png
198
199
  html/standards.html
199
200
  html/struct.html
@@ -739,6 +740,7 @@ t/PNG_3.out
739
740
  t/PNG_4.out
740
741
  t/PNG_5.out
741
742
  t/PNG_6.out
743
+ t/PNG_7.out
742
744
  t/PPM.t
743
745
  t/PPM_2.out
744
746
  t/PPM_3.out
package/bin/META.json CHANGED
@@ -47,6 +47,6 @@
47
47
  }
48
48
  },
49
49
  "release_status" : "stable",
50
- "version" : "12.33",
50
+ "version" : "12.40",
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.33
31
+ version: 12.40
32
32
  x_serialization_backend: 'JSON::PP version 4.02'
package/bin/README CHANGED
@@ -14,48 +14,48 @@ supported by ExifTool (r = read, w = write, c = create):
14
14
 
15
15
  File Types
16
16
  ------------+-------------+-------------+-------------+------------
17
- 360 r/w | DR4 r/w/c | JNG r/w | ODP r | RIFF r
18
- 3FR r | DSS r | JP2 r/w | ODS r | RSRC r
19
- 3G2 r/w | DV r | JPEG r/w | ODT r | RTF r
20
- 3GP r/w | DVB r/w | JSON r | OFR r | RW2 r/w
21
- A r | DVR-MS r | JXL r | OGG r | RWL r/w
22
- AA r | DYLIB r | K25 r | OGV r | RWZ r
23
- AAE r | EIP r | KDC r | ONP r | RM r
24
- AAX r/w | EPS r/w | KEY r | OPUS r | SEQ r
25
- ACR r | EPUB r | LA r | ORF r/w | SKETCH r
26
- AFM r | ERF r/w | LFP r | ORI r/w | SO r
27
- AI r/w | EXE r | LIF r | OTF r | SR2 r/w
28
- AIFF r | EXIF r/w/c | LNK r | PAC r | SRF r
29
- APE r | EXR r | LRV r/w | PAGES r | SRW r/w
30
- ARQ r/w | EXV r/w/c | M2TS r | PBM r/w | SVG r
31
- ARW r/w | F4A/V r/w | M4A/V r/w | PCD r | SWF r
32
- ASF r | FFF r/w | MACOS r | PCX r | THM r/w
33
- AVI r | FITS r | MAX r | PDB r | TIFF r/w
34
- AVIF r/w | FLA r | MEF r/w | PDF r/w | TORRENT r
35
- AZW r | FLAC r | MIE r/w/ | PEF r/w | TTC r
36
- BMP r | FLIF r/w | MIFF r c | PFA r | TTF r
37
- BPG r | FLV r | MKA r | PFB r | TXT r
38
- BTF r | FPF r | MKS r | PFM r | VCF r
39
- CHM r | FPX r | MKV r | PGF r | VRD r/w/c
40
- COS r | GIF r/w | MNG r/w | PGM r/w | VSD r
41
- CR2 r/w | GPR r/w | MOBI r | PLIST r | WAV r
42
- CR3 r/w | GZ r | MODD r | PICT r | WDP r/w
43
- CRM r/w | HDP r/w | MOI r | PMP r | WEBP r
44
- CRW r/w | HDR r | MOS r/w | PNG r/w | WEBM r
45
- CS1 r/w | HEIC r/w | MOV r/w | PPM r/w | WMA r
46
- CSV r | HEIF r/w | MP3 r | PPT r | WMV r
47
- CZI r | HTML r | MP4 r/w | PPTX r | WTV r
48
- DCM r | ICC r/w/c | MPC r | PS r/w | WV r
49
- DCP r/w | ICS r | MPG r | PSB r/w | X3F r/w
50
- DCR r | IDML r | MPO r/w | PSD r/w | XCF r
51
- DFONT r | IIQ r/w | MQV r/w | PSP r | XLS r
52
- DIVX r | IND r/w | MRC r | QTIF r/w | XLSX r
53
- DJVU r | INSP r/w | MRW r/w | R3D r | XMP r/w/c
54
- DLL r | INSV r | MXF r | RA r | ZIP r
55
- DNG r/w | INX r | NEF r/w | RAF r/w |
56
- DOC r | ISO r | NRW r/w | RAM r |
57
- DOCX r | ITC r | NUMBERS r | RAR r |
58
- DPX r | J2C r | O r | RAW r/w |
17
+ 360 r/w | DR4 r/w/c | JNG r/w | O r | RAW r/w
18
+ 3FR r | DSS r | JP2 r/w | ODP r | RIFF r
19
+ 3G2 r/w | DV r | JPEG r/w | ODS r | RSRC r
20
+ 3GP r/w | DVB r/w | JSON r | ODT r | RTF r
21
+ A r | DVR-MS r | JXL r | OFR r | RW2 r/w
22
+ AA r | DYLIB r | K25 r | OGG r | RWL r/w
23
+ AAE r | EIP r | KDC r | OGV r | RWZ r
24
+ AAX r/w | EPS r/w | KEY r | ONP r | RM r
25
+ ACR r | EPUB r | LA r | OPUS r | SEQ r
26
+ AFM r | ERF r/w | LFP r | ORF r/w | SKETCH r
27
+ AI r/w | EXE r | LIF r | ORI r/w | SO r
28
+ AIFF r | EXIF r/w/c | LNK r | OTF r | SR2 r/w
29
+ APE r | EXR r | LRV r/w | PAC r | SRF r
30
+ ARQ r/w | EXV r/w/c | M2TS r | PAGES r | SRW r/w
31
+ ARW r/w | F4A/V r/w | M4A/V r/w | PBM r/w | SVG r
32
+ ASF r | FFF r/w | MACOS r | PCD r | SWF r
33
+ AVI r | FITS r | MAX r | PCX r | THM r/w
34
+ AVIF r/w | FLA r | MEF r/w | PDB r | TIFF r/w
35
+ AZW r | FLAC r | MIE r/w/ | PDF r/w | TORRENT r
36
+ BMP r | FLIF r/w | MIFF r c | PEF r/w | TTC r
37
+ BPG r | FLV r | MKA r | PFA r | TTF r
38
+ BTF r | FPF r | MKS r | PFB r | TXT r
39
+ CHM r | FPX r | MKV r | PFM r | VCF r
40
+ COS r | GIF r/w | MNG r/w | PGF r | VRD r/w/c
41
+ CR2 r/w | GPR r/w | MOBI r | PGM r/w | VSD r
42
+ CR3 r/w | GZ r | MODD r | PLIST r | WAV r
43
+ CRM r/w | HDP r/w | MOI r | PICT r | WDP r/w
44
+ CRW r/w | HDR r | MOS r/w | PMP r | WEBP r
45
+ CS1 r/w | HEIC r/w | MOV r/w | PNG r/w | WEBM r
46
+ CSV r | HEIF r/w | MP3 r | PPM r/w | WMA r
47
+ CZI r | HTML r | MP4 r/w | PPT r | WMV r
48
+ DCM r | ICC r/w/c | MPC r | PPTX r | WTV r
49
+ DCP r/w | ICS r | MPG r | PS r/w | WV r
50
+ DCR r | IDML r | MPO r/w | PSB r/w | X3F r/w
51
+ DFONT r | IIQ r/w | MQV r/w | PSD r/w | XCF r
52
+ DIVX r | IND r/w | MRC r | PSP r | XLS r
53
+ DJVU r | INSP r/w | MRW r/w | QTIF r/w | XLSX r
54
+ DLL r | INSV r | MXF r | R3D r | XMP r/w/c
55
+ DNG r/w | INX r | NEF r/w | RA r | ZIP r
56
+ DOC r | ISO r | NKSC r/w | RAF r/w |
57
+ DOCX r | ITC r | NRW r/w | RAM r |
58
+ DPX r | J2C r | NUMBERS r | RAR r |
59
59
 
60
60
  Meta Information
61
61
  ----------------------+----------------------+---------------------
@@ -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.33.tar.gz | tar -xf -
111
- cd Image-ExifTool-12.33
110
+ gzip -dc Image-ExifTool-12.40.tar.gz | tar -xf -
111
+ cd Image-ExifTool-12.40
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-2021, Phil Harvey
165
+ Copyright 2003-2022, 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.
@@ -97,8 +97,8 @@ my %sACDSeeRegionStruct = (
97
97
  # new XMP namespaces for ACDSee regions
98
98
  'Image::ExifTool::XMP::Main' => {
99
99
  'acdsee-rs' => { # <-- must be the same as the NAMESPACE prefix
100
- SubDirectory => {
101
- TagTable => 'Image::ExifTool::UserDefined::ACDSeeRegions'
100
+ SubDirectory => {
101
+ TagTable => 'Image::ExifTool::UserDefined::ACDSeeRegions'
102
102
  },
103
103
  },
104
104
  },
@@ -147,7 +147,7 @@ my %sACDSeeRegionStruct = (
147
147
  },
148
148
  ValueConv => q{
149
149
  my ($rgn, @newRgns);
150
- my $rgns = ref $val[0] eq 'ARRAY' ? $val[0] : [ $val[0] ];
150
+ my $rgns = ref $val[0] eq 'ARRAY' ? $val[0] : [ $val[0] ];
151
151
  foreach $rgn (@$rgns) {
152
152
  my %newRgn = ( Type => 'Face' );
153
153
  if ($$rgn{RegionBoundary} and $$rgn{RegionBoundary}{RbShape} eq 'rectangle') {
@@ -220,13 +220,13 @@ my %sACDSeeRegionStruct = (
220
220
  # the "Struct" entry defines the structure fields
221
221
  Struct => {
222
222
  # optional structure name (used for warning messages only)
223
- STRUCT_NAME => 'ACDSee RegionInfo',
223
+ STRUCT_NAME => 'ACDSee RegionInfo',
224
224
  RegionList => {
225
225
  FlatName => 'Region',
226
226
  Struct => \%sACDSeeRegionStruct,
227
227
  List => 'Bag',
228
228
  },
229
- AppliedToDimensions => {
229
+ AppliedToDimensions => {
230
230
  FlatName => 'RegionAppliedToDimensions',Struct => \%sACDSeeDimensions },
231
231
  },
232
232
  },
@@ -239,7 +239,7 @@ my %sACDSeeRegionStruct = (
239
239
  RegionInfoACDSeeAppliedToDimensionsW => 'ACDSeeRegionAppliedToDimensionsW',
240
240
  RegionInfoACDSeeRegionListDLYAreaH => 'ACDSeeRegionDLYAreaH',
241
241
  RegionInfoACDSeeRegionListDLYAreaW => 'ACDSeeRegionDLYAreaW',
242
- RegionInfoACDSeeRegionListDLYAreaX => 'ACDSeeRegionDLYAreaX',
242
+ RegionInfoACDSeeRegionListDLYAreaX => 'ACDSeeRegionDLYAreaX',
243
243
  RegionInfoACDSeeRegionListDLYAreaY => 'ACDSeeRegionDLYAreaY',
244
244
  RegionInfoACDSeeRegionListALGAreaH => 'ACDSeeRegionALGAreaH',
245
245
  RegionInfoACDSeeRegionListALGAreaW => 'ACDSeeRegionALGAreaW',
@@ -34,15 +34,15 @@
34
34
  # Usage:
35
35
  #
36
36
  # 1) Extract Photoshop path names:
37
- #
37
+ #
38
38
  # exiftool -config photoshop_paths.config -allpaths FILE
39
39
  #
40
40
  # 2) Extract Photoshop path names and anchor points:
41
- #
41
+ #
42
42
  # exiftool -config photoshop_paths.config -userparam anchor -allpaths FILE
43
43
  #
44
44
  # 3) Extract Photoshop path anchor points only:
45
- #
45
+ #
46
46
  # exiftool -config photoshop_paths.config -userparam anchoronly -allpaths FILE
47
47
  #
48
48
  # 4) Copy all Photoshop paths from one file (SRC) to another (DST):
@@ -68,6 +68,7 @@
68
68
  # subpath respectively
69
69
  # 2017/06/03 - PH Added TotalPathPoints
70
70
  # 2017/07/17 - PH Added UniquePathPoints
71
+ # 2022/02/03 - PH Added WorkingPath and WorkingPathPix
71
72
  #
72
73
  # References: https://exiftool.org/forum/index.php/topic,1621.0.html
73
74
  # https://exiftool.org/forum/index.php/topic,3910.0.html
@@ -77,10 +78,11 @@
77
78
  # Print Photoshop path name and/or anchor points
78
79
  # Inputs: 0) reference to Photoshop path data, 1) ExifTool object reference
79
80
  # 2-3) optional image width/height to convert anchor points to pixels
81
+ # 4) optional path name
80
82
  # Returns: String with name and/or Bezier knot anchor points
81
- sub PrintPath($$;$$)
83
+ sub PrintPath($$;$$$)
82
84
  {
83
- my ($val, $et, $w, $h) = @_;
85
+ my ($val, $et, $w, $h, $nm) = @_;
84
86
  my ($pos, $name, @rtn);
85
87
  my $len = length($$val) - 26;
86
88
 
@@ -88,8 +90,9 @@ sub PrintPath($$;$$)
88
90
  if ($$val =~ m{.*/#(.{0,255})#/$}s) {
89
91
  $name = $1;
90
92
  $len -= length($1) + 4;
93
+ $name = $nm if defined $nm and not length $name;
91
94
  } else {
92
- $name = '<none>';
95
+ $name = defined $nm ? $nm : '<none>';
93
96
  }
94
97
  my $anchorOnly = $et->Options(UserParam => 'AnchorOnly');
95
98
  push @rtn, $name unless $anchorOnly;
@@ -118,7 +121,7 @@ sub PrintPath($$;$$)
118
121
  }
119
122
 
120
123
  %Image::ExifTool::Shortcuts::UserDefined = (
121
- # create "AllPaths" shortcut for all Photoshop path tags
124
+ # create "AllPaths" shortcut for all Photoshop path tags (except WorkingPath)
122
125
  AllPaths => [
123
126
  map { sprintf "Path%x", $_ } (0x7d0 .. 0xbb5),
124
127
  ],
@@ -133,6 +136,14 @@ sub PrintPath($$;$$)
133
136
  Name => 'OriginPathInfo',
134
137
  Flags => [ qw(Writable Protected Binary SetResourceName) ],
135
138
  },
139
+ 0x401 => {
140
+ Name => 'WorkingPath',
141
+ Flags => [ qw(Writable Protected Binary ConvertBinary SetResourceName) ],
142
+ PrintConv => sub {
143
+ my ($val, $et) = @_;
144
+ PrintPath($val, $et, undef, undef, 'Work Path');
145
+ },
146
+ },
136
147
  # generate tags for each of the 998 possible Photoshop paths
137
148
  map { $_ => {
138
149
  Name => sprintf('Path%x', $_),
@@ -143,6 +154,7 @@ sub PrintPath($$;$$)
143
154
  },
144
155
  'Image::ExifTool::Composite' => {
145
156
  PathCount => {
157
+ # (PathCount statistics do not include WorkingPath)
146
158
  Desire => {
147
159
  map { $_-0x7d0 => sprintf('Path%x', $_) } (0x7d0 .. 0xbb5),
148
160
  },
@@ -180,6 +192,17 @@ sub PrintPath($$;$$)
180
192
  Require => 'PathCount',
181
193
  ValueConv => '$$self{TotalPathPoints}',
182
194
  },
195
+ WorkingPathPix => {
196
+ Require => {
197
+ 0 => 'ImageWidth',
198
+ 1 => 'ImageHeight',
199
+ 2 => 'WorkingPath',
200
+ },
201
+ ValueConv => sub {
202
+ my ($val, $et) = @_;
203
+ PrintPath($$val[2], $et, $$val[0], $$val[1], 'Work Path');
204
+ },
205
+ },
183
206
  map { sprintf('PathPix%x', $_) => {
184
207
  Require => {
185
208
  0 => 'ImageWidth',
@@ -63,7 +63,7 @@
63
63
  # 2015/05/12 - PH Minor code tweaks
64
64
  # 2015/10/26 - BKW Round off area sizes to 7 decimal places
65
65
  # 2016/01/18 - BKW Improved rounding algorithm
66
- # 2016/05/14 - BKW Increased rounding to 9 decimal places (Max Picasa accepts),
66
+ # 2016/05/14 - BKW Increased rounding to 9 decimal places (Max Picasa accepts),
67
67
  # moved rounding operation to subroutine
68
68
  #
69
69
  # References: https://exiftool.org/forum/index.php/topic,6354.0.html
@@ -16,13 +16,13 @@
16
16
 
17
17
  %Image::ExifTool::UserDefined = (
18
18
  'Image::ExifTool::XMP::Main' => {
19
- Camera => {
19
+ Camera => {
20
20
  SubDirectory => {
21
21
  TagTable => 'Image::ExifTool::UserDefined::Camera',
22
22
  },
23
23
  },
24
24
  },
25
- );
25
+ );
26
26
 
27
27
  %Image::ExifTool::UserDefined::Camera = (
28
28
  GROUPS => { 0 => 'XMP', 1 => 'XMP-Camera', 2 => 'Camera' },
@@ -68,9 +68,9 @@ sub has_defined {
68
68
  35 => 'EXIF:TransferRange', # TransferRange (342/0x0156)
69
69
  36 => 'EXIF:YCbCrCoefficients', # YCbCrCoefficients (529/0x0211)
70
70
  37 => 'EXIF:YCbCrPositioning', # YCbCrPositioning (531/0x0213)
71
- 38 => 'EXIF:YCbCrSubSampling', # YCbCrSubSampling (530/0x0212)
71
+ 38 => 'EXIF:YCbCrSubSampling', # YCbCrSubSampling (530/0x0212)
72
72
  # Other tags to check
73
- 39 => 'EXIF:PhotometricInterpretation', # PhotometricInterpretation (262/0x0106)
73
+ 39 => 'EXIF:PhotometricInterpretation', # PhotometricInterpretation (262/0x0106)
74
74
  40 => 'EXIF:Compression', # Compression (259/0x0103)
75
75
  },
76
76
  ValueConv => q{