exiftool_vendored 12.83.0 → 12.86.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 +51 -1
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +46 -46
- data/bin/build_geolocation +99 -21
- data/bin/config_files/example.config +7 -2
- data/bin/exiftool +52 -50
- data/bin/lib/Image/ExifTool/Apple.pm +52 -7
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +3 -2
- data/bin/lib/Image/ExifTool/Canon.pm +38 -4
- data/bin/lib/Image/ExifTool/CanonVRD.pm +17 -2
- data/bin/lib/Image/ExifTool/DPX.pm +3 -3
- data/bin/lib/Image/ExifTool/Geolocation.dat +0 -0
- data/bin/lib/Image/ExifTool/Geolocation.pm +132 -79
- data/bin/lib/Image/ExifTool/Geotag.pm +18 -10
- data/bin/lib/Image/ExifTool/ID3.pm +36 -8
- data/bin/lib/Image/ExifTool/Nikon.pm +19 -1
- data/bin/lib/Image/ExifTool/Olympus.pm +27 -17
- data/bin/lib/Image/ExifTool/Pentax.pm +64 -13
- data/bin/lib/Image/ExifTool/QuickTime.pm +28 -9
- data/bin/lib/Image/ExifTool/Samsung.pm +29 -1
- data/bin/lib/Image/ExifTool/TagLookup.pm +3550 -3539
- data/bin/lib/Image/ExifTool/TagNames.pod +51 -22
- data/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +2 -1
- data/bin/lib/Image/ExifTool/Writer.pl +5 -5
- data/bin/lib/Image/ExifTool/XMP.pm +2 -0
- data/bin/lib/Image/ExifTool.pm +91 -49
- data/bin/lib/Image/ExifTool.pod +61 -51
- data/bin/perl-Image-ExifTool.spec +45 -45
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +3 -3
@@ -12,7 +12,7 @@ meta information extracted from or written to a file.
|
|
12
12
|
=head1 TAG TABLES
|
13
13
|
|
14
14
|
The tables listed below give the names of all tags recognized by ExifTool.
|
15
|
-
They contain a total of
|
15
|
+
They contain a total of 27868 tags, with 17446 unique tag names.
|
16
16
|
|
17
17
|
B<Tag ID>, B<Index#> or B<Sequence> is given in the first column of each
|
18
18
|
table. A B<Tag ID> is the computer-readable equivalent of a tag name, and
|
@@ -7746,7 +7746,8 @@ These tags are used in Pentax/Asahi cameras.
|
|
7746
7746
|
0x0229 SerialNumber string
|
7747
7747
|
0x022a FilterInfo Pentax FilterInfo
|
7748
7748
|
Pentax FilterInfo
|
7749
|
-
0x022b
|
7749
|
+
0x022b LevelInfoK3III Pentax LevelInfoK3III
|
7750
|
+
LevelInfo Pentax LevelInfo
|
7750
7751
|
0x022d WBLevels Pentax WBLevels
|
7751
7752
|
0x022e Artist string
|
7752
7753
|
0x022f Copyright string
|
@@ -7919,7 +7920,8 @@ Auto-exposure information for the K-01.
|
|
7919
7920
|
|
7920
7921
|
=head3 Pentax AEInfo3 Tags
|
7921
7922
|
|
7922
|
-
Auto-exposure information for the K-3, K-30, K-50
|
7923
|
+
Auto-exposure information for the K-1mkII, K-3, K-30, K-50, K-70, K-500 and
|
7924
|
+
KP.
|
7923
7925
|
|
7924
7926
|
Index1 Tag Name Writable
|
7925
7927
|
------ -------- --------
|
@@ -8050,7 +8052,9 @@ Flash information tags for the K10D, K20D and K200D.
|
|
8050
8052
|
Index1 Tag Name Writable
|
8051
8053
|
------ -------- --------
|
8052
8054
|
0.1 PowerSource int8u & 0x0f
|
8055
|
+
Tag01 int8u & 0x0f
|
8053
8056
|
1.1 BodyBatteryState int8u & 0xf0
|
8057
|
+
BodyBatteryState? int8u & 0xf0
|
8054
8058
|
1.2 GripBatteryState int8u & 0x0f
|
8055
8059
|
GripBatteryState? int8u & 0x0f
|
8056
8060
|
2 BodyBatteryADNoLoad int8u
|
@@ -8072,6 +8076,7 @@ Flash information tags for the K10D, K20D and K200D.
|
|
8072
8076
|
6 AFDefocus int8u
|
8073
8077
|
7 AFIntegrationTime int8u
|
8074
8078
|
11 AFPointsInFocus int8u
|
8079
|
+
506 LiveView int8u
|
8075
8080
|
509 AFHold int8u
|
8076
8081
|
|
8077
8082
|
=head3 Pentax KelvinWB Tags
|
@@ -8111,6 +8116,7 @@ White balance Blue/Red gains as a function of color temperature.
|
|
8111
8116
|
------ -------- --------
|
8112
8117
|
0 EVSteps int8u
|
8113
8118
|
1 SensitivitySteps int8u
|
8119
|
+
3 LiveView int8u
|
8114
8120
|
|
8115
8121
|
=head3 Pentax ShotInfo Tags
|
8116
8122
|
|
@@ -8224,6 +8230,15 @@ used.
|
|
8224
8230
|
311 DigitalFilter19 undef[17]
|
8225
8231
|
328 DigitalFilter20 undef[17]
|
8226
8232
|
|
8233
|
+
=head3 Pentax LevelInfoK3III Tags
|
8234
|
+
|
8235
|
+
Tags decoded from the electronic level information for the K-3 III.
|
8236
|
+
|
8237
|
+
Index1 Tag Name Writable
|
8238
|
+
------ -------- --------
|
8239
|
+
3 RollAngle int16s
|
8240
|
+
5 PitchAngle int16s
|
8241
|
+
|
8227
8242
|
=head3 Pentax LevelInfo Tags
|
8228
8243
|
|
8229
8244
|
Tags decoded from the electronic level information for the K-5. May not be
|
@@ -8903,12 +8918,16 @@ Tags extracted from the maker notes of iPhone images.
|
|
8903
8918
|
0x0019 ImageProcessingFlags? int32s
|
8904
8919
|
0x001a QualityHint? string
|
8905
8920
|
0x001d LuminanceNoiseAmplitude rational64s
|
8921
|
+
0x001f PhotosAppFeatureFlags int32s
|
8906
8922
|
0x0020 ImageCaptureRequestID? string
|
8907
8923
|
0x0021 HDRHeadroom rational64s
|
8924
|
+
0x0023 AFPerformance int32s[2]
|
8908
8925
|
0x0025 SceneFlags? int32s
|
8909
8926
|
0x0026 SignalToNoiseRatioType? int32s
|
8910
8927
|
0x0027 SignalToNoiseRatio rational64s
|
8911
8928
|
0x002b PhotoIdentifier string
|
8929
|
+
0x002d ColorTemperature int32s
|
8930
|
+
0x002e CameraType int32s
|
8912
8931
|
0x002f FocusPosition int32s
|
8913
8932
|
0x0030 HDRGain rational64s
|
8914
8933
|
0x0038 AFMeasuredDepth int32s
|
@@ -8918,7 +8937,8 @@ Tags extracted from the maker notes of iPhone images.
|
|
8918
8937
|
0x0040 SemanticStyle no
|
8919
8938
|
0x0041 SemanticStyleRenderingVer no
|
8920
8939
|
0x0042 SemanticStylePreset no
|
8921
|
-
|
8940
|
+
0x004e Apple_0x004e? no
|
8941
|
+
0x004f Apple_0x004f? no
|
8922
8942
|
|
8923
8943
|
=head3 Apple RunTime Tags
|
8924
8944
|
|
@@ -9333,6 +9353,7 @@ Unknown only to reduce the volume of the normal output.
|
|
9333
9353
|
41 ManualFlashOutput int16s
|
9334
9354
|
42 ColorTone int16s
|
9335
9355
|
46 SRAWQuality int16s
|
9356
|
+
51 Clarity int16s
|
9336
9357
|
|
9337
9358
|
=head3 Canon FocalLength Tags
|
9338
9359
|
|
@@ -10455,6 +10476,8 @@ WB tags for the Canon G9.
|
|
10455
10476
|
11 DigitalGain int16s
|
10456
10477
|
12 WBShiftAB int16s
|
10457
10478
|
13 WBShiftGM int16s
|
10479
|
+
14 UnsharpMaskFineness int16s
|
10480
|
+
15 UnsharpMaskThreshold int16s
|
10458
10481
|
|
10459
10482
|
=head3 Canon ColorBalance Tags
|
10460
10483
|
|
@@ -11516,6 +11539,8 @@ Information about creative filter settings.
|
|
11516
11539
|
17 VFDisplayIllumination int32s
|
11517
11540
|
18 AFStatusViewfinder int32s
|
11518
11541
|
19 InitialAFPointInServo int32s
|
11542
|
+
20 SubjectToDetect int32s
|
11543
|
+
24 EyeDetection int32s
|
11519
11544
|
|
11520
11545
|
=head3 Canon RawBurstInfo Tags
|
11521
11546
|
|
@@ -12287,6 +12312,7 @@ below by a decimal appended to the tag ID (.0, .1 or .2).
|
|
12287
12312
|
0x10002 Rotation yes
|
12288
12313
|
0x10003 AngleAdj yes
|
12289
12314
|
0x10021 CustomPictureStyle yes
|
12315
|
+
0x10100 Rating yes
|
12290
12316
|
0x10101 CheckMark yes
|
12291
12317
|
0x10200 WorkColorSpace yes
|
12292
12318
|
0x20001 RawBrightnessAdj yes
|
@@ -19815,23 +19841,23 @@ any information found here will be extracted, even if the tag is not listed.
|
|
19815
19841
|
Tag ID Tag Name Writable
|
19816
19842
|
------ -------- --------
|
19817
19843
|
0x0000 ImageProcessingVersion undef[4]
|
19818
|
-
0x0100 WB_RBLevels int16u[
|
19819
|
-
0x0102 WB_RBLevels3000K int16u[
|
19820
|
-
0x0103 WB_RBLevels3300K int16u[
|
19821
|
-
0x0104 WB_RBLevels3600K int16u[
|
19822
|
-
0x0105 WB_RBLevels3900K int16u[
|
19823
|
-
0x0106 WB_RBLevels4000K int16u[
|
19824
|
-
0x0107 WB_RBLevels4300K int16u[
|
19825
|
-
0x0108 WB_RBLevels4500K int16u[
|
19826
|
-
0x0109 WB_RBLevels4800K int16u[
|
19827
|
-
0x010a WB_RBLevels5300K int16u[
|
19828
|
-
0x010b WB_RBLevels6000K int16u[
|
19829
|
-
0x010c WB_RBLevels6600K int16u[
|
19830
|
-
0x010d WB_RBLevels7500K int16u[
|
19831
|
-
0x010e WB_RBLevelsCWB1 int16u[
|
19832
|
-
0x010f WB_RBLevelsCWB2 int16u[
|
19833
|
-
0x0110 WB_RBLevelsCWB3 int16u[
|
19834
|
-
0x0111 WB_RBLevelsCWB4 int16u[
|
19844
|
+
0x0100 WB_RBLevels int16u[n]
|
19845
|
+
0x0102 WB_RBLevels3000K int16u[n]
|
19846
|
+
0x0103 WB_RBLevels3300K int16u[n]
|
19847
|
+
0x0104 WB_RBLevels3600K int16u[n]
|
19848
|
+
0x0105 WB_RBLevels3900K int16u[n]
|
19849
|
+
0x0106 WB_RBLevels4000K int16u[n]
|
19850
|
+
0x0107 WB_RBLevels4300K int16u[n]
|
19851
|
+
0x0108 WB_RBLevels4500K int16u[n]
|
19852
|
+
0x0109 WB_RBLevels4800K int16u[n]
|
19853
|
+
0x010a WB_RBLevels5300K int16u[n]
|
19854
|
+
0x010b WB_RBLevels6000K int16u[n]
|
19855
|
+
0x010c WB_RBLevels6600K int16u[n]
|
19856
|
+
0x010d WB_RBLevels7500K int16u[n]
|
19857
|
+
0x010e WB_RBLevelsCWB1 int16u[n]
|
19858
|
+
0x010f WB_RBLevelsCWB2 int16u[n]
|
19859
|
+
0x0110 WB_RBLevelsCWB3 int16u[n]
|
19860
|
+
0x0111 WB_RBLevelsCWB4 int16u[n]
|
19835
19861
|
0x0113 WB_GLevel3000K int16u
|
19836
19862
|
0x0114 WB_GLevel3300K int16u
|
19837
19863
|
0x0115 WB_GLevel3600K int16u
|
@@ -23164,7 +23190,8 @@ The following tags are decoded in unsupported maker notes. Use the Unknown
|
|
23164
23190
|
|
23165
23191
|
The main DNG tags are found in the EXIF table. The tables below define only
|
23166
23192
|
information found within structures of these main DNG tag values. See
|
23167
|
-
L<
|
23193
|
+
L<https://helpx.adobe.com/camera-raw/digital-negative.html> for the official
|
23194
|
+
DNG specification.
|
23168
23195
|
|
23169
23196
|
=head3 DNG AdobeData Tags
|
23170
23197
|
|
@@ -30732,6 +30759,7 @@ the config file.
|
|
30732
30759
|
'RDTC' RicohRDTC Ricoh RDTC
|
30733
30760
|
'RDTG' RicohRDTG Ricoh RDTG
|
30734
30761
|
'RDTL' RicohRDTL Ricoh RDTL
|
30762
|
+
'RICO' RicohInfo JPEG
|
30735
30763
|
'RMKN' RicohRMKN EXIF
|
30736
30764
|
'RTHU' PreviewImage no
|
30737
30765
|
'SDLN' PlayMode string
|
@@ -40057,6 +40085,7 @@ FileName.
|
|
40057
40085
|
GeolocationCountryCode ExifTool no
|
40058
40086
|
GeolocationDistance ExifTool no
|
40059
40087
|
GeolocationFeatureCode ExifTool no
|
40088
|
+
GeolocationFeatureType ExifTool no
|
40060
40089
|
GeolocationPopulation ExifTool no
|
40061
40090
|
GeolocationPosition ExifTool no
|
40062
40091
|
GeolocationRegion ExifTool no
|
@@ -215,7 +215,7 @@ sub FormatIPTC($$$$$;$)
|
|
215
215
|
sub IptcDate($)
|
216
216
|
{
|
217
217
|
my $val = shift;
|
218
|
-
unless ($val =~ s{
|
218
|
+
unless ($val =~ s{^.*?(\d{4})[-:/.]?(\d{2})[-:/.]?(\d{2}).*}{$1$2$3}s) {
|
219
219
|
warn "Invalid date format (use YYYY:mm:dd)\n";
|
220
220
|
undef $val;
|
221
221
|
}
|
@@ -876,7 +876,8 @@ sub WriteQuickTime($$$)
|
|
876
876
|
# --> hold this terminator to the end
|
877
877
|
$term = $hdr;
|
878
878
|
} elsif ($n != 0) {
|
879
|
-
|
879
|
+
# warn unless this is 1-3 pad bytes
|
880
|
+
$et->Error("Unknown $n bytes at end of file", 1) if $n > 3 or $hdr ne "\0" x $n;
|
880
881
|
}
|
881
882
|
last;
|
882
883
|
}
|
@@ -29,7 +29,6 @@ sub ConvInv($$$$$;$$);
|
|
29
29
|
sub PushValue($$$;$);
|
30
30
|
|
31
31
|
my $loadedAllTables; # flag indicating we loaded all tables
|
32
|
-
my $advFmtSelf; # ExifTool object during evaluation of advanced formatting expr
|
33
32
|
|
34
33
|
# the following is a road map of where we write each directory
|
35
34
|
# in the different types of files.
|
@@ -1271,16 +1270,16 @@ sub SetNewValuesFromFile($$;@)
|
|
1271
1270
|
$opts{SrcType} = $opts{Type};
|
1272
1271
|
# override PrintConv option with initial Type if given
|
1273
1272
|
$printConv = ($opts{Type} eq 'PrintConv' ? 1 : 0);
|
1274
|
-
$srcExifTool->Options(PrintConv => $printConv);
|
1275
1273
|
}
|
1276
1274
|
my $srcType = $printConv ? 'PrintConv' : 'ValueConv';
|
1277
1275
|
my $structOpt = defined $$options{Struct} ? $$options{Struct} : 2;
|
1278
1276
|
|
1279
1277
|
if (ref $srcFile and UNIVERSAL::isa($srcFile,'Image::ExifTool')) {
|
1280
1278
|
$srcExifTool = $srcFile;
|
1281
|
-
$info = $srcExifTool->GetInfo();
|
1279
|
+
$info = $srcExifTool->GetInfo({ PrintConv => $printConv });
|
1282
1280
|
} else {
|
1283
1281
|
$srcExifTool = Image::ExifTool->new;
|
1282
|
+
$srcExifTool->Options(PrintConv => $printConv);
|
1284
1283
|
# set flag to indicate we are being called from inside SetNewValuesFromFile()
|
1285
1284
|
$$srcExifTool{TAGS_FROM_FILE} = 1;
|
1286
1285
|
# synchronize and increment the file sequence number
|
@@ -3380,7 +3379,7 @@ sub InsertTagValues($$;$$$$)
|
|
3380
3379
|
if (defined $expr and defined $val) {
|
3381
3380
|
local $SIG{'__WARN__'} = \&SetWarning;
|
3382
3381
|
undef $evalWarning;
|
3383
|
-
$advFmtSelf = $self;
|
3382
|
+
$advFmtSelf = $self; # set variable for access to $self in helper functions
|
3384
3383
|
if ($asList) {
|
3385
3384
|
foreach (@val) {
|
3386
3385
|
#### eval advanced formatting expression ($_, $self, @val, $tag, $advFmtSelf)
|
@@ -3477,13 +3476,14 @@ sub NoDups
|
|
3477
3476
|
#------------------------------------------------------------------------------
|
3478
3477
|
# Utility routine to set in $_ image from current object
|
3479
3478
|
# Inputs: 0-N) list of tags to copy
|
3479
|
+
# Returns: Return value from WriteInfo
|
3480
3480
|
# Notes: - for use only in advanced formatting expressions
|
3481
3481
|
sub SetTags(@)
|
3482
3482
|
{
|
3483
3483
|
my $self = $advFmtSelf;
|
3484
3484
|
my $et = Image::ExifTool->new;
|
3485
3485
|
$et->SetNewValuesFromFile($self, @_);
|
3486
|
-
$et->WriteInfo(\$_);
|
3486
|
+
return $et->WriteInfo(\$_);
|
3487
3487
|
}
|
3488
3488
|
|
3489
3489
|
#------------------------------------------------------------------------------
|
@@ -3794,6 +3794,8 @@ sub ParseXMPElement($$$;$$$$)
|
|
3794
3794
|
if ($stdNS) {
|
3795
3795
|
$val = $try;
|
3796
3796
|
$et->WarnOnce("Fixed incorrect URI for xmlns:$ns", 1);
|
3797
|
+
} elsif ($val =~ m(^http://ns.nikon.com/BASIC_PARAM)) {
|
3798
|
+
$et->OverrideFileType('NXD','application/x-nikon-nxd');
|
3797
3799
|
} else {
|
3798
3800
|
# look for same namespace with different version number
|
3799
3801
|
$try = quotemeta $val; # (note: escapes slashes too)
|