exiftool_vendored 12.52.0 → 12.54.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (202) hide show
  1. checksums.yaml +4 -4
  2. data/bin/Changes +30 -1
  3. data/bin/META.json +1 -1
  4. data/bin/META.yml +1 -1
  5. data/bin/README +3 -3
  6. data/bin/exiftool +9 -7
  7. data/bin/lib/File/RandomAccess.pm +1 -1
  8. data/bin/lib/File/RandomAccess.pod +2 -2
  9. data/bin/lib/Image/ExifTool/AES.pm +1 -1
  10. data/bin/lib/Image/ExifTool/AFCP.pm +1 -1
  11. data/bin/lib/Image/ExifTool/AIFF.pm +1 -1
  12. data/bin/lib/Image/ExifTool/APE.pm +1 -1
  13. data/bin/lib/Image/ExifTool/APP12.pm +1 -1
  14. data/bin/lib/Image/ExifTool/ASF.pm +1 -1
  15. data/bin/lib/Image/ExifTool/Apple.pm +197 -27
  16. data/bin/lib/Image/ExifTool/Audible.pm +1 -1
  17. data/bin/lib/Image/ExifTool/BMP.pm +1 -1
  18. data/bin/lib/Image/ExifTool/BPG.pm +1 -1
  19. data/bin/lib/Image/ExifTool/BZZ.pm +1 -1
  20. data/bin/lib/Image/ExifTool/BigTIFF.pm +1 -1
  21. data/bin/lib/Image/ExifTool/BuildTagLookup.pm +3 -3
  22. data/bin/lib/Image/ExifTool/CBOR.pm +1 -1
  23. data/bin/lib/Image/ExifTool/Canon.pm +14 -2
  24. data/bin/lib/Image/ExifTool/CanonCustom.pm +1 -1
  25. data/bin/lib/Image/ExifTool/CanonRaw.pm +1 -1
  26. data/bin/lib/Image/ExifTool/CanonVRD.pm +9 -9
  27. data/bin/lib/Image/ExifTool/CaptureOne.pm +1 -1
  28. data/bin/lib/Image/ExifTool/Casio.pm +1 -1
  29. data/bin/lib/Image/ExifTool/Charset.pm +1 -1
  30. data/bin/lib/Image/ExifTool/DICOM.pm +1 -1
  31. data/bin/lib/Image/ExifTool/DJI.pm +1 -1
  32. data/bin/lib/Image/ExifTool/DNG.pm +1 -1
  33. data/bin/lib/Image/ExifTool/DPX.pm +1 -1
  34. data/bin/lib/Image/ExifTool/DV.pm +1 -1
  35. data/bin/lib/Image/ExifTool/DarwinCore.pm +1 -1
  36. data/bin/lib/Image/ExifTool/DjVu.pm +1 -1
  37. data/bin/lib/Image/ExifTool/EXE.pm +1 -1
  38. data/bin/lib/Image/ExifTool/Exif.pm +5 -16
  39. data/bin/lib/Image/ExifTool/FITS.pm +1 -1
  40. data/bin/lib/Image/ExifTool/FLAC.pm +1 -1
  41. data/bin/lib/Image/ExifTool/FLIF.pm +1 -1
  42. data/bin/lib/Image/ExifTool/FLIR.pm +1 -1
  43. data/bin/lib/Image/ExifTool/Fixup.pm +1 -1
  44. data/bin/lib/Image/ExifTool/Flash.pm +1 -1
  45. data/bin/lib/Image/ExifTool/FlashPix.pm +1 -1
  46. data/bin/lib/Image/ExifTool/Font.pm +1 -1
  47. data/bin/lib/Image/ExifTool/FotoStation.pm +1 -1
  48. data/bin/lib/Image/ExifTool/FujiFilm.pm +20 -13
  49. data/bin/lib/Image/ExifTool/GE.pm +1 -1
  50. data/bin/lib/Image/ExifTool/GIF.pm +1 -1
  51. data/bin/lib/Image/ExifTool/GIMP.pm +1 -1
  52. data/bin/lib/Image/ExifTool/GPS.pm +1 -1
  53. data/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
  54. data/bin/lib/Image/ExifTool/Geotag.pm +1 -1
  55. data/bin/lib/Image/ExifTool/GoPro.pm +1 -1
  56. data/bin/lib/Image/ExifTool/H264.pm +1 -1
  57. data/bin/lib/Image/ExifTool/HP.pm +1 -1
  58. data/bin/lib/Image/ExifTool/HTML.pm +1 -1
  59. data/bin/lib/Image/ExifTool/HtmlDump.pm +1 -1
  60. data/bin/lib/Image/ExifTool/ICC_Profile.pm +1 -1
  61. data/bin/lib/Image/ExifTool/ICO.pm +1 -1
  62. data/bin/lib/Image/ExifTool/ID3.pm +1 -1
  63. data/bin/lib/Image/ExifTool/IPTC.pm +1 -1
  64. data/bin/lib/Image/ExifTool/ISO.pm +1 -1
  65. data/bin/lib/Image/ExifTool/ITC.pm +1 -1
  66. data/bin/lib/Image/ExifTool/Import.pm +1 -1
  67. data/bin/lib/Image/ExifTool/InDesign.pm +1 -1
  68. data/bin/lib/Image/ExifTool/JPEG.pm +1 -1
  69. data/bin/lib/Image/ExifTool/JPEGDigest.pm +1 -1
  70. data/bin/lib/Image/ExifTool/JSON.pm +1 -1
  71. data/bin/lib/Image/ExifTool/JVC.pm +1 -1
  72. data/bin/lib/Image/ExifTool/Jpeg2000.pm +11 -5
  73. data/bin/lib/Image/ExifTool/Kodak.pm +1 -1
  74. data/bin/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
  75. data/bin/lib/Image/ExifTool/LIF.pm +1 -1
  76. data/bin/lib/Image/ExifTool/LNK.pm +1 -1
  77. data/bin/lib/Image/ExifTool/Lang/cs.pm +1 -1
  78. data/bin/lib/Image/ExifTool/Lang/de.pm +1 -1
  79. data/bin/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
  80. data/bin/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
  81. data/bin/lib/Image/ExifTool/Lang/es.pm +1 -1
  82. data/bin/lib/Image/ExifTool/Lang/fi.pm +1 -1
  83. data/bin/lib/Image/ExifTool/Lang/fr.pm +1 -1
  84. data/bin/lib/Image/ExifTool/Lang/it.pm +1 -1
  85. data/bin/lib/Image/ExifTool/Lang/ja.pm +1 -1
  86. data/bin/lib/Image/ExifTool/Lang/ko.pm +1 -1
  87. data/bin/lib/Image/ExifTool/Lang/nl.pm +1 -1
  88. data/bin/lib/Image/ExifTool/Lang/pl.pm +1 -1
  89. data/bin/lib/Image/ExifTool/Lang/ru.pm +1 -1
  90. data/bin/lib/Image/ExifTool/Lang/sk.pm +1806 -1927
  91. data/bin/lib/Image/ExifTool/Lang/sv.pm +1 -1
  92. data/bin/lib/Image/ExifTool/Lang/tr.pm +1 -1
  93. data/bin/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
  94. data/bin/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
  95. data/bin/lib/Image/ExifTool/Leaf.pm +1 -1
  96. data/bin/lib/Image/ExifTool/Lytro.pm +1 -1
  97. data/bin/lib/Image/ExifTool/M2TS.pm +1 -1
  98. data/bin/lib/Image/ExifTool/MIE.pm +1 -1
  99. data/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
  100. data/bin/lib/Image/ExifTool/MIFF.pm +1 -1
  101. data/bin/lib/Image/ExifTool/MISB.pm +1 -1
  102. data/bin/lib/Image/ExifTool/MNG.pm +1 -1
  103. data/bin/lib/Image/ExifTool/MOI.pm +1 -1
  104. data/bin/lib/Image/ExifTool/MPC.pm +1 -1
  105. data/bin/lib/Image/ExifTool/MPEG.pm +1 -1
  106. data/bin/lib/Image/ExifTool/MPF.pm +1 -1
  107. data/bin/lib/Image/ExifTool/MRC.pm +1 -1
  108. data/bin/lib/Image/ExifTool/MWG.pm +1 -1
  109. data/bin/lib/Image/ExifTool/MXF.pm +1 -1
  110. data/bin/lib/Image/ExifTool/MacOS.pm +1 -1
  111. data/bin/lib/Image/ExifTool/MakerNotes.pm +1 -1
  112. data/bin/lib/Image/ExifTool/Matroska.pm +1 -1
  113. data/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
  114. data/bin/lib/Image/ExifTool/Minolta.pm +1 -1
  115. data/bin/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
  116. data/bin/lib/Image/ExifTool/Motorola.pm +1 -1
  117. data/bin/lib/Image/ExifTool/Nikon.pm +190 -6
  118. data/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
  119. data/bin/lib/Image/ExifTool/NikonCustom.pm +1 -1
  120. data/bin/lib/Image/ExifTool/NikonSettings.pm +1 -1
  121. data/bin/lib/Image/ExifTool/Nintendo.pm +1 -1
  122. data/bin/lib/Image/ExifTool/OOXML.pm +1 -1
  123. data/bin/lib/Image/ExifTool/Ogg.pm +1 -1
  124. data/bin/lib/Image/ExifTool/Olympus.pm +1 -1
  125. data/bin/lib/Image/ExifTool/OpenEXR.pm +1 -1
  126. data/bin/lib/Image/ExifTool/Opus.pm +1 -1
  127. data/bin/lib/Image/ExifTool/Other.pm +1 -1
  128. data/bin/lib/Image/ExifTool/PCX.pm +1 -1
  129. data/bin/lib/Image/ExifTool/PDF.pm +1 -1
  130. data/bin/lib/Image/ExifTool/PGF.pm +1 -1
  131. data/bin/lib/Image/ExifTool/PICT.pm +1 -1
  132. data/bin/lib/Image/ExifTool/PLIST.pm +12 -7
  133. data/bin/lib/Image/ExifTool/PLUS.pm +1 -1
  134. data/bin/lib/Image/ExifTool/PNG.pm +1 -1
  135. data/bin/lib/Image/ExifTool/PPM.pm +1 -1
  136. data/bin/lib/Image/ExifTool/PSP.pm +1 -1
  137. data/bin/lib/Image/ExifTool/Palm.pm +1 -1
  138. data/bin/lib/Image/ExifTool/Panasonic.pm +1 -1
  139. data/bin/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
  140. data/bin/lib/Image/ExifTool/Parrot.pm +1 -1
  141. data/bin/lib/Image/ExifTool/Pentax.pm +1 -1
  142. data/bin/lib/Image/ExifTool/PhaseOne.pm +1 -1
  143. data/bin/lib/Image/ExifTool/PhotoCD.pm +1 -1
  144. data/bin/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
  145. data/bin/lib/Image/ExifTool/Photoshop.pm +1 -1
  146. data/bin/lib/Image/ExifTool/PostScript.pm +1 -1
  147. data/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
  148. data/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
  149. data/bin/lib/Image/ExifTool/QuickTime.pm +5 -4
  150. data/bin/lib/Image/ExifTool/QuickTimeStream.pl +19 -4
  151. data/bin/lib/Image/ExifTool/RIFF.pm +1 -1
  152. data/bin/lib/Image/ExifTool/RSRC.pm +1 -1
  153. data/bin/lib/Image/ExifTool/RTF.pm +1 -1
  154. data/bin/lib/Image/ExifTool/Radiance.pm +1 -1
  155. data/bin/lib/Image/ExifTool/Rawzor.pm +1 -1
  156. data/bin/lib/Image/ExifTool/Real.pm +1 -1
  157. data/bin/lib/Image/ExifTool/Reconyx.pm +1 -1
  158. data/bin/lib/Image/ExifTool/Red.pm +1 -1
  159. data/bin/lib/Image/ExifTool/Ricoh.pm +1 -1
  160. data/bin/lib/Image/ExifTool/Samsung.pm +3 -1
  161. data/bin/lib/Image/ExifTool/Sanyo.pm +1 -1
  162. data/bin/lib/Image/ExifTool/Scalado.pm +1 -1
  163. data/bin/lib/Image/ExifTool/Shift.pl +1 -1
  164. data/bin/lib/Image/ExifTool/Shortcuts.pm +1 -1
  165. data/bin/lib/Image/ExifTool/Sigma.pm +1 -1
  166. data/bin/lib/Image/ExifTool/SigmaRaw.pm +1 -1
  167. data/bin/lib/Image/ExifTool/Sony.pm +3 -3
  168. data/bin/lib/Image/ExifTool/SonyIDC.pm +1 -1
  169. data/bin/lib/Image/ExifTool/Stim.pm +1 -1
  170. data/bin/lib/Image/ExifTool/TagInfoXML.pm +2 -2
  171. data/bin/lib/Image/ExifTool/TagLookup.pm +1010 -968
  172. data/bin/lib/Image/ExifTool/TagNames.pod +87 -3
  173. data/bin/lib/Image/ExifTool/Text.pm +1 -1
  174. data/bin/lib/Image/ExifTool/Theora.pm +1 -1
  175. data/bin/lib/Image/ExifTool/Torrent.pm +1 -1
  176. data/bin/lib/Image/ExifTool/Unknown.pm +1 -1
  177. data/bin/lib/Image/ExifTool/VCard.pm +1 -1
  178. data/bin/lib/Image/ExifTool/Validate.pm +1 -1
  179. data/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
  180. data/bin/lib/Image/ExifTool/WTV.pm +1 -1
  181. data/bin/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
  182. data/bin/lib/Image/ExifTool/WriteExif.pl +14 -1
  183. data/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
  184. data/bin/lib/Image/ExifTool/WritePDF.pl +5 -1
  185. data/bin/lib/Image/ExifTool/WritePNG.pl +1 -1
  186. data/bin/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
  187. data/bin/lib/Image/ExifTool/WritePostScript.pl +1 -1
  188. data/bin/lib/Image/ExifTool/WriteQuickTime.pl +18 -7
  189. data/bin/lib/Image/ExifTool/WriteRIFF.pl +1 -1
  190. data/bin/lib/Image/ExifTool/WriteXMP.pl +1 -1
  191. data/bin/lib/Image/ExifTool/Writer.pl +2 -2
  192. data/bin/lib/Image/ExifTool/XMP.pm +23 -3
  193. data/bin/lib/Image/ExifTool/XMP2.pl +20 -1
  194. data/bin/lib/Image/ExifTool/XMPStruct.pl +1 -1
  195. data/bin/lib/Image/ExifTool/ZIP.pm +1 -1
  196. data/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
  197. data/bin/lib/Image/ExifTool/iWork.pm +1 -1
  198. data/bin/lib/Image/ExifTool.pm +3 -2
  199. data/bin/lib/Image/ExifTool.pod +39 -38
  200. data/bin/perl-Image-ExifTool.spec +1 -1
  201. data/lib/exiftool_vendored/version.rb +1 -1
  202. metadata +2 -2
