exiftool_vendored 12.56.0 → 12.58.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/Changes +35 -2
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +2 -2
- data/bin/config_files/rotate_regions.config +1 -1
- data/bin/exiftool +95 -47
- data/bin/lib/Image/ExifTool/AIFF.pm +2 -2
- data/bin/lib/Image/ExifTool/APE.pm +2 -2
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +19 -15
- data/bin/lib/Image/ExifTool/Canon.pm +26 -6
- data/bin/lib/Image/ExifTool/DJI.pm +28 -2
- data/bin/lib/Image/ExifTool/Exif.pm +24 -5
- data/bin/lib/Image/ExifTool/FlashPix.pm +6 -2
- data/bin/lib/Image/ExifTool/FujiFilm.pm +1 -0
- data/bin/lib/Image/ExifTool/GPS.pm +7 -2
- data/bin/lib/Image/ExifTool/JPEG.pm +14 -2
- data/bin/lib/Image/ExifTool/Jpeg2000.pm +5 -5
- data/bin/lib/Image/ExifTool/LNK.pm +5 -4
- data/bin/lib/Image/ExifTool/MIE.pm +3 -3
- data/bin/lib/Image/ExifTool/MPEG.pm +2 -2
- data/bin/lib/Image/ExifTool/MakerNotes.pm +2 -2
- data/bin/lib/Image/ExifTool/Minolta.pm +6 -7
- data/bin/lib/Image/ExifTool/Nikon.pm +998 -903
- data/bin/lib/Image/ExifTool/NikonCustom.pm +2 -2
- data/bin/lib/Image/ExifTool/NikonSettings.pm +1 -1
- data/bin/lib/Image/ExifTool/Olympus.pm +3 -1
- data/bin/lib/Image/ExifTool/Pentax.pm +8 -5
- data/bin/lib/Image/ExifTool/Photoshop.pm +38 -7
- data/bin/lib/Image/ExifTool/QuickTime.pm +23 -7
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +3 -1
- data/bin/lib/Image/ExifTool/README +19 -2
- data/bin/lib/Image/ExifTool/RIFF.pm +3 -3
- data/bin/lib/Image/ExifTool/Rawzor.pm +2 -2
- data/bin/lib/Image/ExifTool/Sigma.pm +5 -4
- data/bin/lib/Image/ExifTool/Sony.pm +23 -1
- data/bin/lib/Image/ExifTool/TagLookup.pm +4670 -4628
- data/bin/lib/Image/ExifTool/TagNames.pod +261 -89
- data/bin/lib/Image/ExifTool/Validate.pm +5 -5
- data/bin/lib/Image/ExifTool/WriteExif.pl +42 -0
- data/bin/lib/Image/ExifTool/Writer.pl +39 -17
- data/bin/lib/Image/ExifTool/XMP.pm +2 -2
- data/bin/lib/Image/ExifTool.pm +94 -33
- data/bin/lib/Image/ExifTool.pod +4 -4
- data/bin/perl-Image-ExifTool.spec +1 -1
- data/lib/exiftool_vendored/version.rb +1 -1
- 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
|
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.
|
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.
|
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
|
-
|
14276
|
-
|
14277
|
-
|
14278
|
-
|
14279
|
-
|
14280
|
-
|
14281
|
-
|
14282
|
-
|
14283
|
-
|
14284
|
-
|
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
|
-
|
14295
|
-
|
14296
|
-
|
14297
|
-
|
14298
|
-
|
14299
|
-
|
14300
|
-
|
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
|
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
|
-
|
14386
|
-
|
14387
|
-
|
14388
|
-
|
14389
|
-
|
14390
|
-
|
14391
|
-
|
14392
|
-
|
14393
|
-
|
14394
|
-
|
14395
|
-
|
14396
|
-
|
14397
|
-
|
14398
|
-
|
14399
|
-
|
14400
|
-
|
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
|
-
|
14403
|
-
|
14404
|
-
|
14405
|
-
|
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
|
-
|
14416
|
-
|
14417
|
-
|
14418
|
-
|
14419
|
-
|
14420
|
-
|
14421
|
-
|
14422
|
-
|
14423
|
-
|
14424
|
-
|
14425
|
-
|
14426
|
-
|
14427
|
-
|
14428
|
-
|
14429
|
-
|
14430
|
-
|
14431
|
-
|
14432
|
-
|
14433
|
-
|
14434
|
-
|
14435
|
-
|
14436
|
-
|
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
|
-
|
14457
|
-
|
14458
|
-
|
14459
|
-
|
14460
|
-
|
14461
|
-
|
14462
|
-
|
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
|
-
|
14517
|
-
|
14518
|
-
|
14519
|
-
|
14520
|
-
|
14521
|
-
|
14522
|
-
|
14523
|
-
|
14524
|
-
|
14525
|
-
|
14526
|
-
|
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
|
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
|
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
|
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.
|
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{
|
441
|
-
(not $otherSpec{$$et{
|
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{
|
463
|
-
(not $otherSpec{$$et{
|
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
|