exiftool_vendored 12.56.0 → 12.58.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 (47) hide show
  1. checksums.yaml +4 -4
  2. data/bin/Changes +35 -2
  3. data/bin/META.json +1 -1
  4. data/bin/META.yml +1 -1
  5. data/bin/README +2 -2
  6. data/bin/config_files/rotate_regions.config +1 -1
  7. data/bin/exiftool +95 -47
  8. data/bin/lib/Image/ExifTool/AIFF.pm +2 -2
  9. data/bin/lib/Image/ExifTool/APE.pm +2 -2
  10. data/bin/lib/Image/ExifTool/BuildTagLookup.pm +19 -15
  11. data/bin/lib/Image/ExifTool/Canon.pm +26 -6
  12. data/bin/lib/Image/ExifTool/DJI.pm +28 -2
  13. data/bin/lib/Image/ExifTool/Exif.pm +24 -5
  14. data/bin/lib/Image/ExifTool/FlashPix.pm +6 -2
  15. data/bin/lib/Image/ExifTool/FujiFilm.pm +1 -0
  16. data/bin/lib/Image/ExifTool/GPS.pm +7 -2
  17. data/bin/lib/Image/ExifTool/JPEG.pm +14 -2
  18. data/bin/lib/Image/ExifTool/Jpeg2000.pm +5 -5
  19. data/bin/lib/Image/ExifTool/LNK.pm +5 -4
  20. data/bin/lib/Image/ExifTool/MIE.pm +3 -3
  21. data/bin/lib/Image/ExifTool/MPEG.pm +2 -2
  22. data/bin/lib/Image/ExifTool/MakerNotes.pm +2 -2
  23. data/bin/lib/Image/ExifTool/Minolta.pm +6 -7
  24. data/bin/lib/Image/ExifTool/Nikon.pm +998 -903
  25. data/bin/lib/Image/ExifTool/NikonCustom.pm +2 -2
  26. data/bin/lib/Image/ExifTool/NikonSettings.pm +1 -1
  27. data/bin/lib/Image/ExifTool/Olympus.pm +3 -1
  28. data/bin/lib/Image/ExifTool/Pentax.pm +8 -5
  29. data/bin/lib/Image/ExifTool/Photoshop.pm +38 -7
  30. data/bin/lib/Image/ExifTool/QuickTime.pm +23 -7
  31. data/bin/lib/Image/ExifTool/QuickTimeStream.pl +3 -1
  32. data/bin/lib/Image/ExifTool/README +19 -2
  33. data/bin/lib/Image/ExifTool/RIFF.pm +3 -3
  34. data/bin/lib/Image/ExifTool/Rawzor.pm +2 -2
  35. data/bin/lib/Image/ExifTool/Sigma.pm +5 -4
  36. data/bin/lib/Image/ExifTool/Sony.pm +23 -1
  37. data/bin/lib/Image/ExifTool/TagLookup.pm +4670 -4628
  38. data/bin/lib/Image/ExifTool/TagNames.pod +261 -89
  39. data/bin/lib/Image/ExifTool/Validate.pm +5 -5
  40. data/bin/lib/Image/ExifTool/WriteExif.pl +42 -0
  41. data/bin/lib/Image/ExifTool/Writer.pl +39 -17
  42. data/bin/lib/Image/ExifTool/XMP.pm +2 -2
  43. data/bin/lib/Image/ExifTool.pm +94 -33
  44. data/bin/lib/Image/ExifTool.pod +4 -4
  45. data/bin/perl-Image-ExifTool.spec +1 -1
  46. data/lib/exiftool_vendored/version.rb +1 -1
  47. metadata +2 -2
@@ -12,7 +12,7 @@ meta information extracted from or written to a file.
12
12
  =head1 TAG TABLES
13
13
 
14
14
  The tables listed below give the names of all tags recognized by ExifTool.
15
- They contain a total of 26374 tags, with 16843 unique tag names.
15
+ They contain a total of 26381 tags, with 16854 unique tag names.
16
16
 
17
17
  B<Tag ID>, B<Index#> or B<Sequence> is given in the first column of each
18
18
  table. A B<Tag ID> is the computer-readable equivalent of a tag name, and
@@ -28,7 +28,8 @@ gives the order of values for a serial data stream.
28
28
  A B<Tag Name> is the handle by which the information is accessed in
29
29
  ExifTool. In some instances, more than one name may correspond to a single
30
30
  tag ID. In these cases, the actual name used depends on the context in
