exiftool-vendored.pl 12.40.0 → 12.43.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 (45) hide show
  1. package/bin/Changes +71 -6
  2. package/bin/META.json +1 -1
  3. package/bin/META.yml +1 -1
  4. package/bin/README +2 -2
  5. package/bin/arg_files/exif2xmp.args +5 -0
  6. package/bin/arg_files/xmp2exif.args +6 -0
  7. package/bin/exiftool +54 -22
  8. package/bin/lib/Image/ExifTool/Apple.pm +11 -2
  9. package/bin/lib/Image/ExifTool/Canon.pm +45 -22
  10. package/bin/lib/Image/ExifTool/DJI.pm +60 -1
  11. package/bin/lib/Image/ExifTool/DNG.pm +8 -2
  12. package/bin/lib/Image/ExifTool/DarwinCore.pm +12 -1
  13. package/bin/lib/Image/ExifTool/Exif.pm +11 -2
  14. package/bin/lib/Image/ExifTool/FlashPix.pm +14 -1
  15. package/bin/lib/Image/ExifTool/FujiFilm.pm +21 -2
  16. package/bin/lib/Image/ExifTool/Geotag.pm +24 -4
  17. package/bin/lib/Image/ExifTool/ICC_Profile.pm +10 -8
  18. package/bin/lib/Image/ExifTool/ID3.pm +5 -5
  19. package/bin/lib/Image/ExifTool/LNK.pm +5 -2
  20. package/bin/lib/Image/ExifTool/MacOS.pm +9 -9
  21. package/bin/lib/Image/ExifTool/MakerNotes.pm +17 -1
  22. package/bin/lib/Image/ExifTool/Nikon.pm +21 -6
  23. package/bin/lib/Image/ExifTool/NikonCustom.pm +4 -1
  24. package/bin/lib/Image/ExifTool/Olympus.pm +22 -2
  25. package/bin/lib/Image/ExifTool/PDF.pm +2 -1
  26. package/bin/lib/Image/ExifTool/Panasonic.pm +10 -1
  27. package/bin/lib/Image/ExifTool/Parrot.pm +1 -0
  28. package/bin/lib/Image/ExifTool/Pentax.pm +1 -1
  29. package/bin/lib/Image/ExifTool/Photoshop.pm +6 -5
  30. package/bin/lib/Image/ExifTool/QuickTime.pm +1 -1
  31. package/bin/lib/Image/ExifTool/QuickTimeStream.pl +40 -8
  32. package/bin/lib/Image/ExifTool/README +5 -1
  33. package/bin/lib/Image/ExifTool/Samsung.pm +233 -2
  34. package/bin/lib/Image/ExifTool/Shortcuts.pm +3 -1
  35. package/bin/lib/Image/ExifTool/Sony.pm +35 -31
  36. package/bin/lib/Image/ExifTool/TagLookup.pm +2510 -2479
  37. package/bin/lib/Image/ExifTool/TagNames.pod +137 -85
  38. package/bin/lib/Image/ExifTool/WritePhotoshop.pl +5 -5
  39. package/bin/lib/Image/ExifTool/WriteQuickTime.pl +2 -2
  40. package/bin/lib/Image/ExifTool/Writer.pl +2 -1
  41. package/bin/lib/Image/ExifTool.pm +40 -16
  42. package/bin/lib/Image/ExifTool.pod +13 -4
  43. package/bin/perl-Image-ExifTool.spec +1 -1
  44. package/bin/pp_build_exe.args +4 -4
  45. package/package.json +14 -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 25775 tags, with 16465 unique tag names.
15
+ They contain a total of 25802 tags, with 16493 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
@@ -629,6 +629,7 @@ for the official EXIF 2.32 specification.
629
629
  MakerNoteCanon ExifIFD Canon
630
630
  MakerNoteCasio ExifIFD Casio
631
631
  MakerNoteCasio2 ExifIFD Casio Type2
632
+ MakerNoteDJIInfo ExifIFD DJI Info
632
633
  MakerNoteDJI ExifIFD DJI
633
634
  MakerNoteFLIR ExifIFD FLIR
634
635
  MakerNoteFujiFilm ExifIFD FujiFilm
@@ -669,6 +670,7 @@ for the official EXIF 2.32 specification.
669
670
  MakerNoteNintendo ExifIFD Nintendo
670
671
  MakerNoteOlympus ExifIFD Olympus
671
672
  MakerNoteOlympus2 ExifIFD Olympus
673
+ MakerNoteOlympus3 ExifIFD Olympus
672
674
  MakerNoteLeica ExifIFD Panasonic
673
675
  MakerNoteLeica2 ExifIFD Panasonic Leica2
674
676
  MakerNoteLeica3 ExifIFD Panasonic Leica3
@@ -853,6 +855,7 @@ for the official EXIF 2.32 specification.
853
855
  MakerNotePentax IFD0 Pentax
854
856
  MakerNotePentax5 IFD0 Pentax
855
857
  MakerNoteRicohPentax IFD0 Pentax
858
+ MakerNoteDJIInfo IFD0 DJI Info
856
859
  DNGPrivateData IFD0 int8u!
857
860
  0xc635 MakerNoteSafety IFD0 int16u
858
861
  0xc640 RawImageSegmentation - no
