exiftool_vendored 12.50.0 → 12.54.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 +69 -3
- data/bin/MANIFEST +2 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +3 -3
- data/bin/exiftool +12 -9
- 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 +197 -27
- 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 +3 -3
- data/bin/lib/Image/ExifTool/CBOR.pm +1 -1
- data/bin/lib/Image/ExifTool/Canon.pm +14 -2
- 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 +9 -9
- data/bin/lib/Image/ExifTool/CaptureOne.pm +1 -1
- data/bin/lib/Image/ExifTool/Casio.pm +4 -4
- 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 +1 -1
- data/bin/lib/Image/ExifTool/DNG.pm +1 -1
- 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 +5 -16
- 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 +7 -6
- 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 +20 -13
- 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 +12 -6
- data/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
- data/bin/lib/Image/ExifTool/Geotag.pm +13 -5
- 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 +1 -1
- data/bin/lib/Image/ExifTool/ICO.pm +1 -1
- data/bin/lib/Image/ExifTool/ID3.pm +1 -1
- 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 +2 -1
- 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 +35 -8
- 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 +2 -2
- 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 +6016 -760
- 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/sk.pm +1806 -0
- 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/MISB.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 +1 -1
- data/bin/lib/Image/ExifTool/MakerNotes.pm +1 -1
- data/bin/lib/Image/ExifTool/Matroska.pm +262 -46
- 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 +658 -276
- data/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
- data/bin/lib/Image/ExifTool/NikonCustom.pm +140 -107
- data/bin/lib/Image/ExifTool/NikonSettings.pm +1 -1
- 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 +4 -3
- 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 +1 -1
- 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 +12 -7
- data/bin/lib/Image/ExifTool/PLUS.pm +1 -1
- data/bin/lib/Image/ExifTool/PNG.pm +9 -2
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +8 -4
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +63 -15
- data/bin/lib/Image/ExifTool/README +2 -1
- 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 +3 -1
- 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 +1 -1
- data/bin/lib/Image/ExifTool/Shortcuts.pm +1 -1
- 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 +7 -7
- 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 +13 -8
- data/bin/lib/Image/ExifTool/TagLookup.pm +4599 -4505
- data/bin/lib/Image/ExifTool/TagNames.pod +313 -39
- 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 +14 -1
- data/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
- data/bin/lib/Image/ExifTool/WritePDF.pl +5 -1
- data/bin/lib/Image/ExifTool/WritePNG.pl +1 -1
- 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 +30 -14
- data/bin/lib/Image/ExifTool/WriteRIFF.pl +1 -1
- data/bin/lib/Image/ExifTool/WriteXMP.pl +16 -2
- data/bin/lib/Image/ExifTool/Writer.pl +35 -15
- data/bin/lib/Image/ExifTool/XMP.pm +23 -3
- data/bin/lib/Image/ExifTool/XMP2.pl +20 -1
- data/bin/lib/Image/ExifTool/XMPStruct.pl +1 -1
- data/bin/lib/Image/ExifTool/ZIP.pm +20 -8
- data/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
- data/bin/lib/Image/ExifTool/iWork.pm +1 -1
- data/bin/lib/Image/ExifTool.pm +38 -16
- data/bin/lib/Image/ExifTool.pod +39 -38
- data/bin/perl-Image-ExifTool.spec +1 -1
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 556931dee6ac163b8e4b8249baaba174050a2069510b368c6d8669f6f60dd60e
|
4
|
+
data.tar.gz: e057290ad28b94817a7cef2f6379a9a8cf23fddcbc60b04129dc02858983cc82
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e6d7aae1216168a7f041da0e14b274808ba4866dcfee8f36106428b994d8fb87bdd4d6025da7f0c692704d8a097a2287368cd7ff0be4078d43f0e6614605af0a
|
7
|
+
data.tar.gz: 402e27906748e39a5246a1edf5dba1b42584bdd80519ea3db1aa69eb73b77980d9ab2d8fb8efd400eb13736c1c60d9213d2fe5a736da48e54ff26609ba5ee8df
|
data/bin/Changes
CHANGED
@@ -7,6 +7,72 @@ RSS feed: https://exiftool.org/rss.xml
|
|
7
7
|
Note: The most recent production release is Version 12.50. (Other versions are
|
8
8
|
considered development releases, and are not uploaded to MetaCPAN.)
|
9
9
|
|
10
|
+
Jan. 6, 2023 - Version 12.54
|
11
|
+
|
12
|
+
- Increased precision of Sony FocusDistance2 conversion
|
13
|
+
- Decode a number of new Apple tags (thanks Frank Rupprecht)
|
14
|
+
- Fixed bug writing QuickTime-format files which have a zero-sized mdat (ie.
|
15
|
+
media data extends to end of file) which would cause an incorrect mdat size
|
16
|
+
to be written
|
17
|
+
|
18
|
+
Jan. 4, 2023 - Version 12.53
|
19
|
+
|
20
|
+
- Added support for a number of new XMP tags written by ACR 15.1
|
21
|
+
- Added a new Nikon LensID
|
22
|
+
- Decode timed GPS from Lamax S9 dual dashcam MOV videos
|
23
|
+
- Decode a number of new Nikon tags (thanks Warren Hatch)
|
24
|
+
- Decode a couple of new Canon tags (thanks John Moyer)
|
25
|
+
- Decode FujiFilm BWMagentaGreen tag
|
26
|
+
- Enable block-write of EXIF to JXL files
|
27
|
+
- Accept values of "now" and "Z" when writing EXIF OffsetTime tags
|
28
|
+
- Changed priority of XMP when reading/writing HEIC files so that it is no
|
29
|
+
longer preferred as with other QuickTime-based formats
|
30
|
+
- Changed family 1 group name of Canon DR4 tags from CanonVRD to CanonDR4 to
|
31
|
+
allow newer tags to be differentiated from older ones. The family 0 group
|
32
|
+
name for both remains CanonVRD
|
33
|
+
- Patched to recognize JXL EXIF box with non-zero header length
|
34
|
+
- Patched to avoid runtime error when writing a PDF with an Info dictionary
|
35
|
+
which was stored incorrectly as a direct object
|
36
|
+
- Fixed problem writing EXIF to JXL images where a new EXIF box was created
|
37
|
+
even if one previously existed
|
38
|
+
|
39
|
+
Dec. 6, 2022 - Version 12.52
|
40
|
+
|
41
|
+
- Added a few new Nikon LensID's (thanks LibRaw and Chris)
|
42
|
+
- Added Slovak translations (thanks Peter Bagin)
|
43
|
+
- Made SphericalVideoXML readable/writable as a block
|
44
|
+
- Improved handling of Matroska metadata tags, including language support
|
45
|
+
- Improved French translations (thanks Philippe Bonnaure of GraphicConverter)
|
46
|
+
- Improved Composite:GPSAltitude conversion to honour -lang setting
|
47
|
+
- Improved -v2 messages to indicate files extracted from zip archives
|
48
|
+
|
49
|
+
Nov. 21, 2022 - Version 12.51
|
50
|
+
|
51
|
+
- Added a new Olympus LensType (thanks Herb)
|
52
|
+
- Extract C2PA JUMBF metadata from PNG images and extract C2PA Salt values
|
53
|
+
- Decode NikonSettings for Z9 firmware 3.0 (thanks Warren Hatch)
|
54
|
+
- Decode additional camm metadata from Insta360 Pro2 MP4 videos
|
55
|
+
- Improved Verbose output when writing Composite tags to add a "+" sign to
|
56
|
+
indicate related tags that are being written
|
57
|
+
- Enhanced -geotag option CSV format to support GPSImgDirection column
|
58
|
+
- Fixed problem where -w+ option didn't work in Windows if there were Unicode
|
59
|
+
characters in the path name
|
60
|
+
- Fixed problem where only the last image of the sequence was extracted
|
61
|
+
(multiple times) when using -ee2 to extract embedded images from FLIR SEQ
|
62
|
+
files
|
63
|
+
- Fixed issue where GPS reference directions may be unknowingly written when
|
64
|
+
using ExifTool 12.44 or later to write GPSLatitude or GPSLongitude without
|
65
|
+
specifying a group name. The fix was to Avoid writing the Composite tags
|
66
|
+
unless the Composite group is specified explicitly
|
67
|
+
- Fixed -geotag to write orientation and track tags even if some tags in the
|
68
|
+
category were missing
|
69
|
+
- Fixed inconsistency in selecting which tag to output with the -json option
|
70
|
+
when multiple tags with the same JSON key exist and the -TAG# feature is
|
71
|
+
used to disable print conversion
|
72
|
+
- Fixed problem writing QuickTime:PlayListID
|
73
|
+
- Fixed problem writing QuickTime tags when specifying tag ID (ie. family 7
|
74
|
+
group) as well as a language code
|
75
|
+
|
10
76
|
Nov. 8, 2022 - Version 12.50 (production release)
|
11
77
|
|
12
78
|
- Added a new XMP-GCreations tag
|
@@ -209,6 +275,8 @@ June 1, 2022 - Version 12.42 (production release)
|
|
209
275
|
- Patched to allow PDF Encrypt object to be "null"
|
210
276
|
- Fixed bug reading ICC_Profile 'meta' tags
|
211
277
|
|
278
|
+
History of older versions (back to Nov. 19, 2003 - Version 1.00) -->
|
279
|
+
|
212
280
|
Apr. 7, 2022 - Version 12.41
|
213
281
|
|
214
282
|
- Added support for "OM SYSTEM" maker notes
|
@@ -219,7 +287,7 @@ Apr. 7, 2022 - Version 12.41
|
|
219
287
|
- Enhanced -v0 option to also print new file name when renaming, moving or
|
220
288
|
copying a file
|
221
289
|
- Updated xmp2exif.args and exif2xmp.args helper files to reflect the IPTC
|
222
|
-
Photometadata Mapping Guidelines version
|
290
|
+
Photometadata Mapping Guidelines version 2022.1
|
223
291
|
- Made "Invalid Xxx data" a minor warning for MakerNote data
|
224
292
|
- Patched to allow writing of MP4 videos which have other tracks with a
|
225
293
|
missing sample description entry
|
@@ -420,8 +488,6 @@ Aug. 12, 2021 - Version 12.30 (production release)
|
|
420
488
|
currently can't be created)
|
421
489
|
- Patched to remove 2 GB size limit when reading Photoshop ImageSourceData
|
422
490
|
|
423
|
-
History of older versions (back to Nov. 19, 2003 - Version 1.00) -->
|
424
|
-
|
425
491
|
July 9, 2021 - Version 12.29
|
426
492
|
|
427
493
|
- Added a few new Nikon and Olympus lenses (thanks LibRaw)
|
data/bin/MANIFEST
CHANGED
@@ -323,6 +323,7 @@ lib/Image/ExifTool/Lang/ko.pm
|
|
323
323
|
lib/Image/ExifTool/Lang/nl.pm
|
324
324
|
lib/Image/ExifTool/Lang/pl.pm
|
325
325
|
lib/Image/ExifTool/Lang/ru.pm
|
326
|
+
lib/Image/ExifTool/Lang/sk.pm
|
326
327
|
lib/Image/ExifTool/Lang/sv.pm
|
327
328
|
lib/Image/ExifTool/Lang/tr.pm
|
328
329
|
lib/Image/ExifTool/Lang/zh_cn.pm
|
@@ -646,6 +647,7 @@ t/Lang_15.out
|
|
646
647
|
t/Lang_16.out
|
647
648
|
t/Lang_17.out
|
648
649
|
t/Lang_18.out
|
650
|
+
t/Lang_19.out
|
649
651
|
t/Lang_2.out
|
650
652
|
t/Lang_3.out
|
651
653
|
t/Lang_4.out
|
data/bin/META.json
CHANGED
data/bin/META.yml
CHANGED
data/bin/README
CHANGED
@@ -107,8 +107,8 @@ your home directory, then you would type the following commands in a
|
|
107
107
|
terminal window to extract and run ExifTool:
|
108
108
|
|
109
109
|
cd ~/Desktop
|
110
|
-
gzip -dc Image-ExifTool-12.
|
111
|
-
cd Image-ExifTool-12.
|
110
|
+
gzip -dc Image-ExifTool-12.54.tar.gz | tar -xf -
|
111
|
+
cd Image-ExifTool-12.54
|
112
112
|
./exiftool t/images/ExifTool.jpg
|
113
113
|
|
114
114
|
Note: These commands extract meta information from one of the test images.
|
@@ -162,7 +162,7 @@ for calculating digest values and providing other features listed below:
|
|
162
162
|
|
163
163
|
COPYRIGHT AND LICENSE
|
164
164
|
|
165
|
-
Copyright 2003-
|
165
|
+
Copyright 2003-2023, Phil Harvey
|
166
166
|
|
167
167
|
This is free software; you can redistribute it and/or modify it under the
|
168
168
|
same terms as Perl itself.
|
data/bin/exiftool
CHANGED
@@ -11,7 +11,7 @@ use strict;
|
|
11
11
|
use warnings;
|
12
12
|
require 5.004;
|
13
13
|
|
14
|
-
my $version = '12.
|
14
|
+
my $version = '12.54';
|
15
15
|
|
16
16
|
# add our 'lib' directory to the include list BEFORE 'use Image::ExifTool'
|
17
17
|
BEGIN {
|
@@ -2351,7 +2351,8 @@ TAG: foreach $tag (@foundTags) {
|
|
2351
2351
|
$group = $et->GetGroup($tag, $showGroup);
|
2352
2352
|
# look ahead to see if this tag may suppress a priority tag in
|
2353
2353
|
# the same group, and if so suppress this tag instead
|
2354
|
-
|
2354
|
+
# (note that the tag key may look like "TAG #(1)" when the "#" feature is used)
|
2355
|
+
next if $noDups and $tag =~ /^(.*?) ?\(/ and defined $$info{$1} and
|
2355
2356
|
$group eq $et->GetGroup($1, $showGroup);
|
2356
2357
|
$group = 'Unknown' if not $group and ($xml or $json or $csv);
|
2357
2358
|
if ($fp and not ($allGroup or $csv)) {
|
@@ -2376,7 +2377,7 @@ TAG: foreach $tag (@foundTags) {
|
|
2376
2377
|
}
|
2377
2378
|
} elsif ($noDups) {
|
2378
2379
|
# don't allow duplicates, but avoid suppressing the priority tag
|
2379
|
-
next if $tag =~ /^(.*?)
|
2380
|
+
next if $tag =~ /^(.*?) ?\(/ and defined $$info{$1};
|
2380
2381
|
}
|
2381
2382
|
|
2382
2383
|
++$lineCount; # we are printing something meaningful
|
@@ -4771,7 +4772,7 @@ For example, C<--xmp-crs:all> may speed processing significantly in cases
|
|
4771
4772
|
where a large number of XMP-crs tags exist. To use this feature to bypass
|
4772
4773
|
processing of a specific XMP property, the property name must be used
|
4773
4774
|
instead of the ExifTool tag name (eg. C<--xmp-crs:dabs>). Also, C<XMP-all>
|
4774
|
-
may be used to to indicate any XMP namespace (eg.
|
4775
|
+
may be used to to indicate any XMP namespace (eg. C<--xmp-all:dabs>).
|
4775
4776
|
|
4776
4777
|
=item B<->I<TAG>[+-^]B<=>[I<VALUE>]
|
4777
4778
|
|
@@ -5333,9 +5334,11 @@ specific target file. An object with a missing SourceFile or a SourceFile
|
|
5333
5334
|
of "*" defines default tags for all target files which are combined with any
|
5334
5335
|
tags specified for the specific SourceFile processed. The imported JSON
|
5335
5336
|
file must have the same format as the exported JSON files with the exception
|
5336
|
-
that
|
5337
|
-
|
5338
|
-
|
5337
|
+
that options exporting JSON objects instead of simple values are not
|
5338
|
+
compatible with the import file format (ie. export with B<-D>, B<-H>, B<-l>,
|
5339
|
+
or B<-T> is not compatable, and use B<-G> instead of B<-g>). Additionally,
|
5340
|
+
tag names in the input JSON file may be suffixed with a C<#> to disable
|
5341
|
+
print conversion.
|
5339
5342
|
|
5340
5343
|
Unlike CSV import, empty values are not ignored, and will cause an empty
|
5341
5344
|
value to be written if supported by the specific metadata type. Tags are
|
@@ -5474,7 +5477,7 @@ with this command:
|
|
5474
5477
|
|
5475
5478
|
produces output like this:
|
5476
5479
|
|
5477
|
-
-- Generated by ExifTool 12.
|
5480
|
+
-- Generated by ExifTool 12.54 --
|
5478
5481
|
File: a.jpg - 2003:10:31 15:44:19
|
5479
5482
|
(f/5.6, 1/60s, ISO 100)
|
5480
5483
|
File: b.jpg - 2006:05:23 11:57:38
|
@@ -7300,7 +7303,7 @@ the commands if B<-execute> was used).
|
|
7300
7303
|
|
7301
7304
|
=head1 AUTHOR
|
7302
7305
|
|
7303
|
-
Copyright 2003-
|
7306
|
+
Copyright 2003-2023, Phil Harvey
|
7304
7307
|
|
7305
7308
|
This is free software; you can redistribute it and/or modify it under the
|
7306
7309
|
same terms as Perl itself.
|
@@ -25,7 +25,7 @@
|
|
25
25
|
#
|
26
26
|
# May also be used for string i/o (just pass a scalar reference)
|
27
27
|
#
|
28
|
-
# Legal: Copyright (c) 2003-
|
28
|
+
# Legal: Copyright (c) 2003-2023 Phil Harvey (philharvey66 at gmail.com)
|
29
29
|
# This library is free software; you can redistribute it and/or
|
30
30
|
# modify it under the same terms as Perl itself.
|
31
31
|
#------------------------------------------------------------------------------
|
@@ -3,7 +3,7 @@
|
|
3
3
|
#
|
4
4
|
# Description: Buffer to support random access reading of sequential file
|
5
5
|
#
|
6
|
-
# Legal: Copyright (c) 2003-
|
6
|
+
# Legal: Copyright (c) 2003-2023 Phil Harvey (philharvey66 at gmail.com)
|
7
7
|
# This library is free software; you can redistribute it and/or
|
8
8
|
# modify it under the same terms as Perl itself.
|
9
9
|
#------------------------------------------------------------------------------
|
@@ -236,7 +236,7 @@ the end of file is not allowed.
|
|
236
236
|
|
237
237
|
=head1 AUTHOR
|
238
238
|
|
239
|
-
Copyright 2003-
|
239
|
+
Copyright 2003-2023 Phil Harvey (philharvey66 at gmail.com)
|
240
240
|
|
241
241
|
This library is free software; you can redistribute it and/or modify it
|
242
242
|
under the same terms as Perl itself.
|
@@ -477,7 +477,7 @@ main purpose of encryption, so this really can't be considered a bug.
|
|
477
477
|
|
478
478
|
=head1 AUTHOR
|
479
479
|
|
480
|
-
Copyright 2003-
|
480
|
+
Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
|
481
481
|
|
482
482
|
This library is free software; you can redistribute it and/or modify it
|
483
483
|
under the same terms as Perl itself.
|
@@ -259,7 +259,7 @@ scanning for AFCP information.
|
|
259
259
|
|
260
260
|
=head1 AUTHOR
|
261
261
|
|
262
|
-
Copyright 2003-
|
262
|
+
Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
|
263
263
|
|
264
264
|
This library is free software; you can redistribute it and/or modify it
|
265
265
|
under the same terms as Perl itself.
|
@@ -287,7 +287,7 @@ information from AIFF (Audio Interchange File Format) audio files.
|
|
287
287
|
|
288
288
|
=head1 AUTHOR
|
289
289
|
|
290
|
-
Copyright 2003-
|
290
|
+
Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
|
291
291
|
|
292
292
|
This library is free software; you can redistribute it and/or modify it
|
293
293
|
under the same terms as Perl itself.
|
@@ -263,7 +263,7 @@ Currently doesn't parse MAC header unless it is at the start of the file.
|
|
263
263
|
|
264
264
|
=head1 AUTHOR
|
265
265
|
|
266
|
-
Copyright 2003-
|
266
|
+
Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
|
267
267
|
|
268
268
|
This library is free software; you can redistribute it and/or modify it
|
269
269
|
under the same terms as Perl itself.
|
@@ -305,7 +305,7 @@ APP12 meta information.
|
|
305
305
|
|
306
306
|
=head1 AUTHOR
|
307
307
|
|
308
|
-
Copyright 2003-
|
308
|
+
Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
|
309
309
|
|
310
310
|
This library is free software; you can redistribute it and/or modify it
|
311
311
|
under the same terms as Perl itself.
|
@@ -876,7 +876,7 @@ Windows Media Audio (WMA) and Windows Media Video (WMV) files.
|
|
876
876
|
|
877
877
|
=head1 AUTHOR
|
878
878
|
|
879
|
-
Copyright 2003-
|
879
|
+
Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
|
880
880
|
|
881
881
|
This library is free software; you can redistribute it and/or modify it
|
882
882
|
under the same terms as Perl itself.
|
@@ -6,6 +6,7 @@
|
|
6
6
|
# Revisions: 2013-09-13 - P. Harvey Created
|
7
7
|
#
|
8
8
|
# References: 1) http://www.photoinvestigator.co/blog/the-mystery-of-maker-apple-metadata/
|
9
|
+
# 2) Frank Rupprecht private communication
|
9
10
|
#------------------------------------------------------------------------------
|
10
11
|
|
11
12
|
package Image::ExifTool::Apple;
|
@@ -15,7 +16,9 @@ use vars qw($VERSION);
|
|
15
16
|
use Image::ExifTool::Exif;
|
16
17
|
use Image::ExifTool::PLIST;
|
17
18
|
|
18
|
-
$VERSION = '1.
|
19
|
+
$VERSION = '1.08';
|
20
|
+
|
21
|
+
sub ConvertPLIST($$);
|
19
22
|
|
20
23
|
# Apple iPhone metadata (ref PH)
|
21
24
|
%Image::ExifTool::Apple::Main = (
|
@@ -24,17 +27,39 @@ $VERSION = '1.07';
|
|
24
27
|
WRITABLE => 1,
|
25
28
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
|
26
29
|
NOTES => 'Tags extracted from the maker notes of iPhone images.',
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
+
0x0001 => { # (Version, ref 2)
|
31
|
+
Name => 'MakerNoteVersion',
|
32
|
+
Writable => 'int32s',
|
33
|
+
},
|
34
|
+
0x0002 => { #2
|
35
|
+
Name => 'AEMatrix',
|
36
|
+
Unknown => 1,
|
37
|
+
# (not currently writable)
|
38
|
+
ValueConv => \&ConvertPLIST,
|
39
|
+
},
|
40
|
+
0x0003 => { # (Timestamp, ref 2)
|
30
41
|
Name => 'RunTime', # (includes time plugged in, but not when suspended, ref 1)
|
31
42
|
SubDirectory => { TagTable => 'Image::ExifTool::Apple::RunTime' },
|
32
43
|
},
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
44
|
+
0x0004 => { #2
|
45
|
+
Name => 'AEStable',
|
46
|
+
Writable => 'int32s',
|
47
|
+
PrintConv => { 0 => 'No', 1 => 'Yes' },
|
48
|
+
},
|
49
|
+
0x0005 => { #2
|
50
|
+
Name => 'AETarget',
|
51
|
+
Writable => 'int32s',
|
52
|
+
},
|
53
|
+
0x0006 => { #2
|
54
|
+
Name => 'AEAverage',
|
55
|
+
Writable => 'int32s',
|
56
|
+
},
|
57
|
+
0x0007 => { #2
|
58
|
+
Name => 'AFStable',
|
59
|
+
Writable => 'int32s',
|
60
|
+
PrintConv => { 0 => 'No', 1 => 'Yes' },
|
61
|
+
},
|
62
|
+
0x0008 => { #1 (FocusAccelerometerVector, ref 2)
|
38
63
|
Name => 'AccelerationVector',
|
39
64
|
Groups => { 2 => 'Camera' },
|
40
65
|
Writable => 'rational64s',
|
@@ -51,8 +76,8 @@ $VERSION = '1.07';
|
|
51
76
|
toward the bottom, and positive Z points into the face of the phone
|
52
77
|
},
|
53
78
|
},
|
54
|
-
# 0x0009 - int32s: seen 19,275,531,4371
|
55
|
-
0x000a => {
|
79
|
+
# 0x0009 - int32s: seen 19,275,531,4371 (SISMethod, ref 2)
|
80
|
+
0x000a => { # (HDRMethod, ref 2)
|
56
81
|
Name => 'HDRImageType',
|
57
82
|
Writable => 'int32s',
|
58
83
|
PrintConv => {
|
@@ -61,12 +86,12 @@ $VERSION = '1.07';
|
|
61
86
|
4 => 'Original Image',
|
62
87
|
},
|
63
88
|
},
|
64
|
-
0x000b => {
|
89
|
+
0x000b => { # (BurstUUID, ref 2)
|
65
90
|
Name => 'BurstUUID',
|
66
91
|
Writable => 'string',
|
67
92
|
Notes => 'unique ID for all images in a burst',
|
68
93
|
},
|
69
|
-
0x000c => { # ref forum13710 (Neal Krawetz)
|
94
|
+
0x000c => { # ref forum13710 (Neal Krawetz) (SphereHealthTrackingError, ref 2)
|
70
95
|
Name => 'FocusDistanceRange',
|
71
96
|
Writable => 'rational64s',
|
72
97
|
Count => 2,
|
@@ -76,29 +101,157 @@ $VERSION = '1.07';
|
|
76
101
|
},
|
77
102
|
PrintConvInv => '$val =~ s/ - //; $val =~ s/ ?m$//; $val',
|
78
103
|
},
|
79
|
-
# 0x000d - int32s: 0,1,6,20,24,32,40
|
80
|
-
# 0x000e - int32s: 0,1,4,12 (Orientation? 0=landscape? 4=portrait? ref 1)
|
81
|
-
|
82
|
-
|
83
|
-
|
104
|
+
# 0x000d - int32s: 0,1,6,20,24,32,40 (SphereHealthAverageCurrent, ref 2)
|
105
|
+
# 0x000e - int32s: 0,1,4,12 (Orientation? 0=landscape? 4=portrait? ref 1) (SphereMotionDataStatus, ref 2)
|
106
|
+
0x000f => { #2
|
107
|
+
Name => 'OISMode',
|
108
|
+
Writable => 'int32s',
|
109
|
+
# seen: 2,3,5
|
110
|
+
},
|
111
|
+
# 0x0010 - int32s: 1 (SphereStatus, ref 2)
|
112
|
+
0x0011 => { # (if defined, there is a live photo associated with the video, #forum13565) (AssetIdentifier, ref 2)
|
84
113
|
Name => 'MediaGroupUUID', #NealKrawetz private communication
|
85
114
|
# (changed in 12.19 from Name => 'ContentIdentifier', #forum8750)
|
86
115
|
Writable => 'string',
|
87
116
|
},
|
88
|
-
#
|
89
|
-
|
117
|
+
# 0x0012 - (QRMOutputType, ref 2)
|
118
|
+
# 0x0013 - (SphereExternalForceOffset, ref 2)
|
119
|
+
0x0014 => { # (StillImageCaptureType, ref 2)
|
120
|
+
Name => 'ImageCaptureType',
|
121
|
+
Writable => 'int32s',
|
122
|
+
Unknown => 1, # (don't know what the values mean)
|
123
|
+
# seen: 1,2,3,4,5,10,12
|
124
|
+
},
|
125
|
+
0x0015 => { # (ImageGroupIdentifier, ref 2)
|
90
126
|
Name => 'ImageUniqueID',
|
91
127
|
Writable => 'string',
|
92
128
|
},
|
93
|
-
# 0x0016 - string[29]: "AXZ6pMTOh2L+acSh4Kg630XCScoO\0"
|
94
|
-
0x0017 => { #forum13565 (only valid if MediaGroupUUID exists)
|
129
|
+
# 0x0016 - string[29]: "AXZ6pMTOh2L+acSh4Kg630XCScoO\0" (PhotosOriginatingSignature, ref 2)
|
130
|
+
0x0017 => { #forum13565 (only valid if MediaGroupUUID exists) (StillImageCaptureFlags, ref 2)
|
95
131
|
Name => 'LivePhotoVideoIndex',
|
96
132
|
Notes => 'divide by RunTimeScale to get time in seconds',
|
97
133
|
},
|
98
|
-
#
|
99
|
-
|
100
|
-
|
101
|
-
|
134
|
+
# 0x0018 - (PhotosRenderOriginatingSignature, ref 2)
|
135
|
+
0x0019 => { # (StillImageProcessingFlags, ref 2)
|
136
|
+
Name => 'ImageProcessingFlags',
|
137
|
+
Writable => 'int32s',
|
138
|
+
Unknown => 1,
|
139
|
+
PrintConv => { BITMASK => { } },
|
140
|
+
},
|
141
|
+
0x001a => { # (PhotoTranscodeQualityHint, ref 2)
|
142
|
+
Name => 'QualityHint',
|
143
|
+
Writable => 'string',
|
144
|
+
Unknown => 1,
|
145
|
+
# seen: "q825s\0", "q750n\0", "q900n\0"
|
146
|
+
},
|
147
|
+
# 0x001b - (PhotosRenderEffect, ref 2)
|
148
|
+
# 0x001c - (BracketedCaptureSequenceNumber, ref 2)
|
149
|
+
0x001d => { #2
|
150
|
+
Name => 'LuminanceNoiseAmplitude',
|
151
|
+
Writable => 'rational64s',
|
152
|
+
},
|
153
|
+
# 0x001e - (OriginatingAppID, ref 2)
|
154
|
+
# 0x001f - int32s: 0,1 (PhotosAppFeatureFlags, ref 2)
|
155
|
+
0x0020 => { # (ImageCaptureRequestIdentifier, ref 2)
|
156
|
+
Name => 'ImageCaptureReqestID',
|
157
|
+
Writable => 'string',
|
158
|
+
Unknown => 1,
|
159
|
+
},
|
160
|
+
0x0021 => { # (MeteorHeadroom, ref 2)
|
161
|
+
Name => 'HDRHeadroom',
|
162
|
+
Writable => 'rational64s',
|
163
|
+
},
|
164
|
+
# 0x0022 - (ARKitPhoto, ref 2)
|
165
|
+
# 0x0023 - int32s[2] (AFPerformance, ref 2)
|
166
|
+
# 0x0024 - (AFExternalOffset, ref 2)
|
167
|
+
0x0025 => { # (StillImageSceneFlags, ref 2)
|
168
|
+
Name => 'SceneFlags',
|
169
|
+
Writable => 'int32s',
|
170
|
+
Unknown => 1,
|
171
|
+
PrintConv => { BITMASK => { } },
|
172
|
+
},
|
173
|
+
0x0026 => { # (StillImageSNRType, ref 2)
|
174
|
+
Name => 'SignalToNoiseRatioType',
|
175
|
+
Writable => 'int32s',
|
176
|
+
Unknown => 1,
|
177
|
+
},
|
178
|
+
0x0027 => { # (StillImageSNR, ref 2)
|
179
|
+
Name => 'SignalToNoiseRatio',
|
180
|
+
Writable => 'rational64s',
|
181
|
+
},
|
182
|
+
# 0x0028 - int32s (UBMethod, ref 2)
|
183
|
+
# 0x0029 - string (SpatialOverCaptureGroupIdentifier, ref 2)
|
184
|
+
# 0x002A - (iCloudServerSoftwareVersionForDynamicallyGeneratedMedia, ref 2)
|
185
|
+
# 0x002B - (PhotoIdentifier, ref 2)
|
186
|
+
# 0x002C - (SpatialOverCaptureImageType, ref 2)
|
187
|
+
# 0x002D - (CCT, ref 2)
|
188
|
+
# 0x002E - (ApsMode, ref 2)
|
189
|
+
0x002F => { #2
|
190
|
+
Name => 'FocusPosition',
|
191
|
+
Writable => 'int32s',
|
192
|
+
},
|
193
|
+
0x0030 => { # (MeteorPlusGainMap, ref 2)
|
194
|
+
Name => 'HDRGain',
|
195
|
+
Writable => 'rational64s',
|
196
|
+
},
|
197
|
+
# 0x0031 - (StillImageProcessingHomography, ref 2)
|
198
|
+
# 0x0032 - (IntelligentDistortionCorrection, ref 2)
|
199
|
+
# 0x0033 - (NRFStatus, ref 2)
|
200
|
+
# 0x0034 - (NRFInputBracketCount, ref 2)
|
201
|
+
# 0x0035 - (NRFRegisteredBracketCount, ref 2)
|
202
|
+
# 0x0036 - (LuxLevel, ref 2)
|
203
|
+
# 0x0037 - (LastFocusingMethod, ref 2)
|
204
|
+
0x0038 => { # (TimeOfFlightAssistedAutoFocusEstimatorMeasuredDepth, ref 2)
|
205
|
+
Name => 'AFMeasuredDepth',
|
206
|
+
Notes => 'from the time-of-flight-assisted auto-focus estimator',
|
207
|
+
Writable => 'int32s',
|
208
|
+
},
|
209
|
+
# 0x0039 - (TimeOfFlightAssistedAutoFocusEstimatorROIType, ref 2)
|
210
|
+
# 0x003A - (NRFSRLStatus, ref 2)
|
211
|
+
# 0x003B - (SystemPressureLevel, ref 2)
|
212
|
+
# 0x003C - (CameraControlsStatisticsMaster, ref 2)
|
213
|
+
0x003D => { # (TimeOfFlightAssistedAutoFocusEstimatorSensorConfidence, ref 2)
|
214
|
+
Name => 'AFConfidence',
|
215
|
+
Writable => 'int32s',
|
216
|
+
},
|
217
|
+
0x003E => { # (ColorCorrectionMatrix, ref 2)
|
218
|
+
Name => 'ColorCorrectionMatrix',
|
219
|
+
Unknown => 1,
|
220
|
+
ValueConv => \&ConvertPLIST,
|
221
|
+
},
|
222
|
+
0x003F => { #2
|
223
|
+
Name => 'GreenGhostMitigationStatus',
|
224
|
+
Writable => 'int32s',
|
225
|
+
Unknown => 1,
|
226
|
+
},
|
227
|
+
0x0040 => { #2
|
228
|
+
Name => 'SemanticStyle',
|
229
|
+
ValueConv => \&ConvertPLIST,
|
230
|
+
},
|
231
|
+
0x0041 => { # (SemanticStyleKey_RenderingVersion, ref 2)
|
232
|
+
Name => 'SemanticStyleRenderingVer',
|
233
|
+
ValueConv => \&ConvertPLIST,
|
234
|
+
},
|
235
|
+
0x0042 => { # (SemanticStyleKey_Preset, ref 2)
|
236
|
+
Name => 'SemanticStylePreset',
|
237
|
+
ValueConv => \&ConvertPLIST,
|
238
|
+
},
|
239
|
+
# 0x0043 - (SemanticStyleKey_ToneBias, ref 2)
|
240
|
+
# 0x0044 - (SemanticStyleKey_WarmthBias, ref 2)
|
241
|
+
0x0045 => { # (FrontFacing, ref 2)
|
242
|
+
Name => 'FrontFacingCamera',
|
243
|
+
Writable => 'int32s',
|
244
|
+
PrintConv => { 0 => 'No', 1 => 'Yes' }, #PH (NC)
|
245
|
+
},
|
246
|
+
# 0x0046 - (TimeOfFlightAssistedAutoFocusEstimatorContainsBlindSpot, ref 2)
|
247
|
+
# 0x0047 - (LeaderFollowerAutoFocusLeaderDepth, ref 2)
|
248
|
+
# 0x0048 - (LeaderFollowerAutoFocusLeaderFocusMethod, ref 2)
|
249
|
+
# 0x0049 - (LeaderFollowerAutoFocusLeaderConfidence, ref 2)
|
250
|
+
# 0x004A - (LeaderFollowerAutoFocusLeaderROIType, ref 2)
|
251
|
+
# 0x004B - (ZeroShutterLagFailureReason, ref 2)
|
252
|
+
# 0x004C - (TimeOfFlightAssistedAutoFocusEstimatorMSPMeasuredDepth, ref 2)
|
253
|
+
# 0x004D - (TimeOfFlightAssistedAutoFocusEstimatorMSPSensorConfidence, ref 2)
|
254
|
+
# 0x004E - (Camera, ref 2)
|
102
255
|
);
|
103
256
|
|
104
257
|
# PLIST-format CMTime structure (ref PH)
|
@@ -142,6 +295,23 @@ $VERSION = '1.07';
|
|
142
295
|
# add our composite tags
|
143
296
|
Image::ExifTool::AddCompositeTags('Image::ExifTool::Apple');
|
144
297
|
|
298
|
+
#------------------------------------------------------------------------------
|
299
|
+
# Convert from binary PLIST format to a tag value we can use
|
300
|
+
# Inputs: 0) binary plist data, 1) ExifTool ref
|
301
|
+
# Returns: converted value
|
302
|
+
sub ConvertPLIST($$)
|
303
|
+
{
|
304
|
+
my ($val, $et) = @_;
|
305
|
+
my $dirInfo = { DataPt => \$val };
|
306
|
+
require Image::ExifTool::PLIST;
|
307
|
+
Image::ExifTool::PLIST::ProcessBinaryPLIST($et, $dirInfo);
|
308
|
+
$val = $$dirInfo{Value};
|
309
|
+
if (ref $val eq 'HASH' and not $et->Options('Struct')) {
|
310
|
+
require 'Image/ExifTool/XMPStruct.pl';
|
311
|
+
$val = Image::ExifTool::XMP::SerializeStruct($val);
|
312
|
+
}
|
313
|
+
return $val;
|
314
|
+
}
|
145
315
|
|
146
316
|
1; # end
|
147
317
|
|
@@ -162,7 +332,7 @@ Apple maker notes in EXIF information.
|
|
162
332
|
|
163
333
|
=head1 AUTHOR
|
164
334
|
|
165
|
-
Copyright 2003-
|
335
|
+
Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
|
166
336
|
|
167
337
|
This library is free software; you can redistribute it and/or modify it
|
168
338
|
under the same terms as Perl itself.
|
@@ -291,7 +291,7 @@ information from Audible audio books.
|
|
291
291
|
|
292
292
|
=head1 AUTHOR
|
293
293
|
|
294
|
-
Copyright 2003-
|
294
|
+
Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
|
295
295
|
|
296
296
|
This library is free software; you can redistribute it and/or modify it
|
297
297
|
under the same terms as Perl itself.
|
@@ -335,7 +335,7 @@ This module contains definitions required by Image::ExifTool to read BMP
|
|
335
335
|
|
336
336
|
=head1 AUTHOR
|
337
337
|
|
338
|
-
Copyright 2003-
|
338
|
+
Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
|
339
339
|
|
340
340
|
This library is free software; you can redistribute it and/or modify it
|
341
341
|
under the same terms as Perl itself.
|
@@ -231,7 +231,7 @@ This module contains definitions required by Image::ExifTool to read BPG
|
|
231
231
|
|
232
232
|
=head1 AUTHOR
|
233
233
|
|
234
|
-
Copyright 2003-
|
234
|
+
Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
|
235
235
|
|
236
236
|
This library is free software; you can redistribute it and/or modify it
|
237
237
|
under the same terms as Perl itself.
|
@@ -445,7 +445,7 @@ compression ability).
|
|
445
445
|
|
446
446
|
=head1 AUTHOR
|
447
447
|
|
448
|
-
Copyright 2003-
|
448
|
+
Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
|
449
449
|
Copyright 2002, Leon Bottou and Yann Le Cun
|
450
450
|
Copyright 2001, AT&T
|
451
451
|
Copyright 1999-2001, LizardTech Inc.
|