31
- which the information is found. Case is not significant for tag names. A
31
+ which the information is found. Valid characters in a tag name are A-Z,
32
+ a-z, 0-9, hyphen (-) and underline (_). Case is not significant. A
32
33
  question mark (C<?>) after a tag name indicates that the information is
33
34
  either not understood, not verified, or not very useful -- these tags are
34
35
  not extracted by ExifTool unless the Unknown (-u) option is enabled. Be
@@ -124,6 +125,8 @@ L<https://www.w3.org/Graphics/JPEG/jfif3.pdf> for the JPEG specification.
124
125
  FPXR FlashPix
125
126
  InfiRayFactory InfiRay Factory
126
127
  ThermalParams DJI ThermalParams
128
+ ThermalParams2 DJI ThermalParams2
129
+ ThermalParams3 DJI ThermalParams3
127
130
  PreviewImage no
128
131
  'APP5' RMETA Ricoh RMETA
129
132
  SamsungUniqueID Samsung APP5
@@ -140,6 +143,7 @@ L<https://www.w3.org/Graphics/JPEG/jfif3.pdf> for the JPEG specification.
140
143
  Huawei Unknown
141
144
  Qualcomm Qualcomm
142
145
  InfiRayOpMode InfiRay OpMode
146
+ DJI-DBG DJI Info
143
147
  'APP8' SPIFF JPEG SPIFF
144
148
  InfiRayIsothermal InfiRay Isothermal
145
149
  'APP9' MediaJukebox JPEG MediaJukebox
@@ -7082,6 +7086,9 @@ Tags extracted from Photoshop layer information.
7082
7086
  '_xnam' LayerNames no+
7083
7087
  '_xopc' LayerOpacities no+
7084
7088
  '_xrct' LayerRectangles no+
7089
+ '_xvis' LayerVisible no+
7090
+ 'lclr' LayerColors no+
7091
+ 'lsct' LayerSections no+
7085
7092
  'luni' LayerUnicodeNames no+
7086
7093
  'lyid' LayerIDs? no+
7087
7094
  'shmd' LayerModifyDates no+
@@ -10863,6 +10870,30 @@ Thermal parameters extracted from APP4 of DJI RJPEG files from the ZH20T.
10863
10870
  86 DB no
10864
10871
  88 KK no
10865
10872
 
10873
+ =head3 DJI ThermalParams2 Tags
10874
+
10875
+ Thermal parameters extracted from APP4 of DJI M3T RJPEG files.
10876
+
10877
+ Index1 Tag Name Writable
10878
+ ------ -------- --------
10879
+ 0 AmbientTemperature no
10880
+ 4 ObjectDistance no
10881
+ 8 Emissivity no
10882
+ 12 RelativeHumidity no
10883
+ 16 ReflectedTemperature no
10884
+ 101 IDString no
10885
+
10886
+ =head3 DJI ThermalParams3 Tags
10887
+
10888
+ Thermal parameters extracted from APP4 of some DJI RJPEG files.
10889
+
10890
+ Index1 Tag Name Writable
10891
+ ------ -------- --------
10892
+ 4 RelativeHumidity no
10893
+ 6 ObjectDistance no
10894
+ 8 Emissivity no
10895
+ 10 ReflectedTemperature no
10896
+
10866
10897
  =head2 FLIR Tags
10867
10898
 
10868
10899
  Information extracted from the maker notes of JPEG images from thermal
@@ -13704,6 +13735,8 @@ DiMAGE X and Xt.
13704
13735
  ShotInfoD300b Nikon ShotInfoD300b
13705
13736
  ShotInfoD300S Nikon ShotInfoD300S
13706
13737
  ShotInfoD700 Nikon ShotInfoD700
13738
+ ShotInfoD780 Nikon ShotInfoD780
13739
+ ShotInfoD7500 Nikon ShotInfoD7500
13707
13740
  ShotInfoD800 Nikon ShotInfoD800
13708
13741
  ShotInfoD810 Nikon ShotInfoD810
13709
13742
  ShotInfoD850 Nikon ShotInfoD850
@@ -13713,7 +13746,6 @@ DiMAGE X and Xt.
13713
13746
  ShotInfoD7000 Nikon ShotInfoD7000
13714
13747
  ShotInfoD4 Nikon ShotInfoD4
13715
13748
  ShotInfoD4S Nikon ShotInfoD4S
13716
- ShotInfoD5 Nikon ShotInfoD500
13717
13749
  ShotInfoD500 Nikon ShotInfoD500
13718
13750
  ShotInfoD6 Nikon ShotInfoD6
13719
13751
  ShotInfoD610 Nikon ShotInfoD610
@@ -14244,6 +14276,34 @@ firmware 1.02f.
14244
14276
  647 ShutterCount int32u
