exiftool_vendored 12.38.0 → 12.42.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/Changes +83 -1
- data/bin/MANIFEST +2 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +45 -45
- data/bin/arg_files/exif2xmp.args +5 -0
- data/bin/arg_files/xmp2exif.args +6 -0
- data/bin/config_files/acdsee.config +6 -6
- data/bin/config_files/photoshop_paths.config +30 -7
- data/bin/config_files/picasa_faces.config +1 -1
- data/bin/config_files/pix4d.config +2 -2
- data/bin/config_files/tiff_version.config +2 -2
- data/bin/exiftool +98 -66
- data/bin/lib/File/RandomAccess.pm +1 -1
- data/bin/lib/File/RandomAccess.pod +2 -2
- data/bin/lib/Image/ExifTool/AES.pm +1 -1
- data/bin/lib/Image/ExifTool/AFCP.pm +1 -1
- data/bin/lib/Image/ExifTool/AIFF.pm +1 -1
- data/bin/lib/Image/ExifTool/APE.pm +1 -1
- data/bin/lib/Image/ExifTool/APP12.pm +1 -1
- data/bin/lib/Image/ExifTool/ASF.pm +1 -1
- data/bin/lib/Image/ExifTool/Apple.pm +1 -1
- data/bin/lib/Image/ExifTool/Audible.pm +1 -1
- data/bin/lib/Image/ExifTool/BMP.pm +1 -1
- data/bin/lib/Image/ExifTool/BPG.pm +1 -1
- data/bin/lib/Image/ExifTool/BZZ.pm +1 -1
- data/bin/lib/Image/ExifTool/BigTIFF.pm +1 -1
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +6 -4
- data/bin/lib/Image/ExifTool/CBOR.pm +1 -1
- data/bin/lib/Image/ExifTool/Canon.pm +90 -7
- data/bin/lib/Image/ExifTool/CanonCustom.pm +1 -1
- data/bin/lib/Image/ExifTool/CanonRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/CanonVRD.pm +1 -1
- data/bin/lib/Image/ExifTool/CaptureOne.pm +1 -1
- data/bin/lib/Image/ExifTool/Casio.pm +1 -1
- data/bin/lib/Image/ExifTool/Charset.pm +1 -1
- data/bin/lib/Image/ExifTool/DICOM.pm +1 -1
- data/bin/lib/Image/ExifTool/DJI.pm +60 -2
- data/bin/lib/Image/ExifTool/DNG.pm +9 -3
- data/bin/lib/Image/ExifTool/DPX.pm +1 -1
- data/bin/lib/Image/ExifTool/DV.pm +1 -1
- data/bin/lib/Image/ExifTool/DarwinCore.pm +1 -1
- data/bin/lib/Image/ExifTool/DjVu.pm +1 -1
- data/bin/lib/Image/ExifTool/EXE.pm +1 -1
- data/bin/lib/Image/ExifTool/Exif.pm +62 -21
- data/bin/lib/Image/ExifTool/FITS.pm +1 -1
- data/bin/lib/Image/ExifTool/FLAC.pm +1 -1
- data/bin/lib/Image/ExifTool/FLIF.pm +1 -1
- data/bin/lib/Image/ExifTool/FLIR.pm +16 -4
- data/bin/lib/Image/ExifTool/Fixup.pm +1 -1
- data/bin/lib/Image/ExifTool/Flash.pm +1 -1
- data/bin/lib/Image/ExifTool/FlashPix.pm +1 -1
- data/bin/lib/Image/ExifTool/Font.pm +1 -1
- data/bin/lib/Image/ExifTool/FotoStation.pm +1 -1
- data/bin/lib/Image/ExifTool/FujiFilm.pm +1 -1
- data/bin/lib/Image/ExifTool/GE.pm +1 -1
- data/bin/lib/Image/ExifTool/GIF.pm +1 -1
- data/bin/lib/Image/ExifTool/GIMP.pm +1 -1
- data/bin/lib/Image/ExifTool/GPS.pm +1 -1
- data/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
- data/bin/lib/Image/ExifTool/Geotag.pm +4 -3
- data/bin/lib/Image/ExifTool/GoPro.pm +1 -1
- data/bin/lib/Image/ExifTool/H264.pm +1 -1
- data/bin/lib/Image/ExifTool/HP.pm +1 -1
- data/bin/lib/Image/ExifTool/HTML.pm +1 -1
- data/bin/lib/Image/ExifTool/HtmlDump.pm +1 -1
- data/bin/lib/Image/ExifTool/ICC_Profile.pm +11 -9
- data/bin/lib/Image/ExifTool/ID3.pm +6 -6
- data/bin/lib/Image/ExifTool/IPTC.pm +1 -1
- data/bin/lib/Image/ExifTool/ISO.pm +1 -1
- data/bin/lib/Image/ExifTool/ITC.pm +1 -1
- data/bin/lib/Image/ExifTool/Import.pm +1 -1
- data/bin/lib/Image/ExifTool/InDesign.pm +1 -1
- data/bin/lib/Image/ExifTool/JPEG.pm +6 -2
- data/bin/lib/Image/ExifTool/JPEGDigest.pm +1 -1
- data/bin/lib/Image/ExifTool/JSON.pm +1 -1
- data/bin/lib/Image/ExifTool/JVC.pm +1 -1
- data/bin/lib/Image/ExifTool/Jpeg2000.pm +1 -1
- data/bin/lib/Image/ExifTool/Kodak.pm +1 -1
- data/bin/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/LIF.pm +1 -1
- data/bin/lib/Image/ExifTool/LNK.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/cs.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/de.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/es.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/fi.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/fr.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/it.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/ja.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/ko.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/nl.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/pl.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/ru.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/sv.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/tr.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
- data/bin/lib/Image/ExifTool/Leaf.pm +1 -1
- data/bin/lib/Image/ExifTool/Lytro.pm +1 -1
- data/bin/lib/Image/ExifTool/M2TS.pm +1 -1
- data/bin/lib/Image/ExifTool/MIE.pm +1 -1
- data/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
- data/bin/lib/Image/ExifTool/MIFF.pm +1 -1
- data/bin/lib/Image/ExifTool/MNG.pm +1 -1
- data/bin/lib/Image/ExifTool/MOI.pm +1 -1
- data/bin/lib/Image/ExifTool/MPC.pm +1 -1
- data/bin/lib/Image/ExifTool/MPEG.pm +1 -1
- data/bin/lib/Image/ExifTool/MPF.pm +1 -1
- data/bin/lib/Image/ExifTool/MRC.pm +1 -1
- data/bin/lib/Image/ExifTool/MWG.pm +1 -1
- data/bin/lib/Image/ExifTool/MXF.pm +1 -1
- data/bin/lib/Image/ExifTool/MacOS.pm +10 -10
- data/bin/lib/Image/ExifTool/MakerNotes.pm +18 -2
- data/bin/lib/Image/ExifTool/Matroska.pm +9 -5
- data/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
- data/bin/lib/Image/ExifTool/Minolta.pm +1 -1
- data/bin/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/Motorola.pm +1 -1
- data/bin/lib/Image/ExifTool/Nikon.pm +929 -184
- data/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
- data/bin/lib/Image/ExifTool/NikonCustom.pm +522 -6
- data/bin/lib/Image/ExifTool/NikonSettings.pm +17 -18
- data/bin/lib/Image/ExifTool/Nintendo.pm +1 -1
- data/bin/lib/Image/ExifTool/OOXML.pm +1 -1
- data/bin/lib/Image/ExifTool/Ogg.pm +1 -1
- data/bin/lib/Image/ExifTool/Olympus.pm +28 -8
- data/bin/lib/Image/ExifTool/OpenEXR.pm +1 -1
- data/bin/lib/Image/ExifTool/Opus.pm +1 -1
- data/bin/lib/Image/ExifTool/Other.pm +1 -1
- data/bin/lib/Image/ExifTool/PCX.pm +1 -1
- data/bin/lib/Image/ExifTool/PDF.pm +3 -2
- data/bin/lib/Image/ExifTool/PGF.pm +1 -1
- data/bin/lib/Image/ExifTool/PICT.pm +1 -1
- data/bin/lib/Image/ExifTool/PLIST.pm +1 -1
- data/bin/lib/Image/ExifTool/PLUS.pm +1 -1
- data/bin/lib/Image/ExifTool/PNG.pm +28 -8
- data/bin/lib/Image/ExifTool/PPM.pm +1 -1
- data/bin/lib/Image/ExifTool/PSP.pm +1 -1
- data/bin/lib/Image/ExifTool/Palm.pm +1 -1
- data/bin/lib/Image/ExifTool/Panasonic.pm +11 -2
- data/bin/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/Parrot.pm +1 -1
- data/bin/lib/Image/ExifTool/Pentax.pm +4 -3
- data/bin/lib/Image/ExifTool/PhaseOne.pm +1 -1
- data/bin/lib/Image/ExifTool/PhotoCD.pm +1 -1
- data/bin/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
- data/bin/lib/Image/ExifTool/Photoshop.pm +7 -6
- data/bin/lib/Image/ExifTool/PostScript.pm +1 -1
- data/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
- data/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
- data/bin/lib/Image/ExifTool/QuickTime.pm +10 -6
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +16 -5
- data/bin/lib/Image/ExifTool/RIFF.pm +1 -1
- data/bin/lib/Image/ExifTool/RSRC.pm +1 -1
- data/bin/lib/Image/ExifTool/RTF.pm +1 -1
- data/bin/lib/Image/ExifTool/Radiance.pm +1 -1
- data/bin/lib/Image/ExifTool/Rawzor.pm +1 -1
- data/bin/lib/Image/ExifTool/Real.pm +1 -1
- data/bin/lib/Image/ExifTool/Reconyx.pm +1 -1
- data/bin/lib/Image/ExifTool/Red.pm +1 -1
- data/bin/lib/Image/ExifTool/Ricoh.pm +1 -1
- data/bin/lib/Image/ExifTool/Samsung.pm +238 -3
- data/bin/lib/Image/ExifTool/Sanyo.pm +1 -1
- data/bin/lib/Image/ExifTool/Scalado.pm +1 -1
- data/bin/lib/Image/ExifTool/Shift.pl +3 -1
- data/bin/lib/Image/ExifTool/Shortcuts.pm +4 -2
- data/bin/lib/Image/ExifTool/Sigma.pm +1 -1
- data/bin/lib/Image/ExifTool/SigmaRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/Sony.pm +11 -5
- data/bin/lib/Image/ExifTool/SonyIDC.pm +1 -1
- data/bin/lib/Image/ExifTool/Stim.pm +1 -1
- data/bin/lib/Image/ExifTool/TagInfoXML.pm +2 -2
- data/bin/lib/Image/ExifTool/TagLookup.pm +6398 -6290
- data/bin/lib/Image/ExifTool/TagNames.pod +397 -47
- data/bin/lib/Image/ExifTool/Text.pm +1 -1
- data/bin/lib/Image/ExifTool/Theora.pm +1 -1
- data/bin/lib/Image/ExifTool/Torrent.pm +1 -1
- data/bin/lib/Image/ExifTool/Unknown.pm +1 -1
- data/bin/lib/Image/ExifTool/VCard.pm +1 -1
- data/bin/lib/Image/ExifTool/Validate.pm +1 -1
- data/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
- data/bin/lib/Image/ExifTool/WTV.pm +1 -1
- data/bin/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
- data/bin/lib/Image/ExifTool/WriteExif.pl +1 -1
- data/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
- data/bin/lib/Image/ExifTool/WritePDF.pl +1 -1
- data/bin/lib/Image/ExifTool/WritePNG.pl +30 -10
- data/bin/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
- data/bin/lib/Image/ExifTool/WritePostScript.pl +1 -1
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +9 -4
- data/bin/lib/Image/ExifTool/WriteXMP.pl +3 -1
- data/bin/lib/Image/ExifTool/Writer.pl +7 -6
- data/bin/lib/Image/ExifTool/XMP.pm +49 -23
- data/bin/lib/Image/ExifTool/XMP2.pl +3 -2
- data/bin/lib/Image/ExifTool/XMPStruct.pl +22 -8
- data/bin/lib/Image/ExifTool/ZIP.pm +10 -2
- data/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
- data/bin/lib/Image/ExifTool/iWork.pm +1 -1
- data/bin/lib/Image/ExifTool.pm +30 -14
- data/bin/lib/Image/ExifTool.pod +71 -69
- data/bin/perl-Image-ExifTool.spec +43 -43
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f04f379fa443cf663ef664f3df6f25a51f3f10032e77df170b4acfdb1caf25a0
|
4
|
+
data.tar.gz: 5f5915a880562b0113657c7105cd394d78bccef7da9858573baf6fdbf624853f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '08ac6468381fc32451778b63d29469a676adc963eda607bafe0493766d4eb52151ca825385fdb689ecac4e6b01faf6441914d985716d57646331a3ffa437b5dd'
|
7
|
+
data.tar.gz: 489352e145414a723380fdf952310050d95f7f4a466f00a8b4ce50fd02134ed650d9d5468c5a2c9fb83e828e240bf2279dec821157f58c22e73cea5928080f5d
|
data/bin/Changes
CHANGED
@@ -4,9 +4,91 @@ 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.
|
7
|
+
Note: The most recent production release is Version 12.42. (Other versions are
|
8
8
|
considered development releases, and are not uploaded to MetaCPAN.)
|
9
9
|
|
10
|
+
June 1, 2022 - Version 12.42 (production release)
|
11
|
+
|
12
|
+
- Added support for reading maker notes from Panasonic DC-GH6 videos
|
13
|
+
- Added conversion for Samsung MCCData
|
14
|
+
- Added a new Nikon LensID (thanks Chris)
|
15
|
+
- Added a few new Canon LensType values
|
16
|
+
- Added a couple of new Olympus StackedImage values (thanks Eberhard)
|
17
|
+
- Added a few new values for some Nikon Settings tags (thanks Warren Hatch)
|
18
|
+
- Added a "lang:" element to the -json output for alternate language tags when
|
19
|
+
-D, -H or -t is used
|
20
|
+
- Update DNG writer to not issue an error when writing DNG 1.6 files
|
21
|
+
- Decode information from DJI "ae_dbg_info" maker notes
|
22
|
+
- Decode Olympus AISubjectTrackingMode
|
23
|
+
- Changed ExifTool FileSize print conversion to use kB/MB/GB units instead of
|
24
|
+
KiB/MiB/GiB
|
25
|
+
- Changed "is not shiftable" warning to appear in -v (instead of just -v3)
|
26
|
+
output
|
27
|
+
- Patched to allow PDF Encrypt object to be "null"
|
28
|
+
- Fixed bug reading ICC_Profile 'meta' tags
|
29
|
+
|
30
|
+
Apr. 7, 2022 - Version 12.41
|
31
|
+
|
32
|
+
- Added support for "OM SYSTEM" maker notes
|
33
|
+
- Added 2 new Sony LensType values (thanks Jos Roost)
|
34
|
+
- Added some new Canon lenses (thanks LibRaw)
|
35
|
+
- Added a new Nikon LensID (thanks Bert Ligtvoet)
|
36
|
+
- Added a new Canon ContinuousDrive value (thanks Wolfgang Gulcker)
|
37
|
+
- Enhanced -v0 option to also print new file name when renaming, moving or
|
38
|
+
copying a file
|
39
|
+
- Updated xmp2exif.args and exif2xmp.args helper files to reflect the IPTC
|
40
|
+
Photometadata Mapping Guidelines version 2202.1
|
41
|
+
- Made "Invalid Xxx data" a minor warning for MakerNote data
|
42
|
+
- Patched to allow writing of MP4 videos which have other tracks with a
|
43
|
+
missing sample description entry
|
44
|
+
- Patched MacOS version to specify directory for external utilities (setfile,
|
45
|
+
xattr, stat, mdls and osascript from /usr/bin, and tag from /usr/local/bin)
|
46
|
+
- Fixed long-standing problem where Windows version could behave differently
|
47
|
+
for -if conditions containing undefined tags
|
48
|
+
- Fixed problem where -W+! combined with -j or -X produced invalid JSON or XML
|
49
|
+
when processing multiple files
|
50
|
+
- Fixed potential "uninitialized value $time in division" runtime warning when
|
51
|
+
reading MP4 videos
|
52
|
+
|
53
|
+
Feb. 9, 2022 - Version 12.40
|
54
|
+
|
55
|
+
- Added PageCount tag to return the number of pages in a multi-page TIFF
|
56
|
+
- Added a new Nikon LensID (thanks Wolfgang Exler)
|
57
|
+
- Added a few more Sony LensTypes (thanks Jos Roost)
|
58
|
+
- Decode some new Canon tags (thanks Mark Reid)
|
59
|
+
- Decode another Nikon Z9 tag (thanks Warren Hatch)
|
60
|
+
- Decode Nikon NKSC GPSImgDirection (thanks Olaf)
|
61
|
+
- Improved handling of empty XMP structures in lists
|
62
|
+
- Tolerate leading UTF-8 BOM in -geotag log files
|
63
|
+
- Updated photoshop_paths.config to include WorkingPath
|
64
|
+
- Patched to allow writing of MP4 videos which have url tracks with a missing
|
65
|
+
sample description entry
|
66
|
+
- Fixed deep recursion error when reading multi-page TIFF images with more
|
67
|
+
than 100 pages
|
68
|
+
- Fixed potential deep recursion runtime error when writing nested XMP
|
69
|
+
structures
|
70
|
+
- Fixed warning which could be generated when writing new
|
71
|
+
Composite:GPSCoordinates tag
|
72
|
+
- Fixed description of GPR (General Purpose RAW) file type
|
73
|
+
- Fixed typo in the name of a new Nikon tag (thanks Herb)
|
74
|
+
|
75
|
+
Jan. 13, 2022 - Version 12.39
|
76
|
+
|
77
|
+
- Added a new Pentax LensType (thanks Christian Shulz)
|
78
|
+
- Added a couple of new Nikon LensID's
|
79
|
+
- Added support for Nikon NKSC sidecar files
|
80
|
+
- Decode more tags for the Nikon Z7 and Z9 (thanks Warren Hatch)
|
81
|
+
- Decode a couple more FLIR tags
|
82
|
+
- Extract ZIP file comments
|
83
|
+
- Made PNG ProfileName, SRGBRendering and Gamma writable
|
84
|
+
- Patched to avoid possible problem running "more" to show documentation in
|
85
|
+
Windows version
|
86
|
+
- Fixed problem writing Composite:GPSPosition with coordinates in DMS format,
|
87
|
+
and made this tag protected when writing
|
88
|
+
- Fixed bug where invalid date/time tags could be written to PNG files when
|
89
|
+
attempting to shift a non-existent date/time tag
|
90
|
+
- Fixed spelling of a few Matroska tag names (thanks Martin Hoppenheit)
|
91
|
+
|
10
92
|
Dec. 20, 2021 - Version 12.38
|
11
93
|
|
12
94
|
- Decode a number of new tags for the Nikon Z9 (thanks Warren Hatch)
|
data/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
|
data/bin/META.json
CHANGED
data/bin/META.yml
CHANGED
data/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 |
|
18
|
-
3FR r | DSS r | JP2 r/w |
|
19
|
-
3G2 r/w | DV r | JPEG r/w |
|
20
|
-
3GP r/w | DVB r/w | JSON r |
|
21
|
-
A r | DVR-MS r | JXL r |
|
22
|
-
AA r | DYLIB r | K25 r |
|
23
|
-
AAE r | EIP r | KDC r |
|
24
|
-
AAX r/w | EPS r/w | KEY r |
|
25
|
-
ACR r | EPUB r | LA r |
|
26
|
-
AFM r | ERF r/w | LFP r |
|
27
|
-
AI r/w | EXE r | LIF r |
|
28
|
-
AIFF r | EXIF r/w/c | LNK r |
|
29
|
-
APE r | EXR r | LRV r/w |
|
30
|
-
ARQ r/w | EXV r/w/c | M2TS r |
|
31
|
-
ARW r/w | F4A/V r/w | M4A/V r/w |
|
32
|
-
ASF r | FFF r/w | MACOS r |
|
33
|
-
AVI r | FITS r | MAX r |
|
34
|
-
AVIF r/w | FLA r | MEF r/w |
|
35
|
-
AZW r | FLAC r | MIE r/w/ |
|
36
|
-
BMP r | FLIF r/w | MIFF r c |
|
37
|
-
BPG r | FLV r | MKA r |
|
38
|
-
BTF r | FPF r | MKS r |
|
39
|
-
CHM r | FPX r | MKV r |
|
40
|
-
COS r | GIF r/w | MNG r/w |
|
41
|
-
CR2 r/w | GPR r/w | MOBI r |
|
42
|
-
CR3 r/w | GZ r | MODD r |
|
43
|
-
CRM r/w | HDP r/w | MOI r |
|
44
|
-
CRW r/w | HDR r | MOS r/w |
|
45
|
-
CS1 r/w | HEIC r/w | MOV r/w |
|
46
|
-
CSV r | HEIF r/w | MP3 r |
|
47
|
-
CZI r | HTML r | MP4 r/w |
|
48
|
-
DCM r | ICC r/w/c | MPC r |
|
49
|
-
DCP r/w | ICS r | MPG r |
|
50
|
-
DCR r | IDML r | MPO r/w |
|
51
|
-
DFONT r | IIQ r/w | MQV r/w |
|
52
|
-
DIVX r | IND r/w | MRC r |
|
53
|
-
DJVU r | INSP r/w | MRW r/w |
|
54
|
-
DLL r | INSV r | MXF r |
|
55
|
-
DNG r/w | INX r | NEF r/w |
|
56
|
-
DOC r | ISO r |
|
57
|
-
DOCX r | ITC r |
|
58
|
-
DPX r | J2C r |
|
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.
|
111
|
-
cd Image-ExifTool-12.
|
110
|
+
gzip -dc Image-ExifTool-12.42.tar.gz | tar -xf -
|
111
|
+
cd Image-ExifTool-12.42
|
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-
|
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.
|
data/bin/arg_files/exif2xmp.args
CHANGED
@@ -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
|
data/bin/arg_files/xmp2exif.args
CHANGED
@@ -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{
|