exiftool-vendored.exe 12.26.0 → 12.33.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.
- package/bin/exiftool_files/Changes +119 -4
- package/bin/exiftool_files/README +44 -43
- package/bin/exiftool_files/arg_files/xmp2exif.args +2 -1
- package/bin/exiftool_files/config_files/convert_regions.config +25 -14
- package/bin/exiftool_files/config_files/example.config +1 -1
- package/bin/exiftool_files/exiftool.pl +79 -66
- package/bin/exiftool_files/fmt_files/gpx.fmt +1 -1
- package/bin/exiftool_files/fmt_files/gpx_wpt.fmt +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/BuildTagLookup.pm +11 -3
- package/bin/exiftool_files/lib/Image/ExifTool/CBOR.pm +331 -0
- package/bin/exiftool_files/lib/Image/ExifTool/Canon.pm +26 -7
- package/bin/exiftool_files/lib/Image/ExifTool/DPX.pm +13 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Exif.pm +98 -4
- package/bin/exiftool_files/lib/Image/ExifTool/FlashPix.pm +35 -10
- package/bin/exiftool_files/lib/Image/ExifTool/FujiFilm.pm +1 -0
- package/bin/exiftool_files/lib/Image/ExifTool/Geotag.pm +13 -2
- package/bin/exiftool_files/lib/Image/ExifTool/GoPro.pm +16 -1
- package/bin/exiftool_files/lib/Image/ExifTool/ID3.pm +15 -3
- package/bin/exiftool_files/lib/Image/ExifTool/JSON.pm +7 -3
- package/bin/exiftool_files/lib/Image/ExifTool/Jpeg2000.pm +60 -26
- package/bin/exiftool_files/lib/Image/ExifTool/LIF.pm +153 -0
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/nl.pm +60 -59
- package/bin/exiftool_files/lib/Image/ExifTool/M2TS.pm +103 -7
- package/bin/exiftool_files/lib/Image/ExifTool/MacOS.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Nikon.pm +14 -3
- package/bin/exiftool_files/lib/Image/ExifTool/NikonSettings.pm +10 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Olympus.pm +9 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Other.pm +93 -0
- package/bin/exiftool_files/lib/Image/ExifTool/PDF.pm +9 -12
- package/bin/exiftool_files/lib/Image/ExifTool/PNG.pm +7 -6
- package/bin/exiftool_files/lib/Image/ExifTool/Panasonic.pm +14 -3
- package/bin/exiftool_files/lib/Image/ExifTool/Pentax.pm +27 -5
- package/bin/exiftool_files/lib/Image/ExifTool/Photoshop.pm +6 -0
- package/bin/exiftool_files/lib/Image/ExifTool/QuickTime.pm +105 -24
- package/bin/exiftool_files/lib/Image/ExifTool/QuickTimeStream.pl +203 -121
- package/bin/exiftool_files/lib/Image/ExifTool/README +5 -2
- package/bin/exiftool_files/lib/Image/ExifTool/RIFF.pm +6 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Samsung.pm +47 -10
- package/bin/exiftool_files/lib/Image/ExifTool/Sony.pm +85 -34
- package/bin/exiftool_files/lib/Image/ExifTool/TagLookup.pm +65 -5
- package/bin/exiftool_files/lib/Image/ExifTool/TagNames.pod +153 -32
- package/bin/exiftool_files/lib/Image/ExifTool/Torrent.pm +18 -11
- package/bin/exiftool_files/lib/Image/ExifTool/WritePDF.pl +1 -0
- package/bin/exiftool_files/lib/Image/ExifTool/WritePNG.pl +2 -0
- package/bin/exiftool_files/lib/Image/ExifTool/WriteQuickTime.pl +8 -4
- package/bin/exiftool_files/lib/Image/ExifTool/Writer.pl +3 -0
- package/bin/exiftool_files/lib/Image/ExifTool/XMP.pm +21 -4
- package/bin/exiftool_files/lib/Image/ExifTool/XMP2.pl +3 -1
- package/bin/exiftool_files/lib/Image/ExifTool/XMPStruct.pl +3 -1
- package/bin/exiftool_files/lib/Image/ExifTool/ZISRAW.pm +121 -2
- package/bin/exiftool_files/lib/Image/ExifTool.pm +8867 -8835
- package/bin/exiftool_files/lib/Image/ExifTool.pod +58 -56
- package/package.json +3 -3
|
@@ -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 24363 tags, with 15798 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
|
|
@@ -925,6 +925,20 @@ for the official EXIF 2.32 specification.
|
|
|
925
925
|
0xc7ec DepthUnits IFD0 int16u!
|
|
926
926
|
0xc7ed DepthMeasureType IFD0 int16u!
|
|
927
927
|
0xc7ee EnhanceParams IFD0 string!
|
|
928
|
+
0xcd2d ProfileGainTableMap SubIFD undef!
|
|
929
|
+
0xcd2e SemanticName SubIFD no
|
|
930
|
+
0xcd30 SemanticInstanceIFD SubIFD no
|
|
931
|
+
0xcd31 CalibrationIlluminant3 IFD0 int16u!
|
|
932
|
+
0xcd32 CameraCalibration3 IFD0 rational64s[n]!
|
|
933
|
+
0xcd33 ColorMatrix3 IFD0 rational64s[n]!
|
|
934
|
+
0xcd34 ForwardMatrix3 IFD0 rational64s[n]!
|
|
935
|
+
0xcd35 IlluminantData1 IFD0 undef!
|
|
936
|
+
0xcd36 IlluminantData2 IFD0 undef!
|
|
937
|
+
0xcd37 IlluminantData3 IFD0 undef!
|
|
938
|
+
0xcd38 MaskSubArea SubIFD no
|
|
939
|
+
0xcd39 ProfileHueSatMapData3 IFD0 float[n]!
|
|
940
|
+
0xcd3a ReductionMatrix3 IFD0 rational64s[n]!
|
|
941
|
+
0xcd3b RGBTables IFD0 undef!
|
|
928
942
|
0xea1c Padding ExifIFD undef!
|
|
929
943
|
0xea1d OffsetSchema ExifIFD int32s!
|
|
930
944
|
0xfde8 OwnerName ExifIFD string/
|
|
@@ -1730,6 +1744,9 @@ These tags belong to the ExifTool XMP-crd family 1 group.
|
|
|
1730
1744
|
LookParametersLookTable string/_
|
|
1731
1745
|
LookParametersProcessVersion string/_
|
|
1732
1746
|
LookParametersToneCurvePV2012 string/_+
|
|
1747
|
+
LookParametersToneCurvePV2012Blue string/_+
|
|
1748
|
+
LookParametersToneCurvePV2012Green string/_+
|
|
1749
|
+
LookParametersToneCurvePV2012Red string/_+
|
|
1733
1750
|
LookParametersVersion string/_
|
|
1734
1751
|
LookSupportsAmount string/_
|
|
1735
1752
|
LookSupportsMonochrome string/_
|
|
@@ -2059,6 +2076,9 @@ These tags belong to the ExifTool XMP-crd family 1 group.
|
|
|
2059
2076
|
LookTable string
|
|
2060
2077
|
ProcessVersion string
|
|
2061
2078
|
ToneCurvePV2012 string+
|
|
2079
|
+
ToneCurvePV2012Blue string+
|
|
2080
|
+
ToneCurvePV2012Green string+
|
|
2081
|
+
ToneCurvePV2012Red string+
|
|
2062
2082
|
Version string
|
|
2063
2083
|
|
|
2064
2084
|
=head3 XMP RetouchArea Struct
|
|
@@ -2394,6 +2414,9 @@ These tags belong to the ExifTool XMP-crs family 1 group.
|
|
|
2394
2414
|
LookParametersLookTable string_
|
|
2395
2415
|
LookParametersProcessVersion string_
|
|
2396
2416
|
LookParametersToneCurvePV2012 string_+
|
|
2417
|
+
LookParametersToneCurvePV2012Blue string_+
|
|
2418
|
+
LookParametersToneCurvePV2012Green string_+
|
|
2419
|
+
LookParametersToneCurvePV2012Red string_+
|
|
2397
2420
|
LookParametersVersion string_
|
|
2398
2421
|
LookSupportsAmount string_
|
|
2399
2422
|
LookSupportsMonochrome string_
|
|
@@ -3487,6 +3510,7 @@ These tags belong to the ExifTool XMP-iptcCore family 1 group.
|
|
|
3487
3510
|
|
|
3488
3511
|
Tag Name Writable
|
|
3489
3512
|
-------- --------
|
|
3513
|
+
AltTextAccessibility lang-alt
|
|
3490
3514
|
CountryCode string
|
|
3491
3515
|
CreatorContactInfo ContactInfo Struct
|
|
3492
3516
|
CreatorCity string_
|
|
@@ -3497,6 +3521,7 @@ These tags belong to the ExifTool XMP-iptcCore family 1 group.
|
|
|
3497
3521
|
CreatorWorkEmail string_
|
|
3498
3522
|
CreatorWorkTelephone string_
|
|
3499
3523
|
CreatorWorkURL string_
|
|
3524
|
+
ExtDescrAccessibility lang-alt
|
|
3500
3525
|
IntellectualGenre string
|
|
3501
3526
|
Location string
|
|
3502
3527
|
Scene string+
|
|
@@ -3519,7 +3544,8 @@ These tags belong to the ExifTool XMP-iptcCore family 1 group.
|
|
|
3519
3544
|
|
|
3520
3545
|
This table contains tags defined by the IPTC Extension schema version 1.5.
|
|
3521
3546
|
The actual namespace prefix is "Iptc4xmpExt", but ExifTool shortens this for
|
|
3522
|
-
the family 1 group name. (see
|
|
3547
|
+
the family 1 group name. (see
|
|
3548
|
+
L<http://www.iptc.org/standards/photo-metadata/iptc-standard/>)
|
|
3523
3549
|
|
|
3524
3550
|
These tags belong to the ExifTool XMP-iptcExt family 1 group.
|
|
3525
3551
|
|
|
@@ -3595,6 +3621,7 @@ These tags belong to the ExifTool XMP-iptcExt family 1 group.
|
|
|
3595
3621
|
ShownEvent Entity Struct+
|
|
3596
3622
|
ShownEventIdentifier string_+
|
|
3597
3623
|
ShownEventName lang-alt_+
|
|
3624
|
+
EventID string+
|
|
3598
3625
|
ExternalMetadataLink string+
|
|
3599
3626
|
FeedIdentifier string
|
|
3600
3627
|
Genre CVTermDetails Struct+
|
|
@@ -5937,6 +5964,7 @@ Unknown only to reduce the volume of the normal output.
|
|
|
5937
5964
|
0x0023 FocusPointWrap no
|
|
5938
5965
|
0x0025 ManualFocusPointIllumination no
|
|
5939
5966
|
0x0026 AF-AssistIlluminator no
|
|
5967
|
+
0x0027 ManualFocusRingInAFMode no
|
|
5940
5968
|
0x0029 ISOStepSize no
|
|
5941
5969
|
0x002a ExposureControlStepSize no
|
|
5942
5970
|
0x002b EasyExposureCompensation no
|
|
@@ -6115,6 +6143,7 @@ Unknown only to reduce the volume of the normal output.
|
|
|
6115
6143
|
0x016c LimitAF-AreaModeSelWideLAnimals? no
|
|
6116
6144
|
0x016e AFAreaMode no
|
|
6117
6145
|
0x0170 PreferSubSelectorCenter no
|
|
6146
|
+
0x0171 KeepExposureWithTeleconverter no
|
|
6118
6147
|
0x0174 FocusPointSelectionSpeed no
|
|
6119
6148
|
|
|
6120
6149
|
=head2 Canon Tags
|
|
@@ -7356,6 +7385,7 @@ WB tags for the Canon G9.
|
|
|
7356
7385
|
19 LiveViewShooting int16s
|
|
7357
7386
|
20 FocusDistanceUpper int16u
|
|
7358
7387
|
21 FocusDistanceLower int16u
|
|
7388
|
+
23 ShutterMode int16s
|
|
7359
7389
|
25 FlashExposureLock int16s
|
|
7360
7390
|
61 RFLensType int16u
|
|
7361
7391
|
|
|
@@ -15409,6 +15439,7 @@ such as the OM E-M5.
|
|
|
15409
15439
|
44 Model no
|
|
15410
15440
|
131 DateTime1 no
|
|
15411
15441
|
157 DateTime2 no
|
|
15442
|
+
383 LensModel no
|
|
15412
15443
|
|
|
15413
15444
|
=head3 Olympus scrn2 Tags
|
|
15414
15445
|
|
|
@@ -15619,6 +15650,7 @@ These tags are used in Panasonic/Leica cameras.
|
|
|
15619
15650
|
0x00d1 ISO int32u
|
|
15620
15651
|
0x00d2 MonochromeGrainEffect int16u
|
|
15621
15652
|
0x00d6 NoiseReductionStrength rational64s
|
|
15653
|
+
0x00e4 LensTypeModel int16u
|
|
15622
15654
|
0x0e00 PrintIM PrintIM
|
|
15623
15655
|
0x2003 TimeInfo Panasonic TimeInfo
|
|
15624
15656
|
0x8000 MakerNoteVersion undef
|
|
@@ -15976,6 +16008,7 @@ These tags are used in Pentax/Asahi cameras.
|
|
|
15976
16008
|
0x008b ISO int32u
|
|
15977
16009
|
0x0092 IntervalShooting int16u[2]
|
|
15978
16010
|
0x0095 SkinToneCorrection int8s[2]
|
|
16011
|
+
SkinToneCorrection int8s[3]
|
|
15979
16012
|
0x0096 ClarityControl int8s[2]
|
|
15980
16013
|
0x0200 BlackPoint int16u[4]
|
|
15981
16014
|
0x0201 WhitePoint int16u[4]
|
|
@@ -16008,6 +16041,8 @@ These tags are used in Pentax/Asahi cameras.
|
|
|
16008
16041
|
0x0215 CameraInfo Pentax CameraInfo
|
|
16009
16042
|
0x0216 BatteryInfo Pentax BatteryInfo
|
|
16010
16043
|
0x021b SaturationInfo? no
|
|
16044
|
+
0x021c ColorMatrixA2 undef[18]
|
|
16045
|
+
0x021d ColorMatrixB2 undef[18]
|
|
16011
16046
|
0x021f AFInfo Pentax AFInfo
|
|
16012
16047
|
0x0220 HuffmanTable? no
|
|
16013
16048
|
0x0221 KelvinWB Pentax KelvinWB
|
|
@@ -17036,11 +17071,13 @@ Camera orientation information written by the Gear 360 (SM-C200).
|
|
|
17036
17071
|
|
|
17037
17072
|
Tags extracted from the trailer of JPEG images written when using certain
|
|
17038
17073
|
features (such as "Sound & Shot" or "Shot & More") from Samsung models such
|
|
17039
|
-
as the Galaxy S4 and Tab S
|
|
17074
|
+
as the Galaxy S4 and Tab S, and from the 'sefd' atom in HEIC images from the
|
|
17075
|
+
Samsung S10+.
|
|
17040
17076
|
|
|
17041
17077
|
Tag Name Writable
|
|
17042
17078
|
-------- --------
|
|
17043
17079
|
DepthMapData no
|
|
17080
|
+
DepthMapData2 no
|
|
17044
17081
|
DepthMapName no
|
|
17045
17082
|
DualCameraImage no
|
|
17046
17083
|
DualCameraImageName no
|
|
@@ -17048,9 +17085,11 @@ as the Galaxy S4 and Tab S.
|
|
|
17048
17085
|
EmbeddedAudioFile no
|
|
17049
17086
|
EmbeddedAudioFileName no
|
|
17050
17087
|
EmbeddedImage no
|
|
17088
|
+
EmbeddedImage2 no
|
|
17051
17089
|
EmbeddedImageName no
|
|
17052
17090
|
EmbeddedVideoFile no
|
|
17053
17091
|
EmbeddedVideoType no
|
|
17092
|
+
MCCData no
|
|
17054
17093
|
SingleShotDepthMap no
|
|
17055
17094
|
SingleShotMeta Samsung SingleShotMeta
|
|
17056
17095
|
SurroundShotVideo no
|
|
@@ -19247,6 +19286,8 @@ some models when the ExtractEmbedded option is used.
|
|
|
19247
19286
|
0x851d GPSDateStamp no
|
|
19248
19287
|
0xe303 WhiteBalance no
|
|
19249
19288
|
0xe304 DateTime no
|
|
19289
|
+
0xe43b PitchRollYaw no
|
|
19290
|
+
0xe44b Accelerometer no
|
|
19250
19291
|
|
|
19251
19292
|
=head2 SonyIDC Tags
|
|
19252
19293
|
|
|
@@ -20493,6 +20534,7 @@ L<https://github.com/gopro/gpmf-parser> for details about this format.
|
|
|
20493
20534
|
'EISA' ElectronicImageStabilization no
|
|
20494
20535
|
'EMPT' Empty? no
|
|
20495
20536
|
'ESCS' EscapeStatus? no
|
|
20537
|
+
'EXPT' MaximumShutterAngle no
|
|
20496
20538
|
'FACE' FaceDetected no
|
|
20497
20539
|
'FCNM' FaceNumbers no
|
|
20498
20540
|
'FMWR' FirmwareVersion no
|
|
@@ -20510,7 +20552,11 @@ L<https://github.com/gopro/gpmf-parser> for details about this format.
|
|
|
20510
20552
|
'LNED' LocalPositionNED no
|
|
20511
20553
|
'MAGN' Magnetometer no
|
|
20512
20554
|
'MINF' Model no
|
|
20555
|
+
'MTRX' AccelerometerMatrix no
|
|
20556
|
+
'MUID' MediaUniqueID no
|
|
20513
20557
|
'OREN' AutoRotation no
|
|
20558
|
+
'ORIN' InputOrientation no
|
|
20559
|
+
'ORIO' OutputOrientation no
|
|
20514
20560
|
'PHDR' HDRSetting no
|
|
20515
20561
|
'PIMN' AutoISOMin no
|
|
20516
20562
|
'PIMX' AutoISOMax no
|
|
@@ -20527,6 +20573,7 @@ L<https://github.com/gopro/gpmf-parser> for details about this format.
|
|
|
20527
20573
|
'SHUT' ExposureTimes no
|
|
20528
20574
|
'SIMU' ScaledIMU no
|
|
20529
20575
|
'SIUN' SIUnits? no
|
|
20576
|
+
'SROT' SensorReadoutTime no
|
|
20530
20577
|
'STMP' TimeStamp no
|
|
20531
20578
|
'STNM' StreamName? no
|
|
20532
20579
|
'STRM' NestedSignalStream GoPro GPMF
|
|
@@ -20534,6 +20581,7 @@ L<https://github.com/gopro/gpmf-parser> for details about this format.
|
|
|
20534
20581
|
'TMPC' CameraTemperature no
|
|
20535
20582
|
'TSMP' TotalSamples? no
|
|
20536
20583
|
'TYPE' StructureType? no
|
|
20584
|
+
'UNIF' InputUniformity no
|
|
20537
20585
|
'UNIT' Units? no
|
|
20538
20586
|
'VERS' MetadataVersion no
|
|
20539
20587
|
'VFOV' FieldOfView no
|
|
@@ -21803,16 +21851,19 @@ even if it is not listed in this table.
|
|
|
21803
21851
|
|
|
21804
21852
|
=head2 Jpeg2000 Tags
|
|
21805
21853
|
|
|
21806
|
-
The tags below are
|
|
21807
|
-
|
|
21808
|
-
tags in Jpeg2000 images.
|
|
21854
|
+
The tags below are found in JPEG 2000 images and the JUMBF metadata in JPEG
|
|
21855
|
+
images, but not all of these are extracted. Note that ExifTool currently
|
|
21856
|
+
writes only EXIF, IPTC and XMP tags in Jpeg2000 images.
|
|
21809
21857
|
|
|
21810
21858
|
Tag ID Tag Name Writable
|
|
21811
21859
|
------ -------- --------
|
|
21812
21860
|
'Exif' EXIF EXIF
|
|
21813
21861
|
'asoc' Association Jpeg2000
|
|
21862
|
+
'bfdb' BinaryDataType no
|
|
21814
21863
|
'bfil' BinaryFilter no
|
|
21864
|
+
'bidb' BinaryData no
|
|
21815
21865
|
'bpcc' BitsPerComponent no
|
|
21866
|
+
'cbor' CBORData CBOR
|
|
21816
21867
|
'cdef' ComponentDefinition no
|
|
21817
21868
|
'cgrp' ColorGroup no
|
|
21818
21869
|
'chck' DigitalSignature no
|
|
@@ -21866,6 +21917,7 @@ tags in Jpeg2000 images.
|
|
|
21866
21917
|
UUID-GeoJP2 EXIF
|
|
21867
21918
|
UUID-Photoshop Photoshop
|
|
21868
21919
|
UUID-Signature no
|
|
21920
|
+
UUID-C2PAClaimSignature -
|
|
21869
21921
|
UUID-Unknown no
|
|
21870
21922
|
'xml ' XML XMP XML
|
|
21871
21923
|
XMP -
|
|
@@ -21904,13 +21956,13 @@ tags in Jpeg2000 images.
|
|
|
21904
21956
|
|
|
21905
21957
|
Information extracted from the JUMBF description box.
|
|
21906
21958
|
|
|
21907
|
-
Tag ID
|
|
21908
|
-
------
|
|
21909
|
-
'
|
|
21910
|
-
'
|
|
21911
|
-
'
|
|
21912
|
-
'
|
|
21913
|
-
'
|
|
21959
|
+
Tag ID Tag Name Writable
|
|
21960
|
+
------ -------- --------
|
|
21961
|
+
'id' JUMDID no
|
|
21962
|
+
'label' JUMDLabel no
|
|
21963
|
+
'sig' JUMDSignature no
|
|
21964
|
+
'toggles' JUMDToggles? no
|
|
21965
|
+
'type' JUMDType no
|
|
21914
21966
|
|
|
21915
21967
|
=head3 Jpeg2000 CaptureResolution Tags
|
|
21916
21968
|
|
|
@@ -21947,6 +21999,24 @@ JSON-formatted files.
|
|
|
21947
21999
|
ON1_SettingsMetadataUsage no
|
|
21948
22000
|
ON1_SettingsMetadataVisibleToUser no
|
|
21949
22001
|
|
|
22002
|
+
=head2 CBOR Tags
|
|
22003
|
+
|
|
22004
|
+
The tags below are extracted from CBOR (Concise Binary Object
|
|
22005
|
+
Representation) metadata. The C2PA specification uses this format for some
|
|
22006
|
+
metadata. As well as these tags, ExifTool will read any existing tags.
|
|
22007
|
+
|
|
22008
|
+
Tag Name Writable
|
|
22009
|
+
-------- --------
|
|
22010
|
+
AuthorIdentifier no
|
|
22011
|
+
AuthorName no
|
|
22012
|
+
DocumentID no
|
|
22013
|
+
Format no
|
|
22014
|
+
InstanceID no
|
|
22015
|
+
Relationship no
|
|
22016
|
+
ThumbnailHash no+
|
|
22017
|
+
ThumbnailURL no
|
|
22018
|
+
Title no
|
|
22019
|
+
|
|
21950
22020
|
=head2 PLIST Tags
|
|
21951
22021
|
|
|
21952
22022
|
Apple Property List tags. ExifTool reads both XML and binary-format PLIST
|
|
@@ -23942,6 +24012,8 @@ available. Alternate language tags and values containing special characters
|
|
|
23942
24012
|
if the Compress option is used and Compress::Zlib is available. Raw profile
|
|
23943
24013
|
information is always created as compressed zTXt if Compress::Zlib is
|
|
23944
24014
|
available, or tEXt otherwise. Standard XMP is written as uncompressed iTXt.
|
|
24015
|
+
User-defined tags may set an 'iTXt' flag in the tag definition to be written
|
|
24016
|
+
only as iTXt.
|
|
23945
24017
|
|
|
23946
24018
|
Alternate languages are accessed by suffixing the tag name with a '-',
|
|
23947
24019
|
followed by an RFC 3066 language code (eg. "PNG:Comment-fr", or
|
|
@@ -24375,6 +24447,7 @@ Tags extracted from DPX (Digital Picture Exchange) images.
|
|
|
24375
24447
|
1532 SourceCreateDate no
|
|
24376
24448
|
1556 InputDeviceName no
|
|
24377
24449
|
1588 InputDeviceSerialNumber no
|
|
24450
|
+
1628 AspectRatio no
|
|
24378
24451
|
1724 OriginalFrameRate no
|
|
24379
24452
|
1728 ShutterAngle no
|
|
24380
24453
|
1732 FrameID no
|
|
@@ -24590,6 +24663,16 @@ Tags extracted from FEI1 and FEI2 extended headers.
|
|
|
24590
24663
|
868 PhasePlatePosition no
|
|
24591
24664
|
872 ObjectiveAperture no
|
|
24592
24665
|
|
|
24666
|
+
=head2 LIF Tags
|
|
24667
|
+
|
|
24668
|
+
Tags extracted from Leica Image Format (LIF) imaging files. As well as the
|
|
24669
|
+
tags listed below, all available information is extracted from the
|
|
24670
|
+
XML-format metadata in the LIF header.
|
|
24671
|
+
|
|
24672
|
+
Tag Name Writable
|
|
24673
|
+
-------- --------
|
|
24674
|
+
TimeStampList no
|
|
24675
|
+
|
|
24593
24676
|
=head2 MIFF Tags
|
|
24594
24677
|
|
|
24595
24678
|
The MIFF (Magick Image File Format) format allows aribrary tag names to be
|
|
@@ -24776,6 +24859,18 @@ specification.
|
|
|
24776
24859
|
'software' Software no
|
|
24777
24860
|
'view' View no
|
|
24778
24861
|
|
|
24862
|
+
=head3 Other PFM Tags
|
|
24863
|
+
|
|
24864
|
+
Tags extracted from Portable FloatMap images. See
|
|
24865
|
+
L<http://www.pauldebevec.com/Research/HDR/PFM/> for the specification.
|
|
24866
|
+
|
|
24867
|
+
Tag Name Writable
|
|
24868
|
+
-------- --------
|
|
24869
|
+
ByteOrder no
|
|
24870
|
+
ColorSpace no
|
|
24871
|
+
ImageHeight no
|
|
24872
|
+
ImageWidth no
|
|
24873
|
+
|
|
24779
24874
|
=head2 PDF Tags
|
|
24780
24875
|
|
|
24781
24876
|
The tags listed in the PDF tables below are those which are used by ExifTool
|
|
@@ -24954,11 +25049,12 @@ This is the PDF document catalog.
|
|
|
24954
25049
|
|
|
24955
25050
|
Tag ID Tag Name Writable
|
|
24956
25051
|
------ -------- --------
|
|
24957
|
-
'
|
|
25052
|
+
'CS0' CS0 PDF ICCBased
|
|
25053
|
+
'Cs1' Cs1 PDF ICCBased
|
|
24958
25054
|
'DefaultCMYK' DefaultCMYK PDF DefaultRGB
|
|
24959
25055
|
'DefaultRGB' DefaultRGB PDF DefaultRGB
|
|
24960
25056
|
|
|
24961
|
-
=head3 PDF
|
|
25057
|
+
=head3 PDF ICCBased Tags
|
|
24962
25058
|
|
|
24963
25059
|
Tag ID Tag Name Writable
|
|
24964
25060
|
------ -------- --------
|
|
@@ -24970,12 +25066,6 @@ This is the PDF document catalog.
|
|
|
24970
25066
|
------ -------- --------
|
|
24971
25067
|
'ICCBased' ICCBased PDF ICCBased
|
|
24972
25068
|
|
|
24973
|
-
=head3 PDF ICCBased Tags
|
|
24974
|
-
|
|
24975
|
-
Tag ID Tag Name Writable
|
|
24976
|
-
------ -------- --------
|
|
24977
|
-
'_stream' _stream ICC_Profile
|
|
24978
|
-
|
|
24979
25069
|
=head3 PDF Properties Tags
|
|
24980
25070
|
|
|
24981
25071
|
Tag ID Tag Name Writable
|
|
@@ -25087,8 +25177,8 @@ Additional document permissions imposed by digital signatures.
|
|
|
25087
25177
|
|
|
25088
25178
|
=head2 ID3 Tags
|
|
25089
25179
|
|
|
25090
|
-
ExifTool extracts ID3 and Lyrics3 information from MP3, MPEG,
|
|
25091
|
-
FLAC, APE, MPC and RealAudio files. ID3v2 tags which support multiple
|
|
25180
|
+
ExifTool extracts ID3 and Lyrics3 information from MP3, MPEG, WAV, AIFF,
|
|
25181
|
+
OGG, FLAC, APE, MPC and RealAudio files. ID3v2 tags which support multiple
|
|
25092
25182
|
languages (eg. Comment and Lyrics) are extracted by specifying the tag name,
|
|
25093
25183
|
followed by a dash ('-'), then a 3-character ISO 639-2 language code (eg.
|
|
25094
25184
|
"Comment-spa"). See L<http://www.id3.org/> for the official ID3
|
|
@@ -25980,7 +26070,7 @@ According to the specification, integer-format QuickTime date/time tags
|
|
|
25980
26070
|
should be stored as UTC. Unfortunately, digital cameras often store local
|
|
25981
26071
|
time values instead (presumably because they don't know the time zone). For
|
|
25982
26072
|
this reason, by default ExifTool does not assume a time zone for these
|
|
25983
|
-
values. However, if the QuickTimeUTC
|
|
26073
|
+
values. However, if the API QuickTimeUTC option is set, then ExifTool will
|
|
25984
26074
|
assume these values are properly stored as UTC, and will convert them to
|
|
25985
26075
|
local time when extracting.
|
|
25986
26076
|
|
|
@@ -26018,6 +26108,7 @@ for the official specification.
|
|
|
26018
26108
|
'pict' PreviewPICT no
|
|
26019
26109
|
'pnot' Preview QuickTime Preview
|
|
26020
26110
|
'prrt' ARDroneTelemetry no
|
|
26111
|
+
'sefd' SamsungTrailer Samsung Trailer
|
|
26021
26112
|
'skip' CanonSkip Canon Skip
|
|
26022
26113
|
PreviewImage no
|
|
26023
26114
|
Skip? no
|
|
@@ -26059,10 +26150,10 @@ Tags found in Pittasoft Blackvue dashcam "free" data.
|
|
|
26059
26150
|
|
|
26060
26151
|
=head3 QuickTime Stream Tags
|
|
26061
26152
|
|
|
26062
|
-
|
|
26063
|
-
the ExtractEmbedded option is used. Although
|
|
26064
|
-
combined into the single table below, ExifTool
|
|
26065
|
-
formats of timed GPS metadata from video files.
|
|
26153
|
+
The tags below are extracted from timed metadata in QuickTime and other
|
|
26154
|
+
formats of video files when the ExtractEmbedded option is used. Although
|
|
26155
|
+
most of these tags are combined into the single table below, ExifTool
|
|
26156
|
+
currently reads 57 different formats of timed GPS metadata from video files.
|
|
26066
26157
|
|
|
26067
26158
|
Tag Name Writable
|
|
26068
26159
|
-------- --------
|
|
@@ -26118,8 +26209,10 @@ formats of timed GPS metadata from video files.
|
|
|
26118
26209
|
camm6 QuickTime camm6
|
|
26119
26210
|
camm7 QuickTime camm7
|
|
26120
26211
|
fdsc GoPro fdsc
|
|
26121
|
-
|
|
26212
|
+
gpmd_Kingslim QuickTime Stream
|
|
26122
26213
|
gpmd_Rove QuickTime Stream
|
|
26214
|
+
gpmd_FMAS QuickTime Stream
|
|
26215
|
+
gpmd_GoPro GoPro GPMF
|
|
26123
26216
|
marl QuickTime marl
|
|
26124
26217
|
mebx QuickTime Keys
|
|
26125
26218
|
mett Parrot mett
|
|
@@ -26547,21 +26640,42 @@ QuickTimeHandler option may be set to 0 to avoid this.
|
|
|
26547
26640
|
=head3 QuickTime iTunesInfo Tags
|
|
26548
26641
|
|
|
26549
26642
|
ExifTool will extract any iTunesInfo tags that exist, even if they are not
|
|
26550
|
-
defined in this table.
|
|
26643
|
+
defined in this table. These tags belong to the family 1 "iTunes" group,
|
|
26644
|
+
and are not currently writable.
|
|
26551
26645
|
|
|
26552
26646
|
Tag ID Tag Name Writable
|
|
26553
26647
|
------ -------- --------
|
|
26648
|
+
'ARTISTS' Artists no
|
|
26649
|
+
'BARCODE' Barcode no
|
|
26650
|
+
'CATALOGNUMBER' CatalogNumber no
|
|
26554
26651
|
'DISCNUMBER' DiscNumber no
|
|
26652
|
+
'Dynamic Range (DR)' DynamicRange no
|
|
26653
|
+
'Dynamic Range (R128)' DynamicRangeR128 no
|
|
26555
26654
|
'Encoding Params' EncodingParams QuickTime EncodingParams
|
|
26655
|
+
'LABEL' Label no
|
|
26656
|
+
'MEDIA' Media no
|
|
26657
|
+
'MOOD' Mood no
|
|
26658
|
+
'Peak Level (R128)' PeakLevelR128 no
|
|
26659
|
+
'Peak Level (Sample)' PeakLevelSample no
|
|
26660
|
+
'RATING' Rating no
|
|
26661
|
+
'SCRIPT' Script no
|
|
26556
26662
|
'TRACKNUMBER' TrackNumber no
|
|
26663
|
+
'Volume Level (R128)' VolumeLevelR128 no
|
|
26664
|
+
'Volume Level (ReplayGain)' ReplayVolumeLevel no
|
|
26557
26665
|
'iTunEXTC' ContentRating no
|
|
26558
26666
|
'iTunMOVI' iTunMOVI PLIST
|
|
26559
26667
|
'iTunNORM' VolumeNormalization no
|
|
26560
26668
|
'iTunSMPB' iTunSMPB no
|
|
26561
26669
|
'iTunes_CDDB_1' CDDB1Info no
|
|
26562
26670
|
'iTunes_CDDB_TrackNumber' CDDBTrackNumber no
|
|
26671
|
+
'initialkey' InitialKey no
|
|
26672
|
+
'originaldate' OriginalDate no
|
|
26673
|
+
'originalyear' OriginalYear no
|
|
26563
26674
|
'popularimeter' Popularimeter no
|
|
26675
|
+
'replaygain_track_gain' ReplayTrackGain no
|
|
26676
|
+
'replaygain_track_peak' ReplayTrackPeak no
|
|
26564
26677
|
'tool' iTunTool no
|
|
26678
|
+
'~length' Length no
|
|
26565
26679
|
|
|
26566
26680
|
=head3 QuickTime EncodingParams Tags
|
|
26567
26681
|
|
|
@@ -27216,6 +27330,7 @@ the config file.
|
|
|
27216
27330
|
'lrcu' LyricsURI string
|
|
27217
27331
|
'lvlm' LevelMeter? rational64s
|
|
27218
27332
|
'manu' Make no
|
|
27333
|
+
'mcvr' PreviewImage string
|
|
27219
27334
|
'meta' Meta QuickTime Meta
|
|
27220
27335
|
'modl' Model no
|
|
27221
27336
|
'name' Name string
|
|
@@ -30076,6 +30191,7 @@ sub-documents, but the Duration is calculated for the full video.
|
|
|
30076
30191
|
'gps0' GPSTrack QuickTime Stream
|
|
30077
30192
|
'gsen' GSensor QuickTime Stream
|
|
30078
30193
|
'iXML' IXML XMP XML
|
|
30194
|
+
'id3 ' ID3 ID3
|
|
30079
30195
|
'inst' Instrument RIFF Instrument
|
|
30080
30196
|
'labl' CuePointLabel no
|
|
30081
30197
|
'list' ListType no
|
|
@@ -30197,6 +30313,7 @@ by some software.
|
|
|
30197
30313
|
'ISTD' ProductionStudio no
|
|
30198
30314
|
'ISTR' Starring no
|
|
30199
30315
|
'ITCH' Technician no
|
|
30316
|
+
'ITRK' TrackNumber no
|
|
30200
30317
|
'IWMU' WatermarkURL no
|
|
30201
30318
|
'IWRI' WrittenBy no
|
|
30202
30319
|
'LANG' Language no
|
|
@@ -35101,7 +35218,7 @@ options, but these files are not writable directly.
|
|
|
35101
35218
|
|
|
35102
35219
|
XAttr tags are extracted using the "xattr" utility. They are extracted if
|
|
35103
35220
|
any "XAttr*" tag or the MacOS group is specifically requested, or by setting
|
|
35104
|
-
the XAttrTags
|
|
35221
|
+
the API XAttrTags option to 1 or the API RequestAll option to 2 or higher.
|
|
35105
35222
|
And they are extracted by default from MacOS "._" files when reading
|
|
35106
35223
|
these files directly.
|
|
35107
35224
|
|
|
@@ -35123,7 +35240,7 @@ these files directly.
|
|
|
35123
35240
|
|
|
35124
35241
|
MDItem tags are extracted using the "mdls" utility. They are extracted if
|
|
35125
35242
|
any "MDItem*" tag or the MacOS group is specifically requested, or by
|
|
35126
|
-
setting the MDItemTags
|
|
35243
|
+
setting the API MDItemTags option to 1 or the API RequestAll option to 2 or
|
|
35127
35244
|
higher. Note that these tags do not necessarily reflect the current
|
|
35128
35245
|
metadata of a file -- it may take some time for the MacOS mdworker daemon to
|
|
35129
35246
|
index the file after a metadata change.
|
|
@@ -35491,11 +35608,15 @@ values, may created via the ExifTool configuration file.
|
|
|
35491
35608
|
GPS:GPSLatitudeRef
|
|
35492
35609
|
GPSLatitude QuickTime:GPSCoordinates no
|
|
35493
35610
|
GPSLatitude QuickTime:LocationInformation no
|
|
35611
|
+
GPSLatitude Sony:GPSLatitude no
|
|
35612
|
+
Sony:GPSLatitudeRef
|
|
35494
35613
|
GPSLatitudeRef XMP-exif:GPSLatitude no
|
|
35495
35614
|
GPSLongitude GPS:GPSLongitude no
|
|
35496
35615
|
GPS:GPSLongitudeRef
|
|
35497
35616
|
GPSLongitude QuickTime:GPSCoordinates no
|
|
35498
35617
|
GPSLongitude QuickTime:LocationInformation no
|
|
35618
|
+
GPSLongitude Sony:GPSLongitude no
|
|
35619
|
+
Sony:GPSLongitudeRef
|
|
35499
35620
|
GPSLongitudeRef XMP-exif:GPSLongitude no
|
|
35500
35621
|
GPSPosition GPSLatitude no
|
|
35501
35622
|
GPSLongitude
|
|
@@ -13,10 +13,11 @@ package Image::ExifTool::Torrent;
|
|
|
13
13
|
use strict;
|
|
14
14
|
use vars qw($VERSION);
|
|
15
15
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
16
|
+
use Image::ExifTool::XMP;
|
|
16
17
|
|
|
17
|
-
$VERSION = '1.
|
|
18
|
+
$VERSION = '1.05';
|
|
18
19
|
|
|
19
|
-
sub ReadBencode(
|
|
20
|
+
sub ReadBencode($$$);
|
|
20
21
|
sub ExtractTags($$$;$$@);
|
|
21
22
|
|
|
22
23
|
# tags extracted from BitTorrent files
|
|
@@ -99,12 +100,12 @@ sub ReadMore($$)
|
|
|
99
100
|
|
|
100
101
|
#------------------------------------------------------------------------------
|
|
101
102
|
# Read bencoded value
|
|
102
|
-
# Inputs: 0) input file,
|
|
103
|
+
# Inputs: 0) ExifTool ref, 1) input file, 2) buffer (pos must be set to current position)
|
|
103
104
|
# Returns: HASH ref, ARRAY ref, SCALAR ref, SCALAR, or undef on error or end of data
|
|
104
105
|
# Notes: Sets BencodeError element of RAF on any error
|
|
105
|
-
sub ReadBencode(
|
|
106
|
+
sub ReadBencode($$$)
|
|
106
107
|
{
|
|
107
|
-
my ($raf, $dataPt) = @_;
|
|
108
|
+
my ($et, $raf, $dataPt) = @_;
|
|
108
109
|
|
|
109
110
|
# read more if necessary (keep a minimum of 64 bytes in the buffer)
|
|
110
111
|
my $pos = pos($$dataPt);
|
|
@@ -123,21 +124,21 @@ sub ReadBencode($$)
|
|
|
123
124
|
} elsif ($tok eq 'd') { # dictionary
|
|
124
125
|
$val = { };
|
|
125
126
|
for (;;) {
|
|
126
|
-
my $k = ReadBencode($raf, $dataPt);
|
|
127
|
+
my $k = ReadBencode($et, $raf, $dataPt);
|
|
127
128
|
last unless defined $k;
|
|
128
129
|
# the key must be a byte string
|
|
129
130
|
if (ref $k) {
|
|
130
131
|
ref $k ne 'SCALAR' and $$raf{BencodeError} = 'Bad dictionary key', last;
|
|
131
132
|
$k = $$k;
|
|
132
133
|
}
|
|
133
|
-
my $v = ReadBencode($raf, $dataPt);
|
|
134
|
+
my $v = ReadBencode($et, $raf, $dataPt);
|
|
134
135
|
last unless defined $v;
|
|
135
136
|
$$val{$k} = $v;
|
|
136
137
|
}
|
|
137
138
|
} elsif ($tok eq 'l') { # list
|
|
138
139
|
$val = [ ];
|
|
139
140
|
for (;;) {
|
|
140
|
-
my $v = ReadBencode($raf, $dataPt);
|
|
141
|
+
my $v = ReadBencode($et, $raf, $dataPt);
|
|
141
142
|
last unless defined $v;
|
|
142
143
|
push @$val, $v;
|
|
143
144
|
}
|
|
@@ -165,8 +166,14 @@ sub ReadBencode($$)
|
|
|
165
166
|
}
|
|
166
167
|
if (defined $value) {
|
|
167
168
|
# return as binary data unless it is a reasonable-length ASCII string
|
|
168
|
-
if (length($value) > 256
|
|
169
|
+
if (length($value) > 256) {
|
|
169
170
|
$val = \$value;
|
|
171
|
+
} elsif ($value =~ /[^\t\x20-\x7e]/) {
|
|
172
|
+
if (Image::ExifTool::XMP::IsUTF8(\$value) >= 0) {
|
|
173
|
+
$val = $et->Decode($value, 'UTF8');
|
|
174
|
+
} else {
|
|
175
|
+
$val = \$value;
|
|
176
|
+
}
|
|
170
177
|
} else {
|
|
171
178
|
$val = $value;
|
|
172
179
|
}
|
|
@@ -206,7 +213,7 @@ sub ExtractTags($$$;$$@)
|
|
|
206
213
|
my $tagInfo = $et->GetTagInfo($tagTablePtr, $id) or next;
|
|
207
214
|
if (ref $val eq 'ARRAY') {
|
|
208
215
|
if ($$tagInfo{JoinPath}) {
|
|
209
|
-
$val = join '/', @$val;
|
|
216
|
+
$val = join '/', map { ref $_ ? '(Binary data)' : $_ } @$val;
|
|
210
217
|
} else {
|
|
211
218
|
push @more, @$val;
|
|
212
219
|
next if ref $more[0] eq 'ARRAY'; # continue expanding nested lists
|
|
@@ -273,7 +280,7 @@ sub ProcessTorrent($$)
|
|
|
273
280
|
my $raf = $$dirInfo{RAF};
|
|
274
281
|
my $buff = '';
|
|
275
282
|
pos($buff) = 0;
|
|
276
|
-
my $dict = ReadBencode($raf, \$buff);
|
|
283
|
+
my $dict = ReadBencode($et, $raf, \$buff);
|
|
277
284
|
my $err = $$raf{BencodeError};
|
|
278
285
|
$et->Warn("Bencode error: $err") if $err;
|
|
279
286
|
if (ref $dict eq 'HASH' and ($$dict{announce} or $$dict{'created by'})) {
|
|
@@ -293,6 +293,7 @@ sub WritePDF($$)
|
|
|
293
293
|
my $newTool = new Image::ExifTool;
|
|
294
294
|
$newTool->Options(List => 1);
|
|
295
295
|
$newTool->Options(Password => $et->Options('Password'));
|
|
296
|
+
$newTool->Options(NoPDFList => $et->Options('NoPDFList'));
|
|
296
297
|
$$newTool{PDF_CAPTURE} = \%capture;
|
|
297
298
|
my $info = $newTool->ImageInfo($raf, 'XMP', 'PDF:*', 'Error', 'Warning');
|
|
298
299
|
# not a valid PDF file unless we got a version number
|
|
@@ -179,6 +179,8 @@ sub BuildTextChunk($$$$$)
|
|
|
179
179
|
$tag =~ s/-$lang$//; # remove language code from tagID
|
|
180
180
|
} elsif ($$et{OPTIONS}{Charset} ne 'Latin' and $val =~ /[\x80-\xff]/) {
|
|
181
181
|
$iTXt = 1; # write as iTXt if it contains non-Latin special characters
|
|
182
|
+
} elsif ($$tagInfo{iTXt}) {
|
|
183
|
+
$iTXt = 1; # write as iTXt if specified in user-defined tag
|
|
182
184
|
}
|
|
183
185
|
}
|
|
184
186
|
if ($comp) {
|
|
@@ -317,7 +317,7 @@ sub FormatQTValue($$;$$)
|
|
|
317
317
|
if ($writable and $qtFormat{$writable}) {
|
|
318
318
|
$flags = $qtFormat{$writable};
|
|
319
319
|
} else {
|
|
320
|
-
$flags = $qtFormat{$format} || 0;
|
|
320
|
+
$flags = $qtFormat{$format || 0} || 0;
|
|
321
321
|
}
|
|
322
322
|
} elsif ($$valPt =~ /^\xff\xd8\xff/) {
|
|
323
323
|
$flags = 0x0d; # JPG
|
|
@@ -849,7 +849,7 @@ sub WriteQuickTime($$$)
|
|
|
849
849
|
# --> hold this terminator to the end
|
|
850
850
|
$term = $hdr;
|
|
851
851
|
} elsif ($n != 0) {
|
|
852
|
-
$et->Error(
|
|
852
|
+
$et->Error("Unknown $n bytes at end of file", 1);
|
|
853
853
|
}
|
|
854
854
|
last;
|
|
855
855
|
}
|
|
@@ -1089,7 +1089,9 @@ sub WriteQuickTime($$$)
|
|
|
1089
1089
|
$$et{CHANGED} = $oldChanged if $$et{DemoteErrors} > 1;
|
|
1090
1090
|
delete $$et{DemoteErrors};
|
|
1091
1091
|
}
|
|
1092
|
-
if (defined $newData and not length $newData and $$
|
|
1092
|
+
if (defined $newData and not length $newData and ($$tagInfo{Permanent} or
|
|
1093
|
+
($$tagTablePtr{PERMANENT} and not defined $$tagInfo{Permanent})))
|
|
1094
|
+
{
|
|
1093
1095
|
# do nothing if trying to delete tag from a PERMANENT table
|
|
1094
1096
|
$$et{CHANGED} = $oldChanged;
|
|
1095
1097
|
undef $newData;
|
|
@@ -1097,7 +1099,9 @@ sub WriteQuickTime($$$)
|
|
|
1097
1099
|
$$et{CUR_WRITE_GROUP} = $oldWriteGroup;
|
|
1098
1100
|
SetByteOrder('MM');
|
|
1099
1101
|
# add back header if necessary
|
|
1100
|
-
if ($start and defined $newData and length $newData
|
|
1102
|
+
if ($start and defined $newData and (length $newData or
|
|
1103
|
+
(defined $$tagInfo{Permanent} and not $$tagInfo{Permanent})))
|
|
1104
|
+
{
|
|
1101
1105
|
$newData = substr($buff,0,$start) . $newData;
|
|
1102
1106
|
$$_[1] += $start foreach @chunkOffset;
|
|
1103
1107
|
}
|