exiftool_vendored 12.72.0 → 12.73.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (206) hide show
  1. checksums.yaml +4 -4
  2. data/bin/Changes +17 -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 +28 -15
  7. data/bin/lib/File/RandomAccess.pm +1 -1
  8. data/bin/lib/File/RandomAccess.pod +2 -2
  9. data/bin/lib/Image/ExifTool/AAC.pm +8 -6
  10. data/bin/lib/Image/ExifTool/AES.pm +1 -1
  11. data/bin/lib/Image/ExifTool/AFCP.pm +1 -1
  12. data/bin/lib/Image/ExifTool/AIFF.pm +1 -1
  13. data/bin/lib/Image/ExifTool/APE.pm +1 -1
  14. data/bin/lib/Image/ExifTool/APP12.pm +1 -1
  15. data/bin/lib/Image/ExifTool/ASF.pm +1 -1
  16. data/bin/lib/Image/ExifTool/Apple.pm +1 -1
  17. data/bin/lib/Image/ExifTool/Audible.pm +1 -1
  18. data/bin/lib/Image/ExifTool/BMP.pm +1 -1
  19. data/bin/lib/Image/ExifTool/BPG.pm +1 -1
  20. data/bin/lib/Image/ExifTool/BZZ.pm +1 -1
  21. data/bin/lib/Image/ExifTool/BigTIFF.pm +1 -1
  22. data/bin/lib/Image/ExifTool/BuildTagLookup.pm +2 -2
  23. data/bin/lib/Image/ExifTool/CBOR.pm +1 -1
  24. data/bin/lib/Image/ExifTool/Canon.pm +1 -1
  25. data/bin/lib/Image/ExifTool/CanonCustom.pm +1 -1
  26. data/bin/lib/Image/ExifTool/CanonRaw.pm +1 -1
  27. data/bin/lib/Image/ExifTool/CanonVRD.pm +1 -1
  28. data/bin/lib/Image/ExifTool/CaptureOne.pm +1 -1
  29. data/bin/lib/Image/ExifTool/Casio.pm +1 -1
  30. data/bin/lib/Image/ExifTool/Charset.pm +1 -1
  31. data/bin/lib/Image/ExifTool/DICOM.pm +1 -1
  32. data/bin/lib/Image/ExifTool/DJI.pm +1 -1
  33. data/bin/lib/Image/ExifTool/DNG.pm +1 -1
  34. data/bin/lib/Image/ExifTool/DPX.pm +1 -1
  35. data/bin/lib/Image/ExifTool/DV.pm +1 -1
  36. data/bin/lib/Image/ExifTool/DarwinCore.pm +1 -1
  37. data/bin/lib/Image/ExifTool/DjVu.pm +1 -1
  38. data/bin/lib/Image/ExifTool/EXE.pm +1 -1
  39. data/bin/lib/Image/ExifTool/Exif.pm +1 -1
  40. data/bin/lib/Image/ExifTool/FITS.pm +1 -1
  41. data/bin/lib/Image/ExifTool/FLAC.pm +1 -1
  42. data/bin/lib/Image/ExifTool/FLIF.pm +1 -1
  43. data/bin/lib/Image/ExifTool/FLIR.pm +1 -1
  44. data/bin/lib/Image/ExifTool/Fixup.pm +1 -1
  45. data/bin/lib/Image/ExifTool/Flash.pm +1 -1
  46. data/bin/lib/Image/ExifTool/FlashPix.pm +60 -7
  47. data/bin/lib/Image/ExifTool/Font.pm +1 -1
  48. data/bin/lib/Image/ExifTool/FotoStation.pm +1 -1
  49. data/bin/lib/Image/ExifTool/FujiFilm.pm +1 -1
  50. data/bin/lib/Image/ExifTool/GE.pm +1 -1
  51. data/bin/lib/Image/ExifTool/GIF.pm +1 -1
  52. data/bin/lib/Image/ExifTool/GIMP.pm +1 -1
  53. data/bin/lib/Image/ExifTool/GPS.pm +1 -1
  54. data/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
  55. data/bin/lib/Image/ExifTool/Geotag.pm +1 -1
  56. data/bin/lib/Image/ExifTool/GoPro.pm +1 -1
  57. data/bin/lib/Image/ExifTool/H264.pm +1 -1
  58. data/bin/lib/Image/ExifTool/HP.pm +1 -1
  59. data/bin/lib/Image/ExifTool/HTML.pm +1 -1
  60. data/bin/lib/Image/ExifTool/HtmlDump.pm +1 -1
  61. data/bin/lib/Image/ExifTool/ICC_Profile.pm +1 -1
  62. data/bin/lib/Image/ExifTool/ICO.pm +1 -1
  63. data/bin/lib/Image/ExifTool/ID3.pm +1 -1
  64. data/bin/lib/Image/ExifTool/IPTC.pm +1 -1
  65. data/bin/lib/Image/ExifTool/ISO.pm +1 -1
  66. data/bin/lib/Image/ExifTool/ITC.pm +1 -1
  67. data/bin/lib/Image/ExifTool/Import.pm +1 -1
  68. data/bin/lib/Image/ExifTool/InDesign.pm +1 -1
  69. data/bin/lib/Image/ExifTool/InfiRay.pm +1 -1
  70. data/bin/lib/Image/ExifTool/JPEG.pm +5 -2
  71. data/bin/lib/Image/ExifTool/JPEGDigest.pm +1 -1
  72. data/bin/lib/Image/ExifTool/JSON.pm +1 -1
  73. data/bin/lib/Image/ExifTool/JVC.pm +3 -3
  74. data/bin/lib/Image/ExifTool/Jpeg2000.pm +17 -6
  75. data/bin/lib/Image/ExifTool/Kodak.pm +1 -1
  76. data/bin/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
  77. data/bin/lib/Image/ExifTool/LIF.pm +1 -1
  78. data/bin/lib/Image/ExifTool/LNK.pm +1 -1
  79. data/bin/lib/Image/ExifTool/Lang/cs.pm +1 -1
  80. data/bin/lib/Image/ExifTool/Lang/de.pm +1 -1
  81. data/bin/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
  82. data/bin/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
  83. data/bin/lib/Image/ExifTool/Lang/es.pm +4 -4
  84. data/bin/lib/Image/ExifTool/Lang/fi.pm +1 -1
  85. data/bin/lib/Image/ExifTool/Lang/fr.pm +4 -5
  86. data/bin/lib/Image/ExifTool/Lang/it.pm +3 -3
  87. data/bin/lib/Image/ExifTool/Lang/ja.pm +1 -1
  88. data/bin/lib/Image/ExifTool/Lang/ko.pm +1 -1
  89. data/bin/lib/Image/ExifTool/Lang/nl.pm +1 -1
  90. data/bin/lib/Image/ExifTool/Lang/pl.pm +1 -1
  91. data/bin/lib/Image/ExifTool/Lang/ru.pm +1 -1
  92. data/bin/lib/Image/ExifTool/Lang/sk.pm +1 -1
  93. data/bin/lib/Image/ExifTool/Lang/sv.pm +1 -1
  94. data/bin/lib/Image/ExifTool/Lang/tr.pm +1 -1
  95. data/bin/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
  96. data/bin/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
  97. data/bin/lib/Image/ExifTool/Leaf.pm +3 -3
  98. data/bin/lib/Image/ExifTool/Lytro.pm +1 -1
  99. data/bin/lib/Image/ExifTool/M2TS.pm +1 -1
  100. data/bin/lib/Image/ExifTool/MIE.pm +3 -3
  101. data/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
  102. data/bin/lib/Image/ExifTool/MIFF.pm +1 -1
  103. data/bin/lib/Image/ExifTool/MISB.pm +1 -1
  104. data/bin/lib/Image/ExifTool/MNG.pm +1 -1
  105. data/bin/lib/Image/ExifTool/MOI.pm +1 -1
  106. data/bin/lib/Image/ExifTool/MPC.pm +1 -1
  107. data/bin/lib/Image/ExifTool/MPEG.pm +1 -1
  108. data/bin/lib/Image/ExifTool/MPF.pm +1 -1
  109. data/bin/lib/Image/ExifTool/MRC.pm +1 -1
  110. data/bin/lib/Image/ExifTool/MWG.pm +1 -1
  111. data/bin/lib/Image/ExifTool/MXF.pm +1 -1
  112. data/bin/lib/Image/ExifTool/MacOS.pm +1 -1
  113. data/bin/lib/Image/ExifTool/MakerNotes.pm +1 -1
  114. data/bin/lib/Image/ExifTool/Matroska.pm +1 -1
  115. data/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
  116. data/bin/lib/Image/ExifTool/Minolta.pm +1 -1
  117. data/bin/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
  118. data/bin/lib/Image/ExifTool/Motorola.pm +1 -1
  119. data/bin/lib/Image/ExifTool/Nikon.pm +9 -8
  120. data/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
  121. data/bin/lib/Image/ExifTool/NikonCustom.pm +1 -1
  122. data/bin/lib/Image/ExifTool/NikonSettings.pm +1 -1
  123. data/bin/lib/Image/ExifTool/Nintendo.pm +1 -1
  124. data/bin/lib/Image/ExifTool/OOXML.pm +1 -1
  125. data/bin/lib/Image/ExifTool/Ogg.pm +1 -1
  126. data/bin/lib/Image/ExifTool/Olympus.pm +1 -1
  127. data/bin/lib/Image/ExifTool/OpenEXR.pm +1 -1
  128. data/bin/lib/Image/ExifTool/Opus.pm +1 -1
  129. data/bin/lib/Image/ExifTool/Other.pm +1 -1
  130. data/bin/lib/Image/ExifTool/PCX.pm +1 -1
  131. data/bin/lib/Image/ExifTool/PDF.pm +1 -1
  132. data/bin/lib/Image/ExifTool/PGF.pm +1 -1
  133. data/bin/lib/Image/ExifTool/PICT.pm +1 -1
  134. data/bin/lib/Image/ExifTool/PLIST.pm +1 -1
  135. data/bin/lib/Image/ExifTool/PLUS.pm +1 -1
  136. data/bin/lib/Image/ExifTool/PNG.pm +24 -2
  137. data/bin/lib/Image/ExifTool/PPM.pm +1 -1
  138. data/bin/lib/Image/ExifTool/PSP.pm +1 -1
  139. data/bin/lib/Image/ExifTool/Palm.pm +1 -1
  140. data/bin/lib/Image/ExifTool/Panasonic.pm +27 -2
  141. data/bin/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
  142. data/bin/lib/Image/ExifTool/Parrot.pm +1 -1
  143. data/bin/lib/Image/ExifTool/Pentax.pm +32 -11
  144. data/bin/lib/Image/ExifTool/PhaseOne.pm +4 -4
  145. data/bin/lib/Image/ExifTool/PhotoCD.pm +1 -1
  146. data/bin/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
  147. data/bin/lib/Image/ExifTool/Photoshop.pm +1 -1
  148. data/bin/lib/Image/ExifTool/PostScript.pm +1 -1
  149. data/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
  150. data/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
  151. data/bin/lib/Image/ExifTool/QuickTime.pm +21 -1
  152. data/bin/lib/Image/ExifTool/QuickTimeStream.pl +90 -2
  153. data/bin/lib/Image/ExifTool/RIFF.pm +1 -1
  154. data/bin/lib/Image/ExifTool/RSRC.pm +1 -1
  155. data/bin/lib/Image/ExifTool/RTF.pm +1 -1
  156. data/bin/lib/Image/ExifTool/Radiance.pm +1 -1
  157. data/bin/lib/Image/ExifTool/Rawzor.pm +1 -1
  158. data/bin/lib/Image/ExifTool/Real.pm +1 -1
  159. data/bin/lib/Image/ExifTool/Reconyx.pm +1 -1
  160. data/bin/lib/Image/ExifTool/Red.pm +1 -1
  161. data/bin/lib/Image/ExifTool/Ricoh.pm +3 -3
  162. data/bin/lib/Image/ExifTool/Samsung.pm +1 -1
  163. data/bin/lib/Image/ExifTool/Sanyo.pm +1 -1
  164. data/bin/lib/Image/ExifTool/Scalado.pm +1 -1
  165. data/bin/lib/Image/ExifTool/Shift.pl +1 -1
  166. data/bin/lib/Image/ExifTool/Shortcuts.pm +1 -1
  167. data/bin/lib/Image/ExifTool/Sigma.pm +1 -1
  168. data/bin/lib/Image/ExifTool/SigmaRaw.pm +1 -1
  169. data/bin/lib/Image/ExifTool/Sony.pm +3 -3
  170. data/bin/lib/Image/ExifTool/SonyIDC.pm +1 -1
  171. data/bin/lib/Image/ExifTool/Stim.pm +1 -1
  172. data/bin/lib/Image/ExifTool/TagInfoXML.pm +2 -2
  173. data/bin/lib/Image/ExifTool/TagLookup.pm +3872 -3858
  174. data/bin/lib/Image/ExifTool/TagNames.pod +11416 -11382
  175. data/bin/lib/Image/ExifTool/Text.pm +1 -1
  176. data/bin/lib/Image/ExifTool/Theora.pm +1 -1
  177. data/bin/lib/Image/ExifTool/Torrent.pm +1 -1
  178. data/bin/lib/Image/ExifTool/Unknown.pm +1 -1
  179. data/bin/lib/Image/ExifTool/VCard.pm +1 -1
  180. data/bin/lib/Image/ExifTool/Validate.pm +1 -1
  181. data/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
  182. data/bin/lib/Image/ExifTool/WPG.pm +1 -1
  183. data/bin/lib/Image/ExifTool/WTV.pm +1 -1
  184. data/bin/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
  185. data/bin/lib/Image/ExifTool/WriteExif.pl +1 -1
  186. data/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
  187. data/bin/lib/Image/ExifTool/WritePDF.pl +1 -1
  188. data/bin/lib/Image/ExifTool/WritePNG.pl +1 -1
  189. data/bin/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
  190. data/bin/lib/Image/ExifTool/WritePostScript.pl +1 -1
  191. data/bin/lib/Image/ExifTool/WriteQuickTime.pl +4 -1
  192. data/bin/lib/Image/ExifTool/WriteRIFF.pl +1 -1
  193. data/bin/lib/Image/ExifTool/WriteXMP.pl +5 -3
  194. data/bin/lib/Image/ExifTool/Writer.pl +6 -1
  195. data/bin/lib/Image/ExifTool/XISF.pm +1 -1
  196. data/bin/lib/Image/ExifTool/XMP.pm +19 -3
  197. data/bin/lib/Image/ExifTool/XMP2.pl +1 -1
  198. data/bin/lib/Image/ExifTool/XMPStruct.pl +1 -1
  199. data/bin/lib/Image/ExifTool/ZIP.pm +1 -1
  200. data/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
  201. data/bin/lib/Image/ExifTool/iWork.pm +1 -1
  202. data/bin/lib/Image/ExifTool.pm +18 -3
  203. data/bin/lib/Image/ExifTool.pod +10 -2
  204. data/bin/perl-Image-ExifTool.spec +1 -1
  205. data/lib/exiftool_vendored/version.rb +1 -1
  206. metadata +2 -2
