exiftool-vendored.exe 12.82.0 → 12.84.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/README.md +6 -0
- package/bin/exiftool.exe +0 -0
- package/bin/exiftool_files/Changes +37 -0
- package/bin/exiftool_files/Licenses_Strawberry_Perl.zip +0 -0
- package/bin/exiftool_files/README +3 -2
- package/bin/exiftool_files/build_geolocation +872 -0
- package/bin/exiftool_files/config_files/example.config +2 -2
- package/bin/exiftool_files/exiftool.pl +28 -6
- package/bin/exiftool_files/fmt_files/gpx.fmt +2 -1
- package/bin/exiftool_files/fmt_files/gpx_wpt.fmt +2 -1
- 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/Apple.pm +51 -7
- package/bin/exiftool_files/lib/Image/ExifTool/BuildTagLookup.pm +5 -2
- package/bin/exiftool_files/lib/Image/ExifTool/CanonVRD.pm +18 -5
- package/bin/exiftool_files/lib/Image/ExifTool/DJI.pm +29 -0
- package/bin/exiftool_files/lib/Image/ExifTool/Exif.pm +19 -2
- package/bin/exiftool_files/lib/Image/ExifTool/GM.pm +17 -8
- package/bin/exiftool_files/lib/Image/ExifTool/Geolocation.dat +0 -0
- package/bin/exiftool_files/lib/Image/ExifTool/Geolocation.pm +163 -101
- package/bin/exiftool_files/lib/Image/ExifTool/Geotag.pm +18 -10
- package/bin/exiftool_files/lib/Image/ExifTool/Nikon.pm +7 -6
- package/bin/exiftool_files/lib/Image/ExifTool/QuickTime.pm +6 -1
- package/bin/exiftool_files/lib/Image/ExifTool/QuickTimeStream.pl +5 -0
- package/bin/exiftool_files/lib/Image/ExifTool/Sony.pm +15 -6
- package/bin/exiftool_files/lib/Image/ExifTool/TagLookup.pm +18 -9
- package/bin/exiftool_files/lib/Image/ExifTool/TagNames.pod +24 -5
- package/bin/exiftool_files/lib/Image/ExifTool/WriteQuickTime.pl +2 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Writer.pl +165 -132
- package/bin/exiftool_files/lib/Image/ExifTool/XMP2.pl +3 -0
- package/bin/exiftool_files/lib/Image/ExifTool.pm +45 -23
- package/bin/exiftool_files/lib/Image/ExifTool.pod +23 -14
- 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 +6 -4
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/cs.pm +0 -978
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/de.pm +0 -1975
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/en_ca.pm +0 -44
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/en_gb.pm +0 -124
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/es.pm +0 -2921
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/fi.pm +0 -1116
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/fr.pm +0 -3171
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/it.pm +0 -2750
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/ja.pm +0 -10256
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/ko.pm +0 -4499
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/nl.pm +0 -1270
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/pl.pm +0 -3019
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/ru.pm +0 -18220
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/sk.pm +0 -441
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/sv.pm +0 -714
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/tr.pm +0 -452
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/zh_cn.pm +0 -2225
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/zh_tw.pm +0 -72
- package/bin/exiftool_files/libgcc_s_dw2-1.dll +0 -0
- package/bin/exiftool_files/perl530.dll +0 -0
|
@@ -16,7 +16,7 @@ use vars qw($VERSION);
|
|
|
16
16
|
use Image::ExifTool::Exif;
|
|
17
17
|
use Image::ExifTool::PLIST;
|
|
18
18
|
|
|
19
|
-
$VERSION = '1.
|
|
19
|
+
$VERSION = '1.12';
|
|
20
20
|
|
|
21
21
|
sub ConvertPLIST($$);
|
|
22
22
|
|
|
@@ -128,6 +128,7 @@ sub ConvertPLIST($$);
|
|
|
128
128
|
1 => 'ProRAW',
|
|
129
129
|
2 => 'Portrait',
|
|
130
130
|
10 => 'Photo',
|
|
131
|
+
12 => 'Photo (12)', #PH (NC)
|
|
131
132
|
},
|
|
132
133
|
},
|
|
133
134
|
0x0015 => { # (ImageGroupIdentifier, ref 2)
|
|
@@ -154,12 +155,17 @@ sub ConvertPLIST($$);
|
|
|
154
155
|
},
|
|
155
156
|
# 0x001b - (PhotosRenderEffect, ref 2)
|
|
156
157
|
# 0x001c - (BracketedCaptureSequenceNumber, ref 2)
|
|
158
|
+
# 0x001c - Flash, 2="On" (ref PH)
|
|
157
159
|
0x001d => { #2
|
|
158
160
|
Name => 'LuminanceNoiseAmplitude',
|
|
159
161
|
Writable => 'rational64s',
|
|
160
162
|
},
|
|
161
163
|
# 0x001e - (OriginatingAppID, ref 2)
|
|
162
|
-
|
|
164
|
+
0x001f => {
|
|
165
|
+
Name => 'PhotosAppFeatureFlags', #2
|
|
166
|
+
Notes => 'set if person or pet detected in image', #PH
|
|
167
|
+
Writable => 'int32s',
|
|
168
|
+
},
|
|
163
169
|
0x0020 => { # (ImageCaptureRequestIdentifier, ref 2)
|
|
164
170
|
Name => 'ImageCaptureRequestID',
|
|
165
171
|
Writable => 'string',
|
|
@@ -170,6 +176,17 @@ sub ConvertPLIST($$);
|
|
|
170
176
|
Writable => 'rational64s',
|
|
171
177
|
},
|
|
172
178
|
# 0x0022 - (ARKitPhoto, ref 2)
|
|
179
|
+
0x0023 => {
|
|
180
|
+
Name => 'AFPerformance', #2
|
|
181
|
+
Writable => 'int32s',
|
|
182
|
+
Count => 2,
|
|
183
|
+
Notes => q{
|
|
184
|
+
first number maybe related to focus distance, last number maybe related to
|
|
185
|
+
focus accuracy
|
|
186
|
+
},
|
|
187
|
+
PrintConv => 'my @a=split " ",$val; sprintf("%d %d %d",$a[0],$a[1]>>28,$a[1]&0xfffffff)',
|
|
188
|
+
PrintConvInv => 'my @a=split " ",$val; sprintf("%d %d",$a[0],($a[1]<<28)+$a[2])',
|
|
189
|
+
},
|
|
173
190
|
# 0x0023 - int32s[2] (AFPerformance, ref 2)
|
|
174
191
|
# 0x0024 - (AFExternalOffset, ref 2)
|
|
175
192
|
0x0025 => { # (StillImageSceneFlags, ref 2)
|
|
@@ -196,7 +213,21 @@ sub ConvertPLIST($$);
|
|
|
196
213
|
},
|
|
197
214
|
# 0x002C - (SpatialOverCaptureImageType, ref 2)
|
|
198
215
|
# 0x002D - (CCT, ref 2)
|
|
216
|
+
0x002d => { #PH
|
|
217
|
+
Name => 'ColorTemperature',
|
|
218
|
+
Writable => 'int32s',
|
|
219
|
+
},
|
|
199
220
|
# 0x002E - (ApsMode, ref 2)
|
|
221
|
+
0x002e => { #PH
|
|
222
|
+
Name => 'CameraType',
|
|
223
|
+
Writable => 'int32s',
|
|
224
|
+
PrintConv => {
|
|
225
|
+
0 => 'Back Wide Angle',
|
|
226
|
+
1 => 'Back Normal',
|
|
227
|
+
6 => 'Front',
|
|
228
|
+
},
|
|
229
|
+
},
|
|
230
|
+
# 0x002e - set to 0 for 0.5x (crop?) (ref PH)
|
|
200
231
|
0x002F => { #2
|
|
201
232
|
Name => 'FocusPosition',
|
|
202
233
|
Writable => 'int32s',
|
|
@@ -209,7 +240,9 @@ sub ConvertPLIST($$);
|
|
|
209
240
|
# 0x0032 - (IntelligentDistortionCorrection, ref 2)
|
|
210
241
|
# 0x0033 - (NRFStatus, ref 2)
|
|
211
242
|
# 0x0034 - (NRFInputBracketCount, ref 2)
|
|
243
|
+
# 0x0034 - 1 for flash on, otherwise doesn't exist (ref PH)
|
|
212
244
|
# 0x0035 - (NRFRegisteredBracketCount, ref 2)
|
|
245
|
+
# 0x0035 - 0 for flash on, otherwise doesn't exist (ref PH)
|
|
213
246
|
# 0x0036 - (LuxLevel, ref 2)
|
|
214
247
|
# 0x0037 - (LastFocusingMethod, ref 2)
|
|
215
248
|
0x0038 => { # (TimeOfFlightAssistedAutoFocusEstimatorMeasuredDepth, ref 2)
|
|
@@ -219,8 +252,10 @@ sub ConvertPLIST($$);
|
|
|
219
252
|
},
|
|
220
253
|
# 0x0039 - (TimeOfFlightAssistedAutoFocusEstimatorROIType, ref 2)
|
|
221
254
|
# 0x003A - (NRFSRLStatus, ref 2)
|
|
255
|
+
# 0x003a - non-zero if a person was in the image? (ref PH)
|
|
222
256
|
# 0x003B - (SystemPressureLevel, ref 2)
|
|
223
257
|
# 0x003C - (CameraControlsStatisticsMaster, ref 2)
|
|
258
|
+
# 0x003c - 4=rear cam, 1=front cam? (ref PH)
|
|
224
259
|
0x003D => { # (TimeOfFlightAssistedAutoFocusEstimatorSensorConfidence, ref 2)
|
|
225
260
|
Name => 'AFConfidence',
|
|
226
261
|
Writable => 'int32s',
|
|
@@ -237,6 +272,7 @@ sub ConvertPLIST($$);
|
|
|
237
272
|
},
|
|
238
273
|
0x0040 => { #2
|
|
239
274
|
Name => 'SemanticStyle',
|
|
275
|
+
Notes => '_1=Tone, _2=Warm, _3=1.Std,2.Vibrant,3.Rich Contrast,4.Warm,5.Cool', #PH
|
|
240
276
|
ValueConv => \&ConvertPLIST,
|
|
241
277
|
},
|
|
242
278
|
0x0041 => { # (SemanticStyleKey_RenderingVersion, ref 2)
|
|
@@ -249,20 +285,28 @@ sub ConvertPLIST($$);
|
|
|
249
285
|
},
|
|
250
286
|
# 0x0043 - (SemanticStyleKey_ToneBias, ref 2)
|
|
251
287
|
# 0x0044 - (SemanticStyleKey_WarmthBias, ref 2)
|
|
252
|
-
0x0045
|
|
253
|
-
Name => 'FrontFacingCamera',
|
|
254
|
-
Writable => 'int32s',
|
|
255
|
-
PrintConv => { 0 => 'No', 1 => 'Yes' }, #PH (NC)
|
|
256
|
-
},
|
|
288
|
+
# 0x0045 - (FrontFacing, ref 2) (not for iPhone15, ref PH)
|
|
257
289
|
# 0x0046 - (TimeOfFlightAssistedAutoFocusEstimatorContainsBlindSpot, ref 2)
|
|
258
290
|
# 0x0047 - (LeaderFollowerAutoFocusLeaderDepth, ref 2)
|
|
259
291
|
# 0x0048 - (LeaderFollowerAutoFocusLeaderFocusMethod, ref 2)
|
|
260
292
|
# 0x0049 - (LeaderFollowerAutoFocusLeaderConfidence, ref 2)
|
|
261
293
|
# 0x004A - (LeaderFollowerAutoFocusLeaderROIType, ref 2)
|
|
294
|
+
# 0x004a - 2=back normal, 4=back wide angle, 5=front (ref PH)
|
|
262
295
|
# 0x004B - (ZeroShutterLagFailureReason, ref 2)
|
|
263
296
|
# 0x004C - (TimeOfFlightAssistedAutoFocusEstimatorMSPMeasuredDepth, ref 2)
|
|
264
297
|
# 0x004D - (TimeOfFlightAssistedAutoFocusEstimatorMSPSensorConfidence, ref 2)
|
|
265
298
|
# 0x004E - (Camera, ref 2)
|
|
299
|
+
0x004e => {
|
|
300
|
+
Name => 'Apple_0x004e',
|
|
301
|
+
Unknown => 1,
|
|
302
|
+
# first number is 0 for front cam, 1 for either back cam (ref PH)
|
|
303
|
+
ValueConv => \&ConvertPLIST,
|
|
304
|
+
},
|
|
305
|
+
0x004f => {
|
|
306
|
+
Name => 'Apple_0x004f',
|
|
307
|
+
Unknown => 1,
|
|
308
|
+
ValueConv => \&ConvertPLIST,
|
|
309
|
+
}
|
|
266
310
|
);
|
|
267
311
|
|
|
268
312
|
# PLIST-format CMTime structure (ref PH)
|
|
@@ -35,7 +35,7 @@ use Image::ExifTool::Sony;
|
|
|
35
35
|
use Image::ExifTool::Validate;
|
|
36
36
|
use Image::ExifTool::MacOS;
|
|
37
37
|
|
|
38
|
-
$VERSION = '3.
|
|
38
|
+
$VERSION = '3.56';
|
|
39
39
|
@ISA = qw(Exporter);
|
|
40
40
|
|
|
41
41
|
sub NumbersFirst($$);
|
|
@@ -672,7 +672,10 @@ Camero.
|
|
|
672
672
|
|
|
673
673
|
Use the API L<PrintCSV|../ExifTool.html#PrintCSV> option to output all timed
|
|
674
674
|
PDR data in CSV format at greatly increased speed and with much lower memory
|
|
675
|
-
usage.
|
|
675
|
+
usage. This option prints the numerical values for each channel in CSV
|
|
676
|
+
format, suitable for import into RaceRender. In this output, the gear
|
|
677
|
+
numbers for Neutral and Reverse are changed to -1 and -100 respectively for
|
|
678
|
+
compatibility with RaceRender.
|
|
676
679
|
},
|
|
677
680
|
PodTrailer => q{
|
|
678
681
|
~head1 NOTES
|
|
@@ -23,7 +23,7 @@ use vars qw($VERSION);
|
|
|
23
23
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
24
24
|
use Image::ExifTool::Canon;
|
|
25
25
|
|
|
26
|
-
$VERSION = '1.
|
|
26
|
+
$VERSION = '1.41';
|
|
27
27
|
|
|
28
28
|
sub ProcessCanonVRD($$;$);
|
|
29
29
|
sub WriteCanonVRD($$;$);
|
|
@@ -1020,6 +1020,18 @@ my $blankFooter = "CANON OPTIONAL DATA\0" . ("\0" x 42) . "\xff\xd9";
|
|
|
1020
1020
|
# 0x10018 - fmt=8: 0
|
|
1021
1021
|
# 0x10020 - fmt=2: ''
|
|
1022
1022
|
0x10021 => 'CustomPictureStyle', # (string)
|
|
1023
|
+
0x10100 => { #forum15965
|
|
1024
|
+
Name => 'Rating',
|
|
1025
|
+
PrintConv => {
|
|
1026
|
+
0 => 'Unrated',
|
|
1027
|
+
1 => 1,
|
|
1028
|
+
2 => 2,
|
|
1029
|
+
3 => 3,
|
|
1030
|
+
4 => 4,
|
|
1031
|
+
5 => 5,
|
|
1032
|
+
4294967295 => 'Rejected',
|
|
1033
|
+
},
|
|
1034
|
+
},
|
|
1023
1035
|
0x10101 => {
|
|
1024
1036
|
Name => 'CheckMark',
|
|
1025
1037
|
PrintConv => {
|
|
@@ -1427,15 +1439,16 @@ my $blankFooter = "CANON OPTIONAL DATA\0" . ("\0" x 42) . "\xff\xd9";
|
|
|
1427
1439
|
4 => 'CropY',
|
|
1428
1440
|
5 => 'CropWidth',
|
|
1429
1441
|
6 => 'CropHeight',
|
|
1442
|
+
7 => 'CropRotation',
|
|
1430
1443
|
8 => {
|
|
1431
|
-
Name => '
|
|
1444
|
+
Name => 'CropAngle',
|
|
1432
1445
|
Format => 'double',
|
|
1433
1446
|
PrintConv => 'sprintf("%.7g",$val)',
|
|
1434
1447
|
PrintConvInv => '$val',
|
|
1435
1448
|
},
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
#
|
|
1449
|
+
10 => 'CropOriginalWidth',
|
|
1450
|
+
11 => 'CropOriginalHeight',
|
|
1451
|
+
# 12 double - value: 100
|
|
1439
1452
|
);
|
|
1440
1453
|
|
|
1441
1454
|
# DR4 Stamp Tool tags (ref PH)
|
|
@@ -19,6 +19,7 @@ use Image::ExifTool::GPS;
|
|
|
19
19
|
$VERSION = '1.09';
|
|
20
20
|
|
|
21
21
|
sub ProcessDJIInfo($$$);
|
|
22
|
+
sub Process_djmd($$$);
|
|
22
23
|
|
|
23
24
|
my %convFloat2 = (
|
|
24
25
|
PrintConv => 'sprintf("%+.2f", $val)',
|
|
@@ -186,6 +187,34 @@ my %convFloat2 = (
|
|
|
186
187
|
},
|
|
187
188
|
);
|
|
188
189
|
|
|
190
|
+
# TODO - eventually add ability to decode this?
|
|
191
|
+
%Image::ExifTool::DJI::djmd = (
|
|
192
|
+
PROCESS_PROC => \&Process_djmd,
|
|
193
|
+
);
|
|
194
|
+
|
|
195
|
+
#------------------------------------------------------------------------------
|
|
196
|
+
# Process DJI djmd timed data from Action4 videos (ref PH)
|
|
197
|
+
# Inputs: 0) ExifTool ref, 1) dirInfo ref, 2) tag table ref
|
|
198
|
+
# Returns: 1 on success
|
|
199
|
+
# TODO: work in progress
|
|
200
|
+
sub Process_djmd($$$)
|
|
201
|
+
{
|
|
202
|
+
my ($et, $dirInfo, $tagTbl) = @_;
|
|
203
|
+
my $dataPt = $$dirInfo{DataPt};
|
|
204
|
+
my ($pos, $bit, $val) = (6, 0, 0);
|
|
205
|
+
for (;;) {
|
|
206
|
+
my $v = Get8u($dataPt, $pos);
|
|
207
|
+
$val += ($v & 0x7f) << $bit;
|
|
208
|
+
last unless $v & 0x80;
|
|
209
|
+
++$pos;
|
|
210
|
+
$bit += 7;
|
|
211
|
+
}
|
|
212
|
+
$pos += 49;
|
|
213
|
+
my @a = unpack("x${pos}fxfxfxfx3fxfxf", $$dataPt);
|
|
214
|
+
print "$val @a\n";
|
|
215
|
+
return 1;
|
|
216
|
+
}
|
|
217
|
+
|
|
189
218
|
#------------------------------------------------------------------------------
|
|
190
219
|
# Process DJI info (ref PH)
|
|
191
220
|
# Inputs: 0) ExifTool ref, 1) dirInfo ref, 2) tag table ref
|
|
@@ -57,7 +57,7 @@ use vars qw($VERSION $AUTOLOAD @formatSize @formatName %formatNumber %intFormat
|
|
|
57
57
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
58
58
|
use Image::ExifTool::MakerNotes;
|
|
59
59
|
|
|
60
|
-
$VERSION = '4.
|
|
60
|
+
$VERSION = '4.52';
|
|
61
61
|
|
|
62
62
|
sub ProcessExif($$$);
|
|
63
63
|
sub WriteExif($$$);
|
|
@@ -4342,7 +4342,7 @@ my %opcodeInfo = (
|
|
|
4342
4342
|
Count => -1,
|
|
4343
4343
|
Protected => 1,
|
|
4344
4344
|
},
|
|
4345
|
-
|
|
4345
|
+
0xcd3f => { # DNG 1.6
|
|
4346
4346
|
Name => 'RGBTables',
|
|
4347
4347
|
Writable => 'undef',
|
|
4348
4348
|
WriteGroup => 'IFD0',
|
|
@@ -4404,6 +4404,23 @@ my %opcodeInfo = (
|
|
|
4404
4404
|
WriteGroup => 'IFD0',
|
|
4405
4405
|
Protected => 1,
|
|
4406
4406
|
},
|
|
4407
|
+
0xcd49 => { # DNG 1.7.1
|
|
4408
|
+
Name => 'JXLDistance',
|
|
4409
|
+
Writable => 'float',
|
|
4410
|
+
WriteGroup => 'IFD0',
|
|
4411
|
+
},
|
|
4412
|
+
0xcd4a => { # DNG 1.7.1
|
|
4413
|
+
Name => 'JXLEffort',
|
|
4414
|
+
Notes => 'values range from 1=low to 9=high',
|
|
4415
|
+
Writable => 'int32u',
|
|
4416
|
+
WriteGroup => 'IFD0',
|
|
4417
|
+
},
|
|
4418
|
+
0xcd4b => { # DNG 1.7.1
|
|
4419
|
+
Name => 'JXLDecodeSpeed',
|
|
4420
|
+
Notes => 'values range from 1=slow to 4=fast',
|
|
4421
|
+
Writable => 'int32u',
|
|
4422
|
+
WriteGroup => 'IFD0',
|
|
4423
|
+
},
|
|
4407
4424
|
0xea1c => { #13
|
|
4408
4425
|
Name => 'Padding',
|
|
4409
4426
|
Binary => 1,
|
|
@@ -15,7 +15,7 @@ use vars qw($VERSION);
|
|
|
15
15
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
16
16
|
use Image::ExifTool::GPS;
|
|
17
17
|
|
|
18
|
-
$VERSION = '1.
|
|
18
|
+
$VERSION = '1.01';
|
|
19
19
|
|
|
20
20
|
sub Process_marl($$$);
|
|
21
21
|
sub Process_mrld($$$);
|
|
@@ -30,6 +30,8 @@ my %convertUnits = (
|
|
|
30
30
|
ltr => 'L',
|
|
31
31
|
);
|
|
32
32
|
|
|
33
|
+
my $pi = 3.141592653589793;
|
|
34
|
+
|
|
33
35
|
# offsets and scaling factors to convert to reasonable units
|
|
34
36
|
my %changeOffset = (
|
|
35
37
|
C => -273.15, # K to C
|
|
@@ -37,8 +39,8 @@ my %changeOffset = (
|
|
|
37
39
|
my %changeScale = (
|
|
38
40
|
G => 1 / 9.80665, # m/s2 to G
|
|
39
41
|
kph => 3.6, # m/s to km/h
|
|
40
|
-
deg => 180 /
|
|
41
|
-
'deg/sec' => 180 /
|
|
42
|
+
deg => 180 / $pi, # radians to degrees
|
|
43
|
+
'deg/sec' => 180 / $pi, # rad/s to deg/s
|
|
42
44
|
'%' => 100, # decimal to %
|
|
43
45
|
kPa => 1/1000, # Pa to kPa
|
|
44
46
|
rpm => 10, # ? (arbitrary factor of 10)
|
|
@@ -181,7 +183,7 @@ my %channelStruct = (
|
|
|
181
183
|
Name => 'GPSTrack',
|
|
182
184
|
Description => 'GPS Track',
|
|
183
185
|
Groups => { 2 => 'Location' },
|
|
184
|
-
PrintConv => 'sprintf("%.2f",$val)',
|
|
186
|
+
PrintConv => '$val > 360 ? "n/a" : sprintf("%.2f",$val)', # (seen 655.35)
|
|
185
187
|
},
|
|
186
188
|
ABSActive => { },
|
|
187
189
|
AccelPos => { },
|
|
@@ -209,7 +211,14 @@ my %channelStruct = (
|
|
|
209
211
|
EngineTorqureReq => { },
|
|
210
212
|
FuelCapacity => { },
|
|
211
213
|
FuelLevel => { },
|
|
212
|
-
Gear => {
|
|
214
|
+
Gear => {
|
|
215
|
+
Notes => q{
|
|
216
|
+
in the PrintCSV output, the value for Neutral is set to -1, and Reverse to
|
|
217
|
+
-100 for compatibility with RaceRender
|
|
218
|
+
},
|
|
219
|
+
CSVConv => { 13 => -1, 14 => -100 },
|
|
220
|
+
PrintConv => { 1=>1, 2=>2, 3=>3, 4=>4, 5=>5, 6=>6, 13=>'N', 14=>'R' }
|
|
221
|
+
},
|
|
213
222
|
GPSFix => { },
|
|
214
223
|
InfotainOpMode => { },
|
|
215
224
|
IntakeAirTemperature => { },
|
|
@@ -261,7 +270,7 @@ my %channelStruct = (
|
|
|
261
270
|
sub PrintCSV($;$)
|
|
262
271
|
{
|
|
263
272
|
my ($et, $ts) = @_;
|
|
264
|
-
my $csv = $$et{GMCsv} or return;
|
|
273
|
+
my $csv = $$et{GMCsv} or return; # get the list of channels with measurements
|
|
265
274
|
@$csv or return;
|
|
266
275
|
my $vals = $$et{GMVals};
|
|
267
276
|
my $gmDict = $$et{GMDictionary};
|
|
@@ -271,7 +280,7 @@ sub PrintCSV($;$)
|
|
|
271
280
|
foreach (@$csv) {
|
|
272
281
|
my $gmChan = $$gmDict[$_];
|
|
273
282
|
$items[$_] = $$vals[$_] * $$gmChan{Mult} + $$gmChan{Off};
|
|
274
|
-
# apply
|
|
283
|
+
# apply CSV conversion if applicable (ie. Gear)
|
|
275
284
|
next unless $$gmChan{Conv} and defined $$gmChan{Conv}{$items[$_]};
|
|
276
285
|
$items[$_] = $$gmChan{Conv}{$items[$_]};
|
|
277
286
|
}
|
|
@@ -397,7 +406,7 @@ sub Process_mrld($$$)
|
|
|
397
406
|
my $init = int(($a[6] + $a[7]) / 2); # initial value for difference readings
|
|
398
407
|
# save information about this channel necessary for processing the marl data
|
|
399
408
|
$$gmDict[$chan] = { Name => $name, Mult => $mult, Off => $off, Init => $init };
|
|
400
|
-
$$gmDict[$chan]{Conv} = $$tagInfo{
|
|
409
|
+
$$gmDict[$chan]{Conv} = $$tagInfo{CSVConv};
|
|
401
410
|
$csv and $$csv[$chan] = $a[12] . ($a[3] ? " ($a[3])" : '');
|
|
402
411
|
}
|
|
403
412
|
# channel 0 must not be defined because we use it for the TimeStamp
|
|
Binary file
|