@@ -6754,6 +6757,7 @@ Metadata tags that exist.
6754
6757
 
6755
6758
  Tag Name Writable
6756
6759
  -------- --------
6760
+ CreatorApp no
6757
6761
  ManufacturerName no
6758
6762
  MediaColor no
6759
6763
  MediaWeight no
@@ -6978,6 +6982,7 @@ Tags extracted from the maker notes of iPhone images.
6978
6982
  0x0008 AccelerationVector rational64s[3]
6979
6983
  0x000a HDRImageType int32s
6980
6984
  0x000b BurstUUID string
6985
+ 0x000c FocusDistanceRange rational64s[2]
6981
6986
  0x0011 MediaGroupUUID string
6982
6987
  0x0015 ImageUniqueID string
6983
6988
 
@@ -8402,16 +8407,16 @@ WB tags for the Canon G9.
8402
8407
 
8403
8408
  Index4 Tag Name Writable
8404
8409
  ------ -------- --------
8405
- 2 WB_GRGBLevelsAuto int32s[4]
8406
- 10 WB_GRGBLevelsDaylight int32s[4]
8407
- 18 WB_GRGBLevelsCloudy int32s[4]
8408
- 26 WB_GRGBLevelsTungsten int32s[4]
8409
- 34 WB_GRGBLevelsFluorescent int32s[4]
8410
- 42 WB_GRGBLevelsFluorHigh int32s[4]
8411
- 50 WB_GRGBLevelsFlash int32s[4]
8412
- 58 WB_GRGBLevelsUnderwater int32s[4]
8413
- 66 WB_GRGBLevelsCustom1 int32s[4]
8414
- 74 WB_GRGBLevelsCustom2 int32s[4]
8410
+ 2 WB_GRBGLevelsAuto int32s[4]
8411
+ 10 WB_GRBGLevelsDaylight int32s[4]
8412
+ 18 WB_GRBGLevelsCloudy int32s[4]
8413
+ 26 WB_GRBGLevelsTungsten int32s[4]
8414
+ 34 WB_GRBGLevelsFluorescent int32s[4]
8415
+ 42 WB_GRBGLevelsFluorHigh int32s[4]
8416
+ 50 WB_GRBGLevelsFlash int32s[4]
8417
+ 58 WB_GRBGLevelsUnderwater int32s[4]
8418
+ 66 WB_GRBGLevelsCustom1 int32s[4]
8419
+ 74 WB_GRBGLevelsCustom2 int32s[4]
8415
8420
 
8416
8421
  =head3 Canon FaceDetect3 Tags
8417
8422
 
@@ -10650,6 +10655,30 @@ These tags belong to the ExifTool XMP-drone-dji family 1 group.
10650
10655
  RtkStdLon real
10651
10656
  SelfData string
10652
10657
 
10658
+ =head3 DJI Info Tags
10659
+
10660
+ Tags written by some DJI drones.
10661
+
10662
+ Tag ID Tag Name Writable
10663
+ ------ -------- --------
10664
+ 'FlightDegree(Y,P,R)' FlightDegree no
10665
+ 'FlightSpeed(X,Y,Z)' FlightSpeed no
10666
+ 'GimbalDegree(Y,P,R)' GimbalDegree no
10667
+ 'adj_dbg_info' ADJDebugInfo no
10668
+ 'ae_dbg_info' AEDebugInfo no
10669
+ 'ae_histogram_info' AEHistogramInfo no
10670
+ 'ae_liveview_histogram_info'
10671
+ AELiveViewHistogramInfo no
10672
+ 'ae_liveview_local_histogram'
10673
+ AELiveViewLocalHistogram no
10674
+ 'ae_local_histogram' AELocalHistogram no
10675
+ 'af_dbg_info' AFDebugInfo no
10676
+ 'awb_dbg_info' AWBDebugInfo no
10677
+ 'hiso' Histogram no
10678
+ 'hyperlapse_dbg_info' HyperlapsDebugInfo no
10679
+ 'sensor_id' SensorID no
10680
+ 'xidiri' Xidiri no
10681
+
10653
10682
  =head3 DJI ThermalParams Tags
10654
10683
 
10655
10684
  Thermal parameters extracted from APP4 of DJI RJPEG files from the ZH20T.
@@ -16640,6 +16669,7 @@ any information found here will be extracted, even if the tag is not listed.
16640
16669
  0x0306 AFFineTune int8u
16641
16670
  0x0307 AFFineTuneAdj int16s[3]
16642
16671
  0x0308 FocusBracketStepSize int8u
16672
+ 0x0309 AISubjectTrackingMode int16u
16643
16673
  0x0400 FlashMode int16u
16644
16674
  0x0401 FlashExposureComp rational64s
16645
16675
  0x0403 FlashRemoteControl int16u
@@ -17431,29 +17461,30 @@ iPalm.
17431
17461
  Tags extracted from the PANA and LEIC user data found in MP4 videos from
17432
17462
  various Panasonic and Leica models.
17433
17463
 
