exiftool-vendored.exe 12.39.0 → 12.42.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 (41) hide show
  1. package/bin/exiftool_files/Changes +66 -1
  2. package/bin/exiftool_files/README +2 -2
  3. package/bin/exiftool_files/arg_files/exif2xmp.args +5 -0
  4. package/bin/exiftool_files/arg_files/xmp2exif.args +6 -0
  5. package/bin/exiftool_files/config_files/acdsee.config +6 -6
  6. package/bin/exiftool_files/config_files/photoshop_paths.config +30 -7
  7. package/bin/exiftool_files/config_files/picasa_faces.config +1 -1
  8. package/bin/exiftool_files/config_files/pix4d.config +2 -2
  9. package/bin/exiftool_files/config_files/tiff_version.config +2 -2
  10. package/bin/exiftool_files/exiftool.pl +53 -20
  11. package/bin/exiftool_files/lib/Image/ExifTool/Canon.pm +89 -6
  12. package/bin/exiftool_files/lib/Image/ExifTool/DJI.pm +59 -1
  13. package/bin/exiftool_files/lib/Image/ExifTool/DNG.pm +8 -2
  14. package/bin/exiftool_files/lib/Image/ExifTool/Exif.pm +53 -20
  15. package/bin/exiftool_files/lib/Image/ExifTool/Geotag.pm +3 -2
  16. package/bin/exiftool_files/lib/Image/ExifTool/ICC_Profile.pm +10 -8
  17. package/bin/exiftool_files/lib/Image/ExifTool/ID3.pm +5 -5
  18. package/bin/exiftool_files/lib/Image/ExifTool/MacOS.pm +9 -9
  19. package/bin/exiftool_files/lib/Image/ExifTool/MakerNotes.pm +17 -1
  20. package/bin/exiftool_files/lib/Image/ExifTool/Nikon.pm +44 -12
  21. package/bin/exiftool_files/lib/Image/ExifTool/NikonCustom.pm +4 -1
  22. package/bin/exiftool_files/lib/Image/ExifTool/Olympus.pm +27 -7
  23. package/bin/exiftool_files/lib/Image/ExifTool/PDF.pm +2 -1
  24. package/bin/exiftool_files/lib/Image/ExifTool/Panasonic.pm +10 -1
  25. package/bin/exiftool_files/lib/Image/ExifTool/Pentax.pm +1 -1
  26. package/bin/exiftool_files/lib/Image/ExifTool/Photoshop.pm +6 -5
  27. package/bin/exiftool_files/lib/Image/ExifTool/QuickTime.pm +9 -5
  28. package/bin/exiftool_files/lib/Image/ExifTool/QuickTimeStream.pl +2 -2
  29. package/bin/exiftool_files/lib/Image/ExifTool/Samsung.pm +237 -2
  30. package/bin/exiftool_files/lib/Image/ExifTool/Shortcuts.pm +3 -1
  31. package/bin/exiftool_files/lib/Image/ExifTool/Sony.pm +10 -4
  32. package/bin/exiftool_files/lib/Image/ExifTool/TagLookup.pm +6376 -6354
  33. package/bin/exiftool_files/lib/Image/ExifTool/TagNames.pod +79 -28
  34. package/bin/exiftool_files/lib/Image/ExifTool/WriteQuickTime.pl +7 -3
  35. package/bin/exiftool_files/lib/Image/ExifTool/WriteXMP.pl +2 -0
  36. package/bin/exiftool_files/lib/Image/ExifTool/Writer.pl +1 -1
  37. package/bin/exiftool_files/lib/Image/ExifTool/XMP.pm +9 -1
  38. package/bin/exiftool_files/lib/Image/ExifTool/XMPStruct.pl +21 -7
  39. package/bin/exiftool_files/lib/Image/ExifTool.pm +20 -12
  40. package/bin/exiftool_files/lib/Image/ExifTool.pod +7 -6
  41. package/package.json +14 -3
@@ -40,7 +40,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
40
40
  use Image::ExifTool::Exif;
41
41
  use Image::ExifTool::APP12;
42
42
 
43
- $VERSION = '2.75';
43
+ $VERSION = '2.78';
44
44
 
45
45
  sub PrintLensInfo($$$);
46
46
 
