exiftool-vendored.pl 12.49.0 → 12.54.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 (203) hide show
  1. package/bin/Changes +107 -6
  2. package/bin/MANIFEST +5 -0
  3. package/bin/META.json +1 -1
  4. package/bin/META.yml +1 -1
  5. package/bin/README +3 -3
  6. package/bin/exiftool +39 -30
  7. package/bin/lib/File/RandomAccess.pm +1 -1
  8. package/bin/lib/File/RandomAccess.pod +2 -2
  9. package/bin/lib/Image/ExifTool/AES.pm +1 -1
  10. package/bin/lib/Image/ExifTool/AFCP.pm +1 -1
  11. package/bin/lib/Image/ExifTool/AIFF.pm +1 -1
  12. package/bin/lib/Image/ExifTool/APE.pm +1 -1
  13. package/bin/lib/Image/ExifTool/APP12.pm +1 -1
  14. package/bin/lib/Image/ExifTool/ASF.pm +1 -1
  15. package/bin/lib/Image/ExifTool/Apple.pm +197 -27
  16. package/bin/lib/Image/ExifTool/Audible.pm +1 -1
  17. package/bin/lib/Image/ExifTool/BMP.pm +1 -1
  18. package/bin/lib/Image/ExifTool/BPG.pm +1 -1
  19. package/bin/lib/Image/ExifTool/BZZ.pm +1 -1
  20. package/bin/lib/Image/ExifTool/BigTIFF.pm +1 -1
  21. package/bin/lib/Image/ExifTool/BuildTagLookup.pm +10 -7
  22. package/bin/lib/Image/ExifTool/CBOR.pm +1 -1
  23. package/bin/lib/Image/ExifTool/Canon.pm +26 -9
  24. package/bin/lib/Image/ExifTool/CanonCustom.pm +1 -1
  25. package/bin/lib/Image/ExifTool/CanonRaw.pm +1 -1
  26. package/bin/lib/Image/ExifTool/CanonVRD.pm +9 -9
  27. package/bin/lib/Image/ExifTool/CaptureOne.pm +1 -1
  28. package/bin/lib/Image/ExifTool/Casio.pm +4 -4
  29. package/bin/lib/Image/ExifTool/Charset.pm +1 -1
  30. package/bin/lib/Image/ExifTool/DICOM.pm +1 -1
  31. package/bin/lib/Image/ExifTool/DJI.pm +1 -1
  32. package/bin/lib/Image/ExifTool/DNG.pm +1 -1
  33. package/bin/lib/Image/ExifTool/DPX.pm +1 -1
  34. package/bin/lib/Image/ExifTool/DV.pm +1 -1
  35. package/bin/lib/Image/ExifTool/DarwinCore.pm +1 -1
  36. package/bin/lib/Image/ExifTool/DjVu.pm +1 -1
  37. package/bin/lib/Image/ExifTool/EXE.pm +1 -1
  38. package/bin/lib/Image/ExifTool/Exif.pm +11 -21
  39. package/bin/lib/Image/ExifTool/FITS.pm +1 -1
  40. package/bin/lib/Image/ExifTool/FLAC.pm +1 -1
  41. package/bin/lib/Image/ExifTool/FLIF.pm +1 -1
  42. package/bin/lib/Image/ExifTool/FLIR.pm +7 -6
  43. package/bin/lib/Image/ExifTool/Fixup.pm +1 -1
  44. package/bin/lib/Image/ExifTool/Flash.pm +1 -1
  45. package/bin/lib/Image/ExifTool/FlashPix.pm +1 -1
  46. package/bin/lib/Image/ExifTool/Font.pm +1 -1
  47. package/bin/lib/Image/ExifTool/FotoStation.pm +1 -1
  48. package/bin/lib/Image/ExifTool/FujiFilm.pm +20 -13
  49. package/bin/lib/Image/ExifTool/GE.pm +1 -1
  50. package/bin/lib/Image/ExifTool/GIF.pm +1 -1
  51. package/bin/lib/Image/ExifTool/GIMP.pm +1 -1
  52. package/bin/lib/Image/ExifTool/GPS.pm +12 -6
  53. package/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
  54. package/bin/lib/Image/ExifTool/Geotag.pm +14 -6
  55. package/bin/lib/Image/ExifTool/GoPro.pm +1 -1
  56. package/bin/lib/Image/ExifTool/H264.pm +1 -1
  57. package/bin/lib/Image/ExifTool/HP.pm +1 -1
  58. package/bin/lib/Image/ExifTool/HTML.pm +1 -1
  59. package/bin/lib/Image/ExifTool/HtmlDump.pm +1 -1
  60. package/bin/lib/Image/ExifTool/ICC_Profile.pm +1 -1
  61. package/bin/lib/Image/ExifTool/ICO.pm +3 -1
  62. package/bin/lib/Image/ExifTool/ID3.pm +1 -1
  63. package/bin/lib/Image/ExifTool/IPTC.pm +6 -2
  64. package/bin/lib/Image/ExifTool/ISO.pm +1 -1
  65. package/bin/lib/Image/ExifTool/ITC.pm +1 -1
  66. package/bin/lib/Image/ExifTool/Import.pm +1 -1
  67. package/bin/lib/Image/ExifTool/InDesign.pm +1 -1
  68. package/bin/lib/Image/ExifTool/JPEG.pm +2 -1
  69. package/bin/lib/Image/ExifTool/JPEGDigest.pm +1 -1
  70. package/bin/lib/Image/ExifTool/JSON.pm +1 -1
  71. package/bin/lib/Image/ExifTool/JVC.pm +1 -1
  72. package/bin/lib/Image/ExifTool/Jpeg2000.pm +35 -8
  73. package/bin/lib/Image/ExifTool/Kodak.pm +1 -1
  74. package/bin/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
  75. package/bin/lib/Image/ExifTool/LIF.pm +1 -1
  76. package/bin/lib/Image/ExifTool/LNK.pm +1 -1
  77. package/bin/lib/Image/ExifTool/Lang/cs.pm +1 -1
  78. package/bin/lib/Image/ExifTool/Lang/de.pm +2 -2
  79. package/bin/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
  80. package/bin/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
  81. package/bin/lib/Image/ExifTool/Lang/es.pm +1 -1
  82. package/bin/lib/Image/ExifTool/Lang/fi.pm +1 -1
  83. package/bin/lib/Image/ExifTool/Lang/fr.pm +6016 -760
  84. package/bin/lib/Image/ExifTool/Lang/it.pm +1 -1
  85. package/bin/lib/Image/ExifTool/Lang/ja.pm +1 -1
  86. package/bin/lib/Image/ExifTool/Lang/ko.pm +1 -1
  87. package/bin/lib/Image/ExifTool/Lang/nl.pm +1 -1
  88. package/bin/lib/Image/ExifTool/Lang/pl.pm +1 -1
  89. package/bin/lib/Image/ExifTool/Lang/ru.pm +1 -1
  90. package/bin/lib/Image/ExifTool/Lang/sk.pm +1806 -0
  91. package/bin/lib/Image/ExifTool/Lang/sv.pm +1 -1
  92. package/bin/lib/Image/ExifTool/Lang/tr.pm +1 -1
  93. package/bin/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
  94. package/bin/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
  95. package/bin/lib/Image/ExifTool/Leaf.pm +1 -1
  96. package/bin/lib/Image/ExifTool/Lytro.pm +1 -1
  97. package/bin/lib/Image/ExifTool/M2TS.pm +45 -2
  98. package/bin/lib/Image/ExifTool/MIE.pm +1 -1
  99. package/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
  100. package/bin/lib/Image/ExifTool/MIFF.pm +1 -1
  101. package/bin/lib/Image/ExifTool/MISB.pm +2 -2
  102. package/bin/lib/Image/ExifTool/MNG.pm +1 -1
  103. package/bin/lib/Image/ExifTool/MOI.pm +1 -1
  104. package/bin/lib/Image/ExifTool/MPC.pm +1 -1
  105. package/bin/lib/Image/ExifTool/MPEG.pm +1 -1
  106. package/bin/lib/Image/ExifTool/MPF.pm +1 -1
  107. package/bin/lib/Image/ExifTool/MRC.pm +1 -1
  108. package/bin/lib/Image/ExifTool/MWG.pm +1 -1
  109. package/bin/lib/Image/ExifTool/MXF.pm +1 -1
  110. package/bin/lib/Image/ExifTool/MacOS.pm +1 -1
  111. package/bin/lib/Image/ExifTool/MakerNotes.pm +1 -1
  112. package/bin/lib/Image/ExifTool/Matroska.pm +262 -46
  113. package/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
  114. package/bin/lib/Image/ExifTool/Minolta.pm +1 -1
  115. package/bin/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
  116. package/bin/lib/Image/ExifTool/Motorola.pm +1 -1
  117. package/bin/lib/Image/ExifTool/Nikon.pm +845 -355
  118. package/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
  119. package/bin/lib/Image/ExifTool/NikonCustom.pm +140 -107
  120. package/bin/lib/Image/ExifTool/NikonSettings.pm +1 -1
  121. package/bin/lib/Image/ExifTool/Nintendo.pm +1 -1
  122. package/bin/lib/Image/ExifTool/OOXML.pm +1 -1
  123. package/bin/lib/Image/ExifTool/Ogg.pm +1 -1
  124. package/bin/lib/Image/ExifTool/Olympus.pm +6 -4
  125. package/bin/lib/Image/ExifTool/OpenEXR.pm +1 -1
  126. package/bin/lib/Image/ExifTool/Opus.pm +1 -1
  127. package/bin/lib/Image/ExifTool/Other.pm +1 -1
  128. package/bin/lib/Image/ExifTool/PCX.pm +1 -1
  129. package/bin/lib/Image/ExifTool/PDF.pm +1 -1
  130. package/bin/lib/Image/ExifTool/PGF.pm +1 -1
  131. package/bin/lib/Image/ExifTool/PICT.pm +1 -1
  132. package/bin/lib/Image/ExifTool/PLIST.pm +12 -7
  133. package/bin/lib/Image/ExifTool/PLUS.pm +1 -1
  134. package/bin/lib/Image/ExifTool/PNG.pm +9 -2
  135. package/bin/lib/Image/ExifTool/PPM.pm +1 -1
  136. package/bin/lib/Image/ExifTool/PSP.pm +1 -1
  137. package/bin/lib/Image/ExifTool/Palm.pm +1 -1
  138. package/bin/lib/Image/ExifTool/Panasonic.pm +1 -1
  139. package/bin/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
  140. package/bin/lib/Image/ExifTool/Parrot.pm +1 -1
  141. package/bin/lib/Image/ExifTool/Pentax.pm +8 -3
  142. package/bin/lib/Image/ExifTool/PhaseOne.pm +1 -1
  143. package/bin/lib/Image/ExifTool/PhotoCD.pm +1 -1
  144. package/bin/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
  145. package/bin/lib/Image/ExifTool/Photoshop.pm +1 -1
  146. package/bin/lib/Image/ExifTool/PostScript.pm +1 -1
  147. package/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
  148. package/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
  149. package/bin/lib/Image/ExifTool/QuickTime.pm +52 -9
  150. package/bin/lib/Image/ExifTool/QuickTimeStream.pl +95 -14
  151. package/bin/lib/Image/ExifTool/README +6 -1
  152. package/bin/lib/Image/ExifTool/RIFF.pm +1 -1
  153. package/bin/lib/Image/ExifTool/RSRC.pm +1 -1
  154. package/bin/lib/Image/ExifTool/RTF.pm +1 -1
  155. package/bin/lib/Image/ExifTool/Radiance.pm +1 -1
  156. package/bin/lib/Image/ExifTool/Rawzor.pm +1 -1
  157. package/bin/lib/Image/ExifTool/Real.pm +1 -1
  158. package/bin/lib/Image/ExifTool/Reconyx.pm +1 -1
  159. package/bin/lib/Image/ExifTool/Red.pm +1 -1
  160. package/bin/lib/Image/ExifTool/Ricoh.pm +1 -1
  161. package/bin/lib/Image/ExifTool/Samsung.pm +3 -1
  162. package/bin/lib/Image/ExifTool/Sanyo.pm +1 -1
  163. package/bin/lib/Image/ExifTool/Scalado.pm +1 -1
  164. package/bin/lib/Image/ExifTool/Shift.pl +1 -1
  165. package/bin/lib/Image/ExifTool/Shortcuts.pm +1 -1
  166. package/bin/lib/Image/ExifTool/Sigma.pm +1 -1
  167. package/bin/lib/Image/ExifTool/SigmaRaw.pm +1 -1
  168. package/bin/lib/Image/ExifTool/Sony.pm +35 -20
  169. package/bin/lib/Image/ExifTool/SonyIDC.pm +1 -1
  170. package/bin/lib/Image/ExifTool/Stim.pm +1 -1
  171. package/bin/lib/Image/ExifTool/TagInfoXML.pm +15 -8
  172. package/bin/lib/Image/ExifTool/TagLookup.pm +4672 -4568
  173. package/bin/lib/Image/ExifTool/TagNames.pod +357 -46
  174. package/bin/lib/Image/ExifTool/Text.pm +1 -1
  175. package/bin/lib/Image/ExifTool/Theora.pm +1 -1
  176. package/bin/lib/Image/ExifTool/Torrent.pm +1 -1
  177. package/bin/lib/Image/ExifTool/Unknown.pm +1 -1
  178. package/bin/lib/Image/ExifTool/VCard.pm +1 -1
  179. package/bin/lib/Image/ExifTool/Validate.pm +1 -1
  180. package/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
  181. package/bin/lib/Image/ExifTool/WTV.pm +1 -1
  182. package/bin/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
  183. package/bin/lib/Image/ExifTool/WriteExif.pl +14 -1
  184. package/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
  185. package/bin/lib/Image/ExifTool/WritePDF.pl +5 -1
  186. package/bin/lib/Image/ExifTool/WritePNG.pl +1 -1
  187. package/bin/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
  188. package/bin/lib/Image/ExifTool/WritePostScript.pl +1 -1
  189. package/bin/lib/Image/ExifTool/WriteQuickTime.pl +30 -14
  190. package/bin/lib/Image/ExifTool/WriteRIFF.pl +1 -1
  191. package/bin/lib/Image/ExifTool/WriteXMP.pl +16 -2
  192. package/bin/lib/Image/ExifTool/Writer.pl +35 -15
  193. package/bin/lib/Image/ExifTool/XMP.pm +25 -4
  194. package/bin/lib/Image/ExifTool/XMP2.pl +29 -2
  195. package/bin/lib/Image/ExifTool/XMPStruct.pl +1 -1
  196. package/bin/lib/Image/ExifTool/ZIP.pm +20 -8
  197. package/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
  198. package/bin/lib/Image/ExifTool/iWork.pm +1 -1
  199. package/bin/lib/Image/ExifTool.pm +45 -20
  200. package/bin/lib/Image/ExifTool.pod +48 -46
  201. package/bin/perl-Image-ExifTool.spec +1 -1
  202. package/bin/pp_build_exe.args +6 -5
  203. package/package.json +3 -3