@@ -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 26197 tags, with 16717 unique tag names.
15
+ They contain a total of 26269 tags, with 16758 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
@@ -1283,6 +1283,7 @@ L<http://www.adobe.com/devnet/xmp/> for the official XMP specification.
1283
1283
  GImage XMP GImage
1284
1284
  GPano XMP GPano
1285
1285
  GSpherical XMP GSpherical
1286
+ hdr XMP hdr
1286
1287
  ics XMP ics
1287
1288
  iptcCore XMP iptcCore
1288
1289
  iptcExt XMP iptcExt
@@ -1869,6 +1870,7 @@ These tags belong to the ExifTool XMP-crd family 1 group.
1869
1870
  Group lang-alt/
1870
1871
  HasCrop boolean/
1871
1872
  HasSettings boolean/
1873
+ HDREditMode integer/
1872
1874
  Highlight2012 integer/
1873
1875
  HighlightRecovery integer/
1874
1876
  Highlights2012 integer/
@@ -2375,6 +2377,12 @@ These tags belong to the ExifTool XMP-crd family 1 group.
2375
2377
  SaturationAdjustmentPurple integer/
2376
2378
  SaturationAdjustmentRed integer/
2377
2379
  SaturationAdjustmentYellow integer/
2380
+ SDRBlend real/
2381
+ SDRBrightness real/
2382
+ SDRContrast real/
2383
+ SDRHighlights real/
2384
+ SDRShadows real/
2385
+ SDRWhites real/
2378
2386
  Shadows integer/