14245
14277
  804 CustomSettingsD700 NikonCustom SettingsD700
14246
14278
 
14279
+ =head3 Nikon ShotInfoD780 Tags
14280
+
14281
+ These tags are extracted from encrypted data in images from the D780.
14282
+
14283
+ Index Tag Name Writable
14284
+ ----- -------- --------
14285
+ 0 ShotInfoVersion no
14286
+ 4 FirmwareVersion no
14287
+ 156 OrientOffset Nikon OrientationInfo
14288
+
14289
+ =head3 Nikon OrientationInfo Tags
14290
+
14291
+ Index1 Tag Name Writable
14292
+ ------ -------- --------
14293
+ 0 RollAngle fixed32u
14294
+ 4 PitchAngle fixed32u
14295
+ 8 YawAngle fixed32u
14296
+
14297
+ =head3 Nikon ShotInfoD7500 Tags
14298
+
14299
+ These tags are extracted from encrypted data in images from the D7500.
14300
+
14301
+ Index Tag Name Writable
14302
+ ----- -------- --------
14303
+ 0 ShotInfoVersion no
14304
+ 4 FirmwareVersion no
14305
+ 160 OrientOffset Nikon OrientationInfo
14306
+
14247
14307
  =head3 Nikon ShotInfoD800 Tags
14248
14308
 
14249
14309
  These tags are extracted from encrypted data in images from the D800.
@@ -14264,24 +14324,38 @@ These tags are extracted from encrypted data in images from the D800.
14264
14324
 
14265
14325
  =head3 Nikon ShotInfoD810 Tags
14266
14326
 
14267
- These tags are extracted from encrypted data in images from the D810. Note
14268
- that the indices listed below are for firmware version 1.0, but they may be
14269
- different for other firmware versions.
14327
+ These tags are extracted from encrypted data in images from the D810.
14270
14328
 
14271
14329
  Index Tag Name Writable
14272
14330
  ----- -------- --------
14273
14331
  0 ShotInfoVersion no
14274
14332
  4 FirmwareVersion no
14275
- 464 SecondarySlotFunction int8u & 0x03
14276
- 5974 AEBracketingSteps int8u & 0xff
14277
- 5975 WBBracketingSteps int8u & 0xff
14278
- 5982 NikonMeteringMode int8u & 0x03
14279
- 6236 ISOAutoShutterTime int8u & 0x3f
14280
- 6237 ISOAutoHiLimit int8u & 0xff
14281
- 6315 CustomSettingsD810 NikonCustom SettingsD810
14282
- 14068 RollAngle fixed32u
14283
- 14072 PitchAngle fixed32u
14284
- 14076 YawAngle fixed32u
14333
+ 16 SettingsOffset Nikon SettingsInfoD810
14334
+ 36 BracketingOffset Nikon BracketingInfoD810
14335
+ 56 ISOAutoOffset Nikon ISOAutoInfoD810
14336
+ 64 CustomSettingsOffset NikonCustom SettingsD810
14337
+ 132 OrientationOffset Nikon OrientationInfo
14338
+
14339
+ =head3 Nikon SettingsInfoD810 Tags
14340
+
14341
+ Index1 Tag Name Writable
14342
+ ------ -------- --------
14343
+ 316 SecondarySlotFunction int8u & 0x03
14344
+
14345
+ =head3 Nikon BracketingInfoD810 Tags
14346
+
14347
+ Index1 Tag Name Writable
14348
+ ------ -------- --------
14349
+ 15 AEBracketingSteps int8u & 0xff
14350
+ 16 WBBracketingSteps int8u & 0xff
14351
+ 23 NikonMeteringMode int8u & 0x03
14352
+
14353
+ =head3 Nikon ISOAutoInfoD810 Tags
14354
+
14355
+ Index1 Tag Name Writable
14356
+ ------ -------- --------
14357
+ 4 ISOAutoShutterTime int8u & 0x3f
14358
+ 5 ISOAutoHiLimit int8u & 0xff
14285
14359
 
14286
14360
  =head3 Nikon ShotInfoD850 Tags
14287
14361
 
@@ -14291,13 +14365,23 @@ These tags are extracted from encrypted data in images from the D850.
14291
14365
  ----- -------- --------
14292
14366
  0 ShotInfoVersion no
14293
14367
  4 FirmwareVersion no
