exiftool_vendored 12.22.0 → 12.25.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/bin/Changes +50 -0
  3. data/bin/MANIFEST +11 -0
  4. data/bin/META.json +1 -1
  5. data/bin/META.yml +1 -1
  6. data/bin/README +44 -43
  7. data/bin/config_files/acdsee.config +193 -6
  8. data/bin/config_files/cuepointlist.config +70 -0
  9. data/bin/exiftool +45 -44
  10. data/bin/lib/Image/ExifTool.pm +85 -26
  11. data/bin/lib/Image/ExifTool.pod +61 -50
  12. data/bin/lib/Image/ExifTool/BuildTagLookup.pm +1 -1
  13. data/bin/lib/Image/ExifTool/Canon.pm +3 -2
  14. data/bin/lib/Image/ExifTool/DjVu.pm +6 -5
  15. data/bin/lib/Image/ExifTool/Exif.pm +16 -7
  16. data/bin/lib/Image/ExifTool/FujiFilm.pm +18 -8
  17. data/bin/lib/Image/ExifTool/JPEG.pm +6 -2
  18. data/bin/lib/Image/ExifTool/JSON.pm +24 -3
  19. data/bin/lib/Image/ExifTool/Jpeg2000.pm +361 -16
  20. data/bin/lib/Image/ExifTool/MRC.pm +341 -0
  21. data/bin/lib/Image/ExifTool/MWG.pm +3 -3
  22. data/bin/lib/Image/ExifTool/MXF.pm +1 -1
  23. data/bin/lib/Image/ExifTool/MacOS.pm +1 -1
  24. data/bin/lib/Image/ExifTool/Microsoft.pm +5 -3
  25. data/bin/lib/Image/ExifTool/Nikon.pm +3 -2
  26. data/bin/lib/Image/ExifTool/NikonSettings.pm +10 -1
  27. data/bin/lib/Image/ExifTool/PNG.pm +2 -2
  28. data/bin/lib/Image/ExifTool/Panasonic.pm +14 -1
  29. data/bin/lib/Image/ExifTool/PhaseOne.pm +4 -3
  30. data/bin/lib/Image/ExifTool/QuickTime.pm +102 -44
  31. data/bin/lib/Image/ExifTool/QuickTimeStream.pl +88 -29
  32. data/bin/lib/Image/ExifTool/RIFF.pm +83 -11
  33. data/bin/lib/Image/ExifTool/Samsung.pm +2 -1
  34. data/bin/lib/Image/ExifTool/Sony.pm +98 -24
  35. data/bin/lib/Image/ExifTool/TagLookup.pm +56 -15
  36. data/bin/lib/Image/ExifTool/TagNames.pod +388 -173
  37. data/bin/lib/Image/ExifTool/WritePostScript.pl +1 -0
  38. data/bin/lib/Image/ExifTool/WriteQuickTime.pl +37 -12
  39. data/bin/lib/Image/ExifTool/WriteXMP.pl +6 -2
  40. data/bin/lib/Image/ExifTool/Writer.pl +1 -0
  41. data/bin/lib/Image/ExifTool/XMP.pm +20 -7
  42. data/bin/perl-Image-ExifTool.spec +42 -42
  43. data/lib/exiftool_vendored/version.rb +1 -1
  44. metadata +6 -8
@@ -21,6 +21,7 @@
21
21
  # 13) http://tech.ebu.ch/docs/tech/tech3285.pdf
22
22
  # 14) https://developers.google.com/speed/webp/docs/riff_container
23
23
  # 15) https://tech.ebu.ch/docs/tech/tech3306-2009.pdf
24
+ # 16) https://sites.google.com/site/musicgapi/technical-documents/wav-file-format
24
25
  #------------------------------------------------------------------------------
25
26
 
26
27
  package Image::ExifTool::RIFF;
@@ -29,7 +30,7 @@ use strict;
29
30
  use vars qw($VERSION);
30
31
  use Image::ExifTool qw(:DataAccess :Utils);
31
32
 
32
- $VERSION = '1.57';
33
+ $VERSION = '1.58';
33
34
 
34
35
  sub ConvertTimecode($);
35
36
  sub ProcessSGLT($$$);
@@ -354,9 +355,35 @@ my %code2charset = (
354
355
  SubDirectory => { TagTable => 'Image::ExifTool::RIFF::DS64' },
355
356
  },
356
357
  list => 'ListType', #15
