exiftool_vendored 12.72.0 → 12.74.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (207) hide show
  1. checksums.yaml +4 -4
  2. data/bin/Changes +42 -0
  3. data/bin/META.json +1 -1
  4. data/bin/META.yml +1 -1
  5. data/bin/README +3 -3
  6. data/bin/exiftool +75 -53
  7. data/bin/lib/File/RandomAccess.pm +32 -6
  8. data/bin/lib/File/RandomAccess.pod +6 -6
  9. data/bin/lib/Image/ExifTool/7Z.pm +3 -3
  10. data/bin/lib/Image/ExifTool/AAC.pm +8 -6
  11. data/bin/lib/Image/ExifTool/AES.pm +1 -1
  12. data/bin/lib/Image/ExifTool/AFCP.pm +3 -3
  13. data/bin/lib/Image/ExifTool/AIFF.pm +1 -1
  14. data/bin/lib/Image/ExifTool/APE.pm +1 -1
  15. data/bin/lib/Image/ExifTool/APP12.pm +1 -1
  16. data/bin/lib/Image/ExifTool/ASF.pm +1 -1
  17. data/bin/lib/Image/ExifTool/Apple.pm +1 -1
  18. data/bin/lib/Image/ExifTool/Audible.pm +1 -1
  19. data/bin/lib/Image/ExifTool/BMP.pm +1 -1
  20. data/bin/lib/Image/ExifTool/BPG.pm +1 -1
  21. data/bin/lib/Image/ExifTool/BZZ.pm +3 -3
  22. data/bin/lib/Image/ExifTool/BigTIFF.pm +1 -1
  23. data/bin/lib/Image/ExifTool/BuildTagLookup.pm +7 -7
  24. data/bin/lib/Image/ExifTool/CBOR.pm +1 -1
  25. data/bin/lib/Image/ExifTool/Canon.pm +4 -4
  26. data/bin/lib/Image/ExifTool/CanonCustom.pm +1 -1
  27. data/bin/lib/Image/ExifTool/CanonRaw.pm +1 -1
  28. data/bin/lib/Image/ExifTool/CanonVRD.pm +3 -3
  29. data/bin/lib/Image/ExifTool/CaptureOne.pm +1 -1
  30. data/bin/lib/Image/ExifTool/Casio.pm +1 -1
  31. data/bin/lib/Image/ExifTool/Charset.pm +1 -1
  32. data/bin/lib/Image/ExifTool/DICOM.pm +3 -3
  33. data/bin/lib/Image/ExifTool/DJI.pm +1 -1
  34. data/bin/lib/Image/ExifTool/DNG.pm +5 -5
  35. data/bin/lib/Image/ExifTool/DPX.pm +1 -1
  36. data/bin/lib/Image/ExifTool/DV.pm +1 -1
  37. data/bin/lib/Image/ExifTool/DarwinCore.pm +1 -1
  38. data/bin/lib/Image/ExifTool/DjVu.pm +1 -1
  39. data/bin/lib/Image/ExifTool/EXE.pm +1 -1
  40. data/bin/lib/Image/ExifTool/Exif.pm +3 -3
  41. data/bin/lib/Image/ExifTool/FITS.pm +1 -1
  42. data/bin/lib/Image/ExifTool/FLAC.pm +1 -1
  43. data/bin/lib/Image/ExifTool/FLIF.pm +1 -1
  44. data/bin/lib/Image/ExifTool/FLIR.pm +3 -3
  45. data/bin/lib/Image/ExifTool/Fixup.pm +4 -4
  46. data/bin/lib/Image/ExifTool/Flash.pm +1 -1
  47. data/bin/lib/Image/ExifTool/FlashPix.pm +61 -8
  48. data/bin/lib/Image/ExifTool/Font.pm +1 -1
  49. data/bin/lib/Image/ExifTool/FotoStation.pm +1 -1
  50. data/bin/lib/Image/ExifTool/FujiFilm.pm +9 -4
  51. data/bin/lib/Image/ExifTool/GE.pm +1 -1
  52. data/bin/lib/Image/ExifTool/GIF.pm +1 -1
  53. data/bin/lib/Image/ExifTool/GIMP.pm +1 -1
  54. data/bin/lib/Image/ExifTool/GPS.pm +1 -1
  55. data/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
  56. data/bin/lib/Image/ExifTool/Geotag.pm +4 -4
  57. data/bin/lib/Image/ExifTool/GoPro.pm +1 -1
  58. data/bin/lib/Image/ExifTool/H264.pm +1 -1
  59. data/bin/lib/Image/ExifTool/HP.pm +1 -1
  60. data/bin/lib/Image/ExifTool/HTML.pm +1 -1
  61. data/bin/lib/Image/ExifTool/HtmlDump.pm +3 -3
  62. data/bin/lib/Image/ExifTool/ICC_Profile.pm +1 -1
  63. data/bin/lib/Image/ExifTool/ICO.pm +1 -1
  64. data/bin/lib/Image/ExifTool/ID3.pm +3 -3
  65. data/bin/lib/Image/ExifTool/IPTC.pm +1 -1
  66. data/bin/lib/Image/ExifTool/ISO.pm +1 -1
  67. data/bin/lib/Image/ExifTool/ITC.pm +1 -1
  68. data/bin/lib/Image/ExifTool/Import.pm +6 -6
  69. data/bin/lib/Image/ExifTool/InDesign.pm +1 -1
  70. data/bin/lib/Image/ExifTool/InfiRay.pm +1 -1
  71. data/bin/lib/Image/ExifTool/JPEG.pm +5 -2
  72. data/bin/lib/Image/ExifTool/JPEGDigest.pm +1 -1
  73. data/bin/lib/Image/ExifTool/JSON.pm +3 -3
  74. data/bin/lib/Image/ExifTool/JVC.pm +3 -3
  75. data/bin/lib/Image/ExifTool/Jpeg2000.pm +18 -7
  76. data/bin/lib/Image/ExifTool/Kodak.pm +1 -1
  77. data/bin/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
  78. data/bin/lib/Image/ExifTool/LIF.pm +1 -1
  79. data/bin/lib/Image/ExifTool/LNK.pm +1 -1
  80. data/bin/lib/Image/ExifTool/Lang/cs.pm +1 -1
  81. data/bin/lib/Image/ExifTool/Lang/de.pm +1 -1
  82. data/bin/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
  83. data/bin/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
  84. data/bin/lib/Image/ExifTool/Lang/es.pm +4 -4
  85. data/bin/lib/Image/ExifTool/Lang/fi.pm +1 -1
  86. data/bin/lib/Image/ExifTool/Lang/fr.pm +4 -5
  87. data/bin/lib/Image/ExifTool/Lang/it.pm +3 -3
  88. data/bin/lib/Image/ExifTool/Lang/ja.pm +1 -1
  89. data/bin/lib/Image/ExifTool/Lang/ko.pm +1 -1
  90. data/bin/lib/Image/ExifTool/Lang/nl.pm +1 -1
  91. data/bin/lib/Image/ExifTool/Lang/pl.pm +1 -1
  92. data/bin/lib/Image/ExifTool/Lang/ru.pm +1 -1
  93. data/bin/lib/Image/ExifTool/Lang/sk.pm +1 -1
  94. data/bin/lib/Image/ExifTool/Lang/sv.pm +1 -1
  95. data/bin/lib/Image/ExifTool/Lang/tr.pm +1 -1
  96. data/bin/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
  97. data/bin/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
  98. data/bin/lib/Image/ExifTool/Leaf.pm +3 -3
  99. data/bin/lib/Image/ExifTool/Lytro.pm +1 -1
  100. data/bin/lib/Image/ExifTool/M2TS.pm +1 -1
  101. data/bin/lib/Image/ExifTool/MIE.pm +5 -5
  102. data/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
  103. data/bin/lib/Image/ExifTool/MIFF.pm +1 -1
  104. data/bin/lib/Image/ExifTool/MISB.pm +1 -1
  105. data/bin/lib/Image/ExifTool/MNG.pm +1 -1
  106. data/bin/lib/Image/ExifTool/MOI.pm +1 -1
  107. data/bin/lib/Image/ExifTool/MPC.pm +1 -1
  108. data/bin/lib/Image/ExifTool/MPEG.pm +1 -1
  109. data/bin/lib/Image/ExifTool/MPF.pm +1 -1
  110. data/bin/lib/Image/ExifTool/MRC.pm +1 -1
  111. data/bin/lib/Image/ExifTool/MWG.pm +1 -1
  112. data/bin/lib/Image/ExifTool/MXF.pm +1 -1
  113. data/bin/lib/Image/ExifTool/MacOS.pm +1 -1
  114. data/bin/lib/Image/ExifTool/MakerNotes.pm +1 -1
  115. data/bin/lib/Image/ExifTool/Matroska.pm +1 -1
  116. data/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
  117. data/bin/lib/Image/ExifTool/Minolta.pm +1 -1
  118. data/bin/lib/Image/ExifTool/MinoltaRaw.pm +3 -3
  119. data/bin/lib/Image/ExifTool/Motorola.pm +1 -1
  120. data/bin/lib/Image/ExifTool/Nikon.pm +11 -8
  121. data/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
  122. data/bin/lib/Image/ExifTool/NikonCustom.pm +4 -4
  123. data/bin/lib/Image/ExifTool/NikonSettings.pm +1 -1
  124. data/bin/lib/Image/ExifTool/Nintendo.pm +1 -1
  125. data/bin/lib/Image/ExifTool/OOXML.pm +1 -1
  126. data/bin/lib/Image/ExifTool/Ogg.pm +3 -3
  127. data/bin/lib/Image/ExifTool/Olympus.pm +1 -1
  128. data/bin/lib/Image/ExifTool/OpenEXR.pm +1 -1
  129. data/bin/lib/Image/ExifTool/Opus.pm +1 -1
  130. data/bin/lib/Image/ExifTool/Other.pm +1 -1
  131. data/bin/lib/Image/ExifTool/PCX.pm +1 -1
  132. data/bin/lib/Image/ExifTool/PDF.pm +1 -1
  133. data/bin/lib/Image/ExifTool/PGF.pm +1 -1
  134. data/bin/lib/Image/ExifTool/PICT.pm +1 -1
  135. data/bin/lib/Image/ExifTool/PLIST.pm +4 -4
  136. data/bin/lib/Image/ExifTool/PLUS.pm +1 -1
  137. data/bin/lib/Image/ExifTool/PNG.pm +24 -2
  138. data/bin/lib/Image/ExifTool/PPM.pm +1 -1
  139. data/bin/lib/Image/ExifTool/PSP.pm +1 -1
  140. data/bin/lib/Image/ExifTool/Palm.pm +1 -1
  141. data/bin/lib/Image/ExifTool/Panasonic.pm +27 -2
  142. data/bin/lib/Image/ExifTool/PanasonicRaw.pm +4 -4
  143. data/bin/lib/Image/ExifTool/Parrot.pm +1 -1
  144. data/bin/lib/Image/ExifTool/Pentax.pm +32 -11
  145. data/bin/lib/Image/ExifTool/PhaseOne.pm +6 -6
  146. data/bin/lib/Image/ExifTool/PhotoCD.pm +1 -1
  147. data/bin/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
  148. data/bin/lib/Image/ExifTool/Photoshop.pm +4 -4
  149. data/bin/lib/Image/ExifTool/PostScript.pm +3 -3
  150. data/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
  151. data/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
  152. data/bin/lib/Image/ExifTool/QuickTime.pm +54 -101
  153. data/bin/lib/Image/ExifTool/QuickTimeStream.pl +97 -7
  154. data/bin/lib/Image/ExifTool/RIFF.pm +1 -1
  155. data/bin/lib/Image/ExifTool/RSRC.pm +3 -3
  156. data/bin/lib/Image/ExifTool/RTF.pm +1 -1
  157. data/bin/lib/Image/ExifTool/Radiance.pm +1 -1
  158. data/bin/lib/Image/ExifTool/Rawzor.pm +1 -1
  159. data/bin/lib/Image/ExifTool/Real.pm +1 -1
  160. data/bin/lib/Image/ExifTool/Reconyx.pm +1 -1
  161. data/bin/lib/Image/ExifTool/Red.pm +1 -1
  162. data/bin/lib/Image/ExifTool/Ricoh.pm +3 -3
  163. data/bin/lib/Image/ExifTool/Samsung.pm +5 -5
  164. data/bin/lib/Image/ExifTool/Sanyo.pm +1 -1
  165. data/bin/lib/Image/ExifTool/Scalado.pm +1 -1
  166. data/bin/lib/Image/ExifTool/Shift.pl +2 -2
  167. data/bin/lib/Image/ExifTool/Shortcuts.pm +1 -1
  168. data/bin/lib/Image/ExifTool/Sigma.pm +1 -1
  169. data/bin/lib/Image/ExifTool/SigmaRaw.pm +4 -4
  170. data/bin/lib/Image/ExifTool/Sony.pm +5 -5
  171. data/bin/lib/Image/ExifTool/SonyIDC.pm +1 -1
  172. data/bin/lib/Image/ExifTool/Stim.pm +1 -1
  173. data/bin/lib/Image/ExifTool/TagInfoXML.pm +4 -4
  174. data/bin/lib/Image/ExifTool/TagLookup.pm +3876 -3862
  175. data/bin/lib/Image/ExifTool/TagNames.pod +11420 -11382
  176. data/bin/lib/Image/ExifTool/Text.pm +1 -1
  177. data/bin/lib/Image/ExifTool/Theora.pm +1 -1
  178. data/bin/lib/Image/ExifTool/Torrent.pm +1 -1
  179. data/bin/lib/Image/ExifTool/Unknown.pm +1 -1
  180. data/bin/lib/Image/ExifTool/VCard.pm +1 -1
  181. data/bin/lib/Image/ExifTool/Validate.pm +1 -1
  182. data/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
  183. data/bin/lib/Image/ExifTool/WPG.pm +1 -1
  184. data/bin/lib/Image/ExifTool/WTV.pm +1 -1
  185. data/bin/lib/Image/ExifTool/WriteCanonRaw.pl +2 -2
  186. data/bin/lib/Image/ExifTool/WriteExif.pl +16 -16
  187. data/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
  188. data/bin/lib/Image/ExifTool/WritePDF.pl +2 -2
  189. data/bin/lib/Image/ExifTool/WritePNG.pl +1 -1
  190. data/bin/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
  191. data/bin/lib/Image/ExifTool/WritePostScript.pl +1 -1
  192. data/bin/lib/Image/ExifTool/WriteQuickTime.pl +5 -2
  193. data/bin/lib/Image/ExifTool/WriteRIFF.pl +1 -1
  194. data/bin/lib/Image/ExifTool/WriteXMP.pl +9 -5
  195. data/bin/lib/Image/ExifTool/Writer.pl +72 -43
  196. data/bin/lib/Image/ExifTool/XISF.pm +1 -1
  197. data/bin/lib/Image/ExifTool/XMP.pm +19 -3
  198. data/bin/lib/Image/ExifTool/XMP2.pl +1 -1
  199. data/bin/lib/Image/ExifTool/XMPStruct.pl +1 -1
  200. data/bin/lib/Image/ExifTool/ZIP.pm +7 -7
  201. data/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
  202. data/bin/lib/Image/ExifTool/iWork.pm +1 -1
  203. data/bin/lib/Image/ExifTool.pm +44 -25
  204. data/bin/lib/Image/ExifTool.pod +12 -3
  205. data/bin/perl-Image-ExifTool.spec +1 -1
  206. data/lib/exiftool_vendored/version.rb +1 -1
  207. metadata +2 -2
