exiftool-vendored.pl 12.72.0 → 12.76.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 (206) hide show
  1. package/bin/Changes +64 -1
  2. package/bin/META.json +1 -1
  3. package/bin/META.yml +1 -1
  4. package/bin/README +47 -46
  5. package/bin/exiftool +123 -96
  6. package/bin/lib/File/RandomAccess.pm +32 -6
  7. package/bin/lib/File/RandomAccess.pod +6 -6
  8. package/bin/lib/Image/ExifTool/7Z.pm +3 -3
  9. package/bin/lib/Image/ExifTool/AAC.pm +8 -6
  10. package/bin/lib/Image/ExifTool/AES.pm +1 -1
  11. package/bin/lib/Image/ExifTool/AFCP.pm +3 -3
  12. package/bin/lib/Image/ExifTool/AIFF.pm +1 -1
  13. package/bin/lib/Image/ExifTool/APE.pm +1 -1
  14. package/bin/lib/Image/ExifTool/APP12.pm +1 -1
  15. package/bin/lib/Image/ExifTool/ASF.pm +1 -1
  16. package/bin/lib/Image/ExifTool/Apple.pm +1 -1
  17. package/bin/lib/Image/ExifTool/Audible.pm +1 -1
  18. package/bin/lib/Image/ExifTool/BMP.pm +1 -1
  19. package/bin/lib/Image/ExifTool/BPG.pm +1 -1
  20. package/bin/lib/Image/ExifTool/BZZ.pm +3 -3
  21. package/bin/lib/Image/ExifTool/BigTIFF.pm +1 -1
  22. package/bin/lib/Image/ExifTool/BuildTagLookup.pm +9 -9
  23. package/bin/lib/Image/ExifTool/CBOR.pm +1 -1
  24. package/bin/lib/Image/ExifTool/Canon.pm +7 -6
  25. package/bin/lib/Image/ExifTool/CanonCustom.pm +1 -1
  26. package/bin/lib/Image/ExifTool/CanonRaw.pm +1 -1
  27. package/bin/lib/Image/ExifTool/CanonVRD.pm +3 -3
  28. package/bin/lib/Image/ExifTool/CaptureOne.pm +1 -1
  29. package/bin/lib/Image/ExifTool/Casio.pm +1 -1
  30. package/bin/lib/Image/ExifTool/Charset.pm +1 -1
  31. package/bin/lib/Image/ExifTool/DICOM.pm +3 -3
  32. package/bin/lib/Image/ExifTool/DJI.pm +1 -1
  33. package/bin/lib/Image/ExifTool/DNG.pm +5 -5
  34. package/bin/lib/Image/ExifTool/DPX.pm +1 -1
  35. package/bin/lib/Image/ExifTool/DV.pm +1 -1
  36. package/bin/lib/Image/ExifTool/DarwinCore.pm +1 -1
  37. package/bin/lib/Image/ExifTool/DjVu.pm +1 -1
  38. package/bin/lib/Image/ExifTool/EXE.pm +1 -1
  39. package/bin/lib/Image/ExifTool/Exif.pm +4 -3
  40. package/bin/lib/Image/ExifTool/FITS.pm +1 -1
  41. package/bin/lib/Image/ExifTool/FLAC.pm +1 -1
  42. package/bin/lib/Image/ExifTool/FLIF.pm +1 -1
  43. package/bin/lib/Image/ExifTool/FLIR.pm +3 -3
  44. package/bin/lib/Image/ExifTool/Fixup.pm +4 -4
  45. package/bin/lib/Image/ExifTool/Flash.pm +1 -1
  46. package/bin/lib/Image/ExifTool/FlashPix.pm +61 -8
  47. package/bin/lib/Image/ExifTool/Font.pm +1 -1
  48. package/bin/lib/Image/ExifTool/FotoStation.pm +1 -1
  49. package/bin/lib/Image/ExifTool/FujiFilm.pm +9 -4
  50. package/bin/lib/Image/ExifTool/GE.pm +1 -1
  51. package/bin/lib/Image/ExifTool/GIF.pm +1 -1
  52. package/bin/lib/Image/ExifTool/GIMP.pm +1 -1
  53. package/bin/lib/Image/ExifTool/GPS.pm +1 -1
  54. package/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
  55. package/bin/lib/Image/ExifTool/Geotag.pm +4 -4
  56. package/bin/lib/Image/ExifTool/GoPro.pm +1 -1
  57. package/bin/lib/Image/ExifTool/H264.pm +1 -1
  58. package/bin/lib/Image/ExifTool/HP.pm +1 -1
  59. package/bin/lib/Image/ExifTool/HTML.pm +1 -1
  60. package/bin/lib/Image/ExifTool/HtmlDump.pm +7 -5
  61. package/bin/lib/Image/ExifTool/ICC_Profile.pm +1 -1
  62. package/bin/lib/Image/ExifTool/ICO.pm +1 -1
  63. package/bin/lib/Image/ExifTool/ID3.pm +3 -3
  64. package/bin/lib/Image/ExifTool/IPTC.pm +1 -1
  65. package/bin/lib/Image/ExifTool/ISO.pm +1 -1
  66. package/bin/lib/Image/ExifTool/ITC.pm +1 -1
  67. package/bin/lib/Image/ExifTool/Import.pm +6 -6
  68. package/bin/lib/Image/ExifTool/InDesign.pm +1 -1
  69. package/bin/lib/Image/ExifTool/InfiRay.pm +1 -1
  70. package/bin/lib/Image/ExifTool/JPEG.pm +5 -2
  71. package/bin/lib/Image/ExifTool/JPEGDigest.pm +1 -1
  72. package/bin/lib/Image/ExifTool/JSON.pm +3 -3
  73. package/bin/lib/Image/ExifTool/JVC.pm +3 -3
  74. package/bin/lib/Image/ExifTool/Jpeg2000.pm +67 -17
  75. package/bin/lib/Image/ExifTool/Kodak.pm +1 -1
  76. package/bin/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
  77. package/bin/lib/Image/ExifTool/LIF.pm +1 -1
  78. package/bin/lib/Image/ExifTool/LNK.pm +1 -1
  79. package/bin/lib/Image/ExifTool/Lang/cs.pm +1 -1
  80. package/bin/lib/Image/ExifTool/Lang/de.pm +1 -1
  81. package/bin/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
  82. package/bin/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
  83. package/bin/lib/Image/ExifTool/Lang/es.pm +4 -4
  84. package/bin/lib/Image/ExifTool/Lang/fi.pm +1 -1
  85. package/bin/lib/Image/ExifTool/Lang/fr.pm +4 -5
  86. package/bin/lib/Image/ExifTool/Lang/it.pm +3 -3
  87. package/bin/lib/Image/ExifTool/Lang/ja.pm +1 -1
  88. package/bin/lib/Image/ExifTool/Lang/ko.pm +1 -1
  89. package/bin/lib/Image/ExifTool/Lang/nl.pm +1 -1
  90. package/bin/lib/Image/ExifTool/Lang/pl.pm +1 -1
  91. package/bin/lib/Image/ExifTool/Lang/ru.pm +1 -1
  92. package/bin/lib/Image/ExifTool/Lang/sk.pm +1 -1
  93. package/bin/lib/Image/ExifTool/Lang/sv.pm +1 -1
  94. package/bin/lib/Image/ExifTool/Lang/tr.pm +1 -1
  95. package/bin/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
  96. package/bin/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
  97. package/bin/lib/Image/ExifTool/Leaf.pm +3 -3
  98. package/bin/lib/Image/ExifTool/Lytro.pm +1 -1
  99. package/bin/lib/Image/ExifTool/M2TS.pm +1 -1
  100. package/bin/lib/Image/ExifTool/MIE.pm +5 -5
  101. package/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
  102. package/bin/lib/Image/ExifTool/MIFF.pm +1 -1
  103. package/bin/lib/Image/ExifTool/MISB.pm +1 -1
  104. package/bin/lib/Image/ExifTool/MNG.pm +1 -1
  105. package/bin/lib/Image/ExifTool/MOI.pm +1 -1
  106. package/bin/lib/Image/ExifTool/MPC.pm +1 -1
  107. package/bin/lib/Image/ExifTool/MPEG.pm +1 -1
  108. package/bin/lib/Image/ExifTool/MPF.pm +1 -1
  109. package/bin/lib/Image/ExifTool/MRC.pm +1 -1
  110. package/bin/lib/Image/ExifTool/MWG.pm +1 -1
  111. package/bin/lib/Image/ExifTool/MXF.pm +1 -1
  112. package/bin/lib/Image/ExifTool/MacOS.pm +1 -1
  113. package/bin/lib/Image/ExifTool/MakerNotes.pm +1 -1
  114. package/bin/lib/Image/ExifTool/Matroska.pm +1 -1
  115. package/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
  116. package/bin/lib/Image/ExifTool/Minolta.pm +1 -1
  117. package/bin/lib/Image/ExifTool/MinoltaRaw.pm +3 -3
  118. package/bin/lib/Image/ExifTool/Motorola.pm +1 -1
  119. package/bin/lib/Image/ExifTool/Nikon.pm +11 -8
  120. package/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
  121. package/bin/lib/Image/ExifTool/NikonCustom.pm +4 -4
  122. package/bin/lib/Image/ExifTool/NikonSettings.pm +1 -1
  123. package/bin/lib/Image/ExifTool/Nintendo.pm +1 -1
  124. package/bin/lib/Image/ExifTool/OOXML.pm +1 -1
  125. package/bin/lib/Image/ExifTool/Ogg.pm +3 -3
  126. package/bin/lib/Image/ExifTool/Olympus.pm +1 -1
  127. package/bin/lib/Image/ExifTool/OpenEXR.pm +1 -1
  128. package/bin/lib/Image/ExifTool/Opus.pm +1 -1
  129. package/bin/lib/Image/ExifTool/Other.pm +1 -1
  130. package/bin/lib/Image/ExifTool/PCX.pm +1 -1
  131. package/bin/lib/Image/ExifTool/PDF.pm +55 -5
  132. package/bin/lib/Image/ExifTool/PGF.pm +1 -1
  133. package/bin/lib/Image/ExifTool/PICT.pm +1 -1
  134. package/bin/lib/Image/ExifTool/PLIST.pm +4 -4
  135. package/bin/lib/Image/ExifTool/PLUS.pm +1 -1
  136. package/bin/lib/Image/ExifTool/PNG.pm +24 -2
  137. package/bin/lib/Image/ExifTool/PPM.pm +1 -1
  138. package/bin/lib/Image/ExifTool/PSP.pm +1 -1
  139. package/bin/lib/Image/ExifTool/Palm.pm +1 -1
  140. package/bin/lib/Image/ExifTool/Panasonic.pm +27 -2
  141. package/bin/lib/Image/ExifTool/PanasonicRaw.pm +4 -4
  142. package/bin/lib/Image/ExifTool/Parrot.pm +1 -1
  143. package/bin/lib/Image/ExifTool/Pentax.pm +32 -11
  144. package/bin/lib/Image/ExifTool/PhaseOne.pm +6 -6
  145. package/bin/lib/Image/ExifTool/PhotoCD.pm +1 -1
  146. package/bin/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
  147. package/bin/lib/Image/ExifTool/Photoshop.pm +4 -4
  148. package/bin/lib/Image/ExifTool/PostScript.pm +3 -3
  149. package/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
  150. package/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
  151. package/bin/lib/Image/ExifTool/QuickTime.pm +55 -101
  152. package/bin/lib/Image/ExifTool/QuickTimeStream.pl +97 -7
  153. package/bin/lib/Image/ExifTool/RIFF.pm +1 -1
  154. package/bin/lib/Image/ExifTool/RSRC.pm +3 -3
  155. package/bin/lib/Image/ExifTool/RTF.pm +1 -1
  156. package/bin/lib/Image/ExifTool/Radiance.pm +1 -1
  157. package/bin/lib/Image/ExifTool/Rawzor.pm +1 -1
  158. package/bin/lib/Image/ExifTool/Real.pm +1 -1
  159. package/bin/lib/Image/ExifTool/Reconyx.pm +1 -1
  160. package/bin/lib/Image/ExifTool/Red.pm +1 -1
  161. package/bin/lib/Image/ExifTool/Ricoh.pm +3 -3
  162. package/bin/lib/Image/ExifTool/Samsung.pm +5 -5
  163. package/bin/lib/Image/ExifTool/Sanyo.pm +1 -1
  164. package/bin/lib/Image/ExifTool/Scalado.pm +1 -1
  165. package/bin/lib/Image/ExifTool/Shift.pl +2 -3
  166. package/bin/lib/Image/ExifTool/Shortcuts.pm +1 -1
  167. package/bin/lib/Image/ExifTool/Sigma.pm +1 -1
  168. package/bin/lib/Image/ExifTool/SigmaRaw.pm +4 -4
  169. package/bin/lib/Image/ExifTool/Sony.pm +5 -5
  170. package/bin/lib/Image/ExifTool/SonyIDC.pm +1 -1
  171. package/bin/lib/Image/ExifTool/Stim.pm +1 -1
  172. package/bin/lib/Image/ExifTool/TagInfoXML.pm +4 -4
  173. package/bin/lib/Image/ExifTool/TagLookup.pm +3879 -3862
  174. package/bin/lib/Image/ExifTool/TagNames.pod +11439 -11374
  175. package/bin/lib/Image/ExifTool/Text.pm +1 -1
  176. package/bin/lib/Image/ExifTool/Theora.pm +1 -1
  177. package/bin/lib/Image/ExifTool/Torrent.pm +1 -1
  178. package/bin/lib/Image/ExifTool/Unknown.pm +1 -1
  179. package/bin/lib/Image/ExifTool/VCard.pm +1 -1
  180. package/bin/lib/Image/ExifTool/Validate.pm +1 -1
  181. package/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
  182. package/bin/lib/Image/ExifTool/WPG.pm +1 -1
  183. package/bin/lib/Image/ExifTool/WTV.pm +1 -1
  184. package/bin/lib/Image/ExifTool/WriteCanonRaw.pl +2 -2
  185. package/bin/lib/Image/ExifTool/WriteExif.pl +27 -24
  186. package/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
  187. package/bin/lib/Image/ExifTool/WritePDF.pl +2 -2
  188. package/bin/lib/Image/ExifTool/WritePNG.pl +1 -1
  189. package/bin/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
  190. package/bin/lib/Image/ExifTool/WritePostScript.pl +1 -1
  191. package/bin/lib/Image/ExifTool/WriteQuickTime.pl +5 -2
  192. package/bin/lib/Image/ExifTool/WriteRIFF.pl +1 -1
  193. package/bin/lib/Image/ExifTool/WriteXMP.pl +9 -5
  194. package/bin/lib/Image/ExifTool/Writer.pl +74 -45
  195. package/bin/lib/Image/ExifTool/XISF.pm +1 -1
  196. package/bin/lib/Image/ExifTool/XMP.pm +20 -3
  197. package/bin/lib/Image/ExifTool/XMP2.pl +10 -1
  198. package/bin/lib/Image/ExifTool/XMPStruct.pl +1 -1
  199. package/bin/lib/Image/ExifTool/ZIP.pm +7 -7
  200. package/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
  201. package/bin/lib/Image/ExifTool/iWork.pm +1 -1
  202. package/bin/lib/Image/ExifTool.pm +59 -28
  203. package/bin/lib/Image/ExifTool.pod +81 -68
  204. package/bin/perl-Image-ExifTool.spec +45 -44
  205. package/bin/pp_build_exe.args +5 -5
  206. package/package.json +5 -5
