exiftool_vendored 12.82.0 → 12.85.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 -0
- data/bin/MANIFEST +2 -18
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +47 -46
- data/bin/build_geolocation +945 -0
- data/bin/config_files/example.config +2 -2
- data/bin/exiftool +75 -51
- data/bin/fmt_files/gpx.fmt +2 -1
- data/bin/fmt_files/gpx_wpt.fmt +2 -1
- data/bin/lib/Image/ExifTool/Apple.pm +52 -7
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +5 -2
- data/bin/lib/Image/ExifTool/Canon.pm +11 -2
- data/bin/lib/Image/ExifTool/CanonVRD.pm +18 -5
- data/bin/lib/Image/ExifTool/DJI.pm +29 -0
- data/bin/lib/Image/ExifTool/DPX.pm +3 -3
- data/bin/lib/Image/ExifTool/Exif.pm +19 -2
- data/bin/lib/Image/ExifTool/GM.pm +17 -8
- data/bin/lib/Image/ExifTool/Geolocation.dat +0 -0
- data/bin/lib/Image/ExifTool/Geolocation.pm +170 -104
- data/bin/lib/Image/ExifTool/Geotag.pm +18 -10
- data/bin/lib/Image/ExifTool/ID3.pm +28 -6
- data/bin/lib/Image/ExifTool/Nikon.pm +25 -6
- data/bin/lib/Image/ExifTool/Pentax.pm +64 -13
- data/bin/lib/Image/ExifTool/QuickTime.pm +26 -7
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +5 -0
- data/bin/lib/Image/ExifTool/Sony.pm +15 -6
- data/bin/lib/Image/ExifTool/TagLookup.pm +3557 -3540
- data/bin/lib/Image/ExifTool/TagNames.pod +61 -13
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +4 -2
- data/bin/lib/Image/ExifTool/Writer.pl +166 -134
- data/bin/lib/Image/ExifTool/XMP.pm +2 -0
- data/bin/lib/Image/ExifTool/XMP2.pl +3 -0
- data/bin/lib/Image/ExifTool.pm +59 -27
- data/bin/lib/Image/ExifTool.pod +88 -71
- data/bin/perl-Image-ExifTool.spec +45 -45
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +3 -20
- data/bin/lib/Image/ExifTool/GeoLang/cs.pm +0 -978
- data/bin/lib/Image/ExifTool/GeoLang/de.pm +0 -1975
- data/bin/lib/Image/ExifTool/GeoLang/en_ca.pm +0 -44
- data/bin/lib/Image/ExifTool/GeoLang/en_gb.pm +0 -124
- data/bin/lib/Image/ExifTool/GeoLang/es.pm +0 -2921
- data/bin/lib/Image/ExifTool/GeoLang/fi.pm +0 -1116
- data/bin/lib/Image/ExifTool/GeoLang/fr.pm +0 -3171
- data/bin/lib/Image/ExifTool/GeoLang/it.pm +0 -2750
- data/bin/lib/Image/ExifTool/GeoLang/ja.pm +0 -10256
- data/bin/lib/Image/ExifTool/GeoLang/ko.pm +0 -4499
- data/bin/lib/Image/ExifTool/GeoLang/nl.pm +0 -1270
- data/bin/lib/Image/ExifTool/GeoLang/pl.pm +0 -3019
- data/bin/lib/Image/ExifTool/GeoLang/ru.pm +0 -18220
- data/bin/lib/Image/ExifTool/GeoLang/sk.pm +0 -441
- data/bin/lib/Image/ExifTool/GeoLang/sv.pm +0 -714
- data/bin/lib/Image/ExifTool/GeoLang/tr.pm +0 -452
- data/bin/lib/Image/ExifTool/GeoLang/zh_cn.pm +0 -2225
- data/bin/lib/Image/ExifTool/GeoLang/zh_tw.pm +0 -72
data/bin/lib/Image/ExifTool.pm
CHANGED
@@ -27,9 +27,9 @@ use vars qw($VERSION $RELEASE @ISA @EXPORT_OK %EXPORT_TAGS $AUTOLOAD @fileTypes
|
|
27
27
|
%noWriteFile %magicNumber @langs $defaultLang %langName %charsetName
|
28
28
|
%mimeType $swapBytes $swapWords $currentByteOrder %unpackStd
|
29
29
|
%jpegMarker %specialTags %fileTypeLookup $testLen $exeDir
|
30
|
-
%static_vars);
|
30
|
+
%static_vars $advFmtSelf);
|
31
31
|
|
32
|
-
$VERSION = '12.
|
32
|
+
$VERSION = '12.85';
|
33
33
|
$RELEASE = '';
|
34
34
|
@ISA = qw(Exporter);
|
35
35
|
%EXPORT_TAGS = (
|
@@ -198,7 +198,7 @@ $defaultLang = 'en'; # default language
|
|
198
198
|
RAR 7Z BZ2 CZI TAR EXE EXR HDR CHM LNK WMF AVC DEX DPX RAW Font
|
199
199
|
JUMBF RSRC M2TS MacOS PHP PCX DCX DWF DWG DXF WTV Torrent VCard
|
200
200
|
LRI R3D AA PDB PFM2 MRC LIF JXL MOI ISO ALIAS JSON MP3 DICOM PCD
|
201
|
-
ICO TXT AAC);
|
201
|
+
NKA ICO TXT AAC);
|
202
202
|
|
203
203
|
# file types that we can write (edit)
|
204
204
|
my @writeTypes = qw(JPEG TIFF GIF CRW MRW ORF RAF RAW PNG MIE PSD XMP PPM EPS
|
@@ -210,7 +210,7 @@ my %writeTypes; # lookup for writable file types (hash filled if required)
|
|
210
210
|
# (See here for 3FR reason: https://exiftool.org/forum/index.php?msg=17570)
|
211
211
|
%noWriteFile = (
|
212
212
|
TIFF => [ qw(3FR DCR K25 KDC SRF) ],
|
213
|
-
XMP => [ qw(SVG INX) ],
|
213
|
+
XMP => [ qw(SVG INX NXD) ],
|
214
214
|
JP2 => [ qw(J2C JPC) ],
|
215
215
|
MOV => [ qw(INSV) ],
|
216
216
|
);
|
@@ -426,10 +426,12 @@ my %createTypes = map { $_ => 1 } qw(XMP ICC MIE VRD DR4 EXIF EXV);
|
|
426
426
|
# NDPI => ['TIFF', 'Hamamatsu NanoZoomer Digital Pathology Image'],
|
427
427
|
NEF => ['TIFF', 'Nikon (RAW) Electronic Format'],
|
428
428
|
NEWER => 'COS',
|
429
|
+
NKA => ['NKA', 'Nikon NX Studio Settings'],
|
429
430
|
NKSC => ['XMP', 'Nikon Sidecar'],
|
430
431
|
NMBTEMPLATE => ['ZIP','Apple Numbers Template'],
|
431
432
|
NRW => ['TIFF', 'Nikon RAW (2)'],
|
432
433
|
NUMBERS => ['ZIP','Apple Numbers spreadsheet'],
|
434
|
+
NXD => ['XMP', 'Nikon NX-D Settings'],
|
433
435
|
O => ['EXE', 'Relocatable Object'],
|
434
436
|
ODB => ['ZIP', 'Open Document Database'],
|
435
437
|
ODC => ['ZIP', 'Open Document Chart'],
|
@@ -869,6 +871,7 @@ my %moduleName = (
|
|
869
871
|
MKV => 'Matroska',
|
870
872
|
MP3 => 'ID3',
|
871
873
|
MRW => 'MinoltaRaw',
|
874
|
+
NKA => 'Nikon',
|
872
875
|
OGG => 'Ogg',
|
873
876
|
ORF => 'Olympus',
|
874
877
|
PDB => 'Palm',
|
@@ -972,6 +975,7 @@ $testLen = 1024; # number of bytes to read when testing for magic number
|
|
972
975
|
MRC => '.{64}[\x01\x02\x03]\0\0\0[\x01\x02\x03]\0\0\0[\x01\x02\x03]\0\0\0.{132}MAP[\0 ](\x44\x44|\x44\x41|\x11\x11)\0\0',
|
973
976
|
MRW => '\0MR[MI]',
|
974
977
|
MXF => '\x06\x0e\x2b\x34\x02\x05\x01\x01\x0d\x01\x02', # (not tested if extension recognized)
|
978
|
+
NKA => 'NIKONADJ',
|
975
979
|
OGG => '(OggS|ID3)',
|
976
980
|
ORF => '(II|MM)',
|
977
981
|
# PCD => signature is at byte 2048
|
@@ -1118,6 +1122,7 @@ my @availableOptions = (
|
|
1118
1122
|
[ 'HexTagIDs', 0, 'use hex tag ID\'s in family 7 group names' ],
|
1119
1123
|
[ 'HtmlDump', 0, 'HTML dump (0-3, higher # = bigger limit)' ],
|
1120
1124
|
[ 'HtmlDumpBase', undef, 'base address for HTML dump' ],
|
1125
|
+
[ 'IgnoreGroups', undef, 'list of groups to ignore when extracting' ],
|
1121
1126
|
[ 'IgnoreMinorErrors',undef, 'ignore minor errors when reading/writing' ],
|
1122
1127
|
[ 'IgnoreTags', undef, 'list of tags to ignore when extracting' ],
|
1123
1128
|
[ 'ImageHashType', 'MD5', 'image hash algorithm' ],
|
@@ -1175,7 +1180,7 @@ my @defaultWriteGroups = qw(
|
|
1175
1180
|
|
1176
1181
|
# group hash for ExifTool-generated tags
|
1177
1182
|
my %allGroupsExifTool = ( 0 => 'ExifTool', 1 => 'ExifTool', 2 => 'ExifTool' );
|
1178
|
-
my %geoInfo = ( Groups => { 0 => 'ExifTool', 1 => 'ExifTool', 2 => 'Location' }
|
1183
|
+
my %geoInfo = ( Groups => { 0 => 'ExifTool', 1 => 'ExifTool', 2 => 'Location' } );
|
1179
1184
|
|
1180
1185
|
# special tag names (not used for tag info)
|
1181
1186
|
%specialTags = map { $_ => 1 } qw(
|
@@ -1268,6 +1273,7 @@ my %systemTagsNotes = (
|
|
1268
1273
|
},
|
1269
1274
|
Writable => 1,
|
1270
1275
|
WritePseudo => 1,
|
1276
|
+
Priority => 2,
|
1271
1277
|
DelCheck => q{"Can't delete"},
|
1272
1278
|
Protected => 1,
|
1273
1279
|
RawConv => '$self->ConvertFileName($val)',
|
@@ -1280,6 +1286,7 @@ my %systemTagsNotes = (
|
|
1280
1286
|
WritePseudo => 1,
|
1281
1287
|
DelCheck => q{"Can't delete"},
|
1282
1288
|
Protected => 1,
|
1289
|
+
Priority => 2,
|
1283
1290
|
Notes => q{
|
1284
1291
|
may be written with a full path name to set FileName and Directory in one
|
1285
1292
|
operation. This is such a powerful feature that a TestName tag is provided
|
@@ -1292,6 +1299,7 @@ my %systemTagsNotes = (
|
|
1292
1299
|
},
|
1293
1300
|
BaseName => {
|
1294
1301
|
Groups => { 1 => 'System', 2 => 'Other' },
|
1302
|
+
Priority => 2,
|
1295
1303
|
Notes => q{
|
1296
1304
|
file name without extension. Not generated unless specifically requested or
|
1297
1305
|
the API L<RequestAll|../ExifTool.html#RequestAll> option is set
|
@@ -1361,6 +1369,7 @@ my %systemTagsNotes = (
|
|
1361
1369
|
},
|
1362
1370
|
FileType => {
|
1363
1371
|
Groups => { 2 => 'Other' },
|
1372
|
+
Priority => 2,
|
1364
1373
|
Notes => q{
|
1365
1374
|
a short description of the file type. For many file types this is the just
|
1366
1375
|
the uppercase file extension
|
@@ -1994,14 +2003,14 @@ my %systemTagsNotes = (
|
|
1994
2003
|
return $val if $val =~ /\bgeotag\b/i;
|
1995
2004
|
$val .= ',both';
|
1996
2005
|
my $opts = $$self{OPTIONS};
|
1997
|
-
my ($
|
1998
|
-
return '' unless $
|
1999
|
-
if (
|
2006
|
+
my ($cities, $dist) = Image::ExifTool::Geolocation::Geolocate($self->Encode($val,'UTF8'), $opts);
|
2007
|
+
return '' unless $cities;
|
2008
|
+
if (@$cities > 1 and $self->Warn('Multiple matching cities found',2)) {
|
2000
2009
|
warn "$$self{VALUE}{Warning}\n";
|
2001
2010
|
return '';
|
2002
2011
|
}
|
2003
|
-
my @geo = Image::ExifTool::Geolocation::GetEntry(
|
2004
|
-
my @tags = $self->GetGeolocateTags($wantGroup, $
|
2012
|
+
my @geo = Image::ExifTool::Geolocation::GetEntry($$cities[0], $$opts{Lang});
|
2013
|
+
my @tags = $self->GetGeolocateTags($wantGroup, $dist ? 0 : 1);
|
2005
2014
|
my %geoNum = ( City => 0, Province => 1, State => 1, Code => 3, Country => 4,
|
2006
2015
|
Coordinates => 89, Latitude => 8, Longitude => 9 );
|
2007
2016
|
my ($tag, $value);
|
@@ -2048,8 +2057,9 @@ my %systemTagsNotes = (
|
|
2048
2057
|
GeolocationSubregion=> { %geoInfo, Notes => 'geolocation county or subregion', ValueConv => '$self->Decode($val,"UTF8")' },
|
2049
2058
|
GeolocationCountry => { %geoInfo, Notes => 'geolocation country name', ValueConv => '$self->Decode($val,"UTF8")' },
|
2050
2059
|
GeolocationCountryCode=>{%geoInfo, Notes => 'geolocation country code' },
|
2051
|
-
GeolocationTimeZone => { %geoInfo, Notes => 'geolocation time zone
|
2052
|
-
GeolocationFeatureCode=>{%geoInfo, Notes => 'feature code, see L<http://www.geonames.org/export/codes.html#P>' },
|
2060
|
+
GeolocationTimeZone => { %geoInfo, Notes => 'geolocation time zone ID' },
|
2061
|
+
GeolocationFeatureCode=>{%geoInfo, Notes => 'geolocation feature code, see L<http://www.geonames.org/export/codes.html#P>' },
|
2062
|
+
GeolocationFeatureType=>{%geoInfo, Notes => 'geolocation feature type' },
|
2053
2063
|
GeolocationPopulation=>{ %geoInfo, Notes => 'city population rounded to 2 significant digits' },
|
2054
2064
|
GeolocationDistance => { %geoInfo, Notes => 'distance in km from current GPS to city', PrintConv => '"$val km"' },
|
2055
2065
|
GeolocationPosition => { %geoInfo, Notes => 'approximate GPS coordinates of city',
|
@@ -2470,12 +2480,12 @@ sub Options($$;@)
|
|
2470
2480
|
} else {
|
2471
2481
|
$$options{$param} = undef; # clear the list
|
2472
2482
|
}
|
2473
|
-
} elsif ($param
|
2483
|
+
} elsif ($param =~ /^(IgnoreTags|IgnoreGroups)$/) {
|
2474
2484
|
if (defined $newVal) {
|
2475
2485
|
# parse list from delimited string if necessary
|
2476
|
-
my @ignoreList = (ref $newVal eq 'ARRAY') ? @$newVal : ($newVal =~ /[-\w
|
2477
|
-
ExpandShortcuts(\@ignoreList);
|
2478
|
-
# add to existing tags to ignore
|
2486
|
+
my @ignoreList = (ref $newVal eq 'ARRAY') ? @$newVal : ($newVal =~ /[-\w?*:#]+/g);
|
2487
|
+
ExpandShortcuts(\@ignoreList) if $param eq 'IgnoreTags';
|
2488
|
+
# add to existing tags/groups to ignore
|
2479
2489
|
$$options{$param} or $$options{$param} = { };
|
2480
2490
|
foreach (@ignoreList) {
|
2481
2491
|
/^(.*:)?([-\w?*]+)#?$/ or next;
|
@@ -2555,6 +2565,8 @@ sub Options($$;@)
|
|
2555
2565
|
} else {
|
2556
2566
|
warn("Can't set $param to undef\n");
|
2557
2567
|
}
|
2568
|
+
} elsif (lc $param eq 'geodir') {
|
2569
|
+
$Image::ExifTool::Geolocation::geoDir = $newVal; # (undocumented)
|
2558
2570
|
} else {
|
2559
2571
|
if ($param eq 'Escape') {
|
2560
2572
|
# set ESCAPE_PROC
|
@@ -2573,7 +2585,15 @@ sub Options($$;@)
|
|
2573
2585
|
delete $$self{GLOBAL_TIME_OFFSET}; # reset our calculated offset
|
2574
2586
|
} elsif ($param eq 'TimeZone' and defined $newVal and length $newVal) {
|
2575
2587
|
$ENV{TZ} = $newVal;
|
2576
|
-
|
2588
|
+
if ($^O eq 'MSWin32') {
|
2589
|
+
if (eval { require Time::Piece }) {
|
2590
|
+
eval { Time::Piece::_tzset() };
|
2591
|
+
} else {
|
2592
|
+
warn("Install Time::Piece to set time zone in Windows\n");
|
2593
|
+
}
|
2594
|
+
} else {
|
2595
|
+
eval { require POSIX; POSIX::tzset() };
|
2596
|
+
}
|
2577
2597
|
} elsif ($param eq 'Validate') {
|
2578
2598
|
# load Validate module if Validate option enabled
|
2579
2599
|
$newVal and require Image::ExifTool::Validate;
|
@@ -4361,13 +4381,14 @@ sub DoneExtract($)
|
|
4361
4381
|
local $SIG{'__WARN__'} = \&SetWarning;
|
4362
4382
|
undef $evalWarning;
|
4363
4383
|
$$opts{GeolocMulti} = $$opts{Duplicates};
|
4364
|
-
my ($
|
4384
|
+
my ($cities, $dist) = Image::ExifTool::Geolocation::Geolocate($arg, $opts);
|
4365
4385
|
delete $$opts{GeolocMulti};
|
4366
|
-
|
4367
|
-
|
4368
|
-
my $
|
4369
|
-
foreach $
|
4370
|
-
|
4386
|
+
if ($cities and (@$cities < 2 or $dist or not $self->Warn('Multiple Geolocation cities are possible',2))) {
|
4387
|
+
$self->FoundTag(GeolocationWarning => 'Search matched '.scalar(@$cities).' cities') if @$cities > 1;
|
4388
|
+
my $city;
|
4389
|
+
foreach $city (@$cities) {
|
4390
|
+
$$self{DOC_NUM} = ++$$self{DOC_COUNT} unless $city eq $$cities[0];
|
4391
|
+
my @geo = Image::ExifTool::Geolocation::GetEntry($city, $$opts{Lang});
|
4371
4392
|
$self->FoundTag(GeolocationCity => $geo[0]);
|
4372
4393
|
$self->FoundTag(GeolocationRegion => $geo[1]) if $geo[1];
|
4373
4394
|
$self->FoundTag(GeolocationSubregion => $geo[2]) if $geo[2];
|
@@ -4375,13 +4396,17 @@ sub DoneExtract($)
|
|
4375
4396
|
$self->FoundTag(GeolocationCountry => $geo[4]) if $geo[4];
|
4376
4397
|
$self->FoundTag(GeolocationTimeZone => $geo[5]) if $geo[5];
|
4377
4398
|
$self->FoundTag(GeolocationFeatureCode => $geo[6]);
|
4399
|
+
$self->FoundTag(GeolocationFeatureType => $geo[10]) if $geo[10];
|
4378
4400
|
$self->FoundTag(GeolocationPopulation => $geo[7]);
|
4379
4401
|
$self->FoundTag(GeolocationPosition => "$geo[8] $geo[9]");
|
4380
|
-
|
4381
|
-
|
4382
|
-
|
4383
|
-
|
4402
|
+
if ($dist) {
|
4403
|
+
$self->FoundTag(GeolocationDistance => $$dist[0][0]);
|
4404
|
+
$self->FoundTag(GeolocationBearing => $$dist[0][1]);
|
4405
|
+
shift @$dist;
|
4406
|
+
}
|
4407
|
+
last unless $$opts{Duplicates};
|
4384
4408
|
}
|
4409
|
+
delete $$self{DOC_NUM};
|
4385
4410
|
} elsif ($evalWarning) {
|
4386
4411
|
$self->Warn(CleanWarning());
|
4387
4412
|
}
|
@@ -6362,6 +6387,7 @@ sub TimeLocal(@)
|
|
6362
6387
|
if ($^O eq 'MSWin32') {
|
6363
6388
|
# patch for ActivePerl timezone bug
|
6364
6389
|
my @t2 = localtime($tm);
|
6390
|
+
$t2[5] += 1900;
|
6365
6391
|
my $t2 = Time::Local::timelocal(@t2);
|
6366
6392
|
# adjust timelocal() return value to be consistent with localtime()
|
6367
6393
|
$tm += $tm - $t2;
|
@@ -8936,6 +8962,12 @@ sub FoundTag($$$;@)
|
|
8936
8962
|
}
|
8937
8963
|
$grps[0] or $grps[0] = $$self{SET_GROUP0};
|
8938
8964
|
$grps[1] or $grps[1] = $$self{SET_GROUP1};
|
8965
|
+
if ($$options{IgnoreGroups}) {
|
8966
|
+
foreach (0..1) {
|
8967
|
+
my $g = lc($grps[$_] || $$tagInfo{Groups}{$_} || $$tagInfo{Table}{GROUPS}{$_});
|
8968
|
+
return undef if $$options{IgnoreGroups}{$g} or $$options{IgnoreGroups}{"$_$g"};
|
8969
|
+
}
|
8970
|
+
}
|
8939
8971
|
my $valueHash = $$self{VALUE};
|
8940
8972
|
|
8941
8973
|
if ($$tagInfo{RawConv}) {
|
data/bin/lib/Image/ExifTool.pod
CHANGED
@@ -65,50 +65,50 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
65
65
|
|
66
66
|
File Types
|
67
67
|
------------+-------------+-------------+-------------+------------
|
68
|
-
360 r/w | DOCX r | ITC r |
|
69
|
-
3FR r | DPX r | J2C r |
|
70
|
-
3G2 r/w | DR4 r/w/c | JNG r/w |
|
71
|
-
3GP r/w | DSS r | JP2 r/w |
|
72
|
-
7Z r | DV r | JPEG r/w |
|
73
|
-
A r | DVB r/w | JSON r |
|
74
|
-
AA r | DVR-MS r | JXL r/w |
|
75
|
-
AAC r | DYLIB r | K25 r |
|
76
|
-
AAE r | EIP r | KDC r |
|
77
|
-
AAX r/w | EPS r/w | KEY r |
|
78
|
-
ACR r | EPUB r | LA r |
|
79
|
-
AFM r | ERF r/w | LFP r |
|
80
|
-
AI r/w | EXE r | LIF r |
|
81
|
-
AIFF r | EXIF r/w/c | LNK r |
|
82
|
-
APE r | EXR r | LRV r/w |
|
83
|
-
ARQ r/w | EXV r/w/c | M2TS r |
|
84
|
-
ARW r/w | F4A/V r/w | M4A/V r/w |
|
85
|
-
ASF r | FFF r/w | MACOS r |
|
86
|
-
AVI r | FITS r | MAX r |
|
87
|
-
AVIF r/w | FLA r | MEF r/w |
|
88
|
-
AZW r | FLAC r | MIE r/w/c |
|
89
|
-
BMP r | FLIF r/w | MIFF r |
|
90
|
-
BPG r | FLV r | MKA r |
|
91
|
-
BTF r | FPF r | MKS r |
|
92
|
-
C2PA r | FPX r | MKV r |
|
93
|
-
CHM r | GIF r/w | MNG r/w |
|
94
|
-
COS r | GLV r/w | MOBI r |
|
95
|
-
CR2 r/w | GPR r/w | MODD r |
|
96
|
-
CR3 r/w | GZ r | MOI r |
|
97
|
-
CRM r/w | HDP r/w | MOS r/w |
|
98
|
-
CRW r/w | HDR r | MOV r/w |
|
99
|
-
CS1 r/w | HEIC r/w | MP3 r |
|
100
|
-
CSV r | HEIF r/w | MP4 r/w |
|
101
|
-
CUR r | HTML r | MPC r |
|
102
|
-
CZI r | ICC r/w/c | MPG r |
|
103
|
-
DCM r | ICO r | MPO r/w |
|
104
|
-
DCP r/w | ICS r | MQV r/w |
|
105
|
-
DCR r | IDML r | MRC r |
|
106
|
-
DFONT r | IIQ r/w | MRW r/w |
|
107
|
-
DIVX r | IND r/w | MXF r |
|
108
|
-
DJVU r | INSP r/w | NEF r/w |
|
109
|
-
DLL r | INSV r |
|
110
|
-
DNG r/w | INX r |
|
111
|
-
DOC r | ISO r |
|
68
|
+
360 r/w | DOCX r | ITC r | NUMBERS r | RAW r/w
|
69
|
+
3FR r | DPX r | J2C r | NXD r | RIFF r
|
70
|
+
3G2 r/w | DR4 r/w/c | JNG r/w | O r | RSRC r
|
71
|
+
3GP r/w | DSS r | JP2 r/w | ODP r | RTF r
|
72
|
+
7Z r | DV r | JPEG r/w | ODS r | RW2 r/w
|
73
|
+
A r | DVB r/w | JSON r | ODT r | RWL r/w
|
74
|
+
AA r | DVR-MS r | JXL r/w | OFR r | RWZ r
|
75
|
+
AAC r | DYLIB r | K25 r | OGG r | RM r
|
76
|
+
AAE r | EIP r | KDC r | OGV r | SEQ r
|
77
|
+
AAX r/w | EPS r/w | KEY r | ONP r | SKETCH r
|
78
|
+
ACR r | EPUB r | LA r | OPUS r | SO r
|
79
|
+
AFM r | ERF r/w | LFP r | ORF r/w | SR2 r/w
|
80
|
+
AI r/w | EXE r | LIF r | ORI r/w | SRF r
|
81
|
+
AIFF r | EXIF r/w/c | LNK r | OTF r | SRW r/w
|
82
|
+
APE r | EXR r | LRV r/w | PAC r | SVG r
|
83
|
+
ARQ r/w | EXV r/w/c | M2TS r | PAGES r | SWF r
|
84
|
+
ARW r/w | F4A/V r/w | M4A/V r/w | PBM r/w | THM r/w
|
85
|
+
ASF r | FFF r/w | MACOS r | PCD r | TIFF r/w
|
86
|
+
AVI r | FITS r | MAX r | PCX r | TORRENT r
|
87
|
+
AVIF r/w | FLA r | MEF r/w | PDB r | TTC r
|
88
|
+
AZW r | FLAC r | MIE r/w/c | PDF r/w | TTF r
|
89
|
+
BMP r | FLIF r/w | MIFF r | PEF r/w | TXT r
|
90
|
+
BPG r | FLV r | MKA r | PFA r | VCF r
|
91
|
+
BTF r | FPF r | MKS r | PFB r | VNT r
|
92
|
+
C2PA r | FPX r | MKV r | PFM r | VRD r/w/c
|
93
|
+
CHM r | GIF r/w | MNG r/w | PGF r | VSD r
|
94
|
+
COS r | GLV r/w | MOBI r | PGM r/w | WAV r
|
95
|
+
CR2 r/w | GPR r/w | MODD r | PLIST r | WDP r/w
|
96
|
+
CR3 r/w | GZ r | MOI r | PICT r | WEBP r/w
|
97
|
+
CRM r/w | HDP r/w | MOS r/w | PMP r | WEBM r
|
98
|
+
CRW r/w | HDR r | MOV r/w | PNG r/w | WMA r
|
99
|
+
CS1 r/w | HEIC r/w | MP3 r | PPM r/w | WMV r
|
100
|
+
CSV r | HEIF r/w | MP4 r/w | PPT r | WPG r
|
101
|
+
CUR r | HTML r | MPC r | PPTX r | WTV r
|
102
|
+
CZI r | ICC r/w/c | MPG r | PS r/w | WV r
|
103
|
+
DCM r | ICO r | MPO r/w | PSB r/w | X3F r/w
|
104
|
+
DCP r/w | ICS r | MQV r/w | PSD r/w | XCF r
|
105
|
+
DCR r | IDML r | MRC r | PSP r | XISF r
|
106
|
+
DFONT r | IIQ r/w | MRW r/w | QTIF r/w | XLS r
|
107
|
+
DIVX r | IND r/w | MXF r | R3D r | XLSX r
|
108
|
+
DJVU r | INSP r/w | NEF r/w | RA r | XMP r/w/c
|
109
|
+
DLL r | INSV r | NKA r | RAF r/w | ZIP r
|
110
|
+
DNG r/w | INX r | NKSC r/w | RAM r |
|
111
|
+
DOC r | ISO r | NRW r/w | RAR r |
|
112
112
|
|
113
113
|
Meta Information
|
114
114
|
----------------------+----------------------+---------------------
|
@@ -715,6 +715,13 @@ value to be added to the maker notes base offset. It may also be set to the
|
|
715
715
|
empty string ('') for ExifTool will take its best guess at the correct base,
|
716
716
|
or undef (the default) for no base adjustment.
|
717
717
|
|
718
|
+
=item GeoDir
|
719
|
+
|
720
|
+
[Not a real option] Provided as a convenience to allow
|
721
|
+
$Image::ExifTool::geoDir to be set at runtime. This variable specifies the
|
722
|
+
directory for the Geolocation databases, and is used only once when these
|
723
|
+
databases are loaded.
|
724
|
+
|
718
725
|
=item Geolocation
|
719
726
|
|
720
727
|
Flag to generate geolocation tags based on the GPSLatitude/GPSLongitude or
|
@@ -738,9 +745,10 @@ use of the alternate names. Default is 1.
|
|
738
745
|
|
739
746
|
Comma-separated list of feature codes to include in city search, or exclude
|
740
747
|
if the list begins with a dash (-). Valid feature codes are PPL, PPLA,
|
741
|
-
PPLA2, PPLA3, PPLA4, PPLA5, PPLC, PPLCH, PPLF, PPLG, PPLL,
|
742
|
-
and Other
|
743
|
-
|
748
|
+
PPLA2, PPLA3, PPLA4, PPLA5, PPLC, PPLCH, PPLF, PPLG, PPLH, PPLL, PPLQ, PPLR,
|
749
|
+
PPLS, PPLW, PPLX, STLMT and Other, plus possible user-include codes if an
|
750
|
+
alternate database is used. See L<http://www.geonames.org/export/codes.html#P>
|
751
|
+
for a description of these codes. Default is undef.
|
744
752
|
|
745
753
|
=item GeolocMaxDist
|
746
754
|
|
@@ -825,6 +833,12 @@ goes to the file specified by the TextOut option (\*STDOUT by default).
|
|
825
833
|
Base for HTML dump offsets. If not defined, the EXIF/TIFF base offset is
|
826
834
|
used. Set to 0 for absolute offsets. Default is undef.
|
827
835
|
|
836
|
+
=item IgnoreGroups
|
837
|
+
|
838
|
+
Comma-separated list of group names to ignore when reading. The group names
|
839
|
+
are case insensitive and may be preceeded by a family number. Set to undef
|
840
|
+
to clear the previous IgnoreGroups list. Default is undef.
|
841
|
+
|
828
842
|
=item IgnoreMinorErrors
|
829
843
|
|
830
844
|
Flag to ignore minor errors. Causes minor errors to be downgraded to
|
@@ -838,12 +852,12 @@ warnings are denoted by "[minor]" at the start of the message, or "[Minor]"
|
|
838
852
|
|
839
853
|
=item IgnoreTags
|
840
854
|
|
841
|
-
|
842
|
-
memory is limited because the ignored tag values are not
|
843
|
-
The tag names are case insensitive and group names and
|
844
|
-
allowed. A special tag name of "All" may be used to
|
845
|
-
those specified by the L</RequestTags> option. Set
|
846
|
-
previous IgnoreTags list. Default is undef.
|
855
|
+
Comma-separated list of tag names to ignore when reading. This may help in
|
856
|
+
situations where memory is limited because the ignored tag values are not
|
857
|
+
stored in memory. The tag names are case insensitive and group names and
|
858
|
+
wildcards are not allowed. A special tag name of "All" may be used to
|
859
|
+
ignore all tags except those specified by the L</RequestTags> option. Set
|
860
|
+
to undef to clear the previous IgnoreTags list. Default is undef.
|
847
861
|
|
848
862
|
=item ImageHashType
|
849
863
|
|
@@ -1099,10 +1113,12 @@ Output file reference for Verbose and HtmlDump options. Default is
|
|
1099
1113
|
|
1100
1114
|
=item TimeZone
|
1101
1115
|
|
1102
|
-
|
1103
|
-
|
1104
|
-
|
1105
|
-
|
1116
|
+
Set the time zone for local date/time values. The value is a time zone
|
1117
|
+
offset like "+05:00" (but note that the offset is to UTC, not from UTC, so
|
1118
|
+
it is positive for western time zones), or a time zone name like "EST5EDT".
|
1119
|
+
For Unix-based systems, the value may also be a time zone ID like
|
1120
|
+
"America/New_York". Requires Time::Piece on Windows, or POSIX::tzset on
|
1121
|
+
other systems. Default is undef.
|
1106
1122
|
|
1107
1123
|
=item Unknown
|
1108
1124
|
|
@@ -1226,7 +1242,7 @@ L</ExtractInfo>:
|
|
1226
1242
|
|
1227
1243
|
Binary, Charset, CharsetEXIF, CharsetFileName, CharsetID3, CharsetIPTC,
|
1228
1244
|
CharsetPhotoshop, CharsetQuickTime, CharsetRIFF, Composite, ExtendedXMP,
|
1229
|
-
ExtractEmbedded, FastScan, FixBase, HtmlDump, HtmlDumpBase,
|
1245
|
+
ExtractEmbedded, FastScan, FixBase, HtmlDump, HtmlDumpBase, IgnoreGroups,
|
1230
1246
|
IgnoreMinorErrors, IgnoreTags, Lang, LargeFileSupport, MakerNotes,
|
1231
1247
|
MDItemTags, NoPDFList, Password, QuickTimeUTC (enforced 1904 time zero),
|
1232
1248
|
RequestAll, RequestTags, SaveFormat, SavePath, ScanForXMP, Struct, TextOut,
|
@@ -2524,19 +2540,20 @@ RIFF, RMETA, RSRC, RTF, Radiance, Rawzor, Real, Real-CONT, Real-MDPR,
|
|
2524
2540
|
Real-PROP, Real-RA3, Real-RA4, Real-RA5, Real-RJMD, Reconyx, Red, Ricoh,
|
2525
2541
|
SPIFF, SR2, SR2DataIFD, SR2SubIFD, SRF#, SVG, Samsung, Sanyo, Scalado,
|
2526
2542
|
Sigma, SigmaRaw, Sony, SonyIDC, Stim, SubIFD, System, Theora, Torrent,
|
2527
|
-
Track#, UserData, VCalendar, VCard, VNote, Version0, Vorbis,
|
2528
|
-
|
2529
|
-
XMP-
|
2530
|
-
XMP-
|
2531
|
-
XMP-
|
2532
|
-
XMP-
|
2533
|
-
XMP-
|
2534
|
-
XMP-
|
2535
|
-
XMP-
|
2536
|
-
XMP-
|
2537
|
-
XMP-
|
2538
|
-
XMP-
|
2539
|
-
XMP-xmpPLUS, XMP-xmpRights, XMP-xmpTPg,
|
2543
|
+
Track#, UserData, UserDefined, VCalendar, VCard, VNote, Version0, Vorbis,
|
2544
|
+
WTV, XML, XMP, XMP-DICOM, XMP-Device, XMP-GAudio, XMP-GCamera,
|
2545
|
+
XMP-GCreations, XMP-GDepth, XMP-GFocus, XMP-GImage, XMP-GPano,
|
2546
|
+
XMP-GSpherical, XMP-LImage, XMP-MP, XMP-MP1, XMP-PixelLive, XMP-aas,
|
2547
|
+
XMP-acdsee, XMP-album, XMP-apple-fi, XMP-ast, XMP-aux, XMP-cc, XMP-cell,
|
2548
|
+
XMP-crd, XMP-creatorAtom, XMP-crs, XMP-dc, XMP-dex, XMP-digiKam,
|
2549
|
+
XMP-drone-dji, XMP-dwc, XMP-et, XMP-exif, XMP-exifEX, XMP-expressionmedia,
|
2550
|
+
XMP-extensis, XMP-fpv, XMP-getty, XMP-hdr, XMP-hdrgm, XMP-ics, XMP-iptcCore,
|
2551
|
+
XMP-iptcExt, XMP-lr, XMP-mediapro, XMP-microsoft, XMP-mwg-coll, XMP-mwg-kw,
|
2552
|
+
XMP-mwg-rs, XMP-nine, XMP-panorama, XMP-pdf, XMP-pdfx, XMP-photomech,
|
2553
|
+
XMP-photoshop, XMP-plus, XMP-pmi, XMP-prism, XMP-prl, XMP-prm, XMP-pur,
|
2554
|
+
XMP-rdf, XMP-sdc, XMP-swf, XMP-tiff, XMP-x, XMP-xmp, XMP-xmpBJ, XMP-xmpDM,
|
2555
|
+
XMP-xmpDSA, XMP-xmpMM, XMP-xmpNote, XMP-xmpPLUS, XMP-xmpRights, XMP-xmpTPg,
|
2556
|
+
ZIP, iTunes
|
2540
2557
|
|
2541
2558
|
=item Family 2 (Category):
|
2542
2559
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Summary: perl module for image data extraction
|
2
2
|
Name: perl-Image-ExifTool
|
3
|
-
Version: 12.
|
3
|
+
Version: 12.85
|
4
4
|
Release: 1
|
5
5
|
License: Artistic/GPL
|
6
6
|
Group: Development/Libraries/Perl
|
@@ -22,50 +22,50 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
22
22
|
|
23
23
|
File Types
|
24
24
|
------------+-------------+-------------+-------------+------------
|
25
|
-
360 r/w | DOCX r | ITC r |
|
26
|
-
3FR r | DPX r | J2C r |
|
27
|
-
3G2 r/w | DR4 r/w/c | JNG r/w |
|
28
|
-
3GP r/w | DSS r | JP2 r/w |
|
29
|
-
7Z r | DV r | JPEG r/w |
|
30
|
-
A r | DVB r/w | JSON r |
|
31
|
-
AA r | DVR-MS r | JXL r/w |
|
32
|
-
AAC r | DYLIB r | K25 r |
|
33
|
-
AAE r | EIP r | KDC r |
|
34
|
-
AAX r/w | EPS r/w | KEY r |
|
35
|
-
ACR r | EPUB r | LA r |
|
36
|
-
AFM r | ERF r/w | LFP r |
|
37
|
-
AI r/w | EXE r | LIF r |
|
38
|
-
AIFF r | EXIF r/w/c | LNK r |
|
39
|
-
APE r | EXR r | LRV r/w |
|
40
|
-
ARQ r/w | EXV r/w/c | M2TS r |
|
41
|
-
ARW r/w | F4A/V r/w | M4A/V r/w |
|
42
|
-
ASF r | FFF r/w | MACOS r |
|
43
|
-
AVI r | FITS r | MAX r |
|
44
|
-
AVIF r/w | FLA r | MEF r/w |
|
45
|
-
AZW r | FLAC r | MIE r/w/c |
|
46
|
-
BMP r | FLIF r/w | MIFF r |
|
47
|
-
BPG r | FLV r | MKA r |
|
48
|
-
BTF r | FPF r | MKS r |
|
49
|
-
C2PA r | FPX r | MKV r |
|
50
|
-
CHM r | GIF r/w | MNG r/w |
|
51
|
-
COS r | GLV r/w | MOBI r |
|
52
|
-
CR2 r/w | GPR r/w | MODD r |
|
53
|
-
CR3 r/w | GZ r | MOI r |
|
54
|
-
CRM r/w | HDP r/w | MOS r/w |
|
55
|
-
CRW r/w | HDR r | MOV r/w |
|
56
|
-
CS1 r/w | HEIC r/w | MP3 r |
|
57
|
-
CSV r | HEIF r/w | MP4 r/w |
|
58
|
-
CUR r | HTML r | MPC r |
|
59
|
-
CZI r | ICC r/w/c | MPG r |
|
60
|
-
DCM r | ICO r | MPO r/w |
|
61
|
-
DCP r/w | ICS r | MQV r/w |
|
62
|
-
DCR r | IDML r | MRC r |
|
63
|
-
DFONT r | IIQ r/w | MRW r/w |
|
64
|
-
DIVX r | IND r/w | MXF r |
|
65
|
-
DJVU r | INSP r/w | NEF r/w |
|
66
|
-
DLL r | INSV r |
|
67
|
-
DNG r/w | INX r |
|
68
|
-
DOC r | ISO r |
|
25
|
+
360 r/w | DOCX r | ITC r | NUMBERS r | RAW r/w
|
26
|
+
3FR r | DPX r | J2C r | NXD r | RIFF r
|
27
|
+
3G2 r/w | DR4 r/w/c | JNG r/w | O r | RSRC r
|
28
|
+
3GP r/w | DSS r | JP2 r/w | ODP r | RTF r
|
29
|
+
7Z r | DV r | JPEG r/w | ODS r | RW2 r/w
|
30
|
+
A r | DVB r/w | JSON r | ODT r | RWL r/w
|
31
|
+
AA r | DVR-MS r | JXL r/w | OFR r | RWZ r
|
32
|
+
AAC r | DYLIB r | K25 r | OGG r | RM r
|
33
|
+
AAE r | EIP r | KDC r | OGV r | SEQ r
|
34
|
+
AAX r/w | EPS r/w | KEY r | ONP r | SKETCH r
|
35
|
+
ACR r | EPUB r | LA r | OPUS r | SO r
|
36
|
+
AFM r | ERF r/w | LFP r | ORF r/w | SR2 r/w
|
37
|
+
AI r/w | EXE r | LIF r | ORI r/w | SRF r
|
38
|
+
AIFF r | EXIF r/w/c | LNK r | OTF r | SRW r/w
|
39
|
+
APE r | EXR r | LRV r/w | PAC r | SVG r
|
40
|
+
ARQ r/w | EXV r/w/c | M2TS r | PAGES r | SWF r
|
41
|
+
ARW r/w | F4A/V r/w | M4A/V r/w | PBM r/w | THM r/w
|
42
|
+
ASF r | FFF r/w | MACOS r | PCD r | TIFF r/w
|
43
|
+
AVI r | FITS r | MAX r | PCX r | TORRENT r
|
44
|
+
AVIF r/w | FLA r | MEF r/w | PDB r | TTC r
|
45
|
+
AZW r | FLAC r | MIE r/w/c | PDF r/w | TTF r
|
46
|
+
BMP r | FLIF r/w | MIFF r | PEF r/w | TXT r
|
47
|
+
BPG r | FLV r | MKA r | PFA r | VCF r
|
48
|
+
BTF r | FPF r | MKS r | PFB r | VNT r
|
49
|
+
C2PA r | FPX r | MKV r | PFM r | VRD r/w/c
|
50
|
+
CHM r | GIF r/w | MNG r/w | PGF r | VSD r
|
51
|
+
COS r | GLV r/w | MOBI r | PGM r/w | WAV r
|
52
|
+
CR2 r/w | GPR r/w | MODD r | PLIST r | WDP r/w
|
53
|
+
CR3 r/w | GZ r | MOI r | PICT r | WEBP r/w
|
54
|
+
CRM r/w | HDP r/w | MOS r/w | PMP r | WEBM r
|
55
|
+
CRW r/w | HDR r | MOV r/w | PNG r/w | WMA r
|
56
|
+
CS1 r/w | HEIC r/w | MP3 r | PPM r/w | WMV r
|
57
|
+
CSV r | HEIF r/w | MP4 r/w | PPT r | WPG r
|
58
|
+
CUR r | HTML r | MPC r | PPTX r | WTV r
|
59
|
+
CZI r | ICC r/w/c | MPG r | PS r/w | WV r
|
60
|
+
DCM r | ICO r | MPO r/w | PSB r/w | X3F r/w
|
61
|
+
DCP r/w | ICS r | MQV r/w | PSD r/w | XCF r
|
62
|
+
DCR r | IDML r | MRC r | PSP r | XISF r
|
63
|
+
DFONT r | IIQ r/w | MRW r/w | QTIF r/w | XLS r
|
64
|
+
DIVX r | IND r/w | MXF r | R3D r | XLSX r
|
65
|
+
DJVU r | INSP r/w | NEF r/w | RA r | XMP r/w/c
|
66
|
+
DLL r | INSV r | NKA r | RAF r/w | ZIP r
|
67
|
+
DNG r/w | INX r | NKSC r/w | RAM r |
|
68
|
+
DOC r | ISO r | NRW r/w | RAR r |
|
69
69
|
|
70
70
|
Meta Information
|
71
71
|
----------------------+----------------------+---------------------
|
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: 12.
|
4
|
+
version: 12.85.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: 2024-
|
12
|
+
date: 2024-06-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: exiftool
|
@@ -50,6 +50,7 @@ files:
|
|
50
50
|
- bin/arg_files/xmp2gps.args
|
51
51
|
- bin/arg_files/xmp2iptc.args
|
52
52
|
- bin/arg_files/xmp2pdf.args
|
53
|
+
- bin/build_geolocation
|
53
54
|
- bin/config_files/acdsee.config
|
54
55
|
- bin/config_files/age.config
|
55
56
|
- bin/config_files/bibble.config
|
@@ -157,24 +158,6 @@ files:
|
|
157
158
|
- bin/lib/Image/ExifTool/GIMP.pm
|
158
159
|
- bin/lib/Image/ExifTool/GM.pm
|
159
160
|
- bin/lib/Image/ExifTool/GPS.pm
|
160
|
-
- bin/lib/Image/ExifTool/GeoLang/cs.pm
|
161
|
-
- bin/lib/Image/ExifTool/GeoLang/de.pm
|
162
|
-
- bin/lib/Image/ExifTool/GeoLang/en_ca.pm
|
163
|
-
- bin/lib/Image/ExifTool/GeoLang/en_gb.pm
|
164
|
-
- bin/lib/Image/ExifTool/GeoLang/es.pm
|
165
|
-
- bin/lib/Image/ExifTool/GeoLang/fi.pm
|
166
|
-
- bin/lib/Image/ExifTool/GeoLang/fr.pm
|
167
|
-
- bin/lib/Image/ExifTool/GeoLang/it.pm
|
168
|
-
- bin/lib/Image/ExifTool/GeoLang/ja.pm
|
169
|
-
- bin/lib/Image/ExifTool/GeoLang/ko.pm
|
170
|
-
- bin/lib/Image/ExifTool/GeoLang/nl.pm
|
171
|
-
- bin/lib/Image/ExifTool/GeoLang/pl.pm
|
172
|
-
- bin/lib/Image/ExifTool/GeoLang/ru.pm
|
173
|
-
- bin/lib/Image/ExifTool/GeoLang/sk.pm
|
174
|
-
- bin/lib/Image/ExifTool/GeoLang/sv.pm
|
175
|
-
- bin/lib/Image/ExifTool/GeoLang/tr.pm
|
176
|
-
- bin/lib/Image/ExifTool/GeoLang/zh_cn.pm
|
177
|
-
- bin/lib/Image/ExifTool/GeoLang/zh_tw.pm
|
178
161
|
- bin/lib/Image/ExifTool/GeoTiff.pm
|
179
162
|
- bin/lib/Image/ExifTool/Geolocation.dat
|
180
163
|
- bin/lib/Image/ExifTool/Geolocation.pm
|