exiftool_vendored 13.31.0 → 13.34.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 (44) hide show
  1. checksums.yaml +4 -4
  2. data/bin/Changes +56 -1
  3. data/bin/MANIFEST +5 -0
  4. data/bin/META.json +1 -1
  5. data/bin/META.yml +1 -1
  6. data/bin/README +47 -46
  7. data/bin/exiftool +114 -89
  8. data/bin/lib/Image/ExifTool/BuildTagLookup.pm +7 -5
  9. data/bin/lib/Image/ExifTool/Canon.pm +19 -2
  10. data/bin/lib/Image/ExifTool/Exif.pm +9 -6
  11. data/bin/lib/Image/ExifTool/FlashPix.pm +4 -159
  12. data/bin/lib/Image/ExifTool/FujiFilm.pm +11 -3
  13. data/bin/lib/Image/ExifTool/Geotag.pm +5 -3
  14. data/bin/lib/Image/ExifTool/GoPro.pm +14 -2
  15. data/bin/lib/Image/ExifTool/LNK.pm +4 -1
  16. data/bin/lib/Image/ExifTool/Lang/cs.pm +0 -1
  17. data/bin/lib/Image/ExifTool/Lang/de.pm +0 -1
  18. data/bin/lib/Image/ExifTool/Lang/fr.pm +0 -1
  19. data/bin/lib/Image/ExifTool/Lang/it.pm +0 -1
  20. data/bin/lib/Image/ExifTool/Lang/ja.pm +0 -1
  21. data/bin/lib/Image/ExifTool/Lang/nl.pm +0 -1
  22. data/bin/lib/Image/ExifTool/Lang/pl.pm +0 -1
  23. data/bin/lib/Image/ExifTool/Lang/zh_cn.pm +0 -1
  24. data/bin/lib/Image/ExifTool/Microsoft.pm +158 -1
  25. data/bin/lib/Image/ExifTool/Minolta.pm +4 -2
  26. data/bin/lib/Image/ExifTool/Nikon.pm +72 -37
  27. data/bin/lib/Image/ExifTool/NikonCustom.pm +40 -10
  28. data/bin/lib/Image/ExifTool/Olympus.pm +254 -34
  29. data/bin/lib/Image/ExifTool/Panasonic.pm +3 -3
  30. data/bin/lib/Image/ExifTool/Pentax.pm +340 -61
  31. data/bin/lib/Image/ExifTool/QuickTime.pm +11 -4
  32. data/bin/lib/Image/ExifTool/README +2 -1
  33. data/bin/lib/Image/ExifTool/Sony.pm +44 -17
  34. data/bin/lib/Image/ExifTool/TNEF.pm +487 -0
  35. data/bin/lib/Image/ExifTool/TagLookup.pm +4380 -4265
  36. data/bin/lib/Image/ExifTool/TagNames.pod +265 -19
  37. data/bin/lib/Image/ExifTool/WriteExif.pl +14 -12
  38. data/bin/lib/Image/ExifTool/Writer.pl +19 -15
  39. data/bin/lib/Image/ExifTool/XMPStruct.pl +1 -1
  40. data/bin/lib/Image/ExifTool.pm +12 -4
  41. data/bin/lib/Image/ExifTool.pod +50 -44
  42. data/bin/perl-Image-ExifTool.spec +46 -45
  43. data/lib/exiftool_vendored/version.rb +1 -1
  44. metadata +3 -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.73';
37
+ $VERSION = '3.75';
38
38
 
39
39
  sub ProcessSRF($$$);
40
40
  sub ProcessSR2($$$);
@@ -76,6 +76,9 @@ sub PrintInvLensSpec($;$$);
76
76
  6 => 'Sony LA-EA4 Adapter',
77
77
  7 => 'Sony LA-EA5 Adapter', #JR
78
78
  13 => 'Samyang AF 35-150mm F2-2.8',
79
+ 17 => 'Samyang RS 21mm F3.5', #JR
80
+ 18 => 'Samyang RS 28mm F3.5', #JR
81
+ 19 => 'Samyang RS 32mm F2.8', #JR
79
82
  20 => 'Samyang AF 35mm F1.4 P FE', #JR
80
83
  21 => 'Samyang AF 14-24mm F2.8', #JR
81
84
  # 27 => Venus Optics Laowa 12mm f2.8 Zero-D or 105mm f2 (T3.2) Smooth Trans Focus (ref IB)
