exiftool-vendored.pl 12.76.0 → 12.78.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 (35) hide show
  1. package/bin/Changes +46 -4
  2. package/bin/MANIFEST +4 -0
  3. package/bin/META.json +1 -1
  4. package/bin/META.yml +1 -1
  5. package/bin/README +3 -3
  6. package/bin/config_files/example.config +10 -2
  7. package/bin/exiftool +49 -14
  8. package/bin/lib/Image/ExifTool/Canon.pm +12 -9
  9. package/bin/lib/Image/ExifTool/CanonVRD.pm +7 -1
  10. package/bin/lib/Image/ExifTool/Exif.pm +52 -4
  11. package/bin/lib/Image/ExifTool/GPS.pm +5 -3
  12. package/bin/lib/Image/ExifTool/Geolocation.dat +0 -0
  13. package/bin/lib/Image/ExifTool/Geolocation.pm +237 -0
  14. package/bin/lib/Image/ExifTool/Geotag.pm +1 -1
  15. package/bin/lib/Image/ExifTool/HtmlDump.pm +2 -1
  16. package/bin/lib/Image/ExifTool/Import.pm +5 -2
  17. package/bin/lib/Image/ExifTool/JSON.pm +9 -9
  18. package/bin/lib/Image/ExifTool/MWG.pm +1 -0
  19. package/bin/lib/Image/ExifTool/MacOS.pm +19 -4
  20. package/bin/lib/Image/ExifTool/Nikon.pm +2 -2
  21. package/bin/lib/Image/ExifTool/Ogg.pm +3 -2
  22. package/bin/lib/Image/ExifTool/Olympus.pm +3 -1
  23. package/bin/lib/Image/ExifTool/PDF.pm +5 -5
  24. package/bin/lib/Image/ExifTool/Pentax.pm +1 -1
  25. package/bin/lib/Image/ExifTool/QuickTime.pm +183 -11
  26. package/bin/lib/Image/ExifTool/QuickTimeStream.pl +253 -237
  27. package/bin/lib/Image/ExifTool/TagLookup.pm +77 -3
  28. package/bin/lib/Image/ExifTool/TagNames.pod +113 -4
  29. package/bin/lib/Image/ExifTool/WriteQuickTime.pl +14 -1
  30. package/bin/lib/Image/ExifTool/Writer.pl +9 -8
  31. package/bin/lib/Image/ExifTool.pm +163 -38
  32. package/bin/lib/Image/ExifTool.pod +44 -25
  33. package/bin/perl-Image-ExifTool.spec +2 -2
  34. package/bin/pp_build_exe.args +4 -230
  35. package/package.json +2 -2