14294
- 1937 PhotoShootingMenuBankImageArea int8u & 0x07
14295
- 4029 PhotoShootingMenuBank int8u & 0x03
14296
- 4031 PrimarySlot int8u & 0x80
14297
- 4152 CustomSettingsD850 NikonCustom SettingsD850
14298
- 12027 RollAngle fixed32u
14299
- 12031 PitchAngle fixed32u
14300
- 12035 YawAngle fixed32u
14368
+ 16 MenuSettingsOffset Nikon MenuSettingsD850
14369
+ 76 MoreSettingsOffset Nikon MoreSettingsD850
14370
+ 88 CustomSettingsOffset NikonCustom SettingsD850
14371
+ 160 OrientationOffset Nikon OrientationInfo
14372
+
14373
+ =head3 Nikon MenuSettingsD850 Tags
14374
+
14375
+ Index1 Tag Name Writable
14376
+ ------ -------- --------
14377
+ 1757 PhotoShootingMenuBankImageArea int8u & 0x07
14378
+
14379
+ =head3 Nikon MoreSettingsD850 Tags
14380
+
14381
+ Index1 Tag Name Writable
14382
+ ------ -------- --------
14383
+ 36 PhotoShootingMenuBank int8u & 0x03
14384
+ 37 PrimarySlot int8u & 0x80
14301
14385
 
14302
14386
  =head3 Nikon ShotInfoD5000 Tags
14303
14387
 
@@ -14369,9 +14453,7 @@ These tags are extracted from encrypted data in images from the D4S.
14369
14453
  6378 ISOAutoShutterTime int8u & 0x3f
14370
14454
  6379 ISOAutoHiLimit int8u & 0xff
14371
14455
  6461 CustomSettingsD4S NikonCustom SettingsD4
14372
- 13579 RollAngle fixed32u
14373
- 13583 PitchAngle fixed32u
14374
- 13587 YawAngle fixed32u
14456
+ 13579 OrientationInfo Nikon OrientationInfo
14375
14457
  13971 Rotation int8u & 0x30
14376
14458
 
14377
14459
  =head3 Nikon ShotInfoD500 Tags
@@ -14382,27 +14464,61 @@ These tags are extracted from encrypted data in images from the D5 and D500.
14382
14464
  ----- -------- --------
14383
14465
  0 ShotInfoVersion no
14384
14466
  4 FirmwareVersion no
14385
- 202 Rotation int8u & 0x03
14386
- 208 Interval int8u~
14387
- 212 IntervalFrame int8u~
14388
- 1506 FlickerReductionIndicator int8u & 0x01
14389
- 2004 JPGCompression int8u & 0x01
14390
- 2171 AEBracketingSteps int8u & 0xff
14391
- 2172 WBBracketingSteps int8u & 0xff
14392
- 2179 ADLBracketingStep int8u & 0xf0
14393
- 2180 ADLBracketingType int8u & 0x0f
14394
- 3709 PhotoShootingMenuBank int8u & 0x03
14395
- 3711 PrimarySlot int8u & 0x80
14396
- 3713 ISOAutoShutterTime int8u & 0x3f
14397
- 3714 ISOAutoHiLimit int8u & 0xff
14398
- 3716 FlickerReduction int8u & 0x20
14399
- 3716.1 PhotoShootingMenuBankImageArea int8u & 0x07
14400
- 3819 CustomSettingsD5 NikonCustom SettingsD5
14467
+ 16 RotationInfoOffset Nikon RotationInfoD500
14468
+ 20 JPGInfoOffset Nikon JPGInfoD500
14469
+ 44 BracketingOffset Nikon BracketingInfoD500
14470
+ 80 ShootingMenuOffset Nikon ShootingMenuD500
14471
+ 88 CustomSettingsOffset Nikon CustomSettingsD500
14472
+ 160 OrientationOffset Nikon OrientationInfo
14473
+ 168 OtherOffset Nikon OtherInfoD500
14474
+
14475
+ =head3 Nikon RotationInfoD500 Tags
14476
+
14477
+ Index1 Tag Name Writable
14478
+ ------ -------- --------
14479
+ 26 Rotation int8u & 0x03
14480
+ 32 Interval int8u~
14481
+ 36 IntervalFrame int8u~
14482
+ 1330 FlickerReductionIndicator int8u & 0x01
14483
+
14484
+ =head3 Nikon JPGInfoD500 Tags
14485
+
14486
+ Index1 Tag Name Writable
14487
+ ------ -------- --------
14488
+ 36 JPGCompression int8u & 0x01
14489
+
14490
+ =head3 Nikon BracketingInfoD500 Tags
14491
+
14492
+ Index1 Tag Name Writable
14493
+ ------ -------- --------
14494
+ 15 AEBracketingSteps int8u & 0xff
14495
+ 16 WBBracketingSteps int8u & 0xff
14496
+ 23 ADLBracketingStep int8u & 0xf0
14497
+ 24 ADLBracketingType int8u & 0x0f
14498
+
14499
+ =head3 Nikon ShootingMenuD500 Tags
14500
+
14501
+ Index1 Tag Name Writable
14502
+ ------ -------- --------
14503
+ 0 PhotoShootingMenuBank int8u & 0x03
14504
+ 2 PrimarySlot int8u & 0x80
14505
+ 4 ISOAutoShutterTime int8u & 0x3f
14506
+ 5 ISOAutoHiLimit int8u & 0xff
14507
+ 7 FlickerReduction int8u & 0x20
14508
+ 7.1 PhotoShootingMenuBankImageArea int8u & 0x07
14509
+
14510
+ =head3 Nikon CustomSettingsD500 Tags
14511
+
14512
+ Index1 Tag Name Writable
14513
+ ------ -------- --------
14514
+ 0 CustomSettingsD5 NikonCustom SettingsD5
14401
14515
  CustomSettingsD500 NikonCustom SettingsD500