@@ -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.
@@ -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.
@@ -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' },
@@ -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.
@@ -1201,7 +1201,7 @@ be preserved when copying Photoshop information via user-defined tags.
1201
1201
 
1202
1202
  =head1 AUTHOR
1203
1203
 
1204
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
1204
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
1205
1205
 
1206
1206
  This library is free software; you can redistribute it and/or modify it
1207
1207
  under the same terms as Perl itself.
@@ -777,7 +777,7 @@ This code reads meta information from EPS (Encapsulated PostScript), PS
777
777
 
778
778
  =head1 AUTHOR
779
779
 
780
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
780
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
781
781
 
782
782
  This library is free software; you can redistribute it and/or modify it
783
783
  under the same terms as Perl itself.
@@ -112,7 +112,7 @@ Print Image Matching meta information.
112
112
 
113
113
  =head1 AUTHOR
114
114
 
115
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
115
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
116
116
 
117
117
  This library is free software; you can redistribute it and/or modify it
118
118
  under the same terms as Perl itself.
@@ -1331,7 +1331,7 @@ information from the APP7 Qualcomm segment in JPEG images.
1331
1331
 
1332
1332
  =head1 AUTHOR
1333
1333
 
1334
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
1334
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
1335
1335
 
1336
1336
  This library is free software; you can redistribute it and/or modify it
