exiftool-vendored.exe 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/exiftool_files/Changes +53 -1
- package/bin/exiftool_files/README +11 -11
- package/bin/exiftool_files/exiftool.pl +49 -28
- package/bin/exiftool_files/lib/File/RandomAccess.pm +1 -1
- package/bin/exiftool_files/lib/File/RandomAccess.pod +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/AAC.pm +177 -0
- package/bin/exiftool_files/lib/Image/ExifTool/AES.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/AFCP.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/AIFF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/APE.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/APP12.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/ASF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Apple.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Audible.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/BMP.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/BPG.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/BZZ.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/BigTIFF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/BuildTagLookup.pm +4 -3
- package/bin/exiftool_files/lib/Image/ExifTool/CBOR.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Canon.pm +22 -7
- package/bin/exiftool_files/lib/Image/ExifTool/CanonCustom.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/CanonRaw.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/CanonVRD.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/CaptureOne.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Casio.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Charset.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/DICOM.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/DJI.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/DNG.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/DPX.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/DV.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/DarwinCore.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/DjVu.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/EXE.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Exif.pm +31 -10
- package/bin/exiftool_files/lib/Image/ExifTool/FITS.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/FLAC.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/FLIF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/FLIR.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Fixup.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Flash.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/FlashPix.pm +60 -7
- package/bin/exiftool_files/lib/Image/ExifTool/Font.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/FotoStation.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/FujiFilm.pm +6 -3
- package/bin/exiftool_files/lib/Image/ExifTool/GE.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/GIF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/GIMP.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/GPS.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/GeoTiff.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Geotag.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/GoPro.pm +17 -2
- package/bin/exiftool_files/lib/Image/ExifTool/H264.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/HP.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/HTML.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/HtmlDump.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/ICC_Profile.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/ICO.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/ID3.pm +8 -5
- package/bin/exiftool_files/lib/Image/ExifTool/IPTC.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/ISO.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/ITC.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Import.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/InDesign.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/InfiRay.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/JPEG.pm +5 -2
- package/bin/exiftool_files/lib/Image/ExifTool/JPEGDigest.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/JSON.pm +5 -2
- package/bin/exiftool_files/lib/Image/ExifTool/JVC.pm +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/Jpeg2000.pm +17 -6
- package/bin/exiftool_files/lib/Image/ExifTool/Kodak.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/LIF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/LNK.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/cs.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/de.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/es.pm +4 -4
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/fi.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/fr.pm +4 -5
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/it.pm +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/ja.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/ko.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/nl.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/pl.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/ru.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/sk.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/sv.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/tr.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Leaf.pm +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/Lytro.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/M2TS.pm +22 -17
- package/bin/exiftool_files/lib/Image/ExifTool/MIE.pm +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/MIEUnits.pod +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MIFF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MISB.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MNG.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MOI.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MPC.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MPEG.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MPF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MRC.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MWG.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MXF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MacOS.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MakerNotes.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Matroska.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Microsoft.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Minolta.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Motorola.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Nikon.pm +166 -97
- package/bin/exiftool_files/lib/Image/ExifTool/NikonCapture.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/NikonCustom.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/NikonSettings.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Nintendo.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/OOXML.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Ogg.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Olympus.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/OpenEXR.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Opus.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Other.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PCX.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PDF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PGF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PICT.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PLIST.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PLUS.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PNG.pm +24 -2
- package/bin/exiftool_files/lib/Image/ExifTool/PPM.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PSP.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Palm.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Panasonic.pm +27 -2
- package/bin/exiftool_files/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Parrot.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Pentax.pm +46 -16
- package/bin/exiftool_files/lib/Image/ExifTool/PhaseOne.pm +4 -4
- package/bin/exiftool_files/lib/Image/ExifTool/PhotoCD.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Photoshop.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PostScript.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PrintIM.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Qualcomm.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/QuickTime.pm +50 -11
- package/bin/exiftool_files/lib/Image/ExifTool/QuickTimeStream.pl +148 -12
- package/bin/exiftool_files/lib/Image/ExifTool/RIFF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/RSRC.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/RTF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Radiance.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Rawzor.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Real.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Reconyx.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Red.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Ricoh.pm +111 -3
- package/bin/exiftool_files/lib/Image/ExifTool/Samsung.pm +4 -3
- package/bin/exiftool_files/lib/Image/ExifTool/Sanyo.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Scalado.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Shift.pl +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Shortcuts.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Sigma.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/SigmaRaw.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Sony.pm +85 -6
- package/bin/exiftool_files/lib/Image/ExifTool/SonyIDC.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Stim.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/TagInfoXML.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/TagLookup.pm +4878 -4830
- package/bin/exiftool_files/lib/Image/ExifTool/TagNames.pod +11518 -11379
- package/bin/exiftool_files/lib/Image/ExifTool/Text.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Theora.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Torrent.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Unknown.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/VCard.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Validate.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Vorbis.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WPG.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WTV.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WriteExif.pl +20 -5
- package/bin/exiftool_files/lib/Image/ExifTool/WriteIPTC.pl +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WritePDF.pl +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WritePNG.pl +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WritePostScript.pl +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WriteQuickTime.pl +4 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WriteRIFF.pl +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WriteXMP.pl +5 -3
- package/bin/exiftool_files/lib/Image/ExifTool/Writer.pl +87 -15
- package/bin/exiftool_files/lib/Image/ExifTool/XISF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/XMP.pm +19 -3
- package/bin/exiftool_files/lib/Image/ExifTool/XMP2.pl +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/XMPStruct.pl +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/ZIP.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/ZISRAW.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/iWork.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool.pm +35 -8
- package/bin/exiftool_files/lib/Image/ExifTool.pod +29 -16
- package/package.json +5 -4
|
@@ -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
|
|
@@ -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.
|
|
@@ -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;
|
|
@@ -49,6 +49,7 @@ sub ConvertBinary($);
|
|
|
49
49
|
sub IsEqual($$);
|
|
50
50
|
sub Infile($;$);
|
|
51
51
|
sub AddSetTagsFile($;$);
|
|
52
|
+
sub Warning($$);
|
|
52
53
|
sub DoSetFromFile($$$);
|
|
53
54
|
sub CleanFilename($);
|
|
54
55
|
sub SetWindowTitle($);
|
|
@@ -1639,7 +1640,10 @@ if (@newValues) {
|
|
|
1639
1640
|
if ($tag =~ /^(All)?TagsFromFile$/i) {
|
|
1640
1641
|
defined $newVal or Error("Need file name for -tagsFromFile\n"), next Command;
|
|
1641
1642
|
++$isWriting;
|
|
1642
|
-
if ($newVal eq '@' or not defined FilenameSPrintf($newVal)
|
|
1643
|
+
if ($newVal eq '@' or not defined FilenameSPrintf($newVal) or
|
|
1644
|
+
# can't set tags yet if we are using tags from other files with the -fileNUM option
|
|
1645
|
+
grep /\bfile\d+:/i, @{$setTags{$newVal}})
|
|
1646
|
+
{
|
|
1643
1647
|
push @dynamicFiles, $newVal;
|
|
1644
1648
|
next; # set tags from dynamic file later
|
|
1645
1649
|
}
|
|
@@ -1699,7 +1703,7 @@ if (@newValues) {
|
|
|
1699
1703
|
my ($rtn, $wrn) = $mt->SetNewValue($tag, $newVal, %opts);
|
|
1700
1704
|
$needSave = 1;
|
|
1701
1705
|
++$isWriting if $rtn;
|
|
1702
|
-
$wrn and
|
|
1706
|
+
$wrn and Warning($mt, $wrn);
|
|
1703
1707
|
}
|
|
1704
1708
|
# exclude specified tags
|
|
1705
1709
|
foreach (@exclude) {
|
|
@@ -2712,7 +2716,7 @@ TAG: foreach $tag (@foundTags) {
|
|
|
2712
2716
|
$padLen -= $gcstr->columns;
|
|
2713
2717
|
} else {
|
|
2714
2718
|
$padLen -= length Encode::decode_utf8($desc);
|
|
2715
|
-
|
|
2719
|
+
Warning($et, 'Unicode::GCString problem. Columns may be misaligned');
|
|
2716
2720
|
$fixLen = 1;
|
|
2717
2721
|
}
|
|
2718
2722
|
}
|
|
@@ -2982,7 +2986,7 @@ sub SetImageInfo($$$)
|
|
|
2982
2986
|
my $newFileName = $et->GetNewValues('FileName');
|
|
2983
2987
|
my $newDir = $et->GetNewValues('Directory');
|
|
2984
2988
|
if (defined $newFileName and not length $newFileName) {
|
|
2985
|
-
|
|
2989
|
+
Warning($et,"New file name is empty - $infile");
|
|
2986
2990
|
undef $newFileName;
|
|
2987
2991
|
}
|
|
2988
2992
|
if (defined $testName) {
|
|
@@ -3641,9 +3645,22 @@ sub Infile($;$)
|
|
|
3641
3645
|
return $file;
|
|
3642
3646
|
}
|
|
3643
3647
|
|
|
3648
|
+
#------------------------------------------------------------------------------
|
|
3649
|
+
# Issue warning to stderr, adding leading "Warning: " and trailing newline
|
|
3650
|
+
# if the warning isn't suppressed by the API NoWarning option
|
|
3651
|
+
# Inputs: 0) ExifTool ref, 1) warning string
|
|
3652
|
+
sub Warning($$)
|
|
3653
|
+
{
|
|
3654
|
+
my ($et, $str) = @_;
|
|
3655
|
+
my $noWarn = $et->Options('NoWarning');
|
|
3656
|
+
if (not defined $noWarn or not eval { $str =~ /$noWarn/ }) {
|
|
3657
|
+
Warn "Warning: $str\n";
|
|
3658
|
+
}
|
|
3659
|
+
}
|
|
3660
|
+
|
|
3644
3661
|
#------------------------------------------------------------------------------
|
|
3645
3662
|
# Set new values from file
|
|
3646
|
-
# Inputs: 0)
|
|
3663
|
+
# Inputs: 0) ExifTool ref, 1) filename, 2) reference to list of values to set
|
|
3647
3664
|
# Returns: 0 on error (and increments $countBadWr)
|
|
3648
3665
|
sub DoSetFromFile($$$)
|
|
3649
3666
|
{
|
|
@@ -3656,19 +3673,18 @@ sub DoSetFromFile($$$)
|
|
|
3656
3673
|
# delete all error and warning tags
|
|
3657
3674
|
my @warns = grep /^(Error|Warning)\b/, keys %$info;
|
|
3658
3675
|
$numSet -= scalar(@warns);
|
|
3659
|
-
# issue a warning for the main error
|
|
3660
|
-
|
|
3661
|
-
|
|
3662
|
-
|
|
3663
|
-
|
|
3664
|
-
}
|
|
3676
|
+
# issue a warning only for the main error
|
|
3677
|
+
my $err = $$info{Error};
|
|
3678
|
+
delete $$info{$_} foreach @warns;
|
|
3679
|
+
my $noWarn = $et->Options('NoWarning');
|
|
3680
|
+
$$info{Warning} = $err unless defined $noWarn and eval { $err =~ /$noWarn/ };
|
|
3665
3681
|
} elsif ($$info{Warning}) {
|
|
3666
3682
|
my $warns = 1;
|
|
3667
3683
|
++$warns while $$info{"Warning ($warns)"};
|
|
3668
3684
|
$numSet -= $warns;
|
|
3669
3685
|
}
|
|
3670
3686
|
PrintErrors($et, $info, $file) and EFile($file), ++$countBadWr, return 0;
|
|
3671
|
-
|
|
3687
|
+
Warning($et,"No writable tags set from $file") unless $numSet;
|
|
3672
3688
|
return 1;
|
|
3673
3689
|
}
|
|
3674
3690
|
|
|
@@ -3814,7 +3830,7 @@ sub ScanDir($$;$)
|
|
|
3814
3830
|
if ($evalWarning) {
|
|
3815
3831
|
chomp $evalWarning;
|
|
3816
3832
|
$evalWarning =~ s/ at .*//s;
|
|
3817
|
-
|
|
3833
|
+
Warning($et,"[Win32::FindFile] $evalWarning - $dir");
|
|
3818
3834
|
$winSurrogate = 1 if $evalWarning =~ /surrogate/;
|
|
3819
3835
|
} else {
|
|
3820
3836
|
$et->Options(CharsetFileName => 'UTF8'); # now using UTF8
|
|
@@ -4636,13 +4652,14 @@ DESCRIPTION
|
|
|
4636
4652
|
|
|
4637
4653
|
File Types
|
|
4638
4654
|
------------+-------------+-------------+-------------+------------
|
|
4639
|
-
360 r/w |
|
|
4640
|
-
3FR r |
|
|
4641
|
-
3G2 r/w |
|
|
4642
|
-
3GP r/w |
|
|
4643
|
-
7Z r |
|
|
4644
|
-
A r |
|
|
4645
|
-
AA r |
|
|
4655
|
+
360 r/w | DOCX r | ISO r | NRW r/w | RAR r
|
|
4656
|
+
3FR r | DPX r | ITC r | NUMBERS r | RAW r/w
|
|
4657
|
+
3G2 r/w | DR4 r/w/c | J2C r | O r | RIFF r
|
|
4658
|
+
3GP r/w | DSS r | JNG r/w | ODP r | RSRC r
|
|
4659
|
+
7Z r | DV r | JP2 r/w | ODS r | RTF r
|
|
4660
|
+
A r | DVB r/w | JPEG r/w | ODT r | RW2 r/w
|
|
4661
|
+
AA r | DVR-MS r | JSON r | OFR r | RWL r/w
|
|
4662
|
+
AAC r | DYLIB r | JXL r | OGG r | RWZ r
|
|
4646
4663
|
AAE r | EIP r | K25 r | OGV r | RM r
|
|
4647
4664
|
AAX r/w | EPS r/w | KDC r | ONP r | SEQ r
|
|
4648
4665
|
ACR r | EPUB r | KEY r | OPUS r | SKETCH r
|
|
@@ -4678,7 +4695,6 @@ DESCRIPTION
|
|
|
4678
4695
|
DLL r | INSP r/w | MXF r | RA r | XLSX r
|
|
4679
4696
|
DNG r/w | INSV r | NEF r/w | RAF r/w | XMP r/w/c
|
|
4680
4697
|
DOC r | INX r | NKSC r/w | RAM r | ZIP r
|
|
4681
|
-
DOCX r | ISO r | NRW r/w | RAR r |
|
|
4682
4698
|
|
|
4683
4699
|
Meta Information
|
|
4684
4700
|
----------------------+----------------------+---------------------
|
|
@@ -5458,7 +5474,7 @@ OPTIONS
|
|
|
5458
5474
|
file must have the same format as the exported JSON files with the
|
|
5459
5475
|
exception that options exporting JSON objects instead of simple
|
|
5460
5476
|
values are not compatible with the import file format (ie. export
|
|
5461
|
-
with -D, -H, -l, or -T is not
|
|
5477
|
+
with -D, -H, -l, or -T is not compatible, and use -G instead of
|
|
5462
5478
|
-g). Additionally, tag names in the input JSON file may be suffixed
|
|
5463
5479
|
with a "#" to disable print conversion.
|
|
5464
5480
|
|
|
@@ -5604,7 +5620,7 @@ OPTIONS
|
|
|
5604
5620
|
|
|
5605
5621
|
produces output like this:
|
|
5606
5622
|
|
|
5607
|
-
-- Generated by ExifTool 12.
|
|
5623
|
+
-- Generated by ExifTool 12.73 --
|
|
5608
5624
|
File: a.jpg - 2003:10:31 15:44:19
|
|
5609
5625
|
(f/5.6, 1/60s, ISO 100)
|
|
5610
5626
|
File: b.jpg - 2006:05:23 11:57:38
|
|
@@ -6606,10 +6622,15 @@ OPTIONS
|
|
|
6606
6622
|
OriginalFileName tag has been set in the edited file, a command to
|
|
6607
6623
|
copy Rights from the original file could look like this:
|
|
6608
6624
|
|
|
6609
|
-
exiftool -file1
|
|
6625
|
+
exiftool -file1 '$originalfilename' '-rights<file1:rights' edited.jpg
|
|
6626
|
+
|
|
6627
|
+
Subtle note: If a -tagsFromFile option is used, tags in the
|
|
6628
|
+
*ALTFILE* argument come from the *SRCFILE* that applies to the
|
|
6629
|
+
first argument accessing tags from the corresponding "FileNUM"
|
|
6630
|
+
group.
|
|
6610
6631
|
|
|
6611
|
-
Composite tags may access tags from alternate files
|
|
6612
|
-
appropriate (case-sensitive) family 8 group name.
|
|
6632
|
+
User-defined Composite tags may access tags from alternate files
|
|
6633
|
+
using the appropriate (case-sensitive) family 8 group name.
|
|
6613
6634
|
|
|
6614
6635
|
-list_dir
|
|
6615
6636
|
List directories themselves instead of their contents. This option
|
|
@@ -7343,7 +7364,7 @@ EXIT STATUS
|
|
|
7343
7364
|
the commands if -execute was used).
|
|
7344
7365
|
|
|
7345
7366
|
AUTHOR
|
|
7346
|
-
Copyright 2003-
|
|
7367
|
+
Copyright 2003-2024, Phil Harvey
|
|
7347
7368
|
|
|
7348
7369
|
This is free software; you can redistribute it and/or modify it under
|
|
7349
7370
|
the 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.
|
|
@@ -282,7 +282,7 @@ information in BigTIFF images.
|
|
|
282
282
|
|
|
283
283
|
=head1 AUTHOR
|
|
284
284
|
|
|
285
|
-
Copyright 2003-
|
|
285
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
286
286
|
|
|
287
287
|
This library is free software; you can redistribute it and/or modify it
|
|
288
288
|
under the same terms as Perl itself.
|
|
@@ -219,7 +219,8 @@ writable directly, but is written automatically by ExifTool (often when a
|
|
|
219
219
|
corresponding L<Composite|Image::ExifTool::TagNames/Composite Tags> or
|
|
220
220
|
L<Extra|Image::ExifTool::TagNames/Extra Tags> tag is written). A colon
|
|
221
221
|
(C<:>) indicates a I<Mandatory> tag which may be added automatically when
|
|
222
|
-
writing
|
|
222
|
+
writing (use the API L<NoMandatory|../ExifTool.html#NoMandatory> option to avoid creating mandatory EXIF
|
|
223
|
+
tags). Normally MakerNotes tags may not be deleted individually, but a
|
|
223
224
|
caret (C<^>) indicates a I<Deletable> MakerNotes tag.
|
|
224
225
|
|
|
225
226
|
The HTML version of these tables also lists possible B<Values> for
|
|
@@ -679,7 +680,7 @@ L<Image::ExifTool::BuildTagLookup|Image::ExifTool::BuildTagLookup>.
|
|
|
679
680
|
|
|
680
681
|
~head1 AUTHOR
|
|
681
682
|
|
|
682
|
-
Copyright 2003-
|
|
683
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
683
684
|
|
|
684
685
|
This library is free software; you can redistribute it and/or modify it
|
|
685
686
|
under the same terms as Perl itself.
|
|
@@ -2779,7 +2780,7 @@ Returned list of writable pseudo tags.
|
|
|
2779
2780
|
|
|
2780
2781
|
=head1 AUTHOR
|
|
2781
2782
|
|
|
2782
|
-
Copyright 2003-
|
|
2783
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
2783
2784
|
|
|
2784
2785
|
This library is free software; you can redistribute it and/or modify it
|
|
2785
2786
|
under the same terms as Perl itself.
|
|
@@ -321,7 +321,7 @@ specification.
|
|
|
321
321
|
|
|
322
322
|
=head1 AUTHOR
|
|
323
323
|
|
|
324
|
-
Copyright 2003-
|
|
324
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
325
325
|
|
|
326
326
|
This library is free software; you can redistribute it and/or modify it
|
|
327
327
|
under the same terms as Perl itself.
|