exiftool_vendored 13.22.0 → 13.24.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.
- checksums.yaml +4 -4
- data/bin/Changes +23 -0
- data/bin/MANIFEST +5 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +46 -46
- data/bin/exiftool +53 -53
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +2 -2
- data/bin/lib/Image/ExifTool/GPS.pm +3 -3
- data/bin/lib/Image/ExifTool/JPEG.pm +4 -0
- data/bin/lib/Image/ExifTool/Nikon.pm +142 -746
- data/bin/lib/Image/ExifTool/PCAP.pm +462 -0
- data/bin/lib/Image/ExifTool/Plot.pm +3 -2
- data/bin/lib/Image/ExifTool/Protobuf.pm +3 -1
- data/bin/lib/Image/ExifTool/Qualcomm.pm +78 -1
- data/bin/lib/Image/ExifTool/Sony.pm +18 -5
- data/bin/lib/Image/ExifTool/TagLookup.pm +151 -148
- data/bin/lib/Image/ExifTool/TagNames.pod +107 -218
- data/bin/lib/Image/ExifTool/Validate.pm +4 -4
- data/bin/lib/Image/ExifTool/WriteExif.pl +4 -4
- data/bin/lib/Image/ExifTool/XMP.pm +17 -3
- data/bin/lib/Image/ExifTool.pm +24 -9
- data/bin/lib/Image/ExifTool.pod +45 -45
- data/bin/perl-Image-ExifTool.spec +45 -45
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +3 -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 28408 tags, with 17642 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
|
@@ -125,6 +125,7 @@ L<https://www.w3.org/Graphics/JPEG/jfif3.pdf> for the JPEG specification.
|
|
125
125
|
PreviewImage no
|
126
126
|
'APP4' Scalado Scalado
|
127
127
|
FPXR FlashPix
|
128
|
+
QualcommDualCamera Qualcomm DualCamera
|
128
129
|
InfiRayFactory InfiRay Factory
|
129
130
|
ThermalParams DJI ThermalParams
|
130
131
|
ThermalParams2 DJI ThermalParams2
|
@@ -15153,7 +15154,7 @@ Tags written by some Nikon GPS-equipped cameras like the AW100.
|
|
15153
15154
|
|
15154
15155
|
Index1 Tag Name Writable
|
15155
15156
|
------ -------- --------
|
15156
|
-
0
|
15157
|
+
0 FirmwareVersion56 no
|
15157
15158
|
4 BurstGroupID int16u
|
15158
15159
|
|
15159
15160
|
=head3 Nikon AFInfo Tags
|
@@ -15810,80 +15811,17 @@ These tags are extracted from encrypted data in images from the Z8.
|
|
15810
15811
|
|
15811
15812
|
Index1 Tag Name Writable
|
15812
15813
|
------ -------- --------
|
15813
|
-
16
|
15814
|
+
16 MenuSettingsOffsetZ8v1 Nikon MenuSettingsZ8v1
|
15814
15815
|
MenuSettingsOffsetZ8v2 -
|
15815
15816
|
Nikon MenuSettingsZ8v2
|
15816
15817
|
|
15817
|
-
=head3 Nikon
|
15818
|
+
=head3 Nikon MenuSettingsZ8v1 Tags
|
15818
15819
|
|
15819
|
-
These tags are used by the Z8 firmware 1.00.
|
15820
|
+
These tags are used by the Z8 firmware 1.00 and 1.10.
|
15820
15821
|
|
15821
15822
|
Index1 Tag Name Writable
|
15822
15823
|
------ -------- --------
|
15823
|
-
|
15824
|
-
152 MultipleExposureMode int8u
|
15825
|
-
154 MultiExposureShots int8u
|
15826
|
-
184 IntervalDurationHours int32u
|
15827
|
-
188 IntervalDurationMinutes int32u
|
15828
|
-
192 IntervalDurationSeconds int32u
|
15829
|
-
200 Intervals int32u
|
15830
|
-
204 ShotsPerInterval int32u
|
15831
|
-
208 IntervalExposureSmoothing int8u
|
15832
|
-
210 IntervalPriority int8u
|
15833
|
-
244 FocusShiftNumberShots int8u
|
15834
|
-
248 FocusShiftStepWidth int8u
|
15835
|
-
252 FocusShiftInterval int8u~
|
15836
|
-
256 FocusShiftExposureLock? int8u
|
15837
|
-
286 PhotoShootingMenuBank int8u
|
15838
|
-
288 ExtendedMenuBanks int8u
|
15839
|
-
324 PhotoShootingMenuBankImageArea int8u
|
15840
|
-
338 AutoISO int8u
|
15841
|
-
340 ISOAutoHiLimit? int16u
|
15842
|
-
342 ISOAutoFlashLimit? int16u
|
15843
|
-
350 ISOAutoShutterTime no
|
15844
|
-
432 MovieVignetteControl? int8u
|
15845
|
-
434 DiffractionCompensation int8u
|
15846
|
-
436 FlickerReductionShooting int8u
|
15847
|
-
440 FlashControlMode int8u
|
15848
|
-
548 AFAreaMode int8u
|
15849
|
-
550 VRMode int8u
|
15850
|
-
554 BracketSet int8u
|
15851
|
-
556 BracketProgram int8u
|
15852
|
-
558 BracketIncrement int8u
|
15853
|
-
570 HDR int8u
|
15854
|
-
576 SecondarySlotFunction int8u
|
15855
|
-
582 HDRLevel int8u
|
15856
|
-
586 Slot2JpgSize? int8u
|
15857
|
-
592 DXCropAlert int8u
|
15858
|
-
594 SubjectDetection int8u
|
15859
|
-
596 DynamicAFAreaSize int8u
|
15860
|
-
618 ToneMap? int8u
|
15861
|
-
622 PortraitImpressionBalance int8u
|
15862
|
-
636 HighFrequencyFlickerReduction? int8u
|
15863
|
-
730 MovieImageArea? int8u & 0x01
|
15864
|
-
740 MovieType? int8u
|
15865
|
-
742 MovieISOAutoHiLimit? int16u
|
15866
|
-
744 MovieISOAutoControlManualMode? int8u
|
15867
|
-
746 MovieISOAutoManualMode? int16u
|
15868
|
-
820 MovieActiveD-Lighting? int8u
|
15869
|
-
822 MovieHighISONoiseReduction? int8u
|
15870
|
-
828 MovieFlickerReduction int8u
|
15871
|
-
830 MovieMeteringMode? int8u
|
15872
|
-
832 MovieFocusMode? int8u
|
15873
|
-
834 MovieAFAreaMode int8u
|
15874
|
-
836 MovieVRMode? int8u
|
15875
|
-
840 MovieElectronicVR? int8u
|
15876
|
-
842 MovieSoundRecording? int8u
|
15877
|
-
844 MicrophoneSensitivity? int8u
|
15878
|
-
846 MicrophoneAttenuator? int8u
|
15879
|
-
848 MicrophoneFrequencyResponse? int8u
|
15880
|
-
850 WindNoiseReduction? int8u
|
15881
|
-
882 MovieFrameSize? int8u
|
15882
|
-
884 MovieFrameRate? int8u
|
15883
|
-
886 MicrophoneJackPower? int8u
|
15884
|
-
887 MovieDXCropAlert? int8u
|
15885
|
-
888 MovieSubjectDetection? int8u
|
15886
|
-
896 MovieHighResZoom? int8u
|
15824
|
+
0 MenuSettingsZ8 Nikon MenuSettingsZ8
|
15887
15825
|
943 CustomSettingsZ8 NikonCustom SettingsZ8
|
15888
15826
|
1684 TimeZone int8u
|
15889
15827
|
1690 MonitorBrightness? int8u
|
@@ -15936,9 +15874,9 @@ These tags are used by the Z8 firmware 1.00.
|
|
15936
15874
|
1890 USBPowerDelivery? int8u
|
15937
15875
|
1899 SensorShield? int8u
|
15938
15876
|
|
15939
|
-
=head3 Nikon
|
15877
|
+
=head3 Nikon MenuSettingsZ8 Tags
|
15940
15878
|
|
15941
|
-
These tags are
|
15879
|
+
These tags are common to all Z8 firmware versions.
|
15942
15880
|
|
15943
15881
|
Index1 Tag Name Writable
|
15944
15882
|
------ -------- --------
|
@@ -16000,12 +15938,20 @@ These tags are used by the Z8 firmware 1.00.
|
|
16000
15938
|
846 MicrophoneAttenuator? int8u
|
16001
15939
|
848 MicrophoneFrequencyResponse? int8u
|
16002
15940
|
850 WindNoiseReduction? int8u
|
16003
|
-
|
16004
|
-
|
15941
|
+
882 MovieFrameSize? int8u
|
15942
|
+
884 MovieFrameRate? int8u
|
16005
15943
|
886 MicrophoneJackPower? int8u
|
16006
15944
|
887 MovieDXCropAlert? int8u
|
16007
15945
|
888 MovieSubjectDetection? int8u
|
16008
15946
|
896 MovieHighResZoom? int8u
|
15947
|
+
|
15948
|
+
=head3 Nikon MenuSettingsZ8v2 Tags
|
15949
|
+
|
15950
|
+
These tags are used by the Z8 firmware 2.00 and 2.10.
|
15951
|
+
|
15952
|
+
Index1 Tag Name Writable
|
15953
|
+
------ -------- --------
|
15954
|
+
0 MenuSettingsZ8 Nikon MenuSettingsZ8
|
16009
15955
|
943 CustomSettingsZ8 NikonCustom SettingsZ8
|
16010
15956
|
1698 Language? int8u
|
16011
15957
|
1700 TimeZone int8u
|
@@ -16099,8 +16045,6 @@ These tags are extracted from encrypted data in images from the Z9.
|
|
16099
16045
|
MenuSettingsOffsetZ9v4 Nikon MenuSettingsZ9v3
|
16100
16046
|
-
|
16101
16047
|
Nikon MenuSettingsZ9v4
|
16102
|
-
-
|
16103
|
-
Nikon MenuSettingsZ9v5
|
16104
16048
|
|
16105
16049
|
=head3 Nikon MenuSettingsZ9 Tags
|
16106
16050
|
|
@@ -16262,7 +16206,7 @@ These tags are used by the Z9 firmware 3.00.
|
|
16262
16206
|
|
16263
16207
|
=head3 Nikon MenuSettingsZ9v4 Tags
|
16264
16208
|
|
16265
|
-
These tags are used by the Z9 firmware 4.
|
16209
|
+
These tags are used by the Z9 firmware 4.00, 4.10, 5.00 and 5.10.
|
16266
16210
|
|
16267
16211
|
Index1 Tag Name Writable
|
16268
16212
|
------ -------- --------
|
@@ -16402,148 +16346,6 @@ These tags are used by the Z9 firmware 4.0.0 and 4.1.0.
|
|
16402
16346
|
2070 BracketButtonPlaybackMode int8u
|
16403
16347
|
2072 FlashModeButtonPlaybackMode int8u
|
16404
16348
|
|
16405
|
-
=head3 Nikon MenuSettingsZ9v5 Tags
|
16406
|
-
|
16407
|
-
These tags are used by the Z9 firmware 5.1.
|
16408
|
-
|
16409
|
-
Index1 Tag Name Writable
|
16410
|
-
------ -------- --------
|
16411
|
-
72 HighFrameRate int8u
|
16412
|
-
158 MultipleExposureMode int8u
|
16413
|
-
160 MultiExposureShots int8u
|
16414
|
-
208 Intervals int32u
|
16415
|
-
212 ShotsPerInterval int32u
|
16416
|
-
252 FocusShiftNumberShots int8u
|
16417
|
-
256 FocusShiftStepWidth int8u
|
16418
|
-
260 FocusShiftInterval int8u~
|
16419
|
-
264 FocusShiftExposureLock? int8u
|
16420
|
-
294 PhotoShootingMenuBank int8u
|
16421
|
-
296 ExtendedMenuBanks int8u
|
16422
|
-
332 PhotoShootingMenuBankImageArea int8u
|
16423
|
-
346 AutoISO int8u
|
16424
|
-
348 ISOAutoHiLimit? int16u
|
16425
|
-
350 ISOAutoFlashLimit? int16u
|
16426
|
-
358 ISOAutoShutterTime no
|
16427
|
-
440 MovieVignetteControl? int8u
|
16428
|
-
442 DiffractionCompensation int8u
|
16429
|
-
444 FlickerReductionShooting int8u
|
16430
|
-
448 FlashControlMode int8u
|
16431
|
-
450 FlashMasterCompensation? int8s
|
16432
|
-
454 FlashGNDistance? no
|
16433
|
-
458 FlashOutput? int8u
|
16434
|
-
552 AFAreaMode int8u
|
16435
|
-
554 VRMode int8u
|
16436
|
-
558 BracketSet int8u
|
16437
|
-
560 BracketProgram int8u
|
16438
|
-
562 BracketIncrement int8u
|
16439
|
-
574 HDR int8u
|
16440
|
-
580 SecondarySlotFunction int8u
|
16441
|
-
586 HDRLevel int8u
|
16442
|
-
590 Slot2JpgSize? int8u
|
16443
|
-
596 DXCropAlert int8u
|
16444
|
-
598 SubjectDetection int8u
|
16445
|
-
600 DynamicAFAreaSize int8u
|
16446
|
-
640 HighFrequencyFlickerReduction? int8u
|
16447
|
-
650 MovieImageArea? int8u & 0x01
|
16448
|
-
660 MovieType? int8u
|
16449
|
-
662 MovieISOAutoHiLimit? int16u
|
16450
|
-
664 MovieISOAutoControlManualMode? int8u
|
16451
|
-
666 MovieISOAutoManualMode? int16u
|
16452
|
-
740 MovieActiveD-Lighting? int8u
|
16453
|
-
742 MovieHighISONoiseReduction? int8u
|
16454
|
-
748 MovieFlickerReduction int8u
|
16455
|
-
750 MovieMeteringMode? int8u
|
16456
|
-
752 MovieFocusMode? int8u
|
16457
|
-
754 MovieAFAreaMode int8u
|
16458
|
-
756 MovieVRMode? int8u
|
16459
|
-
760 MovieElectronicVR? int8u
|
16460
|
-
762 MovieSoundRecording? int8u
|
16461
|
-
764 MicrophoneSensitivity? int8u
|
16462
|
-
766 MicrophoneAttenuator? int8u
|
16463
|
-
768 MicrophoneFrequencyResponse? int8u
|
16464
|
-
770 WindNoiseReduction? int8u
|
16465
|
-
792 MovieToneMap? int8u
|
16466
|
-
798 MovieFrameSize? int8u
|
16467
|
-
800 MovieFrameRate? int8u
|
16468
|
-
806 MicrophoneJackPower? int8u
|
16469
|
-
807 MovieDXCropAlert? int8u
|
16470
|
-
808 MovieSubjectDetection? int8u
|
16471
|
-
816 MovieHighResZoom? int8u
|
16472
|
-
851 CustomSettingsZ9v4 NikonCustom SettingsZ9v4
|
16473
|
-
1502 Language? int8u
|
16474
|
-
1504 TimeZone int8u
|
16475
|
-
1510 MonitorBrightness? int8u
|
16476
|
-
1532 AFFineTune? int8u
|
16477
|
-
1536 NonCPULens1FocalLength? int16s~
|
16478
|
-
1540 NonCPULens2FocalLength? int16s~
|
16479
|
-
1542 NonCPULens3FocalLength? int16s~
|
16480
|
-
1548 NonCPULens4FocalLength? int16s~
|
16481
|
-
1552 NonCPULens5FocalLength? int16s~
|
16482
|
-
1556 NonCPULens6FocalLength? int16s~
|
16483
|
-
1560 NonCPULens7FocalLength? int16s~
|
16484
|
-
1564 NonCPULens8FocalLength? int16s~
|
16485
|
-
1568 NonCPULens9FocalLength? int16s~
|
16486
|
-
1572 NonCPULens10FocalLength? int16s~
|
16487
|
-
1576 NonCPULens11FocalLength? int16s~
|
16488
|
-
1580 NonCPULens12FocalLength? int16s~
|
16489
|
-
1584 NonCPULens13FocalLength? int16s~
|
16490
|
-
1588 NonCPULens14FocalLength? int16s~
|
16491
|
-
1592 NonCPULens15FocalLength? int16s~
|
16492
|
-
1596 NonCPULens16FocalLength? int16s~
|
16493
|
-
1600 NonCPULens17FocalLength? int16s~
|
16494
|
-
1604 NonCPULens18FocalLength? int16s~
|
16495
|
-
1608 NonCPULens19FocalLength? int16s~
|
16496
|
-
1612 NonCPULens20FocalLength? int16s~
|
16497
|
-
1616 NonCPULens1MaxAperture? int16s~
|
16498
|
-
1620 NonCPULens2MaxAperture? int16s~
|
16499
|
-
1624 NonCPULens3MaxAperture? int16s~
|
16500
|
-
1628 NonCPULens4MaxAperture? int16s~
|
16501
|
-
1632 NonCPULens5MaxAperture? int16s~
|
16502
|
-
1636 NonCPULens6MaxAperture? int16s~
|
16503
|
-
1640 NonCPULens7MaxAperture? int16s~
|
16504
|
-
1644 NonCPULens8MaxAperture? int16s~
|
16505
|
-
1648 NonCPULens9MaxAperture? int16s~
|
16506
|
-
1652 NonCPULens10MaxAperture? int16s~
|
16507
|
-
1656 NonCPULens11MaxAperture? int16s~
|
16508
|
-
1660 NonCPULens12MaxAperture? int16s~
|
16509
|
-
1664 NonCPULens13MaxAperture? int16s~
|
16510
|
-
1668 NonCPULens14MaxAperture? int16s~
|
16511
|
-
1672 NonCPULens15MaxAperture? int16s~
|
16512
|
-
1676 NonCPULens16MaxAperture? int16s~
|
16513
|
-
1680 NonCPULens17MaxAperture? int16s~
|
16514
|
-
1684 NonCPULens18MaxAperture? int16s~
|
16515
|
-
1688 NonCPULens19MaxAperture? int16s~
|
16516
|
-
1692 NonCPULens20MaxAperture? int16s~
|
16517
|
-
1708 HDMIOutputResolution int8u
|
16518
|
-
1721 SetClockFromLocationData? int8u
|
16519
|
-
1728 AirplaneMode? int8u
|
16520
|
-
1729 EmptySlotRelease? int8u
|
16521
|
-
1764 EnergySavingMode? int8u
|
16522
|
-
1788 RecordLocationData? int8u
|
16523
|
-
1792 USBPowerDelivery? int8u
|
16524
|
-
1801 SensorShield? int8u
|
16525
|
-
1866 AutoCapturePreset int8u
|
16526
|
-
1868 FocusShiftAutoReset? int8u
|
16527
|
-
1926 PreReleaseBurstLength int8u
|
16528
|
-
1928 PostReleaseBurstLength int8u
|
16529
|
-
1942 VerticalISOButton int8u
|
16530
|
-
1944 ExposureCompensationButton int8u
|
16531
|
-
1946 ISOButton int8u
|
16532
|
-
2006 ViewModeShowEffectsOfSettings? int8u
|
16533
|
-
2008 DispButton int8u
|
16534
|
-
2052 ExposureDelay fixed32u~
|
16535
|
-
2056 CommandDialFrameAdvanceZoom? int8u
|
16536
|
-
2058 SubCommandDialFrameAdvanceZoom? int8u
|
16537
|
-
2060 PlaybackButton int8u
|
16538
|
-
2062 WBButton int8u
|
16539
|
-
2064 BracketButton int8u
|
16540
|
-
2066 FlashModeButton int8u
|
16541
|
-
2068 LensFunc1ButtonPlaybackMode int8u
|
16542
|
-
2070 LensFunc2ButtonPlaybackMode int8u
|
16543
|
-
2072 PlaybackButtonPlaybackMode int8u
|
16544
|
-
2074 BracketButtonPlaybackMode int8u
|
16545
|
-
2076 FlashModeButtonPlaybackMode int8u
|
16546
|
-
|
16547
16349
|
=head3 Nikon ShotInfo Tags
|
16548
16350
|
|
16549
16351
|
This information is encrypted for ShotInfoVersion 02xx, and some tags are
|
@@ -26516,6 +26318,57 @@ even if it is not listed in this table.
|
|
26516
26318
|
YhiYloCorK1 no
|
26517
26319
|
YhiYloCorK2 no
|
26518
26320
|
|
26321
|
+
=head3 Qualcomm DualCamera Tags
|
26322
|
+
|
26323
|
+
Found in JPEG APP4 "Qualcomm Dual Camera Attributes" written by some Nokia
|
26324
|
+
phones.
|
26325
|
+
|
26326
|
+
Tag Name Writable
|
26327
|
+
-------- --------
|
26328
|
+
AF_ROIHeight no
|
26329
|
+
AF_ROILeft no
|
26330
|
+
AF_ROITop no
|
26331
|
+
AF_ROIWidth no
|
26332
|
+
CAMIFCropHeight no
|
26333
|
+
CAMIFCropLeft no
|
26334
|
+
CAMIFCropTop no
|
26335
|
+
CAMIFCropWidth no
|
26336
|
+
CAMIF_ROIMapHeight no
|
26337
|
+
CAMIF_ROIMapLeft no
|
26338
|
+
CAMIF_ROIMapTop no
|
26339
|
+
CAMIF_ROIMapWidth no
|
26340
|
+
CPPCropHeight no
|
26341
|
+
CPPCropLeft no
|
26342
|
+
CPPCropTop no
|
26343
|
+
CPPCropWidth no
|
26344
|
+
CPP_ROIMapHeight no
|
26345
|
+
CPP_ROIMapLeft no
|
26346
|
+
CPP_ROIMapTop no
|
26347
|
+
CPP_ROIMapWidth no
|
26348
|
+
CurrentPipelineMirrorFlipSetting no
|
26349
|
+
CurrentPipelineRotationSetting no
|
26350
|
+
DDMCropHeight no
|
26351
|
+
DDMCropLeft no
|
26352
|
+
DDMCropTop no
|
26353
|
+
DDMCropWidth no
|
26354
|
+
FocalLengthRatio no
|
26355
|
+
ISPCropHeight no
|
26356
|
+
ISPCropLeft no
|
26357
|
+
ISPCropTop no
|
26358
|
+
ISPCropWidth no
|
26359
|
+
ISP_ROIMapHeight no
|
26360
|
+
ISP_ROIMapLeft no
|
26361
|
+
ISP_ROIMapTop no
|
26362
|
+
ISP_ROIMapWidth no
|
26363
|
+
SensorCropHeight no
|
26364
|
+
SensorCropLeft no
|
26365
|
+
SensorCropTop no
|
26366
|
+
SensorCropWidth no
|
26367
|
+
SensorROIMapHeight no
|
26368
|
+
SensorROIMapLeft no
|
26369
|
+
SensorROIMapTop no
|
26370
|
+
SensorROIMapWidth no
|
26371
|
+
|
26519
26372
|
=head2 Jpeg2000 Tags
|
26520
26373
|
|
26521
26374
|
The tags below are found in JPEG 2000 images and the C2PA CAI JUMBF metadata
|
@@ -40298,6 +40151,42 @@ Information extracted from MS Shell Link (Windows shortcut) files.
|
|
40298
40151
|
------ -------- --------
|
40299
40152
|
8 CodePage no
|
40300
40153
|
|
40154
|
+
=head2 PCAP Tags
|
40155
|
+
|
40156
|
+
Tags extracted from CAP, PCAP and PCAPNG Packet Capture files.
|
40157
|
+
|
40158
|
+
Tag ID Tag Name Writable
|
40159
|
+
------ -------- --------
|
40160
|
+
0x0001 Comment no
|
40161
|
+
0x0bac CustomOption1 no
|
40162
|
+
0x0bad CustomOption2 no
|
40163
|
+
0x4bac CustomOption3 no
|
40164
|
+
0x4bad CustomOption3 no
|
40165
|
+
'ByteOrder' ByteOrder no
|
40166
|
+
'IDB-2' DeviceName no
|
40167
|
+
'IDB-3' Description no
|
40168
|
+
'IDB-4' IPv4Addr no
|
40169
|
+
'IDB-5' IPv6Addr no
|
40170
|
+
'IDB-6' MACAddr no
|
40171
|
+
'IDB-7' EUIAddr no
|
40172
|
+
'IDB-8' Speed no
|
40173
|
+
'IDB-9' TimeStampResolution no
|
40174
|
+
'IDB-10' TimeZone no
|
40175
|
+
'IDB-11' Filter no
|
40176
|
+
'IDB-12' OperatingSytem no
|
40177
|
+
'IDB-13' FCSLen no
|
40178
|
+
'IDB-14' TimeStampOffset no
|
40179
|
+
'IDB-15' Hardware no
|
40180
|
+
'IDB-16' TXSpeed no
|
40181
|
+
'IDB-17' RXSpeed no
|
40182
|
+
'IDB-18' TimezoneName no
|
40183
|
+
'LinkType' LinkType no
|
40184
|
+
'PCAPVersion' PCAPVersion no
|
40185
|
+
'SHB-2' Hardware no
|
40186
|
+
'SHB-3' OperatingSytem no
|
40187
|
+
'SHB-4' UserApplication no
|
40188
|
+
'TimeStamp' TimeStamp no
|
40189
|
+
|
40301
40190
|
=head2 Font Tags
|
40302
40191
|
|
40303
40192
|
This table contains a collection of tags found in font files of various
|
@@ -188,10 +188,10 @@ my %validValue = (
|
|
188
188
|
0x115 => undef, # SamplesPerPixel
|
189
189
|
0x116 => undef, # RowsPerStrip
|
190
190
|
0x117 => undef, # StripByteCounts
|
191
|
-
0x11a => 'defined $val', # XResolution
|
192
|
-
0x11b => 'defined $val', # YResolution
|
191
|
+
# (optional as of 3.0) 0x11a => 'defined $val', # XResolution
|
192
|
+
# (optional as of 3.0) 0x11b => 'defined $val', # YResolution
|
193
193
|
0x11c => undef, # PlanarConfiguration
|
194
|
-
0x128 => '$val =~ /^[123]$/', # ResolutionUnit
|
194
|
+
# (optional as of 3.0) 0x128 => '$val =~ /^[123]$/', # ResolutionUnit
|
195
195
|
0x201 => undef, # JPEGInterchangeFormat
|
196
196
|
0x202 => undef, # JPEGInterchangeFormatLength
|
197
197
|
0x212 => undef, # YCbCrSubSampling
|
@@ -218,7 +218,7 @@ my %validValue = (
|
|
218
218
|
ExifIFD => {
|
219
219
|
0x9000 => 'defined $val and $val =~ /^\d{4}$/', # ExifVersion
|
220
220
|
0x9101 => 'defined $val', # ComponentsConfiguration
|
221
|
-
0xa000 => 'defined $val', # FlashpixVersion
|
221
|
+
# (optional as of 3.0) 0xa000 => 'defined $val', # FlashpixVersion
|
222
222
|
0xa001 => '$val == 1 or $val == 0xffff', # ColorSpace
|
223
223
|
0xa002 => 'defined $val', # PixelXDimension
|
224
224
|
0xa003 => 'defined $val', # PixelYDimension
|
@@ -25,9 +25,9 @@ my %crossDelete = (
|
|
25
25
|
# mandatory tag default values
|
26
26
|
my %mandatory = (
|
27
27
|
IFD0 => {
|
28
|
-
|
29
|
-
|
30
|
-
|
28
|
+
# (optional as of 3.0) 0x011a => 72, # XResolution
|
29
|
+
# (optional as of 3.0) 0x011b => 72, # YResolution
|
30
|
+
# (optional as of 3.0) 0x0128 => 2, # ResolutionUnit (inches)
|
31
31
|
0x0213 => 1, # YCbCrPositioning (centered)
|
32
32
|
# 0x8769 => ????, # ExifOffset
|
33
33
|
},
|
@@ -40,7 +40,7 @@ my %mandatory = (
|
|
40
40
|
ExifIFD => {
|
41
41
|
0x9000 => '0232', # ExifVersion
|
42
42
|
0x9101 => "1 2 3 0",# ComponentsConfiguration
|
43
|
-
|
43
|
+
# (optional as of 3.0) 0xa000 => '0100', # FlashpixVersion
|
44
44
|
0xa001 => 0xffff, # ColorSpace (uncalibrated)
|
45
45
|
# 0xa002 => ????, # ExifImageWidth
|
46
46
|
# 0xa003 => ????, # ExifImageHeight
|
@@ -50,7 +50,7 @@ use Image::ExifTool::Exif;
|
|
50
50
|
use Image::ExifTool::GPS;
|
51
51
|
require Exporter;
|
52
52
|
|
53
|
-
$VERSION = '3.
|
53
|
+
$VERSION = '3.72';
|
54
54
|
@ISA = qw(Exporter);
|
55
55
|
@EXPORT_OK = qw(EscapeXML UnescapeXML);
|
56
56
|
|
@@ -3818,8 +3818,22 @@ sub ParseXMPElement($$$;$$$$)
|
|
3818
3818
|
my ($parseResource, %attrs, @attrs);
|
3819
3819
|
# this hangs Perl (v5.18.4) for a specific capture string [patched in ExifTool 12.98]
|
3820
3820
|
# while ($attrs =~ m/(\S+?)\s*=\s*(['"])(.*?)\2/sg) {
|
3821
|
-
|
3822
|
-
|
3821
|
+
# this may hang Perl v5.26.3 (but not v5.18.4) if there is lots of garbage in the XMP [patched in 13.23]
|
3822
|
+
# while ($attrs =~ /(\S+?)\s*=\s*(['"])/g) {
|
3823
|
+
for (;;) {
|
3824
|
+
my ($attr, $quote);
|
3825
|
+
if (length($attrs) < 2000) { # (do it the easy way if attributes aren't stupid long)
|
3826
|
+
last unless $attrs =~ /(\S+)\s*=\s*(['"])/g;
|
3827
|
+
($attr, $quote) = ($1, $2);
|
3828
|
+
} else {
|
3829
|
+
# 13.23 patch to avoid capturing tons of garbage if XMP is corrupted
|
3830
|
+
last unless $attrs =~ /=\s*(['"])/g;
|
3831
|
+
$quote = $1;
|
3832
|
+
my $p = pos($attrs) > 1000 ? pos($attrs) - 1000 : 0;
|
3833
|
+
my $tmp = substr($attrs, $p, pos($attrs)-$p);
|
3834
|
+
last unless $tmp =~ /(\S+)\s*=\s*$quote$/;
|
3835
|
+
$attr = $1;
|
3836
|
+
}
|
3823
3837
|
my $p0 = pos($attrs);
|
3824
3838
|
last unless $attrs =~ /$quote/g;
|
3825
3839
|
my $val = substr($attrs, $p0, pos($attrs)-$p0-1);
|
data/bin/lib/Image/ExifTool.pm
CHANGED
@@ -29,7 +29,7 @@ use vars qw($VERSION $RELEASE @ISA @EXPORT_OK %EXPORT_TAGS $AUTOLOAD @fileTypes
|
|
29
29
|
%jpegMarker %specialTags %fileTypeLookup $testLen $exeDir
|
30
30
|
%static_vars $advFmtSelf);
|
31
31
|
|
32
|
-
$VERSION = '13.
|
32
|
+
$VERSION = '13.24';
|
33
33
|
$RELEASE = '';
|
34
34
|
@ISA = qw(Exporter);
|
35
35
|
%EXPORT_TAGS = (
|
@@ -155,9 +155,9 @@ sub ReadValue($$$;$$$);
|
|
155
155
|
Real::Metafile Red RIFF AIFF ASF WTV DICOM FITS XISF MIE JSON HTML XMP::SVG
|
156
156
|
Palm Palm::MOBI Palm::EXTH Torrent EXE EXE::PEVersion EXE::PEString
|
157
157
|
EXE::DebugRSDS EXE::DebugNB10 EXE::Misc EXE::MachO EXE::PEF EXE::ELF EXE::AR
|
158
|
-
EXE::CHM LNK Font VCard Text VCard::VCalendar VCard::VNote RSRC Rawzor
|
159
|
-
ZIP::GZIP ZIP::RAR ZIP::RAR5 RTF OOXML iWork ISO FLIR::AFF FLIR::FPF
|
160
|
-
MacOS::MDItem FlashPix::DocTable
|
158
|
+
EXE::CHM LNK PCAP Font VCard Text VCard::VCalendar VCard::VNote RSRC Rawzor
|
159
|
+
ZIP ZIP::GZIP ZIP::RAR ZIP::RAR5 RTF OOXML iWork ISO FLIR::AFF FLIR::FPF
|
160
|
+
MacOS MacOS::MDItem FlashPix::DocTable
|
161
161
|
);
|
162
162
|
|
163
163
|
# alphabetical list of current Lang modules
|
@@ -199,8 +199,8 @@ $defaultLang = 'en'; # default language
|
|
199
199
|
LFP HTML VRD RTF FITS XISF XCF DSS QTIF FPX PICT ZIP GZIP PLIST
|
200
200
|
RAR 7Z BZ2 CZI TAR EXE EXR HDR CHM LNK WMF AVC DEX DPX RAW Font
|
201
201
|
JUMBF RSRC M2TS MacOS PHP PCX DCX DWF DWG DXF WTV Torrent VCard
|
202
|
-
LRI R3D AA PDB PFM2 MRC LIF JXL MOI ISO ALIAS JSON MP3
|
203
|
-
NKA ICO TXT AAC);
|
202
|
+
LRI R3D AA PDB PFM2 MRC LIF JXL MOI ISO ALIAS PCAP JSON MP3
|
203
|
+
DICOM PCD NKA ICO TXT AAC);
|
204
204
|
|
205
205
|
# file types that we can write (edit)
|
206
206
|
my @writeTypes = qw(JPEG TIFF GIF CRW MRW ORF RAF RAW PNG MIE PSD XMP PPM EPS
|
@@ -263,6 +263,7 @@ my %createTypes = map { $_ => 1 } qw(XMP ICC MIE VRD DR4 EXIF EXV);
|
|
263
263
|
BPG => ['BPG', 'Better Portable Graphics'],
|
264
264
|
BTF => ['BTF', 'Big Tagged Image File Format'], #(unofficial)
|
265
265
|
BZ2 => ['BZ2', 'BZIP2 archive'],
|
266
|
+
CAP => 'PCAP',
|
266
267
|
C2PA => ['JUMBF','Coalition for Content Provenance and Authenticity'],
|
267
268
|
CHM => ['CHM', 'Microsoft Compiled HTML format'],
|
268
269
|
CIFF => ['CRW', 'Camera Image File Format'],
|
@@ -454,6 +455,8 @@ my %createTypes = map { $_ => 1 } qw(XMP ICC MIE VRD DR4 EXIF EXV);
|
|
454
455
|
PAC => ['RIFF', 'Lossless Predictive Audio Compression'],
|
455
456
|
PAGES => ['ZIP', 'Apple Pages document'],
|
456
457
|
PBM => ['PPM', 'Portable BitMap'],
|
458
|
+
PCAP => ['PCAP', 'Packet Capture'],
|
459
|
+
PCAPNG => ['PCAP', 'Packet Capture Next Generation'],
|
457
460
|
PCD => ['PCD', 'Kodak Photo CD Image Pac'],
|
458
461
|
PCT => 'PICT',
|
459
462
|
PCX => ['PCX', 'PC Paintbrush'],
|
@@ -744,6 +747,7 @@ my %fileDescription = (
|
|
744
747
|
OTF => 'application/font-otf',
|
745
748
|
PAGES=> 'application/x-iwork-pages-sffpages',
|
746
749
|
PBM => 'image/x-portable-bitmap',
|
750
|
+
PCAP => 'application/vnd.tcpdump.pcap',
|
747
751
|
PCD => 'image/x-photo-cd',
|
748
752
|
PCX => 'image/pcx',
|
749
753
|
PDB => 'application/vnd.palm',
|
@@ -980,6 +984,7 @@ $testLen = 1024; # number of bytes to read when testing for magic number
|
|
980
984
|
NKA => 'NIKONADJ',
|
981
985
|
OGG => '(OggS|ID3)',
|
982
986
|
ORF => '(II|MM)',
|
987
|
+
PCAP => '\xa1\xb2(\xc3\xd4|\x3c\x4d)\0.\0.|(\xd4\xc3|\x4d\x3c)\xb2\xa1.\0.\0|\x0a\x0d\x0d\x0a.{4}(\x1a\x2b\x3c\x4d|\x4d\x3c\x2b\x1a)|GMBU\0\x02',
|
983
988
|
# PCD => signature is at byte 2048
|
984
989
|
PCX => '\x0a[\0-\x05]\x01[\x01\x02\x04\x08].{64}[\0-\x02]',
|
985
990
|
PDB => '.{60}(\.pdfADBE|TEXtREAd|BVokBDIC|DB99DBOS|PNRdPPrs|DataPPrs|vIMGView|PmDBPmDB|InfoINDB|ToGoToGo|SDocSilX|JbDbJBas|JfDbJFil|DATALSdb|Mdb1Mdb1|BOOKMOBI|DataPlkr|DataSprd|SM01SMem|TEXtTlDc|InfoTlIf|DataTlMl|DataTlPt|dataTDBP|TdatTide|ToRaTRPW|zTXTGPlm|BDOCWrdS)',
|
@@ -7967,6 +7972,12 @@ sub ProcessJPEG($$;$)
|
|
7967
7972
|
$self->ProcessDirectory(\%dirInfo, $tagTablePtr);
|
7968
7973
|
undef $scalado;
|
7969
7974
|
}
|
7975
|
+
} elsif ($$segDataPt =~ /^Qualcomm Dual Camera Attributes/) {
|
7976
|
+
$dumpType = 'Qualcomm Dual Camera';
|
7977
|
+
my $tagTablePtr = GetTagTable('Image::ExifTool::Qualcomm::DualCamera');
|
7978
|
+
DirStart(\%dirInfo, 31);
|
7979
|
+
$dirInfo{DirName} = 'Qualcomm Dual Camera';
|
7980
|
+
$self->ProcessDirectory(\%dirInfo, $tagTablePtr);
|
7970
7981
|
} elsif ($$segDataPt =~ /^FPXR\0/) {
|
7971
7982
|
next if $fast > 1; # skip processing for very fast
|
7972
7983
|
$dumpType = 'FPXR';
|
@@ -8945,7 +8956,7 @@ sub ProcessDirectory($$$;$)
|
|
8945
8956
|
($$dirInfo{DirLen} or not defined $$dirInfo{DirLen}))
|
8946
8957
|
{
|
8947
8958
|
my $addr = $$dirInfo{DirStart} + $$dirInfo{DataPos} + ($$dirInfo{Base}||0) + $$self{BASE};
|
8948
|
-
if ($$self{PROCESSED}{$addr}) {
|
8959
|
+
if ($$self{PROCESSED}{$addr} and not $$dirInfo{NotDup}) {
|
8949
8960
|
$self->Warn("$dirName pointer references previous $$self{PROCESSED}{$addr} directory");
|
8950
8961
|
# patch for bug in Windows phone 7.5 O/S that writes incorrect InteropIFD pointer
|
8951
8962
|
return 0 unless $dirName eq 'GPS' and $$self{PROCESSED}{$addr} eq 'InteropIFD';
|
@@ -9175,8 +9186,9 @@ sub HandleTag($$$$;%)
|
|
9175
9186
|
} elsif ($parms{MakeTagInfo}) {
|
9176
9187
|
$self->VPrint(0, $$self{INDENT}, "[adding $tag]\n") if $verbose;
|
9177
9188
|
my $name = $tag;
|
9178
|
-
$name =~ s/([
|
9179
|
-
$name =~
|
9189
|
+
$name =~ s/([A-Z]) ([A-Z][ A-Z])/${1}_$2/g; # underline between acronyms
|
9190
|
+
$name =~ s/([^A-Za-z])([a-z])/$1\u$2/g; # capitalize words
|
9191
|
+
$name =~ tr/-_a-zA-Z0-9//dc; # remove illegal characters
|
9180
9192
|
$name = "Tag$name" if length($name) < 2 or $name =~ /^[-0-9]/;
|
9181
9193
|
$tagInfo = { Name => ucfirst($name) };
|
9182
9194
|
AddTagToTable($tagTablePtr, $tag, $tagInfo);
|
@@ -9970,6 +9982,7 @@ sub ProcessBinaryData($$$)
|
|
9970
9982
|
$subdirBase = eval($$subdir{Base}) + $base;
|
9971
9983
|
}
|
9972
9984
|
my $start = $$subdir{Start} || 0;
|
9985
|
+
my $notDup;
|
9973
9986
|
if ($start =~ /\$/) {
|
9974
9987
|
# ignore directories with a zero offset (ie. missing Nikon ShotInfo entries)
|
9975
9988
|
next unless $val;
|
@@ -9980,6 +9993,7 @@ sub ProcessBinaryData($$$)
|
|
9980
9993
|
$len = $dataLen - $start unless $len and $len <= $dataLen - $start;
|
9981
9994
|
} else {
|
9982
9995
|
$start += $dirStart + $entry;
|
9996
|
+
$notDup = 1,
|
9983
9997
|
}
|
9984
9998
|
my %subdirInfo = (
|
9985
9999
|
DataPt => $dataPt,
|
@@ -9988,6 +10002,7 @@ sub ProcessBinaryData($$$)
|
|
9988
10002
|
DirStart => $start,
|
9989
10003
|
DirLen => $len,
|
9990
10004
|
Base => $subdirBase,
|
10005
|
+
NotDup => $notDup,
|
9991
10006
|
);
|
9992
10007
|
delete $$self{NO_UNKNOWN};
|
9993
10008
|
$self->ProcessDirectory(\%subdirInfo, $subTablePtr, $$subdir{ProcessProc});
|