357
- labl => { #15
358
- Name => 'Label',
359
- SubDirectory => { TagTable => 'Image::ExifTool::RIFF::Label' },
358
+ labl => { #16 (in 'adtl' chunk)
359
+ Name => 'CuePointLabel',
360
+ Priority => 0, # (so they are stored in sequence)
361
+ ValueConv => 'my $str=substr($val,4); $str=~s/\0+$//; unpack("V",$val) . " " . $str',
362
+ },
363
+ note => { #16 (in 'adtl' chunk)
364
+ Name => 'CuePointNote',
365
+ Priority => 0, # (so they are stored in sequence)
366
+ ValueConv => 'my $str=substr($val,4); $str=~s/\0+$//; unpack("V",$val) . " " . $str',
367
+ },
368
+ ltxt => { #16 (in 'adtl' chunk)
369
+ Name => 'LabeledText',
370
+ Notes => 'CuePointID Length Purpose Country Language Dialect Codepage Text',
371
+ Priority => 0, # (so they are stored in sequence)
372
+ ValueConv => q{
373
+ my @a = unpack('VVa4vvvv', $val);
374
+ $a[2] = "'$a[2]'";
375
+ my $txt = substr($val, 18);
376
+ $txt =~ s/\0+$//; # remove null terminator
377
+ return join(' ', @a, $txt);
378
+ },
379
+ },
380
+ smpl => { #16
381
+ Name => 'Sampler',
382
+ SubDirectory => { TagTable => 'Image::ExifTool::RIFF::Sampler' },
383
+ },
384
+ inst => { #16
385
+ Name => 'Instrument',
386
+ SubDirectory => { TagTable => 'Image::ExifTool::RIFF::Instrument' },
360
387
  },
361
388
  LIST_INFO => {
362
389
  Name => 'Info',
@@ -396,6 +423,10 @@ my %code2charset = (
396
423
  ProcessProc => \&Image::ExifTool::RIFF::ProcessChunks,
397
424
  },
398
425
  },
426
+ LIST_adtl => { #PH (ref 16, forum12387)
427
+ Name => 'AssociatedDataList',
428
+ SubDirectory => { TagTable => 'Image::ExifTool::RIFF::Main' },
429
+ },
399
430
  # seen LIST_JUNK
400
431
  JUNK => [
401
432
  {
@@ -466,10 +497,15 @@ my %code2charset = (
466
497
  Name => 'NumberOfSamples',
467
498
  RawConv => 'Get32u(\$val, 0)',
468
499
  },
469
- 'cue ' => {
500
+ 'cue '=> {
470
501
  Name => 'CuePoints',
471
502
  Binary => 1,
503
+ Notes => q{
504
+ config_files/cutepointlist.config from full distribution will decode this
505
+ and generate a list of cue points with labels
506
+ },
472
507
  },
508
+ plst => { Name => 'Playlist', Binary => 1 }, #16
473
509
  afsp => { },
474
510
  IDIT => {
475
511
  Name => 'DateTimeOriginal',
@@ -704,16 +740,52 @@ my %code2charset = (
704
740
  # very unlikely, support for these is not yet implemented)
705
741
  );
706
742
 
707
- # cue point labels (ref 15)
708
- %Image::ExifTool::RIFF::Label = (
743
+ # Sampler chunk (ref 16)
744
+ %Image::ExifTool::RIFF::Sampler = (
709
745
  PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
710
746
  GROUPS => { 2 => 'Audio' },
711
747
  FORMAT => 'int32u',
712
- 0 => 'LabelID',
713
- 1 => {
714
- Name => 'LabelText',
715
- Format => 'string[$size-4]',
748
+ 0 => 'Manufacturer',
749
+ 1 => 'Product',
750
+ 2 => 'SamplePeriod',
751
+ 3 => 'MIDIUnityNote',
752
+ 4 => 'MIDIPitchFraction',
753
+ 5 => {
754
+ Name => 'SMPTEFormat',
755
+ PrintConv => {
756
+ 0 => 'none',
757
+ 24 => '24 fps',
758
+ 25 => '25 fps',
759
+ 29 => '29 fps',
760
+ 30 => '30 fps',
761
+ },
716
762
  },
763
+ 6 => {
764
+ Name => 'SMPTEOffset',
765
+ Notes => 'HH:MM:SS:FF',
766
+ ValueConv => q{
767
+ my $str = sprintf('%.8x', $val);
768
+ $str =~ s/(..)(..)(..)(..)/$1:$2:$3:$4/;
769
+ return $str;
770
+ },
771
+ },
772
+ 7 => 'NumSampleLoops',
773
+ 8 => 'SamplerDataLen',
774
+ 9 => { Name => 'SamplerData', Format => 'undef[$size-40]', Binary => 1 },
775
+ );
776
+
777
+ # Instrument chunk (ref 16)
778
+ %Image::ExifTool::RIFF::Instrument = (
779
+ PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
780
+ GROUPS => { 2 => 'Audio' },
781
+ FORMAT => 'int8s',
782
+ 0 => 'UnshiftedNote',
783
+ 1 => 'FineTune',
784
+ 2 => 'Gain',
785
+ 3 => 'LowNote',
786
+ 4 => 'HighNote',
787
+ 5 => 'LowVelocity',
788
+ 6 => 'HighVelocity',
717
789
  );
718
790
 
719
791
  # Sub chunks of INFO LIST chunk
@@ -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.48';
25
+ $VERSION = '1.49';
26
26
 
27
27
  sub WriteSTMN($$$);
28
28
  sub ProcessINFO($$$);
@@ -940,6 +940,7 @@ my %formatMinMax = (
940
940
  %Image::ExifTool::Samsung::Trailer = (
941
941
  GROUPS => { 0 => 'MakerNotes', 2 => 'Other' },
942
942
  VARS => { NO_ID => 1, HEX_ID => 0 },
943
+ PRIORITY => 0, # (first one takes priority so DepthMapWidth/Height match first DepthMapData)
943
944
  NOTES => q{
944
945
  Tags extracted from the trailer of JPEG images written when using certain
945
946
  features (such as "Sound & Shot" or "Shot & More") from Samsung models such
@@ -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.38';
37
+ $VERSION = '3.41';
38
38
 
39
39
  sub ProcessSRF($$$);
40
40
  sub ProcessSR2($$$);
@@ -148,8 +148,12 @@ sub PrintInvLensSpec($;$$);
148
148
  32859 => 'Sony FE 20mm F1.8 G', #IB/JR
149
149
  32860 => 'Sony FE 12-24mm F2.8 GM', #JR/IB
150
150
  32862 => 'Sony FE 50mm F1.2 GM', #IB/JR
151
+ 32863 => 'Sony FE 14mm F1.8 GM', #IB
151
152
  32864 => 'Sony FE 28-60mm F4-5.6', #JR
152
153
  32865 => 'Sony FE 35mm F1.4 GM', #IB/JR
154
+ 32866 => 'Sony FE 24mm F2.8 G', #IB
155
+ 32867 => 'Sony FE 40mm F2.5 G', #IB
156
+ 32868 => 'Sony FE 50mm F2.5 G', #IB
153
157
 
154
158
  # (comment this out so LensID will report the LensModel, which is more useful)
155
159
  # 32952 => 'Metabones Canon EF Speed Booster Ultra', #JR (corresponds to 184, but 'Advanced' mode, LensMount reported as E-mount)
@@ -190,7 +194,9 @@ sub PrintInvLensSpec($;$$);
190
194
  49463 => 'Tamron 28-200mm F2.8-5.6 Di III RXD', #JR (Model A071)
191
195
  49464 => 'Tamron 70-300mm F4.5-6.3 Di III RXD', #JR (Model A047)
192
196
  49465 => 'Tamron 17-70mm F2.8 Di III-A VC RXD', #JR (Model B070)
193
- 49473 => 'Tokina atx-m 85mm F1.8 FE', #JR
197
+ 49473 => 'Tokina atx-m 85mm F1.8 FE or Viltrox lens', #JR
198
+ 49473.1 => 'Viltrox 23mm F1.4 E', #JR
199
+ 49473.2 => 'Viltrox 56mm F1.4 E', #JR
194
200
  49712 => 'Tokina FiRIN 20mm F2 FE AF', # (firmware Ver.01)
195
201
  49713 => 'Tokina FiRIN 100mm F2.8 FE MACRO', # (firmware Ver.01)
196
202
 
@@ -628,9 +634,10 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
628
634
  3 => 'Standard',
629
635
  4 => 'Economy',
630
636
  5 => 'Extra Fine',
631
- 6 => 'RAW + JPEG',
637
+ 6 => 'RAW + JPEG/HEIF',
632
638
  7 => 'Compressed RAW',
633
639
  8 => 'Compressed RAW + JPEG',
640
+ 9 => 'Light', #JR
634
641
  0xffffffff => 'n/a', #PH (SLT-A57 panorama)
635
642
  },
636
643
  },
@@ -1174,7 +1181,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
1174
1181
  # doesn't seem to apply to DSC models (always 0)
1175
1182
  Name => 'AFPointSelected',
1176
1183
  Condition => q{
1177
- ($$self{Model} =~ /^(SLT-|HV)/) or ($$self{Model} =~ /^ILCE-/ and
1184
+ ($$self{Model} =~ /^(SLT-|HV)/) or ($$self{Model} =~ /^(ILCE-|ILME-)/ and
1178
1185
  defined $$self{AFAreaILCE} and $$self{AFAreaILCE} == 4)
1179
1186
  },
1180
1187
  Notes => 'SLT models or ILCE with LA-EA2/EA4',
@@ -1457,13 +1464,15 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
1457
1464
  Count => 2,
1458
1465
  PrintConv => {
1459
1466
  '0 0' => 'n/a',
1460
- '0 1' => 'Standard JPEG',
1461
- '0 2' => 'Fine JPEG',
1462
- '0 3' => 'Extra Fine JPEG',
1467
+ '0 1' => 'Standard',
1468
+ '0 2' => 'Fine',
1469
+ '0 3' => 'Extra Fine',
1470
+ '0 4' => 'Light', #JR
1463
1471
  '1 0' => 'RAW',
1464
- '1 1' => 'RAW + Standard JPEG',
1465
- '1 2' => 'RAW + Fine JPEG',
1466
- '1 3' => 'RAW + Extra Fine JPEG',
1472
+ '1 1' => 'RAW + Standard',
1473
+ '1 2' => 'RAW + Fine',
1474
+ '1 3' => 'RAW + Extra Fine',
1475
+ '1 4' => 'RAW + Light', #JR
1467
1476
  },
1468
1477
  },
1469
1478
  0x202f => { #JR (ILCE-7RM3)
@@ -1509,13 +1518,57 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
1509
1518
  PrintConv => 'sprintf("%.8d",$val)',
1510
1519
  PrintConvInv => '$val',
1511
1520
  },
1512
- # 0x2032 - first seen for ILCE-7SM3, July 2020
1513
- # 0x2033 - first seen for ILCE-7SM3, July 2020
1514
- # 0x2034 - first seen for ILCE-7SM3, July 2020
1515
- # 0x2035 - first seen for ILCE-7SM3, July 2020
1516
- # 0x2036 - first seen for ILCE-7SM3, July 2020
1517
- # 0x2037 - first seen for ILCE-7SM3, July 2020
1518
- # 0x2039 - first seen for ILCE-7SM3, July 2020
1521
+ # 0x2032 - 0x2039: from July 2020 for ILCE-7SM3, ILCE-1, ILME-FX3 and newer
1522
+ 0x2032 => {
1523
+ Name => 'Shadows',
1524
+ Writable => 'int32s',
1525
+ PrintConv => '$val > 0 ? "+$val" : $val',
1526
+ PrintConvInv => '$val',
1527
+ },
1528
+ 0x2033 => {
1529
+ Name => 'Highlights',
1530
+ Writable => 'int32s',
1531
+ PrintConv => '$val > 0 ? "+$val" : $val',
1532
+ PrintConvInv => '$val',
1533
+ },
1534
+ 0x2034 => {
1535
+ Name => 'Fade',
1536
+ Writable => 'int32s',
1537
+ PrintConv => '$val > 0 ? "+$val" : $val',
1538
+ PrintConvInv => '$val',
1539
+ },
1540
+ 0x2035 => {
1541
+ Name => 'SharpnessRange',
1542
+ Writable => 'int32s',
1543
+ PrintConv => '$val > 0 ? "+$val" : $val',
1544
+ PrintConvInv => '$val',
1545
+ },
1546
+ 0x2036 => {
1547
+ Name => 'Clarity',
1548
+ Writable => 'int32s',
1549
+ PrintConv => '$val > 0 ? "+$val" : $val',
1550
+ PrintConvInv => '$val',
1551
+ },
1552
+ 0x2037 => {
1553
+ Name => 'FocusFrameSize',
1554
+ Format => 'int16u',
1555
+ Count => '3',
1556
+ Notes => 'width and height of FocusFrame, centered on FocusLocation',
1557
+ PrintConv => q{
1558
+ my @a = split ' ', $val;
1559
+ return $a[2] ? sprintf('%3dx%3d', $a[0], $a[1]) : 'n/a';
1560
+ },
1561
+ PrintConvInv => '$val =~ /(\d+)x(\d+)/ ? "$1 $2 257" : "0 0 0"',
1562
+ },
1563
+ 0x2039 => { #JR
1564
+ Name => 'JPEG-HEIFSwitch', # (name used in camera menus)
1565
+ Writable => 'int16u',
1566
+ PrintConv => {
1567
+ 0 => 'JPEG',
1568
+ 1 => 'HEIF',
1569
+ 65535 => 'n/a',
1570
+ },
1571
+ },
1519
1572
  0x3000 => {
1520
1573
  Name => 'ShotInfo',
1521
1574
  SubDirectory => { TagTable => 'Image::ExifTool::Sony::ShotInfo' },
@@ -1578,7 +1631,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
1578
1631
  # 0x24 (e) for ILCA-99M2,ILCE-5100/6300/6500/7M2/7RM2/7S/7SM2/QX1, DSC-HX80/HX90V/QX30/RX0/RX100M3/RX100M4/RX100M5/RX10M2/RX10M3/RX1RM2/WX500
1579
1632
  # 0x26 (e) for ILCE-6100/6400/6600/7M3/7RM3/9, DSC-RX0M2/RX10M4/RX100M5A/RX100M6/HX99
1580
1633
  # 0x28 (e) for ILCE-7RM4/9M2, DSC-RX100M7, ZV-1
1581
- # 0x31 (e) for ILCE-1, 7SM3
1634
+ # 0x31 (e) for ILCE-1/7SM3, ILME-FX3
1582
1635
  # first byte decoded: 40, 204, 202, 27, 58, 62, 48, 215, 28, 106 respectively
1583
1636
  {
1584
1637
  Name => 'Tag9400a',
@@ -1806,7 +1859,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
1806
1859
  },
1807
1860
  0x940c => [{
1808
1861
  Name => 'Tag940c',
1809
- Condition => '$$self{Model} =~ /^(NEX-|ILCE-|Lunar)\b/',
1862
+ Condition => '$$self{Model} =~ /^(NEX-|ILCE-|ILME-|Lunar)\b/',
1810
1863
  SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag940c' },
1811
1864
  },{
1812
1865
  Name => 'Sony_0x940c',
@@ -6075,6 +6128,10 @@ my %pictureProfile2010 = (
6075
6128
  31 => 'Gamma S-Log3 (PP8 or PP9)', #14
6076
6129
  33 => 'Gamma HLG2 (PP10)', #14
6077
6130
  34 => 'Gamma HLG3', #IB
6131
+ 37 => 'FL',
6132
+ 38 => 'VV2',
6133
+ 39 => 'IN',
6134
+ 40 => 'SH',
6078
6135
  },
6079
6136
  );
6080
6137
  my %isoSetting2010 = (
@@ -7796,7 +7853,7 @@ my %isoSetting2010 = (
7796
7853
  CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
7797
7854
  FORMAT => 'int8u',
7798
7855
  NOTES => q{
7799
- Valid from July 2020 for ILCE-1/7SM3.
7856
+ Valid from July 2020 for ILCE-1/7SM3, ILME-FX3.
7800
7857
  },
7801
7858
  WRITABLE => 1,
7802
7859
  FIRST_ENTRY => 0,
@@ -7883,6 +7940,13 @@ my %isoSetting2010 = (
7883
7940
  },
7884
7941
  0x0088 => {
7885
7942
  Name => 'InternalSerialNumber', #(NC)
7943
+ Condition => '$$self{Model} =~ /^(ILCE-7SM3|ILME-FX3)/',
7944
+ Format => 'int8u[6]',
7945
+ PrintConv => 'unpack "H*", pack "C*", split " ", $val',
7946
+ },
7947
+ 0x008a => {
7948
+ Name => 'InternalSerialNumber', #(NC)
7949
+ Condition => '$$self{Model} =~ /^(ILCE-1)/',
7886
7950
  Format => 'int8u[6]',
7887
7951
  PrintConv => 'unpack "H*", pack "C*", split " ", $val',
7888
7952
  },
@@ -8112,7 +8176,7 @@ my %isoSetting2010 = (
8112
8176
  8 => 'Rotate 270 CW',
8113
8177
  },
8114
8178
  },
8115
- 0x002a => {
8179
+ 0x002a => [{
8116
8180
  Name => 'Quality2',
8117
8181
  Condition => '$$self{Model} !~ /^(ILCE-(1|7SM3)|ILME-FX3)\b/',
8118
8182
  PrintConv => {
@@ -8121,7 +8185,17 @@ my %isoSetting2010 = (
8121
8185
  2 => 'RAW + JPEG',
8122
8186
  3 => 'JPEG + MPO', # 3D images
8123
8187
  },
8124
- },
8188
+ },{
8189
+ Name => 'Quality2',
8190
+ Condition => '$$self{Model} =~ /^(ILCE-(1|7SM3)|ILME-FX3)\b/',
8191
+ PrintConv => {
8192
+ 1 => 'JPEG',
8193
+ 2 => 'RAW',
8194
+ 3 => 'RAW + JPEG',
8195
+ 4 => 'HEIF',
8196
+ 6 => 'RAW + HEIF',
8197
+ },
8198
+ }],
8125
8199
  0x0047 => {
8126
8200
  Name => 'SonyImageHeight',
8127
8201
  Condition => '$$self{Model} !~ /^(ILCE-(1|7SM3)|ILME-FX3)\b/',
@@ -8790,7 +8864,7 @@ my %isoSetting2010 = (
8790
8864
  FIRST_ENTRY => 0,
8791
8865
  GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
8792
8866
  DATAMEMBER => [ 0x0008 ],
8793
- NOTES => 'NEX and ILCE models only.',
8867
+ NOTES => 'E-mount cameras only.',
8794
8868
 
8795
8869
  # 0x0001 - 0 for all NEX and ILCE-3000/3500, 20 for all other ILCE (17 for ILCE samples from Sony.net)
8796
8870
  # 0x0008 - LensMount, but different values from Tag9405-0x0105 and Tag9050-0x0604.
@@ -9417,7 +9491,7 @@ my %isoSetting2010 = (
9417
9491
  WRITE_PROC => \&WriteEnciphered,
9418
9492
  CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
9419
9493
  FORMAT => 'int8u',
9420
- NOTES => 'Valid for the ILCE-1/7SM3.',
9494
+ NOTES => 'Valid for the ILCE-1/7SM3, ILME-FX3.',
9421
9495
  FIRST_ENTRY => 0,
9422
9496
  GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
9423
9497
  0x0000 => { Name => 'Tag9416_0000', PrintConv => 'sprintf("%3d",$val)', RawConv => '$$self{TagVersion} = $val' },
@@ -631,9 +631,9 @@ my %tagLookup = (
631
631
  'afaperture' => { 215 => 0x5, 216 => 0x5, 220 => 0x5 },
632
632
  'afareaheight' => { 190 => [0x1a,0x34,0x50] },
633
633
  'afareaillumination' => { 181 => 0x4b, 282 => '15.3' },
634
- 'afareamode' => { 124 => '0.2', 177 => 0x33, 181 => 0xe, 189 => 0x0, 190 => 0x5, 311 => 0xf, 378 => 0x1205, 391 => [0xa,0x3a], 398 => 0x11, 399 => 0x10, 400 => 0x24, 411 => 0xb043, 435 => 0x17 },
634
+ 'afareamode' => { 124 => '0.3', 177 => 0x33, 181 => 0xe, 189 => 0x0, 190 => 0x5, 311 => 0xf, 378 => 0x1205, 391 => [0xa,0x3a], 398 => 0x11, 399 => 0x10, 400 => 0x24, 411 => 0xb043, 435 => 0x17 },
635
635
  'afareamodesetting' => { 273 => '11.1', 276 => '0.1', 282 => '16.1', 286 => '2.1', 411 => 0x201c },
636
- 'afareapointsize' => { 124 => '0.3' },
636
+ 'afareapointsize' => { 124 => '0.4' },
637
637
  'afareas' => { 288 => 0x304 },
638
638
  'afareaselectionmethod' => { 2 => 0xd },
639
639
  'afareaselectmethod' => { 82 => 0x51b },
@@ -642,7 +642,7 @@ my %tagLookup = (
642
642
  'afareaxposition1' => { 378 => 0x1201 },
643
643
  'afareayposition' => { 190 => [0x16,0x30,0x4c], 378 => 0x1204 },
644
644
  'afareayposition1' => { 378 => 0x1202 },
645
- 'afareazonesize' => { 124 => '0.4' },
645
+ 'afareazonesize' => { 124 => '0.5' },
646
646
  'afassist' => { 80 => 0x5, 88 => 0x5, 181 => 0x48, 271 => '2.5', 273 => '0.2', 276 => '0.2', 277 => '1.1', 278 => '1.1', 279 => '1.3', 280 => '2.4', 281 => '1.3', 282 => '0.2', 284 => '2.4', 286 => '2.3' },
647
647
  'afassistbeam' => { 2 => 0x8, 82 => 0x50e, 83 => 0x4, 84 => 0x5, 85 => 0x4, 86 => 0x4, 87 => 0x5 },
648
648
  'afassistlamp' => { 311 => 0x31 },
@@ -1453,9 +1453,10 @@ my %tagLookup = (
1453
1453
  'circulargradientbasedcorrections' => { 468 => 'CircularGradientBasedCorrections', 470 => 'CircularGradientBasedCorrections' },
1454
1454
  'city' => { 129 => 0x5a, 158 => 'City', 311 => 0x6d, 482 => 'City' },
1455
1455
  'city2' => { 311 => 0x80 },
1456
- 'clarity' => { 225 => 0x35, 226 => 0x3d, 468 => 'Clarity', 470 => 'Clarity' },
1456
+ 'clarity' => { 225 => 0x35, 226 => 0x3d, 411 => 0x2036, 468 => 'Clarity', 470 => 'Clarity' },
1457
1457
  'clarity2012' => { 468 => 'Clarity2012', 470 => 'Clarity2012' },
1458
1458
  'claritycontrol' => { 346 => 0x96 },
1459
+ 'classification' => { 371 => 'clsf' },
1459
1460
  'classifystate' => { 129 => 0xe1 },
1460
1461
  'clearretouch' => { 311 => 0x7c },
1461
1462
  'clearretouchvalue' => { 311 => 0xa3 },
@@ -1620,6 +1621,7 @@ my %tagLookup = (
1620
1621
  'colortempunknown7' => { 38 => 0x54, 39 => 0x87, 41 => 0x86, 42 => 0x67, 46 => 0x93, 47 => 0x70, 48 => 0x70, 49 => 0x78 },
1621
1622
  'colortempunknown8' => { 38 => 0x59, 39 => 0x8f, 41 => 0x8b, 42 => 0x6c, 46 => 0x98, 47 => 0x75, 48 => 0x75, 49 => 0x7d },
1622
1623
  'colortempunknown9' => { 38 => 0x5e, 39 => 0x97, 41 => 0x90, 42 => 0x71, 46 => 0x9d, 47 => 0x7a, 48 => 0x7a, 49 => 0x82 },
1624
+ 'colortint' => { 310 => 0x35c },
1623
1625
  'colortone' => { 10 => 0x6f, 12 => 0x77, 34 => 0x2a, 50 => 0x2 },
1624
1626
  'colortoneadj' => { 101 => 0x20304, 106 => 0x11e },
1625
1627
  'colortoneauto' => { 69 => 0x9c },
@@ -1786,6 +1788,7 @@ my %tagLookup = (
1786
1788
  'coringfilter' => { 292 => 0x310, 293 => 0x102d, 296 => 0x310 },
1787
1789
  'coringvalues' => { 292 => 0x311, 296 => 0x311 },
1788
1790
  'corporateentity' => { 484 => 'corporateEntity' },
1791
+ 'correlatedcolortemp' => { 310 => 0x35b },
1789
1792
  'country' => { 158 => 'Country', 311 => 0x69, 482 => 'Country' },
1790
1793
  'country-primarylocationcode' => { 129 => 0x64 },
1791
1794
  'country-primarylocationname' => { 129 => 0x65 },
@@ -2529,6 +2532,7 @@ my %tagLookup = (
2529
2532
  'facesdetected' => { 53 => 0x2, 54 => 0x2, 55 => 0x3, 108 => 0x0, 109 => 0x2, 111 => 0x211c, 125 => 0x4100, 203 => 0x3, 292 => 0x1200, 311 => 0x3f, 330 => 0x0, 375 => 0xb5, 386 => 0x0, 405 => 0x0, 408 => 0x3, 418 => 0x30 },
2530
2533
  'facesrecognized' => { 304 => 0x0 },
2531
2534
  'facewidth' => { 54 => 0x1 },
2535
+ 'fade' => { 411 => 0x2034 },
2532
2536
  'faithfuloutputhighlightpoint' => { 107 => 0x38 },
2533
2537
  'faithfuloutputshadowpoint' => { 107 => 0x39 },
2534
2538
  'faithfulrawcolortone' => { 107 => 0x31 },
@@ -3059,7 +3063,7 @@ my %tagLookup = (
3059
3063
  'highlightlinearitylimit' => { 385 => 0xa025 },
3060
3064
  'highlightprotection' => { 263 => 0x6 },
3061
3065
  'highlightrecovery' => { 468 => 'HighlightRecovery', 470 => 'HighlightRecovery' },
3062
- 'highlights' => { 462 => 'Highlights' },
3066
+ 'highlights' => { 411 => 0x2033, 462 => 'Highlights' },
3063
3067
  'highlights2012' => { 468 => 'Highlights2012', 470 => 'Highlights2012' },
3064
3068
  'highlightsadj' => { 445 => 0x9019 },
3065
3069
  'highlightshadow' => { 311 => 0xad },
@@ -3304,7 +3308,7 @@ my %tagLookup = (
3304
3308
  'internalflashtable' => { 293 => 0x1024 },
3305
3309
  'internallensserialnumber' => { 385 => 0xa005 },
3306
3310
  'internalndfilter' => { 311 => 0x9d },
3307
- 'internalserialnumber' => { 62 => 0x96, 74 => 0x9, 125 => 0x10, 184 => 0x49dc, 287 => 0x18, 289 => 0x102, 308 => 0x500, 311 => 0x25, 326 => 0x4, 378 => 0x5, 429 => [0x7c,0xf0], 430 => 0x88, 431 => 0x88 },
3311
+ 'internalserialnumber' => { 62 => 0x96, 74 => 0x9, 125 => 0x10, 184 => 0x49dc, 287 => 0x18, 289 => 0x102, 308 => 0x500, 311 => 0x25, 326 => 0x4, 378 => 0x5, 429 => [0x7c,0xf0], 430 => 0x88, 431 => [0x88,0x8a] },
3308
3312
  'interopindex' => { 117 => 0x1, 475 => 'InteroperabilityIndex' },
3309
3313
  'interopversion' => { 117 => 0x2 },
3310
3314
  'intervallength' => { 178 => 0x10 },
@@ -3374,6 +3378,7 @@ my %tagLookup = (
3374
3378
  'jobrefname' => { 493 => [\'JobRef','JobRefName'] },
3375
3379
  'jobrefurl' => { 493 => [\'JobRef','JobRefUrl'] },
3376
3380
  'jobstatus' => { 476 => 'JobStatus' },
3381
+ 'jpeg-heifswitch' => { 411 => 0x2039 },
3377
3382
  'jpeghandling' => { 468 => 'JPEGHandling', 470 => 'JPEGHandling' },
3378
3383
  'jpegquality' => { 10 => 0x66, 311 => 0x43, 313 => 0x3034, 411 => 0xb047 },
3379
3384
  'jpegsize' => { 313 => 0x303a },
@@ -3635,6 +3640,7 @@ my %tagLookup = (
3635
3640
  'locationcreatedsublocation' => { 480 => [\'LocationCreated','LocationCreatedSublocation'] },
3636
3641
  'locationcreatedworldregion' => { 480 => [\'LocationCreated','LocationCreatedWorldRegion'] },
3637
3642
  'locationdate' => { 365 => 'location.date' },
3643
+ 'locationinformation' => { 371 => 'loci' },
3638
3644
  'locationinfoversion' => { 221 => 0x0 },
3639
3645
  'locationname' => { 365 => 'location.name', 385 => 0x31 },
3640
3646
  'locationnote' => { 365 => 'location.note' },
@@ -4655,7 +4661,9 @@ my %tagLookup = (
4655
4661
  'pixelcorrectionscale' => { 135 => 0x971 },
4656
4662
  'pixelscale' => { 117 => 0x830e },
4657
4663
  'pixelshiftinfo' => { 411 => 0x202f },
4664
+ 'pixelshiftoffset' => { 125 => 0x1106 },
4658
4665
  'pixelshiftresolution' => { 347 => 0x0 },
4666
+ 'pixelshiftshots' => { 125 => 0x1105 },
4659
4667
  'pixelsperunitx' => { 300 => 0x0 },
4660
4668
  'pixelsperunity' => { 300 => 0x4 },
4661
4669
  'pixelunits' => { 300 => 0x8 },
@@ -4746,6 +4754,7 @@ my %tagLookup = (
4746
4754
  'potentialface8position' => { 408 => 0x51 },
4747
4755
  'powersource' => { 325 => '0.1' },
4748
4756
  'poweruptime' => { 222 => 0xb6 },
4757
+ 'preaf' => { 124 => '0.2' },
4749
4758
  'precaptureframes' => { 293 => 0x300 },
4750
4759
  'predictor' => { 117 => 0x13d },
4751
4760
  'preflashreturnstrength' => { 238 => 0x28a },
@@ -4871,7 +4880,7 @@ my %tagLookup = (
4871
4880
  'rads' => { 371 => 'rads' },
4872
4881
  'rangefinder' => { 276 => '4.1', 277 => '5.1', 278 => '5.1' },
4873
4882
  'rasterizedcaption' => { 129 => 0x7d },
4874
- 'rating' => { 117 => 0x4746, 125 => 0x1431, 357 => 0xdf, 363 => 'rtng', 411 => 0x2002, 463 => 'rating', 472 => 'rating', 480 => 'Rating', 484 => 'rating', 492 => 'Rating' },
4883
+ 'rating' => { 117 => 0x4746, 125 => 0x1431, 357 => 0xdf, 363 => 'rtng', 371 => 'rtng', 411 => 0x2002, 463 => 'rating', 472 => 'rating', 480 => 'Rating', 484 => 'rating', 492 => 'Rating' },
4875
4884
  'ratingpercent' => { 117 => 0x4749, 175 => 'Rating', 363 => 'rate', 492 => 'RatingPercent' },
4876
4885
  'ratingregion' => { 480 => [\'Rating','RatingRatingRegion'] },
4877
4886
  'ratingregioncity' => { 480 => [\'Rating','RatingRatingRegionCity'] },
@@ -5351,7 +5360,7 @@ my %tagLookup = (
5351
5360
  'shadowadj' => { 101 => 0x2030b },
5352
5361
  'shadowcorrection' => { 346 => 0x79 },
5353
5362
  'shadowprotection' => { 263 => 0x0 },
5354
- 'shadows' => { 117 => 0xfe52, 462 => 'Shadows', 468 => 'Shadows', 470 => 'Shadows' },
5363
+ 'shadows' => { 117 => 0xfe52, 411 => 0x2032, 462 => 'Shadows', 468 => 'Shadows', 470 => 'Shadows' },
5355
5364
  'shadows2012' => { 468 => 'Shadows2012', 470 => 'Shadows2012' },
5356
5365
  'shadowsadj' => { 445 => 0x901a },
5357
5366
  'shadowscale' => { 117 => 0xc633 },
@@ -5377,6 +5386,7 @@ my %tagLookup = (
5377
5386
  'sharpnessneutral' => { 19 => 0xf4, 68 => 0x4c, 69 => 0x4c },
5378
5387
  'sharpnessovershoot' => { 445 => 0x801b },
5379
5388
  'sharpnessportrait' => { 19 => 0xf2, 68 => 0x1c, 69 => 0x1c },
5389
+ 'sharpnessrange' => { 411 => 0x2035 },
5380
5390
  'sharpnesssetting' => { 288 => 0x506, 296 => 0x1013, 400 => 0x12, 416 => 0xa },
5381
5391
  'sharpnessstandard' => { 19 => 0xf1, 68 => 0x4, 69 => 0x4 },
5382
5392
  'sharpnessstrength' => { 101 => 0x20311 },
@@ -5995,7 +6005,7 @@ my %tagLookup = (
5995
6005
  'userfields' => { 461 => 'UserFields' },
5996
6006
  'userlabel' => { 372 => 0x2b, 373 => 0x5a, 374 => 0x68 },
5997
6007
  'userprofile' => { 306 => 0x302, 310 => 0x34c, 313 => 0x3038 },
5998
- 'userrating' => { 365 => 'rating.user' },
6008
+ 'userrating' => { 365 => 'rating.user', 371 => 'urat' },
5999
6009
  'usmlenselectronicmf' => { 2 => 0x7, 81 => 0x7, 82 => 0x501 },
6000
6010
  'uspsnumber' => { 484 => 'uspsNumber' },
6001
6011
  'utmeasting' => { 165 => 'Easting' },
@@ -6354,7 +6364,7 @@ my %tagLookup = (
6354
6364
  'whitebalancetemperature' => { 288 => 0x501 },
6355
6365
  'whiteboard' => { 293 => 0x301 },
6356
6366
  'whitelevel' => { 117 => 0xc61d, 346 => 0x7e },
6357
- 'whitepoint' => { 117 => 0x13e, 346 => 0x201, 490 => 'WhitePoint' },
6367
+ 'whitepoint' => { 117 => 0x13e, 310 => 0x35d, 346 => 0x201, 490 => 'WhitePoint' },
6358
6368
  'whites2012' => { 468 => 'Whites2012', 470 => 'Whites2012' },
6359
6369
  'whitesadj' => { 445 => 0x9017 },
6360
6370
  'wideadapter' => { 378 => 0x1017 },
@@ -6397,7 +6407,7 @@ my %tagLookup = (
6397
6407
  'ycbcrcoefficients' => { 117 => 0x211, 490 => 'YCbCrCoefficients' },
6398
6408
  'ycbcrpositioning' => { 117 => 0x213, 490 => 'YCbCrPositioning' },
6399
6409
  'ycbcrsubsampling' => { 117 => 0x212, 490 => 'YCbCrSubSampling' },
6400
- 'year' => { 363 => 'yrrc', 365 => 'year' },
6410
+ 'year' => { 363 => 'yrrc', 365 => 'year', 371 => 'yrrc' },
6401
6411
  'yearcreated' => { 137 => 0x10, 146 => 0xc },
6402
6412
  'yellowhsl' => { 101 => 0x20912 },
6403
6413
  'yield' => { 486 => 'yield' },
@@ -6613,6 +6623,7 @@ my %tagExists = (
6613
6623
  'aspectratioy' => 1,
6614
6624
  'assistantsname' => 1,
6615
6625
  'assistantsphone' => 1,
6626
+ 'associateddatalist' => 1,
6616
6627
  'associatedimagefile' => 1,
6617
6628
  'association' => 1,
6618
6629
  'assumeddisplaysize' => 1,
@@ -7155,7 +7166,6 @@ my %tagExists = (
7155
7166
  'cip3side' => 1,
7156
7167
  'circleofconfusion' => 1,
7157
7168
  'class' => 1,
7158
- 'classification' => 1,
7159
7169
  'cleanaperture' => 1,
7160
7170
  'cleanaperturedimensions' => 1,
7161
7171
  'cleanapertureheight' => 1,
@@ -7440,6 +7450,8 @@ my %tagExists = (
7440
7450
  'ctmd' => 1,
7441
7451
  'cubemapproj' => 1,
7442
7452
  'cuepoint' => 1,
7453
+ 'cuepointlabel' => 1,
7454
+ 'cuepointnote' => 1,
7443
7455
  'cuepoints' => 1,
7444
7456
  'cuesheet' => 1,
7445
7457
  'currentbitrate' => 1,
@@ -8040,6 +8052,7 @@ my %tagExists = (
8040
8052
  'filterserialnumber' => 1,
8041
8053
  'finalflushsequence' => 1,
8042
8054
  'finalframeblocks' => 1,
8055
+ 'finetune' => 1,
8043
8056
  'finishedfileprocessingrequest' => 1,
8044
8057
  'finishipaversion' => 1,
8045
8058
  'finishipfversion' => 1,
@@ -8117,12 +8130,14 @@ my %tagExists = (
8117
8130
  'focalrange' => 1,
8118
8131
  'focusdistance2' => 1,
8119
8132
  'focusedgemap' => 1,
8133
+ 'focusframesize' => 1,
8120
8134
  'focusinfo' => 1,
8121
8135
  'focusinfoifd' => 1,
8122
8136
  'focuspeakinghighlightcolor' => 1,
8123
8137
  'focuspeakinglevel' => 1,
8124
8138
  'focuspointbrightness' => 1,
8125
8139
  'focuspointpersistence' => 1,
8140
+ 'focuspointselectionspeed' => 1,
8126
8141
  'focuspos' => 1,
8127
8142
  'focussettings' => 1,
8128
8143
  'folder' => 1,
@@ -8382,6 +8397,8 @@ my %tagExists = (
8382
8397
  'highisomode' => 1,
8383
8398
  'highlightdata' => 1,
8384
8399
  'highlightendpoints' => 1,
8400
+ 'highnote' => 1,
8401
+ 'highvelocity' => 1,
8385
8402
  'hintformat' => 1,
8386
8403
  'hintheader' => 1,
8387
8404
  'hintinfo' => 1,
@@ -8698,9 +8715,19 @@ my %tagExists = (
8698
8715
  'jpegrestartinterval' => 1,
8699
8716
  'jpegtables' => 1,
8700
8717
  'jplcartoifd' => 1,
8718
+ 'jsondata' => 1,
8701
8719
  'jsonmetadata' => 1,
8720
+ 'jumbf' => 1,
8721
+ 'jumbfbox' => 1,
8722
+ 'jumbfdescr' => 1,
8723
+ 'jumdflags' => 1,
8724
+ 'jumdid' => 1,
8725
+ 'jumdlabel' => 1,
8726
+ 'jumdsignature' => 1,
8727
+ 'jumdtype' => 1,
8702
8728
  'jumptoxpep' => 1,
8703
8729
  'junk' => 1,
8730
+ 'jxlcodestream' => 1,
8704
8731
  'k1' => 1,
8705
8732
  'k2' => 1,
8706
8733
  'k3' => 1,
@@ -8731,6 +8758,7 @@ my %tagExists = (
8731
8758
  'khufusigmascalingfactors6mp' => 1,
8732
8759
  'khufuuspacec2mixingcoefficient' => 1,
8733
8760
  'kids' => 1,
8761
+ 'kilocalories' => 1,
8734
8762
  'kinds' => 1,
8735
8763
  'kj' => 1,
8736
8764
  'kk' => 1,
@@ -8752,8 +8780,7 @@ my %tagExists = (
8752
8780
  'label1' => 1,
8753
8781
  'label2' => 1,
8754
8782
  'label3' => 1,
8755
- 'labelid' => 1,
8756
- 'labeltext' => 1,
8783
+ 'labeledtext' => 1,
8757
8784
  'lamebitrate' => 1,
8758
8785
  'lameheader' => 1,
8759
8786
  'lamelowpassfilter' => 1,
@@ -8928,7 +8955,6 @@ my %tagExists = (
8928
8955
  'localeindicator' => 1,
8929
8956
  'localpositionned' => 1,
8930
8957
  'locationinfo' => 1,
8931
- 'locationinformation' => 1,
8932
8958
  'lockedpropertylist' => 1,
8933
8959
  'locks' => 1,
8934
8960
  'loglintable' => 1,
@@ -8953,6 +8979,8 @@ my %tagExists = (
8953
8979
  'lookuptable' => 1,
8954
8980
  'lotus' => 1,
8955
8981
  'lowlightaf' => 1,
8982
+ 'lownote' => 1,
8983
+ 'lowvelocity' => 1,
8956
8984
  'lr' => 1,
8957
8985
  'lslv' => 1,
8958
8986
  'lucasjunk' => 1,
@@ -9246,7 +9274,9 @@ my %tagExists = (
9246
9274
  'middlename' => 1,
9247
9275
  'midicontrol' => 1,
9248
9276
  'midicontrolversion' => 1,
9277
+ 'midipitchfraction' => 1,
9249
9278
  'midisong' => 1,
9279
+ 'midiunitynote' => 1,
9250
9280
  'mie' => 1,
9251
9281
  'mileage' => 1,
9252
9282
  'mimeencoding' => 1,
@@ -9450,6 +9480,7 @@ my %tagExists = (
9450
9480
  'numproperties' => 1,
9451
9481
  'numrules' => 1,
9452
9482
  'numsampleframes' => 1,
9483
+ 'numsampleloops' => 1,
9453
9484
  'numslices' => 1,
9454
9485
  'numstreams' => 1,
9455
9486
  'numtemporallayers' => 1,
@@ -9791,6 +9822,7 @@ my %tagExists = (
9791
9822
  'playbackflickup' => 1,
9792
9823
  'playbackflickuprating' => 1,
9793
9824
  'playcounter' => 1,
9825
+ 'playlist' => 1,
9794
9826
  'playlistdelay' => 1,
9795
9827
  'playlistindex' => 1,
9796
9828
  'plus' => 1,
@@ -9821,6 +9853,7 @@ my %tagExists = (
9821
9853
  'preferredrate' => 1,
9822
9854
  'preferredsubfamily' => 1,
9823
9855
  'preferredvolume' => 1,
9856
+ 'prefersubselectorcenter' => 1,
9824
9857
  'preroll' => 1,
9825
9858
  'presentationformat' => 1,
9826
9859
  'presentationtarget' => 1,
@@ -10260,7 +10293,11 @@ my %tagExists = (
10260
10293
  'sampleformat' => 1,
10261
10294
  'samplegroupdescription' => 1,
10262
10295
  'samplepaddingbits' => 1,
10296
+ 'sampleperiod' => 1,
10297
+ 'sampler' => 1,
10263
10298
  'samplerate2' => 1,
10299
+ 'samplerdata' => 1,
10300
+ 'samplerdatalen' => 1,
10264
10301
  'samplesize' => 1,
10265
10302
  'samplesizes' => 1,
10266
10303
  'sampletable' => 1,
@@ -10494,6 +10531,8 @@ my %tagExists = (
10494
10531
  'slideshow' => 1,
10495
10532
  'smaxsamplevalue' => 1,
10496
10533
  'sminsamplevalue' => 1,
10534
+ 'smpteformat' => 1,
10535
+ 'smpteoffset' => 1,
10497
10536
  'snapshotid' => 1,
10498
10537
  'snapshotname' => 1,
10499
10538
  'soctemperature' => 1,
@@ -10973,6 +11012,7 @@ my %tagExists = (
10973
11012
  'unknowntemperature1' => 1,
10974
11013
  'unknowntemperature2' => 1,
10975
11014
  'unsharpdata' => 1,
11015
+ 'unshiftednote' => 1,
10976
11016
  'untitled0' => 1,
10977
11017
  'untitled1' => 1,
10978
11018
  'untitled2' => 1,
@@ -11037,6 +11077,7 @@ my %tagExists = (
11037
11077
  'uuid-iptc2' => 1,
11038
11078
  'uuid-photoshop' => 1,
11039
11079
  'uuid-prof' => 1,
11080
+ 'uuid-signature' => 1,
11040
11081
  'uuid-unknown' => 1,
11041
11082
  'uuid-usmt' => 1,
11042
11083
  'uuid-xmp' => 1,