17434
- Index1 Tag Name Writable
17435
- ------ -------- --------
17436
- 0 Make no
17437
- 4 Model no
17438
- 12 Model no
17439
- 16 JPEG-likeData EXIF
17440
- 22 Model no
17441
- 52 Version1 no
17442
- 62 Version2 no
17443
- 80 MakerNoteLeica5 Panasonic Leica5
17444
- 88 ThumbnailWidth no
17445
- 90 ThumbnailHeight no
17446
- 92 ThumbnailImage no
17447
- 1334 ThumbnailWidth no
17448
- 1338 ThumbnailHeight no
17449
- 1342 ThumbnailLength no
17450
- 1350 ThumbnailImage no
17451
- 1358 ThumbnailWidth no
17452
- 1362 ThumbnailHeight no
17453
- 1366 ThumbnailLength no
17454
- 1374 ThumbnailImage no
17455
- 16488 ExifData EXIF
17456
- 16512 ExifData EXIF
17464
+ Index1 Tag Name Writable
17465
+ ------ -------- --------
17466
+ 0 Make no
17467
+ 4 Model no
17468
+ 12 Model no
17469
+ 16 JPEG-likeData EXIF
17470
+ 22 Model no
17471
+ 52 Version1 no
17472
+ 62 Version2 no
17473
+ 80 MakerNoteLeica5 Panasonic Leica5
17474
+ 88 ThumbnailWidth no
17475
+ 90 ThumbnailHeight no
17476
+ 92 ThumbnailImage no
17477
+ 1334 ThumbnailWidth no
17478
+ 1338 ThumbnailHeight no
17479
+ 1342 ThumbnailLength no
17480
+ 1350 ThumbnailImage no
17481
+ 1358 ThumbnailWidth no
17482
+ 1362 ThumbnailHeight no
17483
+ 1366 ThumbnailLength no
17484
+ 1374 ThumbnailImage no
17485
+ 16488 ExifData EXIF
17486
+ 16512 ExifData EXIF
17487
+ 0x00200080 ExifData EXIF
17457
17488
 
17458
17489
  =head2 Pentax Tags
17459
17490
 
@@ -20759,39 +20790,39 @@ Tags in the encrypted SR2SubIFD
20759
20790
 
20760
20791
  Tag ID Tag Name Writable
20761
20792
  ------ -------- --------
20762
- 0x7300 BlackLevel no
20763
- 0x7302 WB_GRBGLevelsAuto no
20764
- 0x7303 WB_GRBGLevels no
20765
- 0x7310 BlackLevel no
20766
- 0x7312 WB_RGGBLevelsAuto no
20767
- 0x7313 WB_RGGBLevels no
20768
- 0x7480 WB_RGBLevelsDaylight no
20769
- 0x7481 WB_RGBLevelsCloudy no
20770
- 0x7482 WB_RGBLevelsTungsten no
20771
- 0x7483 WB_RGBLevelsFlash no
20772
- 0x7484 WB_RGBLevels4500K no
20773
- 0x7486 WB_RGBLevelsFluorescent no
20793
+ 0x7300 BlackLevel int16u[4]!
20794
+ 0x7302 WB_GRBGLevelsAuto int16s[4]!
20795
+ 0x7303 WB_GRBGLevels int16s[4]!
20796
+ 0x7310 BlackLevel int16u[4]!
20797
+ 0x7312 WB_RGGBLevelsAuto int16s[4]!
20798
+ 0x7313 WB_RGGBLevels int16s[4]!
20799
+ 0x7480 WB_RGBLevelsDaylight int16s[4]!
20800
+ 0x7481 WB_RGBLevelsCloudy int16s[4]!
20801
+ 0x7482 WB_RGBLevelsTungsten int16s[4]!
20802
+ 0x7483 WB_RGBLevelsFlash int16s[4]!
20803
+ 0x7484 WB_RGBLevels4500K int16s[4]!
20804
+ 0x7486 WB_RGBLevelsFluorescent int16s[4]!
20774
20805
  0x74a0 MaxApertureAtMaxFocal no
20775
20806
  0x74a1 MaxApertureAtMinFocal no
20776
20807
  0x74a2 MaxFocalLength no
20777
20808
  0x74a3 MinFocalLength no
20778
20809
  0x74c0 SR2DataIFD Sony SR2DataIFD
20779
20810
  0x7800 ColorMatrix no
20780
- 0x7820 WB_RGBLevelsDaylight no
20781
- 0x7821 WB_RGBLevelsCloudy no
20782
- 0x7822 WB_RGBLevelsTungsten no
20783
- 0x7823 WB_RGBLevelsFlash no
20784
- 0x7824 WB_RGBLevels4500K no
20785
- 0x7825 WB_RGBLevelsShade no
20786
- 0x7826 WB_RGBLevelsFluorescent no
20787
- 0x7827 WB_RGBLevelsFluorescentP1 no
20788
- 0x7828 WB_RGBLevelsFluorescentP2 no
20789
- 0x7829 WB_RGBLevelsFluorescentM1 no
20790
- 0x782a WB_RGBLevels8500K no
20791
- 0x782b WB_RGBLevels6000K no
20792
- 0x782c WB_RGBLevels3200K no
20793
- 0x782d WB_RGBLevels2500K no
20794
- 0x787f WhiteLevel no
20811
+ 0x7820 WB_RGBLevelsDaylight int16s[3]!
20812
+ 0x7821 WB_RGBLevelsCloudy int16s[3]!
20813
+ 0x7822 WB_RGBLevelsTungsten int16s[3]!
20814
+ 0x7823 WB_RGBLevelsFlash int16s[3]!
20815
+ 0x7824 WB_RGBLevels4500K int16s[3]!
20816
+ 0x7825 WB_RGBLevelsShade int16s[3]!
20817
+ 0x7826 WB_RGBLevelsFluorescent int16s[3]!
20818
+ 0x7827 WB_RGBLevelsFluorescentP1 int16s[3]!
20819
+ 0x7828 WB_RGBLevelsFluorescentP2 int16s[3]!
20820
+ 0x7829 WB_RGBLevelsFluorescentM1 int16s[3]!
20821
+ 0x782a WB_RGBLevels8500K int16s[3]!
20822
+ 0x782b WB_RGBLevels6000K int16s[3]!
20823
+ 0x782c WB_RGBLevels3200K int16s[3]!
20824
+ 0x782d WB_RGBLevels2500K int16s[3]!
20825
+ 0x787f WhiteLevel int16u[3]!
20795
20826
  0x797d VignettingCorrParams no