@@ -28,6 +28,7 @@ my %convSampleRate = (
28
28
  %Image::ExifTool::AAC::Main = (
29
29
  PROCESS_PROC => \&Image::ExifTool::FLAC::ProcessBitStream,
30
30
  GROUPS => { 2 => 'Audio' },
31
+ NOTES => 'Tags extracted from Advanced Audio Coding (AAC) files.',
31
32
  # Bit000-011 - sync word (all 1's)
32
33
  # Bit012 - ID (seems to be always 0)
33
34
  # Bit013-014 - layer (00)
@@ -109,7 +110,7 @@ sub ProcessAAC($$)
109
110
  $et->ProcessDirectory({ DataPt => \$buff }, $tagTablePtr);
110
111
 
111
112
  # read the first frame data to check for a filler with the encoder name
112
- if ($len > 8 and $raf->Read($buff, $len-7) == $len-7) {
113
+ while ($len > 8 and $raf->Read($buff, $len-7) == $len-7) {
113
114
  my $noCRC = ($t[0] & 0x00010000);
114
115
  my $blocks = ($t[2] & 0x03);
115
116
  my $pos = 0;
@@ -122,16 +123,17 @@ sub ProcessAAC($$)
122
123
  my $cnt = ($tmp >> 9) & 0x0f;
123
124
  ++$pos;
124
125
  if ($cnt == 15) {
125
- $cnt += (($tmp >> 1) & 0xff) - 1 if $cnt == 15;
126
+ $cnt += (($tmp >> 1) & 0xff) - 1;
126
127
  ++$pos;
127
128
  }
128
- if ($pos + $cnt < length($buff)) {
129
+ if ($pos + $cnt <= length($buff)) {
129
130
  my $dat = substr($buff, $pos, $cnt);
130
131
  $dat =~ s/^\0+//;
131
132
  $dat =~ s/\0+$//;
132
133
  $et->HandleTag($tagTablePtr, Encoder => $dat) if $dat =~ /^[\x20-\x7e]+$/;
133
134
  }
134
135
  }
136
+ last;
135
137
  }
136
138
 
137
139
  return 1;
@@ -151,8 +153,8 @@ This module is used by Image::ExifTool
151
153
 
152
154
  =head1 DESCRIPTION
153
155
 
154
- This module contains definitions required by Image::ExifTool to read AAC
155
- audio files.
156
+ This module contains definitions required by Image::ExifTool to read
157
+ Advanced Audio Coding (AAC) files.
156
158
 
157
159
  =head1 NOTES
158
160
 
@@ -161,7 +163,7 @@ based on unofficial sources which may be incomplete, inaccurate or outdated.
161
163
 
162
164
  =head1 AUTHOR
163
165
 
164
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
166
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
165
167
 
166
168
  This library is free software; you can redistribute it and/or modify it
167
169
  under the same terms as Perl itself.
@@ -477,7 +477,7 @@ main purpose of encryption, so this really can't be considered a bug.
477
477
 
478
478
  =head1 AUTHOR
479
479
 
480
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
480
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
481
481
 
482
482
  This library is free software; you can redistribute it and/or modify it
483
483
  under the same terms as Perl itself.
@@ -14,7 +14,7 @@ use strict;
14
14
  use vars qw($VERSION);
15
15
  use Image::ExifTool qw(:DataAccess :Utils);
16
16
 
17
- $VERSION = '1.08';
17
+ $VERSION = '1.09';
18
18
 
19
19
  sub ProcessAFCP($$);
20
20
 
@@ -134,7 +134,7 @@ NoAFCP: for (;;) {
134
134
  $dirBuff = $valBuff = '';
135
135
  require Image::ExifTool::Fixup;
136
136
  $fixup = $$dirInfo{Fixup};
137
- $fixup or $fixup = $$dirInfo{Fixup} = new Image::ExifTool::Fixup;
137
+ $fixup or $fixup = $$dirInfo{Fixup} = Image::ExifTool::Fixup->new;
138
138
  $vers = substr($buff, 4, 2); # get version number
139
139
  } else {
140
140
  $et->DumpTrailer($dirInfo) if $verbose or $$et{HTML_DUMP};
@@ -259,7 +259,7 @@ scanning for AFCP information.
259
259
 
260
260
  =head1 AUTHOR
261
261
 
262
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
262
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
263
263
 
264
264
  This library is free software; you can redistribute it and/or modify it
265
265
  under the same terms as Perl itself.
@@ -287,7 +287,7 @@ information from AIFF (Audio Interchange File Format) audio files.
287
287
 
288
288
  =head1 AUTHOR
289
289
 
290
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
290
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
291
291
 
292
292
  This library is free software; you can redistribute it and/or modify it
293
293
  under the same terms as Perl itself.
@@ -263,7 +263,7 @@ Currently doesn't parse MAC header unless it is at the start of the file.
263
263
 
264
264
  =head1 AUTHOR
265
265
 
266
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
266
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
267
267
 
268
268
  This library is free software; you can redistribute it and/or modify it
269
269
  under the same terms as Perl itself.
@@ -305,7 +305,7 @@ APP12 meta information.
305
305
 
306
306
  =head1 AUTHOR
307
307
 
308
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
308
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
309
309
 
310
310
  This library is free software; you can redistribute it and/or modify it
311
311
  under the same terms as Perl itself.
@@ -876,7 +876,7 @@ Windows Media Audio (WMA) and Windows Media Video (WMV) files.
876
876
 
877
877
  =head1 AUTHOR
878
878
 
879
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
879
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
880
880
 
881
881
  This library is free software; you can redistribute it and/or modify it
882
882
  under the same terms as Perl itself.
@@ -343,7 +343,7 @@ Apple maker notes in EXIF information.
343
343
 
344
344
  =head1 AUTHOR
345
345
 
346
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
346
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
347
347
 
348
348
  This library is free software; you can redistribute it and/or modify it
349
349
  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-2023, Phil Harvey (philharvey66 at gmail.com)
294
+ Copyright 2003-2024, 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-2023, Phil Harvey (philharvey66 at gmail.com)
338
+ Copyright 2003-2024, 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-2023, Phil Harvey (philharvey66 at gmail.com)
234
+ Copyright 2003-2024, 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.
@@ -19,7 +19,7 @@ use integer; # IMPORTANT!! use integer arithmetic throughout
19
19
  require Exporter;
20
20
  use vars qw($VERSION @ISA @EXPORT_OK);
21
21
 
22
- $VERSION = '1.00';
22
+ $VERSION = '1.01';
23
23
  @ISA = qw(Exporter);
24
24
  @EXPORT_OK = qw(Decode);
25
25
 
@@ -196,7 +196,7 @@ sub Decode($;$)
196
196
  if (ref $_[0] and UNIVERSAL::isa($_[0],'Image::ExifTool::BZZ')) {
197
197
  $self = shift;
198
198
  } else {
199
- $self = new Image::ExifTool::BZZ;
199
+ $self = Image::ExifTool::BZZ->new;
200
200
  }
201
201
  my $dataPt = shift;
202
202
  if ($dataPt) {
@@ -445,7 +445,7 @@ compression ability).
445
445
 
446
446
  =head1 AUTHOR
447
447
 
448
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
448
+ Copyright 2003-2024, 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.
@@ -282,7 +282,7 @@ information in BigTIFF images.
282
282
 
283
283
  =head1 AUTHOR
284
284
 
285
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
285
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
286
286
 
287
287
  This library is free software; you can redistribute it and/or modify it
288
288
  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.52';
38
+ $VERSION = '3.54';
39
39
  @ISA = qw(Exporter);
40
40
 
41
41
  sub NumbersFirst($$);
@@ -680,7 +680,7 @@ L<Image::ExifTool::BuildTagLookup|Image::ExifTool::BuildTagLookup>.
680
680
 
681
681
  ~head1 AUTHOR
682
682
 
683
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
683
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
684
684
 
685
685
  This library is free software; you can redistribute it and/or modify it
686
686
  under the same terms as Perl itself.
@@ -797,7 +797,7 @@ sub new
797
797
  }
798
798
 
799
799
  my $tableNum = 0;
800
- my $et = new Image::ExifTool;
800
+ my $et = Image::ExifTool->new;
801
801
  my ($tableName, $tag);
802
802
  # create lookup for short table names
803
803
  foreach $tableName (@tableNames) {
@@ -1642,7 +1642,7 @@ sub WriteTagLookup($$)
1642
1642
  } else {
1643
1643
  my $quot = "'";
1644
1644
  # escape non-printable characters in tag ID if necessary
1645
- $quot = '"' if s/[\x00-\x1f,\x7f-\xff]/sprintf('\\x%.2x',ord($&))/ge;
1645
+ $quot = '"' if s/([\x00-\x1f,\x7f-\xff])/sprintf('\\x%.2x',ord($1))/ge;
1646
1646
  $_ = $quot . $_ . $quot;
1647
1647
  }
1648
1648
  }
@@ -1655,7 +1655,7 @@ sub WriteTagLookup($$)
1655
1655
  } else {
1656
1656
  my $quot = "'";
1657
1657
  # escape non-printable characters in tag ID if necessary
1658
- $quot = '"' if $tagID =~ s/[\x00-\x1f,\x7f-\xff]/sprintf('\\x%.2x',ord($&))/ge;
1658
+ $quot = '"' if $tagID =~ s/([\x00-\x1f,\x7f-\xff])/sprintf('\\x%.2x',ord($1))/ge;
1659
1659
  $entry = "$quot${tagID}$quot";
1660
1660
  }
1661
1661
  my $wrNum = $wrNum{$tableNum};
@@ -1727,12 +1727,12 @@ sub WriteTagLookup($$)
1727
1727
  }
