exiftool_vendored 12.33.0 → 12.37.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.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/bin/Changes +66 -0
  3. data/bin/META.json +1 -1
  4. data/bin/META.yml +1 -1
  5. data/bin/README +2 -2
  6. data/bin/exiftool +65 -37
  7. data/bin/lib/Image/ExifTool/BuildTagLookup.pm +11 -2
  8. data/bin/lib/Image/ExifTool/Canon.pm +156 -10
  9. data/bin/lib/Image/ExifTool/Charset.pm +2 -0
  10. data/bin/lib/Image/ExifTool/DarwinCore.pm +2 -2
  11. data/bin/lib/Image/ExifTool/Exif.pm +13 -1
  12. data/bin/lib/Image/ExifTool/FLIR.pm +33 -8
  13. data/bin/lib/Image/ExifTool/GIF.pm +5 -1
  14. data/bin/lib/Image/ExifTool/GPS.pm +14 -10
  15. data/bin/lib/Image/ExifTool/ICC_Profile.pm +96 -4
  16. data/bin/lib/Image/ExifTool/Jpeg2000.pm +108 -11
  17. data/bin/lib/Image/ExifTool/Nikon.pm +992 -18
  18. data/bin/lib/Image/ExifTool/NikonCustom.pm +5 -1
  19. data/bin/lib/Image/ExifTool/NikonSettings.pm +135 -71
  20. data/bin/lib/Image/ExifTool/PDF.pm +5 -3
  21. data/bin/lib/Image/ExifTool/PNG.pm +1 -0
  22. data/bin/lib/Image/ExifTool/QuickTime.pm +17 -3
  23. data/bin/lib/Image/ExifTool/QuickTimeStream.pl +26 -1
  24. data/bin/lib/Image/ExifTool/README +4 -0
  25. data/bin/lib/Image/ExifTool/Sony.pm +29 -11
  26. data/bin/lib/Image/ExifTool/TagInfoXML.pm +9 -4
  27. data/bin/lib/Image/ExifTool/TagLookup.pm +6437 -5843
  28. data/bin/lib/Image/ExifTool/TagNames.pod +1292 -46
  29. data/bin/lib/Image/ExifTool/WriteQuickTime.pl +10 -0
  30. data/bin/lib/Image/ExifTool/WriteXMP.pl +10 -11
  31. data/bin/lib/Image/ExifTool/Writer.pl +50 -5
  32. data/bin/lib/Image/ExifTool/XMP.pm +119 -30
  33. data/bin/lib/Image/ExifTool/XMP2.pl +3 -2
  34. data/bin/lib/Image/ExifTool.pm +71 -8
  35. data/bin/lib/Image/ExifTool.pod +9 -1
  36. data/bin/perl-Image-ExifTool.spec +1 -1
  37. data/lib/exiftool_vendored/version.rb +1 -1
  38. metadata +2 -2
@@ -34,7 +34,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
34
34
  use Image::ExifTool::Exif;
35
35
  use Image::ExifTool::Minolta;
36
36
 
37
- $VERSION = '3.46';
37
+ $VERSION = '3.48';
38
38
 
39
39
  sub ProcessSRF($$$);
40
40
  sub ProcessSR2($$$);
@@ -198,6 +198,8 @@ sub PrintInvLensSpec($;$$);
198
198
  49466 => 'Tamron 150-500mm F5-6.7 Di III VC VXD', #JR (Model A057)
199
199
  49467 => 'Tamron 11-20mm F2.8 Di III-A RXD', #JR (Model B060)
200
200
  49468 => 'Tamron 18-300mm F3.5-6.3 Di III-A VC VXD', #JR (Model B061)
201
+ 49469 => 'Tamron 35-150mm F2-F2.8 Di III VXD', #JR (Model A058)
202
+ 49470 => 'Tamron 28-75mm F2.8 Di III VXD G2', #JR (Model A063)
201
203
 
202
204
  49473 => 'Tokina atx-m 85mm F1.8 FE or Viltrox lens', #JR
203
205
  49473.1 => 'Viltrox 23mm F1.4 E', #JR
@@ -241,7 +243,8 @@ sub PrintInvLensSpec($;$$);
241
243
  50528 => 'Sigma 35mm F1.4 DG DN | A', #IB/JR (021)
242
244
  50529 => 'Sigma 90mm F2.8 DG DN | C', #JR (021)
243
245
  50530 => 'Sigma 24mm F2 DG DN | C', #JR (021)
244
-
246
+ 50531 => 'Sigma 18-50mm F2.8 DC DN | C', #IB/JR (021)
247
+
245
248
  50992 => 'Voigtlander SUPER WIDE-HELIAR 15mm F4.5 III', #JR
246
249
  50993 => 'Voigtlander HELIAR-HYPER WIDE 10mm F5.6', #IB
247
250
  50994 => 'Voigtlander ULTRA WIDE-HELIAR 12mm F5.6 III', #IB
@@ -1580,6 +1583,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
1580
1583
  65535 => 'n/a',
1581
1584
  },
1582
1585
  },