20796
20827
  0x7980 ChromaticAberrationCorrParams no
20797
20828
  0x7982 DistortionCorrParams no
@@ -20954,6 +20985,7 @@ still proprietary) Adobe format.
20954
20985
  MakerNoteCanon Canon
20955
20986
  MakerNoteCasio Casio
20956
20987
  MakerNoteCasio2 Casio Type2
20988
+ MakerNoteDJIInfo DJI Info
20957
20989
  MakerNoteDJI DJI
20958
20990
  MakerNoteFLIR FLIR
20959
20991
  MakerNoteFujiFilm FujiFilm
@@ -20994,6 +21026,7 @@ still proprietary) Adobe format.
20994
21026
  MakerNoteNintendo Nintendo
20995
21027
  MakerNoteOlympus Olympus
20996
21028
  MakerNoteOlympus2 Olympus
21029
+ MakerNoteOlympus3 Olympus
20997
21030
  MakerNoteLeica Panasonic
20998
21031
  MakerNoteLeica2 Panasonic Leica2
20999
21032
  MakerNoteLeica3 Panasonic Leica3
@@ -21624,28 +21657,29 @@ unrecognized Windows Compound Binary file as a FlashPix (FPX) file. See
21624
21657
  L<http://graphcomp.com/info/specs/livepicture/fpx.pdf> for the FlashPix
21625
21658
  specification.
21626
21659
 
21627
- Tag ID Tag Name Writable
21628
- ------ -------- --------
21629
- "\x01CompObj" CompObj FlashPix CompObj
21630
- "\x05Audio Info" AudioInfo FlashPix AudioInfo
21631
- "\x05Data Object" DataObject FlashPix DataObject
21660
+ Tag ID Tag Name Writable
21661
+ ------ -------- --------
21662
+ "\x01CompObj" CompObj FlashPix CompObj
21663
+ "\x05Audio Info" AudioInfo FlashPix AudioInfo
21664
+ "\x05Data Object" DataObject FlashPix DataObject
21632
21665
  "\x05DocumentSummaryInformation" DocumentInfo FlashPix DocumentInfo
21633
- "\x05Extension List" Extensions FlashPix Extensions
21634
- "\x05Global Info" GlobalInfo FlashPix GlobalInfo
21635
- "\x05Image Contents" Image FlashPix Image
21636
- "\x05Image Info" ImageInfo FlashPix ImageInfo
21637
- "\x05Operation" Operation FlashPix Operation
21638
- "\x05Screen Nail" ScreenNail no
21639
- "\x05SummaryInformation" SummaryInfo FlashPix SummaryInfo
21640
- "\x05Transform" Transform FlashPix Transform
21641
- 'Audio Stream' AudioStream no
21642
- 'Contents' Contents XMP
21643
- 'Current User' CurrentUser no
21644
- 'ICC Profile 0001' ICC_Profile ICC_Profile
21645
- 'Preview' PreviewImage no
21646
- 'Property' PreviewInfo FlashPix PreviewInfo
21647
- 'Subimage 0000 Header' SubimageHdr FlashPix SubimageHdr
21648
- 'WordDocument' WordDocument FlashPix WordDocument
21666
+ "\x05Extension List" Extensions FlashPix Extensions
21667
+ "\x05Global Info" GlobalInfo FlashPix GlobalInfo
21668
+ "\x05Image Contents" Image FlashPix Image
21669
+ "\x05Image Info" ImageInfo FlashPix ImageInfo
21670
+ "\x05Operation" Operation FlashPix Operation
21671
+ "\x05Screen Nail" ScreenNail no
21672
+ "\x05SummaryInformation" SummaryInfo FlashPix SummaryInfo
21673
+ "\x05Transform" Transform FlashPix Transform
21674
+ 'Audio Stream' AudioStream no
21675
+ 'BasicFileInfo' BasicFileInfo no
21676
+ 'Contents' Contents XMP
21677
+ 'Current User' CurrentUser no
21678
+ 'ICC Profile 0001' ICC_Profile ICC_Profile
21679
+ 'Preview' PreviewImage no
21680
+ 'Property' PreviewInfo FlashPix PreviewInfo
21681
+ 'Subimage 0000 Header' SubimageHdr FlashPix SubimageHdr
21682
+ 'WordDocument' WordDocument FlashPix WordDocument
21649
21683
 
