exiftool_vendored 11.57.0 → 11.60.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.

@@ -360,6 +360,9 @@ numerical, and generated automatically otherwise.
360
360
  'DataTag' - associated tag name containing data for offset or
361
361
  byte count tags.
362
362
 
363
+ 'DelGroup' - set if deleting this tag is the same as deleting
364
+ the group of the same name.
365
+
363
366
  'Drop' - [IFD-format and PhaseOne makernote tags only] set to
364
367
  1 for tags that should be excluded when rebuilding maker notes
365
368
  when copying all tags. Set to a number larger than 1 to drop
@@ -29,7 +29,7 @@ use strict;
29
29
  use vars qw($VERSION);
30
30
  use Image::ExifTool qw(:DataAccess :Utils);
31
31
 
32
- $VERSION = '1.52';
32
+ $VERSION = '1.53';
33
33
 
34
34
  sub ConvertTimecode($);
35
35
  sub ProcessSGLT($$$);
@@ -904,7 +904,7 @@ my %code2charset = (
904
904
 
905
905
  # RIFF character set chunk
906
906
  %Image::ExifTool::RIFF::CSET = (
907
- PROCESS_PROC => \&Image::ExifTool::RIFF::ProcessBinaryData,
907
+ PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
908
908
  GROUPS => { 2 => 'Other' },
909
909
  FORMAT => 'int16u',
910
910
  0 => {
@@ -19,7 +19,7 @@ use strict;
19
19
  use vars qw($VERSION %sigmaLensTypes);
20
20
  use Image::ExifTool::Exif;
21
21
 
22
- $VERSION = '1.25';
22
+ $VERSION = '1.26';
23
23
 
24
24
  # sigma LensType lookup (ref IB)
25
25
  %sigmaLensTypes = (
@@ -88,7 +88,9 @@ $VERSION = '1.25';
88
88
  0x256 => 'Sigma 105mm F2.8 EX Macro',
89
89
  0x257 => 'Sigma 105mm F2.8 EX DG Macro',
90
90
  0x258 => 'Sigma 105mm F2.8 EX DG OS HSM Macro',
91
+ 0x259 => 'Sigma 105mm F1.4 DG HSM | A', #IB (A018)
91
92
  0x270 => 'Sigma 70mm F2.8 EX DG Macro', #NJ (SD1)
93
+ 0x271 => 'Sigma 70mm F2.8 DG Macro | A', #IB (A018)
92
94
  0x300 => 'Sigma 30mm F1.4 EX DC HSM',
93
95
  0x301 => 'Sigma 30mm F1.4 DC HSM | A',
94
96
  0x302 => 'Sigma 30mm F1.4 DC DN | C', #JR (DN lenses are only for Sony E or MFT mount)
@@ -175,6 +177,7 @@ $VERSION = '1.25';
175
177
  0x727 => 'Sigma 135-400mm F4.5-5.6 DG ASP APO',
176
178
  0x728 => 'Sigma 120-400mm F4.5-5.6 DG APO OS HSM',
177
179
  0x729 => 'Sigma 100-400mm F5-6.3 DG OS HSM | C', #JR (017)
180
+ 0x730 => 'Sigma 60-600mm F4.5-6.3 DG OS HSM | S', #IB (S018)
178
181
  0x733 => 'Sigma 170-500mm F5-6.3 ASP APO',
179
182
  0x734 => 'Sigma 170-500mm F5-6.3 DG ASP APO',
180
183
  0x735 => 'Sigma 50-500mm F4-6.3 EX RF HSM APO',
@@ -22,6 +22,8 @@
22
22
  # IB) Iliah Borg private communication (LibRaw)
23
23
  # JD) Jens Duttke private communication
24
24
  # JR) Jos Roost private communication
25
+ #
26
+ # NC = Not Confirmed
25
27
  #------------------------------------------------------------------------------
26
28
 
27
29
  package Image::ExifTool::Sony;
@@ -32,7 +34,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
32
34
  use Image::ExifTool::Exif;
33
35
  use Image::ExifTool::Minolta;
34
36
 
35
- $VERSION = '3.11';
37
+ $VERSION = '3.14';
36
38
 
37
39
  sub ProcessSRF($$$);
38
40
  sub ProcessSR2($$$);
@@ -90,8 +92,9 @@ sub PrintInvLensSpec($;$$);
90
92
  32791 => 'Sony E 16-70mm F4 ZA OSS', # VX9107
91
93
  32792 => 'Sony E 10-18mm F4 OSS', # VX9108
92
94
  32793 => 'Sony E PZ 16-50mm F3.5-5.6 OSS', # VX9109
93
- 32794 => 'Sony FE 35mm F2.8 ZA or Samyang AF 24mm F2.8', # VX9110
95
+ 32794 => 'Sony FE 35mm F2.8 ZA or Samyang Lens', # VX9110
94
96
  32794.1 => 'Samyang AF 24mm F2.8', #JR
97
+ 32794.2 => 'Samyang AF 35mm F2.8', #IB (also 51505)
95
98
  32795 => 'Sony FE 24-70mm F4 ZA OSS', # VX9111
96
99
  32796 => 'Sony FE 85mm F1.8 or Viltrox PFU RBMH 85mm F1.8', #JR
97
100
  32796.1 => 'Viltrox PFU RBMH 85mm F1.8', #JR (MF)
@@ -149,7 +152,7 @@ sub PrintInvLensSpec($;$$);
149
152
  33078 => 'Sony FE 100-400mm F4.5-5.6 GM OSS + 2X Teleconverter', #JR
150
153
  33079 => 'Sony FE 400mm F2.8 GM OSS + 1.4X Teleconverter', #IB
151
154
  33080 => 'Sony FE 400mm F2.8 GM OSS + 2X Teleconverter', #JR
152
- 33081 => 'Sony FE 200-600mm F5.6-6.3 G OSS + 1.4X Teleconverter', #JR (NC)
155
+ 33081 => 'Sony FE 200-600mm F5.6-6.3 G OSS + 1.4X Teleconverter', #JR
153
156
  33082 => 'Sony FE 200-600mm F5.6-6.3 G OSS + 2X Teleconverter', #JR
154
157
  33083 => 'Sony FE 600mm F4 GM OSS + 1.4X Teleconverter', #JR (NC)
155
158
  33084 => 'Sony FE 600mm F4 GM OSS + 2X Teleconverter', #JR
@@ -214,8 +217,9 @@ sub PrintInvLensSpec($;$$);
214
217
  # 504xx => 'Sigma 18-200mm F3.5-6.3 DC MACRO OS HSM | C + MC-11', # (014)
215
218
  # 504xx => 'Sigma 30mm F1.4 DC HSM | A + MC-11', # (013)
216
219
 
220
+ 51504 => 'Samyang AF 50mm F1.4', #IB
217
221
  51505 => 'Samyang AF 14mm F2.8 or Samyang AF 35mm F2.8', #forum3833
218
- 51505.1 => 'Samyang AF 35mm F2.8', #PH
222
+ 51505.1 => 'Samyang AF 35mm F2.8', #PH (also 32794)
219
223
  51507 => 'Samyang AF 35mm F1.4', #IB
220
224
  );
221
225
 
@@ -1890,6 +1894,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
1890
1894
  369 => 'DSC-RX100M5A', #JR
1891
1895
  371 => 'ILCE-6400', #IB
1892
1896
  372 => 'DSC-RX0M2', #JR
1897
+ 374 => 'DSC-RX100M7', #IB
1893
1898
  375 => 'ILCE-7RM4', #IB
1894
1899
  },
1895
1900
  },
@@ -5840,6 +5845,7 @@ my %releaseMode2010 = (
5840
5845
  4 => 'Continuous - Burst', # seen for DSC-WX500 with burst of 10 shots
5841
5846
  5 => 'Continuous - Speed/Advance Priority',
5842
5847
  6 => 'Normal - Self-timer', # seen for ILCE-6300/6500/9, ILCA-99M2
5848
+ 9 => 'Single Burst Shooting', # first seen for DSC-RX100M7
5843
5849
  },
5844
5850
  );