1728
1728
 
1729
1729
  #------------------------------------------------------------------------------
1730
- # Sort numbers first numerically, then strings alphabetically (case insensitive)
1730
+ # Sort numbers first numerically, then strings alphabetically
1731
+ # - case-insensitive sorting set by global variable $caseInsensitive
1731
1732
  # - two global variables are used to change the sort algorithm:
1732
1733
  # $numbersFirst: -1 = put numbers after other strings
1733
1734
  # 1 = put numbers before other strings
1734
1735
  # 2 = put numbers first, but negative numbers last
1735
- # $caseInsensitive: flag set for case-insensitive sorting
1736
1736
  sub NumbersFirst($$)
1737
1737
  {
1738
1738
  my ($a, $b) = @_;
@@ -2742,7 +2742,7 @@ validation and consistency checks on the tag tables.
2742
2742
 
2743
2743
  use Image::ExifTool::BuildTagLookup;
2744
2744
 
2745
- $builder = new Image::ExifTool::BuildTagLookup;
2745
+ $builder = Image::ExifTool::BuildTagLookup->new;
2746
2746
 
2747
2747
  # update Image::ExifTool::TagLookup
2748
2748
  $ok = $builder->WriteTagLookup('lib/Image/ExifTool/TagLookup.pm');
@@ -2780,7 +2780,7 @@ Returned list of writable pseudo tags.
2780
2780
 
2781
2781
  =head1 AUTHOR
2782
2782
 
2783
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
2783
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
2784
2784
 
2785
2785
  This library is free software; you can redistribute it and/or modify it
2786
2786
  under the same terms as Perl itself.
@@ -321,7 +321,7 @@ specification.
321
321
 
322
322
  =head1 AUTHOR
323
323
 
324
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
324
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
325
325
 
326
326
  This library is free software; you can redistribute it and/or modify it
327
327
  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.72';
91
+ $VERSION = '4.73';
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)
@@ -1394,7 +1394,7 @@ my %offOn = ( 0 => 'Off', 1 => 'On' );
1394
1394
  },
