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
|
@@ -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.55';
|
|
39
39
|
@ISA = qw(Exporter);
|
|
40
40
|
|
|
41
41
|
sub NumbersFirst($$);
|
|
@@ -95,16 +95,9 @@ my %tweakOrder = (
|
|
|
95
95
|
Lytro => 'SigmaRaw',
|
|
96
96
|
PhotoMechanic => 'FotoStation',
|
|
97
97
|
Microsoft => 'PhotoMechanic',
|
|
98
|
-
'Microsoft::MP'=> 'Microsoft::MP1',
|
|
99
98
|
GIMP => 'Microsoft',
|
|
100
|
-
'Nikon::CameraSettingsD300' => 'Nikon::ShotInfoD300b',
|
|
101
|
-
'Pentax::LensData' => 'Pentax::LensInfo2',
|
|
102
|
-
'Sony::SRF2' => 'Sony::SRF',
|
|
103
99
|
DarwinCore => 'AFCP',
|
|
104
|
-
|
|
105
|
-
'MWG::Keywords' => 'MWG::Regions',
|
|
106
|
-
'MWG::Collections' => 'MWG::Keywords',
|
|
107
|
-
'GoPro::fdsc' => 'GoPro::KBAT',
|
|
100
|
+
MWG => 'Shortcuts',
|
|
108
101
|
);
|
|
109
102
|
|
|
110
103
|
# list of all recognized Format strings
|
|
@@ -671,6 +664,15 @@ will extract all available information even for tags not listed.
|
|
|
671
664
|
Tags in these tables are referred to as "pseudo" tags because their
|
|
672
665
|
information is not stored in the file itself. As such, B<Writable> tags in
|
|
673
666
|
these tables may be changed without having to rewrite the file.
|
|
667
|
+
},
|
|
668
|
+
GM => q{
|
|
669
|
+
These tags are extracted from GM/Cosworth PDR (Performance Data Recorder)
|
|
670
|
+
information found in videos from General Motors cars such as Corvette and
|
|
671
|
+
Camero.
|
|
672
|
+
|
|
673
|
+
Use the API L<PrintCSV|../ExifTool.html#PrintCSV> option to output all timed
|
|
674
|
+
PDR data in CSV format at greatly increased speed and with much lower memory
|
|
675
|
+
usage.
|
|
674
676
|
},
|
|
675
677
|
PodTrailer => q{
|
|
676
678
|
~head1 NOTES
|
|
@@ -708,7 +710,7 @@ my %shortcutNotes = (
|
|
|
708
710
|
color space when deleting all other metadata
|
|
709
711
|
},
|
|
710
712
|
CommonIFD0 => q{
|
|
711
|
-
common metadata tags found in IFD0 of TIFF-format images. Used to
|
|
713
|
+
common metadata tags found in IFD0 of TIFF-format images. Used to simplify
|
|
712
714
|
deletion of all metadata from these images. See
|
|
713
715
|
L<FAQ number 7|../faq.html#Q7> for details
|
|
714
716
|
},
|
|
@@ -852,7 +854,7 @@ sub new
|
|
|
852
854
|
my ($tagID, $binaryTable, $noID, $hexID, $isIPTC, $isXMP);
|
|
853
855
|
$isIPTC = 1 if $writeProc and $writeProc eq \&Image::ExifTool::IPTC::WriteIPTC;
|
|
854
856
|
# generate flattened tag names for structure fields if this is an XMP table
|
|
855
|
-
if ($$table{GROUPS} and $$table{GROUPS}{0} eq 'XMP') {
|
|
857
|
+
if ($$table{GROUPS} and $$table{GROUPS}{0} eq 'XMP' or $$vars{ADD_FLATTENED}) {
|
|
856
858
|
Image::ExifTool::XMP::AddFlattenedTags($table);
|
|
857
859
|
$isXMP = 1;
|
|
858
860
|
}
|
|
@@ -1526,7 +1528,8 @@ TagID: foreach $tagID (@keys) {
|
|
|
1526
1528
|
my $fullName = ($strName =~ / / ? '' : 'XMP ') . "$strName Struct";
|
|
1527
1529
|
my $info = $tagNameInfo{$fullName} = [ ];
|
|
1528
1530
|
my $tag;
|
|
1529
|
-
|
|
1531
|
+
my $order = $$struct{SORT_ORDER} || [ sort keys %$struct ];
|
|
1532
|
+
foreach $tag (@$order) {
|
|
1530
1533
|
my $tagInfo = $$struct{$tag};
|
|
1531
1534
|
next unless ref $tagInfo eq 'HASH' and $tag ne 'NAMESPACE' and $tag ne 'GROUPS';
|
|
1532
1535
|
warn "WARNING: $strName Struct containes $tag\n" if $Image::ExifTool::specialTags{$tag};
|
|
@@ -1539,6 +1542,8 @@ TagID: foreach $tagID (@keys) {
|
|
|
1539
1542
|
push @vals, $writable;
|
|
1540
1543
|
$structs{$writable} = 1;
|
|
1541
1544
|
$writable = "=$writable";
|
|
1545
|
+
} elsif (defined $$tagInfo{Writable}) {
|
|
1546
|
+
$writable = 'no';
|
|
1542
1547
|
} else {
|
|
1543
1548
|
$writable = 'string';
|
|
1544
1549
|
}
|
|
@@ -1548,7 +1553,7 @@ TagID: foreach $tagID (@keys) {
|
|
|
1548
1553
|
# handle PrintConv lookups in Structure elements
|
|
1549
1554
|
my $printConv = $$tagInfo{PrintConv};
|
|
1550
1555
|
if (ref $printConv eq 'HASH') {
|
|
1551
|
-
foreach (sort keys %$printConv) {
|
|
1556
|
+
foreach (sort { NumbersFirst($a,$b) } keys %$printConv) {
|
|
1552
1557
|
next if /^(OTHER|BITMASK)$/;
|
|
1553
1558
|
push @vals, "$_ = $$printConv{$_}";
|
|
1554
1559
|
}
|
|
@@ -1822,24 +1827,7 @@ sub TweakOrder($$)
|
|
|
1822
1827
|
local $_;
|
|
1823
1828
|
my ($sortedTables, $tweakOrder) = @_;
|
|
1824
1829
|
my @tweak = sort keys %$tweakOrder;
|
|
1825
|
-
my (%
|
|
1826
|
-
# flag files which have a "Main" table
|
|
1827
|
-
foreach (@$sortedTables) {
|
|
1828
|
-
$addedMain{$1} = 0 if /^Image::ExifTool::(\w+)::(\w+)/ and $2 eq 'Main';
|
|
1829
|
-
}
|
|
1830
|
-
# make sure that the main table always comes first in each file
|
|
1831
|
-
foreach (@$sortedTables) {
|
|
1832
|
-
if (/^Image::ExifTool::(\w+)::(\w+)/) {
|
|
1833
|
-
if ($addedMain{$1}) {
|
|
1834
|
-
next if $2 eq 'Main'; # don't add again
|
|
1835
|
-
} elsif (defined $addedMain{$1}) {
|
|
1836
|
-
push @sorted, "Image::ExifTool::${1}::Main" if $2 ne 'Main';
|
|
1837
|
-
$addedMain{$1} = 1;
|
|
1838
|
-
}
|
|
1839
|
-
}
|
|
1840
|
-
push @sorted, $_;
|
|
1841
|
-
}
|
|
1842
|
-
@$sortedTables = @sorted;
|
|
1830
|
+
my (@sorted, %hasMain, %module, $entry);
|
|
1843
1831
|
# apply manual tweaks
|
|
1844
1832
|
while (@tweak) {
|
|
1845
1833
|
my $table = shift @tweak;
|
|
@@ -1858,6 +1846,31 @@ sub TweakOrder($$)
|
|
|
1858
1846
|
}
|
|
1859
1847
|
@$sortedTables = (@notMoving, @moving, @after);
|
|
1860
1848
|
}
|
|
1849
|
+
# flag modules which have a "Main" table, and organize tables by module name
|
|
1850
|
+
foreach (@$sortedTables) {
|
|
1851
|
+
if (not /^Image::ExifTool::(\w+)::(\w+)/) {
|
|
1852
|
+
push @sorted, $_;
|
|
1853
|
+
} else {
|
|
1854
|
+
$hasMain{$1} = 1 if $2 eq 'Main';
|
|
1855
|
+
push @sorted, $module{$1} = [ ] unless $module{$1};
|
|
1856
|
+
push @{$module{$1}}, $_;
|
|
1857
|
+
}
|
|
1858
|
+
}
|
|
1859
|
+
# force MWG::Composite table first
|
|
1860
|
+
my @mwg = ( 'Image::ExifTool::MWG::Composite' );
|
|
1861
|
+
/Composite/ or push @mwg, $_ foreach @{$module{MWG}};
|
|
1862
|
+
@{$module{MWG}} = @mwg;
|
|
1863
|
+
# make sure that the main table always comes first in each file
|
|
1864
|
+
# and that all other tables from this group follow
|
|
1865
|
+
@$sortedTables = ( );
|
|
1866
|
+
foreach $entry (@sorted) {
|
|
1867
|
+
ref $entry or push(@$sortedTables, $entry), next;
|
|
1868
|
+
$$entry[0] =~ /^Image::ExifTool::(\w+)::(\w+)/ or die 'Internal error';
|
|
1869
|
+
my $main = "Image::ExifTool::$1::Main";
|
|
1870
|
+
# main table must come first (even if it doesn't exist)
|
|
1871
|
+
push @$sortedTables, $main if $hasMain{$1};
|
|
1872
|
+
$_ eq $main or push(@$sortedTables, $_) foreach @$entry;
|
|
1873
|
+
}
|
|
1861
1874
|
}
|
|
1862
1875
|
|
|
1863
1876
|
#------------------------------------------------------------------------------
|
|
@@ -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.39';
|
|
27
27
|
|
|
28
28
|
sub ProcessCanonVRD($$;$);
|
|
29
29
|
sub WriteCanonVRD($$;$);
|
|
@@ -1758,7 +1758,7 @@ sub ProcessDR4($$;$)
|
|
|
1758
1758
|
} else {
|
|
1759
1759
|
# load DR4 file into memory
|
|
1760
1760
|
my $buff;
|
|
1761
|
-
$raf->Read($buff, 8) == 8 and $buff
|
|
1761
|
+
$raf->Read($buff, 8) == 8 and $buff =~ /^IIII[\x04|\x05]\0\x04\0/ or return 0;
|
|
1762
1762
|
$et->SetFileType();
|
|
1763
1763
|
$raf->Seek(0, 2) or return $err = 1;
|
|
1764
1764
|
$dirLen = $raf->Tell();
|
|
@@ -31,7 +31,7 @@ use vars qw($VERSION);
|
|
|
31
31
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
32
32
|
use Image::ExifTool::Exif;
|
|
33
33
|
|
|
34
|
-
$VERSION = '1.
|
|
34
|
+
$VERSION = '1.94';
|
|
35
35
|
|
|
36
36
|
sub ProcessFujiDir($$$);
|
|
37
37
|
sub ProcessFaceRec($$$);
|
|
@@ -550,8 +550,16 @@ my %faceCategories = (
|
|
|
550
550
|
3 => 'Electronic Front Curtain', #10
|
|
551
551
|
},
|
|
552
552
|
},
|
|
553
|
-
0x1051 => {
|
|
554
|
-
|
|
553
|
+
0x1051 => { #forum15784
|
|
554
|
+
Name => 'CropFlag',
|
|
555
|
+
Writable => 'int8u',
|
|
556
|
+
Notes => q(
|
|
557
|
+
this tag exists only if the image was cropped, and is 0 for cropped JPG
|
|
558
|
+
image or 1 for a cropped RAF
|
|
559
|
+
),
|
|
560
|
+
},
|
|
561
|
+
0x1052 => { Name => 'CropTopLeft', Writable => 'int32u' }, #forum15784
|
|
562
|
+
0x1053 => { Name => 'CropSize', Writable => 'int32u' }, #forum15784
|
|
555
563
|
# 0x1100 - This may not work well for newer cameras (ref forum12682)
|
|
556
564
|
0x1100 => [{
|
|
557
565
|
Name => 'AutoBracketing',
|
|
@@ -1033,14 +1041,19 @@ my %faceCategories = (
|
|
|
1033
1041
|
},
|
|
1034
1042
|
0.5 => {
|
|
1035
1043
|
Name => 'AFAreaZoneSize',
|
|
1036
|
-
Mask =>
|
|
1044
|
+
Mask => 0xff0000,
|
|
1037
1045
|
PrintConv => {
|
|
1038
1046
|
0 => 'n/a',
|
|
1039
1047
|
OTHER => sub {
|
|
1040
1048
|
my ($val, $inv) = @_;
|
|
1041
|
-
|
|
1042
|
-
$
|
|
1043
|
-
|
|
1049
|
+
my ($w, $h);
|
|
1050
|
+
if ($inv) {
|
|
1051
|
+
my ($w, $h) = $val =~ /(\d+)/g;
|
|
1052
|
+
return 0 unless $w and $h;
|
|
1053
|
+
return((($h << 5) & 0xf0) | ($w & 0x0f));
|
|
1054
|
+
}
|
|
1055
|
+
($w, $h) = ($val & 0x0f, $val >> 5);
|
|
1056
|
+
return "$w x $h";
|
|
1044
1057
|
},
|
|
1045
1058
|
},
|
|
1046
1059
|
},
|