14402
- 11300 RollAngle fixed32u
14403
- 11304 PitchAngle fixed32u
14404
- 11308 YawAngle fixed32u
14405
- 11940 NikonMeteringMode int8u & 0x03
14516
+
14517
+ =head3 Nikon OtherInfoD500 Tags
14518
+
14519
+ Index1 Tag Name Writable
14520
+ ------ -------- --------
14521
+ 532 NikonMeteringMode int8u & 0x03
14406
14522
 
14407
14523
  =head3 Nikon ShotInfoD6 Tags
14408
14524
 
@@ -14412,28 +14528,38 @@ These tags are extracted from encrypted data in images from the D6.
14412
14528
  ----- -------- --------
14413
14529
  0 ShotInfoVersion no
14414
14530
  4 FirmwareVersion no
14415
- 30220 IntervalShooting int16u~
14416
- 49690 RollAngle fixed32u
14417
- 49694 PitchAngle fixed32u
14418
- 49698 YawAngle fixed32u
14419
- 50190 Intervals int32u
14420
- 50194 ShotsPerInterval int32u
14421
- 50198 IntervalExposureSmoothing int8u
14422
- 50200 IntervalPriority int8u
14423
- 50234 FocusShiftNumberShots int8u
14424
- 50238 FocusShiftStepWidth int8u
14425
- 50242 FocusShiftInterval int8u~
14426
- 50246 FocusShiftExposureLock int8u
14427
- 50336 DiffractionCompensation int8u
14428
- 50342 FlashControlMode int8u
14429
- 50348 FlashGNDistance? no
14430
- 50352 FlashOutput? int8u
14431
- 50362 FlashRemoteControl? int8u
14432
- 50366 FlashMasterControlMode int8u
14433
- 50368 FlashMasterCompensation? int8s
14434
- 50372 FlashMasterOutput? int8u
14435
- 50374 FlashWirelessOption? int8u
14436
- 50524 MovieType? int8u
14531
+ 48 SequenceOffset Nikon SeqInfoD6
14532
+ 156 OrientationOffset Nikon OrientationInfo
14533
+ 164 IntervalOffset Nikon IntervalInfoD6
14534
+
14535
+ =head3 Nikon SeqInfoD6 Tags
14536
+
14537
+ Index1 Tag Name Writable
14538
+ ------ -------- --------
14539
+ 36 IntervalShooting int16u~
14540
+
14541
+ =head3 Nikon IntervalInfoD6 Tags
14542
+
14543
+ Index1 Tag Name Writable
14544
+ ------ -------- --------
14545
+ 380 Intervals int32u
14546
+ 384 ShotsPerInterval int32u
14547
+ 388 IntervalExposureSmoothing int8u
14548
+ 390 IntervalPriority int8u
14549
+ 424 FocusShiftNumberShots int8u
14550
+ 428 FocusShiftStepWidth int8u
14551
+ 432 FocusShiftInterval int8u~
14552
+ 436 FocusShiftExposureLock int8u
14553
+ 526 DiffractionCompensation int8u
14554
+ 532 FlashControlMode int8u
14555
+ 538 FlashGNDistance? no
14556
+ 542 FlashOutput? int8u
14557
+ 552 FlashRemoteControl? int8u
14558
+ 556 FlashMasterControlMode int8u
14559
+ 558 FlashMasterCompensation? int8s
14560
+ 562 FlashMasterOutput? int8u
14561
+ 564 FlashWirelessOption? int8u
14562
+ 714 MovieType? int8u
14437
14563
 
14438
14564
  =head3 Nikon ShotInfoD610 Tags