@@ -176,6 +179,7 @@ sub PrintInvLensSpec($;$$);
176
179
  32888 => 'Sony FE 85mm F1.4 GM II', #JR
177
180
  32889 => 'Sony FE 28-70mm F2 GM',
178
181
  32890 => 'Sony FE 400-800mm F6.3-8 G OSS', #JR
182
+ 32891 => 'Sony FE 50-150mm F2 GM', #github335
179
183
 
180
184
  # (comment this out so LensID will report the LensModel, which is more useful)
181
185
  # 32952 => 'Metabones Canon EF Speed Booster Ultra', #JR (corresponds to 184, but 'Advanced' mode, LensMount reported as E-mount)
@@ -201,7 +205,9 @@ sub PrintInvLensSpec($;$$);
201
205
  33091 => 'Sony FE 400-800mm F6.3-8 G OSS + 1.4X Teleconverter', #JR
202
206
  33092 => 'Sony FE 400-800mm F6.3-8 G OSS + 2X Teleconverter', #JR
203
207
 
204
- 49201 => 'Zeiss Touit 12mm F2.8', #JR (lens firmware Ver.02)
208
+ 49201 => 'Zeiss Touit 12mm F2.8 or other Touit lens', #JR (lens firmware Ver.02) / github342 (firmware Ver.02.001)
209
+ 49201.1 => 'Zeiss Touit 32mm F1.8', #github342 (firmware Ver.02.001)
210
+ 49201.2 => 'Zeiss Touit 50mm F2.8', #github342 (firmware Ver.02.001) (NC)
205
211
  49202 => 'Zeiss Touit 32mm F1.8', #JR (lens firmware Ver.02)
206
212
  49203 => 'Zeiss Touit 50mm F2.8 Macro', #JR (lens firmware Ver.02)
207
213
  49216 => 'Zeiss Batis 25mm F2', #JR
@@ -248,9 +254,11 @@ sub PrintInvLensSpec($;$$);
248
254
  49474.8 => 'Viltrox 50mm F1.8 FE', #JR
249
255
  49474.9 => 'Viltrox 75mm F1.2 E', #JR
250
256
  '49474.10' => 'Viltrox 20mm F2.8 FE', #JR
257
+ '49474.11' => 'Viltrox AF 135/1.8 LAB FE', #JR
251
258
  49475 => 'Tamron 50-300mm F4.5-6.3 Di III VC VXD', #JR (Model A069)
252
259
  49476 => 'Tamron 28-300mm F4-7.1 Di III VC VXD', #JR (Model A074)
253
260
  49477 => 'Tamron 90mm F2.8 Di III Macro VXD', #JR (Model F072)
261
+ 49478 => 'Tamron 16-30mm F2.8 Di III VXD G2', #JR (Model A064)
254
262
 
255
263
  49712 => 'Tokina FiRIN 20mm F2 FE AF', # (firmware Ver.01)
256
264
  49713 => 'Tokina FiRIN 100mm F2.8 FE MACRO', # (firmware Ver.01)
@@ -312,6 +320,8 @@ sub PrintInvLensSpec($;$$);
312
320
  50550 => 'Sigma 28-105mm F2.8 DG DN | A', #JR (024)
313
321
  50551 => 'Sigma 28-45mm F1.8 DG DN | A', #JR (024)
314
322
  50553 => 'Sigma 300-600mm F4 DG OS | S', #JR (025)
323
+ 50554 => 'Sigma 16-300mm F3.5-6.7 DC OS | C', #JR (025)
324
+ 50556 => 'Sigma 17-40mm F1.8 DC | C', #JR (025)
315
325
 
316
326
  # lenses listed in the Sigma MC-11 list, but not yet seen:
317
327
  # 504xx => 'Sigma 18-200mm F3.5-6.3 DC MACRO OS HSM | C + MC-11', # (014)
@@ -1195,7 +1205,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
1195
1205
  # FocusMode for SLT/HV/ILCA and NEX/ILCE; doesn't seem to apply to DSC models (always 0)
1196
1206
  # from 2018: at least DSC-RX10M4 and RX100M6 also use this tag
1197
1207
  Name => 'FocusMode',