5845
5851
  my %selfTimer2010 = (
@@ -7847,6 +7853,7 @@ my %isoSetting2010 = (
7847
7853
  4 => '4 shots',
7848
7854
  5 => '5 shots',
7849
7855
  6 => '6 shots',
7856
+ 7 => '7 shots', # DSC-RX100M7 Single Burst Shooting
7850
7857
  9 => '9 shots', # ILCE-7RM2 9-shot bracketing
7851
7858
  10 => '10 shots',
7852
7859
  12 => '12 shots', # ILCA-77M2 12-shot MFNR-mode
@@ -7863,6 +7870,7 @@ my %isoSetting2010 = (
7863
7870
  2 => '2 files',
7864
7871
  3 => '3 files',
7865
7872
  5 => '5 files',
7873
+ 7 => '7 files', # DSC-RX100M7 Single Burst Shooting
7866
7874
  9 => '9 files', # ILCE-7RM2 9-shot bracketing
7867
7875
  10 => '10 files', # seen for DSC-WX500 with burst of 10 shots
7868
7876
  },
@@ -7910,7 +7918,7 @@ my %isoSetting2010 = (
7910
7918
  0x0000 => { Name => 'Ver9401', Hidden => 1, RawConv => '$$self{Ver9401} = $val; $$self{OPTIONS}{Unknown}<2 ? undef : $val' },
7911
7919
 
7912
7920
  0x0498 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} == 148', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
7913
- 0x04a2 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} == 152', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
7921
+ 0x04a2 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} =~ /^(152|154)/', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
7914
7922
  0x059d => { Name => 'ISOInfo', Condition => '$$self{Ver9401} =~ /^(144|146)/', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
7915
7923
  0x0634 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} == 68', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
