exiftool-vendored.pl 12.56.0 → 12.62.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 (65) hide show
  1. package/bin/Changes +115 -5
  2. package/bin/LICENSE +674 -0
  3. package/bin/MANIFEST +11 -0
  4. package/bin/META.json +1 -1
  5. package/bin/META.yml +1 -1
  6. package/bin/README +45 -44
  7. package/bin/config_files/example.config +1 -0
  8. package/bin/config_files/rotate_regions.config +1 -1
  9. package/bin/exiftool +262 -160
  10. package/bin/lib/Image/ExifTool/AIFF.pm +2 -2
  11. package/bin/lib/Image/ExifTool/APE.pm +2 -2
  12. package/bin/lib/Image/ExifTool/BMP.pm +0 -1
  13. package/bin/lib/Image/ExifTool/BuildTagLookup.pm +23 -19
  14. package/bin/lib/Image/ExifTool/Canon.pm +26 -6
  15. package/bin/lib/Image/ExifTool/CanonRaw.pm +5 -1
  16. package/bin/lib/Image/ExifTool/DJI.pm +28 -2
  17. package/bin/lib/Image/ExifTool/Exif.pm +77 -19
  18. package/bin/lib/Image/ExifTool/FlashPix.pm +33 -10
  19. package/bin/lib/Image/ExifTool/FujiFilm.pm +7 -3
  20. package/bin/lib/Image/ExifTool/GPS.pm +7 -2
  21. package/bin/lib/Image/ExifTool/Geotag.pm +30 -7
  22. package/bin/lib/Image/ExifTool/JPEG.pm +14 -2
  23. package/bin/lib/Image/ExifTool/Jpeg2000.pm +36 -11
  24. package/bin/lib/Image/ExifTool/LIF.pm +10 -2
  25. package/bin/lib/Image/ExifTool/LNK.pm +5 -4
  26. package/bin/lib/Image/ExifTool/MIE.pm +3 -3
  27. package/bin/lib/Image/ExifTool/MPEG.pm +2 -2
  28. package/bin/lib/Image/ExifTool/MakerNotes.pm +3 -2
  29. package/bin/lib/Image/ExifTool/Minolta.pm +6 -7
  30. package/bin/lib/Image/ExifTool/MinoltaRaw.pm +2 -1
  31. package/bin/lib/Image/ExifTool/Nikon.pm +1005 -909
  32. package/bin/lib/Image/ExifTool/NikonCustom.pm +2 -2
  33. package/bin/lib/Image/ExifTool/NikonSettings.pm +1 -1
  34. package/bin/lib/Image/ExifTool/Olympus.pm +88 -6
  35. package/bin/lib/Image/ExifTool/PDF.pm +17 -8
  36. package/bin/lib/Image/ExifTool/PNG.pm +10 -2
  37. package/bin/lib/Image/ExifTool/PanasonicRaw.pm +27 -1
  38. package/bin/lib/Image/ExifTool/Pentax.pm +8 -5
  39. package/bin/lib/Image/ExifTool/PhaseOne.pm +14 -1
  40. package/bin/lib/Image/ExifTool/Photoshop.pm +38 -7
  41. package/bin/lib/Image/ExifTool/QuickTime.pm +48 -14
  42. package/bin/lib/Image/ExifTool/QuickTimeStream.pl +91 -27
  43. package/bin/lib/Image/ExifTool/README +19 -2
  44. package/bin/lib/Image/ExifTool/RIFF.pm +34 -13
  45. package/bin/lib/Image/ExifTool/Rawzor.pm +2 -2
  46. package/bin/lib/Image/ExifTool/Ricoh.pm +2 -1
  47. package/bin/lib/Image/ExifTool/Sigma.pm +5 -4
  48. package/bin/lib/Image/ExifTool/SigmaRaw.pm +9 -3
  49. package/bin/lib/Image/ExifTool/Sony.pm +39 -10
  50. package/bin/lib/Image/ExifTool/TagLookup.pm +4687 -4628
  51. package/bin/lib/Image/ExifTool/TagNames.pod +338 -117
  52. package/bin/lib/Image/ExifTool/Validate.pm +5 -5
  53. package/bin/lib/Image/ExifTool/WPG.pm +296 -0
  54. package/bin/lib/Image/ExifTool/WriteExif.pl +42 -0
  55. package/bin/lib/Image/ExifTool/WritePDF.pl +7 -8
  56. package/bin/lib/Image/ExifTool/WriteXMP.pl +1 -1
  57. package/bin/lib/Image/ExifTool/Writer.pl +162 -40
  58. package/bin/lib/Image/ExifTool/XMP.pm +35 -8
  59. package/bin/lib/Image/ExifTool/XMP2.pl +2 -1
  60. package/bin/lib/Image/ExifTool/ZIP.pm +159 -41
  61. package/bin/lib/Image/ExifTool.pm +286 -65
  62. package/bin/lib/Image/ExifTool.pod +95 -51
  63. package/bin/perl-Image-ExifTool.spec +44 -43
  64. package/bin/pp_build_exe.args +5 -4
  65. package/package.json +3 -3
