exiftool_vendored 11.84.0 → 11.86.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of exiftool_vendored might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/bin/Changes +24 -4
- data/bin/MANIFEST +1 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +3 -2
- data/bin/config_files/acdsee.config +73 -0
- data/bin/exiftool +10 -2
- data/bin/fmt_files/kml.fmt +4 -4
- data/bin/lib/Image/ExifTool.pm +18 -9
- data/bin/lib/Image/ExifTool.pod +30 -30
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +8 -8
- data/bin/lib/Image/ExifTool/Canon.pm +4 -2
- data/bin/lib/Image/ExifTool/Exif.pm +64 -4
- data/bin/lib/Image/ExifTool/FlashPix.pm +28 -28
- data/bin/lib/Image/ExifTool/FujiFilm.pm +2 -1
- data/bin/lib/Image/ExifTool/JPEG.pm +8 -5
- data/bin/lib/Image/ExifTool/Lang/de.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/it.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/pl.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/ru.pm +2 -2
- data/bin/lib/Image/ExifTool/MakerNotes.pm +1 -2
- data/bin/lib/Image/ExifTool/Nikon.pm +8 -5
- data/bin/lib/Image/ExifTool/Olympus.pm +2 -1
- data/bin/lib/Image/ExifTool/Pentax.pm +3 -1
- data/bin/lib/Image/ExifTool/QuickTime.pm +13 -2
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +73 -16
- data/bin/lib/Image/ExifTool/Sony.pm +4 -1
- data/bin/lib/Image/ExifTool/TagLookup.pm +9 -0
- data/bin/lib/Image/ExifTool/TagNames.pod +26 -10
- data/bin/lib/Image/ExifTool/WritePhotoshop.pl +4 -0
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +27 -10
- data/bin/lib/Image/ExifTool/Writer.pl +2 -2
- data/bin/perl-Image-ExifTool.spec +1 -1
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b8b2a35941a1be46ec6f6ec706a1f786697c565b
|
4
|
+
data.tar.gz: 610e367b1525b9f47bdd8081cbb74e78b5202c15
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 412cc259f036526b23e5c6de1e9f960420c726fb52bcb230e310aea4d3cdcaa5d515ba4b5defc0dec28bc9eec52a031aacadf6de29b487b8d68b7c2aae5b97cd
|
7
|
+
data.tar.gz: 3a3d6888e8e2eb99bcc744a50f29dbe4fd210fe2127af4201a07a6452306ae20f962bea8584afc84ee585db127f1a53c20635f5338446af07019f1cca49d42e4
|
data/bin/Changes
CHANGED
@@ -4,12 +4,32 @@ ExifTool Version History
|
|
4
4
|
|
5
5
|
RSS feed: https://exiftool.org/rss.xml
|
6
6
|
|
7
|
-
|
8
|
-
forum responses from me during this period - PH)
|
9
|
-
|
10
|
-
Note: The most recent production release is Version 11.70. (Other versions are
|
7
|
+
Note: The most recent production release is Version 11.85. (Other versions are
|
11
8
|
considered development releases, and are not uploaded to CPAN.)
|
12
9
|
|
10
|
+
Feb. 4, 2020 - Version 11.86
|
11
|
+
|
12
|
+
- Added support for DNG version 1.5
|
13
|
+
- Added config_files/acdsee.config to the full distribution (thanks StarGeek)
|
14
|
+
- Added a new Sony LensType (thanks Jos Roost and LibRaw)
|
15
|
+
- Decode two more bits in Nikon LensType (thanks LibRaw)
|
16
|
+
- Decode QuickTime MovieFragmentSequence
|
17
|
+
- Patched HEIC writer to add missing iref box if necessary
|
18
|
+
- Fixed typo in a Canon LensType value
|
19
|
+
- API Changes:
|
20
|
+
- Patched ImageInfo() to recognize a stringified object as a file name
|
21
|
+
|
22
|
+
Jan. 28, 2020 - Version 11.85 (production release)
|
23
|
+
|
24
|
+
- Added a new Sony LensType (thanks Jos Roost)
|
25
|
+
- Added a new Olympus CameraType (thanks LibRaw)
|
26
|
+
- Added a two new Pentax LensType values
|
27
|
+
- Added a new FujiFilm FocusMode
|
28
|
+
- Decode timed GPS from Akaso dashcam MOV videos
|
29
|
+
- Decode Insta360 trailer from INSP images and made Insta360 a deletable group
|
30
|
+
- Patched kml.fmt file to limit maximum image size (thanks Fedor Kotov)
|
31
|
+
- Fixed problem decoding values from Leica M10 and S maker notes
|
32
|
+
|
13
33
|
Jan. 10, 2020 - Version 11.84
|
14
34
|
|
15
35
|
- Decode accelerometer data from timed metadata of more dashcam videos
|
data/bin/MANIFEST
CHANGED
data/bin/META.json
CHANGED
data/bin/META.yml
CHANGED
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.86.tar.gz | tar -xf -
|
109
|
+
cd Image-ExifTool-11.86
|
110
110
|
./exiftool t/images/ExifTool.jpg
|
111
111
|
|
112
112
|
Note: These commands extract meta information from one of the test images.
|
@@ -189,6 +189,7 @@ distribution package:
|
|
189
189
|
xmp2iptc.args - Arguments for converting XMP to IPTC
|
190
190
|
xmp2pdf.args - Arguments for converting XMP to PDF
|
191
191
|
config_files/ - Sample ExifTool configuration files:
|
192
|
+
acdsee.config - Definitions for writing ACDSEE XMP regions
|
192
193
|
age.config - Calculate Age of person in photo
|
193
194
|
bibble.config - Definitions for writing Bibble XMP tags
|
194
195
|
convert_regions.config - Convert between MWG, MP and IPTC regions
|
@@ -0,0 +1,73 @@
|
|
1
|
+
#------------------------------------------------------------------------------
|
2
|
+
# File: acdsee.config
|
3
|
+
#
|
4
|
+
# Description: This config file defines acdsee XMP region tags for writing.
|
5
|
+
#
|
6
|
+
# Usage: exiftool -config acdsee.config -ACDSEETAG=VALUE FILE ...
|
7
|
+
#
|
8
|
+
# Requires: ExifTool version 10.28 or later
|
9
|
+
#
|
10
|
+
# Revisions: 2020/01/28 - Bryan K. Williams (aka StarGeek) Created
|
11
|
+
#------------------------------------------------------------------------------
|
12
|
+
|
13
|
+
my %sACDSeeDimensions = (
|
14
|
+
STRUCT_NAME => 'ACDSee Dimensions',
|
15
|
+
NAMESPACE => {'acdsee-stDim' => 'http://ns.acdsee.com/sType/Dimensions#'},
|
16
|
+
'w' => { Writable => 'real' },
|
17
|
+
'h' => { Writable => 'real' },
|
18
|
+
'unit' => { },
|
19
|
+
);
|
20
|
+
|
21
|
+
my %sACDSeeArea = (
|
22
|
+
STRUCT_NAME => 'ACDSee Area',
|
23
|
+
NAMESPACE => { 'acdsee-stArea' => 'http://ns.acdsee.com/sType/Area#' },
|
24
|
+
'x' => { Writable => 'real' },
|
25
|
+
'y' => { Writable => 'real' },
|
26
|
+
w => { Writable => 'real' },
|
27
|
+
h => { Writable => 'real' },
|
28
|
+
);
|
29
|
+
|
30
|
+
my %sACDSeeRegionStruct = (
|
31
|
+
STRUCT_NAME => 'ACDSee Regions',
|
32
|
+
NAMESPACE => { 'acdsee-rs' => 'http://ns.acdsee.com/regions/' },
|
33
|
+
ALGArea => { Struct => \%sACDSeeArea },
|
34
|
+
DLYArea => { Struct => \%sACDSeeArea },
|
35
|
+
Name => { },
|
36
|
+
NameAssignType => { },
|
37
|
+
Type => { },
|
38
|
+
);
|
39
|
+
|
40
|
+
%Image::ExifTool::UserDefined = (
|
41
|
+
# new XMP namespaces (eg. xxx) must be added to the Main XMP table:
|
42
|
+
'Image::ExifTool::XMP::Main' => {
|
43
|
+
'acdsee-rs' => { # <-- must be the same as the NAMESPACE prefix
|
44
|
+
SubDirectory => {
|
45
|
+
TagTable => 'Image::ExifTool::UserDefined::ACDSeeRegions'
|
46
|
+
},
|
47
|
+
},
|
48
|
+
},
|
49
|
+
);
|
50
|
+
|
51
|
+
%Image::ExifTool::UserDefined::ACDSeeRegions = (
|
52
|
+
GROUPS => { 0 => 'XMP', 1 => 'XMP-acdsee', 2 => 'Image' },
|
53
|
+
NAMESPACE => { 'acdsee-rs' => 'http://ns.acdsee.com/regions/' },
|
54
|
+
WRITABLE => 'string', # (default to string-type tags)
|
55
|
+
Regions => {
|
56
|
+
Name => 'RegionInfoACDSee',
|
57
|
+
# the "Struct" entry defines the structure fields
|
58
|
+
Struct => {
|
59
|
+
# NAMESPACE => { 'acdsee-rs' => 'http://ns.acdsee.com/regions/' },
|
60
|
+
# optional structure name (used for warning messages only)
|
61
|
+
STRUCT_NAME => 'ACDSee RegionInfo',
|
62
|
+
RegionList => {
|
63
|
+
#FlatName => 'Region',
|
64
|
+
Struct => \%sACDSeeRegionStruct,
|
65
|
+
List => 'Bag',
|
66
|
+
},
|
67
|
+
AppliedToDimensions => { Struct => \%sACDSeeDimensions },
|
68
|
+
},
|
69
|
+
},
|
70
|
+
);
|
71
|
+
|
72
|
+
#------------------------------------------------------------------------------
|
73
|
+
1; #end
|
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.86';
|
14
14
|
|
15
15
|
# add our 'lib' directory to the include list BEFORE 'use Image::ExifTool'
|
16
16
|
my $exeDir;
|
@@ -5193,7 +5193,7 @@ with this command:
|
|
5193
5193
|
|
5194
5194
|
produces output like this:
|
5195
5195
|
|
5196
|
-
-- Generated by ExifTool 11.
|
5196
|
+
-- Generated by ExifTool 11.86 --
|
5197
5197
|
File: a.jpg - 2003:10:31 15:44:19
|
5198
5198
|
(f/5.6, 1/60s, ISO 100)
|
5199
5199
|
File: b.jpg - 2006:05:23 11:57:38
|
@@ -6357,6 +6357,14 @@ there are three cases where file write permission is also required:
|
|
6357
6357
|
B<-overwrite_original> option is used, or b) the C<_original> backup already
|
6358
6358
|
exists.
|
6359
6359
|
|
6360
|
+
Hidden files in Windows behave as read-only files when attemping to write
|
6361
|
+
any real tags to the file -- an error is generated when using the
|
6362
|
+
B<-overwrite_original_in_place>, otherwise writing should be successful and
|
6363
|
+
the hidden attribute will be removed. But the B<-if> option may be used to
|
6364
|
+
avoid processing hidden files (provided Win32API::File is available):
|
6365
|
+
|
6366
|
+
exiftool -if "$fileattributes !~ /Hidden/" ...
|
6367
|
+
|
6360
6368
|
=head1 READING EXAMPLES
|
6361
6369
|
|
6362
6370
|
B<Note>: Beware when cutting and pasting these examples into your terminal!
|
data/bin/fmt_files/kml.fmt
CHANGED
@@ -12,6 +12,7 @@
|
|
12
12
|
# 2013/02/05 - PH Fixed camera icon to work with new Google Earth
|
13
13
|
# 2017/02/02 - PH Organize into folders based on file directory
|
14
14
|
# 2018/01/04 - PH Added IF to be sure position exists
|
15
|
+
# 2020/01/11 - F. Kotov Limited image preview size to 500px
|
15
16
|
#
|
16
17
|
# Notes: 1) Input files must contain GPSLatitude and GPSLongitude.
|
17
18
|
# 2) Add the -ee option to extract the full track from video files.
|
@@ -42,10 +43,9 @@
|
|
42
43
|
#[SECT] <open>0</open>
|
43
44
|
#[IF] $gpslatitude $gpslongitude
|
44
45
|
#[BODY] <Placemark>
|
45
|
-
#[BODY] <description><![CDATA[<
|
46
|
-
#[BODY]
|
47
|
-
#[BODY]
|
48
|
-
#[BODY] </td></tr></table>]]></description>
|
46
|
+
#[BODY] <description><![CDATA[<img src='$main:directory/$main:filename'
|
47
|
+
#[BODY] style='max-width:500px;max-height:500px;'> ]]>
|
48
|
+
#[BODY] </description>
|
49
49
|
#[BODY] <Snippet/>
|
50
50
|
#[BODY] <name>$filename</name>
|
51
51
|
#[BODY] <styleUrl>#Photo</styleUrl>
|
data/bin/lib/Image/ExifTool.pm
CHANGED
@@ -19,6 +19,7 @@ use strict;
|
|
19
19
|
require 5.004; # require 5.004 for UNIVERSAL::isa (otherwise 5.002 would do)
|
20
20
|
require Exporter;
|
21
21
|
use File::RandomAccess;
|
22
|
+
use overload;
|
22
23
|
|
23
24
|
use vars qw($VERSION $RELEASE @ISA @EXPORT_OK %EXPORT_TAGS $AUTOLOAD @fileTypes
|
24
25
|
%allTables @tableOrder $exifAPP1hdr $xmpAPP1hdr $xmpExtAPP1hdr
|
@@ -27,7 +28,7 @@ use vars qw($VERSION $RELEASE @ISA @EXPORT_OK %EXPORT_TAGS $AUTOLOAD @fileTypes
|
|
27
28
|
%mimeType $swapBytes $swapWords $currentByteOrder %unpackStd
|
28
29
|
%jpegMarker %specialTags %fileTypeLookup $testLen);
|
29
30
|
|
30
|
-
$VERSION = '11.
|
31
|
+
$VERSION = '11.86';
|
31
32
|
$RELEASE = '';
|
32
33
|
@ISA = qw(Exporter);
|
33
34
|
%EXPORT_TAGS = (
|
@@ -4046,7 +4047,7 @@ sub ParseArguments($;@)
|
|
4046
4047
|
# handle our input arguments
|
4047
4048
|
while (@_) {
|
4048
4049
|
my $arg = shift;
|
4049
|
-
if (ref $arg) {
|
4050
|
+
if (ref $arg and not overload::Method($arg, q[""])) {
|
4050
4051
|
if (ref $arg eq 'ARRAY') {
|
4051
4052
|
$$self{IO_TAG_LIST} = $arg;
|
4052
4053
|
foreach (@$arg) {
|
@@ -5748,6 +5749,8 @@ sub IdentifyTrailer($;$)
|
|
5748
5749
|
$type = 'MIE';
|
5749
5750
|
} elsif ($buff =~ /\0\0(QDIOBS|SEFT)$/) {
|
5750
5751
|
$type = 'Samsung';
|
5752
|
+
} elsif ($buff =~ /8db42d694ccc418790edff439fe026bf$/s) {
|
5753
|
+
$type = 'Insta360';
|
5751
5754
|
}
|
5752
5755
|
last;
|
5753
5756
|
}
|
@@ -5779,9 +5782,14 @@ sub ProcessTrailers($$)
|
|
5779
5782
|
my $path = $$self{PATH};
|
5780
5783
|
|
5781
5784
|
for (;;) { # loop through all trailers
|
5782
|
-
|
5783
|
-
|
5784
|
-
|
5785
|
+
my ($proc, $outBuff);
|
5786
|
+
if ($dirName eq 'Insta360') {
|
5787
|
+
require "Image/ExifTool/QuickTimeStream.pl";
|
5788
|
+
$proc = 'Image::ExifTool::QuickTime::ProcessInsta360';
|
5789
|
+
} else {
|
5790
|
+
require "Image/ExifTool/$dirName.pm";
|
5791
|
+
$proc = "Image::ExifTool::${dirName}::Process$dirName";
|
5792
|
+
}
|
5785
5793
|
if ($outfile) {
|
5786
5794
|
# write to local buffer so we can add trailer in proper order later
|
5787
5795
|
$$outfile and $$dirInfo{OutFile} = \$outBuff, $outBuff = '';
|
@@ -5796,8 +5804,9 @@ sub ProcessTrailers($$)
|
|
5796
5804
|
push @$path, 'Trailer', $dirName;
|
5797
5805
|
|
5798
5806
|
# read or write this trailer
|
5799
|
-
# (proc takes Offset as offset from end of trailer to end of file,
|
5800
|
-
# and returns DataPos and DirLen, and Fixup if applicable
|
5807
|
+
# (proc takes Offset as positive offset from end of trailer to end of file,
|
5808
|
+
# and returns DataPos and DirLen, and Fixup if applicable, and updates
|
5809
|
+
# OutFile when writing)
|
5801
5810
|
no strict 'refs';
|
5802
5811
|
my $result = &$proc($self, $dirInfo);
|
5803
5812
|
use strict 'refs';
|
@@ -7274,8 +7283,8 @@ sub DoProcessTIFF($$;$)
|
|
7274
7283
|
# check DNG version
|
7275
7284
|
if ($$self{DNGVersion}) {
|
7276
7285
|
my $ver = $$self{DNGVersion};
|
7277
|
-
# currently support up to DNG version 1.
|
7278
|
-
unless ($ver =~ /^(\d+) (\d+)/ and "$1.$2" <= 1.
|
7286
|
+
# currently support up to DNG version 1.5
|
7287
|
+
unless ($ver =~ /^(\d+) (\d+)/ and "$1.$2" <= 1.5) {
|
7279
7288
|
$ver =~ tr/ /./;
|
7280
7289
|
$self->Error("DNG Version $ver not yet tested", 1);
|
7281
7290
|
}
|
data/bin/lib/Image/ExifTool.pod
CHANGED
@@ -2240,7 +2240,7 @@ MNG, MOI, MPC, MPEG, MPF, MXF, MakerNotes, Matroska, Meta, Ogg, OpenEXR,
|
|
2240
2240
|
Opus, PDF, PICT, PLIST, PNG, PSP, Palm, Parrot, PanasonicRaw, PhotoCD,
|
2241
2241
|
PhotoMechanic, Photoshop, PostScript, PrintIM, QuickTime, RAF, RIFF, RSRC,
|
2242
2242
|
RTF, Radiance, Rawzor, Real, Red, SVG, SigmaRaw, Stim, Theora, Torrent,
|
2243
|
-
VCard, Vorbis, WTV, XML, XMP, ZIP
|
2243
|
+
Trailer, VCard, Vorbis, WTV, XML, XMP, ZIP
|
2244
2244
|
|
2245
2245
|
=item Family 1 (Specific Location):
|
2246
2246
|
|
@@ -2252,35 +2252,35 @@ FotoStation, FujiFilm, FujiIFD, GE, GIF, GIMP, GPS, GeoTiff, GlobParamIFD,
|
|
2252
2252
|
GoPro, GraphConv, H264, HP, HTC, HTML, HTML-dc, HTML-ncc, HTML-office,
|
2253
2253
|
HTML-prod, HTML-vw96, HTTP-equiv, ICC-chrm, ICC-clrt, ICC-header, ICC-meas,
|
2254
2254
|
ICC-meta, ICC-view, ICC_Profile, ICC_Profile#, ID3, ID3v1, ID3v1_Enh,
|
2255
|
-
ID3v2_2, ID3v2_3, ID3v2_4, IFD0, IFD1, IPTC, IPTC#, ISO, ITC,
|
2256
|
-
ItemList, JFIF, JFXX, JPEG, JPEG-HDR, JSON, JVC, Jpeg2000,
|
2257
|
-
Kodak, KodakBordersIFD, KodakEffectsIFD, KodakIFD,
|
2258
|
-
LeafSubIFD, Leica, Lytro, M2TS, MAC, MIE-Audio,
|
2259
|
-
MIE-
|
2260
|
-
MIE-
|
2261
|
-
MIE-UTM, MIE-Unknown, MIE-Video, MIFF, MNG,
|
2262
|
-
MPImage, MS-DOC, MXF, MacOS, MakerNotes,
|
2263
|
-
MediaJukebox, Meta, MetaIFD, Microsoft, Minolta,
|
2264
|
-
|
2265
|
-
OpenEXR, Opus, PDF, PICT, PNG, PNG-pHYs, PSP,
|
2266
|
-
Pentax, PhaseOne, PhotoCD, PhotoMechanic,
|
2267
|
-
PostScript, PreviewIFD, PrintIM, ProfileIFD,
|
2268
|
-
RIFF, RMETA, RSRC, RTF, Radiance, Rawzor,
|
2269
|
-
Real
|
2270
|
-
|
2271
|
-
Sigma, SigmaRaw, Sony, SonyIDC, Stim, SubIFD,
|
2272
|
-
Track#, UserData, VCalendar, VCard, Version0,
|
2273
|
-
|
2274
|
-
XMP-
|
2275
|
-
XMP-
|
2276
|
-
XMP-creatorAtom, XMP-crs, XMP-dc, XMP-dex, XMP-digiKam,
|
2277
|
-
XMP-
|
2278
|
-
XMP-
|
2279
|
-
XMP-microsoft, XMP-mwg-coll, XMP-mwg-kw, XMP-mwg-rs,
|
2280
|
-
XMP-
|
2281
|
-
XMP-
|
2282
|
-
XMP-
|
2283
|
-
ZIP
|
2255
|
+
ID3v2_2, ID3v2_3, ID3v2_4, IFD0, IFD1, IPTC, IPTC#, ISO, ITC, Insta360,
|
2256
|
+
InteropIFD, ItemList, JFIF, JFXX, JPEG, JPEG-HDR, JSON, JVC, Jpeg2000,
|
2257
|
+
KDC_IFD, Keys, Kodak, KodakBordersIFD, KodakEffectsIFD, KodakIFD,
|
2258
|
+
KyoceraRaw, LNK, Leaf, LeafSubIFD, Leica, Lytro, M2TS, MAC, MIE-Audio,
|
2259
|
+
MIE-Camera, MIE-Canon, MIE-Doc, MIE-Extender, MIE-Flash, MIE-GPS, MIE-Geo,
|
2260
|
+
MIE-Image, MIE-Lens, MIE-Main, MIE-MakerNotes, MIE-Meta, MIE-Orient,
|
2261
|
+
MIE-Preview, MIE-Thumbnail, MIE-UTM, MIE-Unknown, MIE-Video, MIFF, MNG,
|
2262
|
+
MOBI, MOI, MPC, MPEG, MPF0, MPImage, MS-DOC, MXF, MacOS, MakerNotes,
|
2263
|
+
MakerUnknown, Matroska, MediaJukebox, Meta, MetaIFD, Microsoft, Minolta,
|
2264
|
+
MinoltaRaw, Motorola, NITF, Nikon, NikonCapture, NikonCustom, NikonScan,
|
2265
|
+
Nintendo, Ocad, Ogg, Olympus, OpenEXR, Opus, PDF, PICT, PNG, PNG-pHYs, PSP,
|
2266
|
+
Palm, Panasonic, PanasonicRaw, Pentax, PhaseOne, PhotoCD, PhotoMechanic,
|
2267
|
+
Photoshop, PictureInfo, PostScript, PreviewIFD, PrintIM, ProfileIFD,
|
2268
|
+
Qualcomm, QuickTime, RAF, RAF2, RIFF, RMETA, RSRC, RTF, Radiance, Rawzor,
|
2269
|
+
Real, Real-CONT, Real-MDPR, Real-PROP, Real-RA3, Real-RA4, Real-RA5,
|
2270
|
+
Real-RJMD, Reconyx, Red, Ricoh, SPIFF, SR2, SR2DataIFD, SR2SubIFD, SRF#,
|
2271
|
+
SVG, Samsung, Sanyo, Scalado, Sigma, SigmaRaw, Sony, SonyIDC, Stim, SubIFD,
|
2272
|
+
System, Theora, Torrent, Track#, UserData, VCalendar, VCard, Version0,
|
2273
|
+
Vorbis, WTV, XML, XMP, XMP-DICOM, XMP-GAudio, XMP-GDepth, XMP-GFocus,
|
2274
|
+
XMP-GImage, XMP-GPano, XMP-GSpherical, XMP-LImage, XMP-MP, XMP-MP1,
|
2275
|
+
XMP-PixelLive, XMP-aas, XMP-acdsee, XMP-album, XMP-apple-fi, XMP-aux,
|
2276
|
+
XMP-cc, XMP-cell, XMP-creatorAtom, XMP-crs, XMP-dc, XMP-dex, XMP-digiKam,
|
2277
|
+
XMP-drone-dji, XMP-dwc, XMP-exif, XMP-exifEX, XMP-expressionmedia,
|
2278
|
+
XMP-extensis, XMP-fpv, XMP-getty, XMP-ics, XMP-iptcCore, XMP-iptcExt,
|
2279
|
+
XMP-lr, XMP-mediapro, XMP-microsoft, XMP-mwg-coll, XMP-mwg-kw, XMP-mwg-rs,
|
2280
|
+
XMP-pdf, XMP-pdfx, XMP-photomech, XMP-photoshop, XMP-plus, XMP-pmi,
|
2281
|
+
XMP-prism, XMP-prl, XMP-prm, XMP-pur, XMP-rdf, XMP-swf, XMP-tiff, XMP-x,
|
2282
|
+
XMP-xmp, XMP-xmpBJ, XMP-xmpDM, XMP-xmpMM, XMP-xmpNote, XMP-xmpPLUS,
|
2283
|
+
XMP-xmpRights, XMP-xmpTPg, ZIP
|
2284
2284
|
|
2285
2285
|
=item Family 2 (Category):
|
2286
2286
|
|
@@ -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.32';
|
39
39
|
@ISA = qw(Exporter);
|
40
40
|
|
41
41
|
sub NumbersFirst($$);
|
@@ -449,13 +449,13 @@ language code to write the default language without deleting alternate
|
|
449
449
|
languages. Note that "eng" is treated as a default language when reading,
|
450
450
|
but not when writing.
|
451
451
|
|
452
|
-
According to the specification,
|
453
|
-
stored as UTC. Unfortunately, digital cameras often store local
|
454
|
-
instead (presumably because they don't know the time zone). For
|
455
|
-
reason, by default ExifTool does not assume a time zone for these
|
456
|
-
However, if the L<QuickTimeUTC|../ExifTool.html#QuickTimeUTC> API option is set, then ExifTool will
|
457
|
-
these values are properly stored as UTC, and will convert them to
|
458
|
-
when extracting.
|
452
|
+
According to the specification, integer-format QuickTime date/time tags
|
453
|
+
should be stored as UTC. Unfortunately, digital cameras often store local
|
454
|
+
time values instead (presumably because they don't know the time zone). For
|
455
|
+
this reason, by default ExifTool does not assume a time zone for these
|
456
|
+
values. However, if the L<QuickTimeUTC|../ExifTool.html#QuickTimeUTC> API option is set, then ExifTool will
|
457
|
+
assume these values are properly stored as UTC, and will convert them to
|
458
|
+
local time when extracting.
|
459
459
|
|
460
460
|
See
|
461
461
|
L<https://developer.apple.com/library/archive/documentation/QuickTime/QTFF/>
|
@@ -88,7 +88,7 @@ sub ProcessCTMD($$$);
|
|
88
88
|
sub ProcessExifInfo($$$);
|
89
89
|
sub SwapWords($);
|
90
90
|
|
91
|
-
$VERSION = '4.
|
91
|
+
$VERSION = '4.34';
|
92
92
|
|
93
93
|
# Note: Removed 'USM' from 'L' lenses since it is redundant - PH
|
94
94
|
# (or is it? Ref 32 shows 5 non-USM L-type lenses)
|
@@ -401,7 +401,7 @@ $VERSION = '4.33';
|
|
401
401
|
195 => 'Canon EF 35-105mm f/4.5-5.6 USM', #32
|
402
402
|
196 => 'Canon EF 75-300mm f/4-5.6 USM', #15/32
|
403
403
|
197 => 'Canon EF 75-300mm f/4-5.6 IS USM or Sigma Lens',
|
404
|
-
197.1 => 'Sigma 18-300mm f/3.5-6.3 DC Macro OS
|
404
|
+
197.1 => 'Sigma 18-300mm f/3.5-6.3 DC Macro OS HSM', #50
|
405
405
|
198 => 'Canon EF 50mm f/1.4 USM or Other Lens',
|
406
406
|
198.1 => 'Zeiss Otus 55mm f/1.4 ZE', #JR (seen only on Sony camera)
|
407
407
|
198.2 => 'Zeiss Otus 85mm f/1.4 ZE', #JR (NC)
|
@@ -1604,6 +1604,8 @@ my %offOn = ( 0 => 'Off', 1 => 'On' );
|
|
1604
1604
|
TagTable => 'Image::ExifTool::Canon::FaceDetect3',
|
1605
1605
|
},
|
1606
1606
|
},
|
1607
|
+
# 0x32 - if length is 768, starting at offset 4 there are 6 RGGB 1/val int16 records:
|
1608
|
+
# daylight,cloudy,tungsten,fluorescent,flash,kelvin (D30 2001, ref IB)
|
1607
1609
|
0x35 => { #PH
|
1608
1610
|
Name => 'TimeInfo',
|
1609
1611
|
SubDirectory => {
|
@@ -56,7 +56,7 @@ use vars qw($VERSION $AUTOLOAD @formatSize @formatName %formatNumber %intFormat
|
|
56
56
|
use Image::ExifTool qw(:DataAccess :Utils);
|
57
57
|
use Image::ExifTool::MakerNotes;
|
58
58
|
|
59
|
-
$VERSION = '4.
|
59
|
+
$VERSION = '4.28';
|
60
60
|
|
61
61
|
sub ProcessExif($$$);
|
62
62
|
sub WriteExif($$$);
|
@@ -264,6 +264,7 @@ sub BINARY_DATA_LIMIT { return 10 * 1024 * 1024; }
|
|
264
264
|
32845 => 'Pixar LogLuv', #3
|
265
265
|
32892 => 'Sequential Color Filter', #JR (Sony ARQ)
|
266
266
|
34892 => 'Linear Raw', #2
|
267
|
+
51177 => 'Depth Map', # (DNG 1.5)
|
267
268
|
);
|
268
269
|
|
269
270
|
%orientation = (
|
@@ -278,7 +279,7 @@ sub BINARY_DATA_LIMIT { return 10 * 1024 * 1024; }
|
|
278
279
|
);
|
279
280
|
|
280
281
|
%subfileType = (
|
281
|
-
0 => 'Full-resolution
|
282
|
+
0 => 'Full-resolution image',
|
282
283
|
1 => 'Reduced-resolution image',
|
283
284
|
2 => 'Single page of multi-page image',
|
284
285
|
3 => 'Single page of multi-page reduced-resolution image',
|
@@ -286,14 +287,17 @@ sub BINARY_DATA_LIMIT { return 10 * 1024 * 1024; }
|
|
286
287
|
5 => 'Transparency mask of reduced-resolution image',
|
287
288
|
6 => 'Transparency mask of multi-page image',
|
288
289
|
7 => 'Transparency mask of reduced-resolution multi-page image',
|
290
|
+
8 => 'Depth map', # (DNG 1.5)
|
291
|
+
9 => 'Depth map of reduced-resolution image', # (DNG 1.5)
|
292
|
+
16 => 'Enhanced image data', # (DNG 1.5)
|
289
293
|
0x10001 => 'Alternate reduced-resolution image', # (DNG 1.2)
|
290
294
|
0xffffffff => 'invalid', #(found in E5700 NEF's)
|
291
295
|
BITMASK => {
|
292
296
|
0 => 'Reduced resolution',
|
293
297
|
1 => 'Single page',
|
294
298
|
2 => 'Transparency mask',
|
295
|
-
3 => 'TIFF/IT final page', #20
|
296
|
-
4 => 'TIFF-FX mixed raster content', #20
|
299
|
+
3 => 'TIFF/IT final page', #20 (repurposed as DepthMap repurposes by DNG 1.5)
|
300
|
+
4 => 'TIFF-FX mixed raster content', #20 (repurposed as EnhancedImageData by DNG 1.5)
|
297
301
|
},
|
298
302
|
);
|
299
303
|
|
@@ -850,6 +854,11 @@ my %opcodeInfo = (
|
|
850
854
|
PrintConv => {
|
851
855
|
1 => 'None',
|
852
856
|
2 => 'Horizontal differencing',
|
857
|
+
3 => 'Floating point', # (DNG 1.5)
|
858
|
+
34892 => 'Horizontal difference X2', # (DNG 1.5)
|
859
|
+
34893 => 'Horizontal difference X4', # (DNG 1.5)
|
860
|
+
34894 => 'Floating point X2', # (DNG 1.5)
|
861
|
+
34895 => 'Floating point X4', # (DNG 1.5)
|
853
862
|
},
|
854
863
|
},
|
855
864
|
0x13e => {
|
@@ -3964,6 +3973,57 @@ my %opcodeInfo = (
|
|
3964
3973
|
},
|
3965
3974
|
},
|
3966
3975
|
# 0xc7d6 - int8u: 1 (SubIFD1 of Nikon Z6/Z7 NEF)
|
3976
|
+
0xc7e9 => { # DNG 1.5
|
3977
|
+
Name => 'DepthFormat',
|
3978
|
+
Writable => 'int16u',
|
3979
|
+
Notes => 'tags 0xc7e9-0xc7ee added by DNG 1.5.0.0',
|
3980
|
+
Protected => 1,
|
3981
|
+
WriteGroup => 'IFD0',
|
3982
|
+
PrintConv => {
|
3983
|
+
0 => 'Unknown',
|
3984
|
+
1 => 'Linear',
|
3985
|
+
2 => 'Inverse',
|
3986
|
+
},
|
3987
|
+
},
|
3988
|
+
0xc7ea => { # DNG 1.5
|
3989
|
+
Name => 'DepthNear',
|
3990
|
+
Writable => 'rational64u',
|
3991
|
+
Protected => 1,
|
3992
|
+
WriteGroup => 'IFD0',
|
3993
|
+
},
|
3994
|
+
0xc7eb => { # DNG 1.5
|
3995
|
+
Name => 'DepthFar',
|
3996
|
+
Writable => 'rational64u',
|
3997
|
+
Protected => 1,
|
3998
|
+
WriteGroup => 'IFD0',
|
3999
|
+
},
|
4000
|
+
0xc7ec => { # DNG 1.5
|
4001
|
+
Name => 'DepthUnits',
|
4002
|
+
Writable => 'int16u',
|
4003
|
+
Protected => 1,
|
4004
|
+
WriteGroup => 'IFD0',
|
4005
|
+
PrintConv => {
|
4006
|
+
0 => 'Unknown',
|
4007
|
+
1 => 'Meters',
|
4008
|
+
},
|
4009
|
+
},
|
4010
|
+
0xc7ed => { # DNG 1.5
|
4011
|
+
Name => 'DepthMeasureType',
|
4012
|
+
Writable => 'int16u',
|
4013
|
+
Protected => 1,
|
4014
|
+
WriteGroup => 'IFD0',
|
4015
|
+
PrintConv => {
|
4016
|
+
0 => 'Unknown',
|
4017
|
+
1 => 'Optical Axis',
|
4018
|
+
2 => 'Optical Ray',
|
4019
|
+
},
|
4020
|
+
},
|
4021
|
+
0xc7ee => { # DNG 1.5
|
4022
|
+
Name => 'EnhanceParams',
|
4023
|
+
Writable => 'string',
|
4024
|
+
Protected => 1,
|
4025
|
+
WriteGroup => 'IFD0',
|
4026
|
+
},
|
3967
4027
|
0xea1c => { #13
|
3968
4028
|
Name => 'Padding',
|
3969
4029
|
Binary => 1,
|