exiftool_vendored 12.62.0 → 12.64.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 +50 -1
- data/bin/MANIFEST +4 -0
- data/bin/META.json +4 -1
- data/bin/META.yml +4 -1
- data/bin/Makefile.PL +7 -1
- data/bin/README +50 -46
- data/bin/config_files/guano.config +161 -0
- data/bin/exiftool +88 -62
- data/bin/lib/Image/ExifTool/7Z.pm +793 -0
- data/bin/lib/Image/ExifTool/Apple.pm +6 -3
- data/bin/lib/Image/ExifTool/Canon.pm +1 -0
- data/bin/lib/Image/ExifTool/CanonRaw.pm +4 -4
- data/bin/lib/Image/ExifTool/CanonVRD.pm +4 -1
- data/bin/lib/Image/ExifTool/Exif.pm +31 -14
- data/bin/lib/Image/ExifTool/FujiFilm.pm +3 -3
- data/bin/lib/Image/ExifTool/GPS.pm +5 -2
- data/bin/lib/Image/ExifTool/Geotag.pm +4 -1
- data/bin/lib/Image/ExifTool/Jpeg2000.pm +226 -28
- data/bin/lib/Image/ExifTool/Lang/fr.pm +1467 -202
- data/bin/lib/Image/ExifTool/MPF.pm +2 -1
- data/bin/lib/Image/ExifTool/Matroska.pm +16 -1
- data/bin/lib/Image/ExifTool/MinoltaRaw.pm +2 -2
- data/bin/lib/Image/ExifTool/Nikon.pm +419 -5
- data/bin/lib/Image/ExifTool/NikonCustom.pm +13 -3
- data/bin/lib/Image/ExifTool/PDF.pm +9 -1
- data/bin/lib/Image/ExifTool/PLIST.pm +8 -1
- data/bin/lib/Image/ExifTool/PNG.pm +6 -6
- data/bin/lib/Image/ExifTool/PhaseOne.pm +5 -5
- data/bin/lib/Image/ExifTool/QuickTime.pm +74 -21
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +20 -19
- data/bin/lib/Image/ExifTool/README +2 -2
- data/bin/lib/Image/ExifTool/RIFF.pm +11 -9
- data/bin/lib/Image/ExifTool/Shortcuts.pm +2 -1
- data/bin/lib/Image/ExifTool/SigmaRaw.pm +4 -4
- data/bin/lib/Image/ExifTool/Sony.pm +103 -8
- data/bin/lib/Image/ExifTool/TagLookup.pm +4738 -4630
- data/bin/lib/Image/ExifTool/TagNames.pod +249 -5
- data/bin/lib/Image/ExifTool/Validate.pm +17 -1
- data/bin/lib/Image/ExifTool/WriteExif.pl +9 -7
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +21 -9
- data/bin/lib/Image/ExifTool/WriteXMP.pl +2 -2
- data/bin/lib/Image/ExifTool/Writer.pl +28 -10
- data/bin/lib/Image/ExifTool/XMP.pm +14 -2
- data/bin/lib/Image/ExifTool/XMP2.pl +32 -0
- data/bin/lib/Image/ExifTool/XMPStruct.pl +96 -28
- data/bin/lib/Image/ExifTool/ZIP.pm +5 -5
- data/bin/lib/Image/ExifTool.pm +67 -39
- data/bin/lib/Image/ExifTool.pod +83 -52
- data/bin/perl-Image-ExifTool.spec +44 -44
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +4 -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 26591 tags, with 16966 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
|
@@ -798,6 +798,13 @@ for the official EXIF 2.32 specification.
|
|
798
798
|
0xa433 LensMake ExifIFD string
|
799
799
|
0xa434 LensModel ExifIFD string
|
800
800
|
0xa435 LensSerialNumber ExifIFD string
|
801
|
+
0xa436 Title ExifIFD string/
|
802
|
+
0xa437 Photographer ExifIFD string
|
803
|
+
0xa438 ImageEditor ExifIFD string
|
804
|
+
0xa439 CameraFirmware ExifIFD string
|
805
|
+
0xa43a RAWDevelopingSoftware ExifIFD string
|
806
|
+
0xa43b ImageEditingSoftware ExifIFD string
|
807
|
+
0xa43c MetadataEditingSoftware ExifIFD string
|
801
808
|
0xa460 CompositeImage ExifIFD int16u
|
802
809
|
0xa461 CompositeImageCount ExifIFD int16u[2]
|
803
810
|
0xa462 CompositeImageExposureTimes ExifIFD undef
|
@@ -1306,6 +1313,7 @@ L<http://www.adobe.com/devnet/xmp/> for the official XMP specification.
|
|
1306
1313
|
GPano XMP GPano
|
1307
1314
|
GSpherical XMP GSpherical
|
1308
1315
|
hdr XMP hdr
|
1316
|
+
hdrgm XMP hdrgm
|
1309
1317
|
ics XMP ics
|
1310
1318
|
iptcCore XMP iptcCore
|
1311
1319
|
iptcExt XMP iptcExt
|
@@ -1319,6 +1327,7 @@ L<http://www.adobe.com/devnet/xmp/> for the official XMP specification.
|
|
1319
1327
|
mwg-kw MWG Keywords
|
1320
1328
|
mwg-rs MWG Regions
|
1321
1329
|
nine Nikon nine
|
1330
|
+
panorama XMP panorama
|
1322
1331
|
pdf XMP pdf
|
1323
1332
|
pdfx XMP pdfx
|
1324
1333
|
photomech PhotoMechanic XMP
|
@@ -4047,6 +4056,8 @@ These tags belong to the ExifTool XMP-et family 1 group.
|
|
4047
4056
|
|
4048
4057
|
Tag Name Writable
|
4049
4058
|
-------- --------
|
4059
|
+
OriginalImageHash string
|
4060
|
+
OriginalImageHashType string
|
4050
4061
|
OriginalImageMD5 string
|
4051
4062
|
|
4052
4063
|
=head3 XMP exif Tags
|
@@ -4498,6 +4509,24 @@ These tags belong to the ExifTool XMP-hdr family 1 group.
|
|
4498
4509
|
CCVWhiteXY string
|
4499
4510
|
SceneReferred boolean
|
4500
4511
|
|
4512
|
+
=head3 XMP hdrgm Tags
|
4513
|
+
|
4514
|
+
Tags used in Adobe gain map images.
|
4515
|
+
|
4516
|
+
These tags belong to the ExifTool XMP-hdrgm family 1 group.
|
4517
|
+
|
4518
|
+
Tag Name Writable
|
4519
|
+
-------- --------
|
4520
|
+
BaseRenditionIsHDR boolean
|
4521
|
+
GainMapMax real+
|
4522
|
+
GainMapMin real+
|
4523
|
+
Gamma real/+
|
4524
|
+
HDRCapacityMax real
|
4525
|
+
HDRCapacityMin real
|
4526
|
+
OffsetHDR real+
|
4527
|
+
OffsetSDR real+
|
4528
|
+
Version string/
|
4529
|
+
|
4501
4530
|
=head3 XMP ics Tags
|
4502
4531
|
|
4503
4532
|
Tags used by IDimager. Nested TagStructure structures are unrolled to an
|
@@ -5127,6 +5156,19 @@ These tags belong to the ExifTool XMP-mediapro family 1 group.
|
|
5127
5156
|
Status string
|
5128
5157
|
UserFields string+
|
5129
5158
|
|
5159
|
+
=head3 XMP panorama Tags
|
5160
|
+
|
5161
|
+
Adobe Photoshop Panorama-profile tags.
|
5162
|
+
|
5163
|
+
These tags belong to the ExifTool XMP-panorama family 1 group.
|
5164
|
+
|
5165
|
+
Tag Name Writable
|
5166
|
+
-------- --------
|
5167
|
+
Transformation string
|
5168
|
+
VirtualFocalLength real
|
5169
|
+
VirtualImageXCenter real
|
5170
|
+
VirtualImageYCenter real
|
5171
|
+
|
5130
5172
|
=head3 XMP pdf Tags
|
5131
5173
|
|
5132
5174
|
Adobe PDF namespace tags. The official XMP specification defines only
|
@@ -7157,6 +7199,7 @@ Tags extracted from the maker notes of iPhone images.
|
|
7157
7199
|
0x0025 SceneFlags? int32s
|
7158
7200
|
0x0026 SignalToNoiseRatioType? int32s
|
7159
7201
|
0x0027 SignalToNoiseRatio rational64s
|
7202
|
+
0x002b PhotoIdentifier string
|
7160
7203
|
0x002f FocusPosition int32s
|
7161
7204
|
0x0030 HDRGain rational64s
|
7162
7205
|
0x0038 AFMeasuredDepth int32s
|
@@ -14673,6 +14716,7 @@ These tags are extracted from encrypted data in images from the Z9.
|
|
14673
14716
|
4 FirmwareVersion no
|
14674
14717
|
48 SequenceOffset Nikon SeqInfoZ9
|
14675
14718
|
88 Offset13 Nikon Offset13InfoZ9
|
14719
|
+
128 AutoCaptureOffset Nikon AutoCaptureInfo
|
14676
14720
|
132 OrientOffset Nikon OrientationInfo
|
14677
14721
|
140 MenuOffset Nikon MenuInfoZ9
|
14678
14722
|
|
@@ -14692,6 +14736,21 @@ These tags are extracted from encrypted data in images from the Z9.
|
|
14692
14736
|
3050 AFAreaInitialWidth no
|
14693
14737
|
3051 AFAreaInitialHeight no
|
14694
14738
|
|
14739
|
+
=head3 Nikon AutoCaptureInfo Tags
|
14740
|
+
|
14741
|
+
Index1 Tag Name Writable
|
14742
|
+
------ -------- --------
|
14743
|
+
1 AutoCaptureCriteria int8u~
|
14744
|
+
55 AutoCaptureRecordingTime int8u
|
14745
|
+
56 AutoCaptureWaitTime int8u
|
14746
|
+
74 AutoCaptureDistanceFar int8u~
|
14747
|
+
78 AutoCaptureDistanceNear int8u~
|
14748
|
+
95 AutoCaptureCriteriaMotionDirection int8u~
|
14749
|
+
99 AutoCaptureCriteriaMotionSpeed int8u
|
14750
|
+
100 AutoCaptureCriteriaMotionSize int8u
|
14751
|
+
105 AutoCaptureCriteriaSubjectSize int8u
|
14752
|
+
106 AutoCaptureCriteriaSubjectType int8u
|
14753
|
+
|
14695
14754
|
=head3 Nikon MenuInfoZ9 Tags
|
14696
14755
|
|
14697
14756
|
Index1 Tag Name Writable
|
@@ -14699,6 +14758,8 @@ These tags are extracted from encrypted data in images from the Z9.
|
|
14699
14758
|
16 MenuSettingsOffsetZ9 Nikon MenuSettingsZ9
|
14700
14759
|
MenuSettingsOffsetZ9v3 -
|
14701
14760
|
Nikon MenuSettingsZ9v3
|
14761
|
+
-
|
14762
|
+
Nikon MenuSettingsZ9v4
|
14702
14763
|
|
14703
14764
|
=head3 Nikon MenuSettingsZ9 Tags
|
14704
14765
|
|
@@ -14858,6 +14919,144 @@ These tags are used by the Z9 firmware 3.00.
|
|
14858
14919
|
1810 PreReleaseBurstLength int8u
|
14859
14920
|
1812 PostReleaseBurstLength int8u
|
14860
14921
|
|
14922
|
+
=head3 Nikon MenuSettingsZ9v4 Tags
|
14923
|
+
|
14924
|
+
These tags are used by the Z9 firmware 3.00.
|
14925
|
+
|
14926
|
+
Index1 Tag Name Writable
|
14927
|
+
--------------- --------
|
14928
|
+
72 HighFrameRate int8u
|
14929
|
+
154 MultipleExposureMode int8u
|
14930
|
+
156 MultiExposureShots int8u
|
14931
|
+
204 Intervals int32u
|
14932
|
+
208 ShotsPerInterval int32u
|
14933
|
+
248 FocusShiftNumberShots int8u
|
14934
|
+
252 FocusShiftStepWidth int8u
|
14935
|
+
256 FocusShiftInterval int8u~
|
14936
|
+
260 FocusShiftExposureLock? int8u
|
14937
|
+
290 PhotoShootingMenuBank int8u
|
14938
|
+
292 ExtendedMenuBanks int8u
|
14939
|
+
328 PhotoShootingMenuBankImageArea int8u
|
14940
|
+
342 AutoISO int8u
|
14941
|
+
344 ISOAutoHiLimit? int16u
|
14942
|
+
346 ISOAutoFlashLimit? int16u
|
14943
|
+
354 ISOAutoShutterTime no
|
14944
|
+
436 MovieVignetteControl? int8u
|
14945
|
+
438 DiffractionCompensation int8u
|
14946
|
+
440 FlickerReductionShooting int8u
|
14947
|
+
444 FlashControlMode int8u
|
14948
|
+
446 FlashMasterCompensation? int8s
|
14949
|
+
450 FlashGNDistance? no
|
14950
|
+
454 FlashOutput? int8u
|
14951
|
+
548 AFAreaMode int8u
|
14952
|
+
550 VRMode int8u
|
14953
|
+
554 BracketSet int8u
|
14954
|
+
556 BracketProgram int8u
|
14955
|
+
558 BracketIncrement int8u
|
14956
|
+
576 SecondarySlotFunction int8u
|
14957
|
+
586 Slot2JpgSize? int8u
|
14958
|
+
592 DXCropAlert int8u
|
14959
|
+
594 SubjectDetection int8u
|
14960
|
+
596 DynamicAFAreaSize int8u
|
14961
|
+
636 HighFrequencyFlickerReductionShooting? int8u
|
14962
|
+
646 MovieImageArea? int8u & 0x01
|
14963
|
+
656 MovieType? int8u
|
14964
|
+
658 MovieISOAutoHiLimit? int16u
|
14965
|
+
660 MovieISOAutoControlManualMode? int8u
|
14966
|
+
662 MovieISOAutoManualMode? int16u
|
14967
|
+
736 MovieActiveD-Lighting? int8u
|
14968
|
+
738 MovieHighISONoiseReduction? int8u
|
14969
|
+
744 MovieFlickerReduction int8u
|
14970
|
+
746 MovieMeteringMode? int8u
|
14971
|
+
748 MovieFocusMode? int8u
|
14972
|
+
750 MovieAFAreaMode int8u
|
14973
|
+
752 MovieVRMode? int8u
|
14974
|
+
756 MovieElectronicVR? int8u
|
14975
|
+
758 MovieSoundRecording? int8u
|
14976
|
+
760 MicrophoneSensitivity? int8u
|
14977
|
+
762 MicrophoneAttenuator? int8u
|
14978
|
+
764 MicrophoneFrequencyResponse? int8u
|
14979
|
+
766 WindNoiseReduction? int8u
|
14980
|
+
788 MovieToneMap? int8u
|
14981
|
+
794 MovieFrameSize? int8u
|
14982
|
+
796 MovieFrameRate? int8u
|
14983
|
+
802 MicrophoneJackPower? int8u
|
14984
|
+
803 MovieDXCropAlert? int8u
|
14985
|
+
804 MovieSubjectDetection? int8u
|
14986
|
+
812 MovieHighResZoom? int8u
|
14987
|
+
847 CustomSettingsZ9 NikonCustom SettingsZ9
|
14988
|
+
1474 Language? int8u
|
14989
|
+
1476 TimeZone int8u
|
14990
|
+
1482 MonitorBrightness? int8u
|
14991
|
+
1504 AFFineTune? int8u
|
14992
|
+
1532 NonCPULens1FocalLength? int16s~
|
14993
|
+
1536 NonCPULens2FocalLength? int16s~
|
14994
|
+
1540 NonCPULens3FocalLength? int16s~
|
14995
|
+
1544 NonCPULens4FocalLength? int16s~
|
14996
|
+
1548 NonCPULens5FocalLength? int16s~
|
14997
|
+
1552 NonCPULens6FocalLength? int16s~
|
14998
|
+
1556 NonCPULens7FocalLength? int16s~
|
14999
|
+
1560 NonCPULens8FocalLength? int16s~
|
15000
|
+
1564 NonCPULens9FocalLength? int16s~
|
15001
|
+
1568 NonCPULens10FocalLength? int16s~
|
15002
|
+
1572 NonCPULens11FocalLength? int16s~
|
15003
|
+
1576 NonCPULens21FocalLength? int16s~
|
15004
|
+
1580 NonCPULens13FocalLength? int16s~
|
15005
|
+
1584 NonCPULens14FocalLength? int16s~
|
15006
|
+
1588 NonCPULens15FocalLength? int16s~
|
15007
|
+
1592 NonCPULens16FocalLength? int16s~
|
15008
|
+
1596 NonCPULens17FocalLength? int16s~
|
15009
|
+
1600 NonCPULens18FocalLength? int16s~
|
15010
|
+
1604 NonCPULens19FocalLength? int16s~
|
15011
|
+
1608 NonCPULens20FocalLength? int16s~
|
15012
|
+
1612 NonCPULens1MaxAperture? int16s~
|
15013
|
+
1616 NonCPULens2MaxAperture? int16s~
|
15014
|
+
1620 NonCPULens3MaxAperture? int16s~
|
15015
|
+
1624 NonCPULens4MaxAperture? int16s~
|
15016
|
+
1628 NonCPULens5MaxAperture? int16s~
|
15017
|
+
1632 NonCPULens6MaxAperture? int16s~
|
15018
|
+
1636 NonCPULens7MaxAperture? int16s~
|
15019
|
+
1640 NonCPULens8MaxAperture? int16s~
|
15020
|
+
1644 NonCPULens9MaxAperture? int16s~
|
15021
|
+
1648 NonCPULens10MaxAperture? int16s~
|
15022
|
+
1652 NonCPULens11MaxAperture? int16s~
|
15023
|
+
1656 NonCPULens12MaxAperture? int16s~
|
15024
|
+
1660 NonCPULens13MaxAperture? int16s~
|
15025
|
+
1664 NonCPULens14MaxAperture? int16s~
|
15026
|
+
1668 NonCPULens15MaxAperture? int16s~
|
15027
|
+
1672 NonCPULens16MaxAperture? int16s~
|
15028
|
+
1676 NonCPULens17MaxAperture? int16s~
|
15029
|
+
1680 NonCPULens18MaxAperture? int16s~
|
15030
|
+
1684 NonCPULens19MaxAperture? int16s~
|
15031
|
+
1688 NonCPULens20MaxAperture? int16s~
|
15032
|
+
1704 HDMIOutputResolution int8u
|
15033
|
+
1717 SetClockFromLocationData? int8u
|
15034
|
+
1724 AirplaneMode? int8u
|
15035
|
+
1725 EmptySlotRelease? int8u
|
15036
|
+
1760 EnergySavingMode? int8u
|
15037
|
+
1784 RecordLocationData? int8u
|
15038
|
+
1788 USBPowerDelivery? int8u
|
15039
|
+
1797 SensorShield? int8u
|
15040
|
+
1862 AutoCapturePreset int8u
|
15041
|
+
1864 FocusShiftAutoReset? int8u
|
15042
|
+
1922 PreReleaseBurstLength int8u
|
15043
|
+
1924 PostReleaseBurstLength int8u
|
15044
|
+
1938 VerticalISOButton int8u
|
15045
|
+
1940 ExposureCompensationButton int8u
|
15046
|
+
1942 ISOButton int8u
|
15047
|
+
2002 ViewModeShowEffectsOfSettings? int8u
|
15048
|
+
2004 DispButton int8u
|
15049
|
+
2048 ExposureDelay fixed32u~
|
15050
|
+
2056 PlaybackButton int8u
|
15051
|
+
2058 WBButton int8u
|
15052
|
+
2060 BracketButton int8u
|
15053
|
+
2062 FlashModeButton int8u
|
15054
|
+
2064 LensFunc1ButtonPlaybackMode int8u
|
15055
|
+
2066 LensFunc2ButtonPlaybackMode int8u
|
15056
|
+
2068 PlaybackButtonPlaybackMode int8u
|
15057
|
+
2070 BracketButtonPlaybackMode int8u
|
15058
|
+
2072 FlashModeButtonPlaybackMode int8u
|
15059
|
+
|
14861
15060
|
=head3 Nikon ShotInfo Tags
|
14862
15061
|
|
14863
15062
|
This information is encrypted for ShotInfoVersion 02xx, and some tags are
|
@@ -20439,6 +20638,8 @@ WX300, but not for panorama images.
|
|
20439
20638
|
6294 LensType int16u
|
20440
20639
|
6296 DistortionCorrParamsPresent int8u
|
20441
20640
|
6297 DistortionCorrParamsNumber int8u
|
20641
|
+
6444 AspectRatio int8u
|
20642
|
+
6792 AspectRatio int8u
|
20442
20643
|
|
20443
20644
|
=head3 Sony Tag2010f Tags
|
20444
20645
|
|
@@ -20469,6 +20670,7 @@ Valid for DSC-RX100M2, DSC-QX10/QX100.
|
|
20469
20670
|
4406 MinFocalLength int16u
|
20470
20671
|
4408 MaxFocalLength int16u
|
20471
20672
|
4412 SonyISO int16u
|
20673
|
+
6444 AspectRatio int8u
|
20472
20674
|
|
20473
20675
|
=head3 Sony Tag2010g Tags
|
20474
20676
|
|
@@ -20507,6 +20709,7 @@ ILCE-7/7R/7S/7M2/5000/5100/6000/QX1, ILCA-68/77M2.
|
|
20507
20709
|
6338 LensType int16u
|
20508
20710
|
6340 DistortionCorrParamsPresent int8u
|
20509
20711
|
6341 DistortionCorrParamsNumber int8u
|
20712
|
+
6488 AspectRatio int8u
|
20510
20713
|
|
20511
20714
|
=head3 Sony Tag2010h Tags
|
20512
20715
|
|
@@ -20546,6 +20749,7 @@ ILCE-6300/6500/7RM2/7SM2, ILCA-99M2.
|
|
20546
20749
|
6386 LensType int16u
|
20547
20750
|
6388 DistortionCorrParamsPresent int8u
|
20548
20751
|
6389 DistortionCorrParamsNumber int8u
|
20752
|
+
6444 AspectRatio int8u
|
20549
20753
|
|
20550
20754
|
=head3 Sony Tag2010i Tags
|
20551
20755
|
|
@@ -20584,6 +20788,7 @@ RX100M5A/RX100M7/HX99.
|
|
20584
20788
|
6134 LensType int16u
|
20585
20789
|
6136 DistortionCorrParamsPresent int8u
|
20586
20790
|
6137 DistortionCorrParamsNumber int8u
|
20791
|
+
6284 AspectRatio int8u
|
20587
20792
|
|
20588
20793
|
=head3 Sony MeterInfo9 Tags
|
20589
20794
|
|
@@ -20825,6 +21030,9 @@ WX350/WX500, ILCE-1/7/7C/7R/7S/7M2/7M3/7RM2/7RM3/7RM4/7SM2/7SM3/9/9M2/5000/
|
|
20825
21030
|
42 Quality2 int8u
|
20826
21031
|
71 SonyImageHeight int16u~
|
20827
21032
|
83 ModelReleaseYear int8u~
|
21033
|
+
307 ShutterType int8u
|
21034
|
+
313 ShutterType int8u
|
21035
|
+
319 ShutterType int8u
|
20828
21036
|
|
20829
21037
|
=head3 Sony Tag9401 Tags
|
20830
21038
|
|
@@ -20836,6 +21044,7 @@ WX350/WX500, ILCE-1/7/7C/7R/7S/7M2/7M3/7RM2/7RM3/7RM4/7SM2/7SM3/9/9M2/5000/
|
|
20836
21044
|
1181 ISOInfo Sony ISOInfo
|
20837
21045
|
1185 ISOInfo Sony ISOInfo
|
20838
21046
|
1186 ISOInfo Sony ISOInfo
|
21047
|
+
1210 ISOInfo Sony ISOInfo
|
20839
21048
|
1437 ISOInfo Sony ISOInfo
|
20840
21049
|
1588 ISOInfo Sony ISOInfo
|
20841
21050
|
1590 ISOInfo Sony ISOInfo
|
@@ -24104,7 +24313,10 @@ chunk.
|
|
24104
24313
|
|
24105
24314
|
The tags below are found in JPEG 2000 images and the JUMBF metadata in JPEG
|
24106
24315
|
images, but not all of these are extracted. Note that ExifTool currently
|
24107
|
-
writes only EXIF, IPTC and XMP tags in Jpeg2000 images
|
24316
|
+
writes only EXIF, IPTC and XMP tags in Jpeg2000 images, and EXIF and XMP in
|
24317
|
+
JXL images. ExifTool will read/write Brotli-compressed EXIF and XMP in JXL
|
24318
|
+
images, but the API Compress option must be set to create new EXIF and XMP
|
24319
|
+
in compressed format.
|
24108
24320
|
|
24109
24321
|
Tag ID Tag Name Writable
|
24110
24322
|
------ -------- --------
|
@@ -24114,6 +24326,9 @@ writes only EXIF, IPTC and XMP tags in Jpeg2000 images.
|
|
24114
24326
|
'bfil' BinaryFilter no
|
24115
24327
|
'bidb' BinaryData no
|
24116
24328
|
'bpcc' BitsPerComponent no
|
24329
|
+
'brob' BrotliXMP XMP
|
24330
|
+
BrotliEXIF EXIF
|
24331
|
+
BrotliJUMB Jpeg2000
|
24117
24332
|
'c2sh' C2PASaltHash no
|
24118
24333
|
'cbor' CBORData CBOR
|
24119
24334
|
'cdef' ComponentDefinition no
|
@@ -24132,6 +24347,7 @@ writes only EXIF, IPTC and XMP tags in Jpeg2000 images.
|
|
24132
24347
|
'ftbl' FragmentTable no
|
24133
24348
|
'ftyp' FileType Jpeg2000 FileType
|
24134
24349
|
'gtso' GraphicsTechnologyStandardOutput no
|
24350
|
+
'hrgm' GainMapImage no
|
24135
24351
|
'ihdr' ImageHeader Jpeg2000 ImageHeader
|
24136
24352
|
'inst' InstructionSet no
|
24137
24353
|
'jP ' JP2Signature no
|
@@ -24145,6 +24361,7 @@ writes only EXIF, IPTC and XMP tags in Jpeg2000 images.
|
|
24145
24361
|
'jumb' JUMBFBox Jpeg2000
|
24146
24362
|
'jumd' JUMBFDescr Jpeg2000 JUMD
|
24147
24363
|
'jxlc' JXLCodestream no
|
24364
|
+
'jxlp' PartialJXLCodestream no
|
24148
24365
|
'lbl ' Label no
|
24149
24366
|
'mdat' MediaData no
|
24150
24367
|
'mp7b' MPEG7Binary no
|
@@ -28588,6 +28805,7 @@ and are not currently writable.
|
|
28588
28805
|
'auxC' AuxiliaryImageType no
|
28589
28806
|
'av1C' AV1Configuration QuickTime AV1Config
|
28590
28807
|
'clap' CleanAperture no
|
28808
|
+
'clli' ContentLightLevel QuickTime ContentLightLevel
|
28591
28809
|
'colr' ICC_Profile ICC_Profile
|
28592
28810
|
ColorRepresentation QuickTime ColorRep
|
28593
28811
|
'hvcC' HEVCConfiguration QuickTime HEVCConfig
|
@@ -28611,6 +28829,13 @@ and are not currently writable.
|
|
28611
28829
|
2.4 ChromaSamplePosition no
|
28612
28830
|
3 InitialDelaySamples? no
|
28613
28831
|
|
28832
|
+
=head3 QuickTime ContentLightLevel Tags
|
28833
|
+
|
28834
|
+
Index2 Tag Name Writable
|
28835
|
+
------ -------- --------
|
28836
|
+
0 MaxContentLightLevel no
|
28837
|
+
1 MaxPicAverageLightLevel no
|
28838
|
+
|
28614
28839
|
=head3 QuickTime ColorRep Tags
|
28615
28840
|
|
28616
28841
|
Index1 Tag Name Writable
|
@@ -28846,12 +29071,27 @@ atoms.
|
|
28846
29071
|
24 AudioChannels no
|
28847
29072
|
26 AudioBitsPerSample no
|
28848
29073
|
32 AudioSampleRate no
|
29074
|
+
'SA3D' SpatialAudio QuickTime SpatialAudio
|
28849
29075
|
'chan' AudioChannelLayout QuickTime ChannelLayout
|
28850
29076
|
'damr' DecodeConfig QuickTime DecodeConfig
|
28851
29077
|
'pinf' PurchaseInfo QuickTime ProtectionInfo
|
28852
29078
|
'sinf' ProtectionInfo QuickTime ProtectionInfo
|
28853
29079
|
'wave' Wave QuickTime Wave
|
28854
29080
|
|
29081
|
+
=head3 QuickTime SpatialAudio Tags
|
29082
|
+
|
29083
|
+
Spatial Audio tags.
|
29084
|
+
|
29085
|
+
Index1 Tag Name Writable
|
29086
|
+
------ -------- --------
|
29087
|
+
0 SpatialAudioVersion no
|
29088
|
+
1 AmbisonicType no
|
29089
|
+
2 AmbisonicOrder no
|
29090
|
+
6 AmbisonicChannelOrdering no
|
29091
|
+
7 AmbisonicNormalization no
|
29092
|
+
8 AmbisonicChannels no
|
29093
|
+
12 AmbisonicChannelMap no
|
29094
|
+
|
28855
29095
|
=head3 QuickTime ChannelLayout Tags
|
28856
29096
|
|
28857
29097
|
Audio channel layout.
|
@@ -29607,6 +29847,7 @@ metadata to WEBP images, but can't yet write to other RIFF-based formats.
|
|
29607
29847
|
'fmt ' AudioFormat RIFF AudioFormat
|
29608
29848
|
'gps0' GPSTrack QuickTime Stream
|
29609
29849
|
'gsen' GSensor QuickTime Stream
|
29850
|
+
'guan' Guano no
|
29610
29851
|
'iXML' IXML XMP XML
|
29611
29852
|
'id3 ' ID3 ID3
|
29612
29853
|
'inst' Instrument RIFF Instrument
|
@@ -31129,6 +31370,7 @@ L<https://www.matroska.org/technical/tagging.html>).
|
|
31129
31370
|
'SCREENPLAY_BY' ScreenplayBy no
|
31130
31371
|
'SORT_WITH' SortWith no
|
31131
31372
|
'SOUND_ENGINEER' SoundEngineer no
|
31373
|
+
'SPHERICAL-VIDEO' SphericalVideoXML XMP
|
31132
31374
|
'SUBJECT' Subject no
|
31133
31375
|
'SUBTITLE' Subtitle no
|
31134
31376
|
'SUMMARY' Summary no
|
@@ -31142,6 +31384,7 @@ L<https://www.matroska.org/technical/tagging.html>).
|
|
31142
31384
|
'TVDB' TVDB no
|
31143
31385
|
'URL' URL no
|
31144
31386
|
'WRITTEN_BY' WrittenBy no
|
31387
|
+
'spherical-video' SphericalVideoXML XMP
|
31145
31388
|
|
31146
31389
|
=head2 MOI Tags
|
31147
31390
|
|
@@ -37740,15 +37983,15 @@ These tags are extracted from RAR archive files.
|
|
37740
37983
|
|
37741
37984
|
=head3 ZIP RAR5 Tags
|
37742
37985
|
|
37743
|
-
These tags are extracted from RAR v5 archive files.
|
37986
|
+
These tags are extracted from RAR v5 and 7z archive files.
|
37744
37987
|
|
37745
37988
|
Tag Name Writable
|
37746
37989
|
-------- --------
|
37747
37990
|
ArchivedFileName no
|
37748
37991
|
CompressedSize no
|
37992
|
+
FileVersion no
|
37749
37993
|
ModifyDate no
|
37750
37994
|
OperatingSystem no
|
37751
|
-
RARVersion no
|
37752
37995
|
UncompressedSize no
|
37753
37996
|
|
37754
37997
|
=head2 RTF Tags
|
@@ -38167,7 +38410,7 @@ FileName.
|
|
38167
38410
|
ICC_Profile ICC_Profile yes!
|
38168
38411
|
ID3Size File no
|
38169
38412
|
IPTC IPTC yes!
|
38170
|
-
|
38413
|
+
ImageDataHash File no
|
38171
38414
|
ImageHeight File no
|
38172
38415
|
ImageWidth File no
|
38173
38416
|
JPEGDigest File no
|
@@ -38627,6 +38870,7 @@ for more details.
|
|
38627
38870
|
IFD0:XPAuthor
|
38628
38871
|
IFD0:XPKeywords
|
38629
38872
|
IFD0:XPSubject
|
38873
|
+
ImageDataMD5 ImageDataHash yes
|
38630
38874
|
LargeTags CanonVRD yes
|
38631
38875
|
DLOData
|
38632
38876
|
EXIF
|
@@ -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.21';
|
21
21
|
|
22
22
|
use Image::ExifTool qw(:Utils);
|
23
23
|
use Image::ExifTool::Exif;
|
@@ -56,6 +56,15 @@ use Image::ExifTool::Exif;
|
|
56
56
|
0x212 => 1, 0x9204 => 1, 0xa210 => 1, 0xa500 => 221,
|
57
57
|
0x213 => 1, 0x9205 => 1, 0xa214 => 1,
|
58
58
|
0x214 => 1, 0x9206 => 1, 0xa215 => 1,
|
59
|
+
|
60
|
+
# new Exif 3.0 tags
|
61
|
+
0xa436 => 300,
|
62
|
+
0xa437 => 300,
|
63
|
+
0xa438 => 300,
|
64
|
+
0xa439 => 300,
|
65
|
+
0xa43a => 300,
|
66
|
+
0xa43b => 300,
|
67
|
+
0xa43c => 300,
|
59
68
|
);
|
60
69
|
|
61
70
|
# GPSVersionID numbers when each tag was introduced
|
@@ -147,6 +156,13 @@ my %stdFormat = (
|
|
147
156
|
0xc68d => 'int(16|32)u', 0xc791 => 'int(16|32)u',
|
148
157
|
0xc68e => 'int(16|32)u', 0xc792 => 'int(16|32)u',
|
149
158
|
0xc6d2 => '', 0xc793 => '(int16u|int32u|rational64u)',
|
159
|
+
# Exif 3.0 spec
|
160
|
+
0x10e => 'string|utf8', 0xa430 => 'string|utf8', 0xa439 => 'string|utf8',
|
161
|
+
0x10f => 'string|utf8', 0xa433 => 'string|utf8', 0xa43a => 'string|utf8',
|
162
|
+
0x110 => 'string|utf8', 0xa434 => 'string|utf8', 0xa43b => 'string|utf8',
|
163
|
+
0x131 => 'string|utf8', 0xa436 => 'string|utf8', 0xa43c => 'string|utf8',
|
164
|
+
0x13b => 'string|utf8', 0xa437 => 'string|utf8', 0xa43a => 'string|utf8',
|
165
|
+
0x8298 => 'string|utf8', 0xa438 => 'string|utf8',
|
150
166
|
},
|
151
167
|
);
|
152
168
|
|
@@ -420,15 +420,15 @@ sub ValidateImageData($$$;$)
|
|
420
420
|
}
|
421
421
|
|
422
422
|
#------------------------------------------------------------------------------
|
423
|
-
# Add specified image data to
|
423
|
+
# Add specified image data to ImageDataHash hash
|
424
424
|
# Inputs: 0) ExifTool ref, 1) dirInfo ref, 2) lookup for [tagInfo,value] based on tagID
|
425
|
-
sub
|
425
|
+
sub AddImageDataHash($$$)
|
426
426
|
{
|
427
427
|
my ($et, $dirInfo, $offsetInfo) = @_;
|
428
428
|
my ($tagID, $offset, $buff);
|
429
429
|
|
430
430
|
my $verbose = $et->Options('Verbose');
|
431
|
-
my $
|
431
|
+
my $hash = $$et{ImageDataHash};
|
432
432
|
my $raf = $$dirInfo{RAF};
|
433
433
|
|
434
434
|
foreach $tagID (sort keys %$offsetInfo) {
|
@@ -451,12 +451,12 @@ sub AddImageDataMD5($$$)
|
|
451
451
|
my $size = shift @sizes;
|
452
452
|
next unless $offset =~ /^\d+$/ and $size and $size =~ /^\d+$/ and $size;
|
453
453
|
next unless $raf->Seek($offset, 0); # (offset is absolute)
|
454
|
-
$total += $et->
|
454
|
+
$total += $et->ImageDataHash($raf, $size);
|
455
455
|
}
|
456
456
|
if ($verbose) {
|
457
457
|
my $name = "$$dirInfo{DirName}:$$tagInfo{Name}";
|
458
458
|
$name =~ s/Offsets?|Start$//;
|
459
|
-
$et->VPrint(0, "$$et{INDENT}(
|
459
|
+
$et->VPrint(0, "$$et{INDENT}(ImageDataHash: $total bytes of $name data)\n");
|
460
460
|
}
|
461
461
|
}
|
462
462
|
}
|
@@ -780,7 +780,7 @@ Entry: for (;;) {
|
|
780
780
|
$readFormat = $oldFormat = Get16u($dataPt, $entry+2);
|
781
781
|
$readCount = $oldCount = Get32u($dataPt, $entry+4);
|
782
782
|
undef $oldImageData;
|
783
|
-
if ($oldFormat < 1 or $oldFormat > 13 and not ($oldFormat == 16 and $$et{Make} eq 'Apple' and $inMakerNotes)) {
|
783
|
+
if (($oldFormat < 1 or $oldFormat > 13) and $oldFormat != 129 and not ($oldFormat == 16 and $$et{Make} eq 'Apple' and $inMakerNotes)) {
|
784
784
|
my $msg = "Bad format ($oldFormat) for $name entry $index";
|
785
785
|
# patch to preserve invalid directory entries in SubIFD3 of
|
786
786
|
# various Kodak Z-series cameras (Z812, Z1085IS, Z1275)
|
@@ -1277,7 +1277,9 @@ NoWrite: next if $isNew > 0;
|
|
1277
1277
|
$et->Warn("Writing large value for $name",1);
|
1278
1278
|
}
|
1279
1279
|
# re-code if necessary
|
1280
|
-
if ($
|
1280
|
+
if ($newFormName eq 'utf8') {
|
1281
|
+
$newValue = $et->Encode($newValue, 'UTF8');
|
1282
|
+
} elsif ($strEnc and $newFormName eq 'string') {
|
1281
1283
|
$newValue = $et->Encode($newValue, $strEnc);
|
1282
1284
|
}
|
1283
1285
|
} else {
|
@@ -973,16 +973,14 @@ sub WriteQuickTime($$$)
|
|
973
973
|
}
|
974
974
|
} elsif ($tag eq 'CTBO' or $tag eq 'uuid') { # hack for updating CR3 CTBO offsets
|
975
975
|
push @{$$dirInfo{ChunkOffset}}, [ $tag, length($$outfile), length($hdr) + $size ];
|
976
|
-
} elsif (not $flg) {
|
977
|
-
|
978
|
-
$
|
979
|
-
|
976
|
+
} elsif (not $flg or $flg == 1) {
|
977
|
+
# assume "1" if stsd is yet to be read
|
978
|
+
$flg or $$et{AssumedDataRef} = 1;
|
979
|
+
# must update offsets since the data is in this file
|
980
|
+
push @{$$dirInfo{ChunkOffset}}, [ $tag, length($$outfile) + length($hdr), $size ];
|
980
981
|
} elsif ($flg == 3) {
|
981
982
|
$et->Error("Can't write files with mixed internal/external media data");
|
982
983
|
return $rtnVal;
|
983
|
-
} elsif ($flg == 1) {
|
984
|
-
# must update offsets since the data is in this file
|
985
|
-
push @{$$dirInfo{ChunkOffset}}, [ $tag, length($$outfile) + length($hdr), $size ];
|
986
984
|
}
|
987
985
|
}
|
988
986
|
|
@@ -1036,8 +1034,10 @@ sub WriteQuickTime($$$)
|
|
1036
1034
|
|
1037
1035
|
if ($subdir) { # process atoms in this container from a buffer in memory
|
1038
1036
|
|
1039
|
-
|
1040
|
-
|
1037
|
+
if ($tag eq 'trak') {
|
1038
|
+
undef $$et{HandlerType}; # init handler type for this track
|
1039
|
+
delete $$et{AssumedDataRef};
|
1040
|
+
}
|
1041
1041
|
my $subName = $$subdir{DirName} || $$tagInfo{Name};
|
1042
1042
|
my $start = $$subdir{Start} || 0;
|
1043
1043
|
my $base = ($$dirInfo{Base} || 0) + $raf->Tell() - $size;
|
@@ -1103,6 +1103,11 @@ sub WriteQuickTime($$$)
|
|
1103
1103
|
$$et{CHANGED} = $oldChanged;
|
1104
1104
|
undef $newData;
|
1105
1105
|
}
|
1106
|
+
if ($tag eq 'trak' and $$et{AssumedDataRef}) {
|
1107
|
+
my $grp = $$et{CUR_WRITE_GROUP} || $dirName;
|
1108
|
+
$et->Error("Can't locate data reference to update offsets for $grp");
|
1109
|
+
delete $$et{AssumedDataRef};
|
1110
|
+
}
|
1106
1111
|
$$et{CUR_WRITE_GROUP} = $oldWriteGroup;
|
1107
1112
|
SetByteOrder('MM');
|
1108
1113
|
# add back header if necessary
|
@@ -1405,6 +1410,13 @@ sub WriteQuickTime($$$)
|
|
1405
1410
|
$flg = 1; # (this seems to be the case)
|
1406
1411
|
}
|
1407
1412
|
$$et{QtDataFlg} = $flg;
|
1413
|
+
if ($$et{AssumedDataRef}) {
|
1414
|
+
if ($flg != $$et{AssumedDataRef}) {
|
1415
|
+
my $grp = $$et{CUR_WRITE_GROUP} || $parent;
|
1416
|
+
$et->Error("Assumed incorrect data reference for $grp (was $flg)");
|
1417
|
+
}
|
1418
|
+
delete $$et{AssumedDataRef};
|
1419
|
+
}
|
1408
1420
|
}
|
1409
1421
|
if ($tagInfo and $$tagInfo{WriteLast}) {
|
1410
1422
|
$writeLast = ($writeLast || '') . $hdr . $buff;
|
@@ -176,7 +176,7 @@ sub CheckXMP($$$;$)
|
|
176
176
|
require 'Image/ExifTool/XMPStruct.pl';
|
177
177
|
my ($item, $err, $w, $warn);
|
178
178
|
unless (ref $$valPtr) {
|
179
|
-
($$valPtr, $warn) = InflateStruct($valPtr);
|
179
|
+
($$valPtr, $warn) = InflateStruct($et, $valPtr);
|
180
180
|
# expect a structure HASH ref or ARRAY of structures
|
181
181
|
unless (ref $$valPtr) {
|
182
182
|
$$valPtr eq '' and $$valPtr = { }, return undef; # allow empty structures
|
@@ -189,7 +189,7 @@ sub CheckXMP($$$;$)
|
|
189
189
|
$$valPtr = \@copy; # return the copy
|
190
190
|
foreach $item (@copy) {
|
191
191
|
unless (ref $item eq 'HASH') {
|
192
|
-
($item, $w) = InflateStruct(\$item); # deserialize structure
|
192
|
+
($item, $w) = InflateStruct($et, \$item); # deserialize structure
|
193
193
|
$w and $warn = $w;
|
194
194
|
next if ref $item eq 'HASH';
|
195
195
|
$err = 'Improperly formed structure';
|