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.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/bin/Changes +59 -0
  3. data/bin/MANIFEST +2 -18
  4. data/bin/META.json +1 -1
  5. data/bin/META.yml +1 -1
  6. data/bin/README +47 -46
  7. data/bin/build_geolocation +945 -0
  8. data/bin/config_files/example.config +2 -2
  9. data/bin/exiftool +75 -51
  10. data/bin/fmt_files/gpx.fmt +2 -1
  11. data/bin/fmt_files/gpx_wpt.fmt +2 -1
  12. data/bin/lib/Image/ExifTool/Apple.pm +52 -7
  13. data/bin/lib/Image/ExifTool/BuildTagLookup.pm +5 -2
  14. data/bin/lib/Image/ExifTool/Canon.pm +11 -2
  15. data/bin/lib/Image/ExifTool/CanonVRD.pm +18 -5
  16. data/bin/lib/Image/ExifTool/DJI.pm +29 -0
  17. data/bin/lib/Image/ExifTool/DPX.pm +3 -3
  18. data/bin/lib/Image/ExifTool/Exif.pm +19 -2
  19. data/bin/lib/Image/ExifTool/GM.pm +17 -8
  20. data/bin/lib/Image/ExifTool/Geolocation.dat +0 -0
  21. data/bin/lib/Image/ExifTool/Geolocation.pm +170 -104
  22. data/bin/lib/Image/ExifTool/Geotag.pm +18 -10
  23. data/bin/lib/Image/ExifTool/ID3.pm +28 -6
  24. data/bin/lib/Image/ExifTool/Nikon.pm +25 -6
  25. data/bin/lib/Image/ExifTool/Pentax.pm +64 -13
  26. data/bin/lib/Image/ExifTool/QuickTime.pm +26 -7
  27. data/bin/lib/Image/ExifTool/QuickTimeStream.pl +5 -0
  28. data/bin/lib/Image/ExifTool/Sony.pm +15 -6
  29. data/bin/lib/Image/ExifTool/TagLookup.pm +3557 -3540
  30. data/bin/lib/Image/ExifTool/TagNames.pod +61 -13
  31. data/bin/lib/Image/ExifTool/WriteQuickTime.pl +4 -2
  32. data/bin/lib/Image/ExifTool/Writer.pl +166 -134
  33. data/bin/lib/Image/ExifTool/XMP.pm +2 -0
  34. data/bin/lib/Image/ExifTool/XMP2.pl +3 -0
  35. data/bin/lib/Image/ExifTool.pm +59 -27
  36. data/bin/lib/Image/ExifTool.pod +88 -71
  37. data/bin/perl-Image-ExifTool.spec +45 -45
  38. data/lib/exiftool_vendored/version.rb +1 -1
  39. metadata +3 -20
  40. data/bin/lib/Image/ExifTool/GeoLang/cs.pm +0 -978
  41. data/bin/lib/Image/ExifTool/GeoLang/de.pm +0 -1975
  42. data/bin/lib/Image/ExifTool/GeoLang/en_ca.pm +0 -44
  43. data/bin/lib/Image/ExifTool/GeoLang/en_gb.pm +0 -124
  44. data/bin/lib/Image/ExifTool/GeoLang/es.pm +0 -2921
  45. data/bin/lib/Image/ExifTool/GeoLang/fi.pm +0 -1116
  46. data/bin/lib/Image/ExifTool/GeoLang/fr.pm +0 -3171
  47. data/bin/lib/Image/ExifTool/GeoLang/it.pm +0 -2750
  48. data/bin/lib/Image/ExifTool/GeoLang/ja.pm +0 -10256
  49. data/bin/lib/Image/ExifTool/GeoLang/ko.pm +0 -4499
  50. data/bin/lib/Image/ExifTool/GeoLang/nl.pm +0 -1270
  51. data/bin/lib/Image/ExifTool/GeoLang/pl.pm +0 -3019
  52. data/bin/lib/Image/ExifTool/GeoLang/ru.pm +0 -18220
  53. data/bin/lib/Image/ExifTool/GeoLang/sk.pm +0 -441
  54. data/bin/lib/Image/ExifTool/GeoLang/sv.pm +0 -714
  55. data/bin/lib/Image/ExifTool/GeoLang/tr.pm +0 -452
  56. data/bin/lib/Image/ExifTool/GeoLang/zh_cn.pm +0 -2225
  57. data/bin/lib/Image/ExifTool/GeoLang/zh_tw.pm +0 -72