14439
14565
 
@@ -14453,13 +14579,28 @@ These tags are extracted from encrypted data in images from the Z7II.
14453
14579
  ----- -------- --------
14454
14580
  0 ShotInfoVersion no
14455
14581
  4 FirmwareVersion no
14456
- 30220 IntervalShooting int16u~
14457
- 32672 PortraitImpressionBalance int8u[2]~
14458
- 52786 RollAngle fixed32u
14459
- 52790 PitchAngle fixed32u
14460
- 52794 YawAngle fixed32u
14461
- 52918 MenuSettingsZ7IIOffset int8u
14462
- 52920 MenuSettingsZ7II Nikon MenuSettingsZ7II
14582
+ 48 IntervalOffset Nikon IntervalInfoZ7II
14583
+ 56 PortraitOffset Nikon PortraitInfoZ7II
14584
+ 152 OrientationOffset Nikon OrientationInfo
14585
+ 160 MenuOffset Nikon MenuInfoZ7II
14586
+
14587
+ =head3 Nikon IntervalInfoZ7II Tags
14588
+
14589
+ Index1 Tag Name Writable
14590
+ ------ -------- --------
14591
+ 36 IntervalShooting int16u~
14592
+
14593
+ =head3 Nikon PortraitInfoZ7II Tags
14594
+
14595
+ Index1 Tag Name Writable
14596
+ ------ -------- --------
14597
+ 160 PortraitImpressionBalance int8u[2]~
14598
+
14599
+ =head3 Nikon MenuInfoZ7II Tags
14600
+
14601
+ Index1 Tag Name Writable
14602
+ ------ -------- --------
14603
+ 16 MenuSettingsOffsetZ7II Nikon MenuSettingsZ7II
14463
14604
 
14464
14605
  =head3 Nikon MenuSettingsZ7II Tags
14465
14606
 
@@ -14467,6 +14608,7 @@ These tags are used by the Z5, Z6, Z7, Z6II, Z7II, Z50 and Zfc.
14467
14608
 
14468
14609
  Index1 Tag Name Writable
14469
14610
  ------ -------- --------
14611
+ 92 ReleaseMode no
14470
14612
  160 IntervalDurationHours int32u
14471
14613
  164 IntervalDurationMinutes int32u
14472
14614
  168 IntervalDurationSeconds int32u
@@ -14513,17 +14655,34 @@ These tags are extracted from encrypted data in images from the Z9.
14513
14655
  ----- -------- --------
14514
14656
  0 ShotInfoVersion no
14515
14657
  4 FirmwareVersion no
14516
- 180 FocusShiftShooting int8u~
14517
- 188 IntervalShooting int16u~
14518
- 17644 MenuSettingsZ9 Nikon MenuSettingsZ9
14519
- -
14520
- Nikon MenuSettingsZ9Firmware3
14521
- 32965 RollAngle fixed32u
14522
- 32969 PitchAngle fixed32u
14523
- 32973 YawAngle fixed32u
14524
- 33317 MenuSettingsZ9 Nikon MenuSettingsZ9
14525
- -
14526
- Nikon MenuSettingsZ9Firmware3
14658
+ 48 SequenceOffset Nikon SeqInfoZ9
14659
+ 88 Offset13 Nikon Offset13InfoZ9
14660
+ 132 OrientOffset Nikon OrientationInfo
14661
+ 140 MenuOffset Nikon MenuInfoZ9
14662
+
14663
+ =head3 Nikon SeqInfoZ9 Tags
14664
+
14665
+ Index1 Tag Name Writable
14666
+ ------ -------- --------
14667
+ 32 FocusShiftShooting int8u~
14668
+ 40 IntervalShooting int16u~
14669
+
14670
+ =head3 Nikon Offset13InfoZ9 Tags
14671
+
14672
+ Index1 Tag Name Writable
14673
+ ------ -------- --------
14674
+ 3048 AFAreaInitialXPosition int8s~
14675
+ 3049 AFAreaInitialYPosition int8s~
14676
+ 3050 AFAreaInitialWidth no
14677
+ 3051 AFAreaInitialHeight no
14678
+
14679
+ =head3 Nikon MenuInfoZ9 Tags
14680
+
14681
+ Index1 Tag Name Writable
14682
+ ------ -------- --------
14683
+ 16 MenuSettingsOffsetZ9 Nikon MenuSettingsZ9
14684
+ MenuSettingsOffsetZ9v3 -
14685
+ Nikon MenuSettingsZ9v3
14527
14686
 
14528
14687
  =head3 Nikon MenuSettingsZ9 Tags