@@ -19,15 +19,13 @@ use strict;
19
19
  use vars qw($VERSION %sigmaLensTypes);
20
20
  use Image::ExifTool::Exif;
21
21
 
22
- $VERSION = '1.32';
22
+ $VERSION = '1.34';
23
23
 
24
24
  # sigma LensType lookup (ref IB)
25
25
  %sigmaLensTypes = (
26
26
  Notes => q{
27
27
  Sigma LensType values are hexadecimal numbers stored as a string (without
28
- the leading "0x"). Decimal values have been added to differentiate lenses
29
- which would otherwise have the same LensType, and are used by the Composite
30
- LensID tag when attempting to identify the specific lens model.
28
+ the leading "0x").
31
29
  },
32
30
  # 0x0 => 'Sigma 50mm F2.8 EX Macro', (0x0 used for other lenses too)
33
31
  # 0x8 - 18-125mm LENSARANGE@18mm=22-4
@@ -255,6 +253,7 @@ $VERSION = '1.32';
255
253
  0x6023 => 'Sigma 20mm F2 DG DN | C', #IB
256
254
  0x6025 => 'Sigma 20mm F1.4 DG DN | A', #IB
257
255
  0x6026 => 'Sigma 24mm F1.4 DG DN | A', #IB
256
+ 0x602c => "Sigma 50mm F1.4 DG DN | A (2023)", #IB
258
257
  0x8005 => 'Sigma 35mm F1.4 DG HSM | A', #PH (012)
259
258
  0x8009 => 'Sigma 18-35mm F1.8 DC HSM | A', #PH
260
259
  0x8900 => 'Sigma 70-300mm F4-5.6 DG OS', #PH (SD15)
@@ -556,6 +555,7 @@ $VERSION = '1.32';
556
555
  SeparateTable => 'LensType',
557
556
  PrintHex => 1,
558
557
  PrintConv => \%sigmaLensTypes,
558
+ PrintInt => 1,
559
559
  },{ #PH
560
560
  Name => 'LensType',
561
561
  Condition => '$$self{MakerNoteSigmaVer} >= 3',
@@ -564,6 +564,7 @@ $VERSION = '1.32';
564
564
  SeparateTable => 'LensType',
565
565
  PrintHex => 1,
566
566
  PrintConv => \%sigmaLensTypes,
567
+ PrintInt => 1,
567
568
  }],