2379
2387
  Shadows2012 integer/
2380
2388
  ShadowTint integer/
@@ -3054,6 +3062,7 @@ These tags belong to the ExifTool XMP-crs family 1 group.
3054
3062
  Group lang-alt/
3055
3063
  HasCrop boolean
3056
3064
  HasSettings boolean
3065
+ HDREditMode integer
3057
3066
  Highlight2012 integer
3058
3067
  HighlightRecovery integer
3059
3068
  Highlights2012 integer
@@ -3560,6 +3569,12 @@ These tags belong to the ExifTool XMP-crs family 1 group.
3560
3569
  SaturationAdjustmentPurple integer
3561
3570
  SaturationAdjustmentRed integer
3562
3571
  SaturationAdjustmentYellow integer
3572
+ SDRBlend real
3573
+ SDRBrightness real
3574
+ SDRContrast real
3575
+ SDRHighlights real
3576
+ SDRShadows real
3577
+ SDRWhites real
3563
3578
  Shadows integer
3564
3579
  Shadows2012 integer
3565
3580
  ShadowTint integer
@@ -4433,6 +4448,23 @@ These tags belong to the ExifTool XMP-GSpherical family 1 group.
4433
4448
  StitchingSoftware string/
4434
4449
  TimeStamp integer/
4435
4450
 
