exiftool-vendored.exe 12.38.0 → 12.41.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 (201) hide show
  1. package/LICENSE +254 -247
  2. package/bin/exiftool_files/Changes +62 -0
  3. package/bin/exiftool_files/README +45 -45
  4. package/bin/exiftool_files/arg_files/exif2xmp.args +5 -0
  5. package/bin/exiftool_files/arg_files/xmp2exif.args +6 -0
  6. package/bin/exiftool_files/config_files/acdsee.config +6 -6
  7. package/bin/exiftool_files/config_files/photoshop_paths.config +30 -7
  8. package/bin/exiftool_files/config_files/picasa_faces.config +1 -1
  9. package/bin/exiftool_files/config_files/pix4d.config +2 -2
  10. package/bin/exiftool_files/config_files/tiff_version.config +2 -2
  11. package/bin/exiftool_files/exiftool.pl +97 -65
  12. package/bin/exiftool_files/lib/File/RandomAccess.pm +1 -1
  13. package/bin/exiftool_files/lib/File/RandomAccess.pod +2 -2
  14. package/bin/exiftool_files/lib/Image/ExifTool/AES.pm +1 -1
  15. package/bin/exiftool_files/lib/Image/ExifTool/AFCP.pm +1 -1
  16. package/bin/exiftool_files/lib/Image/ExifTool/AIFF.pm +1 -1
  17. package/bin/exiftool_files/lib/Image/ExifTool/APE.pm +1 -1
  18. package/bin/exiftool_files/lib/Image/ExifTool/APP12.pm +1 -1
  19. package/bin/exiftool_files/lib/Image/ExifTool/ASF.pm +1 -1
  20. package/bin/exiftool_files/lib/Image/ExifTool/Apple.pm +1 -1
  21. package/bin/exiftool_files/lib/Image/ExifTool/Audible.pm +1 -1
  22. package/bin/exiftool_files/lib/Image/ExifTool/BMP.pm +1 -1
  23. package/bin/exiftool_files/lib/Image/ExifTool/BPG.pm +1 -1
  24. package/bin/exiftool_files/lib/Image/ExifTool/BZZ.pm +1 -1
  25. package/bin/exiftool_files/lib/Image/ExifTool/BigTIFF.pm +1 -1
  26. package/bin/exiftool_files/lib/Image/ExifTool/BuildTagLookup.pm +6 -4
  27. package/bin/exiftool_files/lib/Image/ExifTool/CBOR.pm +1 -1
  28. package/bin/exiftool_files/lib/Image/ExifTool/Canon.pm +79 -5
  29. package/bin/exiftool_files/lib/Image/ExifTool/CanonCustom.pm +1 -1
  30. package/bin/exiftool_files/lib/Image/ExifTool/CanonRaw.pm +1 -1
  31. package/bin/exiftool_files/lib/Image/ExifTool/CanonVRD.pm +1 -1
  32. package/bin/exiftool_files/lib/Image/ExifTool/CaptureOne.pm +1 -1
  33. package/bin/exiftool_files/lib/Image/ExifTool/Casio.pm +1 -1
  34. package/bin/exiftool_files/lib/Image/ExifTool/Charset.pm +1 -1
  35. package/bin/exiftool_files/lib/Image/ExifTool/DICOM.pm +1 -1
  36. package/bin/exiftool_files/lib/Image/ExifTool/DJI.pm +1 -1
  37. package/bin/exiftool_files/lib/Image/ExifTool/DNG.pm +1 -1
  38. package/bin/exiftool_files/lib/Image/ExifTool/DPX.pm +1 -1
  39. package/bin/exiftool_files/lib/Image/ExifTool/DV.pm +1 -1
  40. package/bin/exiftool_files/lib/Image/ExifTool/DarwinCore.pm +1 -1
  41. package/bin/exiftool_files/lib/Image/ExifTool/DjVu.pm +1 -1
  42. package/bin/exiftool_files/lib/Image/ExifTool/EXE.pm +1 -1
  43. package/bin/exiftool_files/lib/Image/ExifTool/Exif.pm +53 -21
  44. package/bin/exiftool_files/lib/Image/ExifTool/FITS.pm +1 -1
  45. package/bin/exiftool_files/lib/Image/ExifTool/FLAC.pm +1 -1
  46. package/bin/exiftool_files/lib/Image/ExifTool/FLIF.pm +1 -1
  47. package/bin/exiftool_files/lib/Image/ExifTool/FLIR.pm +16 -4
  48. package/bin/exiftool_files/lib/Image/ExifTool/Fixup.pm +1 -1
  49. package/bin/exiftool_files/lib/Image/ExifTool/Flash.pm +1 -1
  50. package/bin/exiftool_files/lib/Image/ExifTool/FlashPix.pm +1 -1
  51. package/bin/exiftool_files/lib/Image/ExifTool/Font.pm +1 -1
  52. package/bin/exiftool_files/lib/Image/ExifTool/FotoStation.pm +1 -1
  53. package/bin/exiftool_files/lib/Image/ExifTool/FujiFilm.pm +1 -1
  54. package/bin/exiftool_files/lib/Image/ExifTool/GE.pm +1 -1
  55. package/bin/exiftool_files/lib/Image/ExifTool/GIF.pm +1 -1
  56. package/bin/exiftool_files/lib/Image/ExifTool/GIMP.pm +1 -1
  57. package/bin/exiftool_files/lib/Image/ExifTool/GPS.pm +1 -1
  58. package/bin/exiftool_files/lib/Image/ExifTool/GeoTiff.pm +1 -1
  59. package/bin/exiftool_files/lib/Image/ExifTool/Geotag.pm +4 -3
  60. package/bin/exiftool_files/lib/Image/ExifTool/GoPro.pm +1 -1
  61. package/bin/exiftool_files/lib/Image/ExifTool/H264.pm +1 -1
  62. package/bin/exiftool_files/lib/Image/ExifTool/HP.pm +1 -1
  63. package/bin/exiftool_files/lib/Image/ExifTool/HTML.pm +1 -1
  64. package/bin/exiftool_files/lib/Image/ExifTool/HtmlDump.pm +1 -1
  65. package/bin/exiftool_files/lib/Image/ExifTool/ICC_Profile.pm +1 -1
  66. package/bin/exiftool_files/lib/Image/ExifTool/ID3.pm +1 -1
  67. package/bin/exiftool_files/lib/Image/ExifTool/IPTC.pm +1 -1
  68. package/bin/exiftool_files/lib/Image/ExifTool/ISO.pm +1 -1
  69. package/bin/exiftool_files/lib/Image/ExifTool/ITC.pm +1 -1
  70. package/bin/exiftool_files/lib/Image/ExifTool/Import.pm +1 -1
  71. package/bin/exiftool_files/lib/Image/ExifTool/InDesign.pm +1 -1
  72. package/bin/exiftool_files/lib/Image/ExifTool/JPEG.pm +6 -2
  73. package/bin/exiftool_files/lib/Image/ExifTool/JPEGDigest.pm +1 -1
  74. package/bin/exiftool_files/lib/Image/ExifTool/JSON.pm +1 -1
  75. package/bin/exiftool_files/lib/Image/ExifTool/JVC.pm +1 -1
  76. package/bin/exiftool_files/lib/Image/ExifTool/Jpeg2000.pm +1 -1
  77. package/bin/exiftool_files/lib/Image/ExifTool/Kodak.pm +1 -1
  78. package/bin/exiftool_files/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
  79. package/bin/exiftool_files/lib/Image/ExifTool/LIF.pm +1 -1
  80. package/bin/exiftool_files/lib/Image/ExifTool/LNK.pm +1 -1
  81. package/bin/exiftool_files/lib/Image/ExifTool/Lang/cs.pm +1 -1
  82. package/bin/exiftool_files/lib/Image/ExifTool/Lang/de.pm +1 -1
  83. package/bin/exiftool_files/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
  84. package/bin/exiftool_files/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
  85. package/bin/exiftool_files/lib/Image/ExifTool/Lang/es.pm +1 -1
  86. package/bin/exiftool_files/lib/Image/ExifTool/Lang/fi.pm +1 -1
  87. package/bin/exiftool_files/lib/Image/ExifTool/Lang/fr.pm +1 -1
  88. package/bin/exiftool_files/lib/Image/ExifTool/Lang/it.pm +1 -1
  89. package/bin/exiftool_files/lib/Image/ExifTool/Lang/ja.pm +1 -1
  90. package/bin/exiftool_files/lib/Image/ExifTool/Lang/ko.pm +1 -1
  91. package/bin/exiftool_files/lib/Image/ExifTool/Lang/nl.pm +1 -1
  92. package/bin/exiftool_files/lib/Image/ExifTool/Lang/pl.pm +1 -1
  93. package/bin/exiftool_files/lib/Image/ExifTool/Lang/ru.pm +1 -1
  94. package/bin/exiftool_files/lib/Image/ExifTool/Lang/sv.pm +1 -1
  95. package/bin/exiftool_files/lib/Image/ExifTool/Lang/tr.pm +1 -1
  96. package/bin/exiftool_files/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
  97. package/bin/exiftool_files/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
  98. package/bin/exiftool_files/lib/Image/ExifTool/Leaf.pm +1 -1
  99. package/bin/exiftool_files/lib/Image/ExifTool/Lytro.pm +1 -1
  100. package/bin/exiftool_files/lib/Image/ExifTool/M2TS.pm +1 -1
  101. package/bin/exiftool_files/lib/Image/ExifTool/MIE.pm +1 -1
  102. package/bin/exiftool_files/lib/Image/ExifTool/MIEUnits.pod +1 -1
  103. package/bin/exiftool_files/lib/Image/ExifTool/MIFF.pm +1 -1
  104. package/bin/exiftool_files/lib/Image/ExifTool/MNG.pm +1 -1
  105. package/bin/exiftool_files/lib/Image/ExifTool/MOI.pm +1 -1
  106. package/bin/exiftool_files/lib/Image/ExifTool/MPC.pm +1 -1
  107. package/bin/exiftool_files/lib/Image/ExifTool/MPEG.pm +1 -1
  108. package/bin/exiftool_files/lib/Image/ExifTool/MPF.pm +1 -1
  109. package/bin/exiftool_files/lib/Image/ExifTool/MRC.pm +1 -1
  110. package/bin/exiftool_files/lib/Image/ExifTool/MWG.pm +1 -1
  111. package/bin/exiftool_files/lib/Image/ExifTool/MXF.pm +1 -1
  112. package/bin/exiftool_files/lib/Image/ExifTool/MacOS.pm +10 -10
  113. package/bin/exiftool_files/lib/Image/ExifTool/MakerNotes.pm +13 -2
  114. package/bin/exiftool_files/lib/Image/ExifTool/Matroska.pm +9 -5
  115. package/bin/exiftool_files/lib/Image/ExifTool/Microsoft.pm +1 -1
  116. package/bin/exiftool_files/lib/Image/ExifTool/Minolta.pm +1 -1
  117. package/bin/exiftool_files/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
  118. package/bin/exiftool_files/lib/Image/ExifTool/Motorola.pm +1 -1
  119. package/bin/exiftool_files/lib/Image/ExifTool/Nikon.pm +924 -184
  120. package/bin/exiftool_files/lib/Image/ExifTool/NikonCapture.pm +1 -1
  121. package/bin/exiftool_files/lib/Image/ExifTool/NikonCustom.pm +519 -6
  122. package/bin/exiftool_files/lib/Image/ExifTool/NikonSettings.pm +17 -18
  123. package/bin/exiftool_files/lib/Image/ExifTool/Nintendo.pm +1 -1
  124. package/bin/exiftool_files/lib/Image/ExifTool/OOXML.pm +1 -1
  125. package/bin/exiftool_files/lib/Image/ExifTool/Ogg.pm +1 -1
  126. package/bin/exiftool_files/lib/Image/ExifTool/Olympus.pm +8 -7
  127. package/bin/exiftool_files/lib/Image/ExifTool/OpenEXR.pm +1 -1
  128. package/bin/exiftool_files/lib/Image/ExifTool/Opus.pm +1 -1
  129. package/bin/exiftool_files/lib/Image/ExifTool/Other.pm +1 -1
  130. package/bin/exiftool_files/lib/Image/ExifTool/PCX.pm +1 -1
  131. package/bin/exiftool_files/lib/Image/ExifTool/PDF.pm +1 -1
  132. package/bin/exiftool_files/lib/Image/ExifTool/PGF.pm +1 -1
  133. package/bin/exiftool_files/lib/Image/ExifTool/PICT.pm +1 -1
  134. package/bin/exiftool_files/lib/Image/ExifTool/PLIST.pm +1 -1
  135. package/bin/exiftool_files/lib/Image/ExifTool/PLUS.pm +1 -1
  136. package/bin/exiftool_files/lib/Image/ExifTool/PNG.pm +28 -8
  137. package/bin/exiftool_files/lib/Image/ExifTool/PPM.pm +1 -1
  138. package/bin/exiftool_files/lib/Image/ExifTool/PSP.pm +1 -1
  139. package/bin/exiftool_files/lib/Image/ExifTool/Palm.pm +1 -1
  140. package/bin/exiftool_files/lib/Image/ExifTool/Panasonic.pm +1 -1
  141. package/bin/exiftool_files/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
  142. package/bin/exiftool_files/lib/Image/ExifTool/Parrot.pm +1 -1
  143. package/bin/exiftool_files/lib/Image/ExifTool/Pentax.pm +3 -2
  144. package/bin/exiftool_files/lib/Image/ExifTool/PhaseOne.pm +1 -1
  145. package/bin/exiftool_files/lib/Image/ExifTool/PhotoCD.pm +1 -1
  146. package/bin/exiftool_files/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
  147. package/bin/exiftool_files/lib/Image/ExifTool/Photoshop.pm +1 -1
  148. package/bin/exiftool_files/lib/Image/ExifTool/PostScript.pm +1 -1
  149. package/bin/exiftool_files/lib/Image/ExifTool/PrintIM.pm +1 -1
  150. package/bin/exiftool_files/lib/Image/ExifTool/Qualcomm.pm +1 -1
  151. package/bin/exiftool_files/lib/Image/ExifTool/QuickTime.pm +10 -6
  152. package/bin/exiftool_files/lib/Image/ExifTool/QuickTimeStream.pl +16 -5
  153. package/bin/exiftool_files/lib/Image/ExifTool/RIFF.pm +1 -1
  154. package/bin/exiftool_files/lib/Image/ExifTool/RSRC.pm +1 -1
  155. package/bin/exiftool_files/lib/Image/ExifTool/RTF.pm +1 -1
  156. package/bin/exiftool_files/lib/Image/ExifTool/Radiance.pm +1 -1
  157. package/bin/exiftool_files/lib/Image/ExifTool/Rawzor.pm +1 -1
  158. package/bin/exiftool_files/lib/Image/ExifTool/Real.pm +1 -1
  159. package/bin/exiftool_files/lib/Image/ExifTool/Reconyx.pm +1 -1
  160. package/bin/exiftool_files/lib/Image/ExifTool/Red.pm +1 -1
  161. package/bin/exiftool_files/lib/Image/ExifTool/Ricoh.pm +1 -1
  162. package/bin/exiftool_files/lib/Image/ExifTool/Samsung.pm +6 -2
  163. package/bin/exiftool_files/lib/Image/ExifTool/Sanyo.pm +1 -1
  164. package/bin/exiftool_files/lib/Image/ExifTool/Scalado.pm +1 -1
  165. package/bin/exiftool_files/lib/Image/ExifTool/Shift.pl +3 -1
  166. package/bin/exiftool_files/lib/Image/ExifTool/Shortcuts.pm +3 -2
  167. package/bin/exiftool_files/lib/Image/ExifTool/Sigma.pm +1 -1
  168. package/bin/exiftool_files/lib/Image/ExifTool/SigmaRaw.pm +1 -1
  169. package/bin/exiftool_files/lib/Image/ExifTool/Sony.pm +11 -5
  170. package/bin/exiftool_files/lib/Image/ExifTool/SonyIDC.pm +1 -1
  171. package/bin/exiftool_files/lib/Image/ExifTool/Stim.pm +1 -1
  172. package/bin/exiftool_files/lib/Image/ExifTool/TagInfoXML.pm +2 -2
  173. package/bin/exiftool_files/lib/Image/ExifTool/TagLookup.pm +6382 -6290
  174. package/bin/exiftool_files/lib/Image/ExifTool/TagNames.pod +340 -21
  175. package/bin/exiftool_files/lib/Image/ExifTool/Text.pm +1 -1
  176. package/bin/exiftool_files/lib/Image/ExifTool/Theora.pm +1 -1
  177. package/bin/exiftool_files/lib/Image/ExifTool/Torrent.pm +1 -1
  178. package/bin/exiftool_files/lib/Image/ExifTool/Unknown.pm +1 -1
  179. package/bin/exiftool_files/lib/Image/ExifTool/VCard.pm +1 -1
  180. package/bin/exiftool_files/lib/Image/ExifTool/Validate.pm +1 -1
  181. package/bin/exiftool_files/lib/Image/ExifTool/Vorbis.pm +1 -1
  182. package/bin/exiftool_files/lib/Image/ExifTool/WTV.pm +1 -1
  183. package/bin/exiftool_files/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
  184. package/bin/exiftool_files/lib/Image/ExifTool/WriteExif.pl +1 -1
  185. package/bin/exiftool_files/lib/Image/ExifTool/WriteIPTC.pl +1 -1
  186. package/bin/exiftool_files/lib/Image/ExifTool/WritePDF.pl +1 -1
  187. package/bin/exiftool_files/lib/Image/ExifTool/WritePNG.pl +30 -10
  188. package/bin/exiftool_files/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
  189. package/bin/exiftool_files/lib/Image/ExifTool/WritePostScript.pl +1 -1
  190. package/bin/exiftool_files/lib/Image/ExifTool/WriteQuickTime.pl +9 -4
  191. package/bin/exiftool_files/lib/Image/ExifTool/WriteXMP.pl +3 -1
  192. package/bin/exiftool_files/lib/Image/ExifTool/Writer.pl +6 -5
  193. package/bin/exiftool_files/lib/Image/ExifTool/XMP.pm +49 -23
  194. package/bin/exiftool_files/lib/Image/ExifTool/XMP2.pl +3 -2
  195. package/bin/exiftool_files/lib/Image/ExifTool/XMPStruct.pl +22 -8
  196. package/bin/exiftool_files/lib/Image/ExifTool/ZIP.pm +10 -2
  197. package/bin/exiftool_files/lib/Image/ExifTool/ZISRAW.pm +1 -1
  198. package/bin/exiftool_files/lib/Image/ExifTool/iWork.pm +1 -1
  199. package/bin/exiftool_files/lib/Image/ExifTool.pm +21 -5
  200. package/bin/exiftool_files/lib/Image/ExifTool.pod +71 -69
  201. package/package.json +14 -3