21650
21684
  =head3 FlashPix CompObj Tags
21651
21685
 
@@ -23738,6 +23772,7 @@ These tags belong to the ExifTool XMP-dwc family 1 group.
23738
23772
  DCVerbatimLocality string_
23739
23773
  DCVerbatimLongitude string_
23740
23774
  DCVerbatimSRS string_
23775
+ DCVerticalDatum string_
23741
23776
  DCWaterBody string_
23742
23777
  DCEvent DarwinCore Event Struct
23743
23778
  EventDay integer_
@@ -23810,7 +23845,9 @@ These tags belong to the ExifTool XMP-dwc family 1 group.
23810
23845
  IdentificationRemarks string_
23811
23846
  IdentificationVerificationStatus string_
23812
23847
  IdentifiedBy string_
23848
+ IdentifiedByID string_
23813
23849
  TypeStatus string_
23850
+ VerbatimIdentification string_
23814
23851
  LivingSpecimen DarwinCore MaterialSample Struct
23815
23852
  LivingSpecimenMaterialSampleID string_
23816
23853
  MachineObservation DarwinCore Event Struct
@@ -23854,8 +23891,10 @@ These tags belong to the ExifTool XMP-dwc family 1 group.
23854
23891
  OccurrenceAssociatedTaxa string_
23855
23892
  OccurrenceBehavior string_
23856
23893
  OccurrenceCatalogNumber string_
23894
+ OccurrenceDegreeOfEstablishment string_
23857
23895
  OccurrenceDisposition string_
23858
23896
  OccurrenceEstablishmentMeans string_
23897
+ OccurrenceGeoreferenceVerificationStatus string_
23859
23898
  OccurrenceIndividualCount string_
23860
23899
  OccurrenceIndividualID string_
23861
23900
  OccurrenceLifeStage string_
@@ -23869,6 +23908,7 @@ These tags belong to the ExifTool XMP-dwc family 1 group.
23869
23908
  OccurrencePreparations string_
23870
23909
  OccurrencePreviousIdentifications string_
23871
23910
  OccurrenceRecordedBy string_
23911
+ OccurrenceRecordedByID string_
23872
23912
  OccurrenceRecordNumber string_
23873
23913
  OccurrenceReproductiveCondition string_
23874
23914
  OccurrenceSex string_
@@ -23899,6 +23939,7 @@ These tags belong to the ExifTool XMP-dwc family 1 group.
23899
23939
  RelationshipAccordingTo string_
23900
23940
  RelationshipEstablishedDate date_
23901
23941
  RelationshipOfResource string_
23942
+ RelationshipOfResourceID string_
23902
23943
  RelationshipRemarks string_
23903
23944
  ResourceID string_
23904
23945
  ResourceRelationshipID string_
@@ -23906,6 +23947,7 @@ These tags belong to the ExifTool XMP-dwc family 1 group.
23906
23947
  TaxonAcceptedNameUsage string_
23907
23948
  TaxonAcceptedNameUsageID string_
23908
23949
  TaxonClass string_
23950
+ TaxonCultivarEpithet string_
23909
23951
  TaxonFamily string_
23910
23952
  TaxonGenus string_
23911
23953
  TaxonHigherClassification string_
@@ -23984,6 +24026,7 @@ These tags belong to the ExifTool XMP-dwc family 1 group.
23984
24026
  VerbatimLocality string
23985
24027
  VerbatimLongitude string
23986
24028
  VerbatimSRS string
24029
+ VerticalDatum string
23987
24030
  WaterBody string
23988
24031
 
23989
24032
  =head3 DarwinCore Event Struct
@@ -24051,7 +24094,9 @@ These tags belong to the ExifTool XMP-dwc family 1 group.
24051
24094
  IdentificationRemarks string
24052
24095
  IdentificationVerificationStatus string
24053
24096
  IdentifiedBy string
24097
+ IdentifiedByID string
24054
24098
  TypeStatus string
24099
+ VerbatimIdentification string
24055
24100
 
24056
24101
  =head3 DarwinCore MeasurementOrFact Struct
24057
24102
 
@@ -24078,8 +24123,10 @@ These tags belong to the ExifTool XMP-dwc family 1 group.
24078
24123
  AssociatedTaxa string
24079
24124
  Behavior string
24080
24125
  CatalogNumber string
24126
+ DegreeOfEstablishment string
24081
24127
  Disposition string
24082
24128
  EstablishmentMeans string
24129
+ GeoreferenceVerificationStatus string
24083
24130
  IndividualCount string
24084
24131
  IndividualID string
24085
24132
  LifeStage string
@@ -24094,6 +24141,7 @@ These tags belong to the ExifTool XMP-dwc family 1 group.
24094
24141
  PreviousIdentifications string
24095
24142
  RecordNumber string
24096
24143
  RecordedBy string
24144
+ RecordedByID string
24097
24145
  ReproductiveCondition string
24098
24146
  Sex string
24099
24147
 
@@ -24133,6 +24181,7 @@ These tags belong to the ExifTool XMP-dwc family 1 group.
24133
24181
  RelationshipAccordingTo string
24134
24182
  RelationshipEstablishedDate date
24135
24183
  RelationshipOfResource string
