exiftool_vendored 13.42.0 → 13.44.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 +30 -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/exiftool +85 -80
- data/bin/lib/Image/ExifTool/Apple.pm +0 -1
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +2 -2
- data/bin/lib/Image/ExifTool/Canon.pm +23 -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 +1 -0
- 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 +1 -1
- 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/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 +5 -5
- data/bin/lib/Image/ExifTool/NikonCustom.pm +5 -6
- 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/PhaseOne.pm +17 -1
- data/bin/lib/Image/ExifTool/Plot.pm +2 -2
- data/bin/lib/Image/ExifTool/Protobuf.pm +2 -2
- 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 +13 -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 +257 -110
- 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 +3 -2
- data/bin/lib/Image/ExifTool/XMP.pm +4 -2
- data/bin/lib/Image/ExifTool/ZIP.pm +1 -1
- data/bin/lib/Image/ExifTool.pm +5 -2
- data/bin/lib/Image/ExifTool.pod +79 -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
|
|
@@ -1345,7 +1345,7 @@ or "Rights-en-US"). (See L<http://www.ietf.org/rfc/rfc3066.txt> for the RFC
|
|
|
1345
1345
|
3066 specification.) A C<lang-alt> tag with no language code accesses the
|
|
1346
1346
|
"x-default" language, but causes other languages for this tag to be deleted
|
|
1347
1347
|
when writing. The "x-default" language code may be specified when writing
|
|
1348
|
-
to preserve other existing languages (eg. "XMP-dc:Description-x-default").
|
|
1348
|
+
to preserve other existing languages (eg. "XMP-dc:Description-x-default").
|
|
1349
1349
|
When reading, "x-default" is not specified.
|
|
1350
1350
|
|
|
1351
1351
|
The XMP tags are organized according to schema B<Namespace> in the following
|
|
@@ -2595,6 +2595,7 @@ These tags belong to the ExifTool XMP-crd family 1 group.
|
|
|
2595
2595
|
PerspectiveVertical integer/
|
|
2596
2596
|
PerspectiveX real/
|
|
2597
2597
|
PerspectiveY real/
|
|
2598
|
+
PointColors string/+
|
|
2598
2599
|
PostCropVignetteAmount integer/
|
|
2599
2600
|
PostCropVignetteFeather integer/
|
|
2600
2601
|
PostCropVignetteHighlightContrast integer/
|
|
@@ -3973,6 +3974,7 @@ These tags belong to the ExifTool XMP-crs family 1 group.
|
|
|
3973
3974
|
PerspectiveVertical integer
|
|
3974
3975
|
PerspectiveX real
|
|
3975
3976
|
PerspectiveY real
|
|
3977
|
+
PointColors string+
|
|
3976
3978
|
PostCropVignetteAmount integer
|
|
3977
3979
|
PostCropVignetteFeather integer
|
|
3978
3980
|
PostCropVignetteHighlightContrast integer
|
|
@@ -7432,6 +7434,7 @@ boot, not including standby time.
|
|
|
7432
7434
|
CanonCameraInfo1200D Canon CameraInfo60D
|
|
7433
7435
|
CanonCameraInfoR6 Canon CameraInfoR6
|
|
7434
7436
|
CanonCameraInfoR6m2 Canon CameraInfoR6m2
|
|
7437
|
+
CanonCameraInfoR6m3 Canon CameraInfoR6m3
|
|
7435
7438
|
CanonCameraInfoG5XII Canon CameraInfoG5XII
|
|
7436
7439
|
CanonCameraInfoPowerShot Canon CameraInfoPowerShot
|
|
7437
7440
|
CanonCameraInfoPowerShot2 Canon CameraInfoPowerShot2
|
|
@@ -8438,6 +8441,14 @@ CameraInfo tags for the EOS R6 Mark II.
|
|
|
8438
8441
|
------ -------- --------
|
|
8439
8442
|
3369 ShutterCount int32u
|
|
8440
8443
|
|
|
8444
|
+
=head3 Canon CameraInfoR6m3 Tags
|
|
8445
|
+
|
|
8446
|
+
CameraInfo tags for the EOS R6 Mark II.
|
|
8447
|
+
|
|
8448
|
+
Index1 Tag Name Writable
|
|
8449
|
+
------ -------- --------
|
|
8450
|
+
2157 ShutterCount int32u
|
|
8451
|
+
|
|
8441
8452
|
=head3 Canon CameraInfoG5XII Tags
|
|
8442
8453
|
|
|
8443
8454
|
CameraInfo tags for the PowerShot G5 X Mark II.
|
|
@@ -20132,6 +20143,10 @@ These tags are used in Panasonic/Leica cameras.
|
|
|
20132
20143
|
0x00e8 MinimumISO int32u
|
|
20133
20144
|
0x00e9 AFSubjectDetection int16u
|
|
20134
20145
|
0x00ee DynamicRangeBoost int16u
|
|
20146
|
+
0x00f1 LUT1Name string
|
|
20147
|
+
0x00f3 LUT1Opacity int8u
|
|
20148
|
+
0x00f4 LUT2Name string
|
|
20149
|
+
0x00f5 LUT2Opacity int8u
|
|
20135
20150
|
0x0e00 PrintIM PrintIM
|
|
20136
20151
|
0x2003 TimeInfo Panasonic TimeInfo
|
|
20137
20152
|
0x8000 MakerNoteVersion undef
|
|
@@ -21403,6 +21418,10 @@ These tags are extracted from the maker notes of Phase One images.
|
|
|
21403
21418
|
0x0222 SplitColumn int32s
|
|
21404
21419
|
0x0223 BlackLevelData int16u[n]
|
|
21405
21420
|
0x0226 ColorMatrix2 float[9]
|
|
21421
|
+
0x0262 SequenceID string
|
|
21422
|
+
0x0263 SequenceKind int32s
|
|
21423
|
+
0x0264 SequenceFrameNumber int32s
|
|
21424
|
+
0x0265 SequenceFrameCount int32s
|
|
21406
21425
|
0x0267 AFAdjustment float
|
|
21407
21426
|
0x0301 FirmwareVersions string
|
|
21408
21427
|
0x0400 ShutterSpeedValue float
|
|
@@ -21934,6 +21953,7 @@ HEIC images from models such as the S10+.
|
|
|
21934
21953
|
SurroundShotVideo no
|
|
21935
21954
|
SurroundShotVideoName no
|
|
21936
21955
|
TimeStamp no
|
|
21956
|
+
VideoEditedTimeZone no
|
|
21937
21957
|
|
|
21938
21958
|
=head3 Samsung DualShotExtra Tags
|
|
21939
21959
|
|
|
@@ -23477,6 +23497,7 @@ substitution cipher, but the deciphered values are listed below.
|
|
|
23477
23497
|
------ -------- --------
|
|
23478
23498
|
0 SonyMaxAperture int8u
|
|
23479
23499
|
1 SonyMinAperture int8u
|
|
23500
|
+
10 ShutterCount int32u
|
|
23480
23501
|
32 Shutter int16u[3]
|
|
23481
23502
|
49 FlashStatus int8u
|
|
23482
23503
|
50 ShutterCount int32u
|
|
@@ -30840,6 +30861,9 @@ for the official QuickTime specification.
|
|
|
30840
30861
|
'gsen' GSensor QuickTime Stream
|
|
30841
30862
|
'inst' Insta360Info QuickTime Stream
|
|
30842
30863
|
'junk' Junk? no
|
|
30864
|
+
'kfix' KFIX Kandao
|
|
30865
|
+
'kstb' KSTB Kandao
|
|
30866
|
+
'kvar' KVAR Kandao
|
|
30843
30867
|
'mdat' MediaData? no
|
|
30844
30868
|
'mdat-offset' MediaDataOffset no
|
|
30845
30869
|
'mdat-size' MediaDataSize no
|
|
@@ -30883,7 +30907,7 @@ for the official QuickTime specification.
|
|
|
30883
30907
|
The tags below are extracted from timed metadata in QuickTime and other
|
|
30884
30908
|
formats of video files when the ExtractEmbedded option is used. Although
|
|
30885
30909
|
most of these tags are combined into the single table below, ExifTool
|
|
30886
|
-
currently reads
|
|
30910
|
+
currently reads 117 different types of timed GPS metadata from video files.
|
|
30887
30911
|
|
|
30888
30912
|
Tag ID Tag Name Writable
|
|
30889
30913
|
------ -------- --------
|
|
@@ -31060,7 +31084,7 @@ specification.
|
|
|
31060
31084
|
This directory contains a list of key names which are used to decode tags
|
|
31061
31085
|
written by the "mdta" handler. Also in this table are a few tags found in
|
|
31062
31086
|
timed metadata that are not yet writable by ExifTool. The prefix of
|
|
31063
|
-
"com.apple.quicktime." has been removed from
|
|
31087
|
+
"com.apple.quicktime." has been removed from most TagID's below. These tags
|
|
31064
31088
|
support alternate languages in the same way as the
|
|
31065
31089
|
L<ItemList|Image::ExifTool::TagNames/QuickTime ItemList Tags> tags. Note
|
|
31066
31090
|
that by default,
|
|
@@ -31144,6 +31168,7 @@ changed via the config file.
|
|
|
31144
31168
|
'producer' Producer yes
|
|
31145
31169
|
'publisher' Publisher yes
|
|
31146
31170
|
'rating.user' UserRating yes
|
|
31171
|
+
'samsung.android.utc_offset' AndroidTimeZone yes
|
|
31147
31172
|
'scene-illuminance' SceneIlluminance no
|
|
31148
31173
|
'software' Software yes
|
|
31149
31174
|
'still-image-time' StillImageTime no
|
|
@@ -31563,6 +31588,7 @@ and are not currently writable.
|
|
|
31563
31588
|
'colr' ICC_Profile ICC_Profile
|
|
31564
31589
|
ColorRepresentation QuickTime ColorRep
|
|
31565
31590
|
'hvcC' HEVCConfiguration QuickTime HEVCConfig
|
|
31591
|
+
'imir' Mirroring int8u!
|
|
31566
31592
|
'irot' Rotation int8u!
|
|
31567
31593
|
'ispe' ImageSpatialExtent no
|
|
31568
31594
|
'pasp' PixelAspectRatio int32u[2]!
|
|
@@ -34137,6 +34163,119 @@ Other tags are extracted with the Unknown option.
|
|
|
34137
34163
|
------ -------- --------
|
|
34138
34164
|
[no tags known]
|
|
34139
34165
|
|
|
34166
|
+
=head2 Kandao Tags
|
|
34167
|
+
|
|
34168
|
+
Tags extracted from Kandao KVAR files and the 'kvar', 'kfix' and 'kstb'
|
|
34169
|
+
atoms in Kandao MP4 videos, and have a family 1 group name of KVAR, KFIX or
|
|
34170
|
+
KSTB depending on their location.
|
|
34171
|
+
|
|
34172
|
+
Tag ID Tag Name Writable
|
|
34173
|
+
------ -------- --------
|
|
34174
|
+
'AE_METERING' AEMetering no
|
|
34175
|
+
'AE_MODE' AEMode no
|
|
34176
|
+
'AF_FN' AF_FN no
|
|
34177
|
+
'AUDIO_GAIN' AudioGain no
|
|
34178
|
+
'AWB_CCT' AWB_CCT no
|
|
34179
|
+
'AWB_MODE' AWBMode no
|
|
34180
|
+
'BAT_TEMP' BatteryTemperature no
|
|
34181
|
+
'CAPTURE_MODE' CaptureMode no
|
|
34182
|
+
'CENTER_SHIFT' CenterShift no
|
|
34183
|
+
'COVER_MODE' CoverMode no
|
|
34184
|
+
'CPU_TEMP' CPUTemperature no
|
|
34185
|
+
'CUSTOMIZED' Customized no
|
|
34186
|
+
'DASHBOARD' Dashboard no
|
|
34187
|
+
'DISTORTION' Distortion no
|
|
34188
|
+
'DYNAMIC_RANGE' DynamicRange no
|
|
34189
|
+
'EV' EV no
|
|
34190
|
+
'EXP' Exp no
|
|
34191
|
+
'FAN_LEVEL' FanLevel no
|
|
34192
|
+
'FAN_MODE' FanMode no
|
|
34193
|
+
'FOV' FOV no
|
|
34194
|
+
'FRAME_ISP' FRAME_ISP Kandao FrameISP
|
|
34195
|
+
'GAINMAP0' GainMap0 no
|
|
34196
|
+
'GAINMAP1' GainMap1 no
|
|
34197
|
+
'GPS' GPS Kandao GPS
|
|
34198
|
+
Kandao GPS
|
|
34199
|
+
'GPSX' GPSX Kandao GPSX
|
|
34200
|
+
'GPS_CAPTIME' GPSCaptureTime no
|
|
34201
|
+
'HDR' HDR no
|
|
34202
|
+
'HW_VER' HardwareVersion no
|
|
34203
|
+
'IMAGE_STYLE' ImageStyle no
|
|
34204
|
+
'IMU' IMU Kandao IMU
|
|
34205
|
+
'INFO' Info no
|
|
34206
|
+
'INPUT_INSERT' InputInsert no
|
|
34207
|
+
'INTERVAL' Interval no
|
|
34208
|
+
'ISO' ISO no
|
|
34209
|
+
'ISP' ISP no
|
|
34210
|
+
'ISP_VER' ISPVersion no
|
|
34211
|
+
'LENS' LensData no
|
|
34212
|
+
'LENS_INDEX' LensIndex no
|
|
34213
|
+
'LENS_OTP_ID0' Lens0OTP_ID no
|
|
34214
|
+
'LENS_OTP_ID1' Lens1OTP_ID no
|
|
34215
|
+
'LENS_SN0' Lens0SerialNumber no
|
|
34216
|
+
'LENS_SN1' Lens1SerialNumber no
|
|
34217
|
+
'NEED_LSC' NeedLDSC no
|
|
34218
|
+
'OUTPUT_INSERT' OutputInsert no
|
|
34219
|
+
'PRODUCT' Model no
|
|
34220
|
+
'PROJECT' Project no
|
|
34221
|
+
'PROJECTION' Projection no
|
|
34222
|
+
'PR_VER' ProductVersion no
|
|
34223
|
+
'PTS' PresentationTimeStamp no
|
|
34224
|
+
'PTS_UNIT' TimeStampUnit no
|
|
34225
|
+
'SHUTTER' Shutter no
|
|
34226
|
+
'SN' SerialNumber no
|
|
34227
|
+
'STEREO' Stereo no
|
|
34228
|
+
'STITCHED' Stitched no
|
|
34229
|
+
'SW_VER' SoftwareVersion no
|
|
34230
|
+
'TOTAL_FRAME' TotalFrames no
|
|
34231
|
+
'TOTAL_TIME_MS' TotalTime no
|
|
34232
|
+
'VIDEO_BITRATE' VideoBitrate no
|
|
34233
|
+
'VIDEO_CAPTIME' VideoCaptureTime no
|
|
34234
|
+
'VIDEO_CODECTYPE' VideoCodec no
|
|
34235
|
+
'VIDEO_FORMAT' VideoFormat no
|
|
34236
|
+
'VIDEO_RESOLUTION' VideoResolution no
|
|
34237
|
+
'YAW' Yaw no
|
|
34238
|
+
|
|
34239
|
+
=head3 Kandao FrameISP Tags
|
|
34240
|
+
|
|
34241
|
+
Index1 Tag Name Writable
|
|
34242
|
+
------ -------- --------
|
|
34243
|
+
0 TimeStamp? no
|
|
34244
|
+
4 FrameISP_4? no
|
|
34245
|
+
|
|
34246
|
+
=head3 Kandao GPS Tags
|
|
34247
|
+
|
|
34248
|
+
These tags are in the family 1 KVAR group instead of a GPS group to allow
|
|
34249
|
+
them to be distinguished from the duplicate GPS tags in the GPSX table.
|
|
34250
|
+
|
|
34251
|
+
Index1 Tag Name Writable
|
|
34252
|
+
------ -------- --------
|
|
34253
|
+
0 TimeStamp no
|
|
34254
|
+
4 GPSLatitude no
|
|
34255
|
+
12 GPSLongitude no
|
|
34256
|
+
20 GPSAltitude no
|
|
34257
|
+
|
|
34258
|
+
=head3 Kandao GPSX Tags
|
|
34259
|
+
|
|
34260
|
+
These tags are in the family 1 GPS group. They are duplicates of the tags
|
|
34261
|
+
in the Kandao GPS table with the addition of GPSDateTime.
|
|
34262
|
+
|
|
34263
|
+
Index1 Tag Name Writable
|
|
34264
|
+
------ -------- --------
|
|
34265
|
+
0 TimeStamp no
|
|
34266
|
+
4 GPSDateTime no
|
|
34267
|
+
12 GPSLatitude no
|
|
34268
|
+
20 GPSLongitude no
|
|
34269
|
+
28 GPSAltitude no
|
|
34270
|
+
|
|
34271
|
+
=head3 Kandao IMU Tags
|
|
34272
|
+
|
|
34273
|
+
Index1 Tag Name Writable
|
|
34274
|
+
------ -------- --------
|
|
34275
|
+
0 TimeStamp no
|
|
34276
|
+
8 Gyroscope no
|
|
34277
|
+
14 Accelerometer no
|
|
34278
|
+
|
|
34140
34279
|
=head2 Matroska Tags
|
|
34141
34280
|
|
|
34142
34281
|
The following tags are extracted from Matroska multimedia container files.
|
|
@@ -34379,112 +34518,120 @@ for the specification.
|
|
|
34379
34518
|
Standardized Matroska tags, stored in a SimpleTag structure (see
|
|
34380
34519
|
L<https://www.matroska.org/technical/tagging.html>).
|
|
34381
34520
|
|
|
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'
|
|
34521
|
+
Tag ID Tag Name Writable
|
|
34522
|
+
------ -------- --------
|
|
34523
|
+
'ACCOMPANIMENT' Accompaniment no
|
|
34524
|
+
'ACTOR' Actor no
|
|
34525
|
+
'ADDRESS' Address no
|
|
34526
|
+
'ARRANGER' Arranger no
|
|
34527
|
+
'ARTIST' Artist no
|
|
34528
|
+
'ART_DIRECTOR' ArtDirector no
|
|
34529
|
+
'ASSISTANT_DIRECTOR' AssistantDirector no
|
|
34530
|
+
'BARCODE' Barcode no
|
|
34531
|
+
'BPM' BPM no
|
|
34532
|
+
'BPS' BPS no
|
|
34533
|
+
'CATALOG_NUMBER' CatalogNumber no
|
|
34534
|
+
'CHARACTER' Character no
|
|
34535
|
+
'CHOREGRAPHER' Choregrapher no
|
|
34536
|
+
'COMMENT' Comment no
|
|
34537
|
+
'COMPOSER' Composer no
|
|
34538
|
+
'COMPOSER_NATIONALITY' ComposerNationality no
|
|
34539
|
+
'COMPOSITION_LOCATION' CompositionLocation no
|
|
34540
|
+
'CONDUCTOR' Conductor no
|
|
34541
|
+
'CONTENT_TYPE' ContentType no
|
|
34542
|
+
'COPRODUCER' Coproducer no
|
|
34543
|
+
'COPYRIGHT' Copyright no
|
|
34544
|
+
'COSTUME_DESIGNER' CostumeDesigner no
|
|
34545
|
+
'COUNTRY' Country no
|
|
34546
|
+
'DATE_DIGITIZED' CreateDate no
|
|
34547
|
+
'DATE_ENCODED' DateEncoded no
|
|
34548
|
+
'DATE_PURCHASED' DatePurchased no
|
|
34549
|
+
'DATE_RECORDED' DateTimeOriginal no
|
|
34550
|
+
'DATE_RELEASED' DateReleased no
|
|
34551
|
+
'DATE_TAGGED' DateTagged no
|
|
34552
|
+
'DATE_WRITTEN' DateWritten no
|
|
34553
|
+
'DESCRIPTION' Description no
|
|
34554
|
+
'DIRECTOR' Director no
|
|
34416
34555
|
'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
|
-
'
|
|
34556
|
+
DirectorOfPhotography no
|
|
34557
|
+
'DISTRIBUTED_BY' DistributedBy no
|
|
34558
|
+
'DURATION' Duration no
|
|
34559
|
+
'EDITED_BY' EditedBy no
|
|
34560
|
+
'EMAIL' Email no
|
|
34561
|
+
'ENCODED_BY' EncodedBy no
|
|
34562
|
+
'ENCODER' Encoder no
|
|
34563
|
+
'ENCODER_SETTINGS' EncoderSettings no
|
|
34564
|
+
'EXECUTIVE_PRODUCER' ExecutiveProducer no
|
|
34565
|
+
'FAX' FAX no
|
|
34566
|
+
'FPS' FPS no
|
|
34567
|
+
'GENRE' Genre no
|
|
34568
|
+
'IMDB' IMDB no
|
|
34569
|
+
'INITIAL_KEY' InitialKey no
|
|
34570
|
+
'INSTRUMENTS' Instruments no+
|
|
34571
|
+
'ISBN' ISBN no
|
|
34572
|
+
'ISRC' ISRC no
|
|
34573
|
+
'KEYWORDS' Keywords no+
|
|
34574
|
+
'LABEL' Label no
|
|
34575
|
+
'LABEL_CODE' LabelCode no
|
|
34576
|
+
'LAW_RATING' LawRating no
|
|
34577
|
+
'LCCN' Lccn no
|
|
34578
|
+
'LEAD_PERFORMER' LeadPerformer no
|
|
34579
|
+
'LICENSE' License no
|
|
34580
|
+
'LYRICIST' Lyricist no
|
|
34581
|
+
'LYRICS' Lyrics no
|
|
34582
|
+
'MASTERED_BY' MasteredBy no
|
|
34583
|
+
'MCDI' MCDI no
|
|
34584
|
+
'MEASURE' Measure no
|
|
34585
|
+
'MIXED_BY' MixedBy no
|
|
34586
|
+
'MOOD' Mood no
|
|
34587
|
+
'NUMBER_OF_BYTES' NumberOfBytes no
|
|
34588
|
+
'NUMBER_OF_FRAMES' NumberOfFrames no
|
|
34589
|
+
'ORIGINAL' Original no
|
|
34590
|
+
'ORIGINAL_MEDIA_TYPE' OriginalMediaType no
|
|
34591
|
+
'PART_NUMBER' PartNumber no
|
|
34592
|
+
'PART_OFFSET' PartOffset no
|
|
34593
|
+
'PERIOD' Period no
|
|
34594
|
+
'PHONE' Phone no
|
|
34595
|
+
'PLAY_COUNTER' PlayCounter no
|
|
34596
|
+
'PRODUCER' Producer no
|
|
34597
|
+
'PRODUCTION_COPYRIGHT' ProductionCopyright no
|
|
34598
|
+
'PRODUCTION_DESIGNER' ProductionDesigner no
|
|
34599
|
+
'PRODUCTION_STUDIO' ProductionStudio no
|
|
34600
|
+
'PUBLISHER' Publisher no
|
|
34601
|
+
'PURCHASE_CURRENCY' PurchaseCurrency no
|
|
34602
|
+
'PURCHASE_INFO' PurchaseInfo no
|
|
34603
|
+
'PURCHASE_ITEM' PurchaseItem no
|
|
34604
|
+
'PURCHASE_OWNER' PurchaseOwner no
|
|
34605
|
+
'PURCHASE_PRICE' PurchasePrice no
|
|
34606
|
+
'RATING' Rating no
|
|
34607
|
+
'RECORDING_LOCATION' RecordingLocation no
|
|
34608
|
+
'REMIXED_BY' RemixedBy no
|
|
34609
|
+
'REPLAYGAIN_GAIN' ReplaygainGain no
|
|
34610
|
+
'REPLAYGAIN_PEAK' ReplaygainPeak no
|
|
34611
|
+
'SAMPLE' Sample no
|
|
34612
|
+
'SCREENPLAY_BY' ScreenplayBy no
|
|
34613
|
+
'SORT_WITH' SortWith no
|
|
34614
|
+
'SOUND_ENGINEER' SoundEngineer no
|
|
34615
|
+
'SPHERICAL-VIDEO' SphericalVideoXML XMP
|
|
34616
|
+
'SUBJECT' Subject no
|
|
34617
|
+
'SUBTITLE' Subtitle no
|
|
34618
|
+
'SUMMARY' Summary no
|
|
34619
|
+
'SYNOPSIS' Synopsis no
|
|
34620
|
+
'TERMS_OF_USE' TermsOfUse no
|
|
34621
|
+
'THANKS_TO' ThanksTo no
|
|
34622
|
+
'TITLE' Title no
|
|
34623
|
+
'TMDB' TMDB no
|
|
34624
|
+
'TOTAL_PARTS' TotalParts no
|
|
34625
|
+
'TUNING' Tuning no
|
|
34626
|
+
'TVDB' TVDB no
|
|
34627
|
+
'URL' URL no
|
|
34628
|
+
'WRITTEN_BY' WrittenBy no
|
|
34629
|
+
'_STATISTICS_TAGS' StatisticsTags no
|
|
34630
|
+
'_STATISTICS_WRITING_APP'
|
|
34631
|
+
StatisticsWritingApp no
|
|
34632
|
+
'_STATISTICS_WRITING_DATE_UTC'
|
|
34633
|
+
StatisticsWritingDateUTC no
|
|
34634
|
+
'spherical-video' SphericalVideoXML XMP
|
|
34488
34635
|
|
|
34489
34636
|
=head2 MOI Tags
|
|
34490
34637
|
|
|
@@ -41736,7 +41883,7 @@ index the file after a metadata change.
|
|
|
41736
41883
|
|
|
41737
41884
|
The extra tags provide extra features or extra information extracted or
|
|
41738
41885
|
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.
|
|
41886
|
+
group. The B<Group> column lists the family 1 group name when reading.
|
|
41740
41887
|
Tags with a "-" in this column are write-only.
|
|
41741
41888
|
|
|
41742
41889
|
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;
|
|
@@ -2831,8 +2831,9 @@ sub GetAllGroups($;$)
|
|
|
2831
2831
|
my %allGroups;
|
|
2832
2832
|
# add family 1 groups not in tables
|
|
2833
2833
|
no warnings; # (avoid "possible attempt to put comments in qw()")
|
|
2834
|
+
# start with family 1 groups that are missing from the tables
|
|
2834
2835
|
$family == 1 and map { $allGroups{$_} = 1 } qw(Garmin AudioItemList AudioUserData
|
|
2835
|
-
VideoItemList VideoUserData Track#Keys Track#ItemList Track#UserData);
|
|
2836
|
+
VideoItemList VideoUserData Track#Keys Track#ItemList Track#UserData KFIX);
|
|
2836
2837
|
use warnings;
|
|
2837
2838
|
# loop through all tag tables and get all group names
|
|
2838
2839
|
while (@tableNames) {
|
|
@@ -3792,7 +3793,7 @@ sub GetGeolocateTags($$;$)
|
|
|
3792
3793
|
'xmp-exif' => [ qw(GPSLatitude GPSLongitude) ],
|
|
3793
3794
|
'itemlist' => [ 'GPSCoordinates' ],
|
|
3794
3795
|
'userdata' => [ 'GPSCoordinates' ],
|
|
3795
|
-
# more general groups not in this lookup: XMP and QuickTime
|
|
3796
|
+
# more general groups not in this lookup: XMP and QuickTime
|
|
3796
3797
|
);
|
|
3797
3798
|
my (@tags, $grp);
|
|
3798
3799
|
# set specific City and GPS tags
|
|
@@ -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;
|
data/bin/lib/Image/ExifTool.pm
CHANGED
|
@@ -29,7 +29,7 @@ use vars qw($VERSION $RELEASE @ISA @EXPORT_OK %EXPORT_TAGS $AUTOLOAD @fileTypes
|
|
|
29
29
|
%jpegMarker %specialTags %fileTypeLookup $testLen $exeDir
|
|
30
30
|
%static_vars $advFmtSelf $configFile @configFiles $noConfig);
|
|
31
31
|
|
|
32
|
-
$VERSION = '13.
|
|
32
|
+
$VERSION = '13.44';
|
|
33
33
|
$RELEASE = '';
|
|
34
34
|
@ISA = qw(Exporter);
|
|
35
35
|
%EXPORT_TAGS = (
|
|
@@ -200,7 +200,7 @@ $defaultLang = 'en'; # default language
|
|
|
200
200
|
GZIP PLIST RAR 7Z BZ2 CZI TAR EXE EXR HDR CHM LNK WMF AVC DEX
|
|
201
201
|
DPX RAW Font JUMBF RSRC M2TS MacOS PHP PCX DCX DWF DWG DXF WTV
|
|
202
202
|
Torrent VCard LRI R3D AA PDB PFM2 MRC LIF JXL MOI ISO ALIAS PCAP
|
|
203
|
-
JSON MP3 TNEF DICOM PCD NKA ICO TXT AAC);
|
|
203
|
+
JSON MP3 KVAR TNEF DICOM PCD NKA ICO TXT AAC);
|
|
204
204
|
|
|
205
205
|
# file types that we can write (edit)
|
|
206
206
|
my @writeTypes = qw(JPEG TIFF GIF CRW MRW ORF RAF RAW PNG MIE PSD XMP PPM EPS
|
|
@@ -387,6 +387,7 @@ my %createTypes = map { $_ => 1 } qw(XMP ICC MIE VRD DR4 EXIF EXV);
|
|
|
387
387
|
KDC => ['TIFF', 'Kodak Digital Camera RAW'],
|
|
388
388
|
KEY => ['ZIP', 'Apple Keynote presentation'],
|
|
389
389
|
KTH => ['ZIP', 'Apple Keynote Theme'],
|
|
390
|
+
KVAR => ['KVAR', 'Kandao Video Asset Resource'], #PH (NC)
|
|
390
391
|
LA => ['RIFF', 'Lossless Audio'],
|
|
391
392
|
LFP => ['LFP', 'Lytro Light Field Picture'],
|
|
392
393
|
LFR => 'LFP', # (Light Field RAW)
|
|
@@ -881,6 +882,7 @@ my %moduleName = (
|
|
|
881
882
|
JPEG => '',
|
|
882
883
|
JUMBF=> 'Jpeg2000',
|
|
883
884
|
JXL => 'Jpeg2000',
|
|
885
|
+
KVAR => 'Kandao',
|
|
884
886
|
LFP => 'Lytro',
|
|
885
887
|
LRI => 0,
|
|
886
888
|
MOV => 'QuickTime',
|
|
@@ -976,6 +978,7 @@ $testLen = 1024; # number of bytes to read when testing for magic number
|
|
|
976
978
|
JSON => '(\xef\xbb\xbf)?\s*(\[\s*)?\{\s*"[^"]*"\s*:',
|
|
977
979
|
JUMBF=> '.{4}jumb\0.{3}jumd',
|
|
978
980
|
JXL => '(\xff\x0a|\0\0\0\x0cJXL \x0d\x0a......ftypjxl )',
|
|
981
|
+
KVAR => '.{2}\0\0[A-Z].{31}(CHAR|BOOL|[US](8|16|32|64)|FLOAT|DOUBLE)\0',
|
|
979
982
|
LFP => '\x89LFP\x0d\x0a\x1a\x0a',
|
|
980
983
|
LIF => '\x70\0{3}.{4}\x2a.{4}<\0',
|
|
981
984
|
LNK => '(.{4}\x01\x14\x02\0{5}\xc0\0{6}\x46|\[[InternetShortcut\][\x0d\x0a])',
|