1337
1337
  under the same terms as Perl itself.
@@ -64,6 +64,7 @@ sub Process_3gf($$$);
64
64
  sub Process_gps0($$$);
65
65
  sub Process_gsen($$$);
66
66
  sub ProcessKenwood($$$);
67
+ sub ProcessLIGO_JSON($$$);
67
68
  sub ProcessRIFFTrailer($$$);
68
69
  sub ProcessTTAD($$$);
69
70
  sub ProcessNMEA($$$);
@@ -707,6 +708,13 @@ my %isImageData = ( av01 => 1, avc1 => 1, hvc1 => 1, lhv1 => 1, hvt1 => 1 );
707
708
  TagTable => 'Image::ExifTool::QuickTime::Stream',
708
709
  ProcessProc => \&ProcessKenwood,
709
710
  },
711
+ },{
712
+ Name => 'LIGO_JSON',
713
+ Condition => '$$valPt =~ /^LIGOGPSINFO \{/',
714
+ SubDirectory => {
715
+ TagTable => 'Image::ExifTool::QuickTime::Stream',
716
+ ProcessProc => \&ProcessLIGO_JSON,
717
+ },
710
718
  },{
711
719
  Name => 'FLIRData',
712
720
  SubDirectory => { TagTable => 'Image::ExifTool::FLIR::UserData' },
@@ -825,6 +833,7 @@ my %isImageData = ( av01 => 1, avc1 => 1, hvc1 => 1, lhv1 => 1, hvt1 => 1 );
825
833
  # note that this may be written and/or deleted, but can't currently be added back again
826
834
  Writable => 1,
827
835
  },
