exiftool_vendored 11.71.0 → 11.75.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 +39 -0
- data/bin/MANIFEST +17 -4
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +23 -26
- data/bin/config_files/convert_regions.config +139 -5
- data/bin/exiftool +21 -21
- data/bin/fmt_files/gpx.fmt +2 -1
- data/bin/fmt_files/gpx_wpt.fmt +2 -1
- data/bin/fmt_files/kml.fmt +2 -2
- data/bin/fmt_files/kml_track.fmt +46 -0
- data/bin/lib/Image/ExifTool.pm +42 -33
- data/bin/lib/Image/ExifTool.pod +21 -21
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +2 -2
- data/bin/lib/Image/ExifTool/Canon.pm +2 -1
- data/bin/lib/Image/ExifTool/CanonCustom.pm +30 -4
- data/bin/lib/Image/ExifTool/Exif.pm +36 -63
- data/bin/lib/Image/ExifTool/FujiFilm.pm +1 -0
- data/bin/lib/Image/ExifTool/Lang/ru.pm +4233 -503
- data/bin/lib/Image/ExifTool/MakerNotes.pm +6 -12
- data/bin/lib/Image/ExifTool/Nikon.pm +2 -1
- data/bin/lib/Image/ExifTool/Olympus.pm +2 -1
- data/bin/lib/Image/ExifTool/OpenEXR.pm +1 -1
- data/bin/lib/Image/ExifTool/Parrot.pm +751 -0
- data/bin/lib/Image/ExifTool/Photoshop.pm +12 -11
- data/bin/lib/Image/ExifTool/QuickTime.pm +18 -5
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +316 -44
- data/bin/lib/Image/ExifTool/Shortcuts.pm +1 -2
- data/bin/lib/Image/ExifTool/Sigma.pm +72 -55
- data/bin/lib/Image/ExifTool/TagLookup.pm +73 -7
- data/bin/lib/Image/ExifTool/TagNames.pod +249 -18
- data/bin/lib/Image/ExifTool/Text.pm +160 -0
- data/bin/lib/Image/ExifTool/WriteXMP.pl +1 -2
- data/bin/lib/Image/ExifTool/Writer.pl +1 -1
- data/bin/lib/Image/ExifTool/XMP.pm +19 -26
- data/bin/lib/Image/ExifTool/XMP2.pl +46 -9
- data/bin/lib/Image/ExifTool/XMPStruct.pl +14 -4
- data/bin/perl-Image-ExifTool.spec +19 -19
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +6 -7
- data/bin/config_files/blueskysea.config +0 -101
- data/bin/config_files/dji.config +0 -131
- data/bin/config_files/mini0806.config +0 -99
- data/bin/config_files/thinkware.config +0 -144
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 916afc91f8aba69fd7ffbac7df145937993a1fcb
|
4
|
+
data.tar.gz: 3ed8d285daa9ce5b22f965fb92780dd1e8fa0899
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cd3cb7c499f9ec1c8b9849cec96214428f8d44cd74e6c991d8570b2bd0ab8b523ac4f52caa6c507fd177404d3d4e65a1ca65e959719a8788dd22187dc8867f21
|
7
|
+
data.tar.gz: 2fa0d6559cc17806860c2125d211ef02cea3b553f77f380683bcb3a4d0a3e9d8b249a1b37eee4f63aa470734405956dd98fc94b5ae22d8e0c692fa32eb48de99
|
data/bin/Changes
CHANGED
@@ -7,6 +7,45 @@ RSS feed: http://owl.phy.queensu.ca/~phil/exiftool/rss.xml
|
|
7
7
|
Note: The most recent production release is Version 11.70. (Other versions are
|
8
8
|
considered development releases, and are not uploaded to CPAN.)
|
9
9
|
|
10
|
+
Nov. 4, 2019 - Version 11.75
|
11
|
+
|
12
|
+
- Added ability to read some basic characteristics of TXT files
|
13
|
+
- Added kml_track.fmt to the fmt_files of the full distribution
|
14
|
+
- Added built-in support for decoding GPS from the four video subtitle text
|
15
|
+
formats that were previously handled by separate config files, and removed
|
16
|
+
these config files from the distribution
|
17
|
+
- Derive GPSDateTime from CreateDate and SampleTime if not already available
|
18
|
+
when extracting timed GPS metadata from QuickTime-format videos
|
19
|
+
- Changed family 2 groups of some Extra tags
|
20
|
+
|
21
|
+
Oct. 29, 2019 - Version 11.74
|
22
|
+
|
23
|
+
- Added support for new XMP IPTC Extension version 1.5 tags
|
24
|
+
- Added a new Nikon LensID (thanks LibRaw)
|
25
|
+
- Decode GPS track from Auto-Vox dashcam MOV videos
|
26
|
+
- Improved Russian translations (thanks Andrei Korzhyts and Alexander)
|
27
|
+
- Enhanced convert_regions.config to support new IPTC Extension 1.5 ImageRegion
|
28
|
+
- Changed the way the FlatName element works when used in a structure element
|
29
|
+
(the structure name is now added as a prefix to the flattened tag name)
|
30
|
+
- Patched gpx.fmt and gpx_wpt.fmt to support sub-seconds in GPSDateTime value
|
31
|
+
|
32
|
+
Oct. 23, 2019 - Version 11.73
|
33
|
+
|
34
|
+
- Decode timed metadata from Parrot drone videos
|
35
|
+
- Patched dji.config file to properly handle time zones
|
36
|
+
- Fixed bug which caused runtime error when reading timed metadata from Cobra
|
37
|
+
Dash Cam AVI videos
|
38
|
+
|
39
|
+
Oct. 22, 2019 - Version 11.72
|
40
|
+
|
41
|
+
- Added warning messages for corrupted Photoshop document data
|
42
|
+
- Added a new Olympus CameraType
|
43
|
+
- Added a new Canon LensType
|
44
|
+
- Decode more Sigma tags
|
45
|
+
- Improved Russian translations (thanks Alexander)
|
46
|
+
- Updated decoding of some CanonCustom settings for recent models
|
47
|
+
- Documented DNG OpcodeList values
|
48
|
+
|
10
49
|
Oct. 16, 2019 - Version 11.71
|
11
50
|
|
12
51
|
- Added a new Sony LensType (thanks Jos Roost)
|
data/bin/MANIFEST
CHANGED
@@ -17,24 +17,21 @@ arg_files/xmp2iptc.args
|
|
17
17
|
arg_files/xmp2pdf.args
|
18
18
|
config_files/age.config
|
19
19
|
config_files/bibble.config
|
20
|
-
config_files/blueskysea.config
|
21
20
|
config_files/convert_regions.config
|
22
|
-
config_files/dji.config
|
23
21
|
config_files/example.config
|
24
22
|
config_files/fotoware.config
|
25
23
|
config_files/gps2utm.config
|
26
|
-
config_files/mini0806.config
|
27
24
|
config_files/nksc.config
|
28
25
|
config_files/photoshop_paths.config
|
29
26
|
config_files/picasa_faces.config
|
30
27
|
config_files/rotate_regions.config
|
31
|
-
config_files/thinkware.config
|
32
28
|
config_files/tiff_version.config
|
33
29
|
config_files/time_zone.config
|
34
30
|
exiftool
|
35
31
|
fmt_files/gpx.fmt
|
36
32
|
fmt_files/gpx_wpt.fmt
|
37
33
|
fmt_files/kml.fmt
|
34
|
+
fmt_files/kml_track.fmt
|
38
35
|
html/ExifTool.html
|
39
36
|
html/MIE1.1-20070121.pdf
|
40
37
|
html/Shift.html
|
@@ -132,6 +129,7 @@ html/TagNames/PSP.html
|
|
132
129
|
html/TagNames/Palm.html
|
133
130
|
html/TagNames/Panasonic.html
|
134
131
|
html/TagNames/PanasonicRaw.html
|
132
|
+
html/TagNames/Parrot.html
|
135
133
|
html/TagNames/Pentax.html
|
136
134
|
html/TagNames/PhaseOne.html
|
137
135
|
html/TagNames/PhotoCD.html
|
@@ -159,6 +157,7 @@ html/TagNames/SigmaRaw.html
|
|
159
157
|
html/TagNames/Sony.html
|
160
158
|
html/TagNames/SonyIDC.html
|
161
159
|
html/TagNames/Stim.html
|
160
|
+
html/TagNames/Text.html
|
162
161
|
html/TagNames/Theora.html
|
163
162
|
html/TagNames/Torrent.html
|
164
163
|
html/TagNames/Unknown.html
|
@@ -351,6 +350,7 @@ lib/Image/ExifTool/PSP.pm
|
|
351
350
|
lib/Image/ExifTool/Palm.pm
|
352
351
|
lib/Image/ExifTool/Panasonic.pm
|
353
352
|
lib/Image/ExifTool/PanasonicRaw.pm
|
353
|
+
lib/Image/ExifTool/Parrot.pm
|
354
354
|
lib/Image/ExifTool/Pentax.pm
|
355
355
|
lib/Image/ExifTool/PhaseOne.pm
|
356
356
|
lib/Image/ExifTool/PhotoCD.pm
|
@@ -384,6 +384,7 @@ lib/Image/ExifTool/Stim.pm
|
|
384
384
|
lib/Image/ExifTool/TagInfoXML.pm
|
385
385
|
lib/Image/ExifTool/TagLookup.pm
|
386
386
|
lib/Image/ExifTool/TagNames.pod
|
387
|
+
lib/Image/ExifTool/Text.pm
|
387
388
|
lib/Image/ExifTool/Theora.pm
|
388
389
|
lib/Image/ExifTool/Torrent.pm
|
389
390
|
lib/Image/ExifTool/Unknown.pm
|
@@ -785,6 +786,12 @@ t/Sony_2.out
|
|
785
786
|
t/Sony_3.out
|
786
787
|
t/Sony_5.out
|
787
788
|
t/TestLib.pm
|
789
|
+
t/Text.t
|
790
|
+
t/Text_2.out
|
791
|
+
t/Text_3.out
|
792
|
+
t/Text_4.out
|
793
|
+
t/Text_5.out
|
794
|
+
t/Text_6.out
|
788
795
|
t/Torrent.t
|
789
796
|
t/Torrent_2.out
|
790
797
|
t/Unknown.t
|
@@ -891,6 +898,7 @@ t/XMP_5.out
|
|
891
898
|
t/XMP_50.out
|
892
899
|
t/XMP_52.out
|
893
900
|
t/XMP_53.out
|
901
|
+
t/XMP_54.out
|
894
902
|
t/XMP_6.out
|
895
903
|
t/XMP_7.out
|
896
904
|
t/XMP_8.out
|
@@ -1048,6 +1056,11 @@ t/images/Sigma.x3f
|
|
1048
1056
|
t/images/SigmaDP2.x3f
|
1049
1057
|
t/images/Sony.jpg
|
1050
1058
|
t/images/Sony.pmp
|
1059
|
+
t/images/Text1.txt
|
1060
|
+
t/images/Text2.txt
|
1061
|
+
t/images/Text3.txt
|
1062
|
+
t/images/Text4.txt
|
1063
|
+
t/images/Text5.txt
|
1051
1064
|
t/images/Torrent.torrent
|
1052
1065
|
t/images/Unknown.jpg
|
1053
1066
|
t/images/VCard.ics
|
data/bin/META.json
CHANGED
data/bin/META.yml
CHANGED
data/bin/README
CHANGED
@@ -35,24 +35,24 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
35
35
|
BPG r | FLIF r/w | MKA r | PFB r | TORRENT r
|
36
36
|
BTF r | FLV r | MKS r | PFM r | TTC r
|
37
37
|
CHM r | FPF r | MKV r | PGF r | TTF r
|
38
|
-
COS r | FPX r | MNG r/w | PGM r/w |
|
39
|
-
CR2 r/w | GIF r/w | MOBI r | PLIST r |
|
40
|
-
CR3 r/w | GPR r/w | MODD r | PICT r |
|
41
|
-
CRM r/w | GZ r | MOI r | PMP r |
|
42
|
-
CRW r/w | HDP r/w | MOS r/w | PNG r/w |
|
43
|
-
CS1 r/w | HDR r | MOV r/w | PPM r/w |
|
44
|
-
DCM r | HEIC r/w | MP3 r | PPT r |
|
45
|
-
DCP r/w | HEIF r/w | MP4 r/w | PPTX r |
|
46
|
-
DCR r | HTML r | MPC r | PS r/w |
|
47
|
-
DFONT r | ICC r/w/c | MPG r | PSB r/w |
|
48
|
-
DIVX r | ICS r | MPO r/w | PSD r/w |
|
49
|
-
DJVU r | IDML r | MQV r/w | PSP r |
|
50
|
-
DLL r | IIQ r/w | MRW r/w | QTIF r/w |
|
51
|
-
DNG r/w | IND r/w | MXF r | R3D r |
|
52
|
-
DOC r | INSV r | NEF r/w | RA r |
|
53
|
-
DOCX r | INX r | NRW r/w | RAF r/w |
|
54
|
-
DPX r | ISO r | NUMBERS r | RAM r |
|
55
|
-
DR4 r/w/c | ITC r | O r | RAR r |
|
38
|
+
COS r | FPX r | MNG r/w | PGM r/w | TXT r
|
39
|
+
CR2 r/w | GIF r/w | MOBI r | PLIST r | VCF r
|
40
|
+
CR3 r/w | GPR r/w | MODD r | PICT r | VRD r/w/c
|
41
|
+
CRM r/w | GZ r | MOI r | PMP r | VSD r
|
42
|
+
CRW r/w | HDP r/w | MOS r/w | PNG r/w | WAV r
|
43
|
+
CS1 r/w | HDR r | MOV r/w | PPM r/w | WDP r/w
|
44
|
+
DCM r | HEIC r/w | MP3 r | PPT r | WEBP r
|
45
|
+
DCP r/w | HEIF r/w | MP4 r/w | PPTX r | WEBM r
|
46
|
+
DCR r | HTML r | MPC r | PS r/w | WMA r
|
47
|
+
DFONT r | ICC r/w/c | MPG r | PSB r/w | WMV r
|
48
|
+
DIVX r | ICS r | MPO r/w | PSD r/w | WTV r
|
49
|
+
DJVU r | IDML r | MQV r/w | PSP r | WV r
|
50
|
+
DLL r | IIQ r/w | MRW r/w | QTIF r/w | X3F r/w
|
51
|
+
DNG r/w | IND r/w | MXF r | R3D r | XCF r
|
52
|
+
DOC r | INSV r | NEF r/w | RA r | XLS r
|
53
|
+
DOCX r | INX r | NRW r/w | RAF r/w | XLSX r
|
54
|
+
DPX r | ISO r | NUMBERS r | RAM r | XMP r/w/c
|
55
|
+
DR4 r/w/c | ITC r | O r | RAR r | ZIP r
|
56
56
|
|
57
57
|
Meta Information
|
58
58
|
----------------------+----------------------+---------------------
|
@@ -104,8 +104,8 @@ your home directory, then you would type the following commands in a
|
|
104
104
|
terminal window to extract and run ExifTool:
|
105
105
|
|
106
106
|
cd ~/Desktop
|
107
|
-
gzip -dc Image-ExifTool-11.
|
108
|
-
cd Image-ExifTool-11.
|
107
|
+
gzip -dc Image-ExifTool-11.75.tar.gz | tar -xf -
|
108
|
+
cd Image-ExifTool-11.75
|
109
109
|
./exiftool t/images/ExifTool.jpg
|
110
110
|
|
111
111
|
Note: These commands extract meta information from one of the test images.
|
@@ -190,25 +190,22 @@ distribution package:
|
|
190
190
|
config_files/ - Sample ExifTool configuration files:
|
191
191
|
age.config - Calculate Age of person in photo
|
192
192
|
bibble.config - Definitions for writing Bibble XMP tags
|
193
|
-
|
194
|
-
convert_regions.config - Convert between MWG and MP face regions
|
195
|
-
dji.config - Composite tags for metadata in DJI videos
|
193
|
+
convert_regions.config - Convert between MWG, MP and IPTC regions
|
196
194
|
example.config - General example showing config features
|
197
195
|
fotoware.config - Definitions for writing Fotoware XMP tags
|
198
196
|
gps2utm.config - Generate UTM coordinate tags from GPS info
|
199
|
-
mini0806.config - Decode timed GPS from Mini 0806 videos
|
200
197
|
nksc.config - Decode tags in Nikon ViewNX NKSC files
|
201
198
|
photoshop_paths.config - For extracting or copying Photoshop paths
|
202
199
|
picasa_faces.config - Convert from Picasa to MWG/MP face regions
|
203
200
|
rotate_regions.config - Rotate MWG and MP region tags
|
204
|
-
thinkware.config - Decode text from Thinkware dashcam videos
|
205
201
|
tiff_version.config - Determine the version of a TIFF file
|
206
202
|
time_zone.config - Calcuate time zone from EXIF tags
|
207
203
|
exiftool - The exiftool application (Perl script)
|
208
204
|
fmt_files/ - Output formatting example files:
|
209
205
|
gpx.fmt - Format file for creating GPX track
|
210
206
|
gpx_wpt.fmt - Format file for creating GPX waypoints
|
211
|
-
kml.fmt - Format file for creating KML
|
207
|
+
kml.fmt - Format file for creating KML placemarks
|
208
|
+
kml_track.fmt - Format file for creating KML track
|
212
209
|
html/ - HTML documentation
|
213
210
|
html/TagNames/ - HTML tag name documentation
|
214
211
|
lib/ - ExifTool Perl library modules
|
@@ -2,22 +2,27 @@
|
|
2
2
|
# File: convert_regions.config
|
3
3
|
#
|
4
4
|
# Description: User-defined Composite tag definitions to allow conversion of
|
5
|
-
# face regions between Microsoft Windows Live Photo Gallery (WLPG)
|
6
|
-
#
|
5
|
+
# face regions between Microsoft Windows Live Photo Gallery (WLPG),
|
6
|
+
# Metadata Working Group (MWG), and IPTC Extension formats
|
7
7
|
#
|
8
|
-
# Usage: 1) Convert from MP WLPG regions to MWG regions:
|
8
|
+
# Usage: 1) Convert from MP WLPG or IPTC regions to MWG regions:
|
9
9
|
#
|
10
10
|
# exiftool -config convert_regions.config "-regioninfo<myregion" FILE
|
11
11
|
#
|
12
|
-
# 2) Convert from MWG to WLPG regions:
|
12
|
+
# 2) Convert from MWG or IPTC to MP WLPG regions:
|
13
13
|
#
|
14
14
|
# exiftool -config convert_regions.config "-regioninfomp<myregionmp" FILE
|
15
15
|
#
|
16
|
-
#
|
16
|
+
# 3) Convert from MWG or MP WLPG to IPTC regions:
|
17
|
+
#
|
18
|
+
# exiftool -config convert_regions.config "-imageregion<myregioniptc" FILE
|
19
|
+
#
|
20
|
+
# Requires: ExifTool version 11.74 or later
|
17
21
|
#
|
18
22
|
# Revisions: 2012/12/27 - P. Harvey Created
|
19
23
|
# 2013/02/20 - PH Don't add ignored MP faces
|
20
24
|
# 2017/02/13 - PH Handle MP regions without Rectangle or Name entries
|
25
|
+
# 2019/10/26 - PH Added support for the new IPTC ImageRegion
|
21
26
|
#
|
22
27
|
# References: http://www.metadataworkinggroup.org/specs/
|
23
28
|
#------------------------------------------------------------------------------
|
@@ -63,6 +68,45 @@
|
|
63
68
|
},
|
64
69
|
},
|
65
70
|
|
71
|
+
# create an MWG RegionInfo structure from an IPTC ImageRegion list
|
72
|
+
MyRegion2 => {
|
73
|
+
Name => 'MyRegion',
|
74
|
+
Require => {
|
75
|
+
0 => 'ImageRegion',
|
76
|
+
1 => 'ImageWidth',
|
77
|
+
2 => 'ImageHeight',
|
78
|
+
},
|
79
|
+
ValueConv => q{
|
80
|
+
my ($rgn, @newRgns);
|
81
|
+
my $rgns = ref $val[0] eq 'ARRAY' ? $val[0] : [ $val[0] ];
|
82
|
+
foreach $rgn (@$rgns) {
|
83
|
+
my %newRgn = ( Type => 'Face' );
|
84
|
+
if ($$rgn{RegionBoundary} and $$rgn{RegionBoundary}{RbShape} eq 'rectangle') {
|
85
|
+
my @rect = @{$$rgn{RegionBoundary}}{'RbX','RbY','RbW','RbH'};
|
86
|
+
if ($$rgn{RegionBoundary}{RbUnit} eq 'pixel') {
|
87
|
+
$rect[0] /= $val[1], $rect[2] /= $val[1];
|
88
|
+
$rect[1] /= $val[2]; $rect[3] /= $val[2];
|
89
|
+
}
|
90
|
+
$newRgn{Area} = {
|
91
|
+
X => $rect[0] + $rect[2]/2,
|
92
|
+
Y => $rect[1] + $rect[3]/2,
|
93
|
+
W => $rect[2],
|
94
|
+
H => $rect[3],
|
95
|
+
Unit => 'normalized',
|
96
|
+
};
|
97
|
+
} else {
|
98
|
+
next unless defined $$rgn{Name};
|
99
|
+
}
|
100
|
+
$newRgn{Name} = $$rgn{Name} if defined $$rgn{Name};
|
101
|
+
push @newRgns, \%newRgn;
|
102
|
+
}
|
103
|
+
return {
|
104
|
+
AppliedToDimensions => { W => $val[1], H => $val[2], Unit => 'pixel' },
|
105
|
+
RegionList => \@newRgns,
|
106
|
+
};
|
107
|
+
},
|
108
|
+
},
|
109
|
+
|
66
110
|
# create a Microsoft RegionInfoMP structure from an MWG RegionInfo structure
|
67
111
|
MyRegionMP => {
|
68
112
|
Require => 'RegionInfo',
|
@@ -83,6 +127,96 @@
|
|
83
127
|
return { Regions => \@newRgns };
|
84
128
|
},
|
85
129
|
},
|
130
|
+
|
131
|
+
# create a Microsoft RegionInfoMP structure from an IPTC ImageRegion list
|
132
|
+
MyRegionMP2 => {
|
133
|
+
Name => 'MyRegionMP',
|
134
|
+
Require => {
|
135
|
+
0 => 'ImageRegion',
|
136
|
+
1 => 'ImageWidth',
|
137
|
+
2 => 'ImageHeight',
|
138
|
+
},
|
139
|
+
ValueConv => q{
|
140
|
+
my ($rgn, @newRgns);
|
141
|
+
my $rgns = ref $val[0] eq 'ARRAY' ? $val[0] : [ $val[0] ];
|
142
|
+
foreach $rgn (@$rgns) {
|
143
|
+
my %newRgn;
|
144
|
+
if ($$rgn{RegionBoundary} and $$rgn{RegionBoundary}{RbShape} eq 'rectangle') {
|
145
|
+
my @rect = @{$$rgn{RegionBoundary}}{'RbX','RbY','RbW','RbH'};
|
146
|
+
if ($$rgn{RegionBoundary}{RbUnit} eq 'pixel') {
|
147
|
+
$rect[0] /= $val[1], $rect[2] /= $val[1];
|
148
|
+
$rect[1] /= $val[2]; $rect[3] /= $val[2];
|
149
|
+
}
|
150
|
+
$newRgn{Rectangle} = join(', ', @rect);
|
151
|
+
} else {
|
152
|
+
next unless defined $$rgn{Name};
|
153
|
+
}
|
154
|
+
$newRgn{PersonDisplayName} = $$rgn{Name} if defined $$rgn{Name};
|
155
|
+
push @newRgns, \%newRgn;
|
156
|
+
}
|
157
|
+
return { Regions => \@newRgns };
|
158
|
+
},
|
159
|
+
},
|
160
|
+
|
161
|
+
# create an IPTC ImageRegion list from an MWG RegionInfo structure
|
162
|
+
MyRegionIPTC => {
|
163
|
+
Require => 'RegionInfo',
|
164
|
+
ValueConv => q{
|
165
|
+
my ($rgn, @newRgns);
|
166
|
+
foreach $rgn (@{$val[0]{RegionList}}) {
|
167
|
+
next unless $$rgn{Area} or defined $$rgn{Name};
|
168
|
+
my %newRgn;
|
169
|
+
if ($$rgn{Area}) {
|
170
|
+
my @rect = @{$$rgn{Area}}{'X','Y','W','H'};
|
171
|
+
$rect[0] -= $rect[2]/2;
|
172
|
+
$rect[1] -= $rect[3]/2;
|
173
|
+
$newRgn{RegionBoundary} = {
|
174
|
+
RbShape => 'rectangle',
|
175
|
+
RbUnit => 'relative',
|
176
|
+
RbX => $rect[0],
|
177
|
+
RbY => $rect[1],
|
178
|
+
RbW => $rect[2],
|
179
|
+
RbH => $rect[3],
|
180
|
+
};
|
181
|
+
}
|
182
|
+
$newRgn{Name} = $$rgn{Name} if defined $$rgn{Name};
|
183
|
+
push @newRgns, \%newRgn;
|
184
|
+
}
|
185
|
+
return \@newRgns;
|
186
|
+
},
|
187
|
+
},
|
188
|
+
|
189
|
+
# create an IPTC ImageRegion list from a Microsoft RegionInfoMP structure
|
190
|
+
MyRegionIPTC2 => {
|
191
|
+
Name => 'MyRegionIPTC',
|
192
|
+
Require => 'RegionInfoMP',
|
193
|
+
ValueConv => q{
|
194
|
+
my ($rgn, @newRgns);
|
195
|
+
foreach $rgn (@{$val[0]{Regions}}) {
|
196
|
+
my $name = $$rgn{PersonDisplayName};
|
197
|
+
next unless $$rgn{Rectangle} or defined $name;
|
198
|
+
my %newRgn;
|
199
|
+
if (defined $name) {
|
200
|
+
# don't add ignored faces
|
201
|
+
next if $name eq 'ffffffffffffffff';
|
202
|
+
$newRgn{Name} = $name;
|
203
|
+
}
|
204
|
+
if ($$rgn{Rectangle}) {
|
205
|
+
my @rect = split /\s*,\s*/, $$rgn{Rectangle};
|
206
|
+
$newRgn{RegionBoundary} = {
|
207
|
+
RbShape => 'rectangle',
|
208
|
+
RbUnit => 'relative',
|
209
|
+
RbX => $rect[0],
|
210
|
+
RbY => $rect[1],
|
211
|
+
RbW => $rect[2],
|
212
|
+
RbH => $rect[3],
|
213
|
+
} if @rect == 4;
|
214
|
+
}
|
215
|
+
push @newRgns, \%newRgn;
|
216
|
+
}
|
217
|
+
return \@newRgns;
|
218
|
+
},
|
219
|
+
},
|
86
220
|
},
|
87
221
|
);
|
88
222
|
|
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.75';
|
14
14
|
|
15
15
|
# add our 'lib' directory to the include list BEFORE 'use Image::ExifTool'
|
16
16
|
my $exeDir;
|
@@ -4305,24 +4305,24 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
4305
4305
|
BPG r | FLIF r/w | MKA r | PFB r | TORRENT r
|
4306
4306
|
BTF r | FLV r | MKS r | PFM r | TTC r
|
4307
4307
|
CHM r | FPF r | MKV r | PGF r | TTF r
|
4308
|
-
COS r | FPX r | MNG r/w | PGM r/w |
|
4309
|
-
CR2 r/w | GIF r/w | MOBI r | PLIST r |
|
4310
|
-
CR3 r/w | GPR r/w | MODD r | PICT r |
|
4311
|
-
CRM r/w | GZ r | MOI r | PMP r |
|
4312
|
-
CRW r/w | HDP r/w | MOS r/w | PNG r/w |
|
4313
|
-
CS1 r/w | HDR r | MOV r/w | PPM r/w |
|
4314
|
-
DCM r | HEIC r/w | MP3 r | PPT r |
|
4315
|
-
DCP r/w | HEIF r/w | MP4 r/w | PPTX r |
|
4316
|
-
DCR r | HTML r | MPC r | PS r/w |
|
4317
|
-
DFONT r | ICC r/w/c | MPG r | PSB r/w |
|
4318
|
-
DIVX r | ICS r | MPO r/w | PSD r/w |
|
4319
|
-
DJVU r | IDML r | MQV r/w | PSP r |
|
4320
|
-
DLL r | IIQ r/w | MRW r/w | QTIF r/w |
|
4321
|
-
DNG r/w | IND r/w | MXF r | R3D r |
|
4322
|
-
DOC r | INSV r | NEF r/w | RA r |
|
4323
|
-
DOCX r | INX r | NRW r/w | RAF r/w |
|
4324
|
-
DPX r | ISO r | NUMBERS r | RAM r |
|
4325
|
-
DR4 r/w/c | ITC r | O r | RAR r |
|
4308
|
+
COS r | FPX r | MNG r/w | PGM r/w | TXT r
|
4309
|
+
CR2 r/w | GIF r/w | MOBI r | PLIST r | VCF r
|
4310
|
+
CR3 r/w | GPR r/w | MODD r | PICT r | VRD r/w/c
|
4311
|
+
CRM r/w | GZ r | MOI r | PMP r | VSD r
|
4312
|
+
CRW r/w | HDP r/w | MOS r/w | PNG r/w | WAV r
|
4313
|
+
CS1 r/w | HDR r | MOV r/w | PPM r/w | WDP r/w
|
4314
|
+
DCM r | HEIC r/w | MP3 r | PPT r | WEBP r
|
4315
|
+
DCP r/w | HEIF r/w | MP4 r/w | PPTX r | WEBM r
|
4316
|
+
DCR r | HTML r | MPC r | PS r/w | WMA r
|
4317
|
+
DFONT r | ICC r/w/c | MPG r | PSB r/w | WMV r
|
4318
|
+
DIVX r | ICS r | MPO r/w | PSD r/w | WTV r
|
4319
|
+
DJVU r | IDML r | MQV r/w | PSP r | WV r
|
4320
|
+
DLL r | IIQ r/w | MRW r/w | QTIF r/w | X3F r/w
|
4321
|
+
DNG r/w | IND r/w | MXF r | R3D r | XCF r
|
4322
|
+
DOC r | INSV r | NEF r/w | RA r | XLS r
|
4323
|
+
DOCX r | INX r | NRW r/w | RAF r/w | XLSX r
|
4324
|
+
DPX r | ISO r | NUMBERS r | RAM r | XMP r/w/c
|
4325
|
+
DR4 r/w/c | ITC r | O r | RAR r | ZIP r
|
4326
4326
|
|
4327
4327
|
Meta Information
|
4328
4328
|
----------------------+----------------------+---------------------
|
@@ -5153,7 +5153,7 @@ Multiple B<-p> options may be used, each contributing a line (or more) of
|
|
5153
5153
|
text to the output. Lines beginning with C<#[HEAD]> and C<#[TAIL]> are
|
5154
5154
|
output before the first processed file and after the last processed file
|
5155
5155
|
respectively. Lines beginning with C<#[SECT]> and C<#[ENDS]> are output
|
5156
|
-
|
5156
|
+
before and after each section of files. A section is defined as a group of
|
5157
5157
|
consecutive files with the same section header (eg. files are grouped by
|
5158
5158
|
directory if C<#[SECT]> contains C<$directory>). Lines beginning with
|
5159
5159
|
C<#[BODY]> and lines not beginning with C<#> are output for each processed
|
@@ -5173,7 +5173,7 @@ with this command:
|
|
5173
5173
|
|
5174
5174
|
produces output like this:
|
5175
5175
|
|
5176
|
-
-- Generated by ExifTool 11.
|
5176
|
+
-- Generated by ExifTool 11.75 --
|
5177
5177
|
File: a.jpg - 2003:10:31 15:44:19
|
5178
5178
|
(f/5.6, 1/60s, ISO 100)
|
5179
5179
|
File: b.jpg - 2006:05:23 11:57:38
|