1395
1395
  {
1396
1396
  Name => 'CanonCameraInfoR6',
1397
- Condition => '$$self{Model} =~ /\bEOS R6$/',
1397
+ Condition => '$$self{Model} =~ /\bEOS R[56]$/',
1398
1398
  SubDirectory => { TagTable => 'Image::ExifTool::Canon::CameraInfoR6' },
1399
1399
  },
1400
1400
  {
@@ -2206,8 +2206,9 @@ my %offOn = ( 0 => 'Off', 1 => 'On' );
2206
2206
  6 => 'Manual Focus (6)',
2207
2207
  16 => 'Pan Focus', #PH
2208
2208
  # 137 - Single?
2209
- 256 => 'AF + MF', #PH (NC, EOS M)
2210
- 257 => 'Live View', #forum12082
2209
+ 256 => 'One-shot AF (Live View)', #PH/forum15637
2210
+ 257 => 'AI Servo AF (Live View)', #PH/forum15637
2211
+ 258 => 'AI Focus AF (Live View)', #PH/forum15637
2211
2212
  512 => 'Movie Snap Focus', #48
2212
2213
  519 => 'Movie Servo AF', #PH (NC, EOS M)
2213
2214
  },
@@ -4714,7 +4715,7 @@ my %ciMaxFocal = (
4714
4715
  PRIORITY => 0,
4715
4716
  GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
4716
4717
  NOTES => 'CameraInfo tags for the EOS R6.',
4717
- 0x0af1 => { #forum15210
4718
+ 0x0af1 => { #forum15210/15579
4718
4719
  Name => 'ShutterCount',
4719
4720
  Format => 'int32u',
4720
4721
  Notes => 'includes electronic + mechanical shutter',
@@ -10321,7 +10322,7 @@ Canon maker notes in EXIF information.
10321
10322
 
10322
10323
  =head1 AUTHOR
10323
10324
 
10324
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
10325
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
10325
10326
 
10326
10327
  This library is free software; you can redistribute it and/or modify it
10327
10328
  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-2023, Phil Harvey (philharvey66 at gmail.com)
2876
+ Copyright 2003-2024, 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.
@@ -888,7 +888,7 @@ tags.)
888
888
 
889
889
  =head1 AUTHOR
890
890
 
891
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
891
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
892
892
 
893
893
  This library is free software; you can redistribute it and/or modify it
894
894
  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.36';
26
+ $VERSION = '1.37';
27
27
 
28
28
  sub ProcessCanonVRD($$;$);
29
29
  sub WriteCanonVRD($$;$);
@@ -2011,7 +2011,7 @@ sub ProcessCanonVRD($$;$)
2011
2011
  $verbose and print $out " Creating CanonVRD trailer\n";
2012
2012
  $created = 1;
2013
2013
  }
2014
- $raf = new File::RandomAccess($dataPt);
2014
+ $raf = File::RandomAccess->new($dataPt);
2015
2015
  }