@@ -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.38.tar.gz | tar -xf -
111
- cd Image-ExifTool-12.38
110
+ gzip -dc Image-ExifTool-12.41.tar.gz | tar -xf -
111
+ cd Image-ExifTool-12.41
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.
@@ -12,8 +12,10 @@
12
12
  # 2013/06/12 - PH Additions for the Exif 2.3 for XMP spec
13
13
  # 2015/01/12 - PH Avoid copying to non-standard namespaces
14
14
  # 2018/05/07 - PH Added support for GPSDestXxxRef tags
15
+ # 2022/03/31 - PH IPTC Photometadata Mapping Guidelines 2202.1 update
15
16
  #
16
17
  # References: http://www.metadataworkinggroup.org/specs/
18
+ # https://iptc.org/std/photometadata/documentation/mappingguidelines/
17
19
  #
18
20
  # Notes: 1) The first three arguments copy most of the EXIF and GPS tags to
19
21
  # XMP-exif/XMP-tiff, and the remaining arguments handle tags
@@ -22,6 +24,8 @@
22
24
  # 2) These arguments will not delete existing XMP tags which are
23
25
  # missing from the EXIF. The XMP tags should be deleted
24
26
  # beforehand if required.
27
+ #
28
+ # 3) EXIF:SubjectArea is not currently mapped into XMP-iptcExt:ImageRegion
25
29
  #------------------------------------------------------------------------------
