exiftool_vendored 11.57.0 → 11.60.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

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