836
+ # '35AX'? - seen "AT" (Yada RoadCam Pro 4K dashcam)
828
837
  );
829
838
 
830
839
  # stuff seen in 'skip' atom (70mai Pro Plus+ MP4 videos)
@@ -6699,6 +6708,13 @@ my %isImageData = ( av01 => 1, avc1 => 1, hvc1 => 1, lhv1 => 1, hvt1 => 1 );
6699
6708
  # (mdta)com.apple.proapps.image.{TIFF}.Make (eg. "Atmos")
6700
6709
  # (mdta)com.apple.proapps.image.{TIFF}.Model (eg. "ShogunInferno")
6701
6710
  # (mdta)com.apple.proapps.image.{TIFF}.Software (eg. "9.0")
6711
+ #
6712
+ # also seen (but don't yet add support for these)
6713
+ #
6714
+ # (mdta)major_brand
6715
+ # (mdta)minor_version
6716
+ # (mdta)compatible_brands
6717
+ # (mdta)creation_time
6702
6718
  );
6703
6719
 
6704
6720
  # iTunes info ('----') atoms
@@ -7315,6 +7331,10 @@ my %isImageData = ( av01 => 1, avc1 => 1, hvc1 => 1, lhv1 => 1, hvt1 => 1 );
7315
7331
  Name => 'SpatialAudio',