26
30
  -XMP-exif:all < EXIF:all
27
31
  -XMP-exifEX:all < EXIF:all
@@ -37,6 +41,7 @@
37
41
  -XMP-xmp:CreatorTool < EXIF:Software
38
42
  -XMP-dc:Rights < EXIF:Copyright
39
43
  -XMP-dc:Creator < EXIF:Artist
44
+ -XMP-iptcExt:DigitalImageGUID < EXIF:DigImageGUID
40
45
  # XMP flash information is translated by the Composite Flash tag
41
46
  -Composite:Flash < EXIF:Flash
42
47
  # overwrite GPS tags which have different formats in XMP
@@ -14,8 +14,10 @@
14
14
  # 2016/09/26 - PH Write Composite SubSec tags
15
15
  # 2018/05/07 - PH Added support for GPSDestXxxRef tags
16
16
  # 2021/09/30 - PH Removed erroneous "-" when copying CreatorTool
17
+ # 2022/03/31 - PH IPTC Photometadata Mapping Guidelines 2202.1 update
17
18
  #
18
19
  # References: http://www.metadataworkinggroup.org/specs/
20
+ # https://iptc.org/std/photometadata/documentation/mappingguidelines/
19
21
  #
20
22
  # Notes: 1) The first three arguments copy the bulk of the EXIF and GPS