1586
+ # 0x203a - 0x2041: first seen October 2021 for ILCE-7M4
1583
1587
  0x3000 => {
1584
1588
  Name => 'ShotInfo',
1585
1589
  SubDirectory => { TagTable => 'Image::ExifTool::Sony::ShotInfo' },
@@ -1608,7 +1612,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
1608
1612
  # from mid-2015: ILCE-7RM2/7SM2/6300 and newer models use different offsets
1609
1613
  {
1610
1614
  Name => 'Tag9050a',
1611
- Condition => '$$self{Model} !~ /^(DSC-|Stellar|ILCE-(1|6100|6300|6400|6500|6600|7C|7M3|7RM2|7RM3A?|7RM4A?|7SM2|7SM3|9|9M2)|ILCA-99M2|ILME-FX3|ZV-)/',
1615
+ Condition => '$$self{Model} !~ /^(DSC-|Stellar|ILCE-(1|6100|6300|6400|6500|6600|7C|7M3|7M4|7RM2|7RM3A?|7RM4A?|7SM2|7SM3|9|9M2)|ILCA-99M2|ILME-FX3|ZV-)/',
1612
1616
  SubDirectory => {
1613
1617
  TagTable => 'Image::ExifTool::Sony::Tag9050a',
1614
1618
  ByteOrder => 'LittleEndian',
@@ -1622,7 +1626,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
1622
1626
  },
1623
1627
  },{
1624
1628
  Name => 'Tag9050c',
1625
- Condition => '$$self{Model} =~ /^(ILCE-(1|7SM3)|ILME-FX3)/',
1629
+ Condition => '$$self{Model} =~ /^(ILCE-(1|7M4|7SM3)|ILME-FX3)/',
1626
1630
  SubDirectory => {
1627
1631
  TagTable => 'Image::ExifTool::Sony::Tag9050c',
1628
1632
  ByteOrder => 'LittleEndian',
@@ -2032,6 +2036,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
2032
2036
  385 => 'ILME-FX3', #JR
2033
2037
  386 => 'ILCE-7RM3A', #JR
2034
2038
  387 => 'ILCE-7RM4A', #forum12542
2039
+ 388 => 'ILCE-7M4', #IB/JR
2035
2040
  },
2036
2041
  },
2037
2042
  0xb020 => { #2
@@ -7954,7 +7959,7 @@ my %isoSetting2010 = (
7954
7959
  },
7955
7960
  0x0088 => {
7956
7961
  Name => 'InternalSerialNumber', #(NC)
7957
- Condition => '$$self{Model} =~ /^(ILCE-7SM3|ILME-FX3)/',
7962
+ Condition => '$$self{Model} =~ /^(ILCE-(7M4|7SM3)|ILME-FX3)/',
7958
7963
  Format => 'int8u[6]',
7959
7964
  PrintConv => 'unpack "H*", pack "C*", split " ", $val',
7960
7965
  },
@@ -8192,7 +8197,7 @@ my %isoSetting2010 = (
8192
8197
  },
8193
8198
  0x002a => [{
8194
8199
  Name => 'Quality2',
8195
- Condition => '$$self{Model} !~ /^(ILCE-(1|7SM3)|ILME-FX3)\b/',
8200
+ Condition => '$$self{Model} !~ /^(ILCE-(1|7M4|7SM3)|ILME-FX3)\b/',
8196
8201
  PrintConv => {
8197
8202
  0 => 'JPEG',
8198
8203
  1 => 'RAW',
@@ -8201,7 +8206,7 @@ my %isoSetting2010 = (
8201
8206
  },
8202
8207
  },{
8203
8208
  Name => 'Quality2',
8204
- Condition => '$$self{Model} =~ /^(ILCE-(1|7SM3)|ILME-FX3)\b/',
8209
+ Condition => '$$self{Model} =~ /^(ILCE-(1|7M4|7SM3)|ILME-FX3)\b/',
8205
8210
  PrintConv => {
8206
8211
  1 => 'JPEG',
8207
8212
  2 => 'RAW',
@@ -8212,13 +8217,13 @@ my %isoSetting2010 = (
8212
8217
  }],
8213
8218
  0x0047 => {
8214
8219
  Name => 'SonyImageHeight',
8215
- Condition => '$$self{Model} !~ /^(ILCE-(1|7SM3)|ILME-FX3)\b/',
8220
+ Condition => '$$self{Model} !~ /^(ILCE-(1|7M4|7SM3)|ILME-FX3)\b/',
8216
8221
  Format => 'int16u',
8217
8222
  PrintConv => '$val > 0 ? 8*$val : "n.a."',
8218
8223
  },
8219
8224
  0x0053 => {
8220
8225
  Name => 'ModelReleaseYear',
8221
- Condition => '$$self{Model} !~ /^(ILCE-(1|7SM3)|ILME-FX3)\b/',
8226
+ Condition => '$$self{Model} !~ /^(ILCE-(1|7M4|7SM3)|ILME-FX3)\b/',
8222
8227
  Format => 'int8u',
8223
8228
  PrintConv => 'sprintf("20%.2d", $val)',
8224
8229
  },
@@ -8233,10 +8238,11 @@ my %isoSetting2010 = (
8233
8238
  FIRST_ENTRY => 0,
8234
8239
  GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
8235
8240
  DATAMEMBER => [ 0 ],
8236
- IS_SUBDIR => [ 0x0498, 0x04a1, 0x04a2, 0x059d, 0x0634, 0x0636, 0x064c, 0x0653, 0x0678, 0x06b8, 0x06de, 0x06e7 ],
8241
+ IS_SUBDIR => [ 0x0498, 0x049d, 0x04a1, 0x04a2, 0x059d, 0x0634, 0x0636, 0x064c, 0x0653, 0x0678, 0x06b8, 0x06de, 0x06e7 ],
8237
8242
  0x0000 => { Name => 'Ver9401', Hidden => 1, RawConv => '$$self{Ver9401} = $val; $$self{OPTIONS}{Unknown}<2 ? undef : $val' },
8238
8243
 
8239
8244
  0x0498 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} == 148', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
8245
+ 0x049d => { Name => 'ISOInfo', Condition => '$$self{Ver9401} == 167', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
8240
8246
  0x04a1 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} =~ /^(160|164)/', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
8241
8247
  0x04a2 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} =~ /^(152|154|155)/', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
8242
8248
  0x059d => { Name => 'ISOInfo', Condition => '$$self{Ver9401} =~ /^(144|146)/', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
@@ -9505,7 +9511,7 @@ my %isoSetting2010 = (
9505
9511
  WRITE_PROC => \&WriteEnciphered,
9506
9512
  CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
9507
9513
  FORMAT => 'int8u',
9508
- NOTES => 'Valid for the ILCE-1/7SM3, ILME-FX3.',
9514
+ NOTES => 'Valid for the ILCE-1/7M4/7SM3, ILME-FX3.',
9509
9515
  FIRST_ENTRY => 0,
9510
9516
  GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
9511
9517
  0x0000 => { Name => 'Tag9416_0000', PrintConv => 'sprintf("%3d",$val)', RawConv => '$$self{TagVersion} = $val' },
@@ -9632,10 +9638,22 @@ my %isoSetting2010 = (
9632
9638
  },
9633
9639
  0x088f => {
9634
9640
  Name => 'VignettingCorrParams',
9641
+ Condition => '$$self{Model} !~ /^(ILCE-7M4)/',
9642
+ Format => 'int16s[16]',
9643
+ },
9644
+ 0x0891 => {
9645
+ Name => 'VignettingCorrParams',
9646
+ Condition => '$$self{Model} =~ /^(ILCE-7M4)/',
9635
9647
  Format => 'int16s[16]',
9636
9648
  },
9637
9649
  0x0914 => {
9638
9650
  Name => 'ChromaticAberrationCorrParams',
9651
+ Condition => '$$self{Model} !~ /^(ILCE-7M4)/',
9652
+ Format => 'int16s[32]',
9653
+ },
9654
+ 0x0916 => {
9655
+ Name => 'ChromaticAberrationCorrParams',
9656
+ Condition => '$$self{Model} =~ /^(ILCE-7M4)/',
9639
9657
  Format => 'int16s[32]',
9640
9658
  },
9641
9659
  );
@@ -15,7 +15,7 @@ use vars qw($VERSION @ISA $makeMissing);
15
15
  use Image::ExifTool qw(:Utils :Vars);
16
16
  use Image::ExifTool::XMP;
17
17
 
18
- $VERSION = '1.31';
18
+ $VERSION = '1.32';
19
19
  @ISA = qw(Exporter);
20
20
 
21
21
  # set this to a language code to generate Lang module with 'MISSING' entries
@@ -58,6 +58,12 @@ my %translateLang = (
58
58
  my $numbersFirst = 1; # set to -1 to sort numbers last, or 2 to put negative numbers last
59
59
  my $caseInsensitive; # used internally by sort routine
60
60
 
61
+ # write groups that don't represent real family 1 group names
62
+ my %fakeWriteGroup = (
63
+ Comment => 1, # (JPEG Comment)
64
+ colr => 1, # (Jpeg2000 'colr' box)
65
+ );
66
+
61
67
  #------------------------------------------------------------------------------
62
68
  # Utility to print tag information database as an XML list
63
69
  # Inputs: 0) output file name (undef to send to console),
@@ -178,9 +184,8 @@ PTILoop: for ($index=0; $index<@infoArray; ++$index) {
178
184
  }
179
185
  my @groups = $et->GetGroup($tagInfo);
180
186
  my $writeGroup = $$tagInfo{WriteGroup} || $$table{WRITE_GROUP};
181
- if ($writeGroup and $writeGroup ne 'Comment') {
182
- $groups[1] = $writeGroup; # use common write group for group 1
183
- }
187
+ # use common write group for group 1 (unless fake)
188
+ $groups[1] = $writeGroup if $writeGroup and not $fakeWriteGroup{$writeGroup};
184
189
  # add group names if different from table defaults
185
190
  my $grp = '';
186
191
  for ($fam=0; $fam<3; ++$fam) {