2016
2016
  # read and validate the footer
2017
2017
  $raf->Seek(-0x40-$offset, 2) or return 0;
@@ -2266,7 +2266,7 @@ files, and as a trailer in JPEG, CRW, CR2 and TIFF images.
2266
2266
 
2267
2267
  =head1 AUTHOR
2268
2268
 
2269
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
2269
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
2270
2270
 
2271
2271
  This library is free software; you can redistribute it and/or modify it
2272
2272
  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-2023, Phil Harvey (philharvey66 at gmail.com)
224
+ Copyright 2003-2024, 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.
@@ -2034,7 +2034,7 @@ Casio maker notes in EXIF information.
2034
2034
 
2035
2035
  =head1 AUTHOR
2036
2036
 
2037
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
2037
+ Copyright 2003-2024, 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.
@@ -422,7 +422,7 @@ when decoding certain types of information.
422
422
 
423
423
  =head1 AUTHOR
424
424
 
425
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
425
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
426
426
 
427
427
  This library is free software; you can redistribute it and/or modify it
428
428
  under the same terms as Perl itself.
@@ -20,7 +20,7 @@ use strict;
20
20
  use vars qw($VERSION %uid);
21
21
  use Image::ExifTool qw(:DataAccess :Utils);
22
22
 
23
- $VERSION = '1.22';
23
+ $VERSION = '1.23';
24
24
 