@@ -6,6 +6,7 @@
6
6
  # Revisions: 2013-09-13 - P. Harvey Created
7
7
  #
8
8
  # References: 1) http://www.photoinvestigator.co/blog/the-mystery-of-maker-apple-metadata/
9
+ # 2) Frank Rupprecht private communication
9
10
  #------------------------------------------------------------------------------
10
11
 
11
12
  package Image::ExifTool::Apple;
@@ -15,7 +16,9 @@ use vars qw($VERSION);
15
16
  use Image::ExifTool::Exif;
16
17
  use Image::ExifTool::PLIST;
17
18
 
18
- $VERSION = '1.07';
19
+ $VERSION = '1.08';
20
+
21
+ sub ConvertPLIST($$);
19
22
 
20
23
  # Apple iPhone metadata (ref PH)
21
24
  %Image::ExifTool::Apple::Main = (
@@ -24,17 +27,39 @@ $VERSION = '1.07';
24
27
  WRITABLE => 1,
25
28
  GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
26
29
  NOTES => 'Tags extracted from the maker notes of iPhone images.',
27
- # 0x0001 - int32s: seen 0,1,2,3,4,9
28
- # 0x0002 - binary plist with a single data object of size 512 bytes (iPhone5s)
29
- 0x0003 => {
30
+ 0x0001 => { # (Version, ref 2)
31
+ Name => 'MakerNoteVersion',
32
+ Writable => 'int32s',
33
+ },
34
+ 0x0002 => { #2
35
+ Name => 'AEMatrix',
36
+ Unknown => 1,
37
+ # (not currently writable)
38
+ ValueConv => \&ConvertPLIST,
39
+ },
40
+ 0x0003 => { # (Timestamp, ref 2)
30
41
  Name => 'RunTime', # (includes time plugged in, but not when suspended, ref 1)
31
42
  SubDirectory => { TagTable => 'Image::ExifTool::Apple::RunTime' },
32
43
  },
33
- # 0x0004 - int32s: normally 1, but 0 for low-light images
34
- # 0x0005 - int32s: seen values 113-247, and 100 for blank images
35
- # 0x0006 - int32s: seen values 27-258, and 20 for blank images
36
- # 0x0007 - int32s: seen 1
37
- 0x0008 => { #1
44
+ 0x0004 => { #2
45
+ Name => 'AEStable',
46
+ Writable => 'int32s',
47
+ PrintConv => { 0 => 'No', 1 => 'Yes' },
48
+ },
49
+ 0x0005 => { #2
50
+ Name => 'AETarget',
51
+ Writable => 'int32s',
52
+ },
53
+ 0x0006 => { #2
54
+ Name => 'AEAverage',
55
+ Writable => 'int32s',
56
+ },
57
+ 0x0007 => { #2
58
+ Name => 'AFStable',
59
+ Writable => 'int32s',
60
+ PrintConv => { 0 => 'No', 1 => 'Yes' },
61
+ },
62
+ 0x0008 => { #1 (FocusAccelerometerVector, ref 2)
38
63
  Name => 'AccelerationVector',
39
64
  Groups => { 2 => 'Camera' },
40
65
  Writable => 'rational64s',
@@ -51,8 +76,8 @@ $VERSION = '1.07';
51
76
  toward the bottom, and positive Z points into the face of the phone
52
77
  },
53
78
  },
54
- # 0x0009 - int32s: seen 19,275,531,4371
55
- 0x000a => {
79
+ # 0x0009 - int32s: seen 19,275,531,4371 (SISMethod, ref 2)
80
+ 0x000a => { # (HDRMethod, ref 2)
56
81
  Name => 'HDRImageType',
57
82
  Writable => 'int32s',
58
83
  PrintConv => {
@@ -61,12 +86,12 @@ $VERSION = '1.07';
61
86
  4 => 'Original Image',
62
87
  },
63
88
  },
64
- 0x000b => {
89
+ 0x000b => { # (BurstUUID, ref 2)
65
90
  Name => 'BurstUUID',
66
91
  Writable => 'string',
67
92
  Notes => 'unique ID for all images in a burst',
68
93
  },
69
- 0x000c => { # ref forum13710 (Neal Krawetz)
94
+ 0x000c => { # ref forum13710 (Neal Krawetz) (SphereHealthTrackingError, ref 2)
70
95
  Name => 'FocusDistanceRange',
71
96
  Writable => 'rational64s',
72
97
  Count => 2,
@@ -76,29 +101,157 @@ $VERSION = '1.07';
76
101
  },
77
102
  PrintConvInv => '$val =~ s/ - //; $val =~ s/ ?m$//; $val',
78
103
  },
79
- # 0x000d - int32s: 0,1,6,20,24,32,40
80
- # 0x000e - int32s: 0,1,4,12 (Orientation? 0=landscape? 4=portrait? ref 1)
81
- # 0x000f - int32s: 2,3
82
- # 0x0010 - int32s: 1
83
- 0x0011 => { # (if defined, there is a live photo associated with the video, #forum13565)
104
+ # 0x000d - int32s: 0,1,6,20,24,32,40 (SphereHealthAverageCurrent, ref 2)
105
+ # 0x000e - int32s: 0,1,4,12 (Orientation? 0=landscape? 4=portrait? ref 1) (SphereMotionDataStatus, ref 2)
106
+ 0x000f => { #2
107
+ Name => 'OISMode',
108
+ Writable => 'int32s',
109
+ # seen: 2,3,5
110
+ },
111
+ # 0x0010 - int32s: 1 (SphereStatus, ref 2)
112
+ 0x0011 => { # (if defined, there is a live photo associated with the video, #forum13565) (AssetIdentifier, ref 2)
84
113
  Name => 'MediaGroupUUID', #NealKrawetz private communication
85
114
  # (changed in 12.19 from Name => 'ContentIdentifier', #forum8750)
86
115
  Writable => 'string',
87
116
  },
88
- # 0x0014 - int32s: 1,2,3,4,5 (iPhone 6s, iOS 6.1)
89
- 0x0015 => {
117
+ # 0x0012 - (QRMOutputType, ref 2)
118
+ # 0x0013 - (SphereExternalForceOffset, ref 2)
119
+ 0x0014 => { # (StillImageCaptureType, ref 2)
120
+ Name => 'ImageCaptureType',
121
+ Writable => 'int32s',
122
+ Unknown => 1, # (don't know what the values mean)
123
+ # seen: 1,2,3,4,5,10,12
124
+ },
125
+ 0x0015 => { # (ImageGroupIdentifier, ref 2)
90
126
  Name => 'ImageUniqueID',
91
127
  Writable => 'string',
92
128
  },
93
- # 0x0016 - string[29]: "AXZ6pMTOh2L+acSh4Kg630XCScoO\0"
94
- 0x0017 => { #forum13565 (only valid if MediaGroupUUID exists)
129
+ # 0x0016 - string[29]: "AXZ6pMTOh2L+acSh4Kg630XCScoO\0" (PhotosOriginatingSignature, ref 2)
130
+ 0x0017 => { #forum13565 (only valid if MediaGroupUUID exists) (StillImageCaptureFlags, ref 2)
95
131
  Name => 'LivePhotoVideoIndex',
96
132
  Notes => 'divide by RunTimeScale to get time in seconds',
97
133
  },
98
- # 0x0017 - int32s: 0,8192
99
- # 0x0019 - int32s: 0,2,128
100
- # 0x001a - string[6]: "q825s\0"
101
- # 0x001f - int32s: 0
134
+ # 0x0018 - (PhotosRenderOriginatingSignature, ref 2)
135
+ 0x0019 => { # (StillImageProcessingFlags, ref 2)
136
+ Name => 'ImageProcessingFlags',
137
+ Writable => 'int32s',
138
+ Unknown => 1,
139
+ PrintConv => { BITMASK => { } },
140
+ },
141
+ 0x001a => { # (PhotoTranscodeQualityHint, ref 2)
142
+ Name => 'QualityHint',
143
+ Writable => 'string',
144
+ Unknown => 1,
145
+ # seen: "q825s\0", "q750n\0", "q900n\0"
146
+ },
147
+ # 0x001b - (PhotosRenderEffect, ref 2)
148
+ # 0x001c - (BracketedCaptureSequenceNumber, ref 2)
149
+ 0x001d => { #2
150
+ Name => 'LuminanceNoiseAmplitude',
151
+ Writable => 'rational64s',
152
+ },
153
+ # 0x001e - (OriginatingAppID, ref 2)
154
+ # 0x001f - int32s: 0,1 (PhotosAppFeatureFlags, ref 2)
155
+ 0x0020 => { # (ImageCaptureRequestIdentifier, ref 2)
156
+ Name => 'ImageCaptureReqestID',
157
+ Writable => 'string',
158
+ Unknown => 1,
159
+ },
160
+ 0x0021 => { # (MeteorHeadroom, ref 2)
161
+ Name => 'HDRHeadroom',
162
+ Writable => 'rational64s',
163
+ },
164
+ # 0x0022 - (ARKitPhoto, ref 2)
165
+ # 0x0023 - int32s[2] (AFPerformance, ref 2)
166
+ # 0x0024 - (AFExternalOffset, ref 2)
167
+ 0x0025 => { # (StillImageSceneFlags, ref 2)
168
+ Name => 'SceneFlags',
169
+ Writable => 'int32s',
170
+ Unknown => 1,
171
+ PrintConv => { BITMASK => { } },
172
+ },
173
+ 0x0026 => { # (StillImageSNRType, ref 2)
174
+ Name => 'SignalToNoiseRatioType',
175
+ Writable => 'int32s',
176
+ Unknown => 1,
177
+ },
178
+ 0x0027 => { # (StillImageSNR, ref 2)
179
+ Name => 'SignalToNoiseRatio',
180
+ Writable => 'rational64s',
181
+ },
182
+ # 0x0028 - int32s (UBMethod, ref 2)
183
+ # 0x0029 - string (SpatialOverCaptureGroupIdentifier, ref 2)
184
+ # 0x002A - (iCloudServerSoftwareVersionForDynamicallyGeneratedMedia, ref 2)
185
+ # 0x002B - (PhotoIdentifier, ref 2)
186
+ # 0x002C - (SpatialOverCaptureImageType, ref 2)
187
+ # 0x002D - (CCT, ref 2)
188
+ # 0x002E - (ApsMode, ref 2)
189
+ 0x002F => { #2
190
+ Name => 'FocusPosition',
191
+ Writable => 'int32s',
192
+ },
193
+ 0x0030 => { # (MeteorPlusGainMap, ref 2)
194
+ Name => 'HDRGain',
195
+ Writable => 'rational64s',
196
+ },
197
+ # 0x0031 - (StillImageProcessingHomography, ref 2)
198
+ # 0x0032 - (IntelligentDistortionCorrection, ref 2)
199
+ # 0x0033 - (NRFStatus, ref 2)
200
+ # 0x0034 - (NRFInputBracketCount, ref 2)
201
+ # 0x0035 - (NRFRegisteredBracketCount, ref 2)
202
+ # 0x0036 - (LuxLevel, ref 2)
203
+ # 0x0037 - (LastFocusingMethod, ref 2)
204
+ 0x0038 => { # (TimeOfFlightAssistedAutoFocusEstimatorMeasuredDepth, ref 2)
205
+ Name => 'AFMeasuredDepth',
206
+ Notes => 'from the time-of-flight-assisted auto-focus estimator',
207
+ Writable => 'int32s',
208
+ },
209
+ # 0x0039 - (TimeOfFlightAssistedAutoFocusEstimatorROIType, ref 2)
210
+ # 0x003A - (NRFSRLStatus, ref 2)
211
+ # 0x003B - (SystemPressureLevel, ref 2)
212
+ # 0x003C - (CameraControlsStatisticsMaster, ref 2)
213
+ 0x003D => { # (TimeOfFlightAssistedAutoFocusEstimatorSensorConfidence, ref 2)
214
+ Name => 'AFConfidence',
215
+ Writable => 'int32s',
216
+ },
217
+ 0x003E => { # (ColorCorrectionMatrix, ref 2)
218
+ Name => 'ColorCorrectionMatrix',
219
+ Unknown => 1,
220
+ ValueConv => \&ConvertPLIST,
221
+ },
222
+ 0x003F => { #2
223
+ Name => 'GreenGhostMitigationStatus',
224
+ Writable => 'int32s',
225
+ Unknown => 1,
226
+ },
227
+ 0x0040 => { #2
228
+ Name => 'SemanticStyle',
229
+ ValueConv => \&ConvertPLIST,
230
+ },
231
+ 0x0041 => { # (SemanticStyleKey_RenderingVersion, ref 2)
232
+ Name => 'SemanticStyleRenderingVer',
233
+ ValueConv => \&ConvertPLIST,
234
+ },
235
+ 0x0042 => { # (SemanticStyleKey_Preset, ref 2)
236
+ Name => 'SemanticStylePreset',
237
+ ValueConv => \&ConvertPLIST,
238
+ },
239
+ # 0x0043 - (SemanticStyleKey_ToneBias, ref 2)
240
+ # 0x0044 - (SemanticStyleKey_WarmthBias, ref 2)
241
+ 0x0045 => { # (FrontFacing, ref 2)
242
+ Name => 'FrontFacingCamera',
243
+ Writable => 'int32s',
244
+ PrintConv => { 0 => 'No', 1 => 'Yes' }, #PH (NC)
245
+ },
246
+ # 0x0046 - (TimeOfFlightAssistedAutoFocusEstimatorContainsBlindSpot, ref 2)
247
+ # 0x0047 - (LeaderFollowerAutoFocusLeaderDepth, ref 2)
248
+ # 0x0048 - (LeaderFollowerAutoFocusLeaderFocusMethod, ref 2)
249
+ # 0x0049 - (LeaderFollowerAutoFocusLeaderConfidence, ref 2)
250
+ # 0x004A - (LeaderFollowerAutoFocusLeaderROIType, ref 2)
251
+ # 0x004B - (ZeroShutterLagFailureReason, ref 2)
252
+ # 0x004C - (TimeOfFlightAssistedAutoFocusEstimatorMSPMeasuredDepth, ref 2)
253
+ # 0x004D - (TimeOfFlightAssistedAutoFocusEstimatorMSPSensorConfidence, ref 2)
254
+ # 0x004E - (Camera, ref 2)
102
255
  );
103
256
 
104
257
  # PLIST-format CMTime structure (ref PH)
@@ -142,6 +295,23 @@ $VERSION = '1.07';
142
295
  # add our composite tags
143
296
  Image::ExifTool::AddCompositeTags('Image::ExifTool::Apple');
144
297
 
298
+ #------------------------------------------------------------------------------
299
+ # Convert from binary PLIST format to a tag value we can use
300
+ # Inputs: 0) binary plist data, 1) ExifTool ref
301
+ # Returns: converted value
302
+ sub ConvertPLIST($$)
303
+ {
304
+ my ($val, $et) = @_;
305
+ my $dirInfo = { DataPt => \$val };
306
+ require Image::ExifTool::PLIST;
307
+ Image::ExifTool::PLIST::ProcessBinaryPLIST($et, $dirInfo);
308
+ $val = $$dirInfo{Value};
309
+ if (ref $val eq 'HASH' and not $et->Options('Struct')) {
310
+ require 'Image/ExifTool/XMPStruct.pl';
311
+ $val = Image::ExifTool::XMP::SerializeStruct($val);
312
+ }
313
+ return $val;
314
+ }
145
315
 
146
316
  1; # end
147
317
 
@@ -162,7 +332,7 @@ Apple maker notes in EXIF information.
162
332
 
163
333
  =head1 AUTHOR
164
334
 
165
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
335
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
166
336
 
167
337
  This library is free software; you can redistribute it and/or modify it
168
338
  under the same terms as Perl itself.
@@ -291,7 +291,7 @@ information from Audible audio books.
291
291
 
292
292
  =head1 AUTHOR
293
293
 
294
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
294
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
295
295
 
296
296
  This library is free software; you can redistribute it and/or modify it
297
297
  under the same terms as Perl itself.
@@ -335,7 +335,7 @@ This module contains definitions required by Image::ExifTool to read BMP
335
335
 
336
336
  =head1 AUTHOR
337
337
 
338
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
338
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
339
339
 
340
340
  This library is free software; you can redistribute it and/or modify it
341
341
  under the same terms as Perl itself.
@@ -231,7 +231,7 @@ This module contains definitions required by Image::ExifTool to read BPG
231
231
 
232
232
  =head1 AUTHOR
233
233
 
234
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
234
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
235
235
 
236
236
  This library is free software; you can redistribute it and/or modify it
237
237
  under the same terms as Perl itself.
@@ -445,7 +445,7 @@ compression ability).
445
445
 
446
446
  =head1 AUTHOR
447
447
 
448
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
448
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
449
449
  Copyright 2002, Leon Bottou and Yann Le Cun
450
450
  Copyright 2001, AT&T
451
451
  Copyright 1999-2001, LizardTech Inc.
@@ -275,7 +275,7 @@ information in BigTIFF images.
275
275
 
276
276
  =head1 AUTHOR
277
277
 
278
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
278
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
279
279
 
280
280
  This library is free software; you can redistribute it and/or modify it
281
281
  under the same terms as Perl itself.
@@ -35,7 +35,7 @@ use Image::ExifTool::Sony;
35
35
  use Image::ExifTool::Validate;
36
36
  use Image::ExifTool::MacOS;
37
37
 
38
- $VERSION = '3.49';
38
+ $VERSION = '3.50';
39
39
  @ISA = qw(Exporter);
40
40
 
41
41
  sub NumbersFirst($$);
@@ -671,7 +671,7 @@ L<Image::ExifTool::BuildTagLookup|Image::ExifTool::BuildTagLookup>.
671
671
 
672
672
  ~head1 AUTHOR
673
673
 
674
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
674
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
675
675
 
676
676
  This library is free software; you can redistribute it and/or modify it
677
677
  under the same terms as Perl itself.
@@ -1291,16 +1291,19 @@ TagID: foreach $tagID (@keys) {
1291
1291
  $printConv = shift @printConvList;
1292
1292
  $index = shift @indexList;
1293
1293
  }
1294
- } elsif ($printConv and $printConv =~ /DecodeBits\(\$val,\s*(\{.*\})\s*\)/s) {
1294
+ # look inside scalar PrintConv for a bit/byte conversion
1295
+ # (see Photoshop:PrintFlags for use of "$byte" decoding)
1296
+ } elsif ($printConv and $printConv =~ /DecodeBits\(\$(val|byte),\s*(\\\%[\w:]+|\{.*\})\s*\)/s) {
1297
+ my $type = $1 eq 'byte' ? 'Byte' : 'Bit';
1295
1298
  $$self{Model} = ''; # needed for Nikon ShootingMode
1296
- my $bits = eval $1;
1299
+ my $bits = eval $2;
1297
1300
  delete $$self{Model};
1298
1301
  if ($@) {
1299
1302
  warn $@;
1300
1303
  } else {
1301
1304
  my @pk = sort { NumbersFirst($a,$b) } keys %$bits;
1302
1305
  foreach (@pk) {
1303
- push @values, "Bit $_ = " . $$bits{$_};
1306
+ push @values, "$type $_ = " . $$bits{$_};
1304
1307
  }
1305
1308
  }
1306
1309
  }
@@ -1504,7 +1507,7 @@ TagID: foreach $tagID (@keys) {
1504
1507
  }
1505
1508
  }
1506
1509
  foreach $tagID (sort keys %$hash) {
1507
- warn sprintf("Warning: Missing %s for %s %s, tag %d (0x%.4x)\n",
1510
+ warn sprintf("Warning: Missing %s for %s %s, tag %s (0x%.4x)\n",
1508
1511
  $var, $short, $$hash{$tagID}, $tagID, $tagID);
1509
1512
  }
1510
1513
  }
@@ -2770,7 +2773,7 @@ Returned list of writable pseudo tags.
2770
2773
 
2771
2774
  =head1 AUTHOR
2772
2775
 
2773
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
2776
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
2774
2777
 
2775
2778
  This library is free software; you can redistribute it and/or modify it
2776
2779
  under the same terms as Perl itself.
@@ -307,7 +307,7 @@ specification.
307
307
 
308
308
  =head1 AUTHOR
309
309
 
310
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
310
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
311
311
 
312
312
  This library is free software; you can redistribute it and/or modify it
313
313
  under the same terms as Perl itself.
@@ -88,7 +88,7 @@ sub ProcessCTMD($$$);
88
88
  sub ProcessExifInfo($$$);
89
89
  sub SwapWords($);
90
90
 
91
- $VERSION = '4.62';
91
+ $VERSION = '4.64';
92
92
 
93
93
  # Note: Removed 'USM' from 'L' lenses since it is redundant - PH
94
94
  # (or is it? Ref 32 shows 5 non-USM L-type lenses)
@@ -620,8 +620,9 @@ $VERSION = '4.62';
620
620
  '61182.40' => 'Canon RF 1200mm F8L IS USM', #42
621
621
  '61182.41' => 'Canon RF 1200mm F8L IS USM + RF1.4x', #42
622
622
  '61182.42' => 'Canon RF 1200mm F8L IS USM + RF2x', #42
623
+ '61182.43' => 'Canon RF 135mm F1.8 L IS USM', #42
623
624
  # we need the RFLensType values for the following...
624
- '61182.43' => 'Canon RF 5.2mm F2.8L Dual Fisheye 3D VR', #PH (NC)
625
+ '61182.44' => 'Canon RF 5.2mm F2.8L Dual Fisheye 3D VR', #PH (NC)
625
626
  65535 => 'n/a',
626
627
  );
627
628
 
@@ -982,6 +983,7 @@ $VERSION = '4.62';
982
983
  0x80000465 => 'EOS R10', #42
983
984
  0x80000467 => 'PowerShot ZOOM',
984
985
  0x80000468 => 'EOS M50 Mark II / Kiss M2', #IB
986
+ 0x80000481 => 'EOS R6 Mark II', #42
985
987
  0x80000520 => 'EOS D2000C', #IB
986
988
  0x80000560 => 'EOS D6000C', #PH (guess)
987
989
  );
@@ -1944,7 +1946,7 @@ my %offOn = ( 0 => 'Off', 1 => 'On' );
1944
1946
  SubDirectory => { TagTable => 'Image::ExifTool::Canon::ColorData10' },
1945
1947
  },