@@ -65,13 +65,13 @@ use Image::ExifTool::Exif;
65
65
  use Image::ExifTool::GPS;
66
66
  use Image::ExifTool::XMP;
67
67
 
68
- $VERSION = '4.28';
68
+ $VERSION = '4.30';
69
69
 
70
70
  sub LensIDConv($$$);
71
71
  sub ProcessNikonAVI($$$);
72
72
  sub ProcessNikonMOV($$$);
73
73
  sub ProcessNikonEncrypted($$$);
74
- sub FormatString($);
74
+ sub FormatString($$);
75
75
  sub ProcessNikonCaptureEditVersions($$$);
76
76
  sub PrintAFPoints($$);
77
77
  sub PrintAFPointsInv($$);
@@ -677,6 +677,7 @@ sub GetAFPointGrid($$;$);
677
677
  '71 48 64 64 24 24 00 00' => 'Voigtlander APO-Skopar 90mm F2.8 SL IIs', #30
678
678
  'FD 00 50 50 18 18 DF 00' => 'Voigtlander APO-Lanthar 50mm F2 Aspherical', #35
679
679
  'FD 00 44 44 18 18 DF 00' => 'Voigtlander APO-Lanthar 35mm F2', #30
680
+ 'FD 00 59 59 18 18 DF 00' => 'Voigtlander Macro APO-Lanthar 65mm F2', #30
680
681
  #
