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.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/bin/Changes +30 -1
  3. data/bin/MANIFEST +2 -0
  4. data/bin/META.json +1 -1
  5. data/bin/META.yml +1 -1
  6. data/bin/README +48 -48
  7. data/bin/exiftool +85 -80
  8. data/bin/lib/Image/ExifTool/Apple.pm +0 -1
  9. data/bin/lib/Image/ExifTool/BuildTagLookup.pm +2 -2
  10. data/bin/lib/Image/ExifTool/Canon.pm +23 -1
  11. data/bin/lib/Image/ExifTool/CanonCustom.pm +1 -1
  12. data/bin/lib/Image/ExifTool/DarwinCore.pm +2 -2
  13. data/bin/lib/Image/ExifTool/EXE.pm +1 -1
  14. data/bin/lib/Image/ExifTool/Exif.pm +1 -0
  15. data/bin/lib/Image/ExifTool/FLIR.pm +1 -1
  16. data/bin/lib/Image/ExifTool/FlashPix.pm +1 -1
  17. data/bin/lib/Image/ExifTool/FujiFilm.pm +2 -2
  18. data/bin/lib/Image/ExifTool/Geolocation.dat +0 -0
  19. data/bin/lib/Image/ExifTool/Geolocation.pm +1 -1
  20. data/bin/lib/Image/ExifTool/Geotag.pm +1 -1
  21. data/bin/lib/Image/ExifTool/Google.pm +2 -2
  22. data/bin/lib/Image/ExifTool/ICC_Profile.pm +0 -1
  23. data/bin/lib/Image/ExifTool/Import.pm +1 -1
  24. data/bin/lib/Image/ExifTool/Jpeg2000.pm +1 -1
  25. data/bin/lib/Image/ExifTool/Kandao.pm +399 -0
  26. data/bin/lib/Image/ExifTool/LNK.pm +1 -1
  27. data/bin/lib/Image/ExifTool/MRC.pm +4 -4
  28. data/bin/lib/Image/ExifTool/MWG.pm +1 -1
  29. data/bin/lib/Image/ExifTool/MacOS.pm +1 -2
  30. data/bin/lib/Image/ExifTool/Matroska.pm +56 -15
  31. data/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
  32. data/bin/lib/Image/ExifTool/Nikon.pm +5 -5
  33. data/bin/lib/Image/ExifTool/NikonCustom.pm +5 -6
  34. data/bin/lib/Image/ExifTool/OpenEXR.pm +1 -1
  35. data/bin/lib/Image/ExifTool/PPM.pm +1 -1
  36. data/bin/lib/Image/ExifTool/Panasonic.pm +30 -6
  37. data/bin/lib/Image/ExifTool/PhaseOne.pm +17 -1
  38. data/bin/lib/Image/ExifTool/Plot.pm +2 -2
  39. data/bin/lib/Image/ExifTool/Protobuf.pm +2 -2
  40. data/bin/lib/Image/ExifTool/QuickTime.pm +48 -8
  41. data/bin/lib/Image/ExifTool/QuickTimeStream.pl +2 -2
  42. data/bin/lib/Image/ExifTool/README +5 -5
  43. data/bin/lib/Image/ExifTool/RIFF.pm +5 -4
  44. data/bin/lib/Image/ExifTool/Reconyx.pm +2 -2
  45. data/bin/lib/Image/ExifTool/Samsung.pm +11 -1
  46. data/bin/lib/Image/ExifTool/Sony.pm +13 -3
  47. data/bin/lib/Image/ExifTool/TNEF.pm +2 -2
  48. data/bin/lib/Image/ExifTool/TagLookup.pm +7129 -7108
  49. data/bin/lib/Image/ExifTool/TagNames.pod +257 -110
  50. data/bin/lib/Image/ExifTool/Text.pm +1 -1
  51. data/bin/lib/Image/ExifTool/Trailer.pm +1 -1
  52. data/bin/lib/Image/ExifTool/WriteQuickTime.pl +10 -2
  53. data/bin/lib/Image/ExifTool/Writer.pl +3 -2
  54. data/bin/lib/Image/ExifTool/XMP.pm +4 -2
  55. data/bin/lib/Image/ExifTool/ZIP.pm +1 -1
  56. data/bin/lib/Image/ExifTool.pm +5 -2
  57. data/bin/lib/Image/ExifTool.pod +79 -79
  58. data/bin/perl-Image-ExifTool.spec +47 -47
  59. data/lib/exiftool_vendored/version.rb +1 -1
  60. 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 28932 tags, with 17990 unique tag names.
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 116 different types of timed GPS metadata from video files.
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 the TagID's below. These tags
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 Tag Name Writable
34383
- ------ -------- --------
34384
- 'ACCOMPANIMENT' Accompaniment no
34385
- 'ACTOR' Actor no
34386
- 'ADDRESS' Address no
34387
- 'ARRANGER' Arranger no
34388
- 'ARTIST' Artist no
34389
- 'ART_DIRECTOR' ArtDirector no
34390
- 'ASSISTANT_DIRECTOR' AssistantDirector no
34391
- 'BARCODE' Barcode no
34392
- 'BPM' BPM no
34393
- 'BPS' BPS no
34394
- 'CATALOG_NUMBER' CatalogNumber no
34395
- 'CHARACTER' Character no
34396
- 'CHOREGRAPHER' Choregrapher no
34397
- 'COMMENT' Comment no
34398
- 'COMPOSER' Composer no
34399
- 'COMPOSER_NATIONALITY' ComposerNationality no
34400
- 'COMPOSITION_LOCATION' CompositionLocation no
34401
- 'CONDUCTOR' Conductor no
34402
- 'CONTENT_TYPE' ContentType no
34403
- 'COPRODUCER' Coproducer no
34404
- 'COPYRIGHT' Copyright no
34405
- 'COSTUME_DESIGNER' CostumeDesigner no
34406
- 'COUNTRY' Country no
34407
- 'DATE_DIGITIZED' CreateDate no
34408
- 'DATE_ENCODED' DateEncoded no
34409
- 'DATE_PURCHASED' DatePurchased no
34410
- 'DATE_RECORDED' DateTimeOriginal no
34411
- 'DATE_RELEASED' DateReleased no
34412
- 'DATE_TAGGED' DateTagged no
34413
- 'DATE_WRITTEN' DateWritten no
34414
- 'DESCRIPTION' Description no
34415
- 'DIRECTOR' Director no
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
- DirectorOfPhotography no
34418
- 'DISTRIBUTED_BY' DistributedBy no
34419
- 'EDITED_BY' EditedBy no
34420
- 'EMAIL' Email no
34421
- 'ENCODED_BY' EncodedBy no
34422
- 'ENCODER' Encoder no
34423
- 'ENCODER_SETTINGS' EncoderSettings no
34424
- 'EXECUTIVE_PRODUCER' ExecutiveProducer no
34425
- 'FAX' FAX no
34426
- 'FPS' FPS no
34427
- 'GENRE' Genre no
34428
- 'IMDB' IMDB no
34429
- 'INITIAL_KEY' InitialKey no
34430
- 'INSTRUMENTS' Instruments no+
34431
- 'ISBN' ISBN no
34432
- 'ISRC' ISRC no
34433
- 'KEYWORDS' Keywords no+
34434
- 'LABEL' Label no
34435
- 'LABEL_CODE' LabelCode no
34436
- 'LAW_RATING' LawRating no
34437
- 'LCCN' Lccn no
34438
- 'LEAD_PERFORMER' LeadPerformer no
34439
- 'LICENSE' License no
34440
- 'LYRICIST' Lyricist no
34441
- 'LYRICS' Lyrics no
34442
- 'MASTERED_BY' MasteredBy no
34443
- 'MCDI' MCDI no
34444
- 'MEASURE' Measure no
34445
- 'MIXED_BY' MixedBy no
34446
- 'MOOD' Mood no
34447
- 'ORIGINAL' Original no
34448
- 'ORIGINAL_MEDIA_TYPE' OriginalMediaType no
34449
- 'PART_NUMBER' PartNumber no
34450
- 'PART_OFFSET' PartOffset no
34451
- 'PERIOD' Period no
34452
- 'PHONE' Phone no
34453
- 'PLAY_COUNTER' PlayCounter no
34454
- 'PRODUCER' Producer no
34455
- 'PRODUCTION_COPYRIGHT' ProductionCopyright no
34456
- 'PRODUCTION_DESIGNER' ProductionDesigner no
34457
- 'PRODUCTION_STUDIO' ProductionStudio no
34458
- 'PUBLISHER' Publisher no
34459
- 'PURCHASE_CURRENCY' PurchaseCurrency no
34460
- 'PURCHASE_INFO' PurchaseInfo no
34461
- 'PURCHASE_ITEM' PurchaseItem no
34462
- 'PURCHASE_OWNER' PurchaseOwner no
34463
- 'PURCHASE_PRICE' PurchasePrice no
34464
- 'RATING' Rating no
34465
- 'RECORDING_LOCATION' RecordingLocation no
34466
- 'REMIXED_BY' RemixedBy no
34467
- 'REPLAYGAIN_GAIN' ReplaygainGain no
34468
- 'REPLAYGAIN_PEAK' ReplaygainPeak no
34469
- 'SAMPLE' Sample no
34470
- 'SCREENPLAY_BY' ScreenplayBy no
34471
- 'SORT_WITH' SortWith no
34472
- 'SOUND_ENGINEER' SoundEngineer no
34473
- 'SPHERICAL-VIDEO' SphericalVideoXML XMP
34474
- 'SUBJECT' Subject no
34475
- 'SUBTITLE' Subtitle no
34476
- 'SUMMARY' Summary no
34477
- 'SYNOPSIS' Synopsis no
34478
- 'TERMS_OF_USE' TermsOfUse no
34479
- 'THANKS_TO' ThanksTo no
34480
- 'TITLE' Title no
34481
- 'TMDB' TMDB no
34482
- 'TOTAL_PARTS' TotalParts no
34483
- 'TUNING' Tuning no
34484
- 'TVDB' TVDB no
34485
- 'URL' URL no
34486
- 'WRITTEN_BY' WrittenBy no
34487
- 'spherical-video' SphericalVideoXML XMP
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 =~ /^com\./ ? $id : "com.apple.quicktime.$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.75';
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;
@@ -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.42';
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])',