24184
+ RelationshipOfResourceID string
24136
24185
  RelationshipRemarks string
24137
24186
  ResourceID string
24138
24187
  ResourceRelationshipID string
@@ -24144,6 +24193,7 @@ These tags belong to the ExifTool XMP-dwc family 1 group.
24144
24193
  AcceptedNameUsage string
24145
24194
  AcceptedNameUsageID string
24146
24195
  Class string
24196
+ CultivarEpithet string
24147
24197
  Family string
24148
24198
  Genus string
24149
24199
  HigherClassification string
@@ -26753,9 +26803,9 @@ ExifTool extracts ID3 and Lyrics3 information from MP3, MPEG, WAV, AIFF,
26753
26803
  OGG, FLAC, APE, MPC and RealAudio files. ID3v2 tags which support multiple
26754
26804
  languages (eg. Comment and Lyrics) are extracted by specifying the tag name,
26755
26805
  followed by a dash ('-'), then a 3-character ISO 639-2 language code (eg.
26756
- "Comment-spa"). See L<http://www.id3.org/> for the official ID3
26757
- specification and L<http://www.loc.gov/standards/iso639-2/php/code_list.php>
26758
- for a list of ISO 639-2 language codes.
26806
+ "Comment-spa"). See L<https://id3.org/> for the official ID3 specification
26807
+ and L<http://www.loc.gov/standards/iso639-2/php/code_list.php> for a list of
26808
+ ISO 639-2 language codes.
26759
26809
 
26760
26810
  Tag Name Writable
26761
26811
  -------- --------
@@ -37494,6 +37544,7 @@ for more details.
37494
37544
  MakerNoteCasio
37495
37545
  MakerNoteCasio2
37496
37546
  MakerNoteDJI
37547
+ MakerNoteDJIInfo
37497
37548
  MakerNoteFLIR
37498
37549
  MakerNoteFujiFilm
37499
37550
  MakerNoteGE
@@ -37534,6 +37585,7 @@ for more details.
37534
37585
  MakerNoteNintendo
37535
37586
  MakerNoteOlympus
37536
37587
  MakerNoteOlympus2
37588
+ MakerNoteOlympus3
37537
37589
  MakerNoteLeica
37538
37590
  MakerNoteLeica2
37539
37591
  MakerNoteLeica3
@@ -138,13 +138,13 @@ sub WritePhotoshop($$$)
138
138
  unless ($tagInfo) {
139
139
  # process subdirectory anyway if writable (except EXIF to avoid recursion)
140
140
  # --> this allows IPTC to be processed if found here in TIFF images
141
- # (note that I have seen a case of XMP in PSD-EXIFInfo-IFD0, and the EXIF
142
- # exclusion means that this won't be written unless an EXIF tag is
143
- # specifically edited, see forum10768 -- maybe this should be changed
144
- # if it happens again)
141
+ # (but allow EXIF to be written in PSD files if XMP or IPTC tags are
142
+ # being written because I have seen cases of XMP in PSD-EXIFInfo-IFD0
143
+ # and IPTC in PSD-EXIFInfo-IFD0-IPTC, see forum10768 and forum13198)
145
144
  my $tmpInfo = $et->GetTagInfo($tagTablePtr, $tagID);
146
145
  if ($tmpInfo and $$tmpInfo{SubDirectory} and
147
- $tmpInfo->{SubDirectory}->{TagTable} ne 'Image::ExifTool::Exif::Main')
146
+ ($tmpInfo->{SubDirectory}->{TagTable} ne 'Image::ExifTool::Exif::Main' or
147
+ ($$et{FILE_TYPE} eq 'PSD' and ($$editDirs{0x0404} or $$editDirs{0x0424}))))
148
148
  {
149
149
  my $table = Image::ExifTool::GetTagTable($tmpInfo->{SubDirectory}->{TagTable});
150
150
  $tagInfo = $tmpInfo if $$table{WRITE_PROC};
@@ -1391,8 +1391,8 @@ sub WriteQuickTime($$$)
1391
1391
  $pos += $siz;
1392
1392
  }