4451
+ =head3 XMP hdr Tags
4452
+
4453
+ HDR metadata namespace tags written by ACR 15.1. The actual namespace
4454
+ prefix is "hdr_metadata", which is the prefix recorded in the file, but
4455
+ ExifTool shortens this for the family 1 group name.
4456
+
4457
+ These tags belong to the ExifTool XMP-hdr family 1 group.
4458
+
4459
+ Tag Name Writable
4460
+ -------- --------
4461
+ CCVAvgLuminanceNits real
4462
+ CCVMaxLuminanceNits real
4463
+ CCVMinLuminanceNits real
4464
+ CCVPrimariesXY string
4465
+ CCVWhiteXY string
4466
+ SceneReferred boolean
4467
+
4436
4468
  =head3 XMP ics Tags
4437
4469
 
4438
4470
  Tags used by IDimager. Nested TagStructure structures are unrolled to an
@@ -7064,14 +7096,40 @@ Tags extracted from the maker notes of iPhone images.
7064
7096
 
7065
7097
  Tag ID Tag Name Writable
7066
7098
  ------ -------- --------
7099
+ 0x0001 MakerNoteVersion int32s
7100
+ 0x0002 AEMatrix? no
7067
7101
  0x0003 RunTime Apple RunTime
7102
+ 0x0004 AEStable int32s
7103
+ 0x0005 AETarget int32s
7104
+ 0x0006 AEAverage int32s
7105
+ 0x0007 AFStable int32s
7068
7106
  0x0008 AccelerationVector rational64s[3]
7069
7107
  0x000a HDRImageType int32s
7070
7108
  0x000b BurstUUID string
7071
7109
  0x000c FocusDistanceRange rational64s[2]
7110
+ 0x000f OISMode int32s
7072
7111
  0x0011 MediaGroupUUID string
7112
+ 0x0014 ImageCaptureType? int32s
7073
7113
  0x0015 ImageUniqueID string
7074
7114
  0x0017 LivePhotoVideoIndex yes
7115
+ 0x0019 ImageProcessingFlags? int32s
7116
+ 0x001a QualityHint? string
7117
+ 0x001d LuminanceNoiseAmplitude rational64s
7118
+ 0x0020 ImageCaptureReqestID? string
7119
+ 0x0021 HDRHeadroom rational64s
7120
+ 0x0025 SceneFlags? int32s
7121
+ 0x0026 SignalToNoiseRatioType? int32s
7122
+ 0x0027 SignalToNoiseRatio rational64s
7123
+ 0x002f FocusPosition int32s
7124
+ 0x0030 HDRGain rational64s
7125
+ 0x0038 AFMeasuredDepth int32s
7126
+ 0x003d AFConfidence int32s
7127
+ 0x003e ColorCorrectionMatrix? no
7128
+ 0x003f GreenGhostMitigationStatus? int32s
7129
+ 0x0040 SemanticStyle no
7130
+ 0x0041 SemanticStyleRenderingVer no
7131
+ 0x0042 SemanticStylePreset no
7132
+ 0x0045 FrontFacingCamera int32s
7075
7133
 
7076
7134
  =head3 Apple RunTime Tags
7077
7135
 
@@ -9551,6 +9609,7 @@ Vignetting correction from PowerShot models.
9551
9609
  5 PeripheralLightingSetting int32s
9552
9610
  6 ChromaticAberrationSetting int32s
9553
9611
  7 DistortionCorrectionSetting int32s
9612
+ 9 DigitalLensOptimizerSetting int32s
9554
9613
 
9555
9614
  =head3 Canon LightingOpt Tags
9556
9615
 
@@ -9563,6 +9622,7 @@ This information is new in images from the EOS 7D.
9563
9622
  3 HighlightTonePriority int32s
9564
9623
  4 LongExposureNoiseReduction int32s
9565
9624
  5 HighISONoiseReduction int32s
9625
+ 10 DigitalLensOptimizer int32s
9566
9626
 
9567
9627
  =head3 Canon LensInfo Tags
9568
9628
 
@@ -11264,6 +11324,7 @@ Tags extracted from FLIR Public image Format (FPF) files.
11264
11324
  0x1047 GrainEffectRoughness int32s