1198
- Condition => '($$self{Model} !~ /^DSC-/) or ($$self{Model} =~ /^DSC-(RX10M4|RX100M6|RX100M7|RX100M5A|HX95|HX99|RX0M2)/)',
1208
+ Condition => '($$self{Model} !~ /^DSC-/) or ($$self{Model} =~ /^DSC-(RX10M4|RX100M6|RX100M7|RX100M5A|HX95|HX99|RX0M2|RX1RM3)/)',
1199
1209
  Writable => 'int8u',
1200
1210
  Priority => 0,
1201
1211
  PrintConv => {
@@ -1227,7 +1237,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
1227
1237
  },
1228
1238
  },{
1229
1239
  Name => 'AFAreaModeSetting',
1230
- Condition => '$$self{Model} =~ /^(NEX-|ILCE-|ILME-|ZV-|DSC-(RX10M4|RX100M6|RX100M7|RX100M5A|HX95|HX99|RX0M2))/',
1240
+ Condition => '$$self{Model} =~ /^(NEX-|ILCE-|ILME-|ZV-|DSC-(RX10M4|RX100M6|RX100M7|RX100M5A|HX95|HX99|RX0M2|RX1RM3))/',
1231
1241
  Notes => 'NEX, ILCE and some DSC models',
1232
1242
  RawConv => '$$self{AFAreaILCE} = $val',
1233
1243
  DataMember => 'AFAreaILCE',
@@ -1264,7 +1274,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
1264
1274
  # observed values in range (0 0) to (640 480), with center (320 240) often seen
1265
1275
  # for NEX-5R/6, positions appear to be in an 11x9 grid
1266
1276
  Name => 'FlexibleSpotPosition',
1267
- Condition => '$$self{Model} =~ /^(NEX-|ILCE-|ILME-|ZV-|DSC-(RX10M4|RX100M6|RX100M7|RX100M5A|HX95|HX99|RX0M2))/',
1277
+ Condition => '$$self{Model} =~ /^(NEX-|ILCE-|ILME-|ZV-|DSC-(RX10M4|RX100M6|RX100M7|RX100M5A|HX95|HX99|RX0M2|RX1RM3))/',
1268
1278
  Writable => 'int16u',
1269
1279
  Count => 2,
1270
1280
  Notes => q{
@@ -1424,7 +1434,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
1424
1434
  # from 2018: at least DSC-RX10M4 and RX100M6 also use this tag
1425
1435
  0x2021 => { #JR
1426
1436
  Name => 'AFTracking',
1427
- Condition => '($$self{Model} !~ /^DSC-/) or ($$self{Model} =~ /^DSC-(RX10M4|RX100M6|RX100M7|RX100M5A|HX95|HX99|RX0M2)/)',
1437
+ Condition => '($$self{Model} !~ /^DSC-/) or ($$self{Model} =~ /^DSC-(RX10M4|RX100M6|RX100M7|RX100M5A|HX95|HX99|RX0M2|RX1RM3)/)',
1428
1438
  Writable => 'int8u',
1429
1439
  PrintConv => {
1430
1440
  0 => 'Off',
@@ -1720,7 +1730,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
1720
1730
  # from mid-2015: ILCE-7RM2/7SM2/6300 and newer models use different offsets
1721
1731
  {
1722
1732
  Name => 'Tag9050a',
1723
- Condition => '$$self{Model} !~ /^(DSC-|Stellar|ILCE-(1|6100|6300|6400|6500|6600|6700|7C|7M3|7M4|7RM2|7RM3A?|7RM4A?|7RM5|7SM2|7SM3|9|9M2)|ILCA-99M2|ILME-FX3|ZV-)/',
1733
+ Condition => '$$self{Model} !~ /^(DSC-|Stellar|ILCE-(1|6100|6300|6400|6500|6600|6700|7C|7M3|7M4|7RM2|7RM3A?|7RM4A?|7RM5|7SM2|7SM3|9|9M2)|ILCA-99M2|ILME-(FX2|FX3)|ZV-)/',
1724
1734
  SubDirectory => {
1725
1735
  TagTable => 'Image::ExifTool::Sony::Tag9050a',
1726
1736
  ByteOrder => 'LittleEndian',
@@ -1741,7 +1751,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
1741
1751
  },
1742
1752
  },{
1743
1753
  Name => 'Tag9050d',
1744
- Condition => '$$self{Model} =~ /^(ILCE-(6700|7CM2|7CR)|ZV-(E1|E10M2))\b/ or ($$self{Model} =~ /^(ILCE-1M2)/ and $$valPt =~ /^\x00/)',
1754
+ Condition => '$$self{Model} =~ /^(ILCE-(6700|7CM2|7CR)|ILME-FX2|ZV-(E1|E10M2))\b/ or ($$self{Model} =~ /^(ILCE-1M2)/ and $$valPt =~ /^\x00/)',
1745
1755
  SubDirectory => {
1746
1756
  TagTable => 'Image::ExifTool::Sony::Tag9050d',
1747
1757
  ByteOrder => 'LittleEndian',
@@ -2182,6 +2192,8 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
2182
2192
  398 => 'ILX-LR1', #JR
2183
2193
  399 => 'ZV-E10M2', #JR
2184
2194
  400 => 'ILCE-1M2', #PH
2195
+ 401 => 'DSC-RX1RM3', #JR
2196
+ 406 => 'ILME-FX2', #JR
2185
2197
  },
2186
2198
  },
2187
2199
  0xb020 => { #2
@@ -6324,6 +6336,8 @@ my %pictureProfile2010 = (
6324
6336
  38 => 'VV2',
6325
6337
  39 => 'IN',
6326
6338
  40 => 'SH',
6339
+ 48 => 'FL2', #JR
6340
+ 49 => 'FL3', #JR
6327
6341
  },
6328
6342
  );
6329
6343
  my %isoSetting2010 = (
@@ -8233,7 +8247,7 @@ my %isoSetting2010 = (
8233
8247
  0x000a => {
8234
8248
  Name => 'ShutterCount',
8235
8249
  # number of mechanical shutter actuations, does not increase during electronic shutter / Silent Shooting
8236
- Condition => '$$self{Model} =~ /^(ILCE-(1M2|6700|7CM2|7CR))/',
8250
+ Condition => '$$self{Model} =~ /^(ILCE-(1M2|6700|7CM2|7CR)|ILME-FX2)/',
8237
8251
  Format => 'int32u',
8238
8252
  Notes => 'total number of mechanical shutter actuations',
8239
8253
  RawConv => '$val & 0x00ffffff',
@@ -8494,7 +8508,7 @@ my %isoSetting2010 = (
8494
8508
  },
8495
8509
  0x002a => [{
8496
8510
  Name => 'Quality2',
8497
- Condition => '$$self{Model} !~ /^(ILCE-(1|1M2|6700|7CM2|7CR|7M4|7RM5|7SM3|9M3)|ILME-(FX3|FX30)|ZV-(E1|E10M2))\b/',
8511
+ Condition => '$$self{Model} !~ /^(DSC-RX1RM3|ILCE-(1|1M2|6700|7CM2|7CR|7M4|7RM5|7SM3|9M3)|ILME-(FX2|FX3|FX30)|ZV-(E1|E10M2))\b/',
8498
8512
  PrintConv => {
8499
8513
  0 => 'JPEG',
8500
8514
  1 => 'RAW',
@@ -8519,7 +8533,7 @@ my %isoSetting2010 = (
8519
8533
  # },
8520
8534
  0x0053 => {
8521
8535
  Name => 'ModelReleaseYear',
8522
- Condition => '$$self{Model} !~ /^(ILCE-(1|6700|7CM2|7CR|7M4|7RM5|7SM3|9M3)|ILME-(FX3|FX30)|ZV-(E1|E10M2))\b/',
8536
+ Condition => '$$self{Model} !~ /^(DSC-RX1RM3|ILCE-(1|6700|7CM2|7CR|7M4|7RM5|7SM3|9M3)|ILME-(FX2|FX3|FX30)|ZV-(E1|E10M2))\b/',
8523
8537
  Format => 'int8u',
8524
8538
  PrintConv => 'sprintf("20%.2d", $val)',
8525
8539
  },
@@ -8562,7 +8576,7 @@ my %isoSetting2010 = (
8562
8576
  0x0000 => { Name => 'Ver9401', Hidden => 1, RawConv => '$$self{Ver9401} = $val; $$self{OPTIONS}{Unknown}<2 ? undef : $val' },
8563
8577
 
8564
8578
  0x03e2 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} == 181', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
8565
- 0x03f4 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} =~ /^(185|186)/', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
8579
+ 0x03f4 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} =~ /^(185|186|187)/', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
8566
8580
  0x044e => { Name => 'ISOInfo', Condition => '$$self{Ver9401} == 178', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
8567
8581
  0x0498 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} == 148', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
8568
8582
  0x049d => { Name => 'ISOInfo', Condition => '$$self{Ver9401} == 167 and $$self{Software} !~ /^ILCE-7M4 (v2|v3)/', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
@@ -9890,10 +9904,19 @@ my %isoSetting2010 = (
9890
9904
  WRITE_PROC => \&WriteEnciphered,
9891
9905
  CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
9892
9906
  FORMAT => 'int8u',
9893
- NOTES => 'Valid for the ILCE-1/6700/7CM2/7CR/7M4/7RM5/7SM3/9M3, ILME-FX3/FX30, ZV-E1/E10M2.',
9907
+ DATAMEMBER => [ 0x00, 0x37 ],
9908
+ NOTES => q{
9909
+ Valid for the ILCE-1/6700/7CM2/7CR/7M4/7RM5/7SM3/9M3, ILME-FX2/FX3/FX30,
9910
+ ZV-E1/E10M2.
9911
+ },
9894
9912
  FIRST_ENTRY => 0,
9895
9913
  GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
9896
- 0x0000 => { Name => 'Tag9416_0000', PrintConv => 'sprintf("%3d",$val)', RawConv => '$$self{TagVersion} = $val' },
9914
+ 0x0000 => {
9915
+ Name => 'Tag9416_0000',
9916
+ Hidden => 1, # (hide from documentation)
9917
+ PrintConv => 'sprintf("%3d",$val)',
9918
+ RawConv => '$$self{TagVersion} = $val; undef', # (used only to set TagVersion)
9919
+ },
9897
9920
  0x0004 => {
9898
9921
  Name => 'SonyISO',
9899
9922
  Format => 'int16u',
@@ -9942,7 +9965,9 @@ my %isoSetting2010 = (
9942
9965
  PrintConv => \%sonyExposureProgram3,
9943
9966
  },
9944
9967
  0x0037 => {
9945
- Name => 'CreativeStyle',
9968
+ Name => 'CreativeStyle',
9969
+ Notes => 'offsets after this are shifted by 1 for the ILME-FX2',
9970
+ Hook => '$varSize += 1 if $$self{Model} =~ /^(ILME-FX2)/',
9946
9971
  PrintConv => {
9947
9972
  0 => 'Standard',
9948
9973
  1 => 'Vivid',
@@ -9961,6 +9986,8 @@ my %isoSetting2010 = (
9961
9986
  16 => 'VV2',
9962
9987
  17 => 'IN',
9963
9988
  18 => 'SH',
9989
+ 19 => 'FL2',
9990
+ 20 => 'FL3',
9964
9991
  255 => 'Off',
9965
9992
  },
9966
9993
  },
@@ -10053,7 +10080,7 @@ my %isoSetting2010 = (
10053
10080
  },
10054
10081
  0x089d => { # Note: 32 values for these newer models, and 32 non-zero values present for new lenses like SEL2470GM2 and SEL2070G
10055
10082
  Name => 'VignettingCorrParams',
10056
- Condition => '$$self{Model} =~ /^(ILCE-(1M2|6700|7CM2|7CR|7RM5)|ILME-FX30|ZV-(E1|E10M2))\b/',
10083
+ Condition => '$$self{Model} =~ /^(ILCE-(1M2|6700|7CM2|7CR|7RM5)|ILME-(FX2|FX30)|ZV-(E1|E10M2))\b/',
10057
10084
  Format => 'int16s[32]',
10058
10085
  },
10059
10086
  0x08b5 => {
@@ -10092,7 +10119,7 @@ my %isoSetting2010 = (
10092
10119
  },
10093
10120
  0x0945 => {
10094
10121
  Name => 'ChromaticAberrationCorrParams',
10095
- Condition => '$$self{Model} =~ /^(ILCE-(1M2|6700|7CM2|7CR|7RM5)|ILME-FX30|ZV-(E1|E10M2))\b/',
10122
+ Condition => '$$self{Model} =~ /^(ILCE-(1M2|6700|7CM2|7CR|7RM5)|ILME-(FX2|FX30)|ZV-(E1|E10M2))\b/',
10096
10123
  Format => 'int16s[32]',
10097
10124
  },
10098
10125
  );