681
682
  '00 40 2D 2D 2C 2C 00 00' => 'Carl Zeiss Distagon T* 3.5/18 ZF.2',
682
683
  '00 48 27 27 24 24 00 00' => 'Carl Zeiss Distagon T* 2.8/15 ZF.2', #MykytaKozlov
@@ -690,6 +691,7 @@ sub GetAFPointGrid($$;$);
690
691
  '00 54 62 62 0C 0C 00 00' => 'Carl Zeiss Planar T* 1.4/85 ZF.2',
691
692
  '00 54 68 68 18 18 00 00' => 'Carl Zeiss Makro-Planar T* 2/100 ZF.2',
692
693
  '00 54 72 72 18 18 00 00' => 'Carl Zeiss Apo Sonnar T* 2/135 ZF.2',
694
+ '02 54 3C 3C 0C 0C 00 00' => 'Zeiss Otus 1.4/28 ZF.2', #30
693
695
  '00 54 53 53 0C 0C 00 00' => 'Zeiss Otus 1.4/55', #IB
694
696
  '01 54 62 62 0C 0C 00 00' => 'Zeiss Otus 1.4/85',
695
697
  '03 54 68 68 0C 0C 00 00' => 'Zeiss Otus 1.4/100', #IB
@@ -12731,15 +12733,16 @@ sub LensIDConv($$$)
12731
12733
 