7316
7332
  SubDirectory => { TagTable => 'Image::ExifTool::QuickTime::SpatialAudio' },
7317
7333
  },
7334
+ btrt => {
7335
+ Name => 'BitrateInfo',
7336
+ SubDirectory => { TagTable => 'Image::ExifTool::QuickTime::Bitrate' },
7337
+ },
7318
7338
  # alac - 28 bytes
7319
7339
  # adrm - AAX DRM atom? 148 bytes
7320
7340
  # aabd - AAX unknown 17kB (contains 'aavd' strings)
@@ -10009,7 +10029,7 @@ information from QuickTime and MP4 video, M4A audio, and HEIC image files.
10009
10029
 
10010
10030
  =head1 AUTHOR
10011
10031
 
10012
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
10032
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
10013
10033
 
10014
10034
  This library is free software; you can redistribute it and/or modify it
10015
10035
  under the same terms as Perl itself.
@@ -109,11 +109,13 @@ my %insvLimit = (
109
109
  The tags below are extracted from timed metadata in QuickTime and other
110
110
  formats of video files when the ExtractEmbedded option is used. Although
111
111
  most of these tags are combined into the single table below, ExifTool
112
- currently reads 67 different formats of timed GPS metadata from video files.
112
+ currently reads 68 different formats of timed GPS metadata from video files.
113
113
  },
114
114
  VARS => { NO_ID => 1 },