11265
11325
  0x1048 ColorChromeEffect int32s
11266
11326
  0x1049 BWAdjustment int8s
11327
+ 0x104b BWMagentaGreen int8s
11267
11328
  0x104c GrainEffectSize int16u
11268
11329
  0x104d CropMode int16u
11269
11330
  0x104e ColorChromeFXBlue int32s
@@ -14539,6 +14600,10 @@ These tags are used by the Z9 firmware 3.00.
14539
14600
  436 MovieVignetteControl? int8u
14540
14601
  438 DiffractionCompensation int8u
14541
14602
  440 FlickerReductionShooting int8u
14603
+ 444 FlashControlMode int8u
14604
+ 446 FlashMasterCompensation? int8s
14605
+ 450 FlashGNDistance? no
14606
+ 454 FlashOutput? int8u
14542
14607
  548 AFAreaMode int8u
14543
14608
  550 VRMode int8u
14544
14609
  554 BracketSet int8u
@@ -14915,7 +14980,26 @@ These tags are used by the D4S, D750, D810, D5500, D7200 (FlashInfoVersion
14915
14980
  0 FlashInfoVersion no
14916
14981
  4 FlashSource int8u
14917
14982
  6 ExternalFlashFirmware int8u[2]
14983
+ 8 ExternalFlashFlags int8u
14984
+ 9.1 FlashCommanderMode int8u & 0x80
14985
+ 9.2 FlashControlMode int8u & 0x7f
14918
14986
  10 FlashCompensation int8s
14987
+ 13 RepeatingFlashRate int8u
14988
+ 14 RepeatingFlashCount int8u
14989
+ 15 FlashGNDistance int8u
14990
+ 16 FlashColorFilter int8u
14991
+ 17.1 FlashGroupAControlMode int8u & 0x0f
14992
+ 18.1 FlashGroupBControlMode int8u & 0xf0
14993
+ 18.2 FlashGroupCControlMode int8u & 0x0f
14994
+ 33 FlashOutput int8u
14995
+ 37 FlashIlluminationPattern int8u
14996
+ 38 FlashFocalLength int8u
14997
+ 40 FlashGroupAOutput int8u
14998
+ FlashGroupACompensation int8s
14999
+ 41 FlashGroupBOutput int8u
15000
+ FlashGroupBCompensation int8s
15001
+ 42 FlashGroupCOutput int8u
15002
+ FlashGroupCCompensation int8s
14919
15003
 
14920
15004
  =head3 Nikon FlashInfoUnknown Tags
14921
15005
 
@@ -27513,7 +27597,7 @@ for the official specification.
27513
27597
  The tags below are extracted from timed metadata in QuickTime and other
27514
27598
  formats of video files when the ExtractEmbedded option is used. Although
27515
27599
  most of these tags are combined into the single table below, ExifTool
27516
- currently reads 62 different formats of timed GPS metadata from video files.
27600
+ currently reads 63 different formats of timed GPS metadata from video files.
27517
27601
 
27518
27602
  Tag Name Writable
27519
27603
  -------- --------
@@ -38524,7 +38608,7 @@ L<Image::ExifTool::BuildTagLookup|Image::ExifTool::BuildTagLookup>.
38524
38608
 
38525
38609
  =head1 AUTHOR
38526
38610
 
38527
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
38611
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
38528
38612
 
38529
38613
  This library is free software; you can redistribute it and/or modify it
38530
38614
  under the same terms as Perl itself.
@@ -222,7 +222,7 @@ characteristics of TXT and CSV files.
222
222
 
223
223
  =head1 AUTHOR
224
224
 
225
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
225
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
226
226
 
227
227
  This library is free software; you can redistribute it and/or modify it
228
228
  under the same terms as Perl itself.
@@ -122,7 +122,7 @@ information from Theora video streams.
122
122
 
123
123
  =head1 AUTHOR
124
124
 
125
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
125
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
126
126
 
127
127
  This library is free software; you can redistribute it and/or modify it
128
128
  under the same terms as Perl itself.
@@ -309,7 +309,7 @@ bencoded information from BitTorrent files.
309
309
 
310
310
  =head1 AUTHOR
311
311
 
312
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
312
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
313
313
 
314
314
  This library is free software; you can redistribute it and/or modify it
315
315
  under the same terms as Perl itself.
@@ -53,7 +53,7 @@ unknown manufacturers.
53
53
 
54
54
  =head1 AUTHOR
55
55
 
56
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
56
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
57
57
 
58
58
  This library is free software; you can redistribute it and/or modify it
59
59
  under the same terms as Perl itself.
@@ -416,7 +416,7 @@ information from vCard VCF and iCalendar ICS files.
416
416
 
417
417
  =head1 AUTHOR
418
418
 
419
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
419
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
420
420
 
421
421
  This library is free software; you can redistribute it and/or modify it
422
422
  under the same terms as Perl itself.
@@ -659,7 +659,7 @@ ExifTool Validate option is enabled.
659
659
 
660
660
  =head1 AUTHOR
661
661
 
662
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
662
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
663
663
 
664
664
  This library is free software; you can redistribute it and/or modify it
665
665
  under the same terms as Perl itself.
@@ -228,7 +228,7 @@ information from Ogg Vorbis audio headers.
228
228
 
229
229
  =head1 AUTHOR
230
230
 
231
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
231
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
232
232
 
233
233
  This library is free software; you can redistribute it and/or modify it
234
234
  under the same terms as Perl itself.
@@ -297,7 +297,7 @@ This module contains definitions required by Image::ExifTool to read WTV
297
297
 
298
298
  =head1 AUTHOR
299
299
 
300
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
300
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
301
301
 
302
302
  This library is free software; you can redistribute it and/or modify it
303
303
  under the same terms as Perl itself.
@@ -630,7 +630,7 @@ JPEG files, and would lead to far fewer problems with corrupted metadata.
630
630
 
631
631
  =head1 AUTHOR
632
632
 
633
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
633
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
634
634
 
635
635
  This library is free software; you can redistribute it and/or modify it
636
636
  under the same terms as Perl itself.
@@ -53,6 +53,19 @@ my %mandatory = (
53
53
  },
54
54
  );