@@ -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.82';
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' }, Priority => 0 );
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 ($n, $i, $km, $be) = Image::ExifTool::Geolocation::Geolocate($self->Encode($val,'UTF8'), $opts);
1998
- return '' unless $n;
1999
- if ($n > 1 and $self->Warn('Multiple matching cities found',2)) {
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($i, $$opts{Lang});
2004
- my @tags = $self->GetGeolocateTags($wantGroup, $km ? 0 : 1);
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 name' },
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 eq 'IgnoreTags') {
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?*:]+/g);
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
- eval { require POSIX; POSIX::tzset() };
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 ($n, $i, $km, $be) = Image::ExifTool::Geolocation::Geolocate($arg, $opts);
4384
+ my ($cities, $dist) = Image::ExifTool::Geolocation::Geolocate($arg, $opts);
4365
4385
  delete $$opts{GeolocMulti};
4366
- # ($i will be an ARRAY ref if multiple matches were found and the Duplicates option is set)
4367
- if ($n and (ref $i or $n < 2 or not $self->Warn('Multiple Geolocation cities are possible',2))) {
4368
- my $list = ref $i ? $i : [ $i ]; # make a list if not done alreaday
4369
- foreach $i (@$list) {
4370
- my @geo = Image::ExifTool::Geolocation::GetEntry($i, $$opts{Lang});
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
- next if $i != $$list[0];
4381
- $self->FoundTag(GeolocationDistance => $km) if defined $km;
4382
- $self->FoundTag(GeolocationBearing => $be) if defined $be;
4383
- $self->FoundTag(GeolocationWarning => "Search matched $n cities") if $n > 1;
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}) {
@@ -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 | O r | RSRC r
69
- 3FR r | DPX r | J2C r | ODP r | RTF r
70
- 3G2 r/w | DR4 r/w/c | JNG r/w | ODS r | RW2 r/w
71
- 3GP r/w | DSS r | JP2 r/w | ODT r | RWL r/w
72
- 7Z r | DV r | JPEG r/w | OFR r | RWZ r
73
- A r | DVB r/w | JSON r | OGG r | RM r
74
- AA r | DVR-MS r | JXL r/w | OGV r | SEQ r
75
- AAC r | DYLIB r | K25 r | ONP r | SKETCH r
76
- AAE r | EIP r | KDC r | OPUS r | SO r
77
- AAX r/w | EPS r/w | KEY r | ORF r/w | SR2 r/w
78
- ACR r | EPUB r | LA r | ORI r/w | SRF r
79
- AFM r | ERF r/w | LFP r | OTF r | SRW r/w
80
- AI r/w | EXE r | LIF r | PAC r | SVG r
81
- AIFF r | EXIF r/w/c | LNK r | PAGES r | SWF r
82
- APE r | EXR r | LRV r/w | PBM r/w | THM r/w
83
- ARQ r/w | EXV r/w/c | M2TS r | PCD r | TIFF r/w
84
- ARW r/w | F4A/V r/w | M4A/V r/w | PCX r | TORRENT r
85
- ASF r | FFF r/w | MACOS r | PDB r | TTC r
86
- AVI r | FITS r | MAX r | PDF r/w | TTF r
87
- AVIF r/w | FLA r | MEF r/w | PEF r/w | TXT r
88
- AZW r | FLAC r | MIE r/w/c | PFA r | VCF r
89
- BMP r | FLIF r/w | MIFF r | PFB r | VNT r
90
- BPG r | FLV r | MKA r | PFM r | VRD r/w/c
91
- BTF r | FPF r | MKS r | PGF r | VSD r
92
- C2PA r | FPX r | MKV r | PGM r/w | WAV r
93
- CHM r | GIF r/w | MNG r/w | PLIST r | WDP r/w
94
- COS r | GLV r/w | MOBI r | PICT r | WEBP r/w
95
- CR2 r/w | GPR r/w | MODD r | PMP r | WEBM r
96
- CR3 r/w | GZ r | MOI r | PNG r/w | WMA r
97
- CRM r/w | HDP r/w | MOS r/w | PPM r/w | WMV r
98
- CRW r/w | HDR r | MOV r/w | PPT r | WPG r
99
- CS1 r/w | HEIC r/w | MP3 r | PPTX r | WTV r
100
- CSV r | HEIF r/w | MP4 r/w | PS r/w | WV r
101
- CUR r | HTML r | MPC r | PSB r/w | X3F r/w
102
- CZI r | ICC r/w/c | MPG r | PSD r/w | XCF r
103
- DCM r | ICO r | MPO r/w | PSP r | XISF r
104
- DCP r/w | ICS r | MQV r/w | QTIF r/w | XLS r
105
- DCR r | IDML r | MRC r | R3D r | XLSX r
106
- DFONT r | IIQ r/w | MRW r/w | RA r | XMP r/w/c
107
- DIVX r | IND r/w | MXF r | RAF r/w | ZIP r
108
- DJVU r | INSP r/w | NEF r/w | RAM r |
109
- DLL r | INSV r | NKSC r/w | RAR r |
110
- DNG r/w | INX r | NRW r/w | RAW r/w |
111
- DOC r | ISO r | NUMBERS r | RIFF 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, PPLR, PPLS, STLMT
742
- and Other. See L<http://www.geonames.org/export/codes.html#P> for a
743
- description of these codes. Default is undef.
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
- List of tag names to ignore when reading. This may help in situations where
842
- memory is limited because the ignored tag values are not stored in memory.
843
- The tag names are case insensitive and group names and wildcards are not
844
- allowed. A special tag name of "All" may be used to ignore all tags except
845
- those specified by the L</RequestTags> option. Set to undef to clear the
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
- Time zone for local date/time values. May be set to any valid TZ string.
1103
- Uses the system time zone if not specified. Default is undef. (Requires
1104
- POSIX::tzset, which may not be available in Windows. A work-around in
1105
- Windows is to C<set TZ=E<lt>zoneE<gt>> before running ExifTool.)
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, WTV, XML, XMP,
2528
- XMP-DICOM, XMP-Device, XMP-GAudio, XMP-GCamera, XMP-GCreations, XMP-GDepth,
2529
- XMP-GFocus, XMP-GImage, XMP-GPano, XMP-GSpherical, XMP-LImage, XMP-MP,
2530
- XMP-MP1, XMP-PixelLive, XMP-aas, XMP-acdsee, XMP-album, XMP-apple-fi,
2531
- XMP-ast, XMP-aux, XMP-cc, XMP-cell, XMP-crd, XMP-creatorAtom, XMP-crs,
2532
- XMP-dc, XMP-dex, XMP-digiKam, XMP-drone-dji, XMP-dwc, XMP-et, XMP-exif,
2533
- XMP-exifEX, XMP-expressionmedia, XMP-extensis, XMP-fpv, XMP-getty, XMP-hdr,
2534
- XMP-hdrgm, XMP-ics, XMP-iptcCore, XMP-iptcExt, XMP-lr, XMP-mediapro,
2535
- XMP-microsoft, XMP-mwg-coll, XMP-mwg-kw, XMP-mwg-rs, XMP-nine, XMP-panorama,
2536
- XMP-pdf, XMP-pdfx, XMP-photomech, XMP-photoshop, XMP-plus, XMP-pmi,
2537
- XMP-prism, XMP-prl, XMP-prm, XMP-pur, XMP-rdf, XMP-sdc, XMP-swf, XMP-tiff,
2538
- XMP-x, XMP-xmp, XMP-xmpBJ, XMP-xmpDM, XMP-xmpDSA, XMP-xmpMM, XMP-xmpNote,
2539
- XMP-xmpPLUS, XMP-xmpRights, XMP-xmpTPg, ZIP, iTunes
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.82
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 | O r | RSRC r
26
- 3FR r | DPX r | J2C r | ODP r | RTF r
27
- 3G2 r/w | DR4 r/w/c | JNG r/w | ODS r | RW2 r/w
28
- 3GP r/w | DSS r | JP2 r/w | ODT r | RWL r/w
29
- 7Z r | DV r | JPEG r/w | OFR r | RWZ r
30
- A r | DVB r/w | JSON r | OGG r | RM r
31
- AA r | DVR-MS r | JXL r/w | OGV r | SEQ r
32
- AAC r | DYLIB r | K25 r | ONP r | SKETCH r
33
- AAE r | EIP r | KDC r | OPUS r | SO r
34
- AAX r/w | EPS r/w | KEY r | ORF r/w | SR2 r/w
35
- ACR r | EPUB r | LA r | ORI r/w | SRF r
36
- AFM r | ERF r/w | LFP r | OTF r | SRW r/w
37
- AI r/w | EXE r | LIF r | PAC r | SVG r
38
- AIFF r | EXIF r/w/c | LNK r | PAGES r | SWF r
39
- APE r | EXR r | LRV r/w | PBM r/w | THM r/w
40
- ARQ r/w | EXV r/w/c | M2TS r | PCD r | TIFF r/w
41
- ARW r/w | F4A/V r/w | M4A/V r/w | PCX r | TORRENT r
42
- ASF r | FFF r/w | MACOS r | PDB r | TTC r
43
- AVI r | FITS r | MAX r | PDF r/w | TTF r
44
- AVIF r/w | FLA r | MEF r/w | PEF r/w | TXT r
45
- AZW r | FLAC r | MIE r/w/c | PFA r | VCF r
46
- BMP r | FLIF r/w | MIFF r | PFB r | VNT r
47
- BPG r | FLV r | MKA r | PFM r | VRD r/w/c
48
- BTF r | FPF r | MKS r | PGF r | VSD r
49
- C2PA r | FPX r | MKV r | PGM r/w | WAV r
50
- CHM r | GIF r/w | MNG r/w | PLIST r | WDP r/w
51
- COS r | GLV r/w | MOBI r | PICT r | WEBP r/w
52
- CR2 r/w | GPR r/w | MODD r | PMP r | WEBM r
53
- CR3 r/w | GZ r | MOI r | PNG r/w | WMA r
54
- CRM r/w | HDP r/w | MOS r/w | PPM r/w | WMV r
55
- CRW r/w | HDR r | MOV r/w | PPT r | WPG r
56
- CS1 r/w | HEIC r/w | MP3 r | PPTX r | WTV r
57
- CSV r | HEIF r/w | MP4 r/w | PS r/w | WV r
58
- CUR r | HTML r | MPC r | PSB r/w | X3F r/w
59
- CZI r | ICC r/w/c | MPG r | PSD r/w | XCF r
60
- DCM r | ICO r | MPO r/w | PSP r | XISF r
61
- DCP r/w | ICS r | MQV r/w | QTIF r/w | XLS r
62
- DCR r | IDML r | MRC r | R3D r | XLSX r
63
- DFONT r | IIQ r/w | MRW r/w | RA r | XMP r/w/c
64
- DIVX r | IND r/w | MXF r | RAF r/w | ZIP r
65
- DJVU r | INSP r/w | NEF r/w | RAM r |
66
- DLL r | INSV r | NKSC r/w | RAR r |
67
- DNG r/w | INX r | NRW r/w | RAW r/w |
68
- DOC r | ISO r | NUMBERS r | RIFF 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
  ----------------------+----------------------+---------------------
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ExiftoolVendored
4
- VERSION = Gem::Version.new('12.82.0')
4
+ VERSION = Gem::Version.new('12.85.0')
5
5
  end
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.82.0
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-04-16 00:00:00.000000000 Z
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