115
115
  GPSLatitude => { PrintConv => 'Image::ExifTool::GPS::ToDMS($self, $val, 1, "N")', RawConv => '$$self{FoundGPSLatitude} = 1; $val' },
116
116
  GPSLongitude => { PrintConv => 'Image::ExifTool::GPS::ToDMS($self, $val, 1, "E")' },
117
+ GPSLatitude2 => { PrintConv => 'Image::ExifTool::GPS::ToDMS($self, $val, 1, "N")' },
118
+ GPSLongitude2=> { PrintConv => 'Image::ExifTool::GPS::ToDMS($self, $val, 1, "E")' },
117
119
  GPSAltitude => { PrintConv => '(sprintf("%.4f", $val) + 0) . " m"' }, # round to 4 decimals
118
120
  GPSSpeed => { PrintConv => 'sprintf("%.4f", $val) + 0', Notes => 'in km/h unless GPSSpeedRef says otherwise' },
119
121
  GPSSpeedRef => { PrintConv => { K => 'km/h', M => 'mph', N => 'knots' } },
@@ -125,6 +127,11 @@ my %insvLimit = (
125
127
  RawConv => '$$self{FoundGPSDateTime} = 1; $val',
126
128
  PrintConv => '$self->ConvertDateTime($val)',
127
129
  },
130
+ DateTimeOriginal => {
131
+ Groups => { 2 => 'Time' },
132
+ Description => 'Date/Time Original',
133
+ PrintConv => '$self->ConvertDateTime($val)',
134
+ },
128
135
  GPSTimeStamp => { PrintConv => 'Image::ExifTool::GPS::PrintTimeStamp($val)', Groups => { 2 => 'Time' } },
129
136
  GPSSatellites=> { },
130
137
  GPSDOP => { Description => 'GPS Dilution Of Precision' },
@@ -2426,6 +2433,83 @@ sub Process_gsen($$$)
2426
2433
  return 1;
2427
2434
  }
2428
2435
 