25
25
  # DICOM VR (Value Representation) format conversions
26
26
  my %dicomFormat = (
@@ -3668,7 +3668,7 @@ sub ProcessDICOM($$)
3668
3668
  }
3669
3669
  last if length $data < 8;
3670
3670
  # create new RAF object from inflated data stream
3671
- $raf = new File::RandomAccess(\$data);
3671
+ $raf = File::RandomAccess->new(\$data);
3672
3672
  # re-read start of stream (now decompressed)
3673
3673
  $raf->Read($buff, 8) == 8 or last;
3674
3674
  $group = Get16u(\$buff, 0);
@@ -3853,7 +3853,7 @@ No translation of special characters sets is done.
3853
3853
 
3854
3854
  =head1 AUTHOR
3855
3855
 
3856
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
3856
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
3857
3857
 
3858
3858
  This library is free software; you can redistribute it and/or modify it
3859
3859
  under the same terms as Perl itself.
@@ -237,7 +237,7 @@ the maker notes in images from some DJI Phantom drones.
237
237
 
238
238
  =head1 AUTHOR
239
239
 
240
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
240
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
241
241
 
242
242
  This library is free software; you can redistribute it and/or modify it
243
243
  under the same terms as Perl itself.
@@ -17,7 +17,7 @@ use Image::ExifTool::Exif;
17
17
  use Image::ExifTool::MakerNotes;