21
23
  # information, and the remaining arguments handle the tags
@@ -24,6 +26,8 @@
24
26
  # 2) These arguments will not delete existing EXIF tags which are
25
27
  # missing from the XMP. The EXIF tags should be deleted
26
28
  # beforehand if required.
29
+ #
30
+ # 3) XMP-iptcExt:ImageRegion is not currently mapped into EXIF:SubjectArea
27
31
  #------------------------------------------------------------------------------
28
32
  -EXIF:all < XMP-exif:all
29
33
  -EXIF:all < XMP-exifEX:all
@@ -37,7 +41,9 @@
37
41
  -Composite:SubSecModifyDate < XMP-xmp:ModifyDate
38
42
  -EXIF:Software < XMP-xmp:CreatorTool
39
43
  -EXIF:Copyright < XMP-dc:Rights
44
+ -EXIF:Artist < XMP-plus:ImageCreatorName
40
45
  -EXIF:Artist < XMP-dc:Creator
46
+ -EXIF:DigImageGUID < XMP-iptcExt:DigitalImageGUID
41
47
  # XMP flash information is translated by the Composite Flash tag
42
48
  -EXIF:Flash < Composite:Flash
43
49
  # generate GPS tags which have been combined into other XMP tags
@@ -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{
@@ -8,9 +8,10 @@
8
8
  # (See html/history.html for revision history)
9
9
  #------------------------------------------------------------------------------
10
10
  use strict;
11
+ use warnings;
11
12
  require 5.004;
12
13
 
13
- my $version = '12.38';
14
+ my $version = '12.41';
14
15
 
15
16
  # add our 'lib' directory to the include list BEFORE 'use Image::ExifTool'
16
17
  my $exePath;
@@ -102,6 +103,8 @@ my %database; # lookup for database information based on file name (in Exi
102
103
  my %filterExt; # lookup for filtered extensions
103
104
  my %ignore; # directory names to ignore
104
105
  my $ignoreHidden; # flag to ignore hidden files
106
+ my %outComma; # flag that output text file needs a comma
107
+ my %outTrailer; # trailer for output text file
105
108
  my %preserveTime; # preserved timestamps for files
106
109
  my %printFmt; # the contents of the print format file
107
110
  my %setTags; # hash of list references for tags to set from files
@@ -455,6 +458,8 @@ undef %database;
455
458
  undef %endDir;
456
459
  undef %filterExt;
457
460
  undef %ignore;
461
+ undef %outComma;
462
+ undef %outTrailer;
458
463
  undef %printFmt;
459
464
  undef %preserveTime;
460
465
  undef %setTags;
@@ -1819,8 +1824,21 @@ if ($filtered and not $validFile) {
1819
1824
  PrintCSV() if $csv and not $isWriting;
1820
1825
 
1821
1826
  # print folder/file trailer if necessary
1822
- print $sectTrailer if $sectTrailer and not $textOut;
1823
- print $fileTrailer if $fileTrailer and not $textOut and not $fileHeader;
1827
+ if ($textOut) {
1828
+ foreach (keys %outTrailer) {
1829
+ next unless $outTrailer{$_};
1830
+ if ($mt->Open(\*OUTTRAIL, $_, '>>')) {
1831
+ my $fp = \*OUTTRAIL;
1832
+ print $fp $outTrailer{$_};
1833
+ close $fp;
1834
+ } else {
1835
+ Error("Error appending to $_\n");
1836
+ }
1837
+ }
1838
+ } else {
1839
+ print $sectTrailer if $sectTrailer;
1840
+ print $fileTrailer if $fileTrailer and not $fileHeader;
1841
+ }
1824
1842
 
1825
1843
  my $totWr = $countGoodWr + $countBadWr + $countSameWr + $countCopyWr +
1826
1844
  $countGoodCr + $countBadCr;
@@ -2158,6 +2176,9 @@ sub GetImageInfo($$)
2158
2176
  $tmpText = $outfile unless $append;
2159
2177
  }
2160
2178
 
2179
+ # restore state of comma flag for this file if appending
2180
+ $comma = $outComma{$outfile} if $append and ($textOverwrite & 0x02);
2181
+
2161
2182
  # print the results for this file
2162
2183
  if (%printFmt) {
2163
2184
  # output using print format file (-p) option
@@ -2219,7 +2240,7 @@ sub GetImageInfo($$)
2219
2240
  if ($fp) {
2220
2241
  # print file header (only once)
2221
2242
  if ($fileHeader) {
2222
- print $fp $fileHeader;
2243
+ print $fp $fileHeader unless defined $outfile and ($created{$outfile} or $appended{$outfile});
2223
2244
  undef $fileHeader unless $textOut;
2224
2245
  }
2225
2246
  if ($html) {
@@ -2672,9 +2693,17 @@ TAG: foreach $tag (@foundTags) {
2672
2693
  }
2673
2694
  }
2674
2695
  if ($outfile) {
2675
- # write section and file trailers before closing the file
2676
- print $fp $sectTrailer and $sectTrailer = '' if $sectTrailer;
2677
- print $fp $fileTrailer if $fileTrailer;
2696
+ if ($textOverwrite & 0x02) {
2697
+ # save state of this file if we may be appending
2698
+ $outComma{$outfile} = $comma;
2699
+ $outTrailer{$outfile} = '';
2700
+ $outTrailer{$outfile} .= $sectTrailer and $sectTrailer = '' if $sectTrailer;
2701
+ $outTrailer{$outfile} .= $fileTrailer if $fileTrailer;
2702
+ } else {
2703
+ # write section and file trailers before closing the file
2704
+ print $fp $sectTrailer and $sectTrailer = '' if $sectTrailer;
2705
+ print $fp $fileTrailer if $fileTrailer;
2706
+ }
2678
2707
  close($fp);
2679
2708
  undef $tmpText;
2680
2709
  if ($lineCount) {
@@ -2924,7 +2953,7 @@ sub SetImageInfo($$$)
2924
2953
  }
2925
2954
  }
2926
2955
  if (defined $outfile) {
2927
- $verbose and print $vout "'${infile}' --> '${outfile}'\n";
2956
+ defined $verbose and print $vout "'${infile}' --> '${outfile}'\n";
2928
2957
  # create output directory if necessary
2929
2958
  CreateDirectory($outfile);
2930
2959
  # set temporary file (automatically erased on abnormal exit)
@@ -4469,7 +4498,7 @@ SYNOPSIS
4469
4498
  exiftool [*OPTIONS*] -*TAG*[+-<]=[*VALUE*]... *FILE*...
4470
4499
 
4471
4500
  Copying
4472
- exiftool [*OPTIONS*] -tagsFromFile *SRCFILE* [-*SRCTAG*[>*DSTTAG*]...]
4501
+ exiftool [*OPTIONS*] -tagsFromFile *SRCFILE* [-[*DSTTAG*<]*SRCTAG*...]
4473
4502
  *FILE*...
4474
4503
 
4475
4504
  Other
@@ -4508,48 +4537,48 @@ DESCRIPTION
4508
4537
 
4509
4538
  File Types
4510
4539
  ------------+-------------+-------------+-------------+------------
4511
- 360 r/w | DR4 r/w/c | JNG r/w | ODP r | RIFF r
4512
- 3FR r | DSS r | JP2 r/w | ODS r | RSRC r
4513
- 3G2 r/w | DV r | JPEG r/w | ODT r | RTF r
4514
- 3GP r/w | DVB r/w | JSON r | OFR r | RW2 r/w
4515
- A r | DVR-MS r | JXL r | OGG r | RWL r/w
4516
- AA r | DYLIB r | K25 r | OGV r | RWZ r
4517
- AAE r | EIP r | KDC r | ONP r | RM r
4518
- AAX r/w | EPS r/w | KEY r | OPUS r | SEQ r
4519
- ACR r | EPUB r | LA r | ORF r/w | SKETCH r
4520
- AFM r | ERF r/w | LFP r | ORI r/w | SO r
4521
- AI r/w | EXE r | LIF r | OTF r | SR2 r/w
4522
- AIFF r | EXIF r/w/c | LNK r | PAC r | SRF r
4523
- APE r | EXR r | LRV r/w | PAGES r | SRW r/w
4524
- ARQ r/w | EXV r/w/c | M2TS r | PBM r/w | SVG r
4525
- ARW r/w | F4A/V r/w | M4A/V r/w | PCD r | SWF r
4526
- ASF r | FFF r/w | MACOS r | PCX r | THM r/w
4527
- AVI r | FITS r | MAX r | PDB r | TIFF r/w
4528
- AVIF r/w | FLA r | MEF r/w | PDF r/w | TORRENT r
4529
- AZW r | FLAC r | MIE r/w/ | PEF r/w | TTC r
4530
- BMP r | FLIF r/w | MIFF r c | PFA r | TTF r
4531
- BPG r | FLV r | MKA r | PFB r | TXT r
4532
- BTF r | FPF r | MKS r | PFM r | VCF r
4533
- CHM r | FPX r | MKV r | PGF r | VRD r/w/c
4534
- COS r | GIF r/w | MNG r/w | PGM r/w | VSD r
4535
- CR2 r/w | GPR r/w | MOBI r | PLIST r | WAV r
4536
- CR3 r/w | GZ r | MODD r | PICT r | WDP r/w
4537
- CRM r/w | HDP r/w | MOI r | PMP r | WEBP r
4538
- CRW r/w | HDR r | MOS r/w | PNG r/w | WEBM r
4539
- CS1 r/w | HEIC r/w | MOV r/w | PPM r/w | WMA r
4540
- CSV r | HEIF r/w | MP3 r | PPT r | WMV r
4541
- CZI r | HTML r | MP4 r/w | PPTX r | WTV r
4542
- DCM r | ICC r/w/c | MPC r | PS r/w | WV r
4543
- DCP r/w | ICS r | MPG r | PSB r/w | X3F r/w
4544
- DCR r | IDML r | MPO r/w | PSD r/w | XCF r
4545
- DFONT r | IIQ r/w | MQV r/w | PSP r | XLS r
4546
- DIVX r | IND r/w | MRC r | QTIF r/w | XLSX r
4547
- DJVU r | INSP r/w | MRW r/w | R3D r | XMP r/w/c
4548
- DLL r | INSV r | MXF r | RA r | ZIP r
4549
- DNG r/w | INX r | NEF r/w | RAF r/w |
4550
- DOC r | ISO r | NRW r/w | RAM r |
4551
- DOCX r | ITC r | NUMBERS r | RAR r |
4552
- DPX r | J2C r | O r | RAW r/w |
4540
+ 360 r/w | DR4 r/w/c | JNG r/w | O r | RAW r/w
4541
+ 3FR r | DSS r | JP2 r/w | ODP r | RIFF r
4542
+ 3G2 r/w | DV r | JPEG r/w | ODS r | RSRC r
4543
+ 3GP r/w | DVB r/w | JSON r | ODT r | RTF r
4544
+ A r | DVR-MS r | JXL r | OFR r | RW2 r/w
4545
+ AA r | DYLIB r | K25 r | OGG r | RWL r/w
4546
+ AAE r | EIP r | KDC r | OGV r | RWZ r
4547
+ AAX r/w | EPS r/w | KEY r | ONP r | RM r
4548
+ ACR r | EPUB r | LA r | OPUS r | SEQ r
4549
+ AFM r | ERF r/w | LFP r | ORF r/w | SKETCH r
4550
+ AI r/w | EXE r | LIF r | ORI r/w | SO r
4551
+ AIFF r | EXIF r/w/c | LNK r | OTF r | SR2 r/w
4552
+ APE r | EXR r | LRV r/w | PAC r | SRF r
4553
+ ARQ r/w | EXV r/w/c | M2TS r | PAGES r | SRW r/w
4554
+ ARW r/w | F4A/V r/w | M4A/V r/w | PBM r/w | SVG r
4555
+ ASF r | FFF r/w | MACOS r | PCD r | SWF r
4556
+ AVI r | FITS r | MAX r | PCX r | THM r/w
4557
+ AVIF r/w | FLA r | MEF r/w | PDB r | TIFF r/w
4558
+ AZW r | FLAC r | MIE r/w/ | PDF r/w | TORRENT r
4559
+ BMP r | FLIF r/w | MIFF r c | PEF r/w | TTC r
4560
+ BPG r | FLV r | MKA r | PFA r | TTF r
4561
+ BTF r | FPF r | MKS r | PFB r | TXT r
4562
+ CHM r | FPX r | MKV r | PFM r | VCF r
4563
+ COS r | GIF r/w | MNG r/w | PGF r | VRD r/w/c
4564
+ CR2 r/w | GPR r/w | MOBI r | PGM r/w | VSD r
4565
+ CR3 r/w | GZ r | MODD r | PLIST r | WAV r
4566
+ CRM r/w | HDP r/w | MOI r | PICT r | WDP r/w
4567
+ CRW r/w | HDR r | MOS r/w | PMP r | WEBP r
4568
+ CS1 r/w | HEIC r/w | MOV r/w | PNG r/w | WEBM r
4569
+ CSV r | HEIF r/w | MP3 r | PPM r/w | WMA r
4570
+ CZI r | HTML r | MP4 r/w | PPT r | WMV r
4571
+ DCM r | ICC r/w/c | MPC r | PPTX r | WTV r
4572
+ DCP r/w | ICS r | MPG r | PS r/w | WV r
4573
+ DCR r | IDML r | MPO r/w | PSB r/w | X3F r/w
4574
+ DFONT r | IIQ r/w | MQV r/w | PSD r/w | XCF r
4575
+ DIVX r | IND r/w | MRC r | PSP r | XLS r
4576
+ DJVU r | INSP r/w | MRW r/w | QTIF r/w | XLSX r
4577
+ DLL r | INSV r | MXF r | R3D r | XMP r/w/c
4578
+ DNG r/w | INX r | NEF r/w | RA r | ZIP r
4579
+ DOC r | ISO r | NKSC r/w | RAF r/w |
4580
+ DOCX r | ITC r | NRW r/w | RAM r |
4581
+ DPX r | J2C r | NUMBERS r | RAR r |
4553
4582
 
4554
4583
  Meta Information
4555
4584
  ----------------------+----------------------+---------------------
@@ -5155,14 +5184,15 @@ OPTIONS
5155
5184
  # update metadata for all images in a directory from CSV file
5156
5185
  exiftool -csv=a.csv dir
5157
5186
 
5158
- Empty values are ignored when importing (unless the -f option is
5159
- used and the API MissingTagValue is set to an empty string, in
5187
+ When importing, empty values are ignored unless the -f option is
5188
+ used and the API MissingTagValue is set to an empty string (in
5160
5189
  which case the tag is deleted). Also, FileName and Directory
5161
5190
  columns are ignored if they exist (ie. ExifTool will not attempt to
5162
- write these tags with a CSV import). To force a tag to be deleted,
5163
- use the -f option and set the value to "-" in the CSV file (or to
5164
- the MissingTagValue if this API option was used). Multiple
5165
- databases may be imported in a single command.
5191
+ write these tags with a CSV import), but all other columns are
5192
+ imported. To force a tag to be deleted, use the -f option and set
5193
+ the value to "-" in the CSV file (or to the MissingTagValue if this
5194
+ API option was used). Multiple databases may be imported in a
5195
+ single command.
5166
5196
 
5167
5197
  When exporting a CSV file, the -g or -G option adds group names to
5168
5198
  the tag headings. If the -a option is used to allow duplicate tag
@@ -5461,7 +5491,7 @@ OPTIONS
5461
5491
 
5462
5492
  produces output like this:
5463
5493
 
5464
- -- Generated by ExifTool 12.38 --
5494
+ -- Generated by ExifTool 12.41 --
5465
5495
  File: a.jpg - 2003:10:31 15:44:19
5466
5496
  (f/5.6, 1/60s, ISO 100)
5467
5497
  File: b.jpg - 2006:05:23 11:57:38
@@ -5576,7 +5606,9 @@ OPTIONS
5576
5606
  extracted. Using -v0 causes the console output buffer to be flushed
5577
5607
  after each line (which may be useful to avoid delays when piping
5578
5608
  exiftool output), and prints the name of each processed file when
5579
- writing. Also see the -progress option.
5609
+ writing and the new file name when renaming, moving or copying.
5610
+ Verbose levels above -v0 do not flush after each line. Also see the
5611
+ -progress option.
5580
5612
 
5581
5613
  -w[+|!] *EXT* or *FMT* (-textOut)
5582
5614
  Write console output to files with names ending in *EXT*, one for
@@ -5794,9 +5826,9 @@ OPTIONS
5794
5826
  Allow (-a) or suppress (--a) duplicate tag names to be extracted.
5795
5827
  By default, duplicate tags are suppressed when reading unless the
5796
5828
  -ee or -X options are used or the Duplicates option is enabled in
5797
- the configuration file. This option has an affect when writing only
5798
- to allow duplicate Warning messages to be shown. Duplicate tags are
5799
- always extracted when copying.
5829
+ the configuration file. When writing, this option allows multiple
5830
+ Warning messages to be shown. Duplicate tags are always extracted
5831
+ when copying.
5800
5832
 
5801
5833
  -e (--composite)
5802
5834
  Extract existing tags only -- don't generate composite tags.
@@ -7144,7 +7176,7 @@ EXIT STATUS
7144
7176
  the commands if -execute was used).
7145
7177
 
7146
7178
  AUTHOR
7147
- Copyright 2003-2021, Phil Harvey
7179
+ Copyright 2003-2022, Phil Harvey
7148
7180
 
7149
7181
  This is free software; you can redistribute it and/or modify it under
7150
7182
  the same terms as Perl itself.
@@ -7157,9 +7189,9 @@ __HELP__
7157
7189
 
7158
7190
  my $dir = $ENV{PAR_GLOBAL_TEMP} || $ENV{PAR_TEMP} || $ENV{TMP} || $ENV{TEMP} || '/tmp';
7159
7191
  my $docFile = "$dir/exiftool_${version}_doc.txt";
7192
+ # try backslashes first if it seems we may be running in cmd.exe
7193
+ $docFile =~ tr/\//\\/ if $ENV{ComSpec} or $docFile =~ /\\/;
7160
7194
  unless (-e $docFile) {
7161
- # try backslashes first if it seems we may be running in cmd.exe
7162
- $docFile =~ tr/\//\\/ if $ENV{ComSpec} or $docFile =~ /\\/;
7163
7195
  unless (open(TEMP, ">$docFile") or
7164
7196
  ($docFile =~ tr/\/\\/\\\// and open(TEMP, ">$docFile")) or # try forward slash
7165
7197
  (CreateDirectory($docFile) and open(TEMP, ">$docFile"))) # try creating dir
@@ -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-2021 Phil Harvey (philharvey66 at gmail.com)
28
+ # Legal: Copyright (c) 2003-2022 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
  #------------------------------------------------------------------------------