568
569
  0x002a => { #PH
569
570
  Name => 'LensFocalRange',
@@ -16,7 +16,7 @@ use vars qw($VERSION);
16
16
  use Image::ExifTool qw(:DataAccess :Utils);
17
17
  use Image::ExifTool::Sigma;
18
18
 
19
- $VERSION = '1.29';
19
+ $VERSION = '1.30';
20
20
 
21
21
  sub ProcessX3FHeader($$$);
22
22
  sub ProcessX3FDirectory($$$);
@@ -545,10 +545,16 @@ sub ProcessX3FDirectory($$$)
545
545
  if ($$tagInfo{Name} eq 'PreviewImage') {
546
546
  # check image header to see if this is a JPEG preview image
547
547
  $raf->Read($buff, 28) == 28 or return 'Error reading PreviewImage header';
548
- # ignore all image data but JPEG compressed (version 2.0, type 2, format 18)
549
- next unless $buff =~ /^SECi\0\0\x02\0\x02\0\0\0\x12\0\0\0/;
550
548
  $offset += 28;
551
549
  $len -= 28;
550
+ # ignore all image data but JPEG compressed (version 2.0, type 2, format 18)
551
+ unless ($buff =~ /^SECi\0\0\x02\0\x02\0\0\0\x12\0\0\0/) {
552
+ # do MD5 on non-preview data if requested
553
+ if ($$et{ImageDataMD5} and substr($buff,8,1) ne "\x02") {
554
+ $et->ImageDataMD5($raf, $len, 'SigmaRaw IMAG');
555
+ }
556
+ next;
557
+ }
552
558
  $raf->Read($buff, $len) == $len or return "Error reading PreviewImage data";
553
559
  # check fore EXIF segment, and extract this image as the JpgFromRaw
554
560
  if ($buff =~ /^\xff\xd8\xff\xe1/) {
@@ -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.57';
37
+ $VERSION = '3.60';
38
38
 
39
39
  sub ProcessSRF($$$);
40
40
  sub ProcessSR2($$$);
@@ -161,6 +161,7 @@ sub PrintInvLensSpec($;$$);
161
161
  32876 => 'Sony E 11mm F1.8', #JR
162
162
  32877 => 'Sony E 15mm F1.4 G', #JR
163
163
  32878 => 'Sony FE 20-70mm F4 G', #JR
164
+ 32879 => 'Sony FE 50mm F1.4 GM', #JR
164
165
 
165
166
  # (comment this out so LensID will report the LensModel, which is more useful)
166
167
  # 32952 => 'Metabones Canon EF Speed Booster Ultra', #JR (corresponds to 184, but 'Advanced' mode, LensMount reported as E-mount)
@@ -259,7 +260,10 @@ sub PrintInvLensSpec($;$$);
259
260
  50534 => 'Sigma 20mm F1.4 DG DN | A', #JR (022)
260
261
  50535 => 'Sigma 24mm F1.4 DG DN | A', #JR (022)
261
262
  50536 => 'Sigma 60-600mm F4.5-6.3 DG DN OS | S', #JR (023)
263
+ 50537 => 'Sigma 50mm F2 DG DN | C', #JR (023)
264
+ 50538 => 'Sigma 17mm F4 DG DN | C', #JR (023)
262
265
  50539 => 'Sigma 50mm F1.4 DG DN | A', #JR (023)
266
+ 50544 => 'Sigma 23mm F1.4 DC DN | C', #JR (023)
263
267
 
264
268
  50992 => 'Voigtlander SUPER WIDE-HELIAR 15mm F4.5 III', #JR
265
269
  50993 => 'Voigtlander HELIAR-HYPER WIDE 10mm F5.6', #IB
@@ -1165,7 +1169,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
1165
1169
  },
1166
1170
  },{
1167
1171
  Name => 'AFAreaModeSetting',
1168
- Condition => '$$self{Model} =~ /^(NEX-|ILCE-|ILME-|DSC-(RX10M4|RX100M6|RX100M7|RX100M5A|HX99|RX0M2))/',
1172
+ Condition => '$$self{Model} =~ /^(NEX-|ILCE-|ILME-|ZV-E|DSC-(RX10M4|RX100M6|RX100M7|RX100M5A|HX99|RX0M2))/',
1169
1173
  Notes => 'NEX, ILCE and some DSC models',
1170
1174
  RawConv => '$$self{AFAreaILCE} = $val',
1171
1175
  DataMember => 'AFAreaILCE',
@@ -1201,7 +1205,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
1201
1205
  # observed values in range (0 0) to (640 480), with center (320 240) often seen
1202
1206
  # for NEX-5R/6, positions appear to be in an 11x9 grid
1203
1207
  Name => 'FlexibleSpotPosition',
1204
- Condition => '$$self{Model} =~ /^(NEX-|ILCE-|ILME-|DSC-(RX10M4|RX100M6|RX100M7|RX100M5A|HX99|RX0M2))/',
1208
+ Condition => '$$self{Model} =~ /^(NEX-|ILCE-|ILME-|ZV-E|DSC-(RX10M4|RX100M6|RX100M7|RX100M5A|HX99|RX0M2))/',
1205
1209
  Writable => 'int16u',
1206
1210
  Count => 2,
1207
1211
  Notes => q{
@@ -1669,6 +1673,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
1669
1673
  # 0x28 (e) for ILCE-7RM4/9M2, DSC-RX100M7, ZV-1/E10
1670
1674
  # 0x31 (e) for ILCE-1/7M4/7SM3, ILME-FX3
1671
1675
  # 0x32 (e) for ILCE-7RM5, ILME-FX30
1676
+ # 0x33 (e) for ZV-E1
1672
1677
  # first byte decoded: 40, 204, 202, 27, 58, 62, 48, 215, 28, 106, 89 respectively
1673
1678
  {
1674
1679
  Name => 'Tag9400a',
@@ -1683,7 +1688,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
1683
1688
  SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag9400b' },
1684
1689
  },{
1685
1690
  Name => 'Tag9400c',
1686
- Condition => '$$valPt =~ /^[\x23\x24\x26\x28\x31\x32]/',
1691
+ Condition => '$$valPt =~ /^[\x23\x24\x26\x28\x31\x32\x33]/',
1687
1692
  SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag9400c' },
1688
1693
  },{
1689
1694
  Name => 'Sony_0x9400',
@@ -1896,7 +1901,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
1896
1901
  },
1897
1902
  0x940c => [{
1898
1903
  Name => 'Tag940c',
1899
- Condition => '$$self{Model} =~ /^(NEX-|ILCE-|ILME-|Lunar|ZV-E10)\b/',
1904
+ Condition => '$$self{Model} =~ /^(NEX-|ILCE-|ILME-|Lunar|ZV-E10|ZV-E1)\b/',
1900
1905
  SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag940c' },
1901
1906
  },{
1902
1907
  Name => 'Sony_0x940c',
@@ -1957,6 +1962,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
1957
1962
  '3 3 3 0' => 'ARW 2.3.3', #JR (ILCE-9)
1958
1963
  '3 3 5 0' => 'ARW 2.3.5', #JR (DSC-HX99)
1959
1964
  '4 0 0 0' => 'ARW 4.0', # (ILCE-7SM3)
1965
+ '4 0 1 0' => 'ARW 4.0.1', #github#195 (ZV-E1)
1960
1966
  # what about cRAW images?
1961
1967
  },
1962
1968
  },
@@ -2045,6 +2051,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
2045
2051
  369 => 'DSC-RX100M5A', #JR
2046
2052
  371 => 'ILCE-6400', #IB
2047
2053
  372 => 'DSC-RX0M2', #JR
2054
+ 373 => 'DSC-HX95', #github191
2048
2055
  374 => 'DSC-RX100M7', #IB
2049
2056
  375 => 'ILCE-7RM4', #IB
2050
2057
  376 => 'ILCE-9M2', #JR
@@ -2062,6 +2069,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
2062
2069
  389 => 'ZV-1F', #IB
2063
2070
  390 => 'ILCE-7RM5', #IB
2064
2071
  391 => 'ILME-FX30', #JR
2072
+ 393 => 'ZV-E1', #JR
2065
2073
  },
2066
2074
  },
2067
2075
  0xb020 => { #2
@@ -2161,6 +2169,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
2161
2169
  # set to 65535 for E-mount lenses (values 0x80xx)
2162
2170
  ValueConvInv => '($val & 0xff00) == 0x8000 ? 65535 : int($val)',
2163
2171
  PrintConv => \%sonyLensTypes,
2172
+ PrintInt => 1,
2164
2173
  },
2165
2174
  0xb028 => { #2
2166
2175
  # (used by the DSLR-A100)
@@ -5570,6 +5579,7 @@ my %faceInfo = (
5570
5579
  Format => 'int16u',
5571
5580
  SeparateTable => 'LensType2',
5572
5581
  PrintConv => \%sonyLensTypes2,
5582
+ PrintInt => 1,
5573
5583
  },
5574
5584
  0x400 => { #JR
5575
5585
  Name => 'ImageNumber',
@@ -6603,6 +6613,7 @@ my %isoSetting2010 = (
6603
6613
  Format => 'int16u',
6604
6614
  SeparateTable => 'LensType2',
6605
6615
  PrintConv => \%sonyLensTypes2,
6616
+ PrintInt => 1,
6606
6617
  },
6607
6618
  0x1896 => {
6608
6619
  Name => 'LensType',
@@ -6612,6 +6623,7 @@ my %isoSetting2010 = (
6612
6623
  SeparateTable => 1,
6613
6624
  ValueConvInv => '($val & 0xff00) == 0x8000 ? 0 : int($val)',
6614
6625
  PrintConv => \%sonyLensTypes,
6626
+ PrintInt => 1,
6615
6627
  },
6616
6628
  0x1898 => {
6617
6629
  Name => 'DistortionCorrParamsPresent',
@@ -6809,6 +6821,7 @@ my %isoSetting2010 = (
6809
6821
  Format => 'int16u',
6810
6822
  SeparateTable => 'LensType2',
6811
6823
  PrintConv => \%sonyLensTypes2,
6824
+ PrintInt => 1,
6812
6825
  },
6813
6826
  0x18c2 => {
6814
6827
  Name => 'LensType',
@@ -6818,6 +6831,7 @@ my %isoSetting2010 = (
6818
6831
  SeparateTable => 1,
6819
6832
  ValueConvInv => '($val & 0xff00) == 0x8000 ? 0 : int($val)',
6820
6833
  PrintConv => \%sonyLensTypes,
6834
+ PrintInt => 1,
6821
6835
  },
6822
6836
  0x18c4 => {
6823
6837
  Name => 'DistortionCorrParamsPresent',
@@ -6946,6 +6960,7 @@ my %isoSetting2010 = (
6946
6960
  Format => 'int16u',
6947
6961
  SeparateTable => 'LensType2',
6948
6962
  PrintConv => \%sonyLensTypes2,
6963
+ PrintInt => 1,
6949
6964
  },
6950
6965
  0x18f2 => {
6951
6966
  Name => 'LensType',
@@ -6955,6 +6970,7 @@ my %isoSetting2010 = (
6955
6970
  SeparateTable => 1,
6956
6971
  ValueConvInv => '($val & 0xff00) == 0x8000 ? 0 : int($val)',
6957
6972
  PrintConv => \%sonyLensTypes,
6973
+ PrintInt => 1,
6958
6974
  },
6959
6975
  0x18f4 => {
6960
6976
  Name => 'DistortionCorrParamsPresent',
@@ -7075,6 +7091,7 @@ my %isoSetting2010 = (
7075
7091
  Format => 'int16u',
7076
7092
  SeparateTable => 'LensType2',
7077
7093
  PrintConv => \%sonyLensTypes2,
7094
+ PrintInt => 1,
7078
7095
  },
7079
7096
  0x17f6 => {
7080
7097
  Name => 'LensType',
@@ -7084,6 +7101,7 @@ my %isoSetting2010 = (
7084
7101
  SeparateTable => 1,
7085
7102
  ValueConvInv => '($val & 0xff00) == 0x8000 ? 0 : int($val)',
7086
7103
  PrintConv => \%sonyLensTypes,
7104
+ PrintInt => 1,
7087
7105
  },
7088
7106
  0x17f8 => {
7089
7107
  Name => 'DistortionCorrParamsPresent',
@@ -7439,6 +7457,7 @@ my %isoSetting2010 = (
7439
7457
  Format => 'int16u',
7440
7458
  SeparateTable => 'LensType2',
7441
7459
  PrintConv => \%sonyLensTypes2,
7460
+ PrintInt => 1,
7442
7461
  },
7443
7462
  0x0109 => {
7444
7463
  Name => 'LensType',
@@ -7450,6 +7469,7 @@ my %isoSetting2010 = (
7450
7469
  # has a value of 0 for E-mount lenses (values 0x80xx)
7451
7470
  ValueConvInv => '($val & 0xff00) == 0x8000 ? 0 : int($val)',
7452
7471
  PrintConv => \%sonyLensTypes,
7472
+ PrintInt => 1,
7453
7473
  },
7454
7474
  0x010b => {
7455
7475
  Name => 'DistortionCorrParamsPresent',
@@ -7726,6 +7746,7 @@ my %isoSetting2010 = (
7726
7746
  Format => 'int16u',
7727
7747
  SeparateTable => 'LensType2',
7728
7748
  PrintConv => \%sonyLensTypes2,
7749
+ PrintInt => 1,
7729
7750
  },
7730
7751
  0x0109 => {
7731
7752
  Name => 'LensType',
@@ -7737,6 +7758,7 @@ my %isoSetting2010 = (
7737
7758
  # has a value of 0 for E-mount lenses (values 0x80xx)
7738
7759
  ValueConvInv => '($val & 0xff00) == 0x8000 ? 0 : int($val)',
7739
7760
  PrintConv => \%sonyLensTypes,
7761
+ PrintInt => 1,
7740
7762
  },
7741
7763
  0x010b => {
7742
7764
  Name => 'DistortionCorrParamsPresent',
@@ -8222,7 +8244,7 @@ my %isoSetting2010 = (
8222
8244
  },
8223
8245
  0x002a => [{
8224
8246
  Name => 'Quality2',
8225
- Condition => '$$self{Model} !~ /^(ILCE-(1|7M4|7RM5|7SM3)|ILME-FX3)\b/',
8247
+ Condition => '$$self{Model} !~ /^(ILCE-(1|7M4|7RM5|7SM3)|ILME-(FX3|FX30)|ZV-E1)\b/',
8226
8248
  PrintConv => {
8227
8249
  0 => 'JPEG',
8228
8250
  1 => 'RAW',
@@ -8231,7 +8253,6 @@ my %isoSetting2010 = (
8231
8253
  },
8232
8254
  },{
8233
8255
  Name => 'Quality2',
8234
- Condition => '$$self{Model} =~ /^(ILCE-(1|7M4|7RM5|7SM3)|ILME-FX3)\b/',
8235
8256
  PrintConv => {
8236
8257
  1 => 'JPEG',
8237
8258
  2 => 'RAW',
@@ -8242,13 +8263,13 @@ my %isoSetting2010 = (
8242
8263
  }],
8243
8264
  0x0047 => {
8244
8265
  Name => 'SonyImageHeight',
8245
- Condition => '$$self{Model} !~ /^(ILCE-(1|7M4|7RM5|7SM3)|ILME-FX3)\b/',
8266
+ Condition => '$$self{Model} !~ /^(ILCE-(1|7M4|7RM5|7SM3)|ILME-(FX3|FX30)|ZV-E1)\b/',
8246
8267
  Format => 'int16u',
8247
8268
  PrintConv => '$val > 0 ? 8*$val : "n.a."',
8248
8269
  },
8249
8270
  0x0053 => {
8250
8271
  Name => 'ModelReleaseYear',
8251
- Condition => '$$self{Model} !~ /^(ILCE-(1|7M4|7RM5|7SM3)|ILME-FX3)\b/',
8272
+ Condition => '$$self{Model} !~ /^(ILCE-(1|7M4|7RM5|7SM3)|ILME-(FX3|FX30)|ZV-E1)\b/',
8252
8273
  Format => 'int8u',
8253
8274
  PrintConv => 'sprintf("20%.2d", $val)',
8254
8275
  },
@@ -8263,9 +8284,10 @@ my %isoSetting2010 = (
8263
8284
  FIRST_ENTRY => 0,
8264
8285
  GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
8265
8286
  DATAMEMBER => [ 0 ],
8266
- IS_SUBDIR => [ 0x044e, 0x0498, 0x049d, 0x04a1, 0x04a2, 0x059d, 0x0634, 0x0636, 0x064c, 0x0653, 0x0678, 0x06b8, 0x06de, 0x06e7 ],
8287
+ IS_SUBDIR => [ 0x03e2, 0x044e, 0x0498, 0x049d, 0x04a1, 0x04a2, 0x059d, 0x0634, 0x0636, 0x064c, 0x0653, 0x0678, 0x06b8, 0x06de, 0x06e7 ],
8267
8288
  0x0000 => { Name => 'Ver9401', Hidden => 1, RawConv => '$$self{Ver9401} = $val; $$self{OPTIONS}{Unknown}<2 ? undef : $val' },
8268
8289
 
8290
+ 0x03e2 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} == 181', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
8269
8291
  0x044e => { Name => 'ISOInfo', Condition => '$$self{Ver9401} == 178', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
8270
8292
  0x0498 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} == 148', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
8271
8293
  0x049d => { Name => 'ISOInfo', Condition => '$$self{Ver9401} == 167', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
@@ -8535,6 +8557,7 @@ my %isoSetting2010 = (
8535
8557
  Notes => 'E-mount lenses',
8536
8558
  SeparateTable => 'LensType2',
8537
8559
  PrintConv => \%sonyLensTypes2,
8560
+ PrintInt => 1,
8538
8561
  },
8539
8562
  0x0608 => {
8540
8563
  Name => 'LensType',
@@ -8543,6 +8566,7 @@ my %isoSetting2010 = (
8543
8566
  Notes => 'A-mount lenses on SLT and NEX',
8544
8567
  SeparateTable => 1,
8545
8568
  PrintConv => \%sonyLensTypes,
8569
+ PrintInt => 1,
8546
8570
  },
8547
8571
  0x064a => {
8548
8572
  Name => 'VignettingCorrParams',
@@ -8713,6 +8737,7 @@ my %isoSetting2010 = (
8713
8737
  Notes => 'E-mount lenses',
8714
8738
  SeparateTable => 'LensType2',
8715
8739
  PrintConv => \%sonyLensTypes2,
8740
+ PrintInt => 1,
8716
8741
  },
8717
8742
  0x0062 => {
8718
8743
  Name => 'LensType',
@@ -8721,6 +8746,7 @@ my %isoSetting2010 = (
8721
8746
  Notes => 'A-mount lenses on SLT and NEX',
8722
8747
  SeparateTable => 1,
8723
8748
  PrintConv => \%sonyLensTypes,
8749
+ PrintInt => 1,
8724
8750
  },
8725
8751
  0x0064 => {
8726
8752
  Name => 'DistortionCorrParams',
@@ -8937,6 +8963,7 @@ my %isoSetting2010 = (
8937
8963
  Format => 'int16u',
8938
8964
  SeparateTable => 'LensType2',
8939
8965
  PrintConv => \%sonyLensTypes2,
8966
+ PrintInt => 1,
8940
8967
  },
8941
8968
  0x000b => {
8942
8969
  Name => 'CameraE-mountVersion',
@@ -9622,6 +9649,7 @@ my %isoSetting2010 = (
9622
9649
  Format => 'int16u',
9623
9650
  SeparateTable => 'LensType2',
9624
9651
  PrintConv => \%sonyLensTypes2,
9652
+ PrintInt => 1,
9625
9653
  },
9626
9654
  0x004d => {
9627
9655
  Name => 'LensType',
@@ -9631,6 +9659,7 @@ my %isoSetting2010 = (
9631
9659
  SeparateTable => 1,
9632
9660
  ValueConvInv => '($val & 0xff00) == 0x8000 ? 0 : int($val)',
9633
9661
  PrintConv => \%sonyLensTypes,
9662
+ PrintInt => 1,
9634
9663
  },
9635
9664
  0x004f => {
9636
9665
  Name => 'DistortionCorrParams',