18
18
  use Image::ExifTool::CanonRaw;
19
19
 
20
- $VERSION = '1.24';
20
+ $VERSION = '1.25';
21
21
 
22
22
  sub ProcessOriginalRaw($$$);
23
23
  sub ProcessAdobeData($$$);
@@ -516,7 +516,7 @@ sub ProcessAdobeMRW($$$)
516
516
  my $buff = "\0MRM" . pack('N', $dirLen - 4);
517
517
  # ignore leading byte order and directory count words
518
518
  $buff .= substr($$dataPt, $dirStart + 4, $dirLen - 4);
519
- my $raf = new File::RandomAccess(\$buff);
519
+ my $raf = File::RandomAccess->new(\$buff);
520
520
  my %dirInfo = ( RAF => $raf, OutFile => $outfile );
521
521
  my $rtnVal = Image::ExifTool::MinoltaRaw::ProcessMRW($et, \%dirInfo);
522
522
  if ($outfile and defined $$outfile and length $$outfile) {
@@ -548,7 +548,7 @@ sub ProcessAdobeRAF($$$)
548
548
  }
549
549
  $et->VerboseDir($dirInfo);
550
550
  # make fake RAF object for processing (same acronym, different meaning)
551
- my $raf = new File::RandomAccess($dataPt);
551
+ my $raf = File::RandomAccess->new($dataPt);
552
552
  my $num = '';
553
553
  # loop through all records in Adobe RAF data:
554
554
  # 0 - RAF table (not processed)
@@ -752,7 +752,7 @@ sub ProcessAdobeMakN($$$)
752
752
  }