2436
+ #------------------------------------------------------------------------------
2437
+ # Process LIGOGPS JSON-format GPS from Yada RoadCam Pro 4K BT58189
2438
+ # Inputs: 0) ExifTool ref, 1) dirInfo ref, 2) tag table ref
2439
+ # Returns: 1 on success
2440
+ # Sample data (chained 512-byte records starting like this):
2441
+ # 0000: 4c 49 47 4f 47 50 53 49 4e 46 4f 20 7b 22 48 6f [LIGOGPSINFO {"Ho]
2442
+ # 0010: 75 72 22 3a 20 22 32 33 22 2c 20 22 4d 69 6e 75 [ur": "23", "Minu]
2443
+ # 0020: 74 65 22 3a 20 22 31 30 22 2c 20 22 53 65 63 6f [te": "10", "Seco]
2444
+ # 0030: 6e 64 22 3a 20 22 32 32 22 2c 20 22 59 65 61 72 [nd": "22", "Year]
2445
+ # 0040: 22 3a 20 22 32 30 32 33 22 2c 20 22 4d 6f 6e 74 [": "2023", "Mont]
2446
+ # 0050: 68 22 3a 20 22 31 32 22 2c 20 22 44 61 79 22 3a [h": "12", "Day":]
2447
+ # 0060: 20 22 32 38 22 2c 20 22 73 74 61 74 75 73 22 3a [ "28", "status":]
2448
+ sub ProcessLIGO_JSON($$$)
2449
+ {
2450
+ my ($et, $dirInfo, $tagTbl) = @_;
2451
+ my $dataPt = $$dirInfo{DataPt};
2452
+ my $dirLen = $$dirInfo{DirLen};
2453
+ require Image::ExifTool::Import;
2454
+ $et->VerboseDir('LIGO_JSON', undef, length($$dataPt));
2455
+ while ($$dataPt =~ /LIGOGPSINFO (\{.*?\})/g) {
2456
+ my $json = $1;
2457
+ my $raf = new File::RandomAccess(\$json);
2458
+ my %dbase;
2459
+ Image::ExifTool::Import::ReadJSON($raf, \%dbase);
2460
+ my $info = $dbase{'*'} or next;
2461
+ # my sample contains the following JSON fields (in this order):
2462
+ # Hour Minute Second Year Month Day (GPS UTC time)
2463
+ # status NS EW Latitude Longitude Speed (speed in knots)
2464
+ # GsensorX GsensorY GsensorZ (units? - only seen "000" for all)
2465
+ # MHour MMinute MSecond MYear MMonth MDay (local dashcam clock time)
2466
+ # OLatitude OLongitude (? same values as Latitude/Longitude)
2467
+ next unless defined $$info{status} and $$info{status} eq 'A'; # only read if GPS is active
2468
+ $$et{DOC_NUM} = ++$$et{DOC_COUNT};
2469
+ my $num = 0;
2470
+ defined $$info{$_} and ++$num foreach qw(Year Month Day Hour Minute Second);
2471
+ if ($num == 6) {
2472
+ # this is the GPS time in UTC
2473
+ my $time = sprintf('%.4d:%.2d:%.2d %.2d:%.2d:%.2dZ',@$info{qw{Year Month Day Hour Minute Second}});
2474
+ $et->HandleTag($tagTbl, GPSDateTime => $time);
2475
+ }
2476
+ if ($$info{Latitude} and $$info{Longitude}) {
2477
+ my $lat = $$info{Latitude};
2478
+ $lat = -$lat if $$info{NS} and $$info{NS} eq 'S';
2479
+ my $lon = $$info{Longitude};
2480
+ $lon = -$lon if $$info{EW} and $$info{EW} eq 'W';
2481
+ $et->HandleTag($tagTbl, GPSLatitude => $lat);
2482
+ $et->HandleTag($tagTbl, GPSLongitude => $lon);
2483
+ }
2484
+ $et->HandleTag($tagTbl, GPSSpeed => $$info{Speed} * $knotsToKph) if defined $$info{Speed};
2485
+ if (defined $$info{GsensorX} and defined $$info{GsensorY} and defined $$info{GsensorZ}) {
2486
+ # (don't know conversion factor for accel data, so leave it raw for now)
2487
+ $et->HandleTag($tagTbl, Accelerometer => "$$info{GsensorX} $$info{GsensorY} $$info{GsensorZ}");
2488
+ }
2489
+ $num = 0;
2490
+ defined $$info{$_} and ++$num foreach qw(MYear MMonth MDay MHour MMinute MSecond);
2491
+ if ($num == 6) {
2492
+ # this is the dashcam clock time (local time zone)
2493
+ my $time = sprintf('%.4d:%.2d:%.2d %.2d:%.2d:%.2d',@$info{qw{MYear MMonth MDay MHour MMinute MSecond}});
2494
+ $et->HandleTag($tagTbl, DateTimeOriginal => $time);
2495
+ }
2496
+ if (defined $$info{OLatitude} and defined $$info{OLongitude}) {
2497
+ my $lat = $$info{OLatitude};
2498
+ $lat = -$lat if $$info{NS} and $$info{NS} eq 'S';
2499
+ my $lon = $$info{OLongitude};
2500
+ $lon = -$lon if $$info{EW} and $$info{EW} eq 'W';
2501
+ $et->HandleTag($tagTbl, GPSLatitude2 => $lat);
2502
+ $et->HandleTag($tagTbl, GPSLongitude2 => $lon);
2503
+ }
2504
+ unless ($et->Options('ExtractEmbedded')) {
2505
+ $et->WarnOnce('Use the ExtractEmbedded option to extract all timed GPS',3);
2506
+ last;
2507
+ }
2508
+ }
2509
+ delete $$et{DOC_NUM};
2510
+ return 1;
2511
+ }
2512
+
2429
2513
  #------------------------------------------------------------------------------
2430
2514
  # Process Kenwood drv-a301w dashcam 'udta' atom (ref PH)
2431
2515
  # Inputs: 0) ExifTool ref, 1) dirInfo ref, 2) tag table ref
@@ -2464,6 +2548,10 @@ sub ProcessKenwood($$$)
2464
2548
  push @acc, $1/1000, $2/1000, $3/1000;
2465
2549
  }
2466
2550
  $et->HandleTag($tagTbl, Accelerometer => "@acc") if @acc;
2551
+ unless ($et->Options('ExtractEmbedded')) {
2552
+ $et->WarnOnce('Use the ExtractEmbedded option to extract all timed GPS',3);
2553
+ last;
2554
+ }
2467
2555
  }
