exiftool-vendored.pl 12.70.0 → 12.73.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.
- package/bin/Changes +53 -1
- package/bin/MANIFEST +5 -0
- package/bin/META.json +1 -1
- package/bin/META.yml +1 -1
- package/bin/README +11 -11
- package/bin/exiftool +47 -27
- package/bin/lib/File/RandomAccess.pm +1 -1
- package/bin/lib/File/RandomAccess.pod +2 -2
- package/bin/lib/Image/ExifTool/AAC.pm +177 -0
- package/bin/lib/Image/ExifTool/AES.pm +1 -1
- package/bin/lib/Image/ExifTool/AFCP.pm +1 -1
- package/bin/lib/Image/ExifTool/AIFF.pm +1 -1
- package/bin/lib/Image/ExifTool/APE.pm +1 -1
- package/bin/lib/Image/ExifTool/APP12.pm +1 -1
- package/bin/lib/Image/ExifTool/ASF.pm +1 -1
- package/bin/lib/Image/ExifTool/Apple.pm +1 -1
- package/bin/lib/Image/ExifTool/Audible.pm +1 -1
- package/bin/lib/Image/ExifTool/BMP.pm +1 -1
- package/bin/lib/Image/ExifTool/BPG.pm +1 -1
- package/bin/lib/Image/ExifTool/BZZ.pm +1 -1
- package/bin/lib/Image/ExifTool/BigTIFF.pm +1 -1
- package/bin/lib/Image/ExifTool/BuildTagLookup.pm +4 -3
- package/bin/lib/Image/ExifTool/CBOR.pm +1 -1
- package/bin/lib/Image/ExifTool/Canon.pm +22 -7
- package/bin/lib/Image/ExifTool/CanonCustom.pm +1 -1
- package/bin/lib/Image/ExifTool/CanonRaw.pm +1 -1
- package/bin/lib/Image/ExifTool/CanonVRD.pm +1 -1
- package/bin/lib/Image/ExifTool/CaptureOne.pm +1 -1
- package/bin/lib/Image/ExifTool/Casio.pm +1 -1
- package/bin/lib/Image/ExifTool/Charset.pm +1 -1
- package/bin/lib/Image/ExifTool/DICOM.pm +1 -1
- package/bin/lib/Image/ExifTool/DJI.pm +1 -1
- package/bin/lib/Image/ExifTool/DNG.pm +1 -1
- package/bin/lib/Image/ExifTool/DPX.pm +1 -1
- package/bin/lib/Image/ExifTool/DV.pm +1 -1
- package/bin/lib/Image/ExifTool/DarwinCore.pm +1 -1
- package/bin/lib/Image/ExifTool/DjVu.pm +1 -1
- package/bin/lib/Image/ExifTool/EXE.pm +1 -1
- package/bin/lib/Image/ExifTool/Exif.pm +31 -10
- package/bin/lib/Image/ExifTool/FITS.pm +1 -1
- package/bin/lib/Image/ExifTool/FLAC.pm +1 -1
- package/bin/lib/Image/ExifTool/FLIF.pm +1 -1
- package/bin/lib/Image/ExifTool/FLIR.pm +1 -1
- package/bin/lib/Image/ExifTool/Fixup.pm +1 -1
- package/bin/lib/Image/ExifTool/Flash.pm +1 -1
- package/bin/lib/Image/ExifTool/FlashPix.pm +60 -7
- package/bin/lib/Image/ExifTool/Font.pm +1 -1
- package/bin/lib/Image/ExifTool/FotoStation.pm +1 -1
- package/bin/lib/Image/ExifTool/FujiFilm.pm +6 -3
- package/bin/lib/Image/ExifTool/GE.pm +1 -1
- package/bin/lib/Image/ExifTool/GIF.pm +1 -1
- package/bin/lib/Image/ExifTool/GIMP.pm +1 -1
- package/bin/lib/Image/ExifTool/GPS.pm +1 -1
- package/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
- package/bin/lib/Image/ExifTool/Geotag.pm +1 -1
- package/bin/lib/Image/ExifTool/GoPro.pm +17 -2
- package/bin/lib/Image/ExifTool/H264.pm +1 -1
- package/bin/lib/Image/ExifTool/HP.pm +1 -1
- package/bin/lib/Image/ExifTool/HTML.pm +1 -1
- package/bin/lib/Image/ExifTool/HtmlDump.pm +1 -1
- package/bin/lib/Image/ExifTool/ICC_Profile.pm +1 -1
- package/bin/lib/Image/ExifTool/ICO.pm +1 -1
- package/bin/lib/Image/ExifTool/ID3.pm +8 -5
- package/bin/lib/Image/ExifTool/IPTC.pm +1 -1
- package/bin/lib/Image/ExifTool/ISO.pm +1 -1
- package/bin/lib/Image/ExifTool/ITC.pm +1 -1
- package/bin/lib/Image/ExifTool/Import.pm +1 -1
- package/bin/lib/Image/ExifTool/InDesign.pm +1 -1
- package/bin/lib/Image/ExifTool/InfiRay.pm +1 -1
- package/bin/lib/Image/ExifTool/JPEG.pm +5 -2
- package/bin/lib/Image/ExifTool/JPEGDigest.pm +1 -1
- package/bin/lib/Image/ExifTool/JSON.pm +5 -2
- package/bin/lib/Image/ExifTool/JVC.pm +3 -3
- package/bin/lib/Image/ExifTool/Jpeg2000.pm +17 -6
- package/bin/lib/Image/ExifTool/Kodak.pm +1 -1
- package/bin/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
- package/bin/lib/Image/ExifTool/LIF.pm +1 -1
- package/bin/lib/Image/ExifTool/LNK.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/cs.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/de.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/es.pm +4 -4
- package/bin/lib/Image/ExifTool/Lang/fi.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/fr.pm +4 -5
- package/bin/lib/Image/ExifTool/Lang/it.pm +3 -3
- package/bin/lib/Image/ExifTool/Lang/ja.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/ko.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/nl.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/pl.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/ru.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/sk.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/sv.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/tr.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
- package/bin/lib/Image/ExifTool/Leaf.pm +3 -3
- package/bin/lib/Image/ExifTool/Lytro.pm +1 -1
- package/bin/lib/Image/ExifTool/M2TS.pm +22 -17
- package/bin/lib/Image/ExifTool/MIE.pm +3 -3
- package/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
- package/bin/lib/Image/ExifTool/MIFF.pm +1 -1
- package/bin/lib/Image/ExifTool/MISB.pm +1 -1
- package/bin/lib/Image/ExifTool/MNG.pm +1 -1
- package/bin/lib/Image/ExifTool/MOI.pm +1 -1
- package/bin/lib/Image/ExifTool/MPC.pm +1 -1
- package/bin/lib/Image/ExifTool/MPEG.pm +1 -1
- package/bin/lib/Image/ExifTool/MPF.pm +1 -1
- package/bin/lib/Image/ExifTool/MRC.pm +1 -1
- package/bin/lib/Image/ExifTool/MWG.pm +1 -1
- package/bin/lib/Image/ExifTool/MXF.pm +1 -1
- package/bin/lib/Image/ExifTool/MacOS.pm +1 -1
- package/bin/lib/Image/ExifTool/MakerNotes.pm +1 -1
- package/bin/lib/Image/ExifTool/Matroska.pm +1 -1
- package/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
- package/bin/lib/Image/ExifTool/Minolta.pm +1 -1
- package/bin/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
- package/bin/lib/Image/ExifTool/Motorola.pm +1 -1
- package/bin/lib/Image/ExifTool/Nikon.pm +166 -97
- package/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
- package/bin/lib/Image/ExifTool/NikonCustom.pm +1 -1
- package/bin/lib/Image/ExifTool/NikonSettings.pm +1 -1
- package/bin/lib/Image/ExifTool/Nintendo.pm +1 -1
- package/bin/lib/Image/ExifTool/OOXML.pm +1 -1
- package/bin/lib/Image/ExifTool/Ogg.pm +1 -1
- package/bin/lib/Image/ExifTool/Olympus.pm +1 -1
- package/bin/lib/Image/ExifTool/OpenEXR.pm +1 -1
- package/bin/lib/Image/ExifTool/Opus.pm +1 -1
- package/bin/lib/Image/ExifTool/Other.pm +1 -1
- package/bin/lib/Image/ExifTool/PCX.pm +1 -1
- package/bin/lib/Image/ExifTool/PDF.pm +1 -1
- package/bin/lib/Image/ExifTool/PGF.pm +1 -1
- package/bin/lib/Image/ExifTool/PICT.pm +1 -1
- package/bin/lib/Image/ExifTool/PLIST.pm +1 -1
- package/bin/lib/Image/ExifTool/PLUS.pm +1 -1
- package/bin/lib/Image/ExifTool/PNG.pm +24 -2
- package/bin/lib/Image/ExifTool/PPM.pm +1 -1
- package/bin/lib/Image/ExifTool/PSP.pm +1 -1
- package/bin/lib/Image/ExifTool/Palm.pm +1 -1
- package/bin/lib/Image/ExifTool/Panasonic.pm +27 -2
- package/bin/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
- package/bin/lib/Image/ExifTool/Parrot.pm +1 -1
- package/bin/lib/Image/ExifTool/Pentax.pm +46 -16
- package/bin/lib/Image/ExifTool/PhaseOne.pm +4 -4
- package/bin/lib/Image/ExifTool/PhotoCD.pm +1 -1
- package/bin/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
- package/bin/lib/Image/ExifTool/Photoshop.pm +1 -1
- package/bin/lib/Image/ExifTool/PostScript.pm +1 -1
- package/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
- package/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
- package/bin/lib/Image/ExifTool/QuickTime.pm +50 -11
- package/bin/lib/Image/ExifTool/QuickTimeStream.pl +148 -12
- package/bin/lib/Image/ExifTool/RIFF.pm +1 -1
- package/bin/lib/Image/ExifTool/RSRC.pm +1 -1
- package/bin/lib/Image/ExifTool/RTF.pm +1 -1
- package/bin/lib/Image/ExifTool/Radiance.pm +1 -1
- package/bin/lib/Image/ExifTool/Rawzor.pm +1 -1
- package/bin/lib/Image/ExifTool/Real.pm +1 -1
- package/bin/lib/Image/ExifTool/Reconyx.pm +1 -1
- package/bin/lib/Image/ExifTool/Red.pm +1 -1
- package/bin/lib/Image/ExifTool/Ricoh.pm +111 -3
- package/bin/lib/Image/ExifTool/Samsung.pm +4 -3
- package/bin/lib/Image/ExifTool/Sanyo.pm +1 -1
- package/bin/lib/Image/ExifTool/Scalado.pm +1 -1
- package/bin/lib/Image/ExifTool/Shift.pl +1 -1
- package/bin/lib/Image/ExifTool/Shortcuts.pm +1 -1
- package/bin/lib/Image/ExifTool/Sigma.pm +1 -1
- package/bin/lib/Image/ExifTool/SigmaRaw.pm +1 -1
- package/bin/lib/Image/ExifTool/Sony.pm +85 -6
- package/bin/lib/Image/ExifTool/SonyIDC.pm +1 -1
- package/bin/lib/Image/ExifTool/Stim.pm +1 -1
- package/bin/lib/Image/ExifTool/TagInfoXML.pm +2 -2
- package/bin/lib/Image/ExifTool/TagLookup.pm +4878 -4830
- package/bin/lib/Image/ExifTool/TagNames.pod +11518 -11379
- package/bin/lib/Image/ExifTool/Text.pm +1 -1
- package/bin/lib/Image/ExifTool/Theora.pm +1 -1
- package/bin/lib/Image/ExifTool/Torrent.pm +1 -1
- package/bin/lib/Image/ExifTool/Unknown.pm +1 -1
- package/bin/lib/Image/ExifTool/VCard.pm +1 -1
- package/bin/lib/Image/ExifTool/Validate.pm +1 -1
- package/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
- package/bin/lib/Image/ExifTool/WPG.pm +1 -1
- package/bin/lib/Image/ExifTool/WTV.pm +1 -1
- package/bin/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
- package/bin/lib/Image/ExifTool/WriteExif.pl +20 -5
- package/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
- package/bin/lib/Image/ExifTool/WritePDF.pl +1 -1
- package/bin/lib/Image/ExifTool/WritePNG.pl +1 -1
- package/bin/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
- package/bin/lib/Image/ExifTool/WritePostScript.pl +1 -1
- package/bin/lib/Image/ExifTool/WriteQuickTime.pl +4 -1
- package/bin/lib/Image/ExifTool/WriteRIFF.pl +1 -1
- package/bin/lib/Image/ExifTool/WriteXMP.pl +5 -3
- package/bin/lib/Image/ExifTool/Writer.pl +87 -15
- package/bin/lib/Image/ExifTool/XISF.pm +1 -1
- package/bin/lib/Image/ExifTool/XMP.pm +19 -3
- package/bin/lib/Image/ExifTool/XMP2.pl +1 -1
- package/bin/lib/Image/ExifTool/XMPStruct.pl +1 -1
- package/bin/lib/Image/ExifTool/ZIP.pm +1 -1
- package/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
- package/bin/lib/Image/ExifTool/iWork.pm +1 -1
- package/bin/lib/Image/ExifTool.pm +35 -8
- package/bin/lib/Image/ExifTool.pod +29 -16
- package/bin/perl-Image-ExifTool.spec +9 -9
- package/bin/pp_build_exe.args +6 -5
- package/package.json +4 -5
package/bin/Changes
CHANGED
|
@@ -7,7 +7,59 @@ RSS feed: https://exiftool.org/rss.xml
|
|
|
7
7
|
Note: The most recent production release is Version 12.70. (Other versions are
|
|
8
8
|
considered development releases, and are not uploaded to MetaCPAN.)
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
Jan. 10, 2024 - Version 12.73
|
|
11
|
+
|
|
12
|
+
- Added write support for Leica XMP-xmpDSA tags
|
|
13
|
+
- Added read support for timed GPS from Yada RoadCam Pro 4K dashcam videos
|
|
14
|
+
- Added read support for PNG cpIp chunk
|
|
15
|
+
- Added range checks on lat/long values when writing QuickTime:GPSCoordinates
|
|
16
|
+
- Decode a number of new values for Ricoh GR III tags
|
|
17
|
+
- Decode a new Leica tag
|
|
18
|
+
- Improved handling of Brotli compression errors
|
|
19
|
+
- Enhanced API NoWarning option to also apply to app "Warning:" outputs
|
|
20
|
+
- Identify PNG Plus files
|
|
21
|
+
- Changed name of Pentax ISOAutoParameters to ISOAutoMinSpeed and improved
|
|
22
|
+
decoding
|
|
23
|
+
- Fixed writing of date/time tags in XMP-xmpMM:Pantry structure
|
|
24
|
+
- API Changes:
|
|
25
|
+
- Added LimitLongValues option
|
|
26
|
+
|
|
27
|
+
Dec. 29, 2023 - Version 12.72
|
|
28
|
+
|
|
29
|
+
- Added read support for AAC audio files
|
|
30
|
+
- Added a new QuickTime Keys Android tag
|
|
31
|
+
- Added a number of new values for some Ricoh GR III tags
|
|
32
|
+
- Decode timed metadata from Intsa360 Ace Pro MP4 videos
|
|
33
|
+
- Decode GPSDateTime milliseconds in timed Insta360 metadata
|
|
34
|
+
- Decode timed metadata from INNOV K5 TS videos
|
|
35
|
+
- Decode a number of new GoPro timed-metadata tags
|
|
36
|
+
- Decode a few new Xiaomi EXIF tags
|
|
37
|
+
- Fixed writing of JPG/ARW images from some newer Sony models to preserve
|
|
38
|
+
HiddenData
|
|
39
|
+
|
|
40
|
+
Dec. 21, 2023 - Version 12.71
|
|
41
|
+
|
|
42
|
+
- Added a warning if there was an error reading an alternate file with the
|
|
43
|
+
-fileNUM option
|
|
44
|
+
- Added the ability to write QuickTime Keys:Encoder
|
|
45
|
+
- Added a few new Canon LensType values (thanks Norbert Wasser)
|
|
46
|
+
- Added a new, obscure EXIF tag (thanks Neal Krawetz)
|
|
47
|
+
- Decode real-time metadata from Ricoh Theta videos
|
|
48
|
+
- Decode SpecularWhiteLevel for more Canon models (github #232)
|
|
49
|
+
- Decode Canon DualPixelRaw tag (thanks John Moyer)
|
|
50
|
+
- Decode a few new Nikon tags (thanks Warren Hatch)
|
|
51
|
+
- Decode more FujiFilm M-RAW tags (thanks Greybeard)
|
|
52
|
+
- Improved generation of tag names for some JSON tag ID's containing colons
|
|
53
|
+
- Fixed "Undefined subroutine" error when writing makernotes as a block
|
|
54
|
+
- Fixed missing ID in family 7 group name for ID3 tags which are not valid for
|
|
55
|
+
the specified ID3 version
|
|
56
|
+
- Fixed bug where some tags from alternate files (with the -fileNUM option)
|
|
57
|
+
could show up as "not defined" when used in expressions even though they did
|
|
58
|
+
exist
|
|
59
|
+
- API Changes:
|
|
60
|
+
- Added NoMandatory option
|
|
61
|
+
|
|
62
|
+
Nov. 19, 2023 - Version 12.70 (production release) - "20th Anniversary"
|
|
11
63
|
|
|
12
64
|
- This marks the 20th anniversary of the initial ExifTool release!
|
|
13
65
|
- Added ability to read/delete C2PA CAI JUMBF metadata from TIFF-based images
|
package/bin/MANIFEST
CHANGED
|
@@ -41,6 +41,7 @@ fmt_files/kml_track.fmt
|
|
|
41
41
|
html/ExifTool.html
|
|
42
42
|
html/MIE1.1-20070121.pdf
|
|
43
43
|
html/Shift.html
|
|
44
|
+
html/TagNames/AAC.html
|
|
44
45
|
html/TagNames/AFCP.html
|
|
45
46
|
html/TagNames/AIFF.html
|
|
46
47
|
html/TagNames/APE.html
|
|
@@ -214,6 +215,7 @@ lib/File/RandomAccess.pod
|
|
|
214
215
|
lib/Image/ExifTool.pm
|
|
215
216
|
lib/Image/ExifTool.pod
|
|
216
217
|
lib/Image/ExifTool/7Z.pm
|
|
218
|
+
lib/Image/ExifTool/AAC.pm
|
|
217
219
|
lib/Image/ExifTool/AES.pm
|
|
218
220
|
lib/Image/ExifTool/AFCP.pm
|
|
219
221
|
lib/Image/ExifTool/AIFF.pm
|
|
@@ -441,6 +443,8 @@ lib/Image/ExifTool/ZIP.pm
|
|
|
441
443
|
lib/Image/ExifTool/ZISRAW.pm
|
|
442
444
|
lib/Image/ExifTool/iWork.pm
|
|
443
445
|
perl-Image-ExifTool.spec
|
|
446
|
+
t/AAC.t
|
|
447
|
+
t/AAC_2.out
|
|
444
448
|
t/AFCP.t
|
|
445
449
|
t/AFCP_2.out
|
|
446
450
|
t/AFCP_3.out
|
|
@@ -979,6 +983,7 @@ t/ZIP_7.out
|
|
|
979
983
|
t/ZIP_8.out
|
|
980
984
|
t/ZISRAW.t
|
|
981
985
|
t/ZISRAW_2.out
|
|
986
|
+
t/images/AAC.aac
|
|
982
987
|
t/images/AFCP.jpg
|
|
983
988
|
t/images/AIFF.aif
|
|
984
989
|
t/images/APE.ape
|
package/bin/META.json
CHANGED
package/bin/META.yml
CHANGED
package/bin/README
CHANGED
|
@@ -14,13 +14,14 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
|
14
14
|
|
|
15
15
|
File Types
|
|
16
16
|
------------+-------------+-------------+-------------+------------
|
|
17
|
-
360 r/w |
|
|
18
|
-
3FR r |
|
|
19
|
-
3G2 r/w |
|
|
20
|
-
3GP r/w |
|
|
21
|
-
7Z r |
|
|
22
|
-
A r |
|
|
23
|
-
AA r |
|
|
17
|
+
360 r/w | DOCX r | ISO r | NRW r/w | RAR r
|
|
18
|
+
3FR r | DPX r | ITC r | NUMBERS r | RAW r/w
|
|
19
|
+
3G2 r/w | DR4 r/w/c | J2C r | O r | RIFF r
|
|
20
|
+
3GP r/w | DSS r | JNG r/w | ODP r | RSRC r
|
|
21
|
+
7Z r | DV r | JP2 r/w | ODS r | RTF r
|
|
22
|
+
A r | DVB r/w | JPEG r/w | ODT r | RW2 r/w
|
|
23
|
+
AA r | DVR-MS r | JSON r | OFR r | RWL r/w
|
|
24
|
+
AAC r | DYLIB r | JXL r | OGG r | RWZ r
|
|
24
25
|
AAE r | EIP r | K25 r | OGV r | RM r
|
|
25
26
|
AAX r/w | EPS r/w | KDC r | ONP r | SEQ r
|
|
26
27
|
ACR r | EPUB r | KEY r | OPUS r | SKETCH r
|
|
@@ -56,7 +57,6 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
|
56
57
|
DLL r | INSP r/w | MXF r | RA r | XLSX r
|
|
57
58
|
DNG r/w | INSV r | NEF r/w | RAF r/w | XMP r/w/c
|
|
58
59
|
DOC r | INX r | NKSC r/w | RAM r | ZIP r
|
|
59
|
-
DOCX r | ISO r | NRW r/w | RAR r |
|
|
60
60
|
|
|
61
61
|
Meta Information
|
|
62
62
|
----------------------+----------------------+---------------------
|
|
@@ -108,8 +108,8 @@ your home directory, then you would type the following commands in a
|
|
|
108
108
|
terminal window to extract and run ExifTool:
|
|
109
109
|
|
|
110
110
|
cd ~/Desktop
|
|
111
|
-
gzip -dc Image-ExifTool-12.
|
|
112
|
-
cd Image-ExifTool-12.
|
|
111
|
+
gzip -dc Image-ExifTool-12.73.tar.gz | tar -xf -
|
|
112
|
+
cd Image-ExifTool-12.73
|
|
113
113
|
./exiftool t/images/ExifTool.jpg
|
|
114
114
|
|
|
115
115
|
Note: These commands extract meta information from one of the test images.
|
|
@@ -166,7 +166,7 @@ for calculating digest values and providing other features listed below:
|
|
|
166
166
|
|
|
167
167
|
COPYRIGHT AND LICENSE
|
|
168
168
|
|
|
169
|
-
Copyright 2003-
|
|
169
|
+
Copyright 2003-2024, Phil Harvey
|
|
170
170
|
|
|
171
171
|
This is free software; you can redistribute it and/or modify it under the
|
|
172
172
|
same terms as Perl itself.
|
package/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.73';
|
|
15
15
|
|
|
16
16
|
# add our 'lib' directory to the include list BEFORE 'use Image::ExifTool'
|
|
17
17
|
my $exePath;
|
|
@@ -58,6 +58,7 @@ sub ConvertBinary($);
|
|
|
58
58
|
sub IsEqual($$);
|
|
59
59
|
sub Infile($;$);
|
|
60
60
|
sub AddSetTagsFile($;$);
|
|
61
|
+
sub Warning($$);
|
|
61
62
|
sub DoSetFromFile($$$);
|
|
62
63
|
sub CleanFilename($);
|
|
63
64
|
sub SetWindowTitle($);
|
|
@@ -1642,7 +1643,10 @@ if (@newValues) {
|
|
|
1642
1643
|
if ($tag =~ /^(All)?TagsFromFile$/i) {
|
|
1643
1644
|
defined $newVal or Error("Need file name for -tagsFromFile\n"), next Command;
|
|
1644
1645
|
++$isWriting;
|
|
1645
|
-
if ($newVal eq '@' or not defined FilenameSPrintf($newVal)
|
|
1646
|
+
if ($newVal eq '@' or not defined FilenameSPrintf($newVal) or
|
|
1647
|
+
# can't set tags yet if we are using tags from other files with the -fileNUM option
|
|
1648
|
+
grep /\bfile\d+:/i, @{$setTags{$newVal}})
|
|
1649
|
+
{
|
|
1646
1650
|
push @dynamicFiles, $newVal;
|
|
1647
1651
|
next; # set tags from dynamic file later
|
|
1648
1652
|
}
|
|
@@ -1702,7 +1706,7 @@ if (@newValues) {
|
|
|
1702
1706
|
my ($rtn, $wrn) = $mt->SetNewValue($tag, $newVal, %opts);
|
|
1703
1707
|
$needSave = 1;
|
|
1704
1708
|
++$isWriting if $rtn;
|
|
1705
|
-
$wrn and
|
|
1709
|
+
$wrn and Warning($mt, $wrn);
|
|
1706
1710
|
}
|
|
1707
1711
|
# exclude specified tags
|
|
1708
1712
|
foreach (@exclude) {
|
|
@@ -2715,7 +2719,7 @@ TAG: foreach $tag (@foundTags) {
|
|
|
2715
2719
|
$padLen -= $gcstr->columns;
|
|
2716
2720
|
} else {
|
|
2717
2721
|
$padLen -= length Encode::decode_utf8($desc);
|
|
2718
|
-
|
|
2722
|
+
Warning($et, 'Unicode::GCString problem. Columns may be misaligned');
|
|
2719
2723
|
$fixLen = 1;
|
|
2720
2724
|
}
|
|
2721
2725
|
}
|
|
@@ -2985,7 +2989,7 @@ sub SetImageInfo($$$)
|
|
|
2985
2989
|
my $newFileName = $et->GetNewValues('FileName');
|
|
2986
2990
|
my $newDir = $et->GetNewValues('Directory');
|
|
2987
2991
|
if (defined $newFileName and not length $newFileName) {
|
|
2988
|
-
|
|
2992
|
+
Warning($et,"New file name is empty - $infile");
|
|
2989
2993
|
undef $newFileName;
|
|
2990
2994
|
}
|
|
2991
2995
|
if (defined $testName) {
|
|
@@ -3644,9 +3648,22 @@ sub Infile($;$)
|
|
|
3644
3648
|
return $file;
|
|
3645
3649
|
}
|
|
3646
3650
|
|
|
3651
|
+
#------------------------------------------------------------------------------
|
|
3652
|
+
# Issue warning to stderr, adding leading "Warning: " and trailing newline
|
|
3653
|
+
# if the warning isn't suppressed by the API NoWarning option
|
|
3654
|
+
# Inputs: 0) ExifTool ref, 1) warning string
|
|
3655
|
+
sub Warning($$)
|
|
3656
|
+
{
|
|
3657
|
+
my ($et, $str) = @_;
|
|
3658
|
+
my $noWarn = $et->Options('NoWarning');
|
|
3659
|
+
if (not defined $noWarn or not eval { $str =~ /$noWarn/ }) {
|
|
3660
|
+
Warn "Warning: $str\n";
|
|
3661
|
+
}
|
|
3662
|
+
}
|
|
3663
|
+
|
|
3647
3664
|
#------------------------------------------------------------------------------
|
|
3648
3665
|
# Set new values from file
|
|
3649
|
-
# Inputs: 0)
|
|
3666
|
+
# Inputs: 0) ExifTool ref, 1) filename, 2) reference to list of values to set
|
|
3650
3667
|
# Returns: 0 on error (and increments $countBadWr)
|
|
3651
3668
|
sub DoSetFromFile($$$)
|
|
3652
3669
|
{
|
|
@@ -3659,19 +3676,18 @@ sub DoSetFromFile($$$)
|
|
|
3659
3676
|
# delete all error and warning tags
|
|
3660
3677
|
my @warns = grep /^(Error|Warning)\b/, keys %$info;
|
|
3661
3678
|
$numSet -= scalar(@warns);
|
|
3662
|
-
# issue a warning for the main error
|
|
3663
|
-
|
|
3664
|
-
|
|
3665
|
-
|
|
3666
|
-
|
|
3667
|
-
}
|
|
3679
|
+
# issue a warning only for the main error
|
|
3680
|
+
my $err = $$info{Error};
|
|
3681
|
+
delete $$info{$_} foreach @warns;
|
|
3682
|
+
my $noWarn = $et->Options('NoWarning');
|
|
3683
|
+
$$info{Warning} = $err unless defined $noWarn and eval { $err =~ /$noWarn/ };
|
|
3668
3684
|
} elsif ($$info{Warning}) {
|
|
3669
3685
|
my $warns = 1;
|
|
3670
3686
|
++$warns while $$info{"Warning ($warns)"};
|
|
3671
3687
|
$numSet -= $warns;
|
|
3672
3688
|
}
|
|
3673
3689
|
PrintErrors($et, $info, $file) and EFile($file), ++$countBadWr, return 0;
|
|
3674
|
-
|
|
3690
|
+
Warning($et,"No writable tags set from $file") unless $numSet;
|
|
3675
3691
|
return 1;
|
|
3676
3692
|
}
|
|
3677
3693
|
|
|
@@ -3817,7 +3833,7 @@ sub ScanDir($$;$)
|
|
|
3817
3833
|
if ($evalWarning) {
|
|
3818
3834
|
chomp $evalWarning;
|
|
3819
3835
|
$evalWarning =~ s/ at .*//s;
|
|
3820
|
-
|
|
3836
|
+
Warning($et,"[Win32::FindFile] $evalWarning - $dir");
|
|
3821
3837
|
$winSurrogate = 1 if $evalWarning =~ /surrogate/;
|
|
3822
3838
|
} else {
|
|
3823
3839
|
$et->Options(CharsetFileName => 'UTF8'); # now using UTF8
|
|
@@ -4628,13 +4644,14 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
|
4628
4644
|
|
|
4629
4645
|
File Types
|
|
4630
4646
|
------------+-------------+-------------+-------------+------------
|
|
4631
|
-
360 r/w |
|
|
4632
|
-
3FR r |
|
|
4633
|
-
3G2 r/w |
|
|
4634
|
-
3GP r/w |
|
|
4635
|
-
7Z r |
|
|
4636
|
-
A r |
|
|
4637
|
-
AA r |
|
|
4647
|
+
360 r/w | DOCX r | ISO r | NRW r/w | RAR r
|
|
4648
|
+
3FR r | DPX r | ITC r | NUMBERS r | RAW r/w
|
|
4649
|
+
3G2 r/w | DR4 r/w/c | J2C r | O r | RIFF r
|
|
4650
|
+
3GP r/w | DSS r | JNG r/w | ODP r | RSRC r
|
|
4651
|
+
7Z r | DV r | JP2 r/w | ODS r | RTF r
|
|
4652
|
+
A r | DVB r/w | JPEG r/w | ODT r | RW2 r/w
|
|
4653
|
+
AA r | DVR-MS r | JSON r | OFR r | RWL r/w
|
|
4654
|
+
AAC r | DYLIB r | JXL r | OGG r | RWZ r
|
|
4638
4655
|
AAE r | EIP r | K25 r | OGV r | RM r
|
|
4639
4656
|
AAX r/w | EPS r/w | KDC r | ONP r | SEQ r
|
|
4640
4657
|
ACR r | EPUB r | KEY r | OPUS r | SKETCH r
|
|
@@ -4670,7 +4687,6 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
|
4670
4687
|
DLL r | INSP r/w | MXF r | RA r | XLSX r
|
|
4671
4688
|
DNG r/w | INSV r | NEF r/w | RAF r/w | XMP r/w/c
|
|
4672
4689
|
DOC r | INX r | NKSC r/w | RAM r | ZIP r
|
|
4673
|
-
DOCX r | ISO r | NRW r/w | RAR r |
|
|
4674
4690
|
|
|
4675
4691
|
Meta Information
|
|
4676
4692
|
----------------------+----------------------+---------------------
|
|
@@ -5440,7 +5456,7 @@ tags specified for the specific SourceFile processed. The imported JSON
|
|
|
5440
5456
|
file must have the same format as the exported JSON files with the exception
|
|
5441
5457
|
that options exporting JSON objects instead of simple values are not
|
|
5442
5458
|
compatible with the import file format (ie. export with B<-D>, B<-H>, B<-l>,
|
|
5443
|
-
or B<-T> is not
|
|
5459
|
+
or B<-T> is not compatible, and use B<-G> instead of B<-g>). Additionally,
|
|
5444
5460
|
tag names in the input JSON file may be suffixed with a C<#> to disable
|
|
5445
5461
|
print conversion.
|
|
5446
5462
|
|
|
@@ -5582,7 +5598,7 @@ with this command:
|
|
|
5582
5598
|
|
|
5583
5599
|
produces output like this:
|
|
5584
5600
|
|
|
5585
|
-
-- Generated by ExifTool 12.
|
|
5601
|
+
-- Generated by ExifTool 12.73 --
|
|
5586
5602
|
File: a.jpg - 2003:10:31 15:44:19
|
|
5587
5603
|
(f/5.6, 1/60s, ISO 100)
|
|
5588
5604
|
File: b.jpg - 2006:05:23 11:57:38
|
|
@@ -6605,8 +6621,12 @@ Rights from the original file could look like this:
|
|
|
6605
6621
|
|
|
6606
6622
|
exiftool -file1 '$originalfilename' '-rights<file1:rights' edited.jpg
|
|
6607
6623
|
|
|
6608
|
-
|
|
6609
|
-
|
|
6624
|
+
Subtle note: If a B<-tagsFromFile> option is used, tags in the I<ALTFILE>
|
|
6625
|
+
argument come from the I<SRCFILE> that applies to the first argument
|
|
6626
|
+
accessing tags from the corresponding C<FileNUM> group.
|
|
6627
|
+
|
|
6628
|
+
User-defined Composite tags may access tags from alternate files using the
|
|
6629
|
+
appropriate (case-sensitive) family 8 group name.
|
|
6610
6630
|
|
|
6611
6631
|
=item B<-list_dir>
|
|
6612
6632
|
|
|
@@ -7447,7 +7467,7 @@ the commands if B<-execute> was used).
|
|
|
7447
7467
|
|
|
7448
7468
|
=head1 AUTHOR
|
|
7449
7469
|
|
|
7450
|
-
Copyright 2003-
|
|
7470
|
+
Copyright 2003-2024, Phil Harvey
|
|
7451
7471
|
|
|
7452
7472
|
This is free software; you can redistribute it and/or modify it under the
|
|
7453
7473
|
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-2024, 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-2024, 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-2024, 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.
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
#------------------------------------------------------------------------------
|
|
2
|
+
# File: AAC.pm
|
|
3
|
+
#
|
|
4
|
+
# Description: Read AAC audio files
|
|
5
|
+
#
|
|
6
|
+
# Revisions: 2023-12-29 - P. Harvey Created
|
|
7
|
+
#------------------------------------------------------------------------------
|
|
8
|
+
|
|
9
|
+
package Image::ExifTool::AAC;
|
|
10
|
+
|
|
11
|
+
use strict;
|
|
12
|
+
use vars qw($VERSION);
|
|
13
|
+
use Image::ExifTool qw(:DataAccess :Utils);
|
|
14
|
+
use Image::ExifTool::FLAC;
|
|
15
|
+
|
|
16
|
+
$VERSION = '1.00';
|
|
17
|
+
|
|
18
|
+
my %convSampleRate = (
|
|
19
|
+
0 => 96000, 7 => 22050,
|
|
20
|
+
1 => 88200, 8 => 16000,
|
|
21
|
+
2 => 64000, 9 => 12000,
|
|
22
|
+
3 => 48000, 10 => 11025,
|
|
23
|
+
4 => 44100, 11 => 8000,
|
|
24
|
+
5 => 32000, 12 => 7350,
|
|
25
|
+
6 => 24000,
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
%Image::ExifTool::AAC::Main = (
|
|
29
|
+
PROCESS_PROC => \&Image::ExifTool::FLAC::ProcessBitStream,
|
|
30
|
+
GROUPS => { 2 => 'Audio' },
|
|
31
|
+
NOTES => 'Tags extracted from Advanced Audio Coding (AAC) files.',
|
|
32
|
+
# Bit000-011 - sync word (all 1's)
|
|
33
|
+
# Bit012 - ID (seems to be always 0)
|
|
34
|
+
# Bit013-014 - layer (00)
|
|
35
|
+
# Bit015 - CRC absent (0=crc exists, 1=no crc)
|
|
36
|
+
'Bit016-017' => {
|
|
37
|
+
Name => 'ProfileType',
|
|
38
|
+
PrintConv => {
|
|
39
|
+
0 => 'Main',
|
|
40
|
+
1 => 'Low Complexity',
|
|
41
|
+
2 => 'Scalable Sampling Rate',
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
'Bit018-021' => {
|
|
45
|
+
Name => 'SampleRate',
|
|
46
|
+
ValueConv => \%convSampleRate,
|
|
47
|
+
},
|
|
48
|
+
# Bit022 - private
|
|
49
|
+
'Bit023-025' => {
|
|
50
|
+
Name => 'Channels',
|
|
51
|
+
PrintConv => {
|
|
52
|
+
0 => '?',
|
|
53
|
+
1 => 1,
|
|
54
|
+
2 => 2,
|
|
55
|
+
3 => 3,
|
|
56
|
+
4 => 4,
|
|
57
|
+
5 => 5,
|
|
58
|
+
6 => '5+1',
|
|
59
|
+
7 => '7+1',
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
# Bit026 - original/copy
|
|
63
|
+
# Bit027 - home
|
|
64
|
+
# Bit028 - copyright ID
|
|
65
|
+
# Bit029 - copyright start
|
|
66
|
+
# Bit030-042 - FrameLength
|
|
67
|
+
# Bit043-053 - buffer fullness
|
|
68
|
+
# Bit054-055 - BlocksInFrame (minus 1)
|
|
69
|
+
# Note: Bitrate for frame = FrameLength * 8 * SampleRate / ((BlocksInFrame+1) * 1024)
|
|
70
|
+
# - but all frames must be scanned to calculate average bitrate
|
|
71
|
+
Encoder => {
|
|
72
|
+
Name => 'Encoder',
|
|
73
|
+
Notes => 'taken from filler payload of first frame',
|
|
74
|
+
},
|
|
75
|
+
);
|
|
76
|
+
|
|
77
|
+
#------------------------------------------------------------------------------
|
|
78
|
+
# Read information from an AAC file
|
|
79
|
+
# Inputs: 0) ExifTool object reference, 1) Directory information reference
|
|
80
|
+
# Returns: 1 on success, 0 if this wasn't a valid AAC file
|
|
81
|
+
sub ProcessAAC($$)
|
|
82
|
+
{
|
|
83
|
+
my ($et, $dirInfo) = @_;
|
|
84
|
+
my $raf = $$dirInfo{RAF};
|
|
85
|
+
my ($buff, $buf2);
|
|
86
|
+
|
|
87
|
+
# format of frame header (7 bytes):
|
|
88
|
+
# SSSS SSSS SSSS ILLC PPRR RRpC CCoh csff ffff ffff fffb bbbb bbbb bbNN
|
|
89
|
+
# 1111 1111 1111 0001 0110 0000 0100 0000 0000 0101 0101 1111 1111 1100 (eg.)
|
|
90
|
+
# S = sync word o = original/copy
|
|
91
|
+
# I = ID h = home
|
|
92
|
+
# L = layer (00) c = copyright ID
|
|
93
|
+
# C = CRC absent s = copyright start
|
|
94
|
+
# P = profile object type f = frame length
|
|
95
|
+
# R = sampling rate index b = buffer fullness
|
|
96
|
+
# p = private N = number of raw data blocks in frame
|
|
97
|
+
# C = channel configuration
|
|
98
|
+
|
|
99
|
+
$raf->Read($buff, 7) == 7 or return 0;
|
|
100
|
+
return 0 unless $buff =~ /^\xff[\xf0\xf1]/;
|
|
101
|
+
my @t = unpack('NnC', $buff);
|
|
102
|
+
return 0 if (($t[0] >> 16) & 0x03) == 3; # (reserved profile type)
|
|
103
|
+
return 0 if (($t[0] >> 12) & 0x0f) > 12; # validate sampling frequency index
|
|
104
|
+
my $len = (($t[0] << 11) & 0x1800) | (($t[1] >> 5) & 0x07ff);
|
|
105
|
+
return 0 if $len < 7;
|
|
106
|
+
|
|
107
|
+
$et->SetFileType();
|
|
108
|
+
|
|
109
|
+
my $tagTablePtr = GetTagTable('Image::ExifTool::AAC::Main');
|
|
110
|
+
$et->ProcessDirectory({ DataPt => \$buff }, $tagTablePtr);
|
|
111
|
+
|
|
112
|
+
# read the first frame data to check for a filler with the encoder name
|
|
113
|
+
while ($len > 8 and $raf->Read($buff, $len-7) == $len-7) {
|
|
114
|
+
my $noCRC = ($t[0] & 0x00010000);
|
|
115
|
+
my $blocks = ($t[2] & 0x03);
|
|
116
|
+
my $pos = 0;
|
|
117
|
+
$pos += 2 + 2 * $blocks unless $noCRC;
|
|
118
|
+
last if $pos + 2 > length($buff);
|
|
119
|
+
my $tmp = unpack("x${pos}n", $buff);
|
|
120
|
+
my $id = $tmp >> 13;
|
|
121
|
+
# read filler payload
|
|
122
|
+
if ($id == 6) {
|
|
123
|
+
my $cnt = ($tmp >> 9) & 0x0f;
|
|
124
|
+
++$pos;
|
|
125
|
+
if ($cnt == 15) {
|
|
126
|
+
$cnt += (($tmp >> 1) & 0xff) - 1;
|
|
127
|
+
++$pos;
|
|
128
|
+
}
|
|
129
|
+
if ($pos + $cnt <= length($buff)) {
|
|
130
|
+
my $dat = substr($buff, $pos, $cnt);
|
|
131
|
+
$dat =~ s/^\0+//;
|
|
132
|
+
$dat =~ s/\0+$//;
|
|
133
|
+
$et->HandleTag($tagTablePtr, Encoder => $dat) if $dat =~ /^[\x20-\x7e]+$/;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
last;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
return 1;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
1; # end
|
|
143
|
+
|
|
144
|
+
__END__
|
|
145
|
+
|
|
146
|
+
=head1 NAME
|
|
147
|
+
|
|
148
|
+
Image::ExifTool::AAC - Read AAC audio files
|
|
149
|
+
|
|
150
|
+
=head1 SYNOPSIS
|
|
151
|
+
|
|
152
|
+
This module is used by Image::ExifTool
|
|
153
|
+
|
|
154
|
+
=head1 DESCRIPTION
|
|
155
|
+
|
|
156
|
+
This module contains definitions required by Image::ExifTool to read
|
|
157
|
+
Advanced Audio Coding (AAC) files.
|
|
158
|
+
|
|
159
|
+
=head1 NOTES
|
|
160
|
+
|
|
161
|
+
Since ISO charges money for the official AAC specification, this module is
|
|
162
|
+
based on unofficial sources which may be incomplete, inaccurate or outdated.
|
|
163
|
+
|
|
164
|
+
=head1 AUTHOR
|
|
165
|
+
|
|
166
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
167
|
+
|
|
168
|
+
This library is free software; you can redistribute it and/or modify it
|
|
169
|
+
under the same terms as Perl itself.
|
|
170
|
+
|
|
171
|
+
=head1 SEE ALSO
|
|
172
|
+
|
|
173
|
+
L<Image::ExifTool::TagNames/AAC Tags>,
|
|
174
|
+
L<Image::ExifTool(3pm)|Image::ExifTool>
|
|
175
|
+
|
|
176
|
+
=cut
|
|
177
|
+
|
|
@@ -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-2024, 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-2024, 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-2024, 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-2024, 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-2024, 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-2024, 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.
|
|
@@ -343,7 +343,7 @@ Apple maker notes in EXIF information.
|
|
|
343
343
|
|
|
344
344
|
=head1 AUTHOR
|
|
345
345
|
|
|
346
|
-
Copyright 2003-
|
|
346
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
347
347
|
|
|
348
348
|
This library is free software; you can redistribute it and/or modify it
|
|
349
349
|
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-2024, 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-2024, 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-2024, 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-2024, 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.
|