753
753
  if ($outfile) {
754
754
  # rewrite the maker notes directory
755
- my $fixup = $subdirInfo{Fixup} = new Image::ExifTool::Fixup;
755
+ my $fixup = $subdirInfo{Fixup} = Image::ExifTool::Fixup->new;
756
756
  my $oldChanged = $$et{CHANGED};
757
757
  my $buff = $et->WriteDirectory(\%subdirInfo, $subTable);
758
758
  # nothing to do if error writing directory or nothing changed
@@ -849,7 +849,7 @@ information in DNG (Digital Negative) images.
849
849
 
850
850
  =head1 AUTHOR
851
851
 
852
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
852
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
853
853
 
854
854
  This library is free software; you can redistribute it and/or modify it
855
855
  under the same terms as Perl itself.
@@ -225,7 +225,7 @@ metadata from DPX (Digital Picture Exchange) images.
225
225
 
226
226
  =head1 AUTHOR
227
227
 
228
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
228
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
229
229
 
230
230
  This library is free software; you can redistribute it and/or modify it
231
231
  under the same terms as Perl itself.
@@ -291,7 +291,7 @@ information from DV (raw Digital Video) files.
291
291
 
292
292
  =head1 AUTHOR
293
293
 
294
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
294
+ Copyright 2003-2024, 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.
@@ -372,7 +372,7 @@ This file contains tag definitions for the Darwin Core XMP namespace.
372
372
 
373
373
  =head1 AUTHOR
374
374
 
375
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
375
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
376
376
 
377
377
  This library is free software; you can redistribute it and/or modify it
378
378
  under the same terms as Perl itself.
@@ -353,7 +353,7 @@ Image::ExifTool::AIFF.
353
353
 
354
354
  =head1 AUTHOR
355
355
 
356
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
356
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
357
357
 
358
358
  This library is free software; you can redistribute it and/or modify it
359
359
  under the same terms as Perl itself.
@@ -1454,7 +1454,7 @@ library files.
1454
1454
 
1455
1455
  =head1 AUTHOR
1456
1456
 
1457
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
1457
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
1458
1458
 
1459
1459
  This library is free software; you can redistribute it and/or modify it
1460
1460
  under the same terms as Perl itself.
@@ -57,7 +57,7 @@ use vars qw($VERSION $AUTOLOAD @formatSize @formatName %formatNumber %intFormat
57
57
  use Image::ExifTool qw(:DataAccess :Utils);
58
58
  use Image::ExifTool::MakerNotes;
59
59
 
60
- $VERSION = '4.48';
60
+ $VERSION = '4.50';
61
61
 
62
62
  sub ProcessExif($$$);
63
63
  sub WriteExif($$$);
@@ -4348,6 +4348,7 @@ my %opcodeInfo = (
4348
4348
  Deletable => 1,
4349
4349
  SubDirectory => {
4350
4350
  TagTable => 'Image::ExifTool::Jpeg2000::Main',
4351
+ DirName => 'JUMBF',
4351
4352
  ByteOrder => 'BigEndian',
4352
4353
  },
4353
4354
  },
@@ -6465,7 +6466,7 @@ sub ProcessExif($$$)
6465
6466
  TagInfo => $tagInfo || $tmpInfo,
6466
6467
  Offset => $base + $valuePtr + $dataPos,
6467
6468
  Size => $size,
6468
- Fixup => new Image::ExifTool::Fixup,
6469
+ Fixup => Image::ExifTool::Fixup->new,
6469
6470
  };
6470
6471
  }
6471
6472
  } else {
@@ -7064,7 +7065,7 @@ EXIF and TIFF meta information.
7064
7065
 
7065
7066
  =head1 AUTHOR
7066
7067
 
7067
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
7068
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
7068
7069
 
7069
7070
  This library is free software; you can redistribute it and/or modify it
7070
7071
  under the same terms as Perl itself.
@@ -137,7 +137,7 @@ information from FITS (Flexible Image Transport System) images.
137
137
 
138
138
  =head1 AUTHOR
139
139
 
140
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
140
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
141
141
 
142
142
  This library is free software; you can redistribute it and/or modify it
143
143
  under the same terms as Perl itself.
@@ -298,7 +298,7 @@ information from Free Lossless Audio Codec (FLAC) audio files.
298
298
 
299
299
  =head1 AUTHOR
300
300
 
301
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
301
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
302
302
 
303
303
  This library is free software; you can redistribute it and/or modify it
304
304
  under the same terms as Perl itself.
@@ -329,7 +329,7 @@ meta information in FLIF (Free Lossless Image Format) images.
329
329
 
330
330
  =head1 AUTHOR
331
331
 
332
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
332
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
333
333
 
334
334
  This library is free software; you can redistribute it and/or modify it
335
335
  under the same terms as Perl itself.
@@ -24,7 +24,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
24
24
  use Image::ExifTool::Exif;
25
25
  use Image::ExifTool::GPS;
26
26
 
27
- $VERSION = '1.22';
27
+ $VERSION = '1.23';
28
28
 
29
29
  sub ProcessFLIR($$;$);
30
30
  sub ProcessFLIRText($$$);
@@ -1468,7 +1468,7 @@ sub ProcessMeasInfo($$$)
1468
1468
  sub ProcessFLIR($$;$)
1469
1469
  {
1470
1470
  my ($et, $dirInfo, $tagTablePtr) = @_;
1471
- my $raf = $$dirInfo{RAF} || new File::RandomAccess($$dirInfo{DataPt});
1471
+ my $raf = $$dirInfo{RAF} || File::RandomAccess->new($$dirInfo{DataPt});
1472
1472
  my $verbose = $et->Options('Verbose');
1473
1473
  my $out = $et->Options('TextOut');
1474
1474
  my $base = $raf->Tell();
@@ -1633,7 +1633,7 @@ Systems Inc. thermal image files (FFF, FPF and JPEG format).
1633
1633
 
1634
1634
  =head1 AUTHOR
1635
1635
 
1636
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
1636
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
1637
1637
 
1638
1638
  This library is free software; you can redistribute it and/or modify it
1639
1639
  under the same terms as Perl itself.