exiftool_vendored 12.86.0 → 12.89.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/Changes +59 -1
- data/bin/MANIFEST +1 -0
- data/bin/META.json +2 -2
- data/bin/META.yml +17 -17
- data/bin/README +3 -2
- data/bin/build_geolocation +6 -3
- data/bin/config_files/onone.config +28 -0
- data/bin/exiftool +20 -12
- data/bin/lib/Image/ExifTool/AIFF.pm +8 -4
- data/bin/lib/Image/ExifTool/ASF.pm +4 -1
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +12 -7
- data/bin/lib/Image/ExifTool/Canon.pm +63 -4
- data/bin/lib/Image/ExifTool/CanonRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/CanonVRD.pm +1 -1
- data/bin/lib/Image/ExifTool/FujiFilm.pm +46 -4
- data/bin/lib/Image/ExifTool/Geolocation.dat +0 -0
- data/bin/lib/Image/ExifTool/Geolocation.pm +6 -0
- data/bin/lib/Image/ExifTool/InDesign.pm +8 -4
- data/bin/lib/Image/ExifTool/Jpeg2000.pm +0 -1
- data/bin/lib/Image/ExifTool/Lang/de.pm +2 -2
- data/bin/lib/Image/ExifTool/Matroska.pm +66 -10
- data/bin/lib/Image/ExifTool/MinoltaRaw.pm +2 -2
- data/bin/lib/Image/ExifTool/Nikon.pm +3 -2
- data/bin/lib/Image/ExifTool/Panasonic.pm +1 -0
- data/bin/lib/Image/ExifTool/PanasonicRaw.pm +1 -0
- data/bin/lib/Image/ExifTool/Pentax.pm +80 -14
- data/bin/lib/Image/ExifTool/QuickTime.pm +45 -8
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +24 -2
- data/bin/lib/Image/ExifTool/RIFF.pm +20 -10
- data/bin/lib/Image/ExifTool/Sony.pm +21 -11
- data/bin/lib/Image/ExifTool/TagLookup.pm +6800 -6784
- data/bin/lib/Image/ExifTool/TagNames.pod +83 -16
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +84 -15
- data/bin/lib/Image/ExifTool/Writer.pl +7 -4
- data/bin/lib/Image/ExifTool/XMP.pm +8 -8
- data/bin/lib/Image/ExifTool/XMP2.pl +51 -30
- data/bin/lib/Image/ExifTool/ZIP.pm +8 -4
- data/bin/lib/Image/ExifTool.pm +22 -16
- data/bin/lib/Image/ExifTool.pod +15 -6
- data/bin/perl-Image-ExifTool.spec +1 -1
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +3 -2
@@ -143,6 +143,7 @@ my %insvLimit = (
|
|
143
143
|
ExposureCompensation => { PrintConv => 'Image::ExifTool::Exif::PrintFraction($val)', Groups => { 2 => 'Camera' } },
|
144
144
|
ISO => { Groups => { 2 => 'Camera' } },
|
145
145
|
CameraDateTime=>{ PrintConv => '$self->ConvertDateTime($val)', Groups => { 2 => 'Time' } },
|
146
|
+
DateTimeStamp =>{ PrintConv => '$self->ConvertDateTime($val)', Groups => { 2 => 'Time' } },
|
146
147
|
VideoTimeStamp => { Groups => { 2 => 'Video' } },
|
147
148
|
Accelerometer=> { Notes => '3-axis acceleration in units of g' },
|
148
149
|
AccelerometerData => { },
|
@@ -992,8 +993,29 @@ sub Process_text($$$;$)
|
|
992
993
|
$tags{Text} = defined $tags{Text} ? $tags{Text} . "\$$tag$dat" : "\$$tag$dat";
|
993
994
|
}
|
994
995
|
}
|
995
|
-
|
996
|
-
|
996
|
+
if (%tags) {
|
997
|
+
unless ($tags{Accelerometer}) { # (probably unnecessary test)
|
998
|
+
# check for NextBase 622GW accelerometer data
|
999
|
+
# Example data (leading 2-byte length word has been stripped by ProcessSamples):
|
1000
|
+
# 0000: 00 00 00 00 32 30 32 32 30 39 30 35 31 36 34 30 [....202209051640]
|
1001
|
+
# 0010: 33 33 00 00 29 00 ba ff 48 ff 18 00 f2 07 5a ff [33..)...H.....Z.]
|
1002
|
+
# 0020: 64 ff e8 ff 58 ff e8 ff c1 07 43 ff 41 ff d2 ff [d...X.....C.A...]
|
1003
|
+
# 0030: 58 ff ea ff dc 07 50 ff 30 ff e0 ff 72 ff d8 ff [X.....P.0...r...]
|
1004
|
+
# 0040: f5 07 51 ff 16 ff dc ff 6a ff ca ff 33 08 45 ff [..Q.....j...3.E.]
|
1005
|
+
if ($$dataPt =~ /^\0{4}(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})\0\0.{2}/s) {
|
1006
|
+
$tags{DateTimeStamp} = "$1:$2:$2 $4:$5:$6";
|
1007
|
+
my $num = unpack('x20v', $$dataPt); # number of accelerometer readings
|
1008
|
+
if ($num and $num * 12 + 22 < length $$dataPt) {
|
1009
|
+
$num *= 6;
|
1010
|
+
my @acc = unpack("x22v$num", $$dataPt);
|
1011
|
+
map { $_ = $_ - 0x10000 if $_ >= 0x8000 } @acc;
|
1012
|
+
$tags{AccelerometerData} = "@acc";
|
1013
|
+
}
|
1014
|
+
}
|
1015
|
+
}
|
1016
|
+
HandleTextTags($et, $tagTbl, \%tags);
|
1017
|
+
return;
|
1018
|
+
}
|
997
1019
|
# check for enciphered binary GPS data
|
998
1020
|
# BlueSkySea:
|
999
1021
|
# 0000: 00 00 aa aa aa aa 54 54 98 9a 9b 93 9a 92 98 9a [......TT........]
|
@@ -30,7 +30,7 @@ use strict;
|
|
30
30
|
use vars qw($VERSION $AUTOLOAD);
|
31
31
|
use Image::ExifTool qw(:DataAccess :Utils);
|
32
32
|
|
33
|
-
$VERSION = '1.
|
33
|
+
$VERSION = '1.68';
|
34
34
|
|
35
35
|
sub ConvertTimecode($);
|
36
36
|
sub ProcessSGLT($$$);
|
@@ -2041,11 +2041,16 @@ sub ProcessRIFF($$)
|
|
2041
2041
|
last unless $moviEnd;
|
2042
2042
|
# we arrived here because there was a problem parsing the movie data
|
2043
2043
|
# so seek to the end to continue processing
|
2044
|
-
if ($moviEnd > 0x7fffffff
|
2045
|
-
$et->
|
2046
|
-
|
2047
|
-
|
2048
|
-
|
2044
|
+
if ($moviEnd > 0x7fffffff) {
|
2045
|
+
unless ($et->Options('LargeFileSupport')) {
|
2046
|
+
$et->Warn('Possibly corrupt LIST_movi data');
|
2047
|
+
$et->Warn('Stopped parsing at large LIST_movi chunk (LargeFileSupport not set)');
|
2048
|
+
undef $err;
|
2049
|
+
last;
|
2050
|
+
}
|
2051
|
+
if ($et->Options('LargeFileSupport') eq '2') {
|
2052
|
+
$et->WarnOnce('Processing large chunk (LargeFileSupport is 2)');
|
2053
|
+
}
|
2049
2054
|
}
|
2050
2055
|
if ($validate) {
|
2051
2056
|
# (must actually try to read something after seeking to detect error)
|
@@ -2159,10 +2164,15 @@ sub ProcessRIFF($$)
|
|
2159
2164
|
$moviEnd = $raf->Tell() + $len2;
|
2160
2165
|
next; # parse into movi chunk
|
2161
2166
|
} elsif (not $rewind) {
|
2162
|
-
if ($len > 0x7fffffff
|
2163
|
-
|
2164
|
-
|
2165
|
-
|
2167
|
+
if ($len > 0x7fffffff) {
|
2168
|
+
unless ($et->Options('LargeFileSupport')) {
|
2169
|
+
$tag =~ s/([\0-\x1f\x7f-\xff])/sprintf('\\x%.2x',ord $1)/eg;
|
2170
|
+
$et->Warn("Stopped parsing at large $tag chunk (LargeFileSupport not set)");
|
2171
|
+
last;
|
2172
|
+
}
|
2173
|
+
if ($et->Options('LargeFileSupport') eq '2') {
|
2174
|
+
$et->WarnOnce('Processing large chunk (LargeFileSupport is 2)');
|
2175
|
+
}
|
2166
2176
|
}
|
2167
2177
|
if ($validate and $len2) {
|
2168
2178
|
# (must actually try to read something after seeking to detect error)
|
@@ -34,7 +34,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
|
|
34
34
|
use Image::ExifTool::Exif;
|
35
35
|
use Image::ExifTool::Minolta;
|
36
36
|
|
37
|
-
$VERSION = '3.
|
37
|
+
$VERSION = '3.69';
|
38
38
|
|
39
39
|
sub ProcessSRF($$$);
|
40
40
|
sub ProcessSR2($$$);
|
@@ -169,6 +169,7 @@ sub PrintInvLensSpec($;$$);
|
|
169
169
|
32884 => 'Sony FE 70-200mm F4 Macro G OSS II', #JR
|
170
170
|
32885 => 'Sony FE 16-35mm F2.8 GM II', #JR
|
171
171
|
32886 => 'Sony FE 300mm F2.8 GM OSS', #JR
|
172
|
+
32887 => 'Sony E PZ 16-50mm F3.5-5.6 OSS II', #JR
|
172
173
|
|
173
174
|
# (comment this out so LensID will report the LensModel, which is more useful)
|
174
175
|
# 32952 => 'Metabones Canon EF Speed Booster Ultra', #JR (corresponds to 184, but 'Advanced' mode, LensMount reported as E-mount)
|
@@ -239,6 +240,7 @@ sub PrintInvLensSpec($;$$);
|
|
239
240
|
49474.8 => 'Viltrox 50mm F1.8 FE', #JR
|
240
241
|
49474.9 => 'Viltrox 75mm F1.2 E', #JR
|
241
242
|
'49474.10' => 'Viltrox 20mm F2.8 FE', #JR
|
243
|
+
49475 => 'Tamron 50-300mm F4.5-6.3 Di III VC VXD', #JR (Model A069)
|
242
244
|
|
243
245
|
49712 => 'Tokina FiRIN 20mm F2 FE AF', # (firmware Ver.01)
|
244
246
|
49713 => 'Tokina FiRIN 100mm F2.8 FE MACRO', # (firmware Ver.01)
|
@@ -292,15 +294,18 @@ sub PrintInvLensSpec($;$$);
|
|
292
294
|
50540 => 'Sigma 14mm F1.4 DG DN | A', #JR (023)
|
293
295
|
50543 => 'Sigma 70-200mm F2.8 DG DN OS | S', #JR (023)
|
294
296
|
50544 => 'Sigma 23mm F1.4 DC DN | C', #JR (023)
|
297
|
+
50545 => 'Sigma 24-70mm F2.8 DG DN II | A', #JR (024)
|
295
298
|
50546 => 'Sigma 500mm F5.6 DG DN OS | S', #JR (024)
|
296
299
|
50547 => 'Sigma 10-18mm F2.8 DC DN | C', #JR (023)
|
297
300
|
50548 => 'Sigma 15mm F1.4 DG DN DIAGONAL FISHEYE | A', #JR (024)
|
301
|
+
50549 => 'Sigma 50mm F1.2 DG DN | A', #JR (024)
|
302
|
+
50551 => 'Sigma 28-45mm F1.8 DG DN | A', #JR (024)
|
298
303
|
|
299
304
|
50992 => 'Voigtlander SUPER WIDE-HELIAR 15mm F4.5 III', #JR
|
300
305
|
50993 => 'Voigtlander HELIAR-HYPER WIDE 10mm F5.6', #IB
|
301
306
|
50994 => 'Voigtlander ULTRA WIDE-HELIAR 12mm F5.6 III', #IB
|
302
307
|
50995 => 'Voigtlander MACRO APO-LANTHAR 65mm F2 Aspherical', #JR
|
303
|
-
50996 => 'Voigtlander NOKTON 40mm F1.2 Aspherical', #JR
|
308
|
+
50996 => 'Voigtlander NOKTON 40mm F1.2 Aspherical', #JR (also SE version)
|
304
309
|
50997 => 'Voigtlander NOKTON classic 35mm F1.4', #JR
|
305
310
|
50998 => 'Voigtlander MACRO APO-LANTHAR 110mm F2.5', #JR
|
306
311
|
50999 => 'Voigtlander COLOR-SKOPAR 21mm F3.5 Aspherical', #IB
|
@@ -309,6 +314,7 @@ sub PrintInvLensSpec($;$$);
|
|
309
314
|
51002 => 'Voigtlander APO-LANTHAR 50mm F2 Aspherical', #JR
|
310
315
|
51003 => 'Voigtlander NOKTON 35mm F1.2 Aspherical SE', #JR
|
311
316
|
51006 => 'Voigtlander APO-LANTHAR 35mm F2 Aspherical', #JR
|
317
|
+
51007 => 'Voigtlander NOKTON 50mm F1 Aspherical', #JR
|
312
318
|
|
313
319
|
# lenses listed in the Sigma MC-11 list, but not yet seen:
|
314
320
|
# 504xx => 'Sigma 18-200mm F3.5-6.3 DC MACRO OS HSM | C + MC-11', # (014)
|
@@ -330,6 +336,8 @@ sub PrintInvLensSpec($;$$);
|
|
330
336
|
51516 => 'Samyang AF 24-70mm F2.8', #JR
|
331
337
|
51517 => 'Samyang AF 50mm F1.4 II', #JR
|
332
338
|
51518 => 'Samyang AF 135mm F1.8', #JR
|
339
|
+
|
340
|
+
61569 => 'LAOWA FFII 10mm F2.8 C&D Dreamer', #JR
|
333
341
|
);
|
334
342
|
|
335
343
|
# ExposureProgram values (ref PH, mainly decoded from A200)
|
@@ -1713,7 +1721,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
1713
1721
|
},
|
1714
1722
|
},{
|
1715
1723
|
Name => 'Tag9050d',
|
1716
|
-
Condition => '$$self{Model} =~ /^(ILCE-(6700|7CM2|7CR)|ZV-E1)\b/',
|
1724
|
+
Condition => '$$self{Model} =~ /^(ILCE-(6700|7CM2|7CR)|ZV-(E1|E10M2))\b/',
|
1717
1725
|
SubDirectory => {
|
1718
1726
|
TagTable => 'Image::ExifTool::Sony::Tag9050d',
|
1719
1727
|
ByteOrder => 'LittleEndian',
|
@@ -1975,7 +1983,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
1975
1983
|
},
|
1976
1984
|
0x940c => [{
|
1977
1985
|
Name => 'Tag940c',
|
1978
|
-
Condition => '$$self{Model} =~ /^(NEX-|ILCE-|ILME-|Lunar|ZV-E10|ZV-E1)\b/',
|
1986
|
+
Condition => '$$self{Model} =~ /^(NEX-|ILCE-|ILME-|Lunar|ZV-E10|ZV-E10M2|ZV-E1)\b/',
|
1979
1987
|
SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag940c' },
|
1980
1988
|
},{
|
1981
1989
|
Name => 'Sony_0x940c',
|
@@ -2151,6 +2159,8 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
2151
2159
|
395 => 'ZV-1M2', #JR
|
2152
2160
|
396 => 'ILCE-7CR', #JR
|
2153
2161
|
397 => 'ILCE-7CM2', #JR
|
2162
|
+
398 => 'ILX-LR1', #JR
|
2163
|
+
399 => 'ZV-E10M2', #JR
|
2154
2164
|
},
|
2155
2165
|
},
|
2156
2166
|
0xb020 => { #2
|
@@ -8201,7 +8211,7 @@ my %isoSetting2010 = (
|
|
8201
8211
|
# number of mechanical shutter actuations, does not increase during electronic shutter / Silent Shooting
|
8202
8212
|
Condition => '$$self{Model} =~ /^(ILCE-(6700|7CM2|7CR))/',
|
8203
8213
|
Format => 'int32u',
|
8204
|
-
Notes => 'total number of
|
8214
|
+
Notes => 'total number of mechanical shutter actuations',
|
8205
8215
|
RawConv => '$val & 0x00ffffff',
|
8206
8216
|
PrintConv => 'sprintf("%6d",$val)',
|
8207
8217
|
PrintConvInv => '$val',
|
@@ -8228,6 +8238,7 @@ my %isoSetting2010 = (
|
|
8228
8238
|
},
|
8229
8239
|
0x0038 => {
|
8230
8240
|
Name => 'InternalSerialNumber', #(NC)
|
8241
|
+
Condition => '$$self{Model} !~ /^(ZV-E10M2)/',
|
8231
8242
|
Format => 'int8u[6]',
|
8232
8243
|
PrintConv => 'unpack "H*", pack "C*", split " ", $val',
|
8233
8244
|
},
|
@@ -8459,7 +8470,7 @@ my %isoSetting2010 = (
|
|
8459
8470
|
},
|
8460
8471
|
0x002a => [{
|
8461
8472
|
Name => 'Quality2',
|
8462
|
-
Condition => '$$self{Model} !~ /^(ILCE-(1|6700|7CM2|7CR|7M4|7RM5|7SM3|9M3)|ILME-(FX3|FX30)|ZV-E1)\b/',
|
8473
|
+
Condition => '$$self{Model} !~ /^(ILCE-(1|6700|7CM2|7CR|7M4|7RM5|7SM3|9M3)|ILME-(FX3|FX30)|ZV-(E1|E10M2))\b/',
|
8463
8474
|
PrintConv => {
|
8464
8475
|
0 => 'JPEG',
|
8465
8476
|
1 => 'RAW',
|
@@ -8484,7 +8495,7 @@ my %isoSetting2010 = (
|
|
8484
8495
|
# },
|
8485
8496
|
0x0053 => {
|
8486
8497
|
Name => 'ModelReleaseYear',
|
8487
|
-
Condition => '$$self{Model} !~ /^(ILCE-(1|6700|7CM2|7CR|7M4|7RM5|7SM3|9M3)|ILME-(FX3|FX30)|ZV-E1)\b/',
|
8498
|
+
Condition => '$$self{Model} !~ /^(ILCE-(1|6700|7CM2|7CR|7M4|7RM5|7SM3|9M3)|ILME-(FX3|FX30)|ZV-(E1|E10M2))\b/',
|
8488
8499
|
Format => 'int8u',
|
8489
8500
|
PrintConv => 'sprintf("20%.2d", $val)',
|
8490
8501
|
},
|
@@ -9530,7 +9541,6 @@ my %isoSetting2010 = (
|
|
9530
9541
|
Name => 'FocusMode',
|
9531
9542
|
Condition => '$$self{Model} =~ /^ILCA-/',
|
9532
9543
|
Notes => 'ILCA models only',
|
9533
|
-
Writable => 'int8u',
|
9534
9544
|
Priority => 0,
|
9535
9545
|
PrintConv => {
|
9536
9546
|
0 => 'Manual',
|
@@ -9855,7 +9865,7 @@ my %isoSetting2010 = (
|
|
9855
9865
|
WRITE_PROC => \&WriteEnciphered,
|
9856
9866
|
CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
|
9857
9867
|
FORMAT => 'int8u',
|
9858
|
-
NOTES => 'Valid for the ILCE-1/6700/7CM2/7CR/7M4/7RM5/7SM3/9M3, ILME-FX3/FX30, ZV-E1.',
|
9868
|
+
NOTES => 'Valid for the ILCE-1/6700/7CM2/7CR/7M4/7RM5/7SM3/9M3, ILME-FX3/FX30, ZV-E1/E10M2.',
|
9859
9869
|
FIRST_ENTRY => 0,
|
9860
9870
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
|
9861
9871
|
0x0000 => { Name => 'Tag9416_0000', PrintConv => 'sprintf("%3d",$val)', RawConv => '$$self{TagVersion} = $val' },
|
@@ -10018,7 +10028,7 @@ my %isoSetting2010 = (
|
|
10018
10028
|
},
|
10019
10029
|
0x089d => { # Note: 32 values for these newer models, and 32 non-zero values present for new lenses like SEL2470GM2 and SEL2070G
|
10020
10030
|
Name => 'VignettingCorrParams',
|
10021
|
-
Condition => '$$self{Model} =~ /^(ILCE-(6700|7CM2|7CR|7RM5)|ILME-FX30|ZV-E1)\b/',
|
10031
|
+
Condition => '$$self{Model} =~ /^(ILCE-(6700|7CM2|7CR|7RM5)|ILME-FX30|ZV-(E1|E10M2))\b/',
|
10022
10032
|
Format => 'int16s[32]',
|
10023
10033
|
},
|
10024
10034
|
0x08b5 => {
|
@@ -10057,7 +10067,7 @@ my %isoSetting2010 = (
|
|
10057
10067
|
},
|
10058
10068
|
0x0945 => {
|
10059
10069
|
Name => 'ChromaticAberrationCorrParams',
|
10060
|
-
Condition => '$$self{Model} =~ /^(ILCE-(6700|7CM2|7CR|7RM5)|ILME-FX30|ZV-E1)\b/',
|
10070
|
+
Condition => '$$self{Model} =~ /^(ILCE-(6700|7CM2|7CR|7RM5)|ILME-FX30|ZV-(E1|E10M2))\b/',
|
10061
10071
|
Format => 'int16s[32]',
|
10062
10072
|
},
|
10063
10073
|
);
|