55
55
 
56
+ #------------------------------------------------------------------------------
57
+ # Inverse print conversion for OffsetTime tags
58
+ # Inputs: 0) input time zone or date/time value, 1) ExifTool ref
59
+ # Returns: Time zone string for writing to EXIF
60
+ sub InverseOffsetTime($$)
61
+ {
62
+ my ($val, $et) = @_;
63
+ $val = $et->TimeNow() if lc($val) eq 'now';
64
+ return '+00:00' if $val =~ /Z$/;
65
+ return sprintf('%s%.2d:%.2d',$1,$2,$3) if $val =~ /([-+])(\d{1,2}):?(\d{2})/;
66
+ return undef;
67
+ }
68
+
56
69
  #------------------------------------------------------------------------------
57
70
  # Inverse print conversion for LensInfo
58
71
  # Inputs: 0) lens info string
@@ -2640,7 +2653,7 @@ This file contains routines to write EXIF metadata.
2640
2653
 
2641
2654
  =head1 AUTHOR
2642
2655
 
2643
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
2656
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
2644
2657
 
2645
2658
  This library is free software; you can redistribute it and/or modify it
2646
2659
  under the same terms as Perl itself.
@@ -711,7 +711,7 @@ seldom-used routines.
711
711
 
712
712
  =head1 AUTHOR
713
713
 
714
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
714
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
715
715
 
716
716
  This library is free software; you can redistribute it and/or modify it
717
717
  under the same terms as Perl itself.
@@ -395,6 +395,10 @@ sub WritePDF($$)
395
395
 
396
396
  # must pre-determine Info reference to be used in encryption
397
397
  my $infoRef = $prevInfoRef || \ "$nextObject 0 R";
398
+ unless (ref $infoRef eq 'SCALAR') {
399
+ $et->Error("Info dictionary is not an indirect object");
400
+ return $rtn;
401
+ }
398
402
  $keyExt = $$infoRef;
399
403
 
400
404
  # must encrypt all values in dictionary if they came from an encrypted stream
@@ -750,7 +754,7 @@ C<PDF-update> pseudo group).
750
754
 
751
755
  =head1 AUTHOR
752
756
 
753
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
757
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
754
758
 
755
759
  This library is free software; you can redistribute it and/or modify it
756
760
  under the same terms as Perl itself.
@@ -401,7 +401,7 @@ strings).
401
401
 
402
402
  =head1 AUTHOR
403
403
 
404
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
404
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
405
405
 
406
406
  This library is free software; you can redistribute it and/or modify it
407
407
  under the same terms as Perl itself.
@@ -257,7 +257,7 @@ default resource name, and applied if no appended name is provided.
257
257
 
258
258
  =head1 AUTHOR
259
259
 
260
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
260
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
261
261
 
262
262
  This library is free software; you can redistribute it and/or modify it
263
263
  under the same terms as Perl itself.
@@ -687,7 +687,7 @@ Thanks to Tim Kordick for his help testing the EPS writer.
687
687
 
688
688
  =head1 AUTHOR
689
689
 
690
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
690
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
691
691
 
692
692
  This library is free software; you can redistribute it and/or modify it
693
693
  under the same terms as Perl itself.
@@ -1667,12 +1667,18 @@ sub WriteQuickTime($$$)
1667
1667
  # edit size of mdat in header if necessary