@@ -432,6 +432,7 @@ my %olympusCameraTypes = (
432
432
  S0089 => 'E-M5MarkIII',
433
433
  S0092 => 'E-M1MarkIII', #IB
434
434
  S0093 => 'E-P7', #IB
435
+ S0095 => 'OM-1', #IB
435
436
  SR45 => 'D220',
436
437
  SR55 => 'D320L',
437
438
  SR83 => 'D340L',
@@ -1910,6 +1911,23 @@ my %indexInfo = (
1910
1911
  Name => 'FocusBracketStepSize',
1911
1912
  Writable => 'int8u',
1912
1913
  },
1914
+ 0x309 => { #forum13341
1915
+ Name => 'AISubjectTrackingMode',
1916
+ Writable => 'int16u',
1917
+ ValueConv => '($val >> 8) . " " . ($val & 0xff)',
1918
+ ValueConvInv => 'my @a = split " ", $val; $val = $a[0]*256 + $a[1]',
1919
+ PrintConv => [{
1920
+ 0 => 'Off',
1921
+ 1 => 'Motorsports',
1922
+ 2 => 'Airplnes',
1923
+ 3 => 'Trains',
1924
+ 4 => 'Birds',
1925
+ 5 => 'Dogs & Cats',
1926
+ },{
1927
+ 0 => 'Object Not Found',
1928
+ 1 => 'Object Found',
1929
+ }],
1930
+ },
1913
1931
  0x400 => { #6
1914
1932
  Name => 'FlashMode',
1915
1933
  Writable => 'int16u',
@@ -2537,11 +2555,13 @@ my %indexInfo = (
2537
2555
  '3 8' => 'ND8 (3EV)', #IB
2538
2556
  '3 16' => 'ND16 (4EV)', #IB
2539
2557
  '3 32' => 'ND32 (5EV)', #IB
2558
+ '3 64' => 'ND64 (6EV)', #forum13341
2540
2559
  '5 4' => 'HDR1', #forum8906
2541
2560
  '6 4' => 'HDR2', #forum8906
2542
2561
  '8 8' => 'Tripod high resolution', #IB
2543
2562
  '9 *' => 'Focus-stacked (* images)', #IB (* = 2-15)
2544
- '11 16' => 'Hand-held high resolution', #IB (perhaps '11 15' would be possible, ref 24)
2563
+ '11 12' => 'Hand-held high resolution (11 12)', #forum13341 (OM-1)
2564
+ '11 16' => 'Hand-held high resolution (11 16)', #IB (perhaps '11 15' would be possible, ref 24)
2545
2565
  OTHER => sub {
2546
2566
  my ($val, $inv, $conv) = @_;
2547
2567
  if ($inv) {
@@ -3430,7 +3450,7 @@ my %indexInfo = (
3430
3450
  0x2a => {
3431
3451
  Name => 'FNumber',
3432
3452
  Format => 'rational64u',
3433
- PrintConv => 'sprintf("%.1f",$val)',
3453
+ PrintConv => 'Image::ExifTool::Exif::PrintFNumber($val)',
3434
3454
  },
3435
3455
  0x32 => { #(NC)
3436
3456
  Name => 'ExposureCompensation',
@@ -3476,7 +3496,7 @@ my %indexInfo = (
3476
3496
  0x3a => {
3477
3497
  Name => 'FNumber',
3478
3498
  Format => 'rational64u',
3479
- PrintConv => 'sprintf("%.1f",$val)',
3499
+ PrintConv => 'Image::ExifTool::Exif::PrintFNumber($val)',
3480
3500
  },
3481
3501
  0x42 => { #(NC)
3482
3502
  Name => 'ExposureCompensation',
@@ -3527,7 +3547,7 @@ my %indexInfo = (
3527
3547
  0x28 => {
3528
3548
  Name => 'FNumber',
3529
3549
  Format => 'rational64u',
3530
- PrintConv => 'sprintf("%.1f",$val)',
3550
+ PrintConv => 'Image::ExifTool::Exif::PrintFNumber($val)',
3531
3551
  },
3532
3552
  0x30 => { #(NC)
3533
3553
  Name => 'ExposureCompensation',
@@ -3744,7 +3764,7 @@ my %indexInfo = (
3744
3764
  0x5a => {
3745
3765
  Name => 'FNumber',
3746
3766
  Format => 'rational64u',
3747
- PrintConv => 'sprintf("%.1f",$val)',
3767
+ PrintConv => 'Image::ExifTool::Exif::PrintFNumber($val)',
3748
3768
  },
3749
3769
  0x7f => {
3750
3770
  Name => 'DateTimeOriginal', #(NC)
@@ -3789,7 +3809,7 @@ my %indexInfo = (
3789
3809
  0x5e => {
3790
3810
  Name => 'FNumber',
3791
3811
  Format => 'rational64u',
3792
- PrintConv => 'sprintf("%.1f",$val)',
3812
+ PrintConv => 'Image::ExifTool::Exif::PrintFNumber($val)',
3793
3813
  },
3794
3814
  0x83 => {
3795
3815
  Name => 'DateTime1',
@@ -21,7 +21,7 @@ use vars qw($VERSION $AUTOLOAD $lastFetched);
21
21
  use Image::ExifTool qw(:DataAccess :Utils);
22
22
  require Exporter;
23
23
 
24
- $VERSION = '1.54';
24
+ $VERSION = '1.55';
25
25
 
26
26
  sub FetchObject($$$$);
27
27
  sub ExtractObject($$;$$);
@@ -2276,6 +2276,7 @@ XRef:
2276
2276
  # load XRef stream in hybrid file if it exists
2277
2277
  push @xrefOffsets, $$mainDict{XRefStm}, 'XRefStm' if $$mainDict{XRefStm};
2278
2278
  $encrypt = $$mainDict{Encrypt} if $$mainDict{Encrypt};
2279
+ undef $encrypt if $encrypt and $encrypt eq 'null'; # (have seen "null")
2279
2280
  if ($$mainDict{ID} and ref $$mainDict{ID} eq 'ARRAY') {
2280
2281
  $id = ReadPDFValue($mainDict->{ID}->[0]);
2281
2282
  }
@@ -37,7 +37,7 @@ use vars qw($VERSION %leicaLensTypes);
37
37
  use Image::ExifTool qw(:DataAccess :Utils);
38
38
  use Image::ExifTool::Exif;
39
39
 
40
- $VERSION = '2.16';
40
+ $VERSION = '2.17';
41
41
 
42
42
  sub ProcessLeicaLEIC($$$);
43
43
  sub WhiteBalanceConv($;$$);
@@ -2472,6 +2472,15 @@ my %shootingMode = (
2472
2472
  Start => 12,
2473
2473
  },
2474
2474
  },
2475
+ 0x200080 => { # (GH6)
2476
+ Name => 'ExifData',
2477
+ Condition => '$$valPt =~ /^\xff\xd8\xff\xe1..Exif\0\0/s',
2478
+ SubDirectory => {
2479
+ TagTable => 'Image::ExifTool::Exif::Main',
2480
+ ProcessProc => \&Image::ExifTool::ProcessTIFF,
2481
+ Start => 12,
2482
+ },
2483
+ },
2475
2484
  );
2476
2485
 
2477
2486
  # Panasonic Composite tags
@@ -171,7 +171,7 @@ sub DecodeAFPoints($$$$;$);
171
171
  '3 255.4' => 'Sigma DF EX Aspherical 28-70mm F2.8', #12
172
172
  '3 255.5' => 'Sigma AF Tele 400mm F5.6 Multi-coated', #JD
173
173
  '3 255.6' => 'Sigma 24-60mm F2.8 EX DG', #PH
174
- '3 255.7' => 'Sigma 70-300mm F4-5.6 Macro', #JD
174
+ '3 255.7' => 'Sigma 70-300mm F4-5.6 Macro', #JD (also DG Macro, ref 27)
175
175
  '3 255.8' => 'Sigma 55-200mm F4-5.6 DC', #JD
176
176
  '3 255.9' => 'Sigma 18-50mm F2.8 EX DC', #JD (also Macro version - PH)
177
177
  '4 1' => 'smc PENTAX-FA SOFT 28mm F2.8',
@@ -248,11 +248,12 @@ my %unicodeString = (
248
248
  Protected => 1,
249
249
  Notes => q{
250
250
  this tag indicates provides a way for XMP-aware applications to indicate
251
- that the XMP is synchronized with the IPTC. When writing, special values of
252
- "new" and "old" represent the digests of the IPTC from the edited and
253
- original files respectively, and are undefined if the IPTC does not exist in
254
- the respective file. Set this to "new" as an indication that the XMP is
255
- synchronized with the IPTC
251
+ that the XMP is synchronized with the IPTC. The MWG recommendation is to
252
+ ignore the XMP if IPTCDigest exists and doesn't match the CurrentIPTCDigest.
253
+ When writing, special values of "new" and "old" represent the digests of the
254
+ IPTC from the edited and original files respectively, and are undefined if
255
+ the IPTC does not exist in the respective file. Set this to "new" as an
256
+ indication that the XMP is synchronized with the IPTC
256
257
  },
257
258
  # also note the 'new' feature requires that the IPTC comes before this tag is written
258
259
  ValueConv => 'unpack("H*", $val)',
@@ -47,7 +47,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
47
47
  use Image::ExifTool::Exif;
48
48
  use Image::ExifTool::GPS;
49
49
 
50
- $VERSION = '2.73';
50
+ $VERSION = '2.74';
51
51
 
52
52
  sub ProcessMOV($$;$);
53
53
  sub ProcessKeys($$$);
@@ -2232,7 +2232,7 @@ my %eeBox2 = (
2232
2232
  # 4 ? - "1e 00"
2233
2233
  # 6 int16u - record length in bytes
2234
2234
  # 8 ? - "23 01 00 00 00 00 00 00"
2235
- # 16 - start of records (each record ends in an int64u timestamp in ns)
2235
+ # 16 - start of records (each record ends in an int64u timestamp "ts" in ns)
2236
2236
  # RDTA - float[4],ts: "-0.31289672 -0.2245330 11.303817 0 775.780"
2237
2237
  # RDTB - float[4],ts: "-0.04841613 -0.2166595 0.0724792 0 775.780"
2238
2238
  # RDTC - float[4],ts: "27.60925 -27.10037 -13.27285 0 775.829"
@@ -8795,16 +8795,20 @@ sub ProcessSampleDesc($$$)
8795
8795
 
8796
8796
  my $num = Get32u($dataPt, 4); # get number of sample entries in table
8797
8797
  $pos += 8;
8798
- my $i;
8798
+ my ($i, $err);
8799
8799
  for ($i=0; $i<$num; ++$i) { # loop through sample entries
8800
- last if $pos + 8 > $dirLen;
8800
+ $pos + 8 > $dirLen and $err = 1, last;
8801
8801
  my $size = Get32u($dataPt, $pos);
8802
- last if $pos + $size > $dirLen;
8802
+ $pos + $size > $dirLen and $err = 1, last;
8803
8803
  $$dirInfo{DirStart} = $pos;
8804
8804
  $$dirInfo{DirLen} = $size;
8805
8805
  ProcessHybrid($et, $dirInfo, $tagTablePtr);
8806
8806
  $pos += $size;
8807
8807
  }
8808
+ if ($err and $$et{HandlerType}) {
8809
+ my $grp = $$et{SET_GROUP1} || $$dirInfo{Parent} || 'unknown';
8810
+ $et->Warn("Truncated $$et{HandlerType} sample table for $grp");
8811
+ }
8808
8812
  return 1;
8809
8813
  }
8810
8814
 
@@ -1144,13 +1144,13 @@ sub ProcessSamples($)
1144
1144
  }
1145
1145
  @$size < @$start + $samplesPerChunk and $et->WarnOnce('Sample size error'), last;
1146
1146
  my $sampleStart = $chunkStart;
1147
- for ($i=0; ; ) {
1147
+ Sample: for ($i=0; ; ) {
1148
1148
  push @$start, $sampleStart;
1149
1149
  if (defined $time) {
1150
1150
  until ($timeCount) {
1151
1151
  if (@$stts < 2) {
1152
1152
  undef $time;
1153
- last;
1153
+ last Sample;
1154
1154
  }
1155
1155
  $timeCount = shift @$stts;
1156
1156
  $timeDelta = shift @$stts;
@@ -22,7 +22,7 @@ use vars qw($VERSION %samsungLensTypes);
22
22
  use Image::ExifTool qw(:DataAccess :Utils);
23
23
  use Image::ExifTool::Exif;
24
24
 
25
- $VERSION = '1.50';
25
+ $VERSION = '1.52';
26
26
 
27
27
  sub WriteSTMN($$$);
28
28
  sub ProcessINFO($$$);
@@ -454,6 +454,8 @@ my %formatMinMax = (
454
454
  0xa018 => { #1
455
455
  Name => 'ExposureTime',
456
456
  Writable => 'rational64u',
457
+ ValueConv => '$val=~s/ .*//; $val', # some models write 2 values here
458
+ ValueConvInv => '$val',
457
459
  PrintConv => 'Image::ExifTool::Exif::PrintExposureTime($val)',
458
460
  PrintConvInv => '$val',
459
461
  },
@@ -461,6 +463,8 @@ my %formatMinMax = (
461
463
  Name => 'FNumber',
462
464
  Priority => 0,
463
465
  Writable => 'rational64u',
466
+ ValueConv => '$val=~s/ .*//; $val', # some models write 2 values here
467
+ ValueConvInv => '$val',
464
468
  PrintConv => 'sprintf("%.1f",$val)',
465
469
  PrintConvInv => '$val',
466
470
  },
@@ -996,7 +1000,238 @@ my %formatMinMax = (
996
1000
  '0x0a30' => { Name => 'EmbeddedVideoFile', Groups => { 2 => 'Video' }, Binary => 1 }, #forum7161
997
1001
  # 0x0aa1-name - seen 'MCC_Data'
998
1002
  # 0x0aa1 - seen '204','222','234','302','429'
999
- '0x0aa1' => 'MCCData', # (unknown meaning)
1003
+ '0x0aa1' => {
1004
+ Name => 'MCCData',
1005
+ Groups => { 2 => 'Location' },
1006
+ PrintConv => {
1007
+ 202 => 'Greece',
1008
+ 204 => 'Netherlands',
1009
+ 206 => 'Belgium',
1010
+ 208 => 'France',
1011
+ 212 => 'Monaco',
1012
+ 213 => 'Andorra',
1013
+ 214 => 'Spain',
1014
+ 216 => 'Hungary',
1015
+ 218 => 'Bosnia & Herzegov.',
1016
+ 219 => 'Croatia',
1017
+ 220 => 'Serbia',
1018
+ 221 => 'Kosovo',
1019
+ 222 => 'Italy',
1020
+ 226 => 'Romania',
1021
+ 228 => 'Switzerland',
1022
+ 230 => 'Czech Rep.',
1023
+ 231 => 'Slovakia',
1024
+ 232 => 'Austria',
1025
+ 234 => 'United Kingdom',
1026
+ 235 => 'United Kingdom',
1027
+ 238 => 'Denmark',
1028
+ 240 => 'Sweden',
1029
+ 242 => 'Norway',
1030
+ 244 => 'Finland',
1031
+ 246 => 'Lithuania',
1032
+ 247 => 'Latvia',
1033
+ 248 => 'Estonia',
1034
+ 250 => 'Russian Federation',
1035
+ 255 => 'Ukraine',
1036
+ 257 => 'Belarus',
1037
+ 259 => 'Moldova',
1038
+ 260 => 'Poland',
1039
+ 262 => 'Germany',
1040
+ 266 => 'Gibraltar',
1041
+ 268 => 'Portugal',
1042
+ 270 => 'Luxembourg',
1043
+ 272 => 'Ireland',
1044
+ 274 => 'Iceland',
1045
+ 276 => 'Albania',
1046
+ 278 => 'Malta',
1047
+ 280 => 'Cyprus',
1048
+ 282 => 'Georgia',
1049
+ 283 => 'Armenia',
1050
+ 284 => 'Bulgaria',
1051
+ 286 => 'Turkey',
1052
+ 288 => 'Faroe Islands',
1053
+ 289 => 'Abkhazia',
1054
+ 290 => 'Greenland',
1055
+ 292 => 'San Marino',
1056
+ 293 => 'Slovenia',
1057
+ 294 => 'Macedonia',
1058
+ 295 => 'Liechtenstein',
1059
+ 297 => 'Montenegro',
1060
+ 302 => 'Canada',
1061
+ 308 => 'St. Pierre & Miquelon',
1062
+ 310 => 'United States / Guam',
1063
+ 311 => 'United States / Guam',
1064
+ 312 => 'United States',
1065
+ 316 => 'United States',
1066
+ 330 => 'Puerto Rico',
1067
+ 334 => 'Mexico',
1068
+ 338 => 'Jamaica',
1069
+ 340 => 'French Guiana / Guadeloupe / Martinique',
1070
+ 342 => 'Barbados',
1071
+ 344 => 'Antigua and Barbuda',
1072
+ 346 => 'Cayman Islands',
1073
+ 348 => 'British Virgin Islands',
1074
+ 350 => 'Bermuda',
1075
+ 352 => 'Grenada',
1076
+ 354 => 'Montserrat',
1077
+ 356 => 'Saint Kitts and Nevis',
1078
+ 358 => 'Saint Lucia',
1079
+ 360 => 'St. Vincent & Gren.',
1080
+ 362 => 'Bonaire, Sint Eustatius and Saba / Curacao / Netherlands Antilles',
1081
+ 363 => 'Aruba',
1082
+ 364 => 'Bahamas',
1083
+ 365 => 'Anguilla',
1084
+ 366 => 'Dominica',
1085
+ 368 => 'Cuba',
1086
+ 370 => 'Dominican Republic',
1087
+ 372 => 'Haiti',
1088
+ 374 => 'Trinidad and Tobago',
1089
+ 376 => 'Turks and Caicos Islands / US Virgin Islands',
1090
+ 400 => 'Azerbaijan',
1091
+ 401 => 'Kazakhstan',
1092
+ 402 => 'Bhutan',
1093
+ 404 => 'India',
1094
+ 405 => 'India',
1095
+ 410 => 'Pakistan',
1096
+ 412 => 'Afghanistan',
1097
+ 413 => 'Sri Lanka',
1098
+ 414 => 'Myanmar (Burma)',
1099
+ 415 => 'Lebanon',
1100
+ 416 => 'Jordan',
1101
+ 417 => 'Syrian Arab Republic',
1102
+ 418 => 'Iraq',
1103
+ 419 => 'Kuwait',
1104
+ 420 => 'Saudi Arabia',
1105
+ 421 => 'Yemen',
1106
+ 422 => 'Oman',
1107
+ 424 => 'United Arab Emirates',
1108
+ 425 => 'Israel / Palestinian Territory',
1109
+ 426 => 'Bahrain',
1110
+ 427 => 'Qatar',
1111
+ 428 => 'Mongolia',
1112
+ 429 => 'Nepal',
1113
+ 430 => 'United Arab Emirates',
1114
+ 431 => 'United Arab Emirates',
1115
+ 432 => 'Iran',
1116
+ 434 => 'Uzbekistan',
1117
+ 436 => 'Tajikistan',
1118
+ 437 => 'Kyrgyzstan',
1119
+ 438 => 'Turkmenistan',
1120
+ 440 => 'Japan',
1121
+ 441 => 'Japan',
1122
+ 450 => 'South Korea',
1123
+ 452 => 'Viet Nam',
1124
+ 454 => 'Hongkong, China',
1125
+ 455 => 'Macao, China',
1126
+ 456 => 'Cambodia',
1127
+ 457 => 'Laos P.D.R.',
1128
+ 460 => 'China',
1129
+ 466 => 'Taiwan',
1130
+ 467 => 'North Korea',
1131
+ 470 => 'Bangladesh',
1132
+ 472 => 'Maldives',
1133
+ 502 => 'Malaysia',
1134
+ 505 => 'Australia',
1135
+ 510 => 'Indonesia',
1136
+ 514 => 'Timor-Leste',
1137
+ 515 => 'Philippines',
1138
+ 520 => 'Thailand',
1139
+ 525 => 'Singapore',
1140
+ 528 => 'Brunei Darussalam',
1141
+ 530 => 'New Zealand',
1142
+ 537 => 'Papua New Guinea',
1143
+ 539 => 'Tonga',
1144
+ 540 => 'Solomon Islands',
1145
+ 541 => 'Vanuatu',
1146
+ 542 => 'Fiji',
1147
+ 544 => 'American Samoa',
1148
+ 545 => 'Kiribati',
1149
+ 546 => 'New Caledonia',
1150
+ 547 => 'French Polynesia',
1151
+ 548 => 'Cook Islands',
1152
+ 549 => 'Samoa',
1153
+ 550 => 'Micronesia',
1154
+ 552 => 'Palau',
1155
+ 553 => 'Tuvalu',
1156
+ 555 => 'Niue',
1157
+ 602 => 'Egypt',
1158
+ 603 => 'Algeria',
1159
+ 604 => 'Morocco',
1160
+ 605 => 'Tunisia',
1161
+ 606 => 'Libya',
1162
+ 607 => 'Gambia',
1163
+ 608 => 'Senegal',
1164
+ 609 => 'Mauritania',
1165
+ 610 => 'Mali',
1166
+ 611 => 'Guinea',
1167
+ 612 => 'Ivory Coast',
1168
+ 613 => 'Burkina Faso',
1169
+ 614 => 'Niger',
1170
+ 615 => 'Togo',
1171
+ 616 => 'Benin',
1172
+ 617 => 'Mauritius',
1173
+ 618 => 'Liberia',
1174
+ 619 => 'Sierra Leone',
1175
+ 620 => 'Ghana',
1176
+ 621 => 'Nigeria',
1177
+ 622 => 'Chad',
1178
+ 623 => 'Central African Rep.',
1179
+ 624 => 'Cameroon',
1180
+ 625 => 'Cape Verde',
1181
+ 626 => 'Sao Tome & Principe',
1182
+ 627 => 'Equatorial Guinea',
1183
+ 628 => 'Gabon',
1184
+ 629 => 'Congo, Republic',
1185
+ 630 => 'Congo, Dem. Rep.',
1186
+ 631 => 'Angola',
1187
+ 632 => 'Guinea-Bissau',
1188
+ 633 => 'Seychelles',
1189
+ 634 => 'Sudan',
1190
+ 635 => 'Rwanda',
1191
+ 636 => 'Ethiopia',
1192
+ 637 => 'Somalia',
1193
+ 638 => 'Djibouti',
1194
+ 639 => 'Kenya',
1195
+ 640 => 'Tanzania',
1196
+ 641 => 'Uganda',
1197
+ 642 => 'Burundi',
1198
+ 643 => 'Mozambique',
1199
+ 645 => 'Zambia',
1200
+ 646 => 'Madagascar',
1201
+ 647 => 'Reunion',
1202
+ 648 => 'Zimbabwe',
1203
+ 649 => 'Namibia',
1204
+ 650 => 'Malawi',
1205
+ 651 => 'Lesotho',
1206
+ 652 => 'Botswana',
1207
+ 653 => 'Swaziland',
1208
+ 654 => 'Comoros',
1209
+ 655 => 'South Africa',
1210
+ 657 => 'Eritrea',
1211
+ 659 => 'South Sudan',
1212
+ 702 => 'Belize',
1213
+ 704 => 'Guatemala',
1214
+ 706 => 'El Salvador',
1215
+ 708 => 'Honduras',
1216
+ 710 => 'Nicaragua',
1217
+ 712 => 'Costa Rica',
1218
+ 714 => 'Panama',
1219
+ 716 => 'Peru',
1220
+ 722 => 'Argentina Republic',
1221
+ 724 => 'Brazil',
1222
+ 730 => 'Chile',
1223
+ 732 => 'Colombia',
1224
+ 734 => 'Venezuela',
1225
+ 736 => 'Bolivia',
1226
+ 738 => 'Guyana',
1227
+ 740 => 'Ecuador',
1228
+ 744 => 'Paraguay',
1229
+ 746 => 'Suriname',
1230
+ 748 => 'Uruguay',
1231
+ 750 => 'Falkland Islands (Malvinas)',
1232
+ 901 => 'International Networks / Satellite Networks',
1233
+ },
1234
+ },
1000
1235
  # 0x0ab0-name - seen 'DualShot_Meta_Info'
1001
1236
  '0x0ab1-name' => {
1002
1237
  Name => 'DepthMapName',
@@ -19,7 +19,7 @@ package Image::ExifTool::Shortcuts;
19
19
  use strict;
20
20
  use vars qw($VERSION);
21
21
 
22
- $VERSION = '1.65';
22
+ $VERSION = '1.67';
23
23
 
24
24
  # this is a special table used to define command-line shortcuts
25
25
  # (documentation Notes may be added for these via %shortcutNotes in BuildTagLookup.pm)
@@ -118,6 +118,7 @@ $VERSION = '1.65';
118
118
  'MakerNoteCasio',
119
119
  'MakerNoteCasio2',
120
120
  'MakerNoteDJI',
121
+ 'MakerNoteDJIInfo',
121
122
  'MakerNoteFLIR',
122
123
  'MakerNoteFujiFilm',
123
124
  'MakerNoteGE',
@@ -158,6 +159,7 @@ $VERSION = '1.65';
158
159
  'MakerNoteNintendo',
159
160
  'MakerNoteOlympus',
160
161
  'MakerNoteOlympus2',
162
+ 'MakerNoteOlympus3',
161
163
  'MakerNoteLeica',
162
164
  'MakerNoteLeica2',
163
165
  'MakerNoteLeica3',
@@ -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.48';
37
+ $VERSION = '3.50';
38
38
 
39
39
  sub ProcessSRF($$$);
40
40
  sub ProcessSR2($$$);
@@ -244,7 +244,8 @@ sub PrintInvLensSpec($;$$);
244
244
  50529 => 'Sigma 90mm F2.8 DG DN | C', #JR (021)
245
245
  50530 => 'Sigma 24mm F2 DG DN | C', #JR (021)
246
246
  50531 => 'Sigma 18-50mm F2.8 DC DN | C', #IB/JR (021)
247
-
247
+ 50532 => 'Sigma 20mm F2 DG DN | C', #JR (022)
248
+
248
249
  50992 => 'Voigtlander SUPER WIDE-HELIAR 15mm F4.5 III', #JR
249
250
  50993 => 'Voigtlander HELIAR-HYPER WIDE 10mm F5.6', #IB
250
251
  50994 => 'Voigtlander ULTRA WIDE-HELIAR 12mm F5.6 III', #IB
@@ -273,7 +274,12 @@ sub PrintInvLensSpec($;$$);
273
274
  51510 => 'Samyang AF 18mm F2.8 or Samyang AF 35mm F1.8', #JR
274
275
  51510.1 => 'Samyang AF 35mm F1.8', #JR
275
276
  51512 => 'Samyang AF 75mm F1.8', #IB/JR
277
+ 51513 => 'Samyang AF 35mm F1.8', #JR
276
278
  51514 => 'Samyang AF 24mm F1.8', #IB
279
+ 51515 => 'Samyang AF 12mm F2.0', #JR
280
+ 51516 => 'Samyang AF 24-70mm F2.8', #JR
281
+ 51517 => 'Samyang AF 50mm F1.4 II', #JR
282
+ 51518 => 'Samyang AF 135mm F1.8', #JR
277
283
  );
278
284
 
279
285
  # ExposureProgram values (ref PH, mainly decoded from A200)
@@ -1786,7 +1792,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
1786
1792
  # 15 0 35 2 2 ILCA-68/77M2, ILCE-5000/5100/6000/7/7R/7S/7M2/QX1, DSC-HX60V/HX350/HX400V/QX30/RX10/RX100M3/WX220/WX350
1787
1793
  # 16 0 85 2 2 DSC-HX80/HX90V/WX500
1788
1794
  # 17 0 232 1 2 DSC-RX0/RX0M2/RX1RM2/RX10M2/RX10M3/RX10M4/RX100M4/RX100M5/RX100M5A/RX100M6/RX100M7/HX99, ILCE-6100/6300/6400/6500/6600/7C/7M3/7RM2/7RM3/7RM4/7SM2/9/9M2, ILCA-99M2, ZV-1
1789
- # 18 0 20 0 164 ILCE-7SM3
1795
+ # 18 0 20 0 164 ILCE-7SM3
1790
1796
  # other values for Panorama images and several other models
1791
1797
  0x9404 => [{
1792
1798
  Name => 'Tag9404a',
@@ -8382,7 +8388,7 @@ my %isoSetting2010 = (
8382
8388
  DATAMEMBER => [ 0x04 ],
8383
8389
  0x04 => {
8384
8390
  # seen values 0,2,3,18,19,32,49,50,83,130,132,148,213,229,255
8385
- # CameraTemperature is valid for all values above except ==0 and >=130
8391
+ # CameraTemperature is valid for all values above except ==0 and >=130
8386
8392
  Name => 'TempTest2',
8387
8393
  DataMember => 'TempTest2',
8388
8394
  Hidden => 1,