7916
7924
  0x0636 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} =~ /^(73|74)/', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
@@ -1819,7 +1819,6 @@ my %tagLookup = (
1819
1819
  'd-rangeoptimizermode' => { 433 => 0x8022 },
1820
1820
  'd-rangeoptimizershadow' => { 433 => 0x802d },
1821
1821
  'd-rangeoptimizervalue' => { 433 => 0x8023 },
1822
- 'd810meteringmode' => { 242 => 0x175e },
1823
1822
  'darkblacksegrows' => { 132 => 0x18d8 },
1824
1823
  'darkfocusenvironment' => { 302 => 0x8003 },
1825
1824
  'darkframecountfactor' => { 132 => 0xc85 },
@@ -3305,7 +3304,7 @@ my %tagLookup = (
3305
3304
  'lensfocusfunctionbuttons' => { 263 => '55.1', 265 => '52.1', 266 => '52.1', 275 => '52.1', 276 => '52.1' },
3306
3305
  'lensformat' => { 412 => 0x1891, 414 => 0x18bd, 415 => 0x18ed, 416 => 0x17f1, 418 => 0x106, 419 => 0x106, 428 => 0x603, 429 => 0x5d },
3307
3306
  'lensfstops' => { 207 => 0x7, 208 => 0xc, 209 => 0xd, 213 => 0xe, 215 => 0x8b, 328 => '0.3' },
3308
- 'lensid' => { 452 => 'LensID' },
3307
+ 'lensid' => { 213 => 0x30, 452 => 'LensID' },
3309
3308
  'lensidnumber' => { 207 => 0x6, 208 => 0xb, 209 => 0xc, 213 => 0xd },
3310
3309
  'lensinfo' => { 114 => 0xa432, 334 => 0x2a, 452 => 'LensInfo', 462 => 'LensSpecification' },
3311
3310
  'lenskind' => { 328 => 0x1 },
@@ -3941,6 +3940,7 @@ my %tagLookup = (
3941
3940
  'nikoncaptureversion' => { 215 => 0xe09 },
3942
3941
  'nikoniccprofile' => { 215 => 0xe1d },
3943
3942
  'nikonimagesize' => { 230 => '723.1', 231 => '732.1', 240 => 0x2c4 },
3943
+ 'nikonmeteringmode' => { 234 => 0x2ea4, 242 => 0x175e },
3944
3944
  'noisefilter' => { 279 => 0x527 },
3945
3945
  'noiseprofile' => { 114 => 0xc761 },
3946
3946
  'noisereduction' => { 122 => [0x100b,0x100e], 173 => 0xb0, 174 => 0x60, 175 => 0x3f, 215 => 0x95, 255 => 0x753dcbc0, 256 => 0x17, 279 => 0x50a, 284 => 0x103a, 302 => 0x2d, 337 => 0x49, 369 => 0x100f, 371 => 0x2a },
@@ -12,7 +12,7 @@ meta information extracted from or written to a file.
12
12
  =head1 TAG TABLES
13
13
 
14
14
  The tables listed below give the names of all tags recognized by ExifTool.
15
- They contain a total of 22992 tags, with 15044 unique tag names.
15
+ They contain a total of 22995 tags, with 15044 unique tag names.
16
16
 
17
17
  B<Tag ID>, B<Index#> or B<Sequence> is given in the first column of each
18
18
  table. A B<Tag ID> is the computer-readable equivalent of a tag name, and
@@ -105,6 +105,7 @@ L<https://www.w3.org/Graphics/JPEG/jfif3.pdf> for the JPEG specification.
105
105
  XMP XMP
106
106
  QVCI Casio QVCI
107
107
  FLIR FLIR FFF
108
+ RawThermalImage no
108
109
  'APP2' ICC_Profile ICC_Profile
109
110
  FPXR FlashPix
110
111
  MPF MPF
@@ -11772,7 +11773,7 @@ different for other firmware versions.
11772
11773
  464 SecondarySlotFunction int8u & 0x03
11773
11774
  5974 AEBracketingSteps int8u & 0xff
11774
11775
  5975 WBBracketingSteps int8u & 0xff
11775
- 5982 D810MeteringMode int8u & 0x03
11776
+ 5982 NikonMeteringMode int8u & 0x03
11776
11777
  6236 ISOAutoShutterTime int8u & 0x3f
11777
11778
  6237 ISOAutoHiLimit int8u & 0xff
11778
11779
  6315 CustomSettingsD810 NikonCustom SettingsD810
@@ -11894,6 +11895,7 @@ These tags are extracted from encrypted data in images from the D5 and D500.
11894
11895
  11300 RollAngle fixed32u
11895
11896
  11304 PitchAngle fixed32u
11896
11897
  11308 YawAngle fixed32u
11898
+ 11940 NikonMeteringMode int8u & 0x03
11897
11899
 
11898
11900
  =head3 Nikon ShotInfoD610 Tags
11899
11901
 
@@ -12064,6 +12066,7 @@ Tags found in the encrypted LensData from cameras such as the Z6 and Z7.
12064
12066
  18 MaxApertureAtMaxFocal int8u
12065
12067
  19 MCUVersion int8u
12066
12068
  20 EffectiveMaxAperture int8u
12069
+ 48 LensID int16u
12067
12070
  54 MaxAperture int16u
12068
12071
  56 FNumber int16u
12069
12072
  60 FocalLength int16u
@@ -25497,8 +25500,8 @@ Note when creating new tags,
25497
25500
  L<ItemList|Image::ExifTool::TagNames/QuickTime ItemList Tags> tags are
25498
25501
  preferred over these, so to create the tag when a same-named ItemList tag
25499
25502
  exists, either "UserData" must be specified (eg. C<-UserData:Artist=Monet>
25500
- on the command line), or the PREFERRED level must be changed via the config
25501
- file.
25503
+ on the command line), or the PREFERRED level must be changed via
25504
+ the config file.
25502
25505
 
25503
25506
  Tag ID Tag Name Writable
25504
25507
  ------ -------- --------
@@ -28291,12 +28294,12 @@ WebP animation frame chunk.
28291
28294
 
28292
28295
  =head3 RIFF CSET Tags
28293
28296
 
28294
- Tag ID Tag Name Writable
28297
+ Index2 Tag Name Writable
28295
28298
  ------ -------- --------
28296
- 0x0000 CodePage no
28297
- 0x0001 CountryCode no
28298
- 0x0002 LanguageCode no
28299
- 0x0003 Dialect no
28299
+ 0 CodePage no
28300
+ 1 CountryCode no
28301
+ 2 LanguageCode no
28302
+ 3 Dialect no
28300
28303
 
28301
28304
  =head3 RIFF Info Tags
28302
28305
 
@@ -147,26 +147,11 @@ sub DoneDir($$$;$)
147
147
  $dir = 'IFD0' if $dir eq 'EXIF';
148
148
  # don't add this directory again unless this is in a non-standard location
149
149
  delete $$et{ADD_DIRS}{$dir} unless $nonStandard;
150
- # handle problem with duplicate XMP when using PNGEarlyXMP option
151
- return unless $dir eq 'XMP' and defined $$outBuff and length $$outBuff;
152
150
  if ($nonStandard and $$et{DEL_GROUP}{$dir}) {
153
151
  $et->VPrint(0," Deleting non-standard $dir\n");
154
152
  $$outBuff = '';
155
153
  } elsif (not $$et{PNGDoneDir}{$dir}) {
156
154
  $$et{PNGDoneDir}{$dir} = 1; # set flag indicating the directory exists
157
- } elsif ($$et{OPTIONS}{PNGEarlyXMP}) {
158
- if ($$et{PNGDoneDir}{$dir} == 2) {
159
- if ($$et{OPTIONS}{IgnoreMinorErrors}) {
160
- $et->Warn("Deleted existing $dir");
161
- } else {
162
- $et->Error("Duplicate $dir created. Ignore to delete existing $dir", 1);
163
- return;
164
- }
165
- } elsif ($et->Warn("Duplicate $dir. Ignore to delete", 2)) {
166
- return; # warning not ignored: don't delete the duplicate
167
- }
168
- $et->VPrint(0," Deleting duplicate $dir\n");
169
- $$outBuff = '';
170
155
  }
171
156
  }
172
157
 
@@ -1034,7 +1034,7 @@ sub WriteXMP($$;$)
1034
1034
  # take attributes from old values if they exist
1035
1035
  %attrs = %{$$cap[1]};
1036
1036
  if ($overwrite) {
1037
- my ($oldLang, $delLang, $addLang, @matchingPaths);
1037
+ my ($oldLang, $delLang, $addLang, @matchingPaths, $langPathPat);
1038
1038
  # check to see if this is an indexed list item
1039
1039
  if ($path =~ / /) {
1040
1040
  my $pp;
@@ -1043,9 +1043,15 @@ sub WriteXMP($$;$)
1043
1043
  } else {
1044
1044
  push @matchingPaths, $path;
1045
1045
  }
1046
+ my $oldOverwrite = $overwrite;
1046
1047
  foreach $path (@matchingPaths) {
1047
1048
  my ($val, $attrs) = @{$capture{$path}};
1048
1049
  if ($writable eq 'lang-alt') {
1050
+ # revert to original overwrite flag if this is in a different structure
1051
+ if (not $langPathPat or $path !~ /^$langPathPat$/) {
1052
+ $overwrite = $oldOverwrite;
1053
+ ($langPathPat = $path) =~ s/\d+$/\\d+/;
1054
+ }
1049
1055
  unless (defined $addLang) {
1050
1056
  # add to lang-alt list by default if creating this tag from scratch
1051
1057
  $addLang = $$nvHash{IsCreating} ? 1 : 0;
@@ -916,6 +916,20 @@ TAG: foreach $tagInfo (@matchingTags) {
916
916
  next;
917
917
  }
918
918
  }
919
+ # set group delete flag if this tag represents an entire group
920
+ if ($$tagInfo{DelGroup} and not $options{DelValue}) {
921
+ my @del = ( $tag );
922
+ $$self{DEL_GROUP}{$tag} = 1;
923
+ # delete extra groups if necessary
924
+ if ($delMore{$tag}) {
925
+ $$self{DEL_GROUP}{$_} = 1, push(@del,$_) foreach @{$delMore{$tag}};
926
+ }
927
+ # remove all of this group from previous new values
928
+ $self->RemoveNewValuesForGroup($tag);
929
+ $verbose and print $out " Deleting tags in: @del\n";
930
+ ++$numSet;
931
+ next;
932
+ }
919
933
  $noConv = 1; # value is not defined, so don't do conversion
920
934
  }
921
935
  # apply inverse PrintConv and ValueConv conversions
@@ -3875,6 +3889,9 @@ sub InitWriteDirs($$;$$)
3875
3889
  }
3876
3890
  }
3877
3891
  $dirName = shift @dirNames;
3892
+ } elsif ($dirName eq 'QuickTime') {
3893
+ # write to specific QuickTime group
3894
+ $dirName = $self->GetGroup($tagInfo, 1);
3878
3895
  }
3879
3896
  while ($dirName) {
3880
3897
  my $parent = $$fileDirs{$dirName};
@@ -1,6 +1,6 @@
1
1
  Summary: perl module for image data extraction
2
2
  Name: perl-Image-ExifTool
3
- Version: 11.57
3
+ Version: 11.60
4
4
  Release: 1
5
5
  License: Artistic/GPL
6
6
  Group: Development/Libraries/Perl
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ExiftoolVendored
4
- VERSION = Gem::Version.new('11.57.0')
4
+ VERSION = Gem::Version.new('11.60.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: 11.57.0
4
+ version: 11.60.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: 2019-07-20 00:00:00.000000000 Z
12
+ date: 2019-08-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: exiftool