exiftool-vendored.exe 12.80.0 → 12.82.1
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/README.md +6 -0
- package/bin/exiftool.exe +0 -0
- package/bin/exiftool_files/Changes +44 -0
- package/bin/exiftool_files/Licenses_Strawberry_Perl.zip +0 -0
- package/bin/exiftool_files/README +3 -2
- package/bin/exiftool_files/exiftool.pl +36 -14
- package/bin/exiftool_files/lib/Archive/Zip/Archive.pm +399 -65
- package/bin/exiftool_files/lib/Archive/Zip/DirectoryMember.pm +1 -1
- package/bin/exiftool_files/lib/Archive/Zip/FileMember.pm +1 -1
- package/bin/exiftool_files/lib/Archive/Zip/Member.pm +499 -195
- package/bin/exiftool_files/lib/Archive/Zip/NewFileMember.pm +1 -1
- package/bin/exiftool_files/lib/Archive/Zip/StringMember.pm +2 -2
- package/bin/exiftool_files/lib/Archive/Zip/ZipFileMember.pm +79 -20
- package/bin/exiftool_files/lib/Archive/Zip.pm +179 -29
- package/bin/exiftool_files/lib/AutoLoader.pm +453 -0
- package/bin/exiftool_files/lib/B/Deparse.pm +209 -137
- package/bin/exiftool_files/lib/B.pm +1 -1
- package/bin/exiftool_files/lib/Benchmark.pm +1123 -0
- package/bin/exiftool_files/lib/Class/Struct.pm +2 -2
- package/bin/exiftool_files/lib/Compress/Raw/Bzip2.pm +14 -9
- package/bin/exiftool_files/lib/Compress/Raw/Lzma.pm +982 -0
- package/bin/exiftool_files/lib/Compress/Raw/Zlib.pm +91 -86
- package/bin/exiftool_files/lib/Compress/Zlib.pm +105 -100
- package/bin/exiftool_files/lib/Config.pm +9 -9
- package/bin/exiftool_files/lib/Config_heavy.pl +36 -33
- package/bin/exiftool_files/lib/CryptX.pm +2 -82
- package/bin/exiftool_files/lib/Data/Dumper.pm +2 -2
- package/bin/exiftool_files/lib/Digest/MD5.pm +12 -9
- package/bin/exiftool_files/lib/Digest/Perl/MD5.pm +1 -191
- package/bin/exiftool_files/lib/Digest/base.pm +26 -20
- package/bin/exiftool_files/lib/DynaLoader.pm +7 -4
- package/bin/exiftool_files/lib/Encode.pm +3 -3
- package/bin/exiftool_files/lib/Errno.pm +13 -13
- package/bin/exiftool_files/lib/Exporter/Heavy.pm +2 -2
- package/bin/exiftool_files/lib/Exporter.pm +1 -1
- package/bin/exiftool_files/lib/ExtUtils/Command/MM.pm +323 -0
- package/bin/exiftool_files/lib/ExtUtils/Command.pm +382 -0
- package/bin/exiftool_files/lib/File/Find.pm +1 -1
- package/bin/exiftool_files/lib/File/Glob.pm +1 -8
- package/bin/exiftool_files/lib/File/GlobMapper.pm +2 -2
- package/bin/exiftool_files/lib/File/HomeDir/Darwin/Carbon.pm +2 -40
- package/bin/exiftool_files/lib/File/HomeDir/Darwin/Cocoa.pm +2 -34
- package/bin/exiftool_files/lib/File/HomeDir/Darwin.pm +2 -28
- package/bin/exiftool_files/lib/File/HomeDir/Driver.pm +2 -35
- package/bin/exiftool_files/lib/File/HomeDir/FreeDesktop.pm +2 -62
- package/bin/exiftool_files/lib/File/HomeDir/MacOS9.pm +2 -53
- package/bin/exiftool_files/lib/File/HomeDir/Test.pm +2 -43
- package/bin/exiftool_files/lib/File/HomeDir/Unix.pm +2 -53
- package/bin/exiftool_files/lib/File/HomeDir/Windows.pm +2 -69
- package/bin/exiftool_files/lib/File/HomeDir.pm +5 -416
- package/bin/exiftool_files/lib/File/Path.pm +3 -3
- package/bin/exiftool_files/lib/File/Spec/Win32.pm +2 -2
- package/bin/exiftool_files/lib/File/Temp.pm +70 -35
- package/bin/exiftool_files/lib/File/Which.pm +1 -240
- package/bin/exiftool_files/lib/File/stat.pm +3 -2
- package/bin/exiftool_files/lib/IO/Compress/Adapter/Bzip2.pm +16 -17
- package/bin/exiftool_files/lib/IO/Compress/Adapter/Deflate.pm +19 -20
- package/bin/exiftool_files/lib/IO/Compress/Base/Common.pm +5 -5
- package/bin/exiftool_files/lib/IO/Compress/Base.pm +35 -26
- package/bin/exiftool_files/lib/IO/Compress/Brotli.pm +159 -0
- package/bin/exiftool_files/lib/IO/Compress/Bzip2.pm +50 -25
- package/bin/exiftool_files/lib/IO/Compress/Gzip/Constants.pm +6 -6
- package/bin/exiftool_files/lib/IO/Compress/Gzip.pm +58 -32
- package/bin/exiftool_files/lib/IO/Compress/RawDeflate.pm +63 -38
- package/bin/exiftool_files/lib/IO/Compress/Zlib/Extra.pm +20 -20
- package/bin/exiftool_files/lib/IO/Dir.pm +1 -1
- package/bin/exiftool_files/lib/IO/File.pm +1 -1
- package/bin/exiftool_files/lib/IO/Handle.pm +1 -21
- package/bin/exiftool_files/lib/IO/Pipe.pm +1 -1
- package/bin/exiftool_files/lib/IO/Seekable.pm +1 -1
- package/bin/exiftool_files/lib/IO/Select.pm +16 -2
- package/bin/exiftool_files/lib/IO/Socket/INET.pm +14 -9
- package/bin/exiftool_files/lib/IO/Socket/UNIX.pm +17 -1
- package/bin/exiftool_files/lib/IO/Socket.pm +474 -126
- package/bin/exiftool_files/lib/IO/String.pm +425 -0
- package/bin/exiftool_files/lib/IO/Uncompress/Adapter/Inflate.pm +13 -14
- package/bin/exiftool_files/lib/IO/Uncompress/Base.pm +142 -132
- package/bin/exiftool_files/lib/IO/Uncompress/Brotli.pm +119 -0
- package/bin/exiftool_files/lib/IO/Uncompress/Gunzip.pm +43 -37
- package/bin/exiftool_files/lib/IO/Uncompress/RawInflate.pm +49 -43
- package/bin/exiftool_files/lib/IO.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/BuildTagLookup.pm +44 -31
- package/bin/exiftool_files/lib/Image/ExifTool/CanonVRD.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/FujiFilm.pm +20 -7
- package/bin/exiftool_files/lib/Image/ExifTool/GM.pm +543 -0
- package/bin/exiftool_files/lib/Image/ExifTool/Geolocation.pm +332 -149
- package/bin/exiftool_files/lib/Image/ExifTool/Geotag.pm +9 -4
- package/bin/exiftool_files/lib/Image/ExifTool/M2TS.pm +32 -4
- package/bin/exiftool_files/lib/Image/ExifTool/MakerNotes.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Microsoft.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Nikon.pm +331 -22
- package/bin/exiftool_files/lib/Image/ExifTool/NikonCustom.pm +55 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Olympus.pm +1 -0
- package/bin/exiftool_files/lib/Image/ExifTool/OpenEXR.pm +21 -3
- package/bin/exiftool_files/lib/Image/ExifTool/PNG.pm +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/QuickTime.pm +40 -24
- package/bin/exiftool_files/lib/Image/ExifTool/QuickTimeStream.pl +61 -30
- package/bin/exiftool_files/lib/Image/ExifTool/README +2 -0
- package/bin/exiftool_files/lib/Image/ExifTool/Sony.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/TagLookup.pm +4815 -4775
- package/bin/exiftool_files/lib/Image/ExifTool/TagNames.pod +931 -617
- package/bin/exiftool_files/lib/Image/ExifTool/WriteQuickTime.pl +30 -8
- package/bin/exiftool_files/lib/Image/ExifTool/Writer.pl +10 -4
- package/bin/exiftool_files/lib/Image/ExifTool/XMP.pm +4 -2
- package/bin/exiftool_files/lib/Image/ExifTool.pm +77 -41
- package/bin/exiftool_files/lib/Image/ExifTool.pod +24 -11
- package/bin/exiftool_files/lib/List/Util.pm +97 -8
- package/bin/exiftool_files/lib/MIME/Base64.pm +5 -5
- package/bin/exiftool_files/lib/MIME/Charset/_Compat.pm +106 -0
- package/bin/exiftool_files/lib/MIME/Charset.pm +1303 -0
- package/bin/exiftool_files/lib/Math/BigFloat.pm +444 -27
- package/bin/exiftool_files/lib/Math/BigInt/Calc.pm +296 -313
- package/bin/exiftool_files/lib/Math/BigInt/FastCalc.pm +1 -1
- package/bin/exiftool_files/lib/Math/BigInt/GMP.pm +2 -115
- package/bin/exiftool_files/lib/Math/BigInt/LTM.pm +2 -24
- package/bin/exiftool_files/lib/Math/BigInt/Lib.pm +61 -32
- package/bin/exiftool_files/lib/Math/BigInt.pm +292 -107
- package/bin/exiftool_files/lib/POSIX.pm +1 -1
- package/bin/exiftool_files/lib/PerlIO/scalar.pm +41 -0
- package/bin/exiftool_files/lib/PerlIO.pm +397 -0
- package/bin/exiftool_files/lib/Portable/CPAN.pm +94 -94
- package/bin/exiftool_files/lib/Portable/Config.pm +94 -94
- package/bin/exiftool_files/lib/Portable/FileSpec.pm +180 -180
- package/bin/exiftool_files/lib/Portable/HomeDir.pm +110 -110
- package/bin/exiftool_files/lib/Portable/LoadYaml.pm +430 -430
- package/bin/exiftool_files/lib/Portable/minicpan.pm +55 -55
- package/bin/exiftool_files/lib/Portable.pm +246 -320
- package/bin/exiftool_files/lib/Scalar/Util.pm +9 -4
- package/bin/exiftool_files/lib/Socket.pm +16 -12
- package/bin/exiftool_files/lib/Storable.pm +1444 -1441
- package/bin/exiftool_files/lib/TAP/Base.pm +133 -0
- package/bin/exiftool_files/lib/TAP/Formatter/Base.pm +467 -0
- package/bin/exiftool_files/lib/TAP/Formatter/Color.pm +116 -0
- package/bin/exiftool_files/lib/TAP/Formatter/Console/ParallelSession.pm +201 -0
- package/bin/exiftool_files/lib/TAP/Formatter/Console/Session.pm +205 -0
- package/bin/exiftool_files/lib/TAP/Formatter/Console.pm +100 -0
- package/bin/exiftool_files/lib/TAP/Formatter/File/Session.pm +95 -0
- package/bin/exiftool_files/lib/TAP/Formatter/File.pm +56 -0
- package/bin/exiftool_files/lib/TAP/Formatter/Session.pm +220 -0
- package/bin/exiftool_files/lib/TAP/Harness/Beyond.pod +426 -0
- package/bin/exiftool_files/lib/TAP/Harness/Env.pm +215 -0
- package/bin/exiftool_files/lib/TAP/Harness.pm +1054 -0
- package/bin/exiftool_files/lib/TAP/Object.pm +155 -0
- package/bin/exiftool_files/lib/TAP/Parser/Aggregator.pm +414 -0
- package/bin/exiftool_files/lib/TAP/Parser/Grammar.pm +584 -0
- package/bin/exiftool_files/lib/TAP/Parser/Iterator/Array.pm +100 -0
- package/bin/exiftool_files/lib/TAP/Parser/Iterator/Process.pm +378 -0
- package/bin/exiftool_files/lib/TAP/Parser/Iterator/Stream.pm +116 -0
- package/bin/exiftool_files/lib/TAP/Parser/Iterator.pm +162 -0
- package/bin/exiftool_files/lib/TAP/Parser/IteratorFactory.pm +339 -0
- package/bin/exiftool_files/lib/TAP/Parser/Multiplexer.pm +194 -0
- package/bin/exiftool_files/lib/TAP/Parser/Result/Bailout.pm +62 -0
- package/bin/exiftool_files/lib/TAP/Parser/Result/Comment.pm +60 -0
- package/bin/exiftool_files/lib/TAP/Parser/Result/Plan.pm +119 -0
- package/bin/exiftool_files/lib/TAP/Parser/Result/Pragma.pm +62 -0
- package/bin/exiftool_files/lib/TAP/Parser/Result/Test.pm +271 -0
- package/bin/exiftool_files/lib/TAP/Parser/Result/Unknown.pm +48 -0
- package/bin/exiftool_files/lib/TAP/Parser/Result/Version.pm +62 -0
- package/bin/exiftool_files/lib/TAP/Parser/Result/YAML.pm +61 -0
- package/bin/exiftool_files/lib/TAP/Parser/Result.pm +297 -0
- package/bin/exiftool_files/lib/TAP/Parser/ResultFactory.pm +183 -0
- package/bin/exiftool_files/lib/TAP/Parser/Scheduler/Job.pm +127 -0
- package/bin/exiftool_files/lib/TAP/Parser/Scheduler/Spinner.pm +61 -0
- package/bin/exiftool_files/lib/TAP/Parser/Scheduler.pm +448 -0
- package/bin/exiftool_files/lib/TAP/Parser/Source.pm +381 -0
- package/bin/exiftool_files/lib/TAP/Parser/SourceHandler/Executable.pm +184 -0
- package/bin/exiftool_files/lib/TAP/Parser/SourceHandler/File.pm +136 -0
- package/bin/exiftool_files/lib/TAP/Parser/SourceHandler/Handle.pm +124 -0
- package/bin/exiftool_files/lib/TAP/Parser/SourceHandler/Perl.pm +370 -0
- package/bin/exiftool_files/lib/TAP/Parser/SourceHandler/RawTAP.pm +130 -0
- package/bin/exiftool_files/lib/TAP/Parser/SourceHandler.pm +191 -0
- package/bin/exiftool_files/lib/TAP/Parser/YAMLish/Reader.pm +332 -0
- package/bin/exiftool_files/lib/TAP/Parser/YAMLish/Writer.pm +254 -0
- package/bin/exiftool_files/lib/TAP/Parser.pm +1931 -0
- package/bin/exiftool_files/lib/Test/Builder/Formatter.pm +107 -0
- package/bin/exiftool_files/lib/Test/Builder/IO/Scalar.pm +659 -0
- package/bin/exiftool_files/lib/Test/Builder/Module.pm +182 -0
- package/bin/exiftool_files/lib/Test/Builder/Tester/Color.pm +51 -0
- package/bin/exiftool_files/lib/Test/Builder/Tester.pm +675 -0
- package/bin/exiftool_files/lib/Test/Builder/TodoDiag.pm +68 -0
- package/bin/exiftool_files/lib/Test/Builder.pm +2653 -0
- package/bin/exiftool_files/lib/Test/Harness.pm +618 -0
- package/bin/exiftool_files/lib/Test/More.pm +1997 -0
- package/bin/exiftool_files/lib/Test/Simple.pm +220 -0
- package/bin/exiftool_files/lib/Test/Tester/Capture.pm +241 -0
- package/bin/exiftool_files/lib/Test/Tester/CaptureRunner.pm +79 -0
- package/bin/exiftool_files/lib/Test/Tester/Delegate.pm +45 -0
- package/bin/exiftool_files/lib/Test/Tester.pm +695 -0
- package/bin/exiftool_files/lib/Test/Tutorial.pod +618 -0
- package/bin/exiftool_files/lib/Test/use/ok.pm +64 -0
- package/bin/exiftool_files/lib/Text/ParseWords.pm +303 -0
- package/bin/exiftool_files/lib/Tie/StdHandle.pm +2 -2
- package/bin/exiftool_files/lib/Time/HiRes.pm +73 -68
- package/bin/exiftool_files/lib/Time/Local.pm +82 -35
- package/bin/exiftool_files/lib/Time/Piece.pm +19 -4
- package/bin/exiftool_files/lib/Time/Seconds.pm +1 -1
- package/bin/exiftool_files/lib/UNIVERSAL.pm +203 -0
- package/bin/exiftool_files/lib/Unicode/GCString.pm +60 -0
- package/bin/exiftool_files/lib/Unicode/LineBreak/Constants.pm +68 -0
- package/bin/exiftool_files/lib/Unicode/LineBreak.pm +248 -0
- package/bin/exiftool_files/lib/Win32/API/Struct.pm +1 -177
- package/bin/exiftool_files/lib/Win32/API/Type.pm +1 -100
- package/bin/exiftool_files/lib/Win32/API.pm +1 -830
- package/bin/exiftool_files/lib/Win32/FindFile.pm +2 -123
- package/bin/exiftool_files/lib/Win32.pm +213 -89
- package/bin/exiftool_files/lib/Win32API/File.pm +1 -1
- package/bin/exiftool_files/lib/auto/B/B.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Compress/Raw/Bzip2/Bzip2.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Compress/Raw/Lzma/Lzma.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Compress/Raw/Lzma/autosplit.ix +3 -0
- package/bin/exiftool_files/lib/auto/Compress/Raw/Zlib/Zlib.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/CryptX/CryptX.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Cwd/Cwd.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Data/Dumper/Dumper.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Digest/MD5/MD5.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Digest/SHA/SHA.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Encode/Encode.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Fcntl/Fcntl.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/File/Glob/Glob.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/IO/Compress/Brotli/Brotli.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/IO/IO.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/List/Util/Util.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/MIME/Base64/Base64.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Math/BigInt/FastCalc/FastCalc.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Math/BigInt/GMP/GMP.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/POSIX/POSIX.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/PerlIO/scalar/scalar.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Socket/Socket.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Storable/Storable.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Time/HiRes/HiRes.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Time/Piece/Piece.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Unicode/LineBreak/LineBreak.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Win32/API/API.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Win32/FindFile/FindFile.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Win32/Win32.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Win32API/File/File.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/mro/mro.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/re/re.xs.dll +0 -0
- package/bin/exiftool_files/lib/feature.pm +49 -17
- package/bin/exiftool_files/lib/mro.pm +4 -20
- package/bin/exiftool_files/lib/overload.pm +15 -15
- package/bin/exiftool_files/lib/parent.pm +10 -2
- package/bin/exiftool_files/lib/re.pm +91 -33
- package/bin/exiftool_files/lib/warnings.pm +17 -6
- package/bin/exiftool_files/libgcc_s_seh-1.dll +0 -0
- package/bin/exiftool_files/liblzma-5__.dll +0 -0
- package/bin/exiftool_files/libstdc++-6.dll +0 -0
- package/bin/exiftool_files/libwinpthread-1.dll +0 -0
- package/bin/exiftool_files/perl.exe +0 -0
- package/bin/exiftool_files/perl532.dll +0 -0
- package/package.json +7 -5
- package/bin/exiftool_files/libgcc_s_dw2-1.dll +0 -0
- package/bin/exiftool_files/perl530.dll +0 -0
package/README.md
CHANGED
|
@@ -12,6 +12,12 @@ Provides the win32 distribution of [ExifTool](http://www.sno.phy.queensu.ca/~phi
|
|
|
12
12
|
[exiftool-vendored](https://github.com/photostructure/exiftool-vendored.js) for
|
|
13
13
|
performant, type-safe access to this binary.**
|
|
14
14
|
|
|
15
|
+
## Thanks to Oliver Betz!
|
|
16
|
+
|
|
17
|
+
This module heavily depends on [Oliver Betz's portable Perl
|
|
18
|
+
launcher](https://oliverbetz.de/pages/Artikel/Portable-Perl-Applications) which leverages Strawberry Perl. [Read more
|
|
19
|
+
here.](https://oliverbetz.de/pages/Artikel/ExifTool-for-Windows)
|
|
20
|
+
|
|
15
21
|
## Versioning
|
|
16
22
|
|
|
17
23
|
This package exposes the version of ExifTool it vendors, and adds a patch number, if necessary, to follow SemVer.
|
package/bin/exiftool.exe
CHANGED
|
Binary file
|
|
@@ -7,6 +7,47 @@ RSS feed: https://exiftool.org/rss.xml
|
|
|
7
7
|
Note: The most recent production release is Version 12.76. (Other versions are
|
|
8
8
|
considered development releases, and are not uploaded to MetaCPAN.)
|
|
9
9
|
|
|
10
|
+
Apr. 5, 2024 - Version 12.82 - "GM PDR"
|
|
11
|
+
|
|
12
|
+
- Added support for reading GM PDR data from MP4 videos written by cars such
|
|
13
|
+
as Corvettes and Cameros
|
|
14
|
+
- Added support for reading timed GPS from Wolfbox dashcam videos
|
|
15
|
+
- Added "Unknown trailer" to QuickTime warnings originating from an unknown
|
|
16
|
+
trailer
|
|
17
|
+
- Added a new Nikon LensID
|
|
18
|
+
- Extract PreviewImage from Chigee AIO-5 dashcam videos
|
|
19
|
+
- Changed name and print conversion of a recently added FujiFilm tag
|
|
20
|
+
- Only issue "Tag not defined" warnings for the first sub-document when using
|
|
21
|
+
the -p option
|
|
22
|
+
- Fixed a Nikon Z lens name (github #250)
|
|
23
|
+
- Fixed Windows version so -sort works properly with -listgeo
|
|
24
|
+
- API Changes:
|
|
25
|
+
- Added PrintCSV option for optimized extraction of GM PDR data in CSV
|
|
26
|
+
format
|
|
27
|
+
|
|
28
|
+
Mar. 27, 2024 - Version 12.81
|
|
29
|
+
|
|
30
|
+
- Added ability to read EXIF and XMP from EXR images
|
|
31
|
+
- Added ability to delete unknown trailer when writing MOV/MP4 videos
|
|
32
|
+
- Added ability to write a couple of Stable Diffusion PNG tags
|
|
33
|
+
- Added ability to write one of the Microsoft Xtra Description tags (github
|
|
34
|
+
#248)
|
|
35
|
+
- Added support for using alternate city names in reverse Geolocation
|
|
36
|
+
- Added support for reading timed GPS from DOD LS600W TS videos
|
|
37
|
+
- Added support for new version of Canon DR4 files
|
|
38
|
+
- Added a number of new iTunesInfo tags
|
|
39
|
+
- Added a new Olympus LensType
|
|
40
|
+
- Decode a number of new Nikon tags (thanks Warren Hatch)
|
|
41
|
+
- Allow regular expressions to be used when writing Geolocate tag
|
|
42
|
+
- Enhanced writing of Geolocate tag to also write Keys:LocationName
|
|
43
|
+
- Cache the results of the last reverse geolocation search to speed batch
|
|
44
|
+
processing when multiple files have the same search parameters
|
|
45
|
+
- Patched problem that could cause runtime errors with some invaid tag names
|
|
46
|
+
- Fixed a couple of newly added FujiFilm tags
|
|
47
|
+
- Fixed decoding of FujiFilm AFAreaZoneSize
|
|
48
|
+
- API Changes:
|
|
49
|
+
- Added GeolocAltNames option
|
|
50
|
+
|
|
10
51
|
Mar. 19, 2024 - Version 12.80
|
|
11
52
|
|
|
12
53
|
- Added GeolocationFeatureCode tag
|
|
@@ -19,6 +60,8 @@ Mar. 19, 2024 - Version 12.80
|
|
|
19
60
|
- Improved accuracy of Geolocation distance/bearing calculations
|
|
20
61
|
- Changed structure of Geolocation database (now version 1.02)
|
|
21
62
|
- Minor change to key format for user-defined Geolocation name translations
|
|
63
|
+
- Ignore API Geolocation option when copying tags if none of the Geolocation
|
|
64
|
+
tags are being copied
|
|
22
65
|
- Fixed case/spacing of "C2PA" in some CBOR tag descriptions
|
|
23
66
|
- Fixed bug extracting binary data from EXR files
|
|
24
67
|
- API Changes:
|
|
@@ -29,6 +72,7 @@ Mar. 15, 2024 - Version 12.79
|
|
|
29
72
|
- Improvements to new Geolocation feature:
|
|
30
73
|
- Added reverse Geolocation ability (obtain GPS coordinates from city
|
|
31
74
|
name), with support for regular expressions
|
|
75
|
+
- Added ability to geolocate while geotagging
|
|
32
76
|
- Added -listgeo option to list the Geolocation database
|
|
33
77
|
- Added the ability to include user-defined cities in the Geolocation
|
|
34
78
|
database
|
|
Binary file
|
|
@@ -109,8 +109,8 @@ your home directory, then you would type the following commands in a
|
|
|
109
109
|
terminal window to extract and run ExifTool:
|
|
110
110
|
|
|
111
111
|
cd ~/Desktop
|
|
112
|
-
gzip -dc Image-ExifTool-12.
|
|
113
|
-
cd Image-ExifTool-12.
|
|
112
|
+
gzip -dc Image-ExifTool-12.82.tar.gz | tar -xf -
|
|
113
|
+
cd Image-ExifTool-12.82
|
|
114
114
|
./exiftool t/images/ExifTool.jpg
|
|
115
115
|
|
|
116
116
|
Note: These commands extract meta information from one of the test images.
|
|
@@ -238,6 +238,7 @@ information:
|
|
|
238
238
|
html/ExifTool.html - API documentation
|
|
239
239
|
html/TagNames/index.html - Tag name documentation
|
|
240
240
|
html/geotag.html - Geotag feature
|
|
241
|
+
html/geolocation.html - Geolocation feature
|
|
241
242
|
html/faq.html - Frequently asked questions
|
|
242
243
|
html/filename.html - Renaming/moving files
|
|
243
244
|
html/metafiles.html - Working with metadata sidecar files
|
|
@@ -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.82';
|
|
15
15
|
|
|
16
16
|
# add our 'lib' directory to the include list BEFORE 'use Image::ExifTool'
|
|
17
17
|
my $exePath;
|
|
@@ -209,7 +209,7 @@ my $tmpFile; # temporary file to delete on exit
|
|
|
209
209
|
my $tmpText; # temporary text file
|
|
210
210
|
my $validFile; # flag indicating we processed a valid file
|
|
211
211
|
my $verbose; # verbose setting
|
|
212
|
-
my $vout; # verbose output file reference (\*STDOUT or \*STDERR)
|
|
212
|
+
my $vout; # verbose output file reference (\*STDOUT or \*STDERR by default)
|
|
213
213
|
my $windowTitle; # title for console window
|
|
214
214
|
my %wroteHEAD; # list of output txt files to which we wrote HEAD
|
|
215
215
|
my $xml; # flag for XML-formatted output
|
|
@@ -736,17 +736,23 @@ for (;;) {
|
|
|
736
736
|
require Image::ExifTool::Geolocation;
|
|
737
737
|
my ($i, $entry);
|
|
738
738
|
print "Geolocation database:\n" unless $quiet;
|
|
739
|
-
|
|
739
|
+
my $isAlt = $mt->Options('GeolocAltNames') ? ',AltNames' : '';
|
|
740
|
+
$isAlt = '' if $isAlt and not Image::ExifTool::Geolocation::ReadAltNames();
|
|
741
|
+
print "City,Region,Subregion,CountryCode,Country,TimeZone,FeatureCode,Population,Latitude,Longitude$isAlt\n";
|
|
740
742
|
Image::ExifTool::Geolocation::SortDatabase('City') if $sortOpt;
|
|
741
743
|
my $minPop = $mt->Options('GeolocMinPop');
|
|
742
744
|
my $feature = $mt->Options('GeolocFeature') || '';
|
|
743
745
|
my $neg = $feature =~ s/^-//;
|
|
744
746
|
my %fcodes = map { lc($_) => 1 } split /\s*,\s*/, $feature;
|
|
747
|
+
my @isUTF8 = (0,1,2,4); # items that need converting from UTF8
|
|
748
|
+
push @isUTF8, 10 if $isAlt;
|
|
745
749
|
for ($i=0; ; ++$i) {
|
|
746
|
-
my @entry = Image::ExifTool::Geolocation::GetEntry($i,$langOpt) or last;
|
|
750
|
+
my @entry = Image::ExifTool::Geolocation::GetEntry($i,$langOpt,1) or last;
|
|
747
751
|
next if $minPop and $entry[7] < $minPop;
|
|
748
752
|
next if %fcodes and $neg ? $fcodes{lc $entry[6]} : not $fcodes{lc $entry[6]};
|
|
749
|
-
|
|
753
|
+
push @entry, Image::ExifTool::Geolocation::GetAltNames($i,1) if $isAlt;
|
|
754
|
+
$_ = defined $_ ? $mt->Decode($_, 'UTF8') : '' foreach @entry[@isUTF8];
|
|
755
|
+
pop @entry if $isAlt and not $entry[10];
|
|
750
756
|
print join(',', @entry), "\n";
|
|
751
757
|
}
|
|
752
758
|
} else { # 'g(\d*)'
|
|
@@ -1378,11 +1384,11 @@ for (;;) {
|
|
|
1378
1384
|
$useMWG = 1;
|
|
1379
1385
|
} elsif (/^([-\w]+:)*(filename|directory|testname)\b/i) {
|
|
1380
1386
|
$doSetFileName = 1;
|
|
1381
|
-
} elsif (/^([-\w]+:)*(geotag|geotime|geosync)\b/i) {
|
|
1387
|
+
} elsif (/^([-\w]+:)*(geotag|geotime|geosync|geolocate)\b/i) {
|
|
1382
1388
|
if (lc $2 eq 'geotime') {
|
|
1383
1389
|
$addGeotime = '';
|
|
1384
1390
|
} else {
|
|
1385
|
-
# add geotag/geosync commands first
|
|
1391
|
+
# add geotag/geosync/geolocate commands first
|
|
1386
1392
|
unshift @newValues, pop @newValues;
|
|
1387
1393
|
if (lc $2 eq 'geotag' and (not defined $addGeotime or $addGeotime) and length $val) {
|
|
1388
1394
|
$addGeotime = ($1 || '') . 'Geotime<DateTimeOriginal#';
|
|
@@ -2172,7 +2178,7 @@ sub GetImageInfo($$)
|
|
|
2172
2178
|
|
|
2173
2179
|
my $lineCount = 0;
|
|
2174
2180
|
my ($fp, $outfile, $append);
|
|
2175
|
-
if ($textOut and $verbose and not $tagOut) {
|
|
2181
|
+
if ($textOut and ($verbose or $et->Options('PrintCSV')) and not $tagOut) {
|
|
2176
2182
|
($fp, $outfile, $append) = OpenOutputFile($orig);
|
|
2177
2183
|
$fp or EFile($file), ++$countBad, return;
|
|
2178
2184
|
# delete file if we exit prematurely (unless appending)
|
|
@@ -2295,7 +2301,7 @@ sub GetImageInfo($$)
|
|
|
2295
2301
|
$lastDoc = 0;
|
|
2296
2302
|
}
|
|
2297
2303
|
for ($doc=0; $doc<=$lastDoc; ++$doc) {
|
|
2298
|
-
my $skipBody;
|
|
2304
|
+
my ($skipBody, $opt);
|
|
2299
2305
|
foreach $type (qw(HEAD SECT IF BODY ENDS TAIL)) {
|
|
2300
2306
|
my $prf = $printFmt{$type} or next;
|
|
2301
2307
|
if ($type eq 'HEAD' and defined $outfile) {
|
|
@@ -2303,6 +2309,12 @@ sub GetImageInfo($$)
|
|
|
2303
2309
|
$wroteHEAD{$outfile} = 1;
|
|
2304
2310
|
}
|
|
2305
2311
|
next if $type eq 'BODY' and $skipBody;
|
|
2312
|
+
# silence "IF" warnings and warnings for subdocuments > 1
|
|
2313
|
+
if ($type eq 'IF' or ($doc > 1 and not $$et{OPTIONS}{IgnoreMinorErrors})) {
|
|
2314
|
+
$opt = 'Silent';
|
|
2315
|
+
} else {
|
|
2316
|
+
$opt = 'Warn';
|
|
2317
|
+
}
|
|
2306
2318
|
if ($lastDoc) {
|
|
2307
2319
|
if ($doc) {
|
|
2308
2320
|
next if $type eq 'HEAD' or $type eq 'TAIL'; # only repeat SECT/IF/BODY/ENDS
|
|
@@ -2312,7 +2324,6 @@ sub GetImageInfo($$)
|
|
|
2312
2324
|
}
|
|
2313
2325
|
}
|
|
2314
2326
|
my @lines;
|
|
2315
|
-
my $opt = $type eq 'IF' ? 'Silent' : 'Warn'; # silence "IF" warnings
|
|
2316
2327
|
foreach (@$prf) {
|
|
2317
2328
|
my $line = $et->InsertTagValues($_, \@foundTags, $opt, $grp, $cache);
|
|
2318
2329
|
if ($type eq 'IF') {
|
|
@@ -5680,7 +5691,7 @@ OPTIONS
|
|
|
5680
5691
|
|
|
5681
5692
|
produces output like this:
|
|
5682
5693
|
|
|
5683
|
-
-- Generated by ExifTool 12.
|
|
5694
|
+
-- Generated by ExifTool 12.82 --
|
|
5684
5695
|
File: a.jpg - 2003:10:31 15:44:19
|
|
5685
5696
|
(f/5.6, 1/60s, ISO 100)
|
|
5686
5697
|
File: b.jpg - 2006:05:23 11:57:38
|
|
@@ -6462,9 +6473,9 @@ OPTIONS
|
|
|
6462
6473
|
-listf, -listr or -listwf to add file descriptions to the list. The
|
|
6463
6474
|
-lang option may be combined with -listx to output descriptions in
|
|
6464
6475
|
a single language, and the -sort and/or -lang options may be
|
|
6465
|
-
combined with -listgeo. Also, the API GeolocMinPop
|
|
6466
|
-
|
|
6467
|
-
examples:
|
|
6476
|
+
combined with -listgeo. Also, the API GeolocMinPop, GeolocFeature
|
|
6477
|
+
and GeolocAltNames options apply to the -listgeo output. Here are
|
|
6478
|
+
some examples:
|
|
6468
6479
|
|
|
6469
6480
|
-list # list all tag names
|
|
6470
6481
|
-list -EXIF:All # list all EXIF tags
|
|
@@ -6561,6 +6572,11 @@ OPTIONS
|
|
|
6561
6572
|
full ExifTool distribution and the Image::ExifTool Options for more
|
|
6562
6573
|
details and for information about geotag configuration options.
|
|
6563
6574
|
|
|
6575
|
+
The API Geolocation option may be set to the value "geotag" to also
|
|
6576
|
+
write the name, province/state and country of the nearest city
|
|
6577
|
+
while geotagging. See <https://exiftool.org/geolocation.html> for
|
|
6578
|
+
details.
|
|
6579
|
+
|
|
6564
6580
|
-globalTimeShift *SHIFT*
|
|
6565
6581
|
Shift all formatted date/time values by the specified amount when
|
|
6566
6582
|
reading. Does not apply to unformatted (-n) output. *SHIFT* takes
|
|
@@ -7356,6 +7372,12 @@ GEOTAGGING EXAMPLES
|
|
|
7356
7372
|
value of DateTimeOriginal is used for geotagging. Local system time
|
|
7357
7373
|
is assumed unless DateTimeOriginal contains a timezone.
|
|
7358
7374
|
|
|
7375
|
+
exiftool -geotag track.log -geolocate=geotag a.jpg
|
|
7376
|
+
Geotag an image and also write geolocation information of the
|
|
7377
|
+
nearest city (city name, state/province and country). Read here for
|
|
7378
|
+
more details about the Geolocation feature:
|
|
7379
|
+
<https://exiftool.org/geolocation.html#Write>
|
|
7380
|
+
|
|
7359
7381
|
exiftool -geotag t.log -geotime="2009:04:02 13:41:12-05:00" a.jpg
|
|
7360
7382
|
Geotag an image with the GPS position for a specific time.
|
|
7361
7383
|
|