1946
1948
  { # (int16u[3973]) - R3 ref IB
1947
- Condition => '$count == 3973',
1949
+ Condition => '$count == 3973 or $count == 3778',
1948
1950
  Name => 'ColorData11',
1949
1951
  SubDirectory => { TagTable => 'Image::ExifTool::Canon::ColorData11' },
1950
1952
  },
@@ -6377,10 +6379,11 @@ my %ciMaxFocal = (
6377
6379
  1 => {
6378
6380
  Name => 'TimeZone',
6379
6381
  PrintConv => 'Image::ExifTool::TimeZoneString($val)',
6380
- PrintConvInv => sub {
6381
- my $val = shift;
6382
- $val =~ /^([-+]?)(\d{1,2}):?(\d{2})$/ or return undef;
6383
- return(($1 eq '-' ? -1 : 1) * ($2 * 60 + $3));
6382
+ PrintConvInv => q{
6383
+ $val =~ /Z$/ and return 0;
6384
+ $val =~ /([-+])(\d{1,2}):?(\d{2})$/ and return $1 . ($2 * 60 + $3);
6385
+ $val =~ /^(\d{2})(\d{2})$/ and return $1 * 60 + $2;
6386
+ return undef;
6384
6387
  },
6385
6388
  },
6386
6389
  2 => {
@@ -6836,6 +6839,7 @@ my %ciMaxFocal = (
6836
6839
  299 => 'Canon RF 1200mm F8L IS USM + RF1.4x', #42
6837
6840
  300 => 'Canon RF 1200mm F8L IS USM + RF2x', #42
6838
6841
  302 => 'Canon RF 15-30mm F4.5-6.3 IS STM', #42
6842
+ 303 => 'Canon RF 135mm F1.8 L IS USM', #42
6839
6843
  # Note: add new RF lenses to %canonLensTypes with ID 61182
6840
6844
  },
6841
6845
  },
@@ -8333,7 +8337,7 @@ my %ciMaxFocal = (
8333
8337
  # Color data (MakerNotes tag 0x4001, count=3973, ref IB)
8334
8338
  %Image::ExifTool::Canon::ColorData11 = (
8335
8339
  %binaryDataAttrs,
8336
- NOTES => 'These tags are used by the EOS R3',
8340
+ NOTES => 'These tags are used by the EOS R3, R7 and R6mkII',
8337
8341
  FORMAT => 'int16s',
8338
8342
  FIRST_ENTRY => 0,
8339
8343
  GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
@@ -8345,6 +8349,7 @@ my %ciMaxFocal = (
8345
8349
  RawConv => '$$self{ColorDataVersion} = $val',
8346
8350
  PrintConv => {
8347
8351
  34 => '34 (R3)', #IB
8352
+ 48 => '48 (R7, R10, R6 Mark II)', #IB
8348
8353
  },
8349
8354
  },
8350
8355
  0x69 => { Name => 'WB_RGGBLevelsAsShot', Format => 'int16s[4]' },
@@ -8573,6 +8578,10 @@ my %ciMaxFocal = (
8573
8578
  Name => 'DistortionCorrectionSetting',
8574
8579
  PrintConv => \%offOn,
8575
8580
  },
8581
+ 9 => { #forum14286
8582
+ Name => 'DigitalLensOptimizerSetting',
8583
+ PrintConv => \%offOn,
8584
+ },
8576
8585
  );
8577
8586
 
8578
8587
  # Auto Lighting Optimizater information (MakerNotes tag 0x4018) (ref PH)
@@ -8619,6 +8628,14 @@ my %ciMaxFocal = (
8619
8628
  # 6 - related to ChromaticAberrationCorr
8620
8629
  # 7 - related to DistortionCorrection (0=off, 1=On in a 5DmkIV sample)
8621
8630
  # 8 - related to PeripheralIlluminationCorr and ChromaticAberrationCorr
8631
+ 10 => { #forum14286
8632
+ Name => 'DigitalLensOptimizer',
8633
+ PrintConv => {
8634
+ 0 => 'Off',
8635
+ 1 => 'Stanard',
8636
+ 2 => 'High',
8637
+ },
8638
+ },
8622
8639
  );
8623
8640
 
8624
8641
  # Lens information (MakerNotes tag 0x4019) (ref 20)
@@ -10171,7 +10188,7 @@ Canon maker notes in EXIF information.
10171
10188
 
10172
10189
  =head1 AUTHOR
10173
10190
 
10174
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
10191
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
10175
10192
 
10176
10193
  This library is free software; you can redistribute it and/or modify it
10177
10194
  under the same terms as Perl itself.
@@ -2873,7 +2873,7 @@ Image::ExifTool to read this information.
2873
2873
 
2874
2874
  =head1 AUTHOR
2875
2875
 
2876
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
2876
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
2877
2877
 
2878
2878
  This library is free software; you can redistribute it and/or modify it
2879
2879
  under the same terms as Perl itself.
@@ -884,7 +884,7 @@ tags.)
884
884
 
885
885
  =head1 AUTHOR
886
886
 
887
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
887
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
888
888
 
889
889
  This library is free software; you can redistribute it and/or modify it
890
890
  under the same terms as Perl itself.
@@ -23,7 +23,7 @@ use vars qw($VERSION);
23
23
  use Image::ExifTool qw(:DataAccess :Utils);
24
24
  use Image::ExifTool::Canon;
25
25
 
26
- $VERSION = '1.34';
26
+ $VERSION = '1.35';
27
27
 
28
28
  sub ProcessCanonVRD($$;$);
29
29
  sub WriteCanonVRD($$;$);
@@ -999,7 +999,7 @@ my $blankFooter = "CANON OPTIONAL DATA\0" . ("\0" x 42) . "\xff\xd9";
999
999
  PROCESS_PROC => \&ProcessDR4,
1000
1000
  WRITE_PROC => \&ProcessDR4,
1001
1001
  WRITABLE => 1,
1002
- GROUPS => { 2 => 'Image' },
1002
+ GROUPS => { 1 => 'CanonDR4', 2 => 'Image' },
1003
1003
  VARS => { HEX_ID => 1, SORT_PROC => \&SortDR4 },
1004
1004
  NOTES => q{
1005
1005
  Tags written by Canon DPP version 4 in CanonVRD trailers and DR4 files. Each
@@ -1276,7 +1276,7 @@ my $blankFooter = "CANON OPTIONAL DATA\0" . ("\0" x 42) . "\xff\xd9";
1276
1276
  WRITABLE => 1,
1277
1277
  FIRST_ENTRY => 0,
1278
1278
  FORMAT => 'int32u',
1279
- GROUPS => { 2 => 'Image' },
1279
+ GROUPS => { 1 => 'CanonDR4', 2 => 'Image' },
1280
1280
  # 0 - value: 'IIII' (presumably byte order)
1281
1281
  # 1 - value: 0x00040004 (currently use this for magic number)
1282
1282
  # 2 - value: 6
@@ -1301,7 +1301,7 @@ my $blankFooter = "CANON OPTIONAL DATA\0" . ("\0" x 42) . "\xff\xd9";
1301
1301
  WRITABLE => 1,
1302
1302
  FIRST_ENTRY => 0,
1303
1303
  FORMAT => 'int32u',
1304
- GROUPS => { 2 => 'Image' },
1304
+ GROUPS => { 1 => 'CanonDR4', 2 => 'Image' },
1305
1305
  0x00 => {
1306
1306
  Name => 'ToneCurveColorSpace',
1307
1307
  PrintConv => {
@@ -1354,7 +1354,7 @@ my $blankFooter = "CANON OPTIONAL DATA\0" . ("\0" x 42) . "\xff\xd9";
1354
1354
  WRITABLE => 1,
1355
1355
  FIRST_ENTRY => 0,
1356
1356
  FORMAT => 'double',
1357
- GROUPS => { 2 => 'Image' },
1357
+ GROUPS => { 1 => 'CanonDR4', 2 => 'Image' },
1358
1358
  0x02 => 'GammaContrast',
1359
1359
  0x03 => 'GammaColorTone',
1360
1360
  0x04 => 'GammaSaturation',
@@ -1410,7 +1410,7 @@ my $blankFooter = "CANON OPTIONAL DATA\0" . ("\0" x 42) . "\xff\xd9";
1410
1410
  WRITABLE => 1,
1411
1411
  FIRST_ENTRY => 0,
1412
1412
  FORMAT => 'int32s',
1413
- GROUPS => { 2 => 'Image' },
1413
+ GROUPS => { 1 => 'CanonDR4', 2 => 'Image' },
1414
1414
  0 => { Name => 'CropActive', %noYes },
1415
1415
  1 => 'CropRotatedOriginalWidth',
1416
1416
  2 => 'CropRotatedOriginalHeight',
@@ -1432,7 +1432,7 @@ my $blankFooter = "CANON OPTIONAL DATA\0" . ("\0" x 42) . "\xff\xd9";
1432
1432
  # DR4 Stamp Tool tags (ref PH)
1433
1433
  %Image::ExifTool::CanonVRD::StampInfo = (
1434
1434
  PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
1435
- GROUPS => { 2 => 'Image' },
1435
+ GROUPS => { 1 => 'CanonDR4', 2 => 'Image' },
1436
1436
  FORMAT => 'int32u',
1437
1437
  FIRST_ENTRY => 0,
1438
1438
  0x02 => 'StampToolCount',
@@ -1441,7 +1441,7 @@ my $blankFooter = "CANON OPTIONAL DATA\0" . ("\0" x 42) . "\xff\xd9";
1441
1441
  # DR4 dust delete information (ref PH)
1442
1442
  %Image::ExifTool::CanonVRD::DustInfo = (
1443
1443
  PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
1444
- GROUPS => { 2 => 'Image' },
1444
+ GROUPS => { 1 => 'CanonDR4', 2 => 'Image' },
1445
1445
  FORMAT => 'int32u',
1446
1446
  FIRST_ENTRY => 0,
1447
1447
  0x02 => { Name => 'DustDeleteApplied', %noYes },
@@ -2263,7 +2263,7 @@ files, and as a trailer in JPEG, CRW, CR2 and TIFF images.
2263
2263
 
2264
2264
  =head1 AUTHOR
2265
2265
 
2266
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
2266
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
2267
2267
 
2268
2268
  This library is free software; you can redistribute it and/or modify it
2269
2269
  under the same terms as Perl itself.
@@ -221,7 +221,7 @@ settings files (COS).
221
221
 
222
222
  =head1 AUTHOR
223
223
 
224
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
224
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
225
225
 
226
226
  This library is free software; you can redistribute it and/or modify it
227
227
  under the same terms as Perl itself.
@@ -634,7 +634,7 @@ $VERSION = '1.38';
634
634
  15 => 'High Speed Best Selection',
635
635
  16 => 'Portrait',
636
636
  17 => 'Scenery',
637
- 18 => 'Portrait With Scenery',
637
+ 18 => 'Portrait with Scenery',
638
638
  19 => 'Flower',
639
639
  20 => 'Natural Green',
640
640
  21 => 'Autumn Leaves',
@@ -723,7 +723,7 @@ $VERSION = '1.38';
723
723
  14 => 'High Speed Best Selection',
724
724
  15 => 'Portrait',
725
725
  16 => 'Scenery',
726
- 17 => 'Portrait With Scenery',
726
+ 17 => 'Portrait with Scenery',
727
727
  18 => 'Flower',
728
728
  19 => 'Natural Green',
729
729
  20 => 'Autumn Leaves',
@@ -1408,7 +1408,7 @@ $VERSION = '1.38';
1408
1408
  0 => 'Off',
1409
1409
  1 => 'Portrait',
1410
1410
  2 => 'Scenery',
1411
- 3 => 'Portrait With Scenery',
1411
+ 3 => 'Portrait with Scenery',
1412
1412
  4 => 'Children',
1413
1413
  5 => 'Sports',
1414
1414
  6 => 'Night Scene',
@@ -2034,7 +2034,7 @@ Casio maker notes in EXIF information.
2034
2034
 
2035
2035
  =head1 AUTHOR
2036
2036
 
2037
- Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
2037
+ Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
2038
2038
 
2039
2039
  This library is free software; you can redistribute it and/or modify it
2040
2040
  under the same terms as Perl itself.