12732
12734
  #------------------------------------------------------------------------------
12733
12735
  # Clean up formatting of string values
12734
- # Inputs: 0) string value
12736
+ # Inputs: 0) string value, 1) ExifTool ref
12735
12737
  # Returns: formatted string value
12736
12738
  # - removes trailing spaces and changes case to something more sensible
12737
- sub FormatString($)
12739
+ sub FormatString($$)
12738
12740
  {
12739
- my $str = shift;
12741
+ my ($str, $et) = @_;
12740
12742
  # limit string length (can be very long for some unknown tags)
12741
- if (length($str) > 60) {
12742
- $str = substr($str,0,55) . "[...]";
12743
+ my $lim = $et->Options('LimitLongValues');
12744
+ if (length($str) > $lim and $lim >= 5) {
12745
+ $str = substr($str,0,$lim-5) . "[...]";
12743
12746
  } else {
12744
12747
  $str =~ s/\s+$//; # remove trailing white space
12745
12748
  # Don't change case of non-words (no vowels)
@@ -13429,7 +13432,7 @@ Nikon maker notes in EXIF information.
13429
13432
 
13430
13433
  =head1 AUTHOR
13431
13434
 
13432
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
13435
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
13433
13436
 
13434
13437
  This library is free software; you can redistribute it and/or modify it
13435
13438
  under the same terms as Perl itself.
@@ -918,7 +918,7 @@ the maker notes of NEF images.
918
918
 
919
919
  =head1 AUTHOR
920
920
 
921
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
921
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
922
922
 
923
923
  This library is free software; you can redistribute it and/or modify it
924
924
  under the same terms as Perl itself.
@@ -9852,7 +9852,7 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
9852
9852
  85 => { Name => 'HighSpeedSync', PrintConv => \%offOn }, # CSe1-b
9853
9853
  87 => { # CSe2
9854
9854
  Name => 'FlashShutterSpeed',
9855
- ValueConv => 'my $t = ($val - 16) % 24; $t ? $val / 24 : 2 + ($val - 16) / 24', #unusual decode perhaps due to need to accomodate 4 new values?
9855
+ ValueConv => 'my $t = ($val - 16) % 24; $t ? $val / 24 : 2 + ($val - 16) / 24', #unusual decode perhaps due to need to accommodate 4 new values?
9856
9856
  PrintConv => {
9857
9857
  0 => '1 s',
9858
9858
  1 => '1/2 s',
@@ -10242,7 +10242,7 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
10242
10242
  85 => { Name => 'HighSpeedSync', PrintConv => \%offOn }, # CSe1-b
10243
10243
  87 => { # CSe2
10244
10244
  Name => 'FlashShutterSpeed',
10245
- ValueConv => 'my $t = ($val - 16) % 24; $t ? $val / 24 : 2 + ($val - 16) / 24', #unusual decode perhaps due to need to accomodate 4 new values?
10245
+ ValueConv => 'my $t = ($val - 16) % 24; $t ? $val / 24 : 2 + ($val - 16) / 24', #unusual decode perhaps due to need to accommodate 4 new values?
10246
10246
  PrintConv => {
10247
10247
  0 => '1 s',
10248
10248
  1 => '1/2 s',
@@ -10652,7 +10652,7 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
10652
10652
  85 => { Name => 'HighSpeedSync', PrintConv => \%offOn }, # CSe1-b
10653
10653
  87 => { # CSe2
10654
10654
  Name => 'FlashShutterSpeed',
10655
- ValueConv => 'my $t = ($val - 16) % 24; $t ? $val / 24 : 2 + ($val - 16) / 24', #unusual decode perhaps due to need to accomodate 4 new values?
10655
+ ValueConv => 'my $t = ($val - 16) % 24; $t ? $val / 24 : 2 + ($val - 16) / 24', #unusual decode perhaps due to need to accommodate 4 new values?
10656
10656
  PrintConv => {
10657
10657
  0 => '1 s',
10658
10658
  1 => '1/2 s',
@@ -10898,7 +10898,7 @@ this information.
10898
10898
 
10899
10899
  =head1 AUTHOR
10900
10900
 
10901
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
10901
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
10902
10902
 
10903
10903
  This library is free software; you can redistribute it and/or modify it
10904
10904
  under the same terms as Perl itself.
@@ -2077,7 +2077,7 @@ Nikon cameras such as the D6 and Z7mk2.
2077
2077
 
2078
2078
  =head1 AUTHOR
2079
2079
 
2080
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
2080
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
2081
2081
 
2082
2082
  This library is free software; you can redistribute it and/or modify it
2083
2083
  under the same terms as Perl itself.
@@ -107,7 +107,7 @@ interpret Nintendo maker notes EXIF meta information.
107
107
 
108
108
  =head1 AUTHOR
109
109
 
110
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
110
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
111
111
 
112
112
  This library is free software; you can redistribute it and/or modify it
113
113
  under the same terms as Perl itself.
@@ -395,7 +395,7 @@ archives of XML files.
395
395
 
396
396
  =head1 AUTHOR
397
397
 
398
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
398
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
399
399
 
400
400
  This library is free software; you can redistribute it and/or modify it
401
401
  under the same terms as Perl itself.
@@ -17,7 +17,7 @@ use strict;
17
17
  use vars qw($VERSION);
18
18
  use Image::ExifTool qw(:DataAccess :Utils);
19
19
 
20
- $VERSION = '1.02';
20
+ $VERSION = '1.03';
21
21
 
22
22
  my $MAX_PACKETS = 2; # maximum packets to scan from each stream at start of file
23
23
 
@@ -189,7 +189,7 @@ sub ProcessOGG($$)
189
189
  if (defined $numFlac and defined $val{$stream}) {
190
190
  # process FLAC headers as if it was a complete FLAC file
191
191
  require Image::ExifTool::FLAC;
192
- my %dirInfo = ( RAF => new File::RandomAccess(\$val{$stream}) );
192
+ my %dirInfo = ( RAF => File::RandomAccess->new(\$val{$stream}) );
193
193
  Image::ExifTool::FLAC::ProcessFLAC($et, \%dirInfo);
194
194
  }
195
195
  return $success;
@@ -214,7 +214,7 @@ information from Ogg bitstream container files.
214
214
 
215
215
  =head1 AUTHOR
216
216
 
217
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
217
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
218
218
 
219
219
  This library is free software; you can redistribute it and/or modify it
220
220
  under the same terms as Perl itself.
@@ -4181,7 +4181,7 @@ Olympus or Epson maker notes in EXIF information.
4181
4181
 
4182
4182
  =head1 AUTHOR
4183
4183
 
4184
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
4184
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
4185
4185
 
4186
4186
  This library is free software; you can redistribute it and/or modify it
4187
4187
  under the same terms as Perl itself.
@@ -321,7 +321,7 @@ information from OpenEXR images.
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.
@@ -69,7 +69,7 @@ information from Ogg Opus audio files.
69
69
 
70
70
  =head1 AUTHOR
71
71
 
72
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
72
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
73
73
 
74
74
  This library is free software; you can redistribute it and/or modify it
75
75
  under the same terms as Perl itself.
@@ -71,7 +71,7 @@ information from Portable FloatMap (PFM) images.
71
71
 
72
72
  =head1 AUTHOR
73
73
 
74
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
74
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
75
75
 
76
76
  This library is free software; you can redistribute it and/or modify it
77
77
  under the same terms as Perl itself.
@@ -114,7 +114,7 @@ information from PC Paintbrush (PCX) files.
114
114
 
115
115
  =head1 AUTHOR
116
116
 
117
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
117
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
118
118
 
119
119
  This library is free software; you can redistribute it and/or modify it
120
120
  under the same terms as Perl itself.
@@ -2416,7 +2416,7 @@ and AESV3 (AES-256).
2416
2416
 
2417
2417
  =head1 AUTHOR
2418
2418
 
2419
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
2419
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
2420
2420
 
2421
2421
  This library is free software; you can redistribute it and/or modify it
2422
2422
  under the same terms as Perl itself.
@@ -119,7 +119,7 @@ information from Progressive Graphics File (PGF) images.
119
119
 
120
120
  =head1 AUTHOR
121
121
 
122
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
122
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
123
123
 
124
124
  This library is free software; you can redistribute it and/or modify it
125
125
  under the same terms as Perl itself.
@@ -1236,7 +1236,7 @@ Verbose or the Unknown option.
1236
1236
 
1237
1237
  =head1 AUTHOR
1238
1238
 
1239
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
1239
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
1240
1240
 
1241
1241
  This library is free software; you can redistribute it and/or modify it
1242
1242
  under the same terms as Perl itself.
@@ -21,7 +21,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
21
21
  use Image::ExifTool::XMP;
22
22
  use Image::ExifTool::GPS;
23
23
 
24
- $VERSION = '1.11';
24
+ $VERSION = '1.12';
25
25
 
26
26
  sub ExtractObject($$;$);
27
27
  sub Get24u($$);
@@ -351,9 +351,9 @@ sub ProcessBinaryPLIST($$;$)
351
351
  my $start = $$dirInfo{DirStart};
352
352
  if ($start or ($$dirInfo{DirLen} and $$dirInfo{DirLen} != length $$dataPt)) {
353
353
  my $buf2 = substr($$dataPt, $start || 0, $$dirInfo{DirLen});
354
- $$dirInfo{RAF} = new File::RandomAccess(\$buf2);
354
+ $$dirInfo{RAF} = File::RandomAccess->new(\$buf2);
355
355
  } else {
356
- $$dirInfo{RAF} = new File::RandomAccess($dataPt);
356
+ $$dirInfo{RAF} = File::RandomAccess->new($dataPt);
357
357
  }
358
358
  my $strt = $$dirInfo{DirStart} || 0;
359
359
  }
@@ -450,7 +450,7 @@ This module decodes both the binary and XML-based PLIST format.
450
450
 
451
451
  =head1 AUTHOR
452
452
 
453
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
453
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
454
454
 
455
455
  This library is free software; you can redistribute it and/or modify it
456
456
  under the same terms as Perl itself.
@@ -2601,7 +2601,7 @@ Definitions for PLUS (Picture Licensing Universal System) tags.
2601
2601
 
2602
2602
  =head1 AUTHOR
2603
2603
 
2604
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
2604
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
2605
2605
 
2606
2606
  This library is free software; you can redistribute it and/or modify it
2607
2607
  under the same terms as Perl itself.
@@ -36,7 +36,7 @@ use strict;
36
36
  use vars qw($VERSION $AUTOLOAD %stdCase);
37
37
  use Image::ExifTool qw(:DataAccess :Utils);
38
38
 
39
- $VERSION = '1.65';
39
+ $VERSION = '1.66';
40
40
 
41
41
  sub ProcessPNG_tEXt($$$);
42
42
  sub ProcessPNG_iTXt($$$);
@@ -351,6 +351,27 @@ my %noLeapFrog = ( SAVE => 1, SEEK => 1, IHDR => 1, JHDR => 1, IEND => 1, MEND =
351
351
  TagTable => 'Image::ExifTool::PNG::CICodePoints',
352
352
  },
353
353
  },
354
+ cpIp => { # OLE information found in PNG Plus images written by Picture It!
355
+ Name => 'OLEInfo',
356
+ Condition => q{
357
+ # set FileType to "PNG Plus"
358
+ if ($$self{VALUE}{FileType} and $$self{VALUE}{FileType} eq "PNG") {
359
+ $$self{VALUE}{FileType} = 'PNG Plus';
360
+ }
361
+ return 1;
362
+ },
363
+ SubDirectory => {
364
+ TagTable => 'Image::ExifTool::FlashPix::Main',
365
+ ProcessProc => 'Image::ExifTool::FlashPix::ProcessFPX',
366
+ },
367
+ },
368
+ meTa => { # XML in UTF-16 BOM format written by Picture It!
369
+ SubDirectory => {
370
+ TagTable => 'Image::ExifTool::XMP::XML',
371
+ IgnoreProp => { meta => 1 }, # ignore 'meta' container
372
+ },
373
+ },
374
+ # mkBF,mkTS,mkBS,mkBT ? - written by Adobe FireWorks
354
375
  );
355
376
 
356
377
  # PNG IHDR chunk
@@ -970,6 +991,7 @@ sub FoundPNG($$$$;$$$$)
970
991
  TagInfo => $tagInfo,
971
992
  ReadOnly => 1, # (used only by WriteXMP)
972
993
  OutBuff => $outBuff,
994
+ IgnoreProp => $$subdir{IgnoreProp}, # (XML hack for meTa chunk)
973
995
  );
974
996
  # no need to re-decompress if already done
975
997
  undef $processProc if $wasCompressed and $processProc and $processProc eq \&ProcessPNG_Compressed;
@@ -1656,7 +1678,7 @@ and JNG (JPEG Network Graphics) images.
1656
1678
 
1657
1679
  =head1 AUTHOR
1658
1680
 
1659
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
1681
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
1660
1682
 
1661
1683
  This library is free software; you can redistribute it and/or modify it
1662
1684
  under the same terms as Perl itself.
@@ -143,7 +143,7 @@ BitMap) images.
143
143
 
144
144
  =head1 AUTHOR
145
145
 
146
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
146
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
147
147
 
148
148
  This library is free software; you can redistribute it and/or modify it
149
149
  under the same terms as Perl itself.
@@ -284,7 +284,7 @@ information from Paint Shop Pro images.
284
284
 
285
285
  =head1 AUTHOR
286
286
 
287
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
287
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
288
288
 
289
289
  This library is free software; you can redistribute it and/or modify it
290
290
  under the same terms as Perl itself.
@@ -379,7 +379,7 @@ KF7 and KF8 books (AZW and AZW3).
379
379
 
380
380
  =head1 AUTHOR
381
381
 
382
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
382
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
383
383
 
384
384
  This library is free software; you can redistribute it and/or modify it
385
385
  under the same terms as Perl itself.
@@ -37,7 +37,7 @@ use vars qw($VERSION %leicaLensTypes);
37
37
  use Image::ExifTool qw(:DataAccess :Utils);
38
38
  use Image::ExifTool::Exif;
39
39
 
40
- $VERSION = '2.21';
40
+ $VERSION = '2.22';
41
41
 
42
42
  sub ProcessLeicaLEIC($$$);
43
43
  sub WhiteBalanceConv($;$$);
@@ -2186,6 +2186,10 @@ my %shootingMode = (
2186
2186
  Writable => 'rational64u',
2187
2187
  Count => 2,
2188
2188
  },
2189
+ 0x0370 => { #forum15440
2190
+ Name => 'LensProfileName',
2191
+ Writable => 'string',
2192
+ },
2189
2193
  );
2190
2194
 
2191
2195
  # Type 2 tags (ref PH)
@@ -2509,6 +2513,27 @@ my %shootingMode = (
2509
2513
  },
2510
2514
  );
2511
2515
 
2516
+ # Leica XMP Digital Shift Assistant tags
2517
+ %Image::ExifTool::Panasonic::DSA = (
2518
+ GROUPS => { 0 => 'XMP', 1 => 'XMP-xmpDSA', 2 => 'Image' },
2519
+ PROCESS_PROC => 'Image::ExifTool::XMP::ProcessXMP',
2520
+ NAMESPACE => 'xmpDSA',
2521
+ WRITABLE => 'string',
2522
+ AVOID => 1,
2523
+ VARS => { NO_ID => 1 },
2524
+ NOTES => 'XMP Digital Shift Assistant tags written by some Leica cameras.',
2525
+ Version => { }, # eg. "1.0.0"
2526
+ CorrectionAlreadyApplied => { Writable => 'boolean' },
2527
+ PitchAngle => { Writable => 'real' },
2528
+ RollAngle => { Writable => 'real' },
2529
+ FocalLength35mm => { Writable => 'real' },
2530
+ TargetAspectRatio => { Writable => 'real' },
2531
+ ScalingFactorHeight => { Writable => 'real' },
2532
+ ValidCropCorners => { Writable => 'boolean' },
2533
+ ApplyAutomatically => { Writable => 'boolean' },
2534
+ NormalizedCropCorners => { Writable => 'real', List => 'Seq' },
2535
+ );
2536
+
2512
2537
  # Panasonic Composite tags
2513
2538
  %Image::ExifTool::Panasonic::Composite = (
2514
2539
  GROUPS => { 2 => 'Camera' },
@@ -2876,7 +2901,7 @@ Panasonic and Leica maker notes in EXIF information.
2876
2901
 
2877
2902
  =head1 AUTHOR
2878
2903
 
2879
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
2904
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
2880
2905
 
2881
2906
  This library is free software; you can redistribute it and/or modify it
2882
2907
  under the same terms as Perl itself.
@@ -21,7 +21,7 @@ use vars qw($VERSION);
21
21
  use Image::ExifTool qw(:DataAccess :Utils);
22
22
  use Image::ExifTool::Exif;
23
23
 
24
- $VERSION = '1.28';
24
+ $VERSION = '1.29';
25
25
 
26
26
  sub ProcessJpgFromRaw($$$);
27
27
  sub WriteJpgFromRaw($$$);
@@ -839,7 +839,7 @@ sub WriteJpgFromRaw($$$)
839
839
  my $buff = substr($$dataPt, $dirStart, $dirLen);
840
840
  $dataPt = \$buff;
841
841
  }
842
- my $raf = new File::RandomAccess($dataPt);
842
+ my $raf = File::RandomAccess->new($dataPt);
843
843
  my $outbuff;
844
844
  my %dirInfo = (
845
845
  RAF => $raf,
@@ -890,7 +890,7 @@ sub ProcessJpgFromRaw($$$)
890
890
  # extract information from embedded JPEG
891
891
  my %dirInfo = (
892
892
  Parent => 'RAF',
893
- RAF => new File::RandomAccess($dataPt),
893
+ RAF => File::RandomAccess->new($dataPt),
894
894
  );
895
895
  if ($verbose) {
896
896
  my $indent = $$et{INDENT};
@@ -934,7 +934,7 @@ write meta information in Panasonic/Leica RAW, RW2 and RWL images.
934
934
 
935
935
  =head1 AUTHOR
936
936
 
937
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
937
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
938
938
 
939
939
  This library is free software; you can redistribute it and/or modify it
940
940
  under the same terms as Perl itself.
@@ -825,7 +825,7 @@ timed metadata from the 'mett' frame found in Parrot drone MP4 videos.
825
825
 
826
826
  =head1 AUTHOR
827
827
 
828
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
828
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
829
829
 
830
830
  This library is free software; you can redistribute it and/or modify it
831
831
  under the same terms as Perl itself.
@@ -58,7 +58,7 @@ use Image::ExifTool::Exif;
58
58
  use Image::ExifTool::GPS;
59
59
  use Image::ExifTool::HP;
60
60
 
61
- $VERSION = '3.45';
61
+ $VERSION = '3.46';
62
62
 
63
63
  sub CryptShutterCount($$);
64
64
  sub PrintFilter($$$);
@@ -1571,6 +1571,7 @@ my %binaryDataAttrs = (
1571
1571
  0 => 'Multi-segment',
1572
1572
  1 => 'Center-weighted average',
1573
1573
  2 => 'Spot',
1574
+ 6 => 'Highlight', # (GR III)
1574
1575
  # have seen value of 16 for E70
1575
1576
  },
1576
1577
  },
@@ -2135,7 +2136,7 @@ my %binaryDataAttrs = (
2135
2136
  PrintConvInv => [ 'Image::ExifTool::Exif::ConvertFraction($val)' ],
2136
2137
  }],
2137
2138
  0x004f => { #PH
2138
- Name => 'ImageTone', # (Called CustomImageMode in K20D manual)
2139
+ Name => 'ImageTone', # (Called CustomImageMode for K20D and ImageControlMode for GR III)
2139
2140
  Writable => 'int16u',
2140
2141
  PrintConvColumns => 2,
2141
2142
  PrintConv => {
@@ -2151,6 +2152,19 @@ my %binaryDataAttrs = (
2151
2152
  9 => 'Radiant', # (Q)
2152
2153
  10 => 'Cross Processing', #31 (K-70)
2153
2154
  11 => 'Flat', #31 (K-70)
2155
+ # the following values from GR III
2156
+ 256 => 'Standard',
2157
+ 257 => 'Vivid',
2158
+ 258 => 'Monotone',
2159
+ 259 => 'Soft Monotone',
2160
+ 260 => 'Hard Monotone',
2161
+ 261 => 'Hi-contrast B&W',
2162
+ 262 => 'Positive Film',
2163
+ 263 => 'Bleach Bypass 2',
2164
+ 264 => 'Retro',
2165
+ 265 => 'HDR Tone',
2166
+ 266 => 'Cross Processing 2',
2167
+ 267 => 'Negative Film',
2154
2168
  # 256 - seen for GR III
2155
2169
  # 257 - seen for GR III
2156
2170
  # 262 - seen for GR III
@@ -2466,16 +2480,23 @@ my %binaryDataAttrs = (
2466
2480
  },
2467
2481
  },
2468
2482
  0x007a => { #PH
2469
- Name => 'ISOAutoParameters',
2483
+ Name => 'ISOAutoMinSpeed',
2470
2484
  Writable => 'int8u',
2471
2485
  Count => 2,
2472
- PrintConv => {
2473
- '1 0' => 'Slow',
2474
- '2 0' => 'Standard',
2475
- '3 0' => 'Fast',
2476
- # '1 108' - seen for GR III
2477
- # '3 84' - seen for K-3III
2478
- },
2486
+ # From the K-3III menus for the "ISO Auto with Min. Speed" setting: 'Fast' = "Increases
2487
+ # the sensitivity from a shutter speed faster than the standard setting in ISO Auto"
2488
+ ValueConv => [ undef, '$val ? exp(-Image::ExifTool::Pentax::PentaxEv($val-68)*log(2)) : 0' ],
2489
+ ValueConvInv => [ undef, '$val ? Image::ExifTool::Pentax::PentaxEvInv(-log($val)/log(2))+68 : 0' ],
2490
+ PrintConv => [
2491
+ {
2492
+ 1 => 'Shutter Speed Control',
2493
+ 2 => 'Auto Slow',
2494
+ 3 => 'Auto Standard',
2495
+ 4 => 'Auto Fast',
2496
+ },
2497
+ 'Image::ExifTool::Exif::PrintExposureTime($val)',
2498
+ ],
2499
+ PrintConvInv => [ undef, 'Image::ExifTool::Exif::ConvertFraction($val)' ],
2479
2500
  },
2480
2501
  0x007b => { #PH (K-5)
2481
2502
  Name => 'CrossProcess',
@@ -6339,7 +6360,7 @@ tags, and everyone who helped contribute to the LensType values.
6339
6360
 
6340
6361
  =head1 AUTHOR
6341
6362
 
6342
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
6363
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
6343
6364
 
6344
6365
  This library is free software; you can redistribute it and/or modify it
6345
6366
  under the same terms as Perl itself.
@@ -15,7 +15,7 @@ use vars qw($VERSION);
15
15
  use Image::ExifTool qw(:DataAccess :Utils);
16
16
  use Image::ExifTool::Exif;
17
17
 
18
- $VERSION = '1.09';
18
+ $VERSION = '1.10';
19
19
 
20
20
  sub WritePhaseOne($$$);
21
21
  sub ProcessPhaseOne($$$);
@@ -153,7 +153,7 @@ my @formatName = ( undef, 'string', 'int16s', undef, 'int32s' );
153
153
  Format => 'int16s',
154
154
  Count => -1,
155
155
  Flags => ['Unknown','Hidden'],
156
- PrintConv => 'length($val) > 60 ? substr($val,0,55) . "[...]" : $val',
156
+ PrintConv => \&Image::ExifTool::LimitLongValues,
157
157
  },
158
158
  0x0226 => {
159
159
  Name => 'ColorMatrix2',
@@ -184,13 +184,13 @@ my @formatName = ( undef, 'string', 'int16s', undef, 'int32s' );
184
184
  Name => 'PhaseOne_0x0258',
185
185
  Format => 'int16s',
186
186
  Flags => ['Unknown','Hidden'],
187
- PrintConv => 'length($val) > 60 ? substr($val,0,55) . "[...]" : $val',
187
+ PrintConv => \&Image::ExifTool::LimitLongValues,
188
188
  },
189
189
  0x025a => { #PH
190
190
  Name => 'PhaseOne_0x025a',
191
191
  Format => 'int16s',
192
192
  Flags => ['Unknown','Hidden'],
193
- PrintConv => 'length($val) > 60 ? substr($val,0,55) . "[...]" : $val',
193
+ PrintConv => \&Image::ExifTool::LimitLongValues,
194
194
  },
195
195
  # 0x0300 - int32u: 100,101,102
196
196
  0x0301 => { Name => 'FirmwareVersions', Format => 'string' },
@@ -473,7 +473,7 @@ sub WritePhaseOne($$$)
473
473
  return undef if $numEntries < 2 or $numEntries > 300 or $ifdEnd > $dirLen;
474
474
  my $hdrBuff = $hdr;
475
475
  my $valBuff = ''; # buffer for value data
476
- my $fixup = new Image::ExifTool::Fixup;
476
+ my $fixup = Image::ExifTool::Fixup->new;
477
477
  my $index;
478
478
  for ($index=0; $index<$numEntries; ++$index) {
479
479
  my $entry = $dirStart + $ifdStart + 8 + $entrySize * $index;
@@ -725,7 +725,7 @@ One maker notes.
725
725
 
726
726
  =head1 AUTHOR
727
727
 
728
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
728
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
729
729
 
730
730
  This library is free software; you can redistribute it and/or modify it
731
731
  under the same terms as Perl itself.
@@ -484,7 +484,7 @@ information from Kodak Photo CD Image Pac (PCD) files.
484
484
 
485
485
  =head1 AUTHOR
486
486
 
487
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
487
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
488
488
 
489
489
  This library is free software; you can redistribute it and/or modify it
490
490
  under the same terms as Perl itself.
@@ -237,7 +237,7 @@ write information written by the Camera Bits Photo Mechanic software.
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.