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
@@ -721,7 +721,7 @@ will add AMF3 support.
721
721
 
722
722
  =head1 AUTHOR
723
723
 
724
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
724
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
725
725
 
726
726
  This library is free software; you can redistribute it and/or modify it
727
727
  under the same terms as Perl itself.
@@ -22,7 +22,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
22
22
  use Image::ExifTool::Exif;
23
23
  use Image::ExifTool::ASF; # for GetGUID()
24
24
 
25
- $VERSION = '1.46';
25
+ $VERSION = '1.47';
26
26
 
27
27
  sub ProcessFPX($$);
28
28
  sub ProcessFPXR($$$);
@@ -511,6 +511,31 @@ my %fpxFileType = (
511
511
  corresponding EmbeddedImage from the Contents of a VNT file
512
512
  },
513
513
  },
514
+ _eeJPG => {
515
+ Name => 'EmbeddedImage',
516
+ Notes => q{
517
+ Not a real tag. Extracted from stream content when the ExtractEmbedded
518
+ option is used
519
+ },
520
+ Groups => { 2 => 'Preview' },
521
+ Binary => 1,
522
+ },
523
+ _eePNG => {
524
+ Name => 'EmbeddedPNG',
525
+ Notes => q{
526
+ Not a real tag. Extracted from stream content when the ExtractEmbedded
527
+ option is used
528
+ },
529
+ Groups => { 2 => 'Preview' },
530
+ Binary => 1,
531
+ },
532
+ _eeLink => {
533
+ Name => 'LinkedFileName',
534
+ Notes => q{
535
+ Not a real tag. Extracted from stream content when the ExtractEmbedded
536
+ option is used
537
+ },
538
+ },
514
539
  );
515
540
 
516
541
  # Summary Information properties
@@ -2180,6 +2205,9 @@ sub ProcessFPX($$)
2180
2205
  my ($buff, $out, $oldIndent, $miniStreamBuff);
2181
2206
  my ($tag, %hier, %objIndex, %loadedDifSect);
2182
2207
 
2208
+ # handle FPX format in memory from PNG cpIp chunk
2209
+ $raf or $raf = new File::RandomAccess($$dirInfo{DataPt});
2210
+
2183
2211
  # read header
2184
2212
  return 0 unless $raf->Read($buff,HDR_SIZE) == HDR_SIZE;
2185
2213
  # check signature
@@ -2291,6 +2319,8 @@ sub ProcessFPX($$)
2291
2319
  my $miniStream;
2292
2320
  $endPos = length($dir);
2293
2321
  my $index = 0;
2322
+ my $ee; # name of next tag to extract if unknown
2323
+ $ee = 0 if $et->Options('ExtractEmbedded');
2294
2324
 
2295
2325
  for ($pos=0; $pos<=$endPos-128; $pos+=128, ++$index) {
2296
2326
 
@@ -2310,6 +2340,9 @@ sub ProcessFPX($$)
2310
2340
  $tag = Image::ExifTool::Decode(undef, substr($dir,$pos,$len*2), 'UCS2', 'II', 'Latin');
2311
2341
  $tag =~ s/\0.*//s; # truncate at null (in case length was wrong)
2312
2342
 
2343
+ if ($tag eq '0' and not defined $ee) {
2344
+ $et->WarnOnce('Use the ExtractEmbedded option to extract embedded information', 3);
2345
+ }
2313
2346
  my $sect = Get32u(\$dir, $pos + 0x74); # start sector number
2314
2347
  my $size = Get32u(\$dir, $pos + 0x78); # stream length
2315
2348
 
@@ -2326,6 +2359,9 @@ sub ProcessFPX($$)
2326
2359
  my $tagInfo;
2327
2360
  if ($$tagTablePtr{$tag}) {
2328
2361
  $tagInfo = $et->GetTagInfo($tagTablePtr, $tag);
2362
+ } elsif (defined $ee and $tag eq $ee) {
2363
+ $tagInfo = ''; # won't know the actual tagID untile we read the stream
2364
+ $ee = sprintf('%x', hex($ee)+1); # tag to look for next
2329
2365
  } else {
2330
2366
  # remove instance number or class ID from tag if necessary
2331
2367
  $tagInfo = $et->GetTagInfo($tagTablePtr, $1) if
@@ -2349,7 +2385,7 @@ sub ProcessFPX($$)
2349
2385
  $$sub{Parent} = $index;
2350
2386
  }
2351
2387
 
2352
- next unless $tagInfo or $verbose;
2388
+ next unless defined $tagInfo or $verbose;
2353
2389
 
2354
2390
  # load the data for stream types
2355
2391
  my $extra = '';
@@ -2383,18 +2419,22 @@ sub ProcessFPX($$)
2383
2419
  $extra .= " Left=$lSib" unless $lSib == FREE_SECT;
2384
2420
  $extra .= " Right=$rSib" unless $rSib == FREE_SECT;
2385
2421
  $extra .= " Child=$chld" unless $chld == FREE_SECT;
2422
+ $extra .= " Size=$size" if defined $size;
2423
+ my $name;
2424
+ $name = "Unknown_0x$tag" if not $tagInfo and $tag =~ /^[0-9a-f]{1,3}$/;
2386
2425
  $et->VerboseInfo($tag, $tagInfo,
2387
2426
  Index => $index,
2388
2427
  Value => $buff,
2389
2428
  DataPt => \$buff,
2390
2429
  Extra => $extra,
2391
- Size => $size,
2430
+ # Size => $size, (moved to $extra so we can see the rest of the stream if larger)
2431
+ Name => $name,
2392
2432
  );
2393
2433
  }
