exiftool_vendored 13.42.0 → 13.45.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 +44 -1
- data/bin/MANIFEST +2 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +48 -48
- data/bin/config_files/example.config +5 -2
- data/bin/exiftool +96 -84
- data/bin/lib/Image/ExifTool/Apple.pm +0 -1
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +4 -4
- data/bin/lib/Image/ExifTool/Canon.pm +24 -1
- data/bin/lib/Image/ExifTool/CanonCustom.pm +1 -1
- data/bin/lib/Image/ExifTool/DarwinCore.pm +2 -2
- data/bin/lib/Image/ExifTool/EXE.pm +1 -1
- data/bin/lib/Image/ExifTool/Exif.pm +4 -2
- data/bin/lib/Image/ExifTool/FLIR.pm +1 -1
- data/bin/lib/Image/ExifTool/FlashPix.pm +1 -1
- data/bin/lib/Image/ExifTool/FujiFilm.pm +2 -2
- data/bin/lib/Image/ExifTool/Geolocation.dat +0 -0
- data/bin/lib/Image/ExifTool/Geolocation.pm +1 -1
- data/bin/lib/Image/ExifTool/Geotag.pm +3 -3
- data/bin/lib/Image/ExifTool/Google.pm +2 -2
- data/bin/lib/Image/ExifTool/ICC_Profile.pm +0 -1
- data/bin/lib/Image/ExifTool/Import.pm +1 -1
- data/bin/lib/Image/ExifTool/JPEG.pm +5 -1
- data/bin/lib/Image/ExifTool/Jpeg2000.pm +1 -1
- data/bin/lib/Image/ExifTool/Kandao.pm +399 -0
- data/bin/lib/Image/ExifTool/LNK.pm +1 -1
- data/bin/lib/Image/ExifTool/MRC.pm +4 -4
- data/bin/lib/Image/ExifTool/MWG.pm +1 -1
- data/bin/lib/Image/ExifTool/MacOS.pm +1 -2
- data/bin/lib/Image/ExifTool/Matroska.pm +56 -15
- data/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
- data/bin/lib/Image/ExifTool/Nikon.pm +13 -15
- data/bin/lib/Image/ExifTool/NikonCustom.pm +10 -8
- data/bin/lib/Image/ExifTool/OpenEXR.pm +1 -1
- data/bin/lib/Image/ExifTool/PPM.pm +1 -1
- data/bin/lib/Image/ExifTool/Panasonic.pm +30 -6
- data/bin/lib/Image/ExifTool/Pentax.pm +9 -1
- data/bin/lib/Image/ExifTool/PhaseOne.pm +17 -1
- data/bin/lib/Image/ExifTool/Plot.pm +2 -2
- data/bin/lib/Image/ExifTool/Protobuf.pm +42 -16
- data/bin/lib/Image/ExifTool/QuickTime.pm +48 -8
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +2 -2
- data/bin/lib/Image/ExifTool/README +5 -5
- data/bin/lib/Image/ExifTool/RIFF.pm +5 -4
- data/bin/lib/Image/ExifTool/Reconyx.pm +2 -2
- data/bin/lib/Image/ExifTool/Samsung.pm +11 -1
- data/bin/lib/Image/ExifTool/Sony.pm +29 -3
- data/bin/lib/Image/ExifTool/TNEF.pm +2 -2
- data/bin/lib/Image/ExifTool/TagLookup.pm +7129 -7108
- data/bin/lib/Image/ExifTool/TagNames.pod +259 -111
- data/bin/lib/Image/ExifTool/Text.pm +1 -1
- data/bin/lib/Image/ExifTool/Trailer.pm +1 -1
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +10 -2
- data/bin/lib/Image/ExifTool/Writer.pl +9 -5
- data/bin/lib/Image/ExifTool/XMP.pm +4 -2
- data/bin/lib/Image/ExifTool/ZIP.pm +1 -1
- data/bin/lib/Image/ExifTool.pm +33 -26
- data/bin/lib/Image/ExifTool.pod +88 -79
- data/bin/perl-Image-ExifTool.spec +47 -47
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +2 -1
|
@@ -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 29026 tags, with 18036 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
|
|
@@ -143,6 +143,7 @@ L<https://www.w3.org/Graphics/JPEG/jfif3.pdf> for the JPEG specification.
|
|
|
143
143
|
InfiRayMixMode InfiRay MixMode
|
|
144
144
|
DJI_DTAT no
|
|
145
145
|
'APP7' Pentax Pentax
|
|
146
|
+
Ricoh Pentax
|
|
146
147
|
Huawei Unknown
|
|
147
148
|
Qualcomm Qualcomm
|
|
148
149
|
InfiRayOpMode InfiRay OpMode
|
|
@@ -1345,7 +1346,7 @@ or "Rights-en-US"). (See L<http://www.ietf.org/rfc/rfc3066.txt> for the RFC
|
|
|
1345
1346
|
3066 specification.) A C<lang-alt> tag with no language code accesses the
|
|
1346
1347
|
"x-default" language, but causes other languages for this tag to be deleted
|
|
1347
1348
|
when writing. The "x-default" language code may be specified when writing
|
|
1348
|
-
to preserve other existing languages (eg. "XMP-dc:Description-x-default").
|
|
1349
|
+
to preserve other existing languages (eg. "XMP-dc:Description-x-default").
|
|
1349
1350
|
When reading, "x-default" is not specified.
|
|
1350
1351
|
|
|
1351
1352
|
The XMP tags are organized according to schema B<Namespace> in the following
|
|
@@ -2595,6 +2596,7 @@ These tags belong to the ExifTool XMP-crd family 1 group.
|
|
|
2595
2596
|
PerspectiveVertical integer/
|
|
2596
2597
|
PerspectiveX real/
|
|
2597
2598
|
PerspectiveY real/
|
|
2599
|
+
PointColors string/+
|
|
2598
2600
|
PostCropVignetteAmount integer/
|
|
2599
2601
|
PostCropVignetteFeather integer/
|
|
2600
2602
|
PostCropVignetteHighlightContrast integer/
|
|
@@ -3973,6 +3975,7 @@ These tags belong to the ExifTool XMP-crs family 1 group.
|
|
|
3973
3975
|
PerspectiveVertical integer
|
|
3974
3976
|
PerspectiveX real
|
|
3975
3977
|
PerspectiveY real
|
|
3978
|
+
PointColors string+
|
|
3976
3979
|
PostCropVignetteAmount integer
|
|
3977
3980
|
PostCropVignetteFeather integer
|
|
3978
3981
|
PostCropVignetteHighlightContrast integer
|
|
@@ -7432,6 +7435,7 @@ boot, not including standby time.
|
|
|
7432
7435
|
CanonCameraInfo1200D Canon CameraInfo60D
|
|
7433
7436
|
CanonCameraInfoR6 Canon CameraInfoR6
|
|
7434
7437
|
CanonCameraInfoR6m2 Canon CameraInfoR6m2
|
|
7438
|
+
CanonCameraInfoR6m3 Canon CameraInfoR6m3
|
|
7435
7439
|
CanonCameraInfoG5XII Canon CameraInfoG5XII
|
|
7436
7440
|
CanonCameraInfoPowerShot Canon CameraInfoPowerShot
|
|
7437
7441
|
CanonCameraInfoPowerShot2 Canon CameraInfoPowerShot2
|
|
@@ -8438,6 +8442,14 @@ CameraInfo tags for the EOS R6 Mark II.
|
|
|
8438
8442
|
------ -------- --------
|
|
8439
8443
|
3369 ShutterCount int32u
|
|
8440
8444
|
|
|
8445
|
+
=head3 Canon CameraInfoR6m3 Tags
|
|
8446
|
+
|
|
8447
|
+
CameraInfo tags for the EOS R6 Mark II.
|
|
8448
|
+
|
|
8449
|
+
Index1 Tag Name Writable
|
|
8450
|
+
------ -------- --------
|
|
8451
|
+
2157 ShutterCount int32u
|
|
8452
|
+
|
|
8441
8453
|
=head3 Canon CameraInfoG5XII Tags
|
|
8442
8454
|
|
|
8443
8455
|
CameraInfo tags for the PowerShot G5 X Mark II.
|
|
@@ -20132,6 +20144,10 @@ These tags are used in Panasonic/Leica cameras.
|
|
|
20132
20144
|
0x00e8 MinimumISO int32u
|
|
20133
20145
|
0x00e9 AFSubjectDetection int16u
|
|
20134
20146
|
0x00ee DynamicRangeBoost int16u
|
|
20147
|
+
0x00f1 LUT1Name string
|
|
20148
|
+
0x00f3 LUT1Opacity int8u
|
|
20149
|
+
0x00f4 LUT2Name string
|
|
20150
|
+
0x00f5 LUT2Opacity int8u
|
|
20135
20151
|
0x0e00 PrintIM PrintIM
|
|
20136
20152
|
0x2003 TimeInfo Panasonic TimeInfo
|
|
20137
20153
|
0x8000 MakerNoteVersion undef
|
|
@@ -20401,7 +20417,7 @@ various Panasonic and Leica models.
|
|
|
20401
20417
|
|
|
20402
20418
|
=head2 Pentax Tags
|
|
20403
20419
|
|
|
20404
|
-
These tags are used in Pentax/Asahi cameras.
|
|
20420
|
+
These tags are used in Pentax/Asahi/Ricoh cameras.
|
|
20405
20421
|
|
|
20406
20422
|
Tag ID Tag Name Writable
|
|
20407
20423
|
------ -------- --------
|
|
@@ -21403,6 +21419,10 @@ These tags are extracted from the maker notes of Phase One images.
|
|
|
21403
21419
|
0x0222 SplitColumn int32s
|
|
21404
21420
|
0x0223 BlackLevelData int16u[n]
|
|
21405
21421
|
0x0226 ColorMatrix2 float[9]
|
|
21422
|
+
0x0262 SequenceID string
|
|
21423
|
+
0x0263 SequenceKind int32s
|
|
21424
|
+
0x0264 SequenceFrameNumber int32s
|
|
21425
|
+
0x0265 SequenceFrameCount int32s
|
|
21406
21426
|
0x0267 AFAdjustment float
|
|
21407
21427
|
0x0301 FirmwareVersions string
|
|
21408
21428
|
0x0400 ShutterSpeedValue float
|
|
@@ -21934,6 +21954,7 @@ HEIC images from models such as the S10+.
|
|
|
21934
21954
|
SurroundShotVideo no
|
|
21935
21955
|
SurroundShotVideoName no
|
|
21936
21956
|
TimeStamp no
|
|
21957
|
+
VideoEditedTimeZone no
|
|
21937
21958
|
|
|
21938
21959
|
=head3 Samsung DualShotExtra Tags
|
|
21939
21960
|
|
|
@@ -23477,6 +23498,7 @@ substitution cipher, but the deciphered values are listed below.
|
|
|
23477
23498
|
------ -------- --------
|
|
23478
23499
|
0 SonyMaxAperture int8u
|
|
23479
23500
|
1 SonyMinAperture int8u
|
|
23501
|
+
10 ShutterCount int32u
|
|
23480
23502
|
32 Shutter int16u[3]
|
|
23481
23503
|
49 FlashStatus int8u
|
|
23482
23504
|
50 ShutterCount int32u
|
|
@@ -30840,6 +30862,9 @@ for the official QuickTime specification.
|
|
|
30840
30862
|
'gsen' GSensor QuickTime Stream
|
|
30841
30863
|
'inst' Insta360Info QuickTime Stream
|
|
30842
30864
|
'junk' Junk? no
|
|
30865
|
+
'kfix' KFIX Kandao
|
|
30866
|
+
'kstb' KSTB Kandao
|
|
30867
|
+
'kvar' KVAR Kandao
|
|
30843
30868
|
'mdat' MediaData? no
|
|
30844
30869
|
'mdat-offset' MediaDataOffset no
|
|
30845
30870
|
'mdat-size' MediaDataSize no
|
|
@@ -30883,7 +30908,7 @@ for the official QuickTime specification.
|
|
|
30883
30908
|
The tags below are extracted from timed metadata in QuickTime and other
|
|
30884
30909
|
formats of video files when the ExtractEmbedded option is used. Although
|
|
30885
30910
|
most of these tags are combined into the single table below, ExifTool
|
|
30886
|
-
currently reads
|
|
30911
|
+
currently reads 117 different types of timed GPS metadata from video files.
|
|
30887
30912
|
|
|
30888
30913
|
Tag ID Tag Name Writable
|
|
30889
30914
|
------ -------- --------
|
|
@@ -31060,7 +31085,7 @@ specification.
|
|
|
31060
31085
|
This directory contains a list of key names which are used to decode tags
|
|
31061
31086
|
written by the "mdta" handler. Also in this table are a few tags found in
|
|
31062
31087
|
timed metadata that are not yet writable by ExifTool. The prefix of
|
|
31063
|
-
"com.apple.quicktime." has been removed from
|
|
31088
|
+
"com.apple.quicktime." has been removed from most TagID's below. These tags
|
|
31064
31089
|
support alternate languages in the same way as the
|
|
31065
31090
|
L<ItemList|Image::ExifTool::TagNames/QuickTime ItemList Tags> tags. Note
|
|
31066
31091
|
that by default,
|
|
@@ -31144,6 +31169,7 @@ changed via the config file.
|
|
|
31144
31169
|
'producer' Producer yes
|
|
31145
31170
|
'publisher' Publisher yes
|
|
31146
31171
|
'rating.user' UserRating yes
|
|
31172
|
+
'samsung.android.utc_offset' AndroidTimeZone yes
|
|
31147
31173
|
'scene-illuminance' SceneIlluminance no
|
|
31148
31174
|
'software' Software yes
|
|
31149
31175
|
'still-image-time' StillImageTime no
|
|
@@ -31563,6 +31589,7 @@ and are not currently writable.
|
|
|
31563
31589
|
'colr' ICC_Profile ICC_Profile
|
|
31564
31590
|
ColorRepresentation QuickTime ColorRep
|
|
31565
31591
|
'hvcC' HEVCConfiguration QuickTime HEVCConfig
|
|
31592
|
+
'imir' Mirroring int8u!
|
|
31566
31593
|
'irot' Rotation int8u!
|
|
31567
31594
|
'ispe' ImageSpatialExtent no
|
|
31568
31595
|
'pasp' PixelAspectRatio int32u[2]!
|
|
@@ -34137,6 +34164,119 @@ Other tags are extracted with the Unknown option.
|
|
|
34137
34164
|
------ -------- --------
|
|
34138
34165
|
[no tags known]
|
|
34139
34166
|
|
|
34167
|
+
=head2 Kandao Tags
|
|
34168
|
+
|
|
34169
|
+
Tags extracted from Kandao KVAR files and the 'kvar', 'kfix' and 'kstb'
|
|
34170
|
+
atoms in Kandao MP4 videos, with a family 1 group name of KVAR, KFIX or KSTB
|
|
34171
|
+
depending on their location.
|
|
34172
|
+
|
|
34173
|
+
Tag ID Tag Name Writable
|
|
34174
|
+
------ -------- --------
|
|
34175
|
+
'AE_METERING' AEMetering no
|
|
34176
|
+
'AE_MODE' AEMode no
|
|
34177
|
+
'AF_FN' AF_FN no
|
|
34178
|
+
'AUDIO_GAIN' AudioGain no
|
|
34179
|
+
'AWB_CCT' AWB_CCT no
|
|
34180
|
+
'AWB_MODE' AWBMode no
|
|
34181
|
+
'BAT_TEMP' BatteryTemperature no
|
|
34182
|
+
'CAPTURE_MODE' CaptureMode no
|
|
34183
|
+
'CENTER_SHIFT' CenterShift no
|
|
34184
|
+
'COVER_MODE' CoverMode no
|
|
34185
|
+
'CPU_TEMP' CPUTemperature no
|
|
34186
|
+
'CUSTOMIZED' Customized no
|
|
34187
|
+
'DASHBOARD' Dashboard no
|
|
34188
|
+
'DISTORTION' Distortion no
|
|
34189
|
+
'DYNAMIC_RANGE' DynamicRange no
|
|
34190
|
+
'EV' EV no
|
|
34191
|
+
'EXP' Exp no
|
|
34192
|
+
'FAN_LEVEL' FanLevel no
|
|
34193
|
+
'FAN_MODE' FanMode no
|
|
34194
|
+
'FOV' FOV no
|
|
34195
|
+
'FRAME_ISP' FRAME_ISP Kandao FrameISP
|
|
34196
|
+
'GAINMAP0' GainMap0 no
|
|
34197
|
+
'GAINMAP1' GainMap1 no
|
|
34198
|
+
'GPS' GPS Kandao GPS
|
|
34199
|
+
Kandao GPS
|
|
34200
|
+
'GPSX' GPSX Kandao GPSX
|
|
34201
|
+
'GPS_CAPTIME' GPSCaptureTime no
|
|
34202
|
+
'HDR' HDR no
|
|
34203
|
+
'HW_VER' HardwareVersion no
|
|
34204
|
+
'IMAGE_STYLE' ImageStyle no
|
|
34205
|
+
'IMU' IMU Kandao IMU
|
|
34206
|
+
'INFO' Info no
|
|
34207
|
+
'INPUT_INSERT' InputInsert no
|
|
34208
|
+
'INTERVAL' Interval no
|
|
34209
|
+
'ISO' ISO no
|
|
34210
|
+
'ISP' ISP no
|
|
34211
|
+
'ISP_VER' ISPVersion no
|
|
34212
|
+
'LENS' LensData no
|
|
34213
|
+
'LENS_INDEX' LensIndex no
|
|
34214
|
+
'LENS_OTP_ID0' Lens0OTP_ID no
|
|
34215
|
+
'LENS_OTP_ID1' Lens1OTP_ID no
|
|
34216
|
+
'LENS_SN0' Lens0SerialNumber no
|
|
34217
|
+
'LENS_SN1' Lens1SerialNumber no
|
|
34218
|
+
'NEED_LSC' NeedLDSC no
|
|
34219
|
+
'OUTPUT_INSERT' OutputInsert no
|
|
34220
|
+
'PRODUCT' Model no
|
|
34221
|
+
'PROJECT' Project no
|
|
34222
|
+
'PROJECTION' Projection no
|
|
34223
|
+
'PR_VER' ProductVersion no
|
|
34224
|
+
'PTS' PresentationTimeStamp no
|
|
34225
|
+
'PTS_UNIT' TimeStampUnit no
|
|
34226
|
+
'SHUTTER' Shutter no
|
|
34227
|
+
'SN' SerialNumber no
|
|
34228
|
+
'STEREO' Stereo no
|
|
34229
|
+
'STITCHED' Stitched no
|
|
34230
|
+
'SW_VER' SoftwareVersion no
|
|
34231
|
+
'TOTAL_FRAME' TotalFrames no
|
|
34232
|
+
'TOTAL_TIME_MS' TotalTime no
|
|
34233
|
+
'VIDEO_BITRATE' VideoBitrate no
|
|
34234
|
+
'VIDEO_CAPTIME' VideoCaptureTime no
|
|
34235
|
+
'VIDEO_CODECTYPE' VideoCodec no
|
|
34236
|
+
'VIDEO_FORMAT' VideoFormat no
|
|
34237
|
+
'VIDEO_RESOLUTION' VideoResolution no
|
|
34238
|
+
'YAW' Yaw no
|
|
34239
|
+
|
|
34240
|
+
=head3 Kandao FrameISP Tags
|
|
34241
|
+
|
|
34242
|
+
Index1 Tag Name Writable
|
|
34243
|
+
------ -------- --------
|
|
34244
|
+
0 TimeStamp? no
|
|
34245
|
+
4 FrameISP_4? no
|
|
34246
|
+
|
|
34247
|
+
=head3 Kandao GPS Tags
|
|
34248
|
+
|
|
34249
|
+
These tags are in the family 1 KVAR group instead of a GPS group to allow
|
|
34250
|
+
them to be distinguished from the duplicate GPS tags in the GPSX table.
|
|
34251
|
+
|
|
34252
|
+
Index1 Tag Name Writable
|
|
34253
|
+
------ -------- --------
|
|
34254
|
+
0 TimeStamp no
|
|
34255
|
+
4 GPSLatitude no
|
|
34256
|
+
12 GPSLongitude no
|
|
34257
|
+
20 GPSAltitude no
|
|
34258
|
+
|
|
34259
|
+
=head3 Kandao GPSX Tags
|
|
34260
|
+
|
|
34261
|
+
These tags are in the family 1 GPS group. They are duplicates of the tags
|
|
34262
|
+
in the Kandao GPS table with the addition of GPSDateTime.
|
|
34263
|
+
|
|
34264
|
+
Index1 Tag Name Writable
|
|
34265
|
+
------ -------- --------
|
|
34266
|
+
0 TimeStamp no
|
|
34267
|
+
4 GPSDateTime no
|
|
34268
|
+
12 GPSLatitude no
|
|
34269
|
+
20 GPSLongitude no
|
|
34270
|
+
28 GPSAltitude no
|
|
34271
|
+
|
|
34272
|
+
=head3 Kandao IMU Tags
|
|
34273
|
+
|
|
34274
|
+
Index1 Tag Name Writable
|
|
34275
|
+
------ -------- --------
|
|
34276
|
+
0 TimeStamp no
|
|
34277
|
+
8 Gyroscope no
|
|
34278
|
+
14 Accelerometer no
|
|
34279
|
+
|
|
34140
34280
|
=head2 Matroska Tags
|
|
34141
34281
|
|
|
34142
34282
|
The following tags are extracted from Matroska multimedia container files.
|
|
@@ -34379,112 +34519,120 @@ for the specification.
|
|
|
34379
34519
|
Standardized Matroska tags, stored in a SimpleTag structure (see
|
|
34380
34520
|
L<https://www.matroska.org/technical/tagging.html>).
|
|
34381
34521
|
|
|
34382
|
-
Tag ID
|
|
34383
|
-
------
|
|
34384
|
-
'ACCOMPANIMENT'
|
|
34385
|
-
'ACTOR'
|
|
34386
|
-
'ADDRESS'
|
|
34387
|
-
'ARRANGER'
|
|
34388
|
-
'ARTIST'
|
|
34389
|
-
'ART_DIRECTOR'
|
|
34390
|
-
'ASSISTANT_DIRECTOR'
|
|
34391
|
-
'BARCODE'
|
|
34392
|
-
'BPM'
|
|
34393
|
-
'BPS'
|
|
34394
|
-
'CATALOG_NUMBER'
|
|
34395
|
-
'CHARACTER'
|
|
34396
|
-
'CHOREGRAPHER'
|
|
34397
|
-
'COMMENT'
|
|
34398
|
-
'COMPOSER'
|
|
34399
|
-
'COMPOSER_NATIONALITY'
|
|
34400
|
-
'COMPOSITION_LOCATION'
|
|
34401
|
-
'CONDUCTOR'
|
|
34402
|
-
'CONTENT_TYPE'
|
|
34403
|
-
'COPRODUCER'
|
|
34404
|
-
'COPYRIGHT'
|
|
34405
|
-
'COSTUME_DESIGNER'
|
|
34406
|
-
'COUNTRY'
|
|
34407
|
-
'DATE_DIGITIZED'
|
|
34408
|
-
'DATE_ENCODED'
|
|
34409
|
-
'DATE_PURCHASED'
|
|
34410
|
-
'DATE_RECORDED'
|
|
34411
|
-
'DATE_RELEASED'
|
|
34412
|
-
'DATE_TAGGED'
|
|
34413
|
-
'DATE_WRITTEN'
|
|
34414
|
-
'DESCRIPTION'
|
|
34415
|
-
'DIRECTOR'
|
|
34522
|
+
Tag ID Tag Name Writable
|
|
34523
|
+
------ -------- --------
|
|
34524
|
+
'ACCOMPANIMENT' Accompaniment no
|
|
34525
|
+
'ACTOR' Actor no
|
|
34526
|
+
'ADDRESS' Address no
|
|
34527
|
+
'ARRANGER' Arranger no
|
|
34528
|
+
'ARTIST' Artist no
|
|
34529
|
+
'ART_DIRECTOR' ArtDirector no
|
|
34530
|
+
'ASSISTANT_DIRECTOR' AssistantDirector no
|
|
34531
|
+
'BARCODE' Barcode no
|
|
34532
|
+
'BPM' BPM no
|
|
34533
|
+
'BPS' BPS no
|
|
34534
|
+
'CATALOG_NUMBER' CatalogNumber no
|
|
34535
|
+
'CHARACTER' Character no
|
|
34536
|
+
'CHOREGRAPHER' Choregrapher no
|
|
34537
|
+
'COMMENT' Comment no
|
|
34538
|
+
'COMPOSER' Composer no
|
|
34539
|
+
'COMPOSER_NATIONALITY' ComposerNationality no
|
|
34540
|
+
'COMPOSITION_LOCATION' CompositionLocation no
|
|
34541
|
+
'CONDUCTOR' Conductor no
|
|
34542
|
+
'CONTENT_TYPE' ContentType no
|
|
34543
|
+
'COPRODUCER' Coproducer no
|
|
34544
|
+
'COPYRIGHT' Copyright no
|
|
34545
|
+
'COSTUME_DESIGNER' CostumeDesigner no
|
|
34546
|
+
'COUNTRY' Country no
|
|
34547
|
+
'DATE_DIGITIZED' CreateDate no
|
|
34548
|
+
'DATE_ENCODED' DateEncoded no
|
|
34549
|
+
'DATE_PURCHASED' DatePurchased no
|
|
34550
|
+
'DATE_RECORDED' DateTimeOriginal no
|
|
34551
|
+
'DATE_RELEASED' DateReleased no
|
|
34552
|
+
'DATE_TAGGED' DateTagged no
|
|
34553
|
+
'DATE_WRITTEN' DateWritten no
|
|
34554
|
+
'DESCRIPTION' Description no
|
|
34555
|
+
'DIRECTOR' Director no
|
|
34416
34556
|
'DIRECTOR_OF_PHOTOGRAPHY'
|
|
34417
|
-
|
|
34418
|
-
'DISTRIBUTED_BY'
|
|
34419
|
-
'
|
|
34420
|
-
'
|
|
34421
|
-
'
|
|
34422
|
-
'
|
|
34423
|
-
'
|
|
34424
|
-
'
|
|
34425
|
-
'
|
|
34426
|
-
'
|
|
34427
|
-
'
|
|
34428
|
-
'
|
|
34429
|
-
'
|
|
34430
|
-
'
|
|
34431
|
-
'
|
|
34432
|
-
'
|
|
34433
|
-
'
|
|
34434
|
-
'
|
|
34435
|
-
'
|
|
34436
|
-
'
|
|
34437
|
-
'
|
|
34438
|
-
'
|
|
34439
|
-
'
|
|
34440
|
-
'
|
|
34441
|
-
'
|
|
34442
|
-
'
|
|
34443
|
-
'
|
|
34444
|
-
'
|
|
34445
|
-
'
|
|
34446
|
-
'
|
|
34447
|
-
'
|
|
34448
|
-
'
|
|
34449
|
-
'
|
|
34450
|
-
'
|
|
34451
|
-
'
|
|
34452
|
-
'
|
|
34453
|
-
'
|
|
34454
|
-
'
|
|
34455
|
-
'
|
|
34456
|
-
'
|
|
34457
|
-
'
|
|
34458
|
-
'
|
|
34459
|
-
'
|
|
34460
|
-
'
|
|
34461
|
-
'
|
|
34462
|
-
'
|
|
34463
|
-
'
|
|
34464
|
-
'
|
|
34465
|
-
'
|
|
34466
|
-
'
|
|
34467
|
-
'
|
|
34468
|
-
'
|
|
34469
|
-
'
|
|
34470
|
-
'
|
|
34471
|
-
'
|
|
34472
|
-
'
|
|
34473
|
-
'
|
|
34474
|
-
'
|
|
34475
|
-
'
|
|
34476
|
-
'
|
|
34477
|
-
'
|
|
34478
|
-
'
|
|
34479
|
-
'
|
|
34480
|
-
'
|
|
34481
|
-
'
|
|
34482
|
-
'
|
|
34483
|
-
'
|
|
34484
|
-
'
|
|
34485
|
-
'
|
|
34486
|
-
'
|
|
34487
|
-
'
|
|
34557
|
+
DirectorOfPhotography no
|
|
34558
|
+
'DISTRIBUTED_BY' DistributedBy no
|
|
34559
|
+
'DURATION' Duration no
|
|
34560
|
+
'EDITED_BY' EditedBy no
|
|
34561
|
+
'EMAIL' Email no
|
|
34562
|
+
'ENCODED_BY' EncodedBy no
|
|
34563
|
+
'ENCODER' Encoder no
|
|
34564
|
+
'ENCODER_SETTINGS' EncoderSettings no
|
|
34565
|
+
'EXECUTIVE_PRODUCER' ExecutiveProducer no
|
|
34566
|
+
'FAX' FAX no
|
|
34567
|
+
'FPS' FPS no
|
|
34568
|
+
'GENRE' Genre no
|
|
34569
|
+
'IMDB' IMDB no
|
|
34570
|
+
'INITIAL_KEY' InitialKey no
|
|
34571
|
+
'INSTRUMENTS' Instruments no+
|
|
34572
|
+
'ISBN' ISBN no
|
|
34573
|
+
'ISRC' ISRC no
|
|
34574
|
+
'KEYWORDS' Keywords no+
|
|
34575
|
+
'LABEL' Label no
|
|
34576
|
+
'LABEL_CODE' LabelCode no
|
|
34577
|
+
'LAW_RATING' LawRating no
|
|
34578
|
+
'LCCN' Lccn no
|
|
34579
|
+
'LEAD_PERFORMER' LeadPerformer no
|
|
34580
|
+
'LICENSE' License no
|
|
34581
|
+
'LYRICIST' Lyricist no
|
|
34582
|
+
'LYRICS' Lyrics no
|
|
34583
|
+
'MASTERED_BY' MasteredBy no
|
|
34584
|
+
'MCDI' MCDI no
|
|
34585
|
+
'MEASURE' Measure no
|
|
34586
|
+
'MIXED_BY' MixedBy no
|
|
34587
|
+
'MOOD' Mood no
|
|
34588
|
+
'NUMBER_OF_BYTES' NumberOfBytes no
|
|
34589
|
+
'NUMBER_OF_FRAMES' NumberOfFrames no
|
|
34590
|
+
'ORIGINAL' Original no
|
|
34591
|
+
'ORIGINAL_MEDIA_TYPE' OriginalMediaType no
|
|
34592
|
+
'PART_NUMBER' PartNumber no
|
|
34593
|
+
'PART_OFFSET' PartOffset no
|
|
34594
|
+
'PERIOD' Period no
|
|
34595
|
+
'PHONE' Phone no
|
|
34596
|
+
'PLAY_COUNTER' PlayCounter no
|
|
34597
|
+
'PRODUCER' Producer no
|
|
34598
|
+
'PRODUCTION_COPYRIGHT' ProductionCopyright no
|
|
34599
|
+
'PRODUCTION_DESIGNER' ProductionDesigner no
|
|
34600
|
+
'PRODUCTION_STUDIO' ProductionStudio no
|
|
34601
|
+
'PUBLISHER' Publisher no
|
|
34602
|
+
'PURCHASE_CURRENCY' PurchaseCurrency no
|
|
34603
|
+
'PURCHASE_INFO' PurchaseInfo no
|
|
34604
|
+
'PURCHASE_ITEM' PurchaseItem no
|
|
34605
|
+
'PURCHASE_OWNER' PurchaseOwner no
|
|
34606
|
+
'PURCHASE_PRICE' PurchasePrice no
|
|
34607
|
+
'RATING' Rating no
|
|
34608
|
+
'RECORDING_LOCATION' RecordingLocation no
|
|
34609
|
+
'REMIXED_BY' RemixedBy no
|
|
34610
|
+
'REPLAYGAIN_GAIN' ReplaygainGain no
|
|
34611
|
+
'REPLAYGAIN_PEAK' ReplaygainPeak no
|
|
34612
|
+
'SAMPLE' Sample no
|
|
34613
|
+
'SCREENPLAY_BY' ScreenplayBy no
|
|
34614
|
+
'SORT_WITH' SortWith no
|
|
34615
|
+
'SOUND_ENGINEER' SoundEngineer no
|
|
34616
|
+
'SPHERICAL-VIDEO' SphericalVideoXML XMP
|
|
34617
|
+
'SUBJECT' Subject no
|
|
34618
|
+
'SUBTITLE' Subtitle no
|
|
34619
|
+
'SUMMARY' Summary no
|
|
34620
|
+
'SYNOPSIS' Synopsis no
|
|
34621
|
+
'TERMS_OF_USE' TermsOfUse no
|
|
34622
|
+
'THANKS_TO' ThanksTo no
|
|
34623
|
+
'TITLE' Title no
|
|
34624
|
+
'TMDB' TMDB no
|
|
34625
|
+
'TOTAL_PARTS' TotalParts no
|
|
34626
|
+
'TUNING' Tuning no
|
|
34627
|
+
'TVDB' TVDB no
|
|
34628
|
+
'URL' URL no
|
|
34629
|
+
'WRITTEN_BY' WrittenBy no
|
|
34630
|
+
'_STATISTICS_TAGS' StatisticsTags no
|
|
34631
|
+
'_STATISTICS_WRITING_APP'
|
|
34632
|
+
StatisticsWritingApp no
|
|
34633
|
+
'_STATISTICS_WRITING_DATE_UTC'
|
|
34634
|
+
StatisticsWritingDateUTC no
|
|
34635
|
+
'spherical-video' SphericalVideoXML XMP
|
|
34488
34636
|
|
|
34489
34637
|
=head2 MOI Tags
|
|
34490
34638
|
|
|
@@ -41736,7 +41884,7 @@ index the file after a metadata change.
|
|
|
41736
41884
|
|
|
41737
41885
|
The extra tags provide extra features or extra information extracted or
|
|
41738
41886
|
generated by ExifTool that is not directly associated with another tag
|
|
41739
|
-
group. The B<Group> column lists the family 1 group name when reading.
|
|
41887
|
+
group. The B<Group> column lists the family 1 group name when reading.
|
|
41740
41888
|
Tags with a "-" in this column are write-only.
|
|
41741
41889
|
|
|
41742
41890
|
Tags in the family 1 "System" group are referred to as "pseudo" tags because
|
|
@@ -23,7 +23,7 @@ $VERSION = '1.05';
|
|
|
23
23
|
GROUPS => { 0 => 'File', 1 => 'File', 2 => 'Document' },
|
|
24
24
|
NOTES => q{
|
|
25
25
|
Although basic text files contain no metadata, the following tags are
|
|
26
|
-
determined from a simple analysis of the data in TXT and CSV files.
|
|
26
|
+
determined from a simple analysis of the data in TXT and CSV files.
|
|
27
27
|
Statistics are generated only for 8-bit encodings, but the L<FastScan|../ExifTool.html#FastScan> (-fast)
|
|
28
28
|
option may be used to limit processing to the first 64 KiB in which case
|
|
29
29
|
some tags are not produced. To avoid long processing delays, ExifTool will
|
|
@@ -96,7 +96,7 @@ sub ProcessVivo($$)
|
|
|
96
96
|
$len -= $start;
|
|
97
97
|
$buff = substr($buff, $start);
|
|
98
98
|
}
|
|
99
|
-
# set trailer position and length
|
|
99
|
+
# set trailer position and length
|
|
100
100
|
@$dirInfo{'DataPos','DirLen'} = ($pos, $len);
|
|
101
101
|
|
|
102
102
|
# let ProcessTrailers copy or delete this trailer
|
|
@@ -95,6 +95,11 @@ my %emptyMeta = (
|
|
|
95
95
|
hdlr => 'Handler', 'keys' => 'Keys', lang => 'Language', ctry => 'Country', free => 'Free',
|
|
96
96
|
);
|
|
97
97
|
|
|
98
|
+
# starting word for Keys tags which use a full tag ID
|
|
99
|
+
my %fullKeysID = (
|
|
100
|
+
com => 1, xiaomi => 1, samsung => 1,
|
|
101
|
+
);
|
|
102
|
+
|
|
98
103
|
# lookup for CTBO ID number based on uuid for Canon CR3 files
|
|
99
104
|
my %ctboID = (
|
|
100
105
|
"\xbe\x7a\xcf\xcb\x97\xa9\x42\xe8\x9c\x71\x99\x94\x91\xe3\xaf\xac" => 1, # XMP
|
|
@@ -172,7 +177,7 @@ sub ConvInvISO6709($)
|
|
|
172
177
|
# requires at least 3 digits after the decimal point
|
|
173
178
|
# (and as of Apr 2021, Google Photos doesn't accept coordinats
|
|
174
179
|
# with more than 5 digits after the decimal place:
|
|
175
|
-
# https://exiftool.org/forum/index.php?topic=11055.msg67171#msg67171
|
|
180
|
+
# https://exiftool.org/forum/index.php?topic=11055.msg67171#msg67171
|
|
176
181
|
# still a problem Apr 2024: https://exiftool.org/forum/index.php?msg=85761)
|
|
177
182
|
my @fmt = ('%s%02d.%s%s','%s%03d.%s%s','%s%d.%s%s');
|
|
178
183
|
my @limit = (90,180);
|
|
@@ -461,7 +466,10 @@ sub WriteKeys($$$)
|
|
|
461
466
|
next unless $$nvHash{IsCreating} and $et->IsOverwriting($nvHash) and
|
|
462
467
|
defined $et->GetNewValue($nvHash);
|
|
463
468
|
# add new entry to 'keys' data
|
|
464
|
-
my $val = $id
|
|
469
|
+
my $val = $id;
|
|
470
|
+
unless ($val =~ /^(.*?)\./ and $fullKeysID{$1}) {
|
|
471
|
+
$val = "com.apple.quicktime.$val";
|
|
472
|
+
}
|
|
465
473
|
$newData .= Set32u(8 + length($val)) . 'mdta' . $val;
|
|
466
474
|
$et->VPrint(1, "$$et{INDENT}\[adding $keysGrp entry $newIndex '${id}']\n");
|
|
467
475
|
$add{$newIndex++} = $tagInfo;
|
|
@@ -1304,8 +1304,9 @@ sub SetNewValuesFromFile($$;@)
|
|
|
1304
1304
|
IgnoreTags ImageHashType KeepUTCTime Lang LargeFileSupport
|
|
1305
1305
|
LigoGPSScale ListItem ListSep MDItemTags MissingTagValue NoPDFList
|
|
1306
1306
|
NoWarning Password PrintConv QuickTimeUTC RequestTags SaveFormat
|
|
1307
|
-
SavePath ScanForXMP StructFormat SystemTags TimeZone
|
|
1308
|
-
Validate WindowsLongPath WindowsWideFile XAttrTags
|
|
1307
|
+
SavePath ScanForXMP StructFormat SystemTags SystemTimeRes TimeZone
|
|
1308
|
+
Unknown UserParam Validate WindowsLongPath WindowsWideFile XAttrTags
|
|
1309
|
+
XMPAutoConv))
|
|
1309
1310
|
{
|
|
1310
1311
|
$srcExifTool->Options($_ => $$options{$_});
|
|
1311
1312
|
}
|
|
@@ -2831,8 +2832,9 @@ sub GetAllGroups($;$)
|
|
|
2831
2832
|
my %allGroups;
|
|
2832
2833
|
# add family 1 groups not in tables
|
|
2833
2834
|
no warnings; # (avoid "possible attempt to put comments in qw()")
|
|
2835
|
+
# start with family 1 groups that are missing from the tables
|
|
2834
2836
|
$family == 1 and map { $allGroups{$_} = 1 } qw(Garmin AudioItemList AudioUserData
|
|
2835
|
-
VideoItemList VideoUserData Track#Keys Track#ItemList Track#UserData);
|
|
2837
|
+
VideoItemList VideoUserData Track#Keys Track#ItemList Track#UserData KFIX);
|
|
2836
2838
|
use warnings;
|
|
2837
2839
|
# loop through all tag tables and get all group names
|
|
2838
2840
|
while (@tableNames) {
|
|
@@ -3792,7 +3794,7 @@ sub GetGeolocateTags($$;$)
|
|
|
3792
3794
|
'xmp-exif' => [ qw(GPSLatitude GPSLongitude) ],
|
|
3793
3795
|
'itemlist' => [ 'GPSCoordinates' ],
|
|
3794
3796
|
'userdata' => [ 'GPSCoordinates' ],
|
|
3795
|
-
# more general groups not in this lookup: XMP and QuickTime
|
|
3797
|
+
# more general groups not in this lookup: XMP and QuickTime
|
|
3796
3798
|
);
|
|
3797
3799
|
my (@tags, $grp);
|
|
3798
3800
|
# set specific City and GPS tags
|
|
@@ -3845,7 +3847,9 @@ sub GetNewValueHash($$;$$$$)
|
|
|
3845
3847
|
# QuickTime and All are special cases because all group1 tags may be updated at once
|
|
3846
3848
|
last if $$nvHash{WriteGroup} =~ /^(QuickTime|All)$/;
|
|
3847
3849
|
# replace existing entry if WriteGroup is 'All' (avoids confusion of forum10349)
|
|
3848
|
-
last if $$tagInfo{WriteGroup} and $$tagInfo{WriteGroup} eq 'All';
|
|
3850
|
+
#last if $$tagInfo{WriteGroup} and $$tagInfo{WriteGroup} eq 'All'; # (didn't work for forum17770)
|
|
3851
|
+
# forum17770 patch (also handles case where "EXIF" is specified as a write group)
|
|
3852
|
+
last if $writeGroup eq 'All' or $$nvHash{WriteGroup} eq 'EXIF' and $writeGroup =~ /IFD/;
|
|
3849
3853
|
$nvHash = $$nvHash{Next};
|
|
3850
3854
|
}
|
|
3851
3855
|
}
|
|
@@ -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.76';
|
|
54
54
|
@ISA = qw(Exporter);
|
|
55
55
|
@EXPORT_OK = qw(EscapeXML UnescapeXML);
|
|
56
56
|
|
|
@@ -1865,6 +1865,8 @@ my %sPantryItem = (
|
|
|
1865
1865
|
What => { },
|
|
1866
1866
|
},
|
|
1867
1867
|
},
|
|
1868
|
+
# more new stuff
|
|
1869
|
+
PointColors => { List => 'Seq' },
|
|
1868
1870
|
);
|
|
1869
1871
|
|
|
1870
1872
|
# Tiff namespace properties (tiff)
|
|
@@ -4256,7 +4258,7 @@ sub ProcessXMP($$;$)
|
|
|
4256
4258
|
# check leading BOM (may indicate double-encoded UTF)
|
|
4257
4259
|
pos($$dataPt) = $dirStart;
|
|
4258
4260
|
if ($$dataPt =~ /\G((\0\0)?\xfe\xff|\xff\xfe(\0\0)?|\xef\xbb\xbf)\0*<\0*\?\0*x\0*p\0*a\0*c\0*k\0*e\0*t/g) {
|
|
4259
|
-
$double = $1
|
|
4261
|
+
$double = $1;
|
|
4260
4262
|
} else {
|
|
4261
4263
|
# handle UTF-16/32 XML
|
|
4262
4264
|
pos($$dataPt) = $dirStart;
|
|
@@ -381,7 +381,7 @@ sub ProcessRAR($$)
|
|
|
381
381
|
# skip over all headers except file or service header
|
|
382
382
|
next unless $headType == 2 or $headType == 3;
|
|
383
383
|
$et->VerboseDir('RAR5 file', undef, $headSize) if $headType == 2;
|
|
384
|
-
|
|
384
|
+
|
|
385
385
|
my $headFlag = ReadULEB($rafHdr);
|
|
386
386
|
ReadULEB($rafHdr); # skip extraSize
|
|
387
387
|
my $dataSize;
|