1668
1668
  if ($diff) {
1669
1669
  if (length($$hdrChunk[2]) == 8) {
1670
- my $size = Get32u(\$$hdrChunk[2], 0) + $diff;
1671
- $size > 0xffffffff and $et->Error("Can't yet grow mdat across 4GB boundary"), return $rtnVal;
1672
- Set32u($size, \$$hdrChunk[2], 0);
1670
+ my $size = Get32u(\$$hdrChunk[2], 0);
1671
+ if ($size) { # (0 size = extends to end of file)
1672
+ $size += $diff;
1673
+ $size > 0xffffffff and $et->Error("Can't yet grow mdat across 4GB boundary"), return $rtnVal;
1674
+ Set32u($size, \$$hdrChunk[2], 0);
1675
+ }
1673
1676
  } elsif (length($$hdrChunk[2]) == 16) {
1674
- my $size = Get64u(\$$hdrChunk[2], 8) + $diff;
1675
- Set64u($size, \$$hdrChunk[2], 8);
1677
+ my $size = Get64u(\$$hdrChunk[2], 8);
1678
+ if ($size) {
1679
+ $size += $diff;
1680
+ Set64u($size, \$$hdrChunk[2], 8);
1681
+ }
1676
1682
  } else {
1677
1683
  $et->Error('Internal error. Invalid mdat header');
1678
1684
  return $rtnVal;
@@ -1899,7 +1905,12 @@ sub WriteMOV($$)
1899
1905
  $ftype = 'MOV';
1900
1906
  }
1901
1907
  $et->SetFileType($ftype); # need to set "FileType" tag for a Condition
1902
- $et->InitWriteDirs($dirMap{$ftype}, 'XMP', 'QuickTime');
1908
+ if ($ftype eq 'HEIC') {
1909
+ # EXIF is preferred in HEIC files
1910
+ $et->InitWriteDirs($dirMap{$ftype}, 'EXIF', 'QuickTime');
1911
+ } else {
1912
+ $et->InitWriteDirs($dirMap{$ftype}, 'XMP', 'QuickTime');
1913
+ }
1903
1914
  $$et{DirMap} = $dirMap{$ftype}; # need access to directory map when writing
1904
1915
  # track tags globally to avoid creating multiple tags in the case of duplicate directories
1905
1916
  $$et{DidTag} = { };
@@ -1932,7 +1943,7 @@ QuickTime-based file formats like MOV and MP4.
1932
1943
 
1933
1944
  =head1 AUTHOR
1934
1945
 
1935
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
1946
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
1936
1947
 
1937
1948
  This library is free software; you can redistribute it and/or modify it
1938
1949
  under the same terms as Perl itself.
@@ -338,7 +338,7 @@ Currently writes only WebP files.
338
338
 
339
339
  =head1 AUTHOR
340
340
 
341
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
341
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
342
342
 
343
343
  This library is free software; you can redistribute it and/or modify it
344
344
  under the same terms as Perl itself.
@@ -1635,7 +1635,7 @@ This file contains routines to write XMP metadata.
1635
1635
 
1636
1636
  =head1 AUTHOR
1637
1637
 
1638
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
1638
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
1639
1639
 
1640
1640
  This library is free software; you can redistribute it and/or modify it
1641
1641
  under the same terms as Perl itself.
@@ -242,7 +242,7 @@ my %intRange = (
242
242
  'int64s' => [-9223372036854775808, 9223372036854775807],
243
243
  );
244
244
  # lookup for file types with block-writable EXIF
245
- my %blockExifTypes = map { $_ => 1 } qw(JPEG PNG JP2 MIE EXIF FLIF MOV MP4 RIFF);
245
+ my %blockExifTypes = map { $_ => 1 } qw(JPEG PNG JP2 JXL MIE EXIF FLIF MOV MP4 RIFF);
246
246
 
247
247
  my $maxSegmentLen = 0xfffd; # maximum length of data in a JPEG segment
248
248
  my $maxXMPLen = $maxSegmentLen; # maximum length of XMP data in JPEG
@@ -7065,7 +7065,7 @@ used routines.
7065
7065
 
7066
7066
  =head1 AUTHOR
7067
7067
 
7068
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
7068
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
7069
7069
 
7070
7070
  This library is free software; you can redistribute it and/or modify it
7071
7071
  under the same terms as Perl itself.
@@ -50,7 +50,7 @@ use Image::ExifTool::Exif;
50
50
  use Image::ExifTool::GPS;
51
51
  require Exporter;
52
52
 
53
- $VERSION = '3.55';
53
+ $VERSION = '3.56';
54
54
  @ISA = qw(Exporter);
55
55
  @EXPORT_OK = qw(EscapeXML UnescapeXML);
56
56
 
@@ -87,6 +87,7 @@ my %stdPath = (
87
87
  'MicrosoftPhoto' => 'microsoft',
88
88
  'prismusagerights' => 'pur',
89
89
  'GettyImagesGIFT' => 'getty',
90
+ 'hdr_metadata' => 'hdr',
90
91
  );
91
92
 
92
93
  # translate ExifTool XMP family 1 group names back to standard XMP namespace prefixes
@@ -197,6 +198,7 @@ my %xmpNS = (
197
198
  sdc => 'http://ns.nikon.com/sdc/1.0/',
198
199
  ast => 'http://ns.nikon.com/asteroid/1.0/',
199
200
  nine => 'http://ns.nikon.com/nine/1.0/',
201
+ hdr_metadata => 'http://ns.adobe.com/hdr-metadata/1.0/',
200
202
  );
201
203
 
202
204
  # build reverse namespace lookup
@@ -895,6 +897,10 @@ my %sRangeMask = (
895
897
  Name => 'nine',
896
898
  SubDirectory => { TagTable => 'Image::ExifTool::Nikon::nine' },
897
899
  },
900
+ hdr => {
901
+ Name => 'hdr',
902
+ SubDirectory => { TagTable => 'Image::ExifTool::XMP::hdr' },
903
+ },
898
904
  );
899
905
 
900
906
  # hack to allow XML containing Dublin Core metadata to be handled like XMP (eg. EPUB - see ZIP.pm)
@@ -1728,6 +1734,14 @@ my %sPantryItem = (
1728
1734
  List => 'Seq',
1729
1735
  },
1730
1736
  RangeMaskMapInfo => { Name => 'RangeMask', Struct => \%sRangeMask, FlatName => 'RangeMask' },
1737
+ # new for ACR 15.1 (not sure if these are integer or real, so just guess)
1738
+ HDREditMode => { Writable => 'integer' },
1739
+ SDRBrightness => { Writable => 'real' },
1740
+ SDRContrast => { Writable => 'real' },
1741
+ SDRHighlights => { Writable => 'real' },
1742
+ SDRShadows => { Writable => 'real' },
1743
+ SDRWhites => { Writable => 'real' },
1744
+ SDRBlend => { Writable => 'real' },
1731
1745
  );
1732
1746
 
1733
1747
  # Tiff namespace properties (tiff)
@@ -2279,7 +2293,13 @@ my %sPantryItem = (
2279
2293
  PrintConvInv => '$val=~s/\s*m$//; $val',
2280
2294
  },