2394
- if ($tagInfo and $buff) {
2434
+ if (defined $tagInfo and $buff) {
2395
2435
  my $num = $$et{NUM_FOUND};
2396
- my $subdir = $$tagInfo{SubDirectory};
2397
- if ($subdir) {
2436
+ if ($tagInfo and $$tagInfo{SubDirectory}) {
2437
+ my $subdir = $$tagInfo{SubDirectory};
2398
2438
  my %dirInfo = (
2399
2439
  DataPt => \$buff,
2400
2440
  DirStart => $$subdir{DirStart},
@@ -2422,6 +2462,19 @@ sub ProcessFPX($$)
2422
2462
  }
2423
2463
  }
2424
2464
  delete $$et{DOC_NUM};
2465
+ } elsif (not $tagInfo) {
2466
+ # extract some embedded information from PNG Plus images
2467
+ if ($buff =~ /^(.{19,40})(\xff\xd8\xff\xe0|\x89PNG\r\n\x1a\n)/sg) {
2468
+ my $id = $2 eq "\xff\xd8\xff\xe0" ? '_eeJPG' : '_eePNG';
2469
+ $et->HandleTag($tagTablePtr, $id, substr($buff, length($1)));
2470
+ } elsif ($buff =~ /^\0\x80\0\0\x01\0\0\0\x0e\0/ and length($buff) > 18) {
2471
+ my $len = unpack('x17C', $buff);
2472
+ next if $len + 18 > length($buff);
2473
+ my $filename = $et->Decode(substr($buff,18,$len), 'UTF16', 'II');
2474
+ $et->HandleTag($tagTablePtr, '_eeLink', $filename);
2475
+ } else {
2476
+ next;
2477
+ }
2425
2478
  } else {
2426
2479
  $et->FoundTag($tagInfo, $buff);
2427
2480
  }
@@ -2508,7 +2561,7 @@ JPEG images.
2508
2561
 
2509
2562
  =head1 AUTHOR
2510
2563
 
2511
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
2564
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
2512
2565
 
2513
2566
  This library is free software; you can redistribute it and/or modify it
2514
2567
  under the same terms as Perl itself.
@@ -622,7 +622,7 @@ extracted from these formats.
622
622
 
623
623
  =head1 AUTHOR
624
624
 
625
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
625
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
626
626
 
627
627
  This library is free software; you can redistribute it and/or modify it
628
628
  under the same terms as Perl itself.
@@ -243,7 +243,7 @@ write information from the FotoWare FotoStation trailer.
243
243
 
244
244
  =head1 AUTHOR
245
245
 
246
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
246
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
247
247
 
248
248
  This library is free software; you can redistribute it and/or modify it
249
249
  under the same terms as Perl itself.
@@ -1874,7 +1874,7 @@ FujiFilm maker notes in EXIF information, and to read/write FujiFilm RAW
1874
1874
 
1875
1875
  =head1 AUTHOR
1876
1876
 
1877
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
1877
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
1878
1878
 
1879
1879
  This library is free software; you can redistribute it and/or modify it
1880
1880
  under the same terms as Perl itself.
@@ -68,7 +68,7 @@ General Imaging maker notes.
68
68
 
69
69
  =head1 AUTHOR
70
70
 
71
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
71
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
72
72
 
73
73
  This library is free software; you can redistribute it and/or modify it
74
74
  under the same terms as Perl itself.
@@ -545,7 +545,7 @@ write GIF meta information.
545
545
 
546
546
  =head1 AUTHOR
547
547
 
548
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
548
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
549
549
 
550
550
  This library is free software; you can redistribute it and/or modify it
551
551
  under the same terms as Perl itself.
@@ -270,7 +270,7 @@ GIMP software.
270
270
 
271
271
  =head1 AUTHOR
272
272
 
273
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
273
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
274
274
 
275
275
  This library is free software; you can redistribute it and/or modify it
276
276
  under the same terms as Perl itself.
@@ -613,7 +613,7 @@ GPS (Global Positioning System) meta information in EXIF data.
613
613
 
614
614
  =head1 AUTHOR
615
615
 
616
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
616
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
617
617
 
618
618
  This library is free software; you can redistribute it and/or modify it
619
619
  under the same terms as Perl itself.
@@ -2242,7 +2242,7 @@ coordinates.
2242
2242
 
2243
2243
  =head1 AUTHOR
2244
2244
 
2245
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
2245
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
2246
2246
 
2247
2247
  This library is free software; you can redistribute it and/or modify it
2248
2248
  under the same terms as Perl itself.
@@ -1492,7 +1492,7 @@ user-defined tag GPSRoll, must be active.
1492
1492
 
1493
1493
  =head1 AUTHOR
1494
1494
 
1495
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
1495
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
1496
1496
 
1497
1497
  This library is free software; you can redistribute it and/or modify it
1498
1498
  under the same terms as Perl itself.
@@ -748,7 +748,7 @@ metadata from GoPro MP4 videos.
748
748
 
749
749
  =head1 AUTHOR
750
750
 
751
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
751
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
752
752
 
753
753
  This library is free software; you can redistribute it and/or modify it
754
754
  under the same terms as Perl itself.
@@ -1123,7 +1123,7 @@ information from H.264 video streams.
1123
1123
 
1124
1124
  =head1 AUTHOR
1125
1125
 
1126
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
1126
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
1127
1127
 
1128
1128
  This library is free software; you can redistribute it and/or modify it
1129
1129
  under the same terms as Perl itself.
@@ -250,7 +250,7 @@ Hewlett-Packard maker notes.
250
250
 
251
251
  =head1 AUTHOR
252
252
 
253
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
253
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
254
254
 
255
255
  This library is free software; you can redistribute it and/or modify it
256
256
  under the same terms as Perl itself.
@@ -555,7 +555,7 @@ meta information from HTML documents.
555
555
 
556
556
  =head1 AUTHOR
557
557
 
558
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
558
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
559
559
 
560
560
  This library is free software; you can redistribute it and/or modify it
561
561
  under the same terms as Perl itself.
@@ -917,7 +917,7 @@ page.
917
917
 
918
918
  =head1 AUTHOR
919
919
 
920
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
920
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
921
921
 
922
922
  This library is free software; you can redistribute it and/or modify it
923
923
  under the same terms as Perl itself.
@@ -1357,7 +1357,7 @@ data created on one device into another device's native color space.
1357
1357
 
1358
1358
  =head1 AUTHOR
1359
1359
 
1360
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
1360
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
1361
1361
 
1362
1362
  This library is free software; you can redistribute it and/or modify it
1363
1363
  under the same terms as Perl itself.
@@ -121,7 +121,7 @@ information from Windows ICO (icon) and CUR (cursor) files.
121
121
 
122
122
  =head1 AUTHOR
123
123
 
124
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
124
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
125
125
 
126
126
  This library is free software; you can redistribute it and/or modify it
127
127
  under the same terms as Perl itself.
@@ -1718,7 +1718,7 @@ other types of audio files.
1718
1718
 
1719
1719
  =head1 AUTHOR
1720
1720
 
1721
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
1721
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
1722
1722
 
1723
1723
  This library is free software; you can redistribute it and/or modify it
1724
1724
  under the same terms as Perl itself.
@@ -1284,7 +1284,7 @@ image files.
1284
1284
 
1285
1285
  =head1 AUTHOR
1286
1286
 
1287
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
1287
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
1288
1288
 
1289
1289
  This library is free software; you can redistribute it and/or modify it
1290
1290
  under the same terms as Perl itself.
@@ -184,7 +184,7 @@ information from ISO 9660 disk images.
184
184
 
185
185
  =head1 AUTHOR
186
186
 
187
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
187
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
188
188
 
189
189
  This library is free software; you can redistribute it and/or modify it
190
190
  under the same terms as Perl itself.
@@ -191,7 +191,7 @@ information (including artwork images) from iTunes Cover Flow files.
191
191
 
192
192
  =head1 AUTHOR
193
193
 
194
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
194
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
195
195
 
196
196
  This library is free software; you can redistribute it and/or modify it
197
197
  under the same terms as Perl itself.
@@ -348,7 +348,7 @@ stored as hash lookups of tag name/value for each SourceFile.
348
348
 
349
349
  =head1 AUTHOR
350
350
 
351
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
351
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
352
352
 
353
353
  This library is free software; you can redistribute it and/or modify it
354
354
  under the same terms as Perl itself.
@@ -258,7 +258,7 @@ them and the LargeFileSupport option is enabled.
258
258
 
259
259
  =head1 AUTHOR
260
260
 
261
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
261
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
262
262
 
263
263
  This library is free software; you can redistribute it and/or modify it
264
264
  under the same terms as Perl itself.
@@ -206,7 +206,7 @@ IJPEG SDK, used in cameras such as the P2 Pro.
206
206
 
207
207
  =head1 AUTHOR
208
208
 
209
- Copyright 2003-2023, Marcos Del Sol Vives (marcos at orca.pet)
209
+ Copyright 2003-2024, Marcos Del Sol Vives (marcos at orca.pet)
210
210
 
211
211
  This library is free software; you can redistribute it and/or modify it
212
212
  under the same terms as Perl itself.
@@ -11,7 +11,7 @@ use strict;
11
11
  use vars qw($VERSION);
12
12
  use Image::ExifTool qw(:DataAccess :Utils);
13
13
 
14
- $VERSION = '1.35';
14
+ $VERSION = '1.36';
15
15
 
16
16
  sub ProcessOcad($$$);
17
17
  sub ProcessJPEG_HDR($$$);
@@ -335,6 +335,9 @@ sub ProcessJPEG_HDR($$$);
335
335
  Name => 'NikonApp',
336
336
  Condition => '$$valPt =~ m(\0{6}/NIKON APP$)',
337
337
  Notes => 'contains editing information in XMP format',
338
+ }, {
339
+ Name => 'SonyHiddenData',
340
+ Condition => '$$valPt =~ /^\x55\x26\x11\x05\0/',
338
341
  }, {
339
342
  Name => 'PreviewImage',
340
343
  Condition => '$$valPt =~ /^\xff\xd8\xff/',
@@ -765,7 +768,7 @@ segments are included in the Image::ExifTool module itself.
765
768
 
766
769
  =head1 AUTHOR
767
770
 
768
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
771
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
769
772
 
770
773
  This library is free software; you can redistribute it and/or modify it
771
774
  under the same terms as Perl itself.
@@ -2590,7 +2590,7 @@ estimated JPEG quality if requested.
2590
2590
 
2591
2591
  =head1 AUTHOR
2592
2592
 
2593
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
2593
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
2594
2594
 
2595
2595
  This library is free software; you can redistribute it and/or modify it
2596
2596
  under the same terms as Perl itself.
@@ -179,7 +179,7 @@ information from JSON files.
179
179
 
180
180
  =head1 AUTHOR
181
181
 
182
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
182
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
183
183
 
184
184
  This library is free software; you can redistribute it and/or modify it
185
185
  under the same terms as Perl itself.
@@ -13,7 +13,7 @@ use vars qw($VERSION);
13
13
  use Image::ExifTool qw(:DataAccess :Utils);
14
14
  use Image::ExifTool::Exif;
15
15
 
16
- $VERSION = '1.03';
16
+ $VERSION = '1.04';
17
17
 
18
18
  sub ProcessJVCText($$$);
19
19
 
@@ -88,7 +88,7 @@ sub ProcessJVCText($$$)
88
88
  $tagInfo = {
89
89
  Name => "JVC_Text_$tag",
90
90
  Unknown => 1,
91
- PrintConv => 'length($val) > 60 ? substr($val,0,55) . "[...]" : $val',
91
+ PrintConv => \&Image::ExifTool::LimitLongValues,
92
92
  };
93
93
  # add tag information to table
94
94
  AddTagToTable($tagTablePtr, $tag, $tagInfo);
@@ -117,7 +117,7 @@ notes.
117
117
 
118
118
  =head1 AUTHOR
119
119
 
120
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
120
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
121
121
 
122
122
  This library is free software; you can redistribute it and/or modify it
123
123
  under the same terms as Perl itself.
@@ -16,7 +16,7 @@ use strict;
16
16
  use vars qw($VERSION);
17
17
  use Image::ExifTool qw(:DataAccess :Utils);
18
18
 
19
- $VERSION = '1.36';
19
+ $VERSION = '1.37';
20
20
 
21
21
  sub ProcessJpeg2000Box($$$);
22
22
  sub ProcessJUMD($$$);
@@ -854,6 +854,17 @@ sub ProcessJUMD($$$)
854
854
  return 1;
855
855
  }
856
856
 
857
+ #------------------------------------------------------------------------------
858
+ # Warn about error in Brotli compression/decompression
859
+ # Inputs: 0) ExifTool ref, 1) box type, 2) true for decoding (Uncompress)
860
+ sub BrotliWarn($$;$)
861
+ {
862
+ my ($et, $type, $uncompress) = @_;
863
+ my ($enc, $mod) = $uncompress ? qw(decoding Uncompress) : qw(encoding Compress);
864
+ $et->WarnOnce("Error $enc '${type}' brob box");
865
+ $et->WarnOnce("Try updating to IO::${mod}::Brotli 0.004 or later");
866
+ }
867
+
857
868
  #------------------------------------------------------------------------------
858
869
  # Create new JPEG 2000 boxes when writing
859
870
  # (Currently only supports adding top-level Writable JPEG2000 tags and certain UUID boxes)
@@ -909,7 +920,7 @@ sub CreateNewBoxes($$)
909
920
  my $compressed;
910
921
  eval { $compressed = IO::Compress::Brotli::bro($pad . $newdir) };
911
922
  if ($@ or not $compressed) {
912
- $et->Warn("Error encoding $dirName brob box");
923
+ BrotliWarn($et, $dirName);
913
924
  } else {
914
925
  $et->VPrint(0, " Writing Brotli-compressed $dir\n");
915
926
  $newdir = $compressed;
@@ -1248,7 +1259,7 @@ sub ProcessJpeg2000Box($$$)
1248
1259
  my $compressed;
1249
1260
  eval { $compressed = IO::Compress::Brotli::bro($pad . $newdir) };
1250
1261
  if ($@ or not $compressed) {
1251
- $et->Warn("Error encoding $boxID brob box");
1262
+ BrotliWarn($et, $boxID);
1252
1263
  } else {
1253
1264
  $et->VPrint(0, " Writing Brotli-compressed $boxID\n");
1254
1265
  $newdir = $boxID . $compressed;
@@ -1389,7 +1400,7 @@ sub ProcessBrotli($$$)
1389
1400
  my $verbose = $isWriting ? 0 : $et->Options('Verbose');
1390
1401
  my $dat = substr($$dataPt, 4);
1391
1402
  eval { $dat = IO::Uncompress::Brotli::unbro($dat, 100000000) };
1392
- $@ and $et->Warn("Error decoding $type brob box"), return 1;
1403
+ $@ and BrotliWarn($et, $type, 1), return 1;
1393
1404
  $verbose > 2 and $et->VerboseDump(\$dat, Prefix => $$et{INDENT} . ' ');
1394
1405
  my %dirInfo = ( DataPt => \$dat );
1395
1406
  if ($type eq 'xml ') {
@@ -1422,7 +1433,7 @@ sub ProcessBrotli($$$)
1422
1433
  # rewrite as uncompressed if Compress option is set to 0 (or '')
1423
1434
  return $dat if defined $compress and not $compress;
1424
1435
  eval { $dat = IO::Compress::Brotli::bro($dat) };
1425
- $@ and $et->Warn("Error encoding $type brob box"), return undef;
1436
+ $@ and BrotliWarn($et, $type), return undef;
1426
1437
  $et->VPrint(0, " Writing Brotli-compressed $type\n");
1427
1438
  return $type . $dat;
1428
1439
  }
@@ -1620,7 +1631,7 @@ files.
1620
1631
 
1621
1632
  =head1 AUTHOR
1622
1633
 
1623
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
1634
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
1624
1635
 
1625
1636
  This library is free software; you can redistribute it and/or modify it
1626
1637
  under the same terms as Perl itself.
@@ -3252,7 +3252,7 @@ interpret Kodak maker notes EXIF meta information.
3252
3252
 
3253
3253
  =head1 AUTHOR
3254
3254
 
3255
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
3255
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
3256
3256
 
3257
3257
  This library is free software; you can redistribute it and/or modify it
3258
3258
  under the same terms as Perl itself.
@@ -152,7 +152,7 @@ meta information from Kyocera Contax N Digital RAW images.
152
152
 
153
153
  =head1 AUTHOR
154
154
 
155
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
155
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
156
156
 
157
157
  This library is free software; you can redistribute it and/or modify it
158
158
  under the same terms as Perl itself.
@@ -147,7 +147,7 @@ metadata from Leica Image File (LIF) images.
147
147
 
148
148
  =head1 AUTHOR
149
149
 
150
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
150
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
151
151
 
152
152
  This library is free software; you can redistribute it and/or modify it
153
153
  under the same terms as Perl itself.
@@ -703,7 +703,7 @@ information MS Shell Link (Windows shortcut) files.
703
703
 
704
704
  =head1 AUTHOR
705
705
 
706
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
706
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
707
707
 
708
708
  This library is free software; you can redistribute it and/or modify it
709
709
  under the same terms as Perl itself.
@@ -1570,7 +1570,7 @@ and values.
1570
1570
 
1571
1571
  =head1 AUTHOR
1572
1572
 
1573
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
1573
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
1574
1574
 
1575
1575
  This library is free software; you can redistribute it and/or modify it
1576
1576
  under the same terms as Perl itself.
@@ -8702,7 +8702,7 @@ and values.
8702
8702
 
8703
8703
  =head1 AUTHOR
8704
8704
 
8705
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
8705
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
8706
8706
 
8707
8707
  This library is free software; you can redistribute it and/or modify it
8708
8708
  under the same terms as Perl itself.
@@ -989,7 +989,7 @@ and values.
989
989
 
990
990
  =head1 AUTHOR
991
991
 
992
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
992
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
993
993
 
994
994
  This library is free software; you can redistribute it and/or modify it
995
995
  under the same terms as Perl itself.
@@ -1032,7 +1032,7 @@ and values.
1032
1032
 
1033
1033
  =head1 AUTHOR
1034
1034
 
1035
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
1035
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
1036
1036
 
1037
1037
  This library is free software; you can redistribute it and/or modify it
1038
1038
  under the same terms as Perl itself.
@@ -1980,10 +1980,10 @@ $VERSION = '1.16';
1980
1980
  'IPTCPixelHeight' => 'Tamaño Pixel Perpendicular a Dirección Escaneo',
1981
1981
  'IPTCPixelWidth' => 'Tamaño Pixel en Dirección Escaneo',
1982
1982
  'ISO' => 'Ratio Velocidad ISO',
1983
- 'ISOAutoParameters' => {
1983
+ 'ISOAutoMinSpeed' => {
1984
1984
  PrintConv => {
1985
- 'Fast' => 'Rápido',
1986
- 'Standard' => 'Estándar',
1985
+ 'Auto Fast' => 'Auto-rápido',
1986
+ 'Auto Standard' => 'Auto-estándar',
1987
1987
  },
1988
1988
  },
1989
1989
  'ISOExpansion' => {
@@ -4005,7 +4005,7 @@ and values.
4005
4005
 
4006
4006
  =head1 AUTHOR
4007
4007
 
4008
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
4008
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
4009
4009
 
4010
4010
  This library is free software; you can redistribute it and/or modify it
4011
4011
  under the same terms as Perl itself.
@@ -2878,7 +2878,7 @@ and values.
2878
2878
 
2879
2879
  =head1 AUTHOR
2880
2880
 
2881
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
2881
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
2882
2882
 
2883
2883
  This library is free software; you can redistribute it and/or modify it
2884
2884
  under the same terms as Perl itself.