1393
1393
  if ($msg) {
1394
- # (allow empty sample description for 'url ' handler type)
1395
- if ($$et{HandlerType} or length($buff) > 8) {
1394
+ # (allow empty sample description for non-audio/video handler types, eg. 'url ', 'meta')
1395
+ if ($$et{HandlerType}) {
1396
1396
  my $grp = $$et{CUR_WRITE_GROUP} || $parent;
1397
1397
  $et->Error("$msg for $grp");
1398
1398
  return $rtnErr;
@@ -858,7 +858,7 @@ TAG: foreach $tagInfo (@matchingTags) {
858
858
  ($shift or ($shiftable eq '0' and $options{DelValue})))
859
859
  {
860
860
  $err = "$wgrp1:$tag is not shiftable";
861
- $verbose > 2 and print $out "$err\n";
861
+ $verbose and print $out "$err\n";
862
862
  next;
863
863
  }
864
864
  }
@@ -1270,6 +1270,7 @@ sub SetNewValuesFromFile($$;@)
1270
1270
  GlobalTimeShift => $$options{GlobalTimeShift},
1271
1271
  HexTagIDs => $$options{HexTagIDs},
1272
1272
  IgnoreMinorErrors=>$$options{IgnoreMinorErrors},
1273
+ IgnoreTags => $$options{IgnoreTags},
1273
1274
  Lang => $$options{Lang},
1274
1275
  LargeFileSupport=> $$options{LargeFileSupport},
1275
1276
  List => 1,
@@ -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);
31
31
 
32
- $VERSION = '12.40';
32
+ $VERSION = '12.43';
33
33
  $RELEASE = '';
34
34
  @ISA = qw(Exporter);
35
35
  %EXPORT_TAGS = (
@@ -2209,6 +2209,20 @@ sub Options($$;@)
2209
2209
  } else {
2210
2210
  $$options{$param} = undef; # clear the list
2211
2211
  }
2212
+ } elsif ($param eq 'IgnoreTags') {
2213
+ if (defined $newVal) {
2214
+ # parse list from delimited string if necessary
2215
+ my @ignoreList = (ref $newVal eq 'ARRAY') ? @$newVal : ($newVal =~ /[-\w?*:]+/g);
2216
+ ExpandShortcuts(\@ignoreList);
2217
+ # add to existing tags to ignore
2218
+ $$options{$param} or $$options{$param} = { };
2219
+ foreach (@ignoreList) {
2220
+ /^(.*:)?([-\w?*]+)#?$/ or next;
2221
+ $$options{$param}{lc $2} = 1;
2222
+ }
2223
+ } else {
2224
+ $$options{$param} = undef; # clear the option
2225
+ }
2212
2226
  } elsif ($param eq 'ListJoin') {
2213
2227
  $$options{$param} = $newVal;
2214
2228
  # set the old List and ListSep options for backward compatibility
@@ -2321,6 +2335,7 @@ sub ClearOptions($)
2321
2335
  HtmlDump => 0, # HTML dump (0-3, higher # = bigger limit)
2322
2336
  HtmlDumpBase => undef, # base address for HTML dump
2323
2337
  IgnoreMinorErrors => undef, # ignore minor errors when reading/writing
2338
+ IgnoreTags => undef, # list of tags to ignore when extracting
2324
2339
  Lang => $defaultLang,# localized language for descriptions etc
2325
2340
  LargeFileSupport => undef, # flag indicating support of 64-bit file offsets
2326
2341
  List => undef, # extract lists of PrintConv values into arrays [no longer documented]
@@ -5863,7 +5878,7 @@ sub GetUnixTime($;$)
5863
5878
  {
5864
5879
  my ($timeStr, $isLocal) = @_;
5865
5880
  return 0 if $timeStr eq '0000:00:00 00:00:00';
5866
- my @tm = ($timeStr =~ /^(\d+):(\d+):(\d+)\s+(\d+):(\d+):(\d+)(.*)/);
5881
+ my @tm = ($timeStr =~ /^(\d+)[-:](\d+)[-:](\d+)\s+(\d+):(\d+):(\d+)(.*)/);
5867
5882
  return undef unless @tm == 7;
5868
5883
  unless (eval { require Time::Local }) {
5869
5884
  warn "Time::Local is not installed\n";
@@ -5896,13 +5911,13 @@ sub GetUnixTime($;$)
5896
5911
  sub ConvertFileSize($)
5897
5912
  {
5898
5913
  my $val = shift;
5899
- $val < 2048 and return "$val bytes";
5900
- $val < 10240 and return sprintf('%.1f KiB', $val / 1024);
5901
- $val < 2097152 and return sprintf('%.0f KiB', $val / 1024);
5902
- $val < 10485760 and return sprintf('%.1f MiB', $val / 1048576);
5903
- $val < 2147483648 and return sprintf('%.0f MiB', $val / 1048576);
5904
- $val < 10737418240 and return sprintf('%.1f GiB', $val / 1073741824);
5905
- return sprintf('%.0f GiB', $val / 1073741824);
5914
+ $val < 2000 and return "$val bytes";
5915
+ $val < 10000 and return sprintf('%.1f kB', $val / 1000);
5916
+ $val < 2000000 and return sprintf('%.0f kB', $val / 1000);
5917
+ $val < 10000000 and return sprintf('%.1f MB', $val / 1000000);
5918
+ $val < 2000000000 and return sprintf('%.0f MB', $val / 1000000);
5919
+ $val < 10000000000 and return sprintf('%.1f GB', $val / 1000000000);
5920
+ return sprintf('%.0f GB', $val / 1000000000);
5906
5921
  }
5907
5922
 
5908
5923
  #------------------------------------------------------------------------------
@@ -7686,8 +7701,8 @@ sub DoProcessTIFF($$;$)
7686
7701
  # check DNG version
7687
7702
  if ($$self{DNGVersion}) {
7688
7703
  my $ver = $$self{DNGVersion};
7689
- # currently support up to DNG version 1.5
7690
- unless ($ver =~ /^(\d+) (\d+)/ and "$1.$2" <= 1.5) {
7704
+ # currently support up to DNG version 1.6
7705
+ unless ($ver =~ /^(\d+) (\d+)/ and "$1.$2" <= 1.6) {
7691
7706
  $ver =~ tr/ /./;
7692
7707
  $self->Error("DNG Version $ver not yet tested", 1);
7693
7708
  }
@@ -7955,11 +7970,11 @@ sub GetTagInfo($$$;$$$)
7955
7970
  next;
7956
7971
  }
7957
7972
  }
7958
- if ($$tagInfo{Unknown} and not $$self{OPTIONS}{Unknown} and
7959
- not $$self{OPTIONS}{Verbose} and not $$self{OPTIONS}{Validate} and
7960
- not $$self{HTML_DUMP})
7973
+ # don't return Unknown tags unless that option is set (also see forum13716)
7974
+ if ($$tagInfo{Unknown} and not $$self{OPTIONS}{Unknown} and not
7975
+ ($$self{OPTIONS}{Verbose} or $$self{HTML_DUMP} or
7976
+ ($$self{OPTIONS}{Validate} and not $$tagInfo{AddedUnknown})))
7961
7977
  {
7962
- # don't return Unknown tags unless that option is set
7963
7978
  return undef;
7964
7979
  }
7965
7980
  # return the tag information we found
@@ -7984,6 +7999,7 @@ sub GetTagInfo($$$;$$$)
7984
7999
  Unknown => 1,
7985
8000
  Writable => 0, # can't write unknown tags
7986
8001
  PrintConv => $printConv,
8002
+ AddedUnknown => 1,
7987
8003
  };
7988
8004
  # add tag information to table
7989
8005
  AddTagToTable($tagTablePtr, $tagID, $tagInfo);
@@ -8233,6 +8249,14 @@ sub FoundTag($$$;@)
8233
8249
  $self->Warn("RawConv $tag: " . CleanWarning()) if $evalWarning;
8234
8250
  return undef unless defined $value;
8235
8251
  }
8252
+ # ignore specified tags (AFTER doing RawConv if necessary!)
8253
+ if ($$options{IgnoreTags}) {
8254
+ if ($$options{IgnoreTags}{all}) {
8255
+ return undef unless $$self{REQ_TAG_LOOKUP}{lc $tag};
8256
+ } else {
8257
+ return undef if $$options{IgnoreTags}{lc $tag};
8258
+ }
8259
+ }
8236
8260
  # handle duplicate tag names
8237
8261
  if (defined $$valueHash{$tag}) {
8238
8262
  # add to list if there is an active list for this tag
@@ -8444,7 +8468,7 @@ sub SetFileType($;$$$)
8444
8468
 
8445
8469
  #------------------------------------------------------------------------------
8446
8470
  # Override the FileType and MIMEType tags
8447
- # Inputs: 0) ExifTool object ref, 1) file type, 2) MIME type, 3) normal extension
8471
+ # Inputs: 0) ExifTool object ref, 1) file type, 2) MIME type, 3) normal extension (lower case)
8448
8472
  # Notes: does nothing if FileType was not previously defined (ie. when writing)
8449
8473
  sub OverrideFileType($$;$$)
8450
8474
  {
@@ -776,6 +776,15 @@ images even if they don't have a recognizable header). Minor errors and
776
776
  warnings are denoted by "[minor]" at the start of the message, or "[Minor]"
777
777
  (with a capital "M") for warnings that affect processing when ignored.
778
778
 
779
+ =item IgnoreTags
780
+
781
+ List of tag names to ignore when reading. This may help in situations where
782
+ memory is limited because the ignored tag values are not stored in memory.
783
+ The tag names are case insensitive and group names and wildcards are not
784
+ allowed. A special tag name of "All" may be used to ignore all tags except
785
+ those specified by the L</RequestTags> option. Set to undef to clear the
786
+ previous IgnoreTags list. Default is undef.
787
+
779
788
  =item Lang
780
789
 
781
790
  Localized language for exiftool tag descriptions, etc. Available languages
@@ -1103,10 +1112,10 @@ L</ExtractInfo>:
1103
1112
  Binary, Charset, CharsetEXIF, CharsetFileName, CharsetID3, CharsetIPTC,
1104
1113
  CharsetPhotoshop, CharsetQuickTime, CharsetRIFF, Composite, ExtendedXMP,
1105
1114
  ExtractEmbedded, FastScan, FixBase, HtmlDump, HtmlDumpBase,
1106
- IgnoreMinorErrors, Lang, LargeFileSupport, MakerNotes, MDItemTags,
1107
- NoPDFList, Password, QuickTimeUTC (enforced 1904 time zero), RequestAll,
1108
- RequestTags, SaveFormat, SavePath, ScanForXMP, Struct, TextOut, Unknown,
1109
- Verbose, XAttrTags and XMPAutoConv.
1115
+ IgnoreMinorErrors, IgnoreTags, Lang, LargeFileSupport, MakerNotes,
1116
+ MDItemTags, NoPDFList, Password, QuickTimeUTC (enforced 1904 time zero),
1117
+ RequestAll, RequestTags, SaveFormat, SavePath, ScanForXMP, Struct, TextOut,
1118
+ Unknown, Verbose, XAttrTags and XMPAutoConv.
1110
1119
 
1111
1120
  =item Return Value:
1112
1121
 
@@ -1,6 +1,6 @@
1
1
  Summary: perl module for image data extraction
2
2
  Name: perl-Image-ExifTool
3
- Version: 12.40
3
+ Version: 12.43
4
4
  Release: 1
5
5
  License: Artistic/GPL
6
6
  Group: Development/Libraries/Perl