2468
2556
  delete $$et{DOC_NUM};
2469
2557
  return 1;
@@ -3221,7 +3309,7 @@ information like GPS tracks from MOV, MP4 and INSV media data.
3221
3309
 
3222
3310
  =head1 AUTHOR
3223
3311
 
3224
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
3312
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
3225
3313
 
3226
3314
  This library is free software; you can redistribute it and/or modify it
3227
3315
  under the same terms as Perl itself.
@@ -2199,7 +2199,7 @@ including AVI videos, WAV audio files and WEBP images.
2199
2199
 
2200
2200
  =head1 AUTHOR
2201
2201
 
2202
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
2202
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
2203
2203
 
2204
2204
  This library is free software; you can redistribute it and/or modify it
2205
2205
  under the same terms as Perl itself.
@@ -225,7 +225,7 @@ resource files.
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.
@@ -366,7 +366,7 @@ information from RTF (Rich Text Format) documents.
366
366
 
367
367
  =head1 AUTHOR
368
368
 
369
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
369
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
370
370
 
371
371
  This library is free software; you can redistribute it and/or modify it
372
372
  under the same terms as Perl itself.
@@ -125,7 +125,7 @@ images are a type of high dynamic-range image.
125
125
 
126
126
  =head1 AUTHOR
127
127
 
128
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
128
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
129
129
 
130
130
  This library is free software; you can redistribute it and/or modify it
131
131
  under the same terms as Perl itself.
@@ -168,7 +168,7 @@ information from Rawzor compressed images.
168
168
 
169
169
  =head1 AUTHOR
170
170
 
171
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
171
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
172
172
 
173
173
  This library is free software; you can redistribute it and/or modify it
174
174
  under the same terms as Perl itself.
@@ -715,7 +715,7 @@ little-endian, but the Real format is big-endian.
715
715
 
716
716
  =head1 AUTHOR
717
717
 
718
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
718
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
719
719
 
720
720
  This library is free software; you can redistribute it and/or modify it
721
721
  under the same terms as Perl itself.
@@ -431,7 +431,7 @@ maker notes in images from Reconyx cameras.
431
431
 
432
432
  =head1 AUTHOR
433
433
 
434
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
434
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
435
435
 
436
436
  This library is free software; you can redistribute it and/or modify it
437
437
  under the same terms as Perl itself.
@@ -303,7 +303,7 @@ from Redcode R3D version 1 and 2 video files.
303
303
 
304
304
  =head1 AUTHOR
305
305
 
306
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
306
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
307
307
 
308
308
  This library is free software; you can redistribute it and/or modify it
309
309
  under the same terms as Perl itself.
@@ -21,7 +21,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
21
21
  use Image::ExifTool::Exif;
22
22
  use Image::ExifTool::GPS;
23
23
 
24
- $VERSION = '1.37';
24
+ $VERSION = '1.38';
25
25
 
26
26
  sub ProcessRicohText($$$);
27
27
  sub ProcessRicohRMETA($$$);
@@ -1078,7 +1078,7 @@ sub ProcessRicohText($$$)
1078
1078
  $tagInfo = {
1079
1079
  Name => "Ricoh_Text_$tag",
1080
1080
  Unknown => 1,
1081
- PrintConv => 'length($val) > 60 ? substr($val,0,55) . "[...]" : $val',
1081
+ PrintConv => \&Image::ExifTool::LimitLongValues,
1082
1082
  };
1083
1083
  # add tag information to table
1084
1084
  AddTagToTable($tagTablePtr, $tag, $tagInfo);
@@ -1252,7 +1252,7 @@ interpret Ricoh maker notes EXIF meta information.
1252
1252
 
1253
1253
  =head1 AUTHOR
1254
1254
 
1255
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
1255
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
1256
1256
 
1257
1257
  This library is free software; you can redistribute it and/or modify it
1258
1258
  under the same terms as Perl itself.
@@ -1723,7 +1723,7 @@ Samsung maker notes in EXIF information.
1723
1723
 
1724
1724
  =head1 AUTHOR
1725
1725
 
1726
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
1726
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
1727
1727
 
1728
1728
  This library is free software; you can redistribute it and/or modify it
1729
1729
  under the same terms as Perl itself.