exiftool_vendored 11.91.0 → 11.92.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.
- checksums.yaml +4 -4
- data/bin/Changes +10 -0
- data/bin/META.json +3 -4
- data/bin/META.yml +14 -15
- data/bin/README +3 -2
- data/bin/config_files/example.config +6 -6
- data/bin/exiftool +3 -3
- data/bin/lib/Image/ExifTool.pm +1 -1
- data/bin/lib/Image/ExifTool/EXE.pm +6 -2
- data/bin/lib/Image/ExifTool/Nikon.pm +2 -1
- data/bin/lib/Image/ExifTool/Olympus.pm +1 -0
- data/bin/lib/Image/ExifTool/Panasonic.pm +25 -3
- data/bin/lib/Image/ExifTool/QuickTime.pm +16 -1
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +3 -3
- data/bin/lib/Image/ExifTool/TagLookup.pm +4 -3
- data/bin/lib/Image/ExifTool/TagNames.pod +6 -2
- data/bin/lib/Image/ExifTool/XMP.pm +14 -2
- data/bin/perl-Image-ExifTool.spec +1 -1
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 50d7a703ae28929445285054d73951ac9a76832b
|
|
4
|
+
data.tar.gz: 916debf0b2973fe88b1083a6c52a2862292da3b6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7a4a420e897349e219725639b9a0665101e74f8fb39b9f437bbd4e6adf48acba1d2991f555b1e6e682c3f58bbf229b6e90d7fbea30aeb630010ccda3a5ca53f5
|
|
7
|
+
data.tar.gz: 6219a3fa63e1c8c4bed6217a54b6a450f6bb9e9dce6b1a3b65ad1458cf0543547f9600275a9d472f50306ab74d1ace86830c71050c1054e0d7d6d59ec1a38c91
|
data/bin/Changes
CHANGED
|
@@ -7,6 +7,16 @@ RSS feed: https://exiftool.org/rss.xml
|
|
|
7
7
|
Note: The most recent production release is Version 11.85. (Other versions are
|
|
8
8
|
considered development releases, and are not uploaded to CPAN.)
|
|
9
9
|
|
|
10
|
+
Mar. 19, 2020 - Version 11.92
|
|
11
|
+
|
|
12
|
+
- Added a new Nikon LensID (thanks Wolfgang Exler)
|
|
13
|
+
- Decode a few new Leica tags (thanks Tim Gray)
|
|
14
|
+
- Decode CameraAngles from Samsung Gear 360 videos
|
|
15
|
+
- Fixed a couple of problems decoding timed GPS metadata from NextBase dashcam
|
|
16
|
+
videos
|
|
17
|
+
- Fixed problem where -X option could produce invalid XML when reading
|
|
18
|
+
corrupted XMP
|
|
19
|
+
|
|
10
20
|
Mar. 5, 2020 - Version 11.91
|
|
11
21
|
|
|
12
22
|
- Decode a couple of new Panasonic tags
|
data/bin/META.json
CHANGED
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
"Phil Harvey (philharvey66 at gmail.com)"
|
|
5
5
|
],
|
|
6
6
|
"dynamic_config" : 1,
|
|
7
|
-
"generated_by" : "ExtUtils::MakeMaker version 6.66, CPAN::Meta::Converter version 2.
|
|
7
|
+
"generated_by" : "ExtUtils::MakeMaker version 6.66, CPAN::Meta::Converter version 2.133380",
|
|
8
8
|
"license" : [
|
|
9
9
|
"perl_5"
|
|
10
10
|
],
|
|
11
11
|
"meta-spec" : {
|
|
12
12
|
"url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
|
|
13
|
-
"version" : 2
|
|
13
|
+
"version" : "2"
|
|
14
14
|
},
|
|
15
15
|
"name" : "Image-ExifTool",
|
|
16
16
|
"no_index" : {
|
|
@@ -47,6 +47,5 @@
|
|
|
47
47
|
}
|
|
48
48
|
},
|
|
49
49
|
"release_status" : "stable",
|
|
50
|
-
"version" : "11.
|
|
51
|
-
"x_serialization_backend" : "JSON::PP version 4.02"
|
|
50
|
+
"version" : "11.92"
|
|
52
51
|
}
|
data/bin/META.yml
CHANGED
|
@@ -3,30 +3,29 @@ abstract: 'Read and write meta information'
|
|
|
3
3
|
author:
|
|
4
4
|
- 'Phil Harvey (philharvey66 at gmail.com)'
|
|
5
5
|
build_requires:
|
|
6
|
-
ExtUtils::MakeMaker:
|
|
6
|
+
ExtUtils::MakeMaker: 0
|
|
7
7
|
configure_requires:
|
|
8
|
-
ExtUtils::MakeMaker:
|
|
8
|
+
ExtUtils::MakeMaker: 0
|
|
9
9
|
dynamic_config: 1
|
|
10
|
-
generated_by: 'ExtUtils::MakeMaker version 6.66, CPAN::Meta::Converter version 2.
|
|
10
|
+
generated_by: 'ExtUtils::MakeMaker version 6.66, CPAN::Meta::Converter version 2.133380'
|
|
11
11
|
license: perl
|
|
12
12
|
meta-spec:
|
|
13
13
|
url: http://module-build.sourceforge.net/META-spec-v1.4.html
|
|
14
|
-
version:
|
|
14
|
+
version: 1.4
|
|
15
15
|
name: Image-ExifTool
|
|
16
16
|
no_index:
|
|
17
17
|
directory:
|
|
18
18
|
- t
|
|
19
19
|
- inc
|
|
20
20
|
recommends:
|
|
21
|
-
Archive::Zip:
|
|
22
|
-
Compress::Zlib:
|
|
23
|
-
Digest::MD5:
|
|
24
|
-
Digest::SHA:
|
|
25
|
-
IO::Compress::RawDeflate:
|
|
26
|
-
IO::Uncompress::RawInflate:
|
|
27
|
-
POSIX::strptime:
|
|
28
|
-
Time::HiRes:
|
|
21
|
+
Archive::Zip: 0
|
|
22
|
+
Compress::Zlib: 0
|
|
23
|
+
Digest::MD5: 0
|
|
24
|
+
Digest::SHA: 0
|
|
25
|
+
IO::Compress::RawDeflate: 0
|
|
26
|
+
IO::Uncompress::RawInflate: 0
|
|
27
|
+
POSIX::strptime: 0
|
|
28
|
+
Time::HiRes: 0
|
|
29
29
|
requires:
|
|
30
|
-
perl:
|
|
31
|
-
version:
|
|
32
|
-
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
|
|
30
|
+
perl: 5.004
|
|
31
|
+
version: 11.92
|
data/bin/README
CHANGED
|
@@ -105,8 +105,8 @@ your home directory, then you would type the following commands in a
|
|
|
105
105
|
terminal window to extract and run ExifTool:
|
|
106
106
|
|
|
107
107
|
cd ~/Desktop
|
|
108
|
-
gzip -dc Image-ExifTool-11.
|
|
109
|
-
cd Image-ExifTool-11.
|
|
108
|
+
gzip -dc Image-ExifTool-11.92.tar.gz | tar -xf -
|
|
109
|
+
cd Image-ExifTool-11.92
|
|
110
110
|
./exiftool t/images/ExifTool.jpg
|
|
111
111
|
|
|
112
112
|
Note: These commands extract meta information from one of the test images.
|
|
@@ -197,6 +197,7 @@ distribution package:
|
|
|
197
197
|
example.config - General example showing config features
|
|
198
198
|
fotoware.config - Definitions for writing Fotoware XMP tags
|
|
199
199
|
gps2utm.config - Generate UTM coordinate tags from GPS info
|
|
200
|
+
gpsdatetime.config - Make GPSDateTime from CreateDate+SampleTime
|
|
200
201
|
nksc.config - Decode tags in Nikon ViewNX NKSC files
|
|
201
202
|
photoshop_paths.config - For extracting or copying Photoshop paths
|
|
202
203
|
picasa_faces.config - Convert from Picasa to MWG/MP face regions
|
|
@@ -15,12 +15,12 @@
|
|
|
15
15
|
#
|
|
16
16
|
# To activate this file, rename it to ".ExifTool_config" and
|
|
17
17
|
# place it in your home directory or the exiftool application
|
|
18
|
-
# directory. (On
|
|
19
|
-
# the command line since the GUI's
|
|
20
|
-
# with a dot. Use the "rename" command in Windows or "mv"
|
|
21
|
-
# Mac.) This causes ExifTool to automatically load the
|
|
22
|
-
# run. Your home directory is determined by the first
|
|
23
|
-
# the following environment variables:
|
|
18
|
+
# directory. (On Mac and some Windows systems this must be done
|
|
19
|
+
# via the command line since the GUI's may not allow filenames to
|
|
20
|
+
# begin with a dot. Use the "rename" command in Windows or "mv"
|
|
21
|
+
# on the Mac.) This causes ExifTool to automatically load the
|
|
22
|
+
# file when run. Your home directory is determined by the first
|
|
23
|
+
# defined of the following environment variables:
|
|
24
24
|
#
|
|
25
25
|
# 1. EXIFTOOL_HOME
|
|
26
26
|
# 2. HOME
|
data/bin/exiftool
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
use strict;
|
|
11
11
|
require 5.004;
|
|
12
12
|
|
|
13
|
-
my $version = '11.
|
|
13
|
+
my $version = '11.92';
|
|
14
14
|
|
|
15
15
|
# add our 'lib' directory to the include list BEFORE 'use Image::ExifTool'
|
|
16
16
|
my $exeDir;
|
|
@@ -27,7 +27,7 @@ BEGIN {
|
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
# add lib directory at start of include path
|
|
30
|
-
unshift @INC, "$
|
|
30
|
+
unshift @INC, ($0 =~ /(.*)[\\\/]/) ? "$1/lib" : './lib';
|
|
31
31
|
# load or disable config file if specified
|
|
32
32
|
if (@ARGV and lc($ARGV[0]) eq '-config') {
|
|
33
33
|
shift;
|
|
@@ -5206,7 +5206,7 @@ with this command:
|
|
|
5206
5206
|
|
|
5207
5207
|
produces output like this:
|
|
5208
5208
|
|
|
5209
|
-
-- Generated by ExifTool 11.
|
|
5209
|
+
-- Generated by ExifTool 11.92 --
|
|
5210
5210
|
File: a.jpg - 2003:10:31 15:44:19
|
|
5211
5211
|
(f/5.6, 1/60s, ISO 100)
|
|
5212
5212
|
File: b.jpg - 2006:05:23 11:57:38
|
data/bin/lib/Image/ExifTool.pm
CHANGED
|
@@ -28,7 +28,7 @@ use vars qw($VERSION $RELEASE @ISA @EXPORT_OK %EXPORT_TAGS $AUTOLOAD @fileTypes
|
|
|
28
28
|
%mimeType $swapBytes $swapWords $currentByteOrder %unpackStd
|
|
29
29
|
%jpegMarker %specialTags %fileTypeLookup $testLen $exePath);
|
|
30
30
|
|
|
31
|
-
$VERSION = '11.
|
|
31
|
+
$VERSION = '11.92';
|
|
32
32
|
$RELEASE = '';
|
|
33
33
|
@ISA = qw(Exporter);
|
|
34
34
|
%EXPORT_TAGS = (
|
|
@@ -21,7 +21,7 @@ use strict;
|
|
|
21
21
|
use vars qw($VERSION);
|
|
22
22
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
23
23
|
|
|
24
|
-
$VERSION = '1.
|
|
24
|
+
$VERSION = '1.16';
|
|
25
25
|
|
|
26
26
|
sub ProcessPEResources($$);
|
|
27
27
|
sub ProcessPEVersion($$);
|
|
@@ -52,6 +52,10 @@ my %resourceType = (
|
|
|
52
52
|
);
|
|
53
53
|
|
|
54
54
|
my %languageCode = (
|
|
55
|
+
Notes => q{
|
|
56
|
+
See L<https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid>
|
|
57
|
+
for the full list of Microsoft language codes.
|
|
58
|
+
},
|
|
55
59
|
'0000' => 'Neutral',
|
|
56
60
|
'007F' => 'Invariant',
|
|
57
61
|
'0400' => 'Process default',
|
|
@@ -397,7 +401,7 @@ my %languageCode = (
|
|
|
397
401
|
existing StringFileInfo tags even if not listed in this table.
|
|
398
402
|
},
|
|
399
403
|
LanguageCode => {
|
|
400
|
-
Notes => 'extracted from the StringFileInfo value',
|
|
404
|
+
Notes => 'Windows code page; extracted from the StringFileInfo value',
|
|
401
405
|
# ref http://techsupt.winbatch.com/TS/T000001050F49.html
|
|
402
406
|
# (also see http://support.bigfix.com/fixlet/documents/WinInspectors-2006-08-10.pdf)
|
|
403
407
|
# (also see ftp://ftp.dyu.edu.tw/pub/cpatch/faq/tech/tech_nlsnt.txt)
|
|
@@ -62,7 +62,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
|
|
|
62
62
|
use Image::ExifTool::Exif;
|
|
63
63
|
use Image::ExifTool::GPS;
|
|
64
64
|
|
|
65
|
-
$VERSION = '3.
|
|
65
|
+
$VERSION = '3.80';
|
|
66
66
|
|
|
67
67
|
sub LensIDConv($$$);
|
|
68
68
|
sub ProcessNikonAVI($$$);
|
|
@@ -515,6 +515,7 @@ sub GetAFPointGrid($$;$);
|
|
|
515
515
|
'26 40 7B A0 34 40 1C 02' => 'Sigma APO 170-500mm F5-6.3 Aspherical RF',
|
|
516
516
|
'A7 49 80 A0 24 24 4B 06' => 'Sigma APO 200-500mm F2.8 EX DG',
|
|
517
517
|
'48 3C 8E B0 3C 3C 4B 02' => 'Sigma APO 300-800mm F5.6 EX DG HSM',
|
|
518
|
+
'D2 3C 8E B0 3C 3C 4B 02' => 'Sigma APO 300-800mm F5.6 EX DG HSM', #forum10942
|
|
518
519
|
#
|
|
519
520
|
'00 47 25 25 24 24 00 02' => 'Tamron SP AF 14mm f/2.8 Aspherical (IF) (69E)',
|
|
520
521
|
'C8 54 44 44 0D 0D DF 46' => 'Tamron SP 35mm f/1.4 Di USD (F045)', #IB
|
|
@@ -183,6 +183,7 @@ my %olympusLensTypes = (
|
|
|
183
183
|
'3 02 00' => 'Leica D Summilux 25mm F1.4 Asph.', #11
|
|
184
184
|
# Tamron lenses
|
|
185
185
|
'5 01 10' => 'Tamron 14-150mm F3.5-5.8 Di III', #NJ (model C001)
|
|
186
|
+
# '65535 07 40' - Seen for LUMIX S 16-35/F4 on Panasonic DC-S1H (ref PH)
|
|
186
187
|
);
|
|
187
188
|
|
|
188
189
|
# lookup for Olympus camera types (ref PH)
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
# 20) Bernd-Michael Kemper private communication (DMC-GX80/85)
|
|
27
27
|
# 21) Klaus Homeister forum post
|
|
28
28
|
# 22) Daniel Beichl private communication (G9)
|
|
29
|
+
# 23) Tim Gray private communication (M10 Monochrom)
|
|
29
30
|
# JD) Jens Duttke private communication (TZ3,FZ30,FZ50)
|
|
30
31
|
#------------------------------------------------------------------------------
|
|
31
32
|
|
|
@@ -36,7 +37,7 @@ use vars qw($VERSION %leicaLensTypes);
|
|
|
36
37
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
37
38
|
use Image::ExifTool::Exif;
|
|
38
39
|
|
|
39
|
-
$VERSION = '2.
|
|
40
|
+
$VERSION = '2.09';
|
|
40
41
|
|
|
41
42
|
sub ProcessLeicaLEIC($$$);
|
|
42
43
|
sub WhiteBalanceConv($;$$);
|
|
@@ -1274,7 +1275,7 @@ my %shootingMode = (
|
|
|
1274
1275
|
# defined in Olympus.pm which has the same values as Olympus:LensType
|
|
1275
1276
|
0xc4 => { #PH
|
|
1276
1277
|
Name => 'LensTypeMake',
|
|
1277
|
-
Condition => '$format eq "int16u"',
|
|
1278
|
+
Condition => '$format eq "int16u" and $$valPt ne "\xff\xff"', # (ignore make 65535 for now)
|
|
1278
1279
|
Writable => 'int16u',
|
|
1279
1280
|
},
|
|
1280
1281
|
0xc5 => { #PH
|
|
@@ -1968,7 +1969,7 @@ my %shootingMode = (
|
|
|
1968
1969
|
WRITE_PROC => \&Image::ExifTool::Exif::WriteExif,
|
|
1969
1970
|
CHECK_PROC => \&Image::ExifTool::Exif::CheckExif,
|
|
1970
1971
|
GROUPS => { 0 => 'MakerNotes', 1 => 'Leica', 2 => 'Camera' },
|
|
1971
|
-
NOTES => 'This information is written by the Leica S (Typ 007).',
|
|
1972
|
+
NOTES => 'This information is written by the Leica S (Typ 007) and M10 models.',
|
|
1972
1973
|
0x304 => {
|
|
1973
1974
|
Name => 'FocusDistance',
|
|
1974
1975
|
Notes => 'focus distance in mm for most models, but cm for others',
|
|
@@ -1989,6 +1990,27 @@ my %shootingMode = (
|
|
|
1989
1990
|
PrintConvInv => '$val',
|
|
1990
1991
|
},
|
|
1991
1992
|
# 0x340 - ImageUniqueID
|
|
1993
|
+
0x34c => { #23
|
|
1994
|
+
Name => 'UserProfile',
|
|
1995
|
+
Writable => 'string',
|
|
1996
|
+
},
|
|
1997
|
+
0x359 => { #23
|
|
1998
|
+
Name => 'ISOSelected',
|
|
1999
|
+
Writable => 'int32s',
|
|
2000
|
+
PrintConv => {
|
|
2001
|
+
0 => 'Auto',
|
|
2002
|
+
OTHER => sub { return shift; },
|
|
2003
|
+
},
|
|
2004
|
+
},
|
|
2005
|
+
0x35a => { #23
|
|
2006
|
+
Name => 'FNumber',
|
|
2007
|
+
Writable => 'int32s',
|
|
2008
|
+
ValueConv => '$val / 1000',
|
|
2009
|
+
ValueConvInv => '$val * 1000',
|
|
2010
|
+
PrintConv => 'sprintf("%.1f", $val)',
|
|
2011
|
+
PrintConvInv => '$val',
|
|
2012
|
+
},
|
|
2013
|
+
# 0x357 int32u - 0=DNG, 3162=JPG (ref 23)
|
|
1992
2014
|
);
|
|
1993
2015
|
|
|
1994
2016
|
# Type 2 tags (ref PH)
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
# 23) http://atomicparsley.sourceforge.net/mpeg-4files.html
|
|
36
36
|
# 24) https://github.com/sergiomb2/libmp4v2/wiki/iTunesMetadata
|
|
37
37
|
# 25) https://cconcolato.github.io/mp4ra/atoms.html
|
|
38
|
+
# 26) https://github.com/SamsungVR/android_upload_sdk/blob/master/SDKLib/src/main/java/com/samsung/msca/samsungvr/sdk/UserVideo.java
|
|
38
39
|
#------------------------------------------------------------------------------
|
|
39
40
|
|
|
40
41
|
package Image::ExifTool::QuickTime;
|
|
@@ -45,7 +46,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
|
|
|
45
46
|
use Image::ExifTool::Exif;
|
|
46
47
|
use Image::ExifTool::GPS;
|
|
47
48
|
|
|
48
|
-
$VERSION = '2.
|
|
49
|
+
$VERSION = '2.45';
|
|
49
50
|
|
|
50
51
|
sub ProcessMOV($$;$);
|
|
51
52
|
sub ProcessKeys($$$);
|
|
@@ -2064,6 +2065,20 @@ my %eeBox = (
|
|
|
2064
2065
|
Name => 'TomTomMetaData',
|
|
2065
2066
|
SubDirectory => { TagTable => 'Image::ExifTool::QuickTime::TomTom' },
|
|
2066
2067
|
},
|
|
2068
|
+
# ---- Samsung Gear 360 ----
|
|
2069
|
+
vrot => {
|
|
2070
|
+
Name => 'AccelerometerData',
|
|
2071
|
+
Notes => q{
|
|
2072
|
+
accelerometer readings for each frame of the video, expressed as sets of
|
|
2073
|
+
yaw, pitch and roll angles in degrees
|
|
2074
|
+
},
|
|
2075
|
+
Format => 'rational64s',
|
|
2076
|
+
ValueConv => '$val =~ s/^-?\d+ //; \$val', # (ignore leading version/size words)
|
|
2077
|
+
},
|
|
2078
|
+
# m360 - 8 bytes "0 0 0 0 0 0 0 1"
|
|
2079
|
+
# opax - 164 bytes unknown (center and affine arrays? ref 26)
|
|
2080
|
+
# opai - 32 bytes (maybe contains a serial number starting at byte 16? - PH) (rgb gains, degamma, gamma? ref 26)
|
|
2081
|
+
# intv - 16 bytes all zero
|
|
2067
2082
|
# ---- Unknown ----
|
|
2068
2083
|
# CDET - 128 bytes (unknown origin)
|
|
2069
2084
|
# mtyp - 4 bytes all zero (some drone video)
|
|
@@ -675,9 +675,9 @@ sub Process_text($$$)
|
|
|
675
675
|
|
|
676
676
|
while ($$buffPt =~ /\$(\w+)([^\$]*)/g) {
|
|
677
677
|
my ($tag, $dat) = ($1, $2);
|
|
678
|
-
if ($tag =~ /^[A-Z]{2}RMC$/ and $dat =~ /^,(\d{2})(\d{2})(\d+(\.\d*)
|
|
678
|
+
if ($tag =~ /^[A-Z]{2}RMC$/ and $dat =~ /^,(\d{2})(\d{2})(\d+)(\.\d*)?,A?,(\d*?)(\d{1,2}\.\d+),([NS]),(\d*?)(\d{1,2}\.\d+),([EW]),(\d*\.?\d*),(\d*\.?\d*),(\d{2})(\d{2})(\d+)/) {
|
|
679
679
|
my $year = $15 + ($15 >= 70 ? 1900 : 2000);
|
|
680
|
-
my $str = sprintf('%.4d:%.2d:%.2d %.2d:%.2d:%.
|
|
680
|
+
my $str = sprintf('%.4d:%.2d:%.2d %.2d:%.2d:%.2d%sZ', $year, $14, $13, $1, $2, $3, $4 || '');
|
|
681
681
|
$et->HandleTag($tagTbl, GPSDateTime => $str);
|
|
682
682
|
$et->HandleTag($tagTbl, GPSLatitude => (($5 || 0) + $6/60) * ($7 eq 'N' ? 1 : -1));
|
|
683
683
|
$et->HandleTag($tagTbl, GPSLongitude => (($8 || 0) + $9/60) * ($10 eq 'E' ? 1 : -1));
|
|
@@ -686,7 +686,7 @@ sub Process_text($$$)
|
|
|
686
686
|
$et->HandleTag($tagTbl, GPSSpeedRef => 'K');
|
|
687
687
|
}
|
|
688
688
|
if (length $12) {
|
|
689
|
-
$et->HandleTag($tagTbl, GPSTrack => $
|
|
689
|
+
$et->HandleTag($tagTbl, GPSTrack => $12);
|
|
690
690
|
$et->HandleTag($tagTbl, GPSTrackRef => 'T');
|
|
691
691
|
}
|
|
692
692
|
$found = 1;
|
|
@@ -544,6 +544,7 @@ my %tagLookup = (
|
|
|
544
544
|
'accelerationtracking' => { 81 => 0x518 },
|
|
545
545
|
'accelerationvector' => { 1 => 0x8 },
|
|
546
546
|
'accelerometer' => { 376 => 0x3 },
|
|
547
|
+
'accelerometerdata' => { 366 => 'vrot' },
|
|
547
548
|
'accelerometerx' => { 306 => 0x8d },
|
|
548
549
|
'accelerometery' => { 306 => 0x8e },
|
|
549
550
|
'accelerometerz' => { 306 => 0x8c },
|
|
@@ -2650,7 +2651,7 @@ my %tagLookup = (
|
|
|
2650
2651
|
'flightyspeed' => { 113 => 'FlightYSpeed' },
|
|
2651
2652
|
'flightzspeed' => { 113 => 'FlightZSpeed' },
|
|
2652
2653
|
'fliphorizontal' => { 259 => 0x76a43206 },
|
|
2653
|
-
'fnumber' => { 7 => 0x3, 9 => 0x3, 11 => 0x3, 13 => 0x3, 14 => 0x3, 15 => 0x3, 16 => 0x3, 17 => 0x3, 18 => 0x3, 19 => 0x3, 20 => 0x3, 21 => 0x3, 22 => 0x3, 23 => 0x3, 24 => 0x3, 25 => 0x3, 26 => 0x3, 27 => 0x3, 28 => 0x3, 29 => 0x3, 30 => 0x5, 31 => 0x6, 74 => 0x15, 116 => 0x829d, 133 => 0xfd04, 136 => 0x1e, 138 => 0xfa23, 140 => 0xf103, 143 => 0x13, 145 => 0x3c, 147 => 0x1c, 148 => 0x18, 150 => 0xc, 159 => 'FNumber', 176 => 0xa, 177 => 0x36, 178 => 0x47, 179 => 0x9, 182 => 0x49c7, 217 => 0x38, 341 => 0x13, 380 => 0xa019, 383 => [0x31,0x49], 393 => 0x1, 394 => 0x1, 411 => [0x20,0x22,0x26], 468 => 'FNumber' },
|
|
2654
|
+
'fnumber' => { 7 => 0x3, 9 => 0x3, 11 => 0x3, 13 => 0x3, 14 => 0x3, 15 => 0x3, 16 => 0x3, 17 => 0x3, 18 => 0x3, 19 => 0x3, 20 => 0x3, 21 => 0x3, 22 => 0x3, 23 => 0x3, 24 => 0x3, 25 => 0x3, 26 => 0x3, 27 => 0x3, 28 => 0x3, 29 => 0x3, 30 => 0x5, 31 => 0x6, 74 => 0x15, 116 => 0x829d, 133 => 0xfd04, 136 => 0x1e, 138 => 0xfa23, 140 => 0xf103, 143 => 0x13, 145 => 0x3c, 147 => 0x1c, 148 => 0x18, 150 => 0xc, 159 => 'FNumber', 176 => 0xa, 177 => 0x36, 178 => 0x47, 179 => 0x9, 182 => 0x49c7, 217 => 0x38, 305 => 0x35a, 341 => 0x13, 380 => 0xa019, 383 => [0x31,0x49], 393 => 0x1, 394 => 0x1, 411 => [0x20,0x22,0x26], 468 => 'FNumber' },
|
|
2654
2655
|
'focaldistance' => { 448 => 'FocalDistance' },
|
|
2655
2656
|
'focallength' => { 7 => 0x1d, 8 => 0xa, 9 => 0x23, 10 => 0x9, 11 => 0x1d, 12 => 0x9, 13 => 0x1e, 14 => 0x1d, 15 => 0x1d, 16 => 0x1e, 17 => 0x1e, 18 => 0x1e, 19 => 0x28, 20 => 0x1e, 21 => 0x23, 22 => 0x1e, 23 => 0x1e, 24 => 0x23, 25 => 0x23, 26 => 0x23, 27 => 0x23, 28 => 0x1e, 29 => 0x23, 57 => 0x1, 110 => 0x1d, 116 => 0x920a, 143 => 0x1d, 159 => 'FocalLength', 176 => 0x12, 212 => 0xa, 213 => 0xb, 217 => [0xc,0x3c], 300 => 0x1, 341 => 0x1d, 350 => 0x403, 373 => 0x1500, 392 => 0xe, 418 => 0x1278, 419 => 0x1134, 420 => 0x32c, 421 => 0x32c, 422 => 0x30a, 468 => 'FocalLength' },
|
|
2656
2657
|
'focallength2' => { 411 => [0x23,0x25,0x29] },
|
|
@@ -3276,6 +3277,7 @@ my %tagLookup = (
|
|
|
3276
3277
|
'isoexpansion' => { 81 => 0x103, 82 => 0x7, 83 => 0x8, 86 => 0x8, 210 => 0x4 },
|
|
3277
3278
|
'isoexpansion2' => { 210 => 0xa },
|
|
3278
3279
|
'isofloor' => { 322 => 0x6 },
|
|
3280
|
+
'isoselected' => { 305 => 0x359 },
|
|
3279
3281
|
'isoselection' => { 219 => 0xf },
|
|
3280
3282
|
'isosensitivitystep' => { 274 => '6.2', 276 => '6.2' },
|
|
3281
3283
|
'isosetting' => { 136 => 0x5e, 148 => 0x14, 152 => 'ISOSetting', 176 => 0x24, 177 => 0x26, 178 => 0x1c, 179 => 0x13, 184 => 0x6, 219 => 0x13, 322 => '17.3', 372 => 0x27, 393 => 0x16, 394 => 0x14, 395 => 0x2, 404 => 0x6d, 405 => 0x0 },
|
|
@@ -5848,7 +5850,7 @@ my %tagLookup = (
|
|
|
5848
5850
|
'userdef3picturestyle' => { 19 => 0x110, 67 => 0xdc, 68 => 0xf4 },
|
|
5849
5851
|
'userfields' => { 455 => 'UserFields' },
|
|
5850
5852
|
'userlabel' => { 367 => 0x2b, 368 => 0x5a, 369 => 0x68 },
|
|
5851
|
-
'userprofile' => { 301 => 0x302, 308 => 0x3038 },
|
|
5853
|
+
'userprofile' => { 301 => 0x302, 305 => 0x34c, 308 => 0x3038 },
|
|
5852
5854
|
'userrating' => { 360 => 'rating.user' },
|
|
5853
5855
|
'usmlenselectronicmf' => { 2 => 0x7, 80 => 0x7, 81 => 0x501 },
|
|
5854
5856
|
'uspsnumber' => { 478 => 'uspsNumber' },
|
|
@@ -6276,7 +6278,6 @@ my %tagExists = (
|
|
|
6276
6278
|
'abstract' => 1,
|
|
6277
6279
|
'abstractfilename' => 1,
|
|
6278
6280
|
'acceldata' => 1,
|
|
6279
|
-
'accelerometerdata' => 1,
|
|
6280
6281
|
'accelerometertime' => 1,
|
|
6281
6282
|
'accessdate' => 1,
|
|
6282
6283
|
'accountname' => 1,
|
|
@@ -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 23357 tags, with 15304 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
|
|
@@ -15167,13 +15167,16 @@ images.
|
|
|
15167
15167
|
|
|
15168
15168
|
=head3 Panasonic Leica9 Tags
|
|
15169
15169
|
|
|
15170
|
-
This information is written by the Leica S (Typ 007).
|
|
15170
|
+
This information is written by the Leica S (Typ 007) and M10 models.
|
|
15171
15171
|
|
|
15172
15172
|
Tag ID Tag Name Writable
|
|
15173
15173
|
------ -------- --------
|
|
15174
15174
|
0x0304 FocusDistance int32u
|
|
15175
15175
|
0x0311 ExternalSensorBrightnessValue rational64s
|
|
15176
15176
|
0x0312 MeasuredLV rational64s
|
|
15177
|
+
0x034c UserProfile string
|
|
15178
|
+
0x0359 ISOSelected int32s
|
|
15179
|
+
0x035a FNumber int32s
|
|
15177
15180
|
|
|
15178
15181
|
=head3 Panasonic Type2 Tags
|
|
15179
15182
|
|
|
@@ -26176,6 +26179,7 @@ the config file.
|
|
|
26176
26179
|
'titl' Title string/
|
|
26177
26180
|
'urat' UserRating no
|
|
26178
26181
|
'vndr' Vendor string
|
|
26182
|
+
'vrot' AccelerometerData no
|
|
26179
26183
|
'yrrc' Year no
|
|
26180
26184
|
"\xa9ART" Artist string
|
|
26181
26185
|
"\xa9TIM" StartTimecode string
|
|
@@ -49,7 +49,7 @@ use Image::ExifTool::Exif;
|
|
|
49
49
|
use Image::ExifTool::GPS;
|
|
50
50
|
require Exporter;
|
|
51
51
|
|
|
52
|
-
$VERSION = '3.
|
|
52
|
+
$VERSION = '3.32';
|
|
53
53
|
@ISA = qw(Exporter);
|
|
54
54
|
@EXPORT_OK = qw(EscapeXML UnescapeXML);
|
|
55
55
|
|
|
@@ -3047,8 +3047,20 @@ sub FoundXMP($$$$;$)
|
|
|
3047
3047
|
if ($$tagTablePtr{NAMESPACE}) {
|
|
3048
3048
|
$tagID = $tag;
|
|
3049
3049
|
} else {
|
|
3050
|
+
$xns = $xmpNS{$ns};
|
|
3051
|
+
unless (defined $xns) {
|
|
3052
|
+
$xns = $ns;
|
|
3053
|
+
# validate namespace prefix
|
|
3054
|
+
unless ($ns =~ /^[A-Z_a-z\x80-\xff][-.0-9A-Z_a-z\x80-\xff]*$/ or $ns eq '') {
|
|
3055
|
+
$et->Warn("Invalid XMP namespace prefix '${ns}'");
|
|
3056
|
+
# clean up prefix for use as an ExifTool group name
|
|
3057
|
+
$ns =~ tr/-.0-9A-Z_a-z\x80-\xff//dc;
|
|
3058
|
+
$ns =~ /^[A-Z_a-z\x80-\xff]/ or $ns = "ns_$ns";
|
|
3059
|
+
$stdXlatNS{$xns} = $ns;
|
|
3060
|
+
$xmpNS{$ns} = $xns;
|
|
3061
|
+
}
|
|
3062
|
+
}
|
|
3050
3063
|
# add XMP namespace prefix to avoid collisions in variable-namespace tables
|
|
3051
|
-
$xns = $xmpNS{$ns} || $ns;
|
|
3052
3064
|
$tagID = "$xns:$tag";
|
|
3053
3065
|
# add namespace to top-level structure property
|
|
3054
3066
|
$structProps[0][0] = "$xns:" . $structProps[0][0] if @structProps;
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: exiftool_vendored
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 11.
|
|
4
|
+
version: 11.92.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Matthew McEachen
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2020-03-
|
|
12
|
+
date: 2020-03-19 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: exiftool
|