14529
14688
 
@@ -14563,6 +14722,7 @@ These tags are used by the Z9.
14563
14722
  556 SecondarySlotFunction int8u
14564
14723
  572 DXCropAlert int8u
14565
14724
  574 SubjectDetection int8u
14725
+ 576 DynamicAFAreaSize int8u
14566
14726
  604 MovieImageArea? int8u & 0x01
14567
14727
  614 MovieType? int8u
14568
14728
  616 MovieISOAutoHiLimit? int16u
@@ -14601,7 +14761,7 @@ These tags are used by the Z9.
14601
14761
  1636 USBPowerDelivery? int8u
14602
14762
  1645 SensorShield? int8u
14603
14763
 
14604
- =head3 Nikon MenuSettingsZ9Firmware3 Tags
14764
+ =head3 Nikon MenuSettingsZ9v3 Tags
14605
14765
 
14606
14766
  These tags are used by the Z9 firmware 3.00.
14607
14767
 
@@ -14638,6 +14798,7 @@ These tags are used by the Z9 firmware 3.00.
14638
14798
  576 SecondarySlotFunction int8u
14639
14799
  592 DXCropAlert int8u
14640
14800
  594 SubjectDetection int8u
14801
+ 596 DynamicAFAreaSize int8u
14641
14802
  636 HighFrequencyFlickerReductionShooting? int8u
14642
14803
  646 MovieImageArea? int8u & 0x01
14643
14804
  656 MovieType? int8u
@@ -14839,15 +15000,16 @@ Tags found in the encrypted LensData from cameras such as the Z6 and Z7.
14839
15000
  18 MaxApertureAtMaxFocal int8u
14840
15001
  19 MCUVersion int8u
14841
15002
  20 EffectiveMaxAperture int8u
15003
+ 47 NewLensData undef[17]
14842
15004
  48 LensID int16u
14843
- 53 LensMountType? int8u
15005
+ 53 LensMountType int8u
14844
15006
  54 MaxAperture int16u
14845
15007
  56 FNumber int16u
14846
15008
  60 FocalLength int16u
14847
15009
  76 FocusDistanceRangeWidth? int8u
14848
15010
  78 FocusDistance int16u~
14849
15011
  86 LensDriveEnd? int8u
14850
- 90 LensPositionAbsolute? int32s
15012
+ 90 LensPositionAbsolute int32s
14851
15013
 
14852
15014
  =head3 Nikon LensDataUnknown Tags
14853
15015
 
@@ -21977,6 +22139,10 @@ unrecognized Windows Compound Binary file as a FlashPix (FPX) file. See
21977
22139
  L<http://graphcomp.com/info/specs/livepicture/fpx.pdf> for the FlashPix
21978
22140
  specification.
21979
22141
 
22142
+ Note that Microsoft is not consistent with the time zone used for some
22143
+ date/time tags, and it may be either UTC or local time depending on the
22144
+ software used to create the file.
22145
+
21980
22146
  Tag ID Tag Name Writable
21981
22147
  ------ -------- --------
21982
22148
  "\x01CompObj" CompObj FlashPix CompObj
@@ -27705,6 +27871,11 @@ QuickTime-based files; it extracts other track-specific and timed metadata,
27705
27871
  but can not yet edit tags in these locations (with the exception of
27706
27872
  track-level date/time tags).
27707
27873
 
27874
+ Beware that the Keys tags are actually stored inside the ItemList in the
27875
+ file, so deleting the ItemList group as a block (ie. C<-ItemList:all=>) also
27876
+ deletes Keys tags. Instead, to preserve Keys tags the ItemList tags may be
27877
+ deleted individually with C<-QuickTime:ItemList:all=>.
27878
+
27708
27879
  Alternate language tags may be accessed for
27709
27880
  L<ItemList|Image::ExifTool::TagNames/QuickTime ItemList Tags> and
27710
27881
  L<Keys|Image::ExifTool::TagNames/QuickTime Keys Tags> tags by adding
@@ -37947,6 +38118,7 @@ FileName.
37947
38118
  ICC_Profile ICC_Profile yes!
37948
38119
  ID3Size File no
37949
38120
  IPTC IPTC yes!
38121
+ ImageDataMD5 File no
37950
38122
  ImageHeight File no
37951
38123
  ImageWidth File no
37952
38124
  JPEGDigest File no
@@ -17,7 +17,7 @@ package Image::ExifTool::Validate;
17
17
  use strict;
18
18
  use vars qw($VERSION %exifSpec);
19
19
 
20
- $VERSION = '1.19';
20
+ $VERSION = '1.20';
21
21
 