2281
2295
  NativeDigest => { }, #PH
2282
- # new Exif
2296
+ # the following written incorrectly by ACR 15.1
2297
+ # SubSecTime (should not be written according to Exif4XMP 2.32 specification)
2298
+ # SubSecTimeOriginal (should not be written according to Exif4XMP 2.32 specification)
2299
+ # SubSecTimeDigitized (should not be written according to Exif4XMP 2.32 specification)
2300
+ # SerialNumber (should be BodySerialNumber)
2301
+ # Lens (should be XMP-aux)
2302
+ # LensInfo (should be XMP-aux)
2283
2303
  );
2284
2304
 
2285
2305
  # Exif extended properties (exifEX, ref 12)
@@ -4392,7 +4412,7 @@ information.
4392
4412
 
4393
4413
  =head1 AUTHOR
4394
4414
 
4395
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
4415
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
4396
4416
 
4397
4417
  This library is free software; you can redistribute it and/or modify it
4398
4418
  under the same terms as Perl itself.
@@ -2074,6 +2074,25 @@ my %sSubVersion = (
2074
2074
  },
2075
2075
  );
2076
2076
 
2077
+ # hdr metadata namespace used by ACR 15.1
2078
+ %Image::ExifTool::XMP::hdr = (
2079
+ %xmpTableDefaults,
2080
+ GROUPS => { 1 => 'XMP-hdr', 2 => 'Image' },
2081
+ NAMESPACE => 'hdr_metadata',
2082
+ TABLE_DESC => 'XMP HDR Metadata',
2083
+ NOTES => q{
2084
+ HDR metadata namespace tags written by ACR 15.1. The actual namespace
2085
+ prefix is "hdr_metadata", which is the prefix recorded in the file, but
2086
+ ExifTool shortens this for the family 1 group name.
2087
+ },
2088
+ ccv_primaries_xy => { Name => 'CCVPrimariesXY' }, # (comma-separated string of 6 reals)
2089
+ ccv_white_xy => { Name => 'CCVWhiteXY' }, # (comma-separated string of 2 reals)
2090
+ ccv_min_luminance_nits => { Name => 'CCVMinLuminanceNits', Writable => 'real' },
2091
+ ccv_max_luminance_nits => { Name => 'CCVMaxLuminanceNits', Writable => 'real' },
2092
+ ccv_avg_luminance_nits => { Name => 'CCVAvgLuminanceNits', Writable => 'real' },
2093
+ scene_referred => { Name => 'SceneReferred', Writable => 'boolean' },
2094
+ );
2095
+
2077
2096
  # SVG namespace properties (ref 9)
2078
2097
  %Image::ExifTool::XMP::SVG = (
2079
2098
  GROUPS => { 0 => 'SVG', 1 => 'SVG', 2 => 'Image' },
@@ -2141,7 +2160,7 @@ This file contains definitions for less common XMP namespaces.
2141
2160
 
2142
2161
  =head1 AUTHOR
2143
2162
 
2144
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
2163
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
2145
2164
 
2146
2165
  This library is free software; you can redistribute it and/or modify it
2147
2166
  under the same terms as Perl itself.
@@ -869,7 +869,7 @@ information.
869
869
 
870
870
  =head1 AUTHOR
871
871
 
872
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
872
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
873
873
 
874
874
  This library is free software; you can redistribute it and/or modify it
875
875
  under the same terms as Perl itself.
@@ -720,7 +720,7 @@ Electronic Publication (EPUB), and Sketch design files (SKETCH).
720
720
 
721
721
  =head1 AUTHOR
722
722
 
723
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
723
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
724
724
 
725
725
  This library is free software; you can redistribute it and/or modify it
726
726
  under the same terms as Perl itself.
@@ -220,7 +220,7 @@ metadata from Zeiss Integrated Software RAW (ZISRAW) CZI files.
220
220
 
221
221
  =head1 AUTHOR
222
222
 
223
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
223
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
224
224
 
225
225
  This library is free software; you can redistribute it and/or modify it
226
226
  under the same terms as Perl itself.
@@ -215,7 +215,7 @@ information from Apple iWork '09 XML+ZIP files.
215
215
 
216
216
  =head1 AUTHOR
217
217
 
218
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
218
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
219
219
 
220
220
  This library is free software; you can redistribute it and/or modify it
221
221
  under the same terms as Perl itself.
@@ -8,7 +8,7 @@
8
8
  # Revisions: Nov. 12/2003 - P. Harvey Created
9
9
  # (See html/history.html for revision history)
10
10
  #
11
- # Legal: Copyright (c) 2003-2022, Phil Harvey (philharvey66 at gmail.com)
11
+ # Legal: Copyright (c) 2003-2023, Phil Harvey (philharvey66 at gmail.com)
12
12
  # This library is free software; you can redistribute it and/or
13
13
  # modify it under the same terms as Perl itself.
14
14
  #------------------------------------------------------------------------------
@@ -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.52';
32
+ $VERSION = '12.54';
33
33
  $RELEASE = '';
34
34
  @ISA = qw(Exporter);
35
35
  %EXPORT_TAGS = (
@@ -116,6 +116,7 @@ sub SetPreferredByteOrder($;$);
116
116
  sub CopyBlock($$$);
117
117
  sub CopyFileAttrs($$$);
118
118
  sub TimeNow(;$$);
119
+ sub InverseDateTime($$;$$);
119
120
  sub NewGUID();
120
121
  sub MakeTiffHeader($$$$;$$);
121
122