exiftool-vendored.exe 12.76.0 → 12.80.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 +79 -4
- package/bin/exiftool_files/README +3 -3
- package/bin/exiftool_files/config_files/acdsee.config +37 -57
- package/bin/exiftool_files/config_files/example.config +16 -2
- package/bin/exiftool_files/exiftool.pl +87 -29
- package/bin/exiftool_files/lib/Image/ExifTool/Canon.pm +12 -9
- package/bin/exiftool_files/lib/Image/ExifTool/CanonVRD.pm +7 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Exif.pm +52 -4
- package/bin/exiftool_files/lib/Image/ExifTool/FujiFilm.pm +3 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GPS.pm +5 -3
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/cs.pm +978 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/de.pm +1975 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/en_ca.pm +44 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/en_gb.pm +124 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/es.pm +2921 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/fi.pm +1116 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/fr.pm +3171 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/it.pm +2750 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/ja.pm +10256 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/ko.pm +4499 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/nl.pm +1270 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/pl.pm +3019 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/ru.pm +18220 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/sk.pm +441 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/sv.pm +714 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/tr.pm +452 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/zh_cn.pm +2225 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/zh_tw.pm +72 -0
- package/bin/exiftool_files/lib/Image/ExifTool/Geolocation.dat +0 -0
- package/bin/exiftool_files/lib/Image/ExifTool/Geolocation.pm +775 -0
- package/bin/exiftool_files/lib/Image/ExifTool/Geotag.pm +8 -1
- package/bin/exiftool_files/lib/Image/ExifTool/HtmlDump.pm +2 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Import.pm +5 -2
- package/bin/exiftool_files/lib/Image/ExifTool/JSON.pm +15 -10
- package/bin/exiftool_files/lib/Image/ExifTool/MWG.pm +1 -0
- package/bin/exiftool_files/lib/Image/ExifTool/MacOS.pm +19 -4
- package/bin/exiftool_files/lib/Image/ExifTool/Nikon.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Ogg.pm +3 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Olympus.pm +3 -1
- package/bin/exiftool_files/lib/Image/ExifTool/OpenEXR.pm +17 -17
- package/bin/exiftool_files/lib/Image/ExifTool/PDF.pm +5 -5
- package/bin/exiftool_files/lib/Image/ExifTool/Pentax.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/QuickTime.pm +183 -11
- package/bin/exiftool_files/lib/Image/ExifTool/QuickTimeStream.pl +253 -237
- package/bin/exiftool_files/lib/Image/ExifTool/README +6 -5
- package/bin/exiftool_files/lib/Image/ExifTool/TagLookup.pm +2624 -2520
- package/bin/exiftool_files/lib/Image/ExifTool/TagNames.pod +184 -4
- package/bin/exiftool_files/lib/Image/ExifTool/WriteQuickTime.pl +15 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WriteXMP.pl +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Writer.pl +59 -8
- package/bin/exiftool_files/lib/Image/ExifTool/XMP.pm +17 -2
- package/bin/exiftool_files/lib/Image/ExifTool/XMP2.pl +64 -0
- package/bin/exiftool_files/lib/Image/ExifTool.pm +249 -47
- package/bin/exiftool_files/lib/Image/ExifTool.pod +57 -25
- 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 27593 tags, with 17336 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
|
|
@@ -376,6 +376,7 @@ for the official EXIF 2.32 specification.
|
|
|
376
376
|
0x0110 Model IFD0 string
|
|
377
377
|
0x0111 StripOffsets - no
|
|
378
378
|
OtherImageStart - no
|
|
379
|
+
PreviewJXLStart - no
|
|
379
380
|
StripOffsets - no
|
|
380
381
|
PreviewImageStart IFD0 int32u*
|
|
381
382
|
PreviewImageStart All int32u*
|
|
@@ -385,6 +386,7 @@ for the official EXIF 2.32 specification.
|
|
|
385
386
|
0x0116 RowsPerStrip IFD0 int32u!
|
|
386
387
|
0x0117 StripByteCounts - no
|
|
387
388
|
OtherImageLength - no
|
|
389
|
+
PreviewJXLLength - no
|
|
388
390
|
StripByteCounts - no
|
|
389
391
|
PreviewImageLength IFD0 int32u*
|
|
390
392
|
PreviewImageLength All int32u*
|
|
@@ -1360,6 +1362,7 @@ L<http://www.adobe.com/devnet/xmp/> for the official XMP specification.
|
|
|
1360
1362
|
--------- --------
|
|
1361
1363
|
aas XMP aas
|
|
1362
1364
|
acdsee XMP acdsee
|
|
1365
|
+
acdsee-rs XMP ACDSeeRegions
|
|
1363
1366
|
album XMP Album
|
|
1364
1367
|
apple-fi XMP apple_fi
|
|
1365
1368
|
ast Nikon ast
|
|
@@ -1503,6 +1506,66 @@ These tags belong to the ExifTool XMP-acdsee family 1 group.
|
|
|
1503
1506
|
Snapshots string/+
|
|
1504
1507
|
Tagged boolean/
|
|
1505
1508
|
|
|
1509
|
+
=head3 XMP ACDSeeRegions Tags
|
|
1510
|
+
|
|
1511
|
+
These tags belong to the ExifTool XMP-acdsee-rs family 1 group.
|
|
1512
|
+
|
|
1513
|
+
Tag Name Writable
|
|
1514
|
+
-------- --------
|
|
1515
|
+
RegionInfoACDSee ACDSeeRegionInfo Struct
|
|
1516
|
+
ACDSeeRegionAppliedToDimensions ACDSeeDimensions Struct_
|
|
1517
|
+
ACDSeeRegionAppliedToDimensionsH real/_
|
|
1518
|
+
ACDSeeRegionAppliedToDimensionsUnit string/_
|
|
1519
|
+
ACDSeeRegionAppliedToDimensionsW real/_
|
|
1520
|
+
ACDSeeRegion ACDSeeRegion Struct_+
|
|
1521
|
+
ACDSeeRegionALGArea ACDSeeArea Struct_+
|
|
1522
|
+
ACDSeeRegionALGAreaH real/_+
|
|
1523
|
+
ACDSeeRegionALGAreaW real/_+
|
|
1524
|
+
ACDSeeRegionALGAreaX real/_+
|
|
1525
|
+
ACDSeeRegionALGAreaY real/_+
|
|
1526
|
+
ACDSeeRegionDLYArea ACDSeeArea Struct_+
|
|
1527
|
+
ACDSeeRegionDLYAreaH real/_+
|
|
1528
|
+
ACDSeeRegionDLYAreaW real/_+
|
|
1529
|
+
ACDSeeRegionDLYAreaX real/_+
|
|
1530
|
+
ACDSeeRegionDLYAreaY real/_+
|
|
1531
|
+
ACDSeeRegionName string/_+
|
|
1532
|
+
ACDSeeRegionNameAssignType string/_+
|
|
1533
|
+
ACDSeeRegionType string/_+
|
|
1534
|
+
|
|
1535
|
+
=head3 XMP ACDSeeRegionInfo Struct
|
|
1536
|
+
|
|
1537
|
+
Field Name Writable
|
|
1538
|
+
---------- --------
|
|
1539
|
+
AppliedToDimensions ACDSeeDimensions Struct
|
|
1540
|
+
RegionList ACDSeeRegion Struct+
|
|
1541
|
+
|
|
1542
|
+
=head3 XMP ACDSeeDimensions Struct
|
|
1543
|
+
|
|
1544
|
+
Field Name Writable
|
|
1545
|
+
---------- --------
|
|
1546
|
+
H real
|
|
1547
|
+
Unit string
|
|
1548
|
+
W real
|
|
1549
|
+
|
|
1550
|
+
=head3 XMP ACDSeeRegion Struct
|
|
1551
|
+
|
|
1552
|
+
Field Name Writable
|
|
1553
|
+
---------- --------
|
|
1554
|
+
ALGArea ACDSeeArea Struct
|
|
1555
|
+
DLYArea ACDSeeArea Struct
|
|
1556
|
+
Name string
|
|
1557
|
+
NameAssignType string
|
|
1558
|
+
Type string
|
|
1559
|
+
|
|
1560
|
+
=head3 XMP ACDSeeArea Struct
|
|
1561
|
+
|
|
1562
|
+
Field Name Writable
|
|
1563
|
+
---------- --------
|
|
1564
|
+
H real
|
|
1565
|
+
W real
|
|
1566
|
+
X real
|
|
1567
|
+
Y real
|
|
1568
|
+
|
|
1506
1569
|
=head3 XMP Album Tags
|
|
1507
1570
|
|
|
1508
1571
|
Adobe Album namespace tags.
|
|
@@ -5147,6 +5210,7 @@ These tags belong to the ExifTool XMP-iptcExt family 1 group.
|
|
|
5147
5210
|
LocationCreatedCountryCode string_+
|
|
5148
5211
|
LocationCreatedCountryName string_+
|
|
5149
5212
|
LocationCreatedGPSAltitude rational_+
|
|
5213
|
+
LocationCreatedGPSAltitudeRef integer_+
|
|
5150
5214
|
LocationCreatedGPSLatitude string_+
|
|
5151
5215
|
LocationCreatedGPSLongitude string_+
|
|
5152
5216
|
LocationCreatedIdentifier string_+
|
|
@@ -5160,6 +5224,7 @@ These tags belong to the ExifTool XMP-iptcExt family 1 group.
|
|
|
5160
5224
|
LocationShownCountryCode string_+
|
|
5161
5225
|
LocationShownCountryName string_+
|
|
5162
5226
|
LocationShownGPSAltitude rational_+
|
|
5227
|
+
LocationShownGPSAltitudeRef integer_+
|
|
5163
5228
|
LocationShownGPSLatitude string_+
|
|
5164
5229
|
LocationShownGPSLongitude string_+
|
|
5165
5230
|
LocationShownIdentifier string_+
|
|
@@ -5213,6 +5278,7 @@ These tags belong to the ExifTool XMP-iptcExt family 1 group.
|
|
|
5213
5278
|
RatingRegionCountryCode string_+
|
|
5214
5279
|
RatingRegionCountryName string_+
|
|
5215
5280
|
RatingRegionGPSAltitude rational_+
|
|
5281
|
+
RatingRegionGPSAltitudeRef integer_+
|
|
5216
5282
|
RatingRegionGPSLatitude string_+
|
|
5217
5283
|
RatingRegionGPSLongitude string_+
|
|
5218
5284
|
RatingRegionIdentifier string_+
|
|
@@ -5421,6 +5487,7 @@ is to write ImageRegion as a structure with these tags as new fields.
|
|
|
5421
5487
|
CountryCode string
|
|
5422
5488
|
CountryName string
|
|
5423
5489
|
GPSAltitude rational
|
|
5490
|
+
GPSAltitudeRef integer
|
|
5424
5491
|
GPSLatitude string
|
|
5425
5492
|
GPSLongitude string
|
|
5426
5493
|
Identifier string+
|
|
@@ -6258,6 +6325,7 @@ These tags belong to the ExifTool XMP-xmpDM family 1 group.
|
|
|
6258
6325
|
OutCueScale rational_
|
|
6259
6326
|
OutCueValue integer_
|
|
6260
6327
|
PartOfCompilation boolean
|
|
6328
|
+
Pick integer
|
|
6261
6329
|
ProjectName string
|
|
6262
6330
|
ProjectRef ProjectLink Struct
|
|
6263
6331
|
ProjectRefPath string_
|
|
@@ -10115,6 +10183,7 @@ CameraInfo tags for the PowerShot G5 X Mark II.
|
|
|
10115
10183
|
Index1 Tag Name Writable
|
|
10116
10184
|
------ -------- --------
|
|
10117
10185
|
659 ShutterCount int32u
|
|
10186
|
+
2709 ShutterCount int32u
|
|
10118
10187
|
2849 DirectoryIndex int32u
|
|
10119
10188
|
2861 FileIndex int32u
|
|
10120
10189
|
|
|
@@ -12270,6 +12339,11 @@ below by a decimal appended to the tag ID (.0, .1 or .2).
|
|
|
12270
12339
|
0x20916 PurpleHSL yes
|
|
12271
12340
|
0x20917 MagentaHSL yes
|
|
12272
12341
|
0x20a00 GammaInfo CanonVRD GammaInfo
|
|
12342
|
+
0x20b10 DPRAWMicroadjustBackFront yes
|
|
12343
|
+
0x20b12 DPRAWMicroadjustStrength yes
|
|
12344
|
+
0x20b20 DPRAWBokehShift yes
|
|
12345
|
+
0x20b21 DPRAWBokehShiftArea yes
|
|
12346
|
+
0x20b30 DPRAWGhostingReductionArea yes
|
|
12273
12347
|
0x30101 CropAspectRatio yes
|
|
12274
12348
|
0x30102 CropAspectRatioCustom yes
|
|
12275
12349
|
0xf0100 CropInfo CanonVRD CropInfo
|
|
@@ -13091,6 +13165,8 @@ Tags extracted from FLIR Public image Format (FPF) files.
|
|
|
13091
13165
|
0x104d CropMode int16u
|
|
13092
13166
|
0x104e ColorChromeFXBlue int32s
|
|
13093
13167
|
0x1050 ShutterType int16u
|
|
13168
|
+
0x1051 CropTopLeft int32u
|
|
13169
|
+
0x1052 CropCenter int32u
|
|
13094
13170
|
0x1100 AutoBracketing int16u
|
|
13095
13171
|
0x1101 SequenceNumber int16u
|
|
13096
13172
|
0x1103 DriveSettings FujiFilm DriveSettings
|
|
@@ -29253,6 +29329,7 @@ for the official specification.
|
|
|
29253
29329
|
ThumbnailImage no
|
|
29254
29330
|
Free? no
|
|
29255
29331
|
'ftyp' FileType QuickTime FileType
|
|
29332
|
+
'gdat' GPSData QuickTime Stream
|
|
29256
29333
|
'gps0' GPSTrack QuickTime Stream
|
|
29257
29334
|
'gsen' GSensor QuickTime Stream
|
|
29258
29335
|
'junk' Junk? no
|
|
@@ -29264,6 +29341,7 @@ for the official specification.
|
|
|
29264
29341
|
'moof' MovieFragment QuickTime MovieFragment
|
|
29265
29342
|
'moov' Movie QuickTime Movie
|
|
29266
29343
|
'mpvd' MotionPhotoVideo yes
|
|
29344
|
+
'nbmt' NextbaseMeta QuickTime Stream
|
|
29267
29345
|
'pict' PreviewPICT no
|
|
29268
29346
|
'pnot' Preview QuickTime Preview
|
|
29269
29347
|
'prrt' ARDroneTelemetry no
|
|
@@ -29283,10 +29361,11 @@ for the official specification.
|
|
|
29283
29361
|
UUID-Flip QuickTime Flip
|
|
29284
29362
|
UUID-Canon2 Canon uuid2
|
|
29285
29363
|
SensorData QuickTime Tags360Fly
|
|
29364
|
+
SensorData no
|
|
29286
29365
|
JUMBF Jpeg2000
|
|
29287
29366
|
CBOR CBOR
|
|
29288
|
-
SensorData no
|
|
29289
29367
|
PreviewImage no
|
|
29368
|
+
ThumbnailImage no
|
|
29290
29369
|
UUID-Unknown? no
|
|
29291
29370
|
'wide' Wide? no
|
|
29292
29371
|
|
|
@@ -29295,7 +29374,7 @@ for the official specification.
|
|
|
29295
29374
|
The tags below are extracted from timed metadata in QuickTime and other
|
|
29296
29375
|
formats of video files when the ExtractEmbedded option is used. Although
|
|
29297
29376
|
most of these tags are combined into the single table below, ExifTool
|
|
29298
|
-
currently reads
|
|
29377
|
+
currently reads 71 different formats of timed GPS metadata from video files.
|
|
29299
29378
|
|
|
29300
29379
|
Tag Name Writable
|
|
29301
29380
|
-------- --------
|
|
@@ -29304,6 +29383,7 @@ currently reads 68 different formats of timed GPS metadata from video files.
|
|
|
29304
29383
|
AngularVelocity no
|
|
29305
29384
|
CTMD Canon CTMD
|
|
29306
29385
|
CameraDateTime no
|
|
29386
|
+
CameraModel no
|
|
29307
29387
|
Car no
|
|
29308
29388
|
DateTimeOriginal no
|
|
29309
29389
|
Distance no
|
|
@@ -30537,12 +30617,15 @@ the config file.
|
|
|
30537
30617
|
'cvru' CoverURI string
|
|
30538
30618
|
'date' DateTimeOriginal string
|
|
30539
30619
|
'dscp' Description string/
|
|
30620
|
+
'finm' OriginalFileName no
|
|
30540
30621
|
'gnre' Genre string/
|
|
30541
30622
|
'hinf' HintTrackInfo QuickTime HintTrackInfo
|
|
30542
30623
|
'hinv' HintVersion string
|
|
30543
30624
|
'hnti' HintInfo QuickTime HintInfo
|
|
30544
30625
|
'htcb' HTCBinary QuickTime HTCBinary
|
|
30545
30626
|
'icnu' IconURI string
|
|
30627
|
+
'infi' CameraInfo QuickTime Nextbase
|
|
30628
|
+
'info' FirmwareVersion string
|
|
30546
30629
|
'infu' InfoURL string
|
|
30547
30630
|
'kgtt' TrackType string
|
|
30548
30631
|
'kywd' Keywords no
|
|
@@ -30574,9 +30657,11 @@ the config file.
|
|
|
30574
30657
|
ThumbnailImage string
|
|
30575
30658
|
ThumbnailPNG string
|
|
30576
30659
|
UnknownThumbnail string
|
|
30660
|
+
'time' TimeStamp no
|
|
30577
30661
|
'titl' Title string/
|
|
30578
30662
|
'urat' UserRating undef/
|
|
30579
30663
|
'uuid' GarminSoftware string
|
|
30664
|
+
GarminModel no
|
|
30580
30665
|
UUID-Unknown? no
|
|
30581
30666
|
'vndr' Vendor string
|
|
30582
30667
|
'vrot' AccelerometerData no
|
|
@@ -30691,6 +30776,83 @@ Tags found in TomTom Bandit Action Cam MP4 videos.
|
|
|
30691
30776
|
------ -------- --------
|
|
30692
30777
|
[no tags known]
|
|
30693
30778
|
|
|
30779
|
+
=head3 QuickTime Nextbase Tags
|
|
30780
|
+
|
|
30781
|
+
Tags found in 'infi' atom from some Nextbase videos. As well as these tags,
|
|
30782
|
+
other existing tags are also extracted. These tags are not currently
|
|
30783
|
+
writable but they may all be removed by deleting the Nextbase group.
|
|
30784
|
+
|
|
30785
|
+
Tag ID Tag Name Writable
|
|
30786
|
+
------ -------- --------
|
|
30787
|
+
'2nd Cam' SecondCam no
|
|
30788
|
+
'Alerts' Alerts no
|
|
30789
|
+
'Alexa' Alexa no
|
|
30790
|
+
'Alexa - Paired Device Name'
|
|
30791
|
+
Alexa-PairedDeviceName no
|
|
30792
|
+
'Alexa - Pairing' Alexa-Pairing no
|
|
30793
|
+
'Alexa - Privacy Mode' Alexa-PrivacyMode no
|
|
30794
|
+
'Alexa - Wake Word Language'
|
|
30795
|
+
Alexa-WakeWordLanguage no
|
|
30796
|
+
'Audio' Audio no
|
|
30797
|
+
'Auto Power Off' AutoPowerOff no
|
|
30798
|
+
'Battery Status' BatteryStatus no
|
|
30799
|
+
'Bluetooth MAC Address' BluetoothMACAddress no
|
|
30800
|
+
'Bluetooth Name' BluetoothName no
|
|
30801
|
+
'Country' Country no
|
|
30802
|
+
'Default Settings' DefaultSettings no
|
|
30803
|
+
'Device Sounds' DeviceSounds no
|
|
30804
|
+
'Dual Files' DualFiles no
|
|
30805
|
+
'Emergency SOS' EmergencySOS no
|
|
30806
|
+
'Exposure' Exposure no
|
|
30807
|
+
'Extreme Weather Mode' ExtremeWeatherMode no
|
|
30808
|
+
'FCC-ID' FCC-ID no
|
|
30809
|
+
'Firmware' Firmware no
|
|
30810
|
+
'Firmware Version' FirmwareVersion no
|
|
30811
|
+
'Format SD Card' FormatSDCard no
|
|
30812
|
+
'G Sensor' GSensor no
|
|
30813
|
+
'GPS Stamp' GPSStamp no
|
|
30814
|
+
'Image Stabilisation' ImageStabilisation no
|
|
30815
|
+
'Keep User Settings' KeepUserSettings no
|
|
30816
|
+
'Language' Language no
|
|
30817
|
+
'Linux' Linux no
|
|
30818
|
+
'Model' Model no
|
|
30819
|
+
'Model Stamp' ModelStamp no
|
|
30820
|
+
'MyNextbase - Paired Device Name'
|
|
30821
|
+
MyNextbase-PairedDeviceName no
|
|
30822
|
+
'MyNextbase - Pairing' MyNextbase-Pairing no
|
|
30823
|
+
'NBCD' NBCD no
|
|
30824
|
+
'Number / License Plate' NumberLicensePlate no
|
|
30825
|
+
'Parking Mode' ParkingMode no
|
|
30826
|
+
'RTOS' RTOS no
|
|
30827
|
+
'Recording History' RecordingHistory no
|
|
30828
|
+
'Resolution' Resolution no
|
|
30829
|
+
'Reversing Camera' ReversingCamera no
|
|
30830
|
+
'SD Card Class' SDCardClass no
|
|
30831
|
+
'SD Card Format' SDCardFormat no
|
|
30832
|
+
'SD Card Manf Date' SDCardManfDate no
|
|
30833
|
+
'SD Card Manf ID' SDCardManfID no
|
|
30834
|
+
'SD Card Model No' SDCardModelNo no
|
|
30835
|
+
'SD Card OEM ID' SDCardOEMID no
|
|
30836
|
+
'SD Card Serial No' SDCardSerialNo no
|
|
30837
|
+
'SD Card Size' SDCardSize no
|
|
30838
|
+
'SD Card Type' SDCardType no
|
|
30839
|
+
'SD Card Used Space' SDCardUsedSpace no
|
|
30840
|
+
'Screen Dimming' ScreenDimming no
|
|
30841
|
+
'Screen Saver' ScreenSaver no
|
|
30842
|
+
'Serial No' SerialNumber no
|
|
30843
|
+
'Speed Stamp' SpeedStamp no
|
|
30844
|
+
'Speed Units' SpeedUnits no
|
|
30845
|
+
'System Info' SystemInfo no
|
|
30846
|
+
'Time & Date' TimeAndDate no
|
|
30847
|
+
'Time Lapse' TimeLapse no
|
|
30848
|
+
'Time Stamp' VideoTimeStamp no
|
|
30849
|
+
'Time Zone / DST' TimeZoneDST no
|
|
30850
|
+
'Video Length' VideoLength no
|
|
30851
|
+
'Wi-Fi MAC Address' Wi-FiMACAddress no
|
|
30852
|
+
'Wi-Fi Password' Wi-FiPassword no
|
|
30853
|
+
'Wi-Fi SSID' Wi-FiSSID no
|
|
30854
|
+
'what3words' What3Words no
|
|
30855
|
+
|
|
30694
30856
|
=head3 QuickTime Video Tags
|
|
30695
30857
|
|
|
30696
30858
|
Index1 Tag Name Writable
|
|
@@ -39363,7 +39525,7 @@ these files directly.
|
|
|
39363
39525
|
XAttrLastUsedDate no
|
|
39364
39526
|
XAttrMDItemDownloadedDate no
|
|
39365
39527
|
XAttrMDItemFinderComment no
|
|
39366
|
-
XAttrMDItemWhereFroms
|
|
39528
|
+
XAttrMDItemWhereFroms yes!
|
|
39367
39529
|
XAttrMDLabel no
|
|
39368
39530
|
XAttrQuarantine yes!
|
|
39369
39531
|
XAttrResourceFork no
|
|
@@ -39561,6 +39723,19 @@ FileName.
|
|
|
39561
39723
|
FileTypeExtension File no
|
|
39562
39724
|
FileUserID System yes!
|
|
39563
39725
|
ForceWrite - yes
|
|
39726
|
+
Geolocate - yes
|
|
39727
|
+
GeolocationBearing ExifTool no
|
|
39728
|
+
GeolocationCity ExifTool no
|
|
39729
|
+
GeolocationCountry ExifTool no
|
|
39730
|
+
GeolocationCountryCode ExifTool no
|
|
39731
|
+
GeolocationDistance ExifTool no
|
|
39732
|
+
GeolocationFeatureCode ExifTool no
|
|
39733
|
+
GeolocationPopulation ExifTool no
|
|
39734
|
+
GeolocationPosition ExifTool no
|
|
39735
|
+
GeolocationRegion ExifTool no
|
|
39736
|
+
GeolocationSubregion ExifTool no
|
|
39737
|
+
GeolocationTimeZone ExifTool no
|
|
39738
|
+
GeolocationWarning ExifTool no
|
|
39564
39739
|
Geosync - yes
|
|
39565
39740
|
Geotag - yes
|
|
39566
39741
|
Geotime - yes
|
|
@@ -39583,6 +39758,7 @@ FileName.
|
|
|
39583
39758
|
OtherImage File no
|
|
39584
39759
|
PageCount File no
|
|
39585
39760
|
PreviewImage File yes
|
|
39761
|
+
PreviewJXL File no
|
|
39586
39762
|
PreviewPDF File no
|
|
39587
39763
|
PreviewPNG File no
|
|
39588
39764
|
PreviewTIFF File no
|
|
@@ -39846,6 +40022,10 @@ values, may created via the ExifTool configuration file.
|
|
|
39846
40022
|
PreviewImage ScreenNail no
|
|
39847
40023
|
PreviewImageSize PreviewImageWidth no
|
|
39848
40024
|
PreviewImageHeight
|
|
40025
|
+
PreviewJXL PreviewJXLStart no
|
|
40026
|
+
PreviewJXLLength
|
|
40027
|
+
PreviewJXLStart (1)
|
|
40028
|
+
PreviewJXLLength (1)
|
|
39849
40029
|
RedBalance WB_RGGBLevels no
|
|
39850
40030
|
WB_RGBGLevels
|
|
39851
40031
|
WB_RBGGLevels
|
|
@@ -148,6 +148,7 @@ sub PrintInvGPSCoordinates($)
|
|
|
148
148
|
$v[2] = Image::ExifTool::ToFloat($v[2]) * ($below ? -1 : 1) if @v == 3;
|
|
149
149
|
return "@v";
|
|
150
150
|
}
|
|
151
|
+
return $val if $val =~ /^([-+]?\d+(\.\d*)?)\s+([-+]?\d+(\.\d*)?)$/; # already 2 floats?
|
|
151
152
|
return $val if $val =~ /^([-+]\d+(\.\d*)?){2,3}(CRS.*)?\/?$/; # already in ISO6709 format?
|
|
152
153
|
return undef;
|
|
153
154
|
}
|
|
@@ -356,6 +357,18 @@ sub SetVarInt($$)
|
|
|
356
357
|
return '';
|
|
357
358
|
}
|
|
358
359
|
|
|
360
|
+
#------------------------------------------------------------------------------
|
|
361
|
+
# Write Nextbase infi atom (ref PH)
|
|
362
|
+
# Inputs: 0) ExifTool object ref, 1) dirInfo ref, 2) tag table ref
|
|
363
|
+
# Returns: updated infi data
|
|
364
|
+
sub WriteNextbase($$$)
|
|
365
|
+
{
|
|
366
|
+
my ($et, $dirInfo, $tagTablePtr) = @_;
|
|
367
|
+
$et or return 1;
|
|
368
|
+
$$et{DEL_GROUP}{Nextbase} and ++$$et{CHANGED}, return '';
|
|
369
|
+
return ${$$dirInfo{DataPt}};
|
|
370
|
+
}
|
|
371
|
+
|
|
359
372
|
#------------------------------------------------------------------------------
|
|
360
373
|
# Write Meta Keys to add/delete entries as necessary ('mdta' handler) (ref PH)
|
|
361
374
|
# Inputs: 0) ExifTool object ref, 1) dirInfo ref, 2) tag table ref
|
|
@@ -1619,7 +1632,8 @@ sub WriteQuickTime($$$)
|
|
|
1619
1632
|
if ($isEmpty) {
|
|
1620
1633
|
$et->VPrint(0,' Deleting ' . join('+', sort map { $emptyMeta{$_} } keys %boxPos)) if %boxPos;
|
|
1621
1634
|
$$outfile = '';
|
|
1622
|
-
|
|
1635
|
+
# (could report a file if editing nothing when it contained an empty Meta atom)
|
|
1636
|
+
# ++$$et{CHANGED};
|
|
1623
1637
|
}
|
|
1624
1638
|
if ($curPath eq 'MOV-Movie-Meta') {
|
|
1625
1639
|
delete $$addDirs{Keys}; # prevent creation of another Meta for Keys tags
|
|
@@ -236,7 +236,7 @@ sub CheckXMP($$$;$)
|
|
|
236
236
|
return 'Not a floating point number';
|
|
237
237
|
}
|
|
238
238
|
if ($format eq 'rational') {
|
|
239
|
-
$$valPtr = join('/', Image::ExifTool::Rationalize($$valPtr));
|
|
239
|
+
$$valPtr = join('/', Image::ExifTool::Rationalize($$valPtr,0xffffffff));
|
|
240
240
|
}
|
|
241
241
|
} elsif ($format eq 'integer') {
|
|
242
242
|
# make sure the value is integer
|
|
@@ -137,12 +137,12 @@ my %rawType = (
|
|
|
137
137
|
# 1) these names must either exist in %dirMap, or be translated in InitWriteDirs())
|
|
138
138
|
# 2) any dependencies must be added to %excludeGroups
|
|
139
139
|
my @delGroups = qw(
|
|
140
|
-
Adobe AFCP APP0 APP1 APP2 APP3 APP4 APP5 APP6 APP7 APP8 APP9 APP10 APP11
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
140
|
+
Adobe AFCP APP0 APP1 APP2 APP3 APP4 APP5 APP6 APP7 APP8 APP9 APP10 APP11 APP12
|
|
141
|
+
APP13 APP14 APP15 CanonVRD CIFF Ducky EXIF ExifIFD File FlashPix FotoStation
|
|
142
|
+
GlobParamIFD GPS ICC_Profile IFD0 IFD1 Insta360 InteropIFD IPTC ItemList JFIF
|
|
143
|
+
Jpeg2000 JUMBF Keys MakerNotes Meta MetaIFD Microsoft MIE MPF Nextbase NikonApp
|
|
144
|
+
NikonCapture PDF PDF-update PhotoMechanic Photoshop PNG PNG-pHYs PrintIM
|
|
145
|
+
QuickTime RMETA RSRC SubIFD Trailer UserData XML XML-* XMP XMP-*
|
|
146
146
|
);
|
|
147
147
|
# family 2 group names that we can delete
|
|
148
148
|
my @delGroup2 = qw(
|
|
@@ -227,7 +227,7 @@ my %allFam0 = (
|
|
|
227
227
|
|
|
228
228
|
my @writableMacOSTags = qw(
|
|
229
229
|
FileCreateDate MDItemFinderComment MDItemFSCreationDate MDItemFSLabel MDItemUserTags
|
|
230
|
-
XAttrQuarantine
|
|
230
|
+
XAttrQuarantine XAttrMDItemWhereFroms
|
|
231
231
|
);
|
|
232
232
|
|
|
233
233
|
# min/max values for integer formats
|
|
@@ -1296,6 +1296,10 @@ sub SetNewValuesFromFile($$;@)
|
|
|
1296
1296
|
FastScan => $$options{FastScan},
|
|
1297
1297
|
Filter => $$options{Filter},
|
|
1298
1298
|
FixBase => $$options{FixBase},
|
|
1299
|
+
Geolocation => $$options{Geolocation},
|
|
1300
|
+
GeolocFeature => $$options{GeolocFeature},
|
|
1301
|
+
GeolocMinPop => $$options{GeolocMinPop},
|
|
1302
|
+
GeolocMaxDist => $$options{GeolocMaxDist},
|
|
1299
1303
|
GlobalTimeShift => $$options{GlobalTimeShift},
|
|
1300
1304
|
HexTagIDs => $$options{HexTagIDs},
|
|
1301
1305
|
IgnoreMinorErrors=>$$options{IgnoreMinorErrors},
|
|
@@ -2181,7 +2185,7 @@ sub SetSystemTags($$)
|
|
|
2181
2185
|
$result = $res if $res == 1 or not $result;
|
|
2182
2186
|
last;
|
|
2183
2187
|
} elsif ($tag ne 'FileCreateDate') {
|
|
2184
|
-
$self->WarnOnce('Can only set MDItem tags on
|
|
2188
|
+
$self->WarnOnce('Can only set MDItem tags on MacOS');
|
|
2185
2189
|
last;
|
|
2186
2190
|
}
|
|
2187
2191
|
}
|
|
@@ -3783,6 +3787,53 @@ sub GetWriteGroup1($$)
|
|
|
3783
3787
|
return $self->GetGroup($tagInfo, 1);
|
|
3784
3788
|
}
|
|
3785
3789
|
|
|
3790
|
+
#------------------------------------------------------------------------------
|
|
3791
|
+
# Get list of tags to write for Geolocate feature
|
|
3792
|
+
# Inputs: 0) ExifTool ref, 1) group name(s),
|
|
3793
|
+
# 2) 0=prefer writing City, 1=prefer writing GPS, undef=deleting tags
|
|
3794
|
+
# Returns: list of tags to write/delete
|
|
3795
|
+
sub GetGeolocateTags($$;$)
|
|
3796
|
+
{
|
|
3797
|
+
my ($self, $wantGroup, $writeGPS) = @_;
|
|
3798
|
+
my @grps = $wantGroup ? map lc, split(/:/, $wantGroup) : ();
|
|
3799
|
+
my %grps = map { $_ => $_ } @grps; # lookup for specified groups
|
|
3800
|
+
$grps{exif} and not $grps{gps} and $grps{gps} = 'gps', push(@grps, 'gps');
|
|
3801
|
+
my %tagGroups = (
|
|
3802
|
+
'xmp-iptcext' => [ qw(LocationShownCity LocationShownProvinceState LocationShownCountryCode
|
|
3803
|
+
LocationShownCountryName LocationShownGPSLatitude LocationShownGPSLongitude) ],
|
|
3804
|
+
'xmp-photoshop' => [ qw(City State Country) ],
|
|
3805
|
+
'xmp-iptccore' => [ 'CountryCode' ],
|
|
3806
|
+
'iptc' => [ qw(City Province-State Country-PrimaryLocationCode Country-PrimaryLocationName) ],
|
|
3807
|
+
'gps' => [ qw(GPSLatitude GPSLongitude GPSLatitudeRef GPSLongitudeRef) ],
|
|
3808
|
+
'xmp-exif' => [ qw(GPSLatitude GPSLongitude) ],
|
|
3809
|
+
'keys' => [ 'GPSCoordinates' ],
|
|
3810
|
+
'itemlist' => [ 'GPSCoordinates' ],
|
|
3811
|
+
'userdata' => [ 'GPSCoordinates' ],
|
|
3812
|
+
# more general groups not in this lookup: XMP and QuickTime
|
|
3813
|
+
);
|
|
3814
|
+
my (@tags, $grp);
|
|
3815
|
+
# set specific City and GPS tags
|
|
3816
|
+
foreach $grp (@grps) {
|
|
3817
|
+
$tagGroups{$grp} and push @tags, map("$grp:$_", @{$tagGroups{$grp}});
|
|
3818
|
+
}
|
|
3819
|
+
# set default XMP City tags if necessary
|
|
3820
|
+
if (not $writeGPS and ($grps{xmp} or (not @tags and not $grps{quicktime}))) {
|
|
3821
|
+
push @tags, qw(XMP:City XMP:State XMP:CountryCode XMP:Country);
|
|
3822
|
+
}
|
|
3823
|
+
$writeGPS = 1 unless defined $writeGPS; # (delete both City and GPS)
|
|
3824
|
+
# set default QuickTime tag if necessary
|
|
3825
|
+
my $didQT = grep /Coordinates$/, @tags;
|
|
3826
|
+
if (($grps{quicktime} and not $didQT) or ($writeGPS and not @tags and not $grps{xmp})) {
|
|
3827
|
+
push @tags, 'QuickTime:GPSCoordinates';
|
|
3828
|
+
}
|
|
3829
|
+
# set default GPS tags if necessary
|
|
3830
|
+
if ($writeGPS) {
|
|
3831
|
+
push @tags, qw(XMP:GPSLatitude XMP:GPSLongitude) if $grps{xmp} and not $grps{'xmp-exif'};
|
|
3832
|
+
push @tags, qw(GPSLatitude GPSLongitude GPSLatitudeRef GPSLongitudeRef) if not $wantGroup;
|
|
3833
|
+
}
|
|
3834
|
+
return @tags;
|
|
3835
|
+
}
|
|
3836
|
+
|
|
3786
3837
|
#------------------------------------------------------------------------------
|
|
3787
3838
|
# Get new value hash for specified tagInfo/writeGroup
|
|
3788
3839
|
# Inputs: 0) ExifTool object reference, 1) reference to tag info hash
|
|
@@ -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.64';
|
|
54
54
|
@ISA = qw(Exporter);
|
|
55
55
|
@EXPORT_OK = qw(EscapeXML UnescapeXML);
|
|
56
56
|
|
|
@@ -171,6 +171,7 @@ my %xmpNS = (
|
|
|
171
171
|
pmi => 'http://prismstandard.org/namespaces/pmi/2.2/',
|
|
172
172
|
prm => 'http://prismstandard.org/namespaces/prm/3.0/',
|
|
173
173
|
acdsee => 'http://ns.acdsee.com/iptc/1.0/',
|
|
174
|
+
'acdsee-rs'=> 'http://ns.acdsee.com/regions/',
|
|
174
175
|
digiKam => 'http://www.digikam.org/ns/1.0/',
|
|
175
176
|
swf => 'http://ns.adobe.com/swf/1.0/',
|
|
176
177
|
cell => 'http://developer.sonyericsson.com/cell/1.0/',
|
|
@@ -802,6 +803,10 @@ my %sRangeMask = (
|
|
|
802
803
|
Name => 'acdsee',
|
|
803
804
|
SubDirectory => { TagTable => 'Image::ExifTool::XMP::acdsee' },
|
|
804
805
|
},
|
|
806
|
+
'acdsee-rs' => {
|
|
807
|
+
Name => 'acdsee-rs',
|
|
808
|
+
SubDirectory => { TagTable => 'Image::ExifTool::XMP::ACDSeeRegions' },
|
|
809
|
+
},
|
|
805
810
|
digiKam => {
|
|
806
811
|
Name => 'digiKam',
|
|
807
812
|
SubDirectory => { TagTable => 'Image::ExifTool::XMP::digiKam' },
|
|
@@ -2554,7 +2559,17 @@ my %sPantryItem = (
|
|
|
2554
2559
|
return $val;
|
|
2555
2560
|
},
|
|
2556
2561
|
},
|
|
2557
|
-
ApproximateFocusDistance => {
|
|
2562
|
+
ApproximateFocusDistance => {
|
|
2563
|
+
Writable => 'rational',
|
|
2564
|
+
PrintConv => {
|
|
2565
|
+
4294967295 => 'infinity',
|
|
2566
|
+
OTHER => sub {
|
|
2567
|
+
my ($val, $inv) = @_;
|
|
2568
|
+
return $val eq 'infinity' ? 4294967295 : $val if $inv;
|
|
2569
|
+
return $val eq 4294967295 ? 'infinity' : $val;
|
|
2570
|
+
},
|
|
2571
|
+
},
|
|
2572
|
+
}, #PH (LR3)
|
|
2558
2573
|
# the following new in LR6 (ref forum6497)
|
|
2559
2574
|
IsMergedPanorama => { Writable => 'boolean' },
|
|
2560
2575
|
IsMergedHDR => { Writable => 'boolean' },
|
|
@@ -224,6 +224,7 @@ my %sAppInfo = (
|
|
|
224
224
|
fileDataRate => { Writable => 'rational' },
|
|
225
225
|
genre => { },
|
|
226
226
|
good => { Writable => 'boolean' },
|
|
227
|
+
pick => { Writable => 'integer' }, #forum15815
|
|
227
228
|
instrument => { },
|
|
228
229
|
introTime => { Struct => \%sTime },
|
|
229
230
|
key => {
|
|
@@ -403,6 +404,18 @@ my %sLocationDetails = (
|
|
|
403
404
|
PrintConv => '$val =~ /^(inf|undef)$/ ? $val : "$val m"',
|
|
404
405
|
PrintConvInv => '$val=~s/\s*m$//;$val',
|
|
405
406
|
},
|
|
407
|
+
GPSAltitudeRef => {
|
|
408
|
+
Writable => 'integer',
|
|
409
|
+
PrintConv => {
|
|
410
|
+
OTHER => sub {
|
|
411
|
+
my ($val, $inv) = @_;
|
|
412
|
+
return undef unless $inv and $val =~ /^([-+0-9])/;
|
|
413
|
+
return($1 eq '-' ? 1 : 0);
|
|
414
|
+
},
|
|
415
|
+
0 => 'Above Sea Level',
|
|
416
|
+
1 => 'Below Sea Level',
|
|
417
|
+
},
|
|
418
|
+
},
|
|
406
419
|
);
|
|
407
420
|
my %sCVTermDetails = (
|
|
408
421
|
STRUCT_NAME => 'CVTermDetails',
|
|
@@ -1373,6 +1386,57 @@ my %sSubVersion = (
|
|
|
1373
1386
|
Snapshots => { List => 'Bag', Binary => 1 },
|
|
1374
1387
|
);
|
|
1375
1388
|
|
|
1389
|
+
# ACDSee region tags (ref BKW)
|
|
1390
|
+
my %sACDSeeDimensions = (
|
|
1391
|
+
STRUCT_NAME => 'ACDSeeDimensions',
|
|
1392
|
+
NAMESPACE => {'acdsee-stDim' => 'http://ns.acdsee.com/sType/Dimensions#'},
|
|
1393
|
+
'w' => { Writable => 'real' },
|
|
1394
|
+
'h' => { Writable => 'real' },
|
|
1395
|
+
'unit' => { },
|
|
1396
|
+
);
|
|
1397
|
+
my %sACDSeeArea = (
|
|
1398
|
+
STRUCT_NAME => 'ACDSeeArea',
|
|
1399
|
+
NAMESPACE => { 'acdsee-stArea' => 'http://ns.acdsee.com/sType/Area#' },
|
|
1400
|
+
'x' => { Writable => 'real' },
|
|
1401
|
+
'y' => { Writable => 'real' },
|
|
1402
|
+
w => { Writable => 'real' },
|
|
1403
|
+
h => { Writable => 'real' },
|
|
1404
|
+
);
|
|
1405
|
+
my %sACDSeeRegionStruct = (
|
|
1406
|
+
STRUCT_NAME => 'ACDSeeRegion',
|
|
1407
|
+
NAMESPACE => 'acdsee-rs',
|
|
1408
|
+
ALGArea => { Struct => \%sACDSeeArea },
|
|
1409
|
+
DLYArea => { Struct => \%sACDSeeArea },
|
|
1410
|
+
Name => { },
|
|
1411
|
+
NameAssignType => { },
|
|
1412
|
+
Type => { },
|
|
1413
|
+
);
|
|
1414
|
+
%Image::ExifTool::XMP::ACDSeeRegions = (
|
|
1415
|
+
GROUPS => { 0 => 'XMP', 1 => 'XMP-acdsee-rs', 2 => 'Image' },
|
|
1416
|
+
NAMESPACE => 'acdsee-rs',
|
|
1417
|
+
WRITABLE => 'string',
|
|
1418
|
+
AVOID => 1,
|
|
1419
|
+
Regions => {
|
|
1420
|
+
Name => 'RegionInfoACDSee',
|
|
1421
|
+
FlatName => 'ACDSee',
|
|
1422
|
+
# the "Struct" entry defines the structure fields
|
|
1423
|
+
Struct => {
|
|
1424
|
+
# optional structure name (used for warning messages only)
|
|
1425
|
+
STRUCT_NAME => 'ACDSeeRegionInfo',
|
|
1426
|
+
NAMESPACE => 'acdsee-rs',
|
|
1427
|
+
RegionList => {
|
|
1428
|
+
FlatName => 'Region',
|
|
1429
|
+
Struct => \%sACDSeeRegionStruct,
|
|
1430
|
+
List => 'Bag',
|
|
1431
|
+
},
|
|
1432
|
+
AppliedToDimensions => {
|
|
1433
|
+
FlatName => 'RegionAppliedToDimensions',
|
|
1434
|
+
Struct => \%sACDSeeDimensions,
|
|
1435
|
+
},
|
|
1436
|
+
},
|
|
1437
|
+
},
|
|
1438
|
+
);
|
|
1439
|
+
|
|
1376
1440
|
# Picture Licensing Universal System namespace properties (xmpPLUS)
|
|
1377
1441
|
%Image::ExifTool::XMP::xmpPLUS = (
|
|
1378
1442
|
%xmpTableDefaults,
|