22
22
  use Image::ExifTool qw(:Utils);
23
23
  use Image::ExifTool::Exif;
@@ -437,8 +437,8 @@ sub ValidateExif($$$$$$$$)
437
437
  $et->Warn(sprintf('Wrong IFD for 0x%.4x %s (should be %s not %s)', $tag, $$ti{Name}, $wgp, $ifd));
438
438
  }
439
439
  }
440
- } elsif (not $otherSpec{$$et{VALUE}{FileType}} or
441
- (not $otherSpec{$$et{VALUE}{FileType}}{$tag} and not $otherSpec{$$et{VALUE}{FileType}}{All}))
440
+ } elsif (not $otherSpec{$$et{FileType}} or
441
+ (not $otherSpec{$$et{FileType}}{$tag} and not $otherSpec{$$et{FileType}}{All}))
442
442
  {
443
443
  if ($tagTablePtr eq \%Image::ExifTool::Exif::Main or $$tagInfo{Unknown}) {
444
444
  $et->Warn(sprintf('Non-standard %s tag 0x%.4x %s', $ifd, $tag, $$ti{Name}), 1);
@@ -459,8 +459,8 @@ sub ValidateExif($$$$$$$$)
459
459
  $et->Warn(sprintf('Non-standard count (%d) for %s 0x%.4x %s', $count, $ifd, $tag, $$ti{Name}));
460
460
  }
461
461
  }
462
- } elsif (not $otherSpec{$$et{VALUE}{FileType}} or
463
- (not $otherSpec{$$et{VALUE}{FileType}}{$tag} and not $otherSpec{$$et{VALUE}{FileType}}{All}))
462
+ } elsif (not $otherSpec{$$et{FileType}} or
463
+ (not $otherSpec{$$et{FileType}}{$tag} and not $otherSpec{$$et{FileType}}{All}))
464
464
  {
465
465
  $et->Warn(sprintf('Unknown %s tag 0x%.4x', $ifd, $tag), 1);
466
466
  }
@@ -419,6 +419,48 @@ sub ValidateImageData($$$;$)
419
419
  }
420
420
  }
421
421
 
422
+ #------------------------------------------------------------------------------
423
+ # Add specified image data to ImageDataMD5 hash
424
+ # Inputs: 0) ExifTool ref, 1) dirInfo ref, 2) lookup for [tagInfo,value] based on tagID
425
+ sub AddImageDataMD5($$$)
426
+ {
427
+ my ($et, $dirInfo, $offsetInfo) = @_;
428
+ my ($tagID, $offset, $buff);
429
+
430
+ my $verbose = $et->Options('Verbose');
431
+ my $md5 = $$et{ImageDataMD5};
432
+ my $raf = $$dirInfo{RAF};
433
+ my $base = $$dirInfo{Base} || 0;
434
+
435
+ foreach $tagID (sort keys %$offsetInfo) {
436
+ next unless ref $$offsetInfo{$tagID} eq 'ARRAY'; # ignore scalar tag values used for Validate
437
+ my $tagInfo = $$offsetInfo{$tagID}[0];
438
+ next unless $$tagInfo{IsImageData} and $$tagInfo{OffsetPair}; # only consider image data
439
+ my $sizeID = $$tagInfo{OffsetPair};
440
+ next unless $sizeID and $$offsetInfo{$sizeID};
441
+ my @offsets = split ' ', $$offsetInfo{$tagID}[1];
442
+ my @sizes = split ' ', $$offsetInfo{$sizeID}[1];
443
+ my $total = 0;
444
+ foreach $offset (@offsets) {
445
+ my $size = shift @sizes;
446
+ next unless $offset =~ /^\d+$/ and $size and $size =~ /^\d+$/ and $size;
447
+ next unless $raf->Seek($offset+$base, 0);
448
+ while ($size) {
449
+ my $bytes = $size > 65536 ? 65536 : $size;
450
+ $raf->Read($buff, $bytes) or last;
451
+ $md5->add($buff);
452
+ $total += length($buff);
453
+ $size -= $bytes;
454
+ }
455
+ }
456
+ if ($verbose) {
457
+ my $name = "$$dirInfo{DirName}:$$tagInfo{Name}";
458
+ $name =~ s/Offsets|Start$//;
459
+ $et->VPrint(0, "$$et{INDENT}(ImageDataMD5: $total bytes of $name data)\n");
460
+ }
461
+ }
462
+ }
463
+
422
464
  #------------------------------------------------------------------------------
423
465
  # Handle error while writing EXIF
424
466
  # Inputs: 0) ExifTool ref, 1) error string, 2) tag table ref