@@ -2562,6 +2562,11 @@ my %tagLookup = (
2562
2562
  'dopesheetlinklinkqualifier' => { 523 => [\'DopesheetLink','DopesheetLinkLinkQualifier'] },
2563
2563
  'doublingmicrovolts' => { 141 => 0xc82 },
2564
2564
  'dpp' => { 504 => 'dpp' },
2565
+ 'dprawbokehshift' => { 106 => 0x20b20 },
2566
+ 'dprawbokehshiftarea' => { 106 => 0x20b21 },
2567
+ 'dprawghostingreductionarea' => { 106 => 0x20b30 },
2568
+ 'dprawmicroadjustbackfront' => { 106 => 0x20b10 },
2569
+ 'dprawmicroadjuststrength' => { 106 => 0x20b12 },
2565
2570
  'dr4cameramodel' => { 107 => 0x3 },
2566
2571
  'drangepriority' => { 130 => 0x1443 },
2567
2572
  'drangepriorityauto' => { 130 => 0x1444 },
@@ -2976,7 +2981,7 @@ my %tagLookup = (
2976
2981
  'firmwarename' => { 421 => 0xa001 },
2977
2982
  'firmwarerevision' => { 19 => 0xa4, 66 => 0x1e, 412 => 0x0 },
2978
2983
  'firmwarerevision2' => { 412 => 0xc },
2979
- 'firmwareversion' => { 7 => 0x10b, 11 => 0x136, 14 => 0xff, 15 => 0x107, 141 => [0x415,0xce5], 157 => 0x57, 159 => 'FirmwareVersion', 345 => 0x320, 347 => 0x2, 349 => 0x3109, 382 => 0x230, 407 => ['CNFV','FIRM'], 409 => 0x18, 410 => 0x2a, 414 => 0x2 },
2984
+ 'firmwareversion' => { 7 => 0x10b, 11 => 0x136, 14 => 0xff, 15 => 0x107, 141 => [0x415,0xce5], 157 => 0x57, 159 => 'FirmwareVersion', 345 => 0x320, 347 => 0x2, 349 => 0x3109, 382 => 0x230, 407 => ['CNFV','FIRM','info'], 409 => 0x18, 410 => 0x2a, 414 => 0x2 },
2980
2985
  'firmwareversions' => { 391 => 0x301 },
2981
2986
  'firstphotodate' => { 497 => 'FirstPhotoDate' },
2982
2987
  'firstpublicationdate' => { 333 => 'FirstPublicationDate' },
@@ -3255,6 +3260,7 @@ my %tagLookup = (
3255
3260
  'genrecvtermrefinedabout' => { 523 => [\'Genre','GenreCvTermRefinedAbout'] },
3256
3261
  'genreid' => { 399 => 'geID' },
3257
3262
  'geography' => { 529 => 'geography' },
3263
+ 'geolocate' => { 123 => 'Geolocate' },
3258
3264
  'geologicalcontext' => { 121 => 'GeologicalContext' },
3259
3265
  'geologicalcontextbed' => { 121 => [\'GeologicalContext','GeologicalContextBed'] },
3260
3266
  'geologicalcontextformation' => { 121 => [\'GeologicalContext','GeologicalContextFormation'] },
@@ -6460,7 +6466,7 @@ my %tagLookup = (
6460
6466
  'shutter-aelock' => { 85 => 0x4, 87 => 0x701, 88 => 0x3, 89 => 0x4, 90 => 0x3, 91 => 0x3, 92 => 0x4, 93 => 0x2 },
6461
6467
  'shutteraelbutton' => { 86 => 0x4 },
6462
6468
  'shutterbuttonafonbutton' => { 87 => 0x701 },
6463
- 'shuttercount' => { 11 => 0x176, 30 => 0x293, 33 => 0xaf1, 59 => 0x1, 239 => 0xa7, 267 => [0x6a,0x157,0x24d], 268 => 0x286, 269 => 0x279, 270 => 0x284, 271 => 0x242, 272 => 0x280, 273 => 0x276, 274 => [0x27d,0x27f], 275 => 0x246, 277 => 0x2d6, 278 => 0x321, 279 => 0xbd8, 280 => 0x287, 281 => 0x320, 282 => 0x24a, 283 => 0x5fb, 284 => 0x2d5, 382 => 0x5d, 445 => 0x846, 451 => [0x125,0x14a], 467 => 0x32, 468 => 0x3a, 469 => 0x3a, 470 => 0xa },
6469
+ 'shuttercount' => { 11 => 0x176, 30 => [0xa95,0x293], 33 => 0xaf1, 59 => 0x1, 239 => 0xa7, 267 => [0x6a,0x157,0x24d], 268 => 0x286, 269 => 0x279, 270 => 0x284, 271 => 0x242, 272 => 0x280, 273 => 0x276, 274 => [0x27d,0x27f], 275 => 0x246, 277 => 0x2d6, 278 => 0x321, 279 => 0xbd8, 280 => 0x287, 281 => 0x320, 282 => 0x24a, 283 => 0x5fb, 284 => 0x2d5, 382 => 0x5d, 445 => 0x846, 451 => [0x125,0x14a], 467 => 0x32, 468 => 0x3a, 469 => 0x3a, 470 => 0xa },
6464
6470
  'shuttercount2' => { 467 => 0x4c, 468 => [0x50,0x52,0x58], 469 => 0x50 },
6465
6471
  'shuttercount3' => { 467 => [0x1a0,0x1aa,0x1bd], 468 => [0x19f,0x1cb,0x1cd] },
6466
6472
  'shuttercurtainsync' => { 85 => 0xf, 86 => 0xf, 87 => 0x305, 88 => 0xe, 89 => 0xf, 90 => 0x8, 91 => 0x8, 92 => 0xf, 93 => 0x8 },
@@ -7477,6 +7483,7 @@ my %tagLookup = (
7477
7483
  'writer' => { 182 => 'WM/Writer' },
7478
7484
  'writer-editor' => { 134 => 0x7a },
7479
7485
  'x3filllight' => { 424 => 0x12 },
7486
+ 'xattrmditemwherefroms' => { 177 => 'com.apple.metadata:kMDItemWhereFroms' },
7480
7487
  'xattrquarantine' => { 177 => 'com.apple.quarantine' },
7481
7488
  'xiaomimodel' => { 122 => 0x9a00 },
7482
7489
  'xiaomisettings' => { 122 => 0x9999 },
@@ -7647,6 +7654,12 @@ my %tagExists = (
7647
7654
  'albumname' => 1,
7648
7655
  'albumsortorder' => 1,
7649
7656
  'albumtitlesortorder' => 1,
7657
+ 'alerts' => 1,
7658
+ 'alexa' => 1,
7659
+ 'alexa-paireddevicename' => 1,
7660
+ 'alexa-pairing' => 1,
7661
+ 'alexa-privacymode' => 1,
7662
+ 'alexa-wakewordlanguage' => 1,
7650
7663
  'aliaslayermetadata' => 1,
7651
7664
  'alignment' => 1,
7652
7665
  'allcolorflatfield1' => 1,
@@ -7856,6 +7869,7 @@ my %tagExists = (
7856
7869
  'autolowlightduration' => 1,
7857
7870
  'automationanimation' => 1,
7858
7871
  'automationflags' => 1,
7872
+ 'autopoweroff' => 1,
7859
7873
  'autorotation' => 1,
7860
7874
  'autosavefilepath' => 1,
7861
7875
  'autosaveformat' => 1,
@@ -7979,6 +7993,8 @@ my %tagExists = (
7979
7993
  'bluematrixcolumn' => 1,
7980
7994
  'blueprimary' => 1,
7981
7995
  'bluesample' => 1,
7996
+ 'bluetoothmacaddress' => 1,
7997
+ 'bluetoothname' => 1,
7982
7998
  'bluetrc' => 1,
7983
7999
  'bluex' => 1,
7984
8000
  'bluey' => 1,
@@ -8817,6 +8833,7 @@ my %tagExists = (
8817
8833
  'defaultdisplaywidth' => 1,
8818
8834
  'defaultimagecolor' => 1,
8819
8835
  'defaultrgb' => 1,
8836
+ 'defaultsettings' => 1,
8820
8837
  'defaultstyle' => 1,
8821
8838
  'defectconcealartcorrectthres' => 1,
8822
8839
  'defectconcealthrestable' => 1,
@@ -8872,6 +8889,7 @@ my %tagExists = (
8872
8889
  'devicename' => 1,
8873
8890
  'deviceorientation' => 1,
8874
8891
  'devicesettings' => 1,
8892
+ 'devicesounds' => 1,
8875
8893
  'dex' => 1,
8876
8894
  'dialect' => 1,
8877
8895
  'dicom' => 1,
@@ -9016,6 +9034,7 @@ my %tagExists = (
9016
9034
  'dtvcontent' => 1,
9017
9035
  'dualcameraimage' => 1,
9018
9036
  'dualcameraimagename' => 1,
9037
+ 'dualfiles' => 1,
9019
9038
  'dualshotextra' => 1,
9020
9039
  'ducky' => 1,
9021
9040
  'duedate' => 1,
@@ -9075,6 +9094,7 @@ my %tagExists = (
9075
9094
  'embeddedvideo' => 1,
9076
9095
  'embeddedvideofile' => 1,
9077
9096
  'embeddedvideotype' => 1,
9097
+ 'emergencysos' => 1,
9078
9098
  'emphasis' => 1,
9079
9099
  'empty' => 1,
9080
9100
  'encodedpixelsdimensions' => 1,
@@ -9196,6 +9216,7 @@ my %tagExists = (
9196
9216
  'extrainfo3' => 1,
9197
9217
  'extrasamples' => 1,
9198
9218
  'extraticklocations' => 1,
9219
+ 'extremeweathermode' => 1,
9199
9220
  'f-stop' => 1,
9200
9221
  'f_' => 1,
9201
9222
  'face1birthday' => 1,
@@ -9248,6 +9269,7 @@ my %tagExists = (
9248
9269
  'faxrecvparams' => 1,
9249
9270
  'faxrecvtime' => 1,
9250
9271
  'faxsubaddress' => 1,
9272
+ 'fcc-id' => 1,
9251
9273
  'fdsc' => 1,
9252
9274
  'fedexedr' => 1,
9253
9275
  'fffheader' => 1,
@@ -9416,6 +9438,7 @@ my %tagExists = (
9416
9438
  'footerposition' => 1,
9417
9439
  'footnotes' => 1,
9418
9440
  'form' => 1,
9441
+ 'formatsdcard' => 1,
9419
9442
  'formattag' => 1,
9420
9443
  'formatter' => 1,
9421
9444
  'formatversion' => 1,
@@ -9501,6 +9524,7 @@ my %tagExists = (
9501
9524
  'gamutboundarydescription3' => 1,
9502
9525
  'gapless' => 1,
9503
9526
  'garmingps' => 1,
9527
+ 'garminmodel' => 1,
9504
9528
  'gaudio' => 1,
9505
9529
  'gaussianweights' => 1,
9506
9530
  'gcamera' => 1,
@@ -9545,6 +9569,15 @@ my %tagExists = (
9545
9569
  'geogsemimajoraxis' => 1,
9546
9570
  'geogsemiminoraxis' => 1,
9547
9571
  'geogtowgs84' => 1,
9572
+ 'geolocationbearing' => 1,
9573
+ 'geolocationcity' => 1,
9574
+ 'geolocationcountry' => 1,
9575
+ 'geolocationcountrycode' => 1,
9576
+ 'geolocationdistance' => 1,
9577
+ 'geolocationpopulation' => 1,
9578
+ 'geolocationposition' => 1,
9579
+ 'geolocationregion' => 1,
9580
+ 'geolocationtimezone' => 1,
9548
9581
  'geometricdistortionparams' => 1,
9549
9582
  'georegistrationlocalset' => 1,
9550
9583
  'geotiffversion' => 1,
@@ -9581,6 +9614,7 @@ my %tagExists = (
9581
9614
  'gps360fly' => 1,
9582
9615
  'gpsaltituderaw' => 1,
9583
9616
  'gpsaltitudesystem' => 1,
9617
+ 'gpsdata' => 1,
9584
9618
  'gpsdatalist' => 1,
9585
9619
  'gpsdatalist2' => 1,
9586
9620
  'gpsdatetimeraw' => 1,
@@ -9604,6 +9638,7 @@ my %tagExists = (
9604
9638
  'gpsspeedx' => 1,
9605
9639
  'gpsspeedy' => 1,
9606
9640
  'gpsspeedz' => 1,
9641
+ 'gpsstamp' => 1,
9607
9642
  'gpstargetaltitude' => 1,
9608
9643
  'gpstargetlatitude' => 1,
9609
9644
  'gpstargetlongitude' => 1,
@@ -9861,6 +9896,7 @@ my %tagExists = (
9861
9896
  'imagesensorgain' => 1,
9862
9897
  'imagesourceek' => 1,
9863
9898
  'imagespatialextent' => 1,
9899
+ 'imagestabilisation' => 1,
9864
9900
  'imagestatus' => 1,
9865
9901
  'imagetoolbar' => 1,
9866
9902
  'imageuidlist' => 1,
@@ -10092,6 +10128,7 @@ my %tagExists = (
10092
10128
  'kdc_ifd' => 1,
10093
10129
  'keepexposurewithteleconverter' => 1,
10094
10130
  'keepuntil' => 1,
10131
+ 'keepusersettings' => 1,
10095
10132
  'kelvinwb' => 1,
10096
10133
  'kenwooddata' => 1,
10097
10134
  'keycode' => 1,
@@ -10301,6 +10338,7 @@ my %tagExists = (
10301
10338
  'linksuptodate' => 1,
10302
10339
  'linktarget' => 1,
10303
10340
  'linlogtable' => 1,
10341
+ 'linux' => 1,
10304
10342
  'listtype' => 1,
10305
10343
  'lit' => 1,
10306
10344
  'livephotoinfo' => 1,
@@ -10694,6 +10732,7 @@ my %tagExists = (
10694
10732
  'modeflags' => 1,
10695
10733
  'model2' => 1,
10696
10734
  'modelandversion' => 1,
10735
+ 'modelstamp' => 1,
10697
10736
  'modeltype' => 1,
10698
10737
  'modenumber' => 1,
10699
10738
  'modificationnumber' => 1,
@@ -10775,6 +10814,8 @@ my %tagExists = (
10775
10814
  'mwg-rs' => 1,
10776
10815
  'mxfversion' => 1,
10777
10816
  'mycolors' => 1,
10817
+ 'mynextbase-paireddevicename' => 1,
10818
+ 'mynextbase-pairing' => 1,
10778
10819
  'namedcolor' => 1,
10779
10820
  'namedcolor2' => 1,
10780
10821
  'nametableversion' => 1,
@@ -10783,6 +10824,7 @@ my %tagExists = (
10783
10824
  'nativeresolutionunit' => 1,
10784
10825
  'nativexresolution' => 1,
10785
10826
  'nativeyresolution' => 1,
10827
+ 'nbcd' => 1,
10786
10828
  'ncc' => 1,
10787
10829
  'nemoblurkernel' => 1,
10788
10830
  'nemodarklimit' => 1,
@@ -10804,6 +10846,7 @@ my %tagExists = (
10804
10846
  'newcolortype' => 1,
10805
10847
  'newguid' => 1,
10806
10848
  'newlines' => 1,
10849
+ 'nextbasemeta' => 1,
10807
10850
  'nexttrackid' => 1,
10808
10851
  'nifnonlinearity' => 1,
10809
10852
  'nifnonlinearity12bit' => 1,
@@ -10849,6 +10892,7 @@ my %tagExists = (
10849
10892
  'nsc_name' => 1,
10850
10893
  'nsc_phone' => 1,
10851
10894
  'nullmediaheader' => 1,
10895
+ 'numberlicenseplate' => 1,
10852
10896
  'numberlist' => 1,
10853
10897
  'numberofcomponents' => 1,
10854
10898
  'numberofframes' => 1,
@@ -11106,6 +11150,7 @@ my %tagExists = (
11106
11150
  'parameters' => 1,
11107
11151
  'parasites' => 1,
11108
11152
  'parentalratingreason' => 1,
11153
+ 'parkingmode' => 1,
11109
11154
  'parrotautomation' => 1,
11110
11155
  'parrotfollowme' => 1,
11111
11156
  'parrottimestamp' => 1,
@@ -11291,6 +11336,9 @@ my %tagExists = (
11291
11336
  'previewimagedata' => 1,
11292
11337
  'previewimageinfo' => 1,
11293
11338
  'previewinfo' => 1,
11339
+ 'previewjxl' => 1,
11340
+ 'previewjxllength' => 1,
11341
+ 'previewjxlstart' => 1,
11294
11342
  'previewpdf' => 1,
11295
11343
  'previewpict' => 1,
11296
11344
  'previewpng' => 1,
@@ -11550,6 +11598,7 @@ my %tagExists = (
11550
11598
  'recordedby' => 1,
11551
11599
  'recordeddate' => 1,
11552
11600
  'recordingdates' => 1,
11601
+ 'recordinghistory' => 1,
11553
11602
  'recordinglocation' => 1,
11554
11603
  'recordingtime' => 1,
11555
11604
  'recordingtimeday' => 1,
@@ -11657,6 +11706,7 @@ my %tagExists = (
11657
11706
  'retailprice' => 1,
11658
11707
  'retailpricecurrency' => 1,
11659
11708
  'retouchinfoversion' => 1,
11709
+ 'reversingcamera' => 1,
11660
11710
  'review' => 1,
11661
11711
  'revisiondate' => 1,
11662
11712
  'revisionnumber' => 1,
@@ -11731,6 +11781,7 @@ my %tagExists = (
11731
11781
  'rowinterleavefactor' => 1,
11732
11782
  'rsrc' => 1,
11733
11783
  'rtmd' => 1,
11784
+ 'rtos' => 1,
11734
11785
  'rtptimescale' => 1,
11735
11786
  'runtime' => 1,
11736
11787
  'runtimeepoch' => 1,
@@ -11838,11 +11889,13 @@ my %tagExists = (
11838
11889
  'school' => 1,
11839
11890
  'screenbuffersize' => 1,
11840
11891
  'screendescriptor' => 1,
11892
+ 'screendimming' => 1,
11841
11893
  'screenheight' => 1,
11842
11894
  'screening' => 1,
11843
11895
  'screeningdesc' => 1,
11844
11896
  'screennail' => 1,
11845
11897
  'screenplayby' => 1,
11898
+ 'screensaver' => 1,
11846
11899
  'screenwidth' => 1,
11847
11900
  'screenwindowcenter' => 1,
11848
11901
  'screenwindowwidth' => 1,
@@ -11850,9 +11903,20 @@ my %tagExists = (
11850
11903
  'script' => 1,
11851
11904
  'scriptcommand' => 1,
11852
11905
  'sdc' => 1,
11906
+ 'sdcardclass' => 1,
11907
+ 'sdcardformat' => 1,
11908
+ 'sdcardmanfdate' => 1,
11909
+ 'sdcardmanfid' => 1,
11910
+ 'sdcardmodelno' => 1,
11911
+ 'sdcardoemid' => 1,
11912
+ 'sdcardserialno' => 1,
11913
+ 'sdcardsize' => 1,
11914
+ 'sdcardtype' => 1,
11915
+ 'sdcardusedspace' => 1,
11853
11916
  'sdcc-flp' => 1,
11854
11917
  'searchranking' => 1,
11855
11918
  'secondarygenre' => 1,
11919
+ 'secondcam' => 1,
11856
11920
  'secondlanguage' => 1,
11857
11921
  'security' => 1,
11858
11922
  'securitylocalmetadataset' => 1,
@@ -12076,6 +12140,8 @@ my %tagExists = (
12076
12140
  'spectralviewingconditions' => 1,
12077
12141
  'spectralwhitepoint' => 1,
12078
12142
  'speed' => 1,
12143
+ 'speedstamp' => 1,
12144
+ 'speedunits' => 1,
12079
12145
  'sphericalvideo' => 1,
12080
12146
  'spiff' => 1,
12081
12147
  'spiffversion' => 1,
@@ -12249,6 +12315,7 @@ my %tagExists = (
12249
12315
  'syncstate' => 1,
12250
12316
  'synlyrics' => 1,
12251
12317
  'synopsis' => 1,
12318
+ 'systeminfo' => 1,
12252
12319
  'systemtime' => 1,
12253
12320
  't4options' => 1,
12254
12321
  't6options' => 1,
@@ -12407,10 +12474,12 @@ my %tagExists = (
12407
12474
  'tilegaindeterminationtable' => 1,
12408
12475
  'tileoffsets' => 1,
12409
12476
  'tiles' => 1,
12477
+ 'timeanddate' => 1,
12410
12478
  'timecode' => 1,
12411
12479
  'timecodeindex' => 1,
12412
12480
  'timecodeindexparms' => 1,
12413
12481
  'timeinfo' => 1,
12482
+ 'timelapse' => 1,
12414
12483
  'timelineinfo' => 1,
12415
12484
  'timeoffset' => 1,
12416
12485
  'timereference' => 1,
@@ -12418,6 +12487,7 @@ my %tagExists = (
12418
12487
  'timestamplist' => 1,
12419
12488
  'timestamprandomoffset' => 1,
12420
12489
  'timetosampletable' => 1,
12490
+ 'timezonedst' => 1,
12421
12491
  'title2' => 1,
12422
12492
  'titlelen' => 1,
12423
12493
  'titlenum' => 1,
@@ -12703,6 +12773,7 @@ my %tagExists = (
12703
12773
  'videofullrangeflag' => 1,
12704
12774
  'videoheader' => 1,
12705
12775
  'videoheight' => 1,
12776
+ 'videolength' => 1,
12706
12777
  'videomaxbitrate' => 1,
12707
12778
  'videomaxframerate' => 1,
12708
12779
  'videomode' => 1,
@@ -12844,6 +12915,7 @@ my %tagExists = (
12844
12915
  'webp_flags' => 1,
12845
12916
  'webpage' => 1,
12846
12917
  'weight' => 1,
12918
+ 'what3words' => 1,
12847
12919
  'whitebalancematching' => 1,
12848
12920
  'whitebalancergb' => 1,
12849
12921
  'whitebalancetable' => 1,
@@ -12856,6 +12928,9 @@ my %tagExists = (
12856
12928
  'whitesampleleftborder' => 1,
12857
12929
  'whitesampletopborder' => 1,
12858
12930
  'whitesamplewidth' => 1,
12931
+ 'wi-fimacaddress' => 1,
12932
+ 'wi-fipassword' => 1,
12933
+ 'wi-fissid' => 1,
12859
12934
  'wide' => 1,
12860
12935
  'widthbytes' => 1,
12861
12936
  'widthresolution' => 1,
@@ -12908,7 +12983,6 @@ my %tagExists = (
12908
12983
  'xattrlastuseddate' => 1,
12909
12984
  'xattrmditemdownloadeddate' => 1,
12910
12985
  'xattrmditemfindercomment' => 1,
12911
- 'xattrmditemwherefroms' => 1,
12912
12986
  'xattrmdlabel' => 1,
12913
12987
  'xattrresourcefork' => 1,
12914
12988
  'xcfversion' => 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 27474 tags, with 17233 unique tag names.
15
+ They contain a total of 27565 tags, with 17308 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*
@@ -10115,6 +10117,7 @@ CameraInfo tags for the PowerShot G5 X Mark II.
10115
10117
  Index1 Tag Name Writable
10116
10118
  ------ -------- --------
10117
10119
  659 ShutterCount int32u
10120
+ 2709 ShutterCount int32u
10118
10121
  2849 DirectoryIndex int32u
10119
10122
  2861 FileIndex int32u
10120
10123
 
@@ -12270,6 +12273,11 @@ below by a decimal appended to the tag ID (.0, .1 or .2).
12270
12273
  0x20916 PurpleHSL yes
12271
12274
  0x20917 MagentaHSL yes
12272
12275
  0x20a00 GammaInfo CanonVRD GammaInfo
12276
+ 0x20b10 DPRAWMicroadjustBackFront yes
12277
+ 0x20b12 DPRAWMicroadjustStrength yes
12278
+ 0x20b20 DPRAWBokehShift yes
12279
+ 0x20b21 DPRAWBokehShiftArea yes
12280
+ 0x20b30 DPRAWGhostingReductionArea yes
12273
12281
  0x30101 CropAspectRatio yes
12274
12282
  0x30102 CropAspectRatioCustom yes
12275
12283
  0xf0100 CropInfo CanonVRD CropInfo
@@ -29253,6 +29261,7 @@ for the official specification.
29253
29261
  ThumbnailImage no
29254
29262
  Free? no
29255
29263
  'ftyp' FileType QuickTime FileType
29264
+ 'gdat' GPSData QuickTime Stream
29256
29265
  'gps0' GPSTrack QuickTime Stream
29257
29266
  'gsen' GSensor QuickTime Stream
29258
29267
  'junk' Junk? no
@@ -29264,6 +29273,7 @@ for the official specification.
29264
29273
  'moof' MovieFragment QuickTime MovieFragment
29265
29274
  'moov' Movie QuickTime Movie
29266
29275
  'mpvd' MotionPhotoVideo yes
29276
+ 'nbmt' NextbaseMeta QuickTime Stream
29267
29277
  'pict' PreviewPICT no
29268
29278
  'pnot' Preview QuickTime Preview
29269
29279
  'prrt' ARDroneTelemetry no
@@ -29283,10 +29293,11 @@ for the official specification.
29283
29293
  UUID-Flip QuickTime Flip
29284
29294
  UUID-Canon2 Canon uuid2
29285
29295
  SensorData QuickTime Tags360Fly
29296
+ SensorData no
29286
29297
  JUMBF Jpeg2000
29287
29298
  CBOR CBOR
29288
- SensorData no
29289
29299
  PreviewImage no
29300
+ ThumbnailImage no
29290
29301
  UUID-Unknown? no
29291
29302
  'wide' Wide? no
29292
29303
 
@@ -29295,7 +29306,7 @@ for the official specification.
29295
29306
  The tags below are extracted from timed metadata in QuickTime and other
29296
29307
  formats of video files when the ExtractEmbedded option is used. Although
29297
29308
  most of these tags are combined into the single table below, ExifTool
29298
- currently reads 68 different formats of timed GPS metadata from video files.
29309
+ currently reads 71 different formats of timed GPS metadata from video files.
29299
29310
 
29300
29311
  Tag Name Writable
29301
29312
  -------- --------
@@ -29304,6 +29315,7 @@ currently reads 68 different formats of timed GPS metadata from video files.
29304
29315
  AngularVelocity no
29305
29316
  CTMD Canon CTMD
29306
29317
  CameraDateTime no
29318
+ CameraModel no
29307
29319
  Car no
29308
29320
  DateTimeOriginal no
29309
29321
  Distance no
@@ -30537,12 +30549,15 @@ the config file.
30537
30549
  'cvru' CoverURI string
30538
30550
  'date' DateTimeOriginal string
30539
30551
  'dscp' Description string/
30552
+ 'finm' OriginalFileName no
30540
30553
  'gnre' Genre string/
30541
30554
  'hinf' HintTrackInfo QuickTime HintTrackInfo
30542
30555
  'hinv' HintVersion string
30543
30556
  'hnti' HintInfo QuickTime HintInfo
30544
30557
  'htcb' HTCBinary QuickTime HTCBinary
30545
30558
  'icnu' IconURI string
30559
+ 'infi' CameraInfo QuickTime Nextbase
30560
+ 'info' FirmwareVersion string
30546
30561
  'infu' InfoURL string
30547
30562
  'kgtt' TrackType string
30548
30563
  'kywd' Keywords no
@@ -30574,9 +30589,11 @@ the config file.
30574
30589
  ThumbnailImage string
30575
30590
  ThumbnailPNG string
30576
30591
  UnknownThumbnail string
30592
+ 'time' TimeStamp no
30577
30593
  'titl' Title string/
30578
30594
  'urat' UserRating undef/
30579
30595
  'uuid' GarminSoftware string
30596
+ GarminModel no
30580
30597
  UUID-Unknown? no
30581
30598
  'vndr' Vendor string
30582
30599
  'vrot' AccelerometerData no
@@ -30691,6 +30708,83 @@ Tags found in TomTom Bandit Action Cam MP4 videos.
30691
30708
  ------ -------- --------
30692
30709
  [no tags known]
30693
30710
 
30711
+ =head3 QuickTime Nextbase Tags
30712
+
30713
+ Tags found in 'infi' atom from some Nextbase videos. As well as these tags,
30714
+ other existing tags are also extracted. These tags are not currently
30715
+ writable but they may all be removed by deleting the Nextbase group.
30716
+
30717
+ Tag ID Tag Name Writable
30718
+ ------ -------- --------
30719
+ '2nd Cam' SecondCam no
30720
+ 'Alerts' Alerts no
30721
+ 'Alexa' Alexa no
30722
+ 'Alexa - Paired Device Name'
30723
+ Alexa-PairedDeviceName no
30724
+ 'Alexa - Pairing' Alexa-Pairing no
30725
+ 'Alexa - Privacy Mode' Alexa-PrivacyMode no
30726
+ 'Alexa - Wake Word Language'
30727
+ Alexa-WakeWordLanguage no
30728
+ 'Audio' Audio no
30729
+ 'Auto Power Off' AutoPowerOff no
30730
+ 'Battery Status' BatteryStatus no
30731
+ 'Bluetooth MAC Address' BluetoothMACAddress no
30732
+ 'Bluetooth Name' BluetoothName no
30733
+ 'Country' Country no
30734
+ 'Default Settings' DefaultSettings no
30735
+ 'Device Sounds' DeviceSounds no
30736
+ 'Dual Files' DualFiles no
30737
+ 'Emergency SOS' EmergencySOS no
30738
+ 'Exposure' Exposure no
30739
+ 'Extreme Weather Mode' ExtremeWeatherMode no
30740
+ 'FCC-ID' FCC-ID no
30741
+ 'Firmware' Firmware no
30742
+ 'Firmware Version' FirmwareVersion no
30743
+ 'Format SD Card' FormatSDCard no
30744
+ 'G Sensor' GSensor no
30745
+ 'GPS Stamp' GPSStamp no
30746
+ 'Image Stabilisation' ImageStabilisation no
30747
+ 'Keep User Settings' KeepUserSettings no
30748
+ 'Language' Language no
30749
+ 'Linux' Linux no
30750
+ 'Model' Model no
30751
+ 'Model Stamp' ModelStamp no
30752
+ 'MyNextbase - Paired Device Name'
30753
+ MyNextbase-PairedDeviceName no
30754
+ 'MyNextbase - Pairing' MyNextbase-Pairing no
30755
+ 'NBCD' NBCD no
30756
+ 'Number / License Plate' NumberLicensePlate no
30757
+ 'Parking Mode' ParkingMode no
30758
+ 'RTOS' RTOS no
30759
+ 'Recording History' RecordingHistory no
30760
+ 'Resolution' Resolution no
30761
+ 'Reversing Camera' ReversingCamera no
30762
+ 'SD Card Class' SDCardClass no
30763
+ 'SD Card Format' SDCardFormat no
30764
+ 'SD Card Manf Date' SDCardManfDate no
30765
+ 'SD Card Manf ID' SDCardManfID no
30766
+ 'SD Card Model No' SDCardModelNo no
30767
+ 'SD Card OEM ID' SDCardOEMID no
30768
+ 'SD Card Serial No' SDCardSerialNo no
30769
+ 'SD Card Size' SDCardSize no
30770
+ 'SD Card Type' SDCardType no
30771
+ 'SD Card Used Space' SDCardUsedSpace no
30772
+ 'Screen Dimming' ScreenDimming no
30773
+ 'Screen Saver' ScreenSaver no
30774
+ 'Serial No' SerialNumber no
30775
+ 'Speed Stamp' SpeedStamp no
30776
+ 'Speed Units' SpeedUnits no
30777
+ 'System Info' SystemInfo no
30778
+ 'Time & Date' TimeAndDate no
30779
+ 'Time Lapse' TimeLapse no
30780
+ 'Time Stamp' VideoTimeStamp no
30781
+ 'Time Zone / DST' TimeZoneDST no
30782
+ 'Video Length' VideoLength no
30783
+ 'Wi-Fi MAC Address' Wi-FiMACAddress no
30784
+ 'Wi-Fi Password' Wi-FiPassword no
30785
+ 'Wi-Fi SSID' Wi-FiSSID no
30786
+ 'what3words' What3Words no
30787
+
30694
30788
  =head3 QuickTime Video Tags
30695
30789
 
30696
30790
  Index1 Tag Name Writable
@@ -39363,7 +39457,7 @@ these files directly.
39363
39457
  XAttrLastUsedDate no
39364
39458
  XAttrMDItemDownloadedDate no
39365
39459
  XAttrMDItemFinderComment no
39366
- XAttrMDItemWhereFroms no
39460
+ XAttrMDItemWhereFroms yes!
39367
39461
  XAttrMDLabel no
39368
39462
  XAttrQuarantine yes!
39369
39463
  XAttrResourceFork no
@@ -39561,6 +39655,16 @@ FileName.
39561
39655
  FileTypeExtension File no
39562
39656
  FileUserID System yes!
39563
39657
  ForceWrite - yes
39658
+ Geolocate - yes
39659
+ GeolocationBearing ExifTool no
39660
+ GeolocationCity ExifTool no
39661
+ GeolocationCountry ExifTool no
39662
+ GeolocationCountryCode ExifTool no
39663
+ GeolocationDistance ExifTool no
39664
+ GeolocationPopulation ExifTool no
39665
+ GeolocationPosition ExifTool no
39666
+ GeolocationRegion ExifTool no
39667
+ GeolocationTimeZone ExifTool no
39564
39668
  Geosync - yes
39565
39669
  Geotag - yes
39566
39670
  Geotime - yes
@@ -39583,6 +39687,7 @@ FileName.
39583
39687
  OtherImage File no
39584
39688
  PageCount File no
39585
39689
  PreviewImage File yes
39690
+ PreviewJXL File no
39586
39691
  PreviewPDF File no
39587
39692
  PreviewPNG File no
39588
39693
  PreviewTIFF File no
@@ -39846,6 +39951,10 @@ values, may created via the ExifTool configuration file.
39846
39951
  PreviewImage ScreenNail no
39847
39952
  PreviewImageSize PreviewImageWidth no
39848
39953
  PreviewImageHeight
39954
+ PreviewJXL PreviewJXLStart no
39955
+ PreviewJXLLength
39956
+ PreviewJXLStart (1)
39957
+ PreviewJXLLength (1)
39849
39958
  RedBalance WB_RGGBLevels no
39850
39959
  WB_RGBGLevels
39851
39960
  WB_RBGGLevels
@@ -356,6 +356,18 @@ sub SetVarInt($$)
356
356
  return '';
357
357
  }
358
358
 
359
+ #------------------------------------------------------------------------------
360
+ # Write Nextbase infi atom (ref PH)
361
+ # Inputs: 0) ExifTool object ref, 1) dirInfo ref, 2) tag table ref
362
+ # Returns: updated infi data
363
+ sub WriteNextbase($$$)
364
+ {
365
+ my ($et, $dirInfo, $tagTablePtr) = @_;
366
+ $et or return 1;
367
+ $$et{DEL_GROUP}{Nextbase} and ++$$et{CHANGED}, return '';
368
+ return ${$$dirInfo{DataPt}};
369
+ }
370
+
359
371
  #------------------------------------------------------------------------------
360
372
  # Write Meta Keys to add/delete entries as necessary ('mdta' handler) (ref PH)
361
373
  # Inputs: 0) ExifTool object ref, 1) dirInfo ref, 2) tag table ref
@@ -1619,7 +1631,8 @@ sub WriteQuickTime($$$)
1619
1631
  if ($isEmpty) {
1620
1632
  $et->VPrint(0,' Deleting ' . join('+', sort map { $emptyMeta{$_} } keys %boxPos)) if %boxPos;
1621
1633
  $$outfile = '';
1622
- ++$$et{CHANGED};
1634
+ # (could report a file if editing nothing when it contained an empty Meta atom)
1635
+ # ++$$et{CHANGED};
1623
1636
  }
1624
1637
  if ($curPath eq 'MOV-Movie-Meta') {
1625
1638
  delete $$addDirs{Keys}; # prevent creation of another Meta for Keys tags