exiftool_vendored 12.70.0 → 12.73.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 +53 -1
  3. data/bin/MANIFEST +5 -0
  4. data/bin/META.json +1 -1
  5. data/bin/META.yml +1 -1
  6. data/bin/README +11 -11
  7. data/bin/exiftool +47 -27
  8. data/bin/lib/File/RandomAccess.pm +1 -1
  9. data/bin/lib/File/RandomAccess.pod +2 -2
  10. data/bin/lib/Image/ExifTool/AAC.pm +177 -0
  11. data/bin/lib/Image/ExifTool/AES.pm +1 -1
  12. data/bin/lib/Image/ExifTool/AFCP.pm +1 -1
  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 +1 -1
  22. data/bin/lib/Image/ExifTool/BigTIFF.pm +1 -1
  23. data/bin/lib/Image/ExifTool/BuildTagLookup.pm +4 -3
  24. data/bin/lib/Image/ExifTool/CBOR.pm +1 -1
  25. data/bin/lib/Image/ExifTool/Canon.pm +22 -7
  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 +1 -1
  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 +1 -1
  33. data/bin/lib/Image/ExifTool/DJI.pm +1 -1
  34. data/bin/lib/Image/ExifTool/DNG.pm +1 -1
  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 +31 -10
  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 +1 -1
  45. data/bin/lib/Image/ExifTool/Fixup.pm +1 -1
  46. data/bin/lib/Image/ExifTool/Flash.pm +1 -1
  47. data/bin/lib/Image/ExifTool/FlashPix.pm +60 -7
  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 +6 -3
  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 +1 -1
  57. data/bin/lib/Image/ExifTool/GoPro.pm +17 -2
  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 +1 -1
  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 +8 -5
  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 +1 -1
  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 +5 -2
  74. data/bin/lib/Image/ExifTool/JVC.pm +3 -3
  75. data/bin/lib/Image/ExifTool/Jpeg2000.pm +17 -6
  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 +22 -17
  101. data/bin/lib/Image/ExifTool/MIE.pm +3 -3
  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 +1 -1
  119. data/bin/lib/Image/ExifTool/Motorola.pm +1 -1
  120. data/bin/lib/Image/ExifTool/Nikon.pm +166 -97
  121. data/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
  122. data/bin/lib/Image/ExifTool/NikonCustom.pm +1 -1
  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 +1 -1
  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 +1 -1
  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 +1 -1
  143. data/bin/lib/Image/ExifTool/Parrot.pm +1 -1
  144. data/bin/lib/Image/ExifTool/Pentax.pm +46 -16
  145. data/bin/lib/Image/ExifTool/PhaseOne.pm +4 -4
  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 +1 -1
  149. data/bin/lib/Image/ExifTool/PostScript.pm +1 -1
  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 +50 -11
  153. data/bin/lib/Image/ExifTool/QuickTimeStream.pl +148 -12
  154. data/bin/lib/Image/ExifTool/RIFF.pm +1 -1
  155. data/bin/lib/Image/ExifTool/RSRC.pm +1 -1
  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 +111 -3
  163. data/bin/lib/Image/ExifTool/Samsung.pm +4 -3
  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 +1 -1
  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 +1 -1
  170. data/bin/lib/Image/ExifTool/Sony.pm +85 -6
  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 +2 -2
  174. data/bin/lib/Image/ExifTool/TagLookup.pm +4878 -4830
  175. data/bin/lib/Image/ExifTool/TagNames.pod +11518 -11379
  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 +1 -1
  186. data/bin/lib/Image/ExifTool/WriteExif.pl +20 -5
  187. data/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
  188. data/bin/lib/Image/ExifTool/WritePDF.pl +1 -1
  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 +4 -1
  193. data/bin/lib/Image/ExifTool/WriteRIFF.pl +1 -1
  194. data/bin/lib/Image/ExifTool/WriteXMP.pl +5 -3
  195. data/bin/lib/Image/ExifTool/Writer.pl +87 -15
  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 +1 -1
  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 +35 -8
  204. data/bin/lib/Image/ExifTool.pod +29 -16
  205. data/bin/perl-Image-ExifTool.spec +9 -9
  206. data/lib/exiftool_vendored/version.rb +1 -1
  207. metadata +3 -2
@@ -8,7 +8,7 @@
8
8
  # Revisions: Nov. 12/2003 - P. Harvey Created
9
9
  # (See html/history.html for revision history)
10
10
  #
11
- # Legal: Copyright (c) 2003-2023, Phil Harvey (philharvey66 at gmail.com)
11
+ # Legal: Copyright (c) 2003-2024, Phil Harvey (philharvey66 at gmail.com)
12
12
  # This library is free software; you can redistribute it and/or
13
13
  # modify it under the same terms as Perl itself.
14
14
  #------------------------------------------------------------------------------
@@ -29,7 +29,7 @@ use vars qw($VERSION $RELEASE @ISA @EXPORT_OK %EXPORT_TAGS $AUTOLOAD @fileTypes
29
29
  %jpegMarker %specialTags %fileTypeLookup $testLen $exeDir
30
30
  %static_vars);
31
31
 
32
- $VERSION = '12.70';
32
+ $VERSION = '12.73';
33
33
  $RELEASE = '';
34
34
  @ISA = qw(Exporter);
35
35
  %EXPORT_TAGS = (
@@ -146,8 +146,8 @@ sub ReadValue($$$;$$$);
146
146
  PCX PGF PSP PhotoCD Radiance Other::PFM PDF PostScript Photoshop::Header
147
147
  Photoshop::Layers Photoshop::ImageData FujiFilm::RAF FujiFilm::IFD
148
148
  FujiFilm::MRAW Samsung::Trailer Sony::SRF2 Sony::SR2SubIFD Sony::PMP ITC ID3
149
- ID3::Lyrics3 FLAC Ogg Vorbis APE APE::NewHeader APE::OldHeader Audible MPC
150
- MPEG::Audio MPEG::Video MPEG::Xing M2TS QuickTime QuickTime::ImageFile
149
+ ID3::Lyrics3 FLAC AAC Ogg Vorbis APE APE::NewHeader APE::OldHeader Audible
150
+ MPC MPEG::Audio MPEG::Video MPEG::Xing M2TS QuickTime QuickTime::ImageFile
151
151
  QuickTime::Stream QuickTime::Tags360Fly Matroska Matroska::StdTag MOI MXF DV
152
152
  Flash Flash::FLV Real::Media Real::Audio Real::Metafile Red RIFF AIFF ASF
153
153
  WTV DICOM FITS XISF MIE JSON HTML XMP::SVG Palm Palm::MOBI Palm::EXTH
@@ -197,7 +197,7 @@ $defaultLang = 'en'; # default language
197
197
  RAR 7Z BZ2 CZI TAR EXE EXR HDR CHM LNK WMF AVC DEX DPX RAW Font
198
198
  RSRC M2TS MacOS PHP PCX DCX DWF DWG DXF WTV Torrent VCard LRI
199
199
  R3D AA PDB PFM2 MRC LIF JXL MOI ISO ALIAS JSON MP3 DICOM PCD ICO
200
- TXT);
200
+ TXT AAC);
201
201
 
202
202
  # file types that we can write (edit)
203
203
  my @writeTypes = qw(JPEG TIFF GIF CRW MRW ORF RAF RAW PNG MIE PSD XMP PPM EPS
@@ -206,6 +206,7 @@ my @writeTypes = qw(JPEG TIFF GIF CRW MRW ORF RAF RAW PNG MIE PSD XMP PPM EPS
206
206
  my %writeTypes; # lookup for writable file types (hash filled if required)
207
207
 
208
208
  # file extensions that we can't write for various base types
209
+ # (See here for 3FR reason: https://exiftool.org/forum/index.php?msg=17570)
209
210
  %noWriteFile = (
210
211
  TIFF => [ qw(3FR DCR K25 KDC SRF) ],
211
212
  XMP => [ qw(SVG INX) ],
@@ -232,6 +233,7 @@ my %createTypes = map { $_ => 1 } qw(XMP ICC MIE VRD DR4 EXIF EXV);
232
233
  '7Z' => ['7Z', '7z archive'],
233
234
  A => ['EXE', 'Static library'],
234
235
  AA => ['AA', 'Audible Audiobook'],
236
+ AAC => ['AAC', 'Advanced Audio Coding'],
235
237
  AAE => ['PLIST','Apple edit information'],
236
238
  AAX => ['MOV', 'Audible Enhanced Audiobook'],
237
239
  ACR => ['DICOM','American College of Radiology ACR-NEMA'],
@@ -597,6 +599,7 @@ my %fileDescription = (
597
599
  '3FR' => 'image/x-hasselblad-3fr',
598
600
  '7Z' => 'application/x-7z-compressed',
599
601
  AA => 'audio/audible',
602
+ AAC => 'audio/aac',
600
603
  AAE => 'application/vnd.apple.photos',
601
604
  AI => 'application/vnd.adobe.illustrator',
602
605
  AIFF => 'audio/x-aiff',
@@ -893,6 +896,7 @@ $testLen = 1024; # number of bytes to read when testing for magic number
893
896
  # - this test must not be more stringent than module logic
894
897
  %magicNumber = (
895
898
  AA => '.{4}\x57\x90\x75\x36',
899
+ AAC => '\xff[\xf0\xf1]',
896
900
  AIFF => '(FORM....AIF[FC]|AT&TFORM)',
897
901
  ALIAS=> "book\0\0\0\0mark\0\0\0\0",
898
902
  APE => '(MAC |APETAGEX|ID3)',
@@ -1107,6 +1111,7 @@ my @availableOptions = (
1107
1111
  [ 'ImageHashType', 'MD5', 'image hash algorithm' ],
1108
1112
  [ 'Lang', $defaultLang, 'localized language for descriptions etc' ],
1109
1113
  [ 'LargeFileSupport', undef, 'flag indicating support of 64-bit file offsets' ],
1114
+ [ 'LimitLongValues', 60, 'length limit for long values' ],
1110
1115
  [ 'List', undef, '[deprecated, use ListSplit and ListJoin instead]' ],
1111
1116
  [ 'ListItem', undef, 'used to return a specific item from lists' ],
1112
1117
  [ 'ListJoin', ', ', 'join lists together with this separator' ],
@@ -1115,6 +1120,7 @@ my @availableOptions = (
1115
1120
  [ 'MakerNotes', undef, 'extract maker notes as a block' ],
1116
1121
  [ 'MDItemTags', undef, 'extract MacOS metadata item tags' ],
1117
1122
  [ 'MissingTagValue', undef, 'value for missing tags when expanded in expressions' ],
1123
+ [ 'NoMandatory', undef, 'bypass writing of mandatory EXIF tags' ],
1118
1124
  [ 'NoMultiExif', undef, 'raise error when writing multi-segment EXIF' ],
1119
1125
  [ 'NoPDFList', undef, 'flag to avoid splitting PDF List-type tag values' ],
1120
1126
  [ 'NoWarning', undef, 'regular expression for warnings to suppress' ],
@@ -4175,12 +4181,16 @@ sub ExtractAltInfo($)
4175
4181
  next unless defined $fileName;
4176
4182
  }
4177
4183
  $altExifTool->ExtractInfo($fileName);
4184
+ my $err = $$altExifTool{VALUE}{Error};
4185
+ $err and $self->Warn(qq{$err "$fileName"});
4178
4186
  # set family 8 group name for all tags
4179
4187
  foreach (keys %{$$altExifTool{VALUE}}) {
4180
4188
  my $ex = $$altExifTool{TAG_EXTRA}{$_};
4181
4189
  $ex or $ex = $$altExifTool{TAG_EXTRA}{$_} = { };
4182
4190
  $$ex{G8} = $g8;
4183
4191
  }
4192
+ # prepare our sorted list of found tags
4193
+ $$altExifTool{FoundTags} = [ reverse sort keys %{$$altExifTool{VALUE}} ];
4184
4194
  $$altExifTool{DID_EXTRACT} = 1;
4185
4195
  }
4186
4196
  # if necessary, build composite tags that rely on tags from alternate files
@@ -6308,6 +6318,20 @@ sub InverseFileName($$)
6308
6318
  return $val;
6309
6319
  }
6310
6320
 
6321
+ #------------------------------------------------------------------------------
6322
+ # Limit length of long values (to be used in PrintConv)
6323
+ # Inputs: 0) string value, 1) ExifTool ref
6324
+ # Returns: length-limited value
6325
+ sub LimitLongValues($$)
6326
+ {
6327
+ my ($str, $self) = @_;
6328
+ my $lim = $$self{OPTIONS}{LimitLongValues};
6329
+ if (length($str) > $lim and $lim >= 5) {
6330
+ $str = substr($str,0,$lim-5) . "[...]";
6331
+ }
6332
+ return $str;
6333
+ }
6334
+
6311
6335
  #------------------------------------------------------------------------------
6312
6336
  # Save information for HTML dump
6313
6337
  # Inputs: 0) ExifTool hash ref, 1) start offset, 2) data size
@@ -6740,6 +6764,7 @@ sub ProcessJPEG($$)
6740
6764
  pop @$path;
6741
6765
  $verbose and print $out "JPEG EOI\n";
6742
6766
  my $pos = $raf->Tell();
6767
+ $$self{TrailerStart} = $pos unless $$self{DOC_NUM};
6743
6768
  if ($htmlDump and $dumpEnd) {
6744
6769
  $self->HDump($dumpEnd, $pos-2-$dumpEnd, '[JPEG Image Data]', undef, 0x08);
6745
6770
  $self->HDump($pos-2, 2, 'JPEG EOI', undef);
@@ -6878,8 +6903,10 @@ sub ProcessJPEG($$)
6878
6903
  require Image::ExifTool::Panasonic;
6879
6904
  Image::ExifTool::Panasonic::ProcessLeicaTrailer($self);
6880
6905
  $wantTrailer = 1 if $$self{LeicaTrailer};
6881
- } else {
6882
- $wantTrailer = 1 if $$options{ExtractEmbedded};
6906
+ } elsif ($$options{ExtractEmbedded} or ($$self{VALUE}{HiddenDataOffset} and
6907
+ $$self{VALUE}{HiddenDataLength} and ($$options{Validate} or $$req{hiddendata})))
6908
+ {
6909
+ $wantTrailer = 1;
6883
6910
  }
6884
6911
  next if $trailInfo or $wantTrailer or $verbose > 2 or $htmlDump;
6885
6912
  }
@@ -8416,7 +8443,7 @@ sub GetTagInfo($$$;$$$)
8416
8443
  $printConv = $$tagTablePtr{PRINT_CONV};
8417
8444
  } else {
8418
8445
  # limit length of printout (can be very long)
8419
- $printConv = 'length($val) > 60 ? substr($val,0,55) . "[...]" : $val';
8446
+ $printConv = \&LimitLongValues;
8420
8447
  }
8421
8448
  my $hex = sprintf("0x%.4x", $tagID);
8422
8449
  my $prefix = $$tagTablePtr{TAG_PREFIX};
@@ -5,7 +5,7 @@
5
5
  #
6
6
  # URL: https://exiftool.org/
7
7
  #
8
- # Legal: Copyright (c) 2003-2023, Phil Harvey (philharvey66 at gmail.com)
8
+ # Legal: Copyright (c) 2003-2024, Phil Harvey (philharvey66 at gmail.com)
9
9
  # This library is free software; you can redistribute it and/or
10
10
  # modify it under the same terms as Perl itself.
11
11
  #------------------------------------------------------------------------------
@@ -822,6 +822,14 @@ set to undef to select the built-in default language. Default is 'en'.
822
822
  Flag to indicate that 64-bit file offsets are supported on this system.
823
823
  Default is undef.
824
824
 
825
+ =item LimitLongValues
826
+
827
+ When extracting some values that may be very long, the PrintConv values are
828
+ length-limited and the value is truncated with an elipsis ("[...]") if it
829
+ exceeds a specified length. This option specifies the length limit for
830
+ these tags. A setting of 4 or less disables the limit (because the elipsis
831
+ string is longer than this). Default is 60.
832
+
825
833
  =item ListItem
826
834
 
827
835
  Return only a specific item from list-type values. A value of 0 returns the
@@ -873,6 +881,10 @@ writing. This applies only to queued values, and doesn't resolve duplicates
873
881
  with existing values in the file when adding to an existing list. Default
874
882
  is undef.
875
883
 
884
+ =item NoMandatory
885
+
886
+ Flag to bypass writing of mandatory EXIF tags. Default is undef.
887
+
876
888
  =item NoMultiExif
877
889
 
878
890
  Raise error when attempting to write multi-segment EXIF in a JPEG image.
@@ -2421,23 +2433,24 @@ Here is a complete list of groups for each of these families:
2421
2433
 
2422
2434
  =item Family 0 (Information Type):
2423
2435
 
2424
- AFCP, AIFF, APE, APP0, APP1, APP11, APP12, APP13, APP14, APP15, APP2, APP3,
2425
- APP4, APP5, APP6, APP8, ASF, Audible, CanonVRD, Composite, DICOM, DNG, DV,
2426
- DjVu, Ducky, EXE, EXIF, ExifTool, FITS, FLAC, FLIR, File, Flash, FlashPix,
2427
- Font, FotoStation, GIF, GIMP, GeoTiff, GoPro, H264, HTML, ICC_Profile, ID3,
2428
- IPTC, ISO, ITC, JFIF, JPEG, JSON, JUMBF, Jpeg2000, LNK, Leaf, Lytro, M2TS,
2429
- MIE, MIFF, MISB, MNG, MOI, MPC, MPEG, MPF, MXF, MakerNotes, Matroska, Meta,
2430
- Ogg, OpenEXR, Opus, PDF, PICT, PLIST, PNG, PSP, Palm, Parrot, PanasonicRaw,
2431
- PhotoCD, PhotoMechanic, Photoshop, PostScript, PrintIM, QuickTime, RAF,
2432
- RIFF, RSRC, RTF, Radiance, Rawzor, Real, Red, SVG, SigmaRaw, Stim, Theora,
2433
- Torrent, Trailer, UserParam, VCard, Vorbis, WTV, XML, XMP, ZIP
2436
+ AAC, AFCP, AIFF, APE, APP0, APP1, APP11, APP12, APP13, APP14, APP15, APP2,
2437
+ APP3, APP4, APP5, APP6, APP8, ASF, Audible, CanonVRD, Composite, DICOM, DNG,
2438
+ DV, DjVu, Ducky, EXE, EXIF, ExifTool, FITS, FLAC, FLIR, File, Flash,
2439
+ FlashPix, Font, FotoStation, GIF, GIMP, GeoTiff, GoPro, H264, HTML,
2440
+ ICC_Profile, ID3, IPTC, ISO, ITC, JFIF, JPEG, JSON, JUMBF, Jpeg2000, LNK,
2441
+ Leaf, Lytro, M2TS, MIE, MIFF, MISB, MNG, MOI, MPC, MPEG, MPF, MXF,
2442
+ MakerNotes, Matroska, Meta, Ogg, OpenEXR, Opus, PDF, PICT, PLIST, PNG, PSP,
2443
+ Palm, Parrot, PanasonicRaw, PhotoCD, PhotoMechanic, Photoshop, PostScript,
2444
+ PrintIM, QuickTime, RAF, RIFF, RSRC, RTF, Radiance, Rawzor, Real, Red, SVG,
2445
+ SigmaRaw, Stim, Theora, Torrent, Trailer, UserParam, VCard, Vorbis, WTV,
2446
+ XML, XMP, ZIP
2434
2447
 
2435
2448
  =item Family 1 (Specific Location):
2436
2449
 
2437
- AC3, AFCP, AIFF, APE, ASF, AVI1, Adobe, AdobeCM, AdobeDNG, Apple, Audible,
2438
- CBOR, CIFF, CameraIFD, Canon, CanonCustom, CanonDR4, CanonRaw, CanonVRD,
2439
- Casio, Chapter#, Composite, DICOM, DJI, DNG, DV, DjVu, DjVu-Meta, Ducky,
2440
- EPPIM, EXE, EXIF, ExifIFD, ExifTool, FITS, FLAC, FLIR, File, Flash,
2450
+ AAC, AC3, AFCP, AIFF, APE, ASF, AVI1, Adobe, AdobeCM, AdobeDNG, Apple,
2451
+ Audible, CBOR, CIFF, CameraIFD, Canon, CanonCustom, CanonDR4, CanonRaw,
2452
+ CanonVRD, Casio, Chapter#, Composite, DICOM, DJI, DNG, DV, DjVu, DjVu-Meta,
2453
+ Ducky, EPPIM, EXE, EXIF, ExifIFD, ExifTool, FITS, FLAC, FLIR, File, Flash,
2441
2454
  FlashPix, Font, FotoStation, FujiFilm, FujiIFD, GE, GIF, GIMP, GPS,
2442
2455
  GSpherical, Garmin, GeoTiff, GlobParamIFD, GoPro, GraphConv, H264, HP, HTC,
2443
2456
  HTML, HTML-dc, HTML-ncc, HTML-office, HTML-prod, HTML-vw96, HTTP-equiv,
@@ -2876,7 +2889,7 @@ specified by the L</Charset> option.
2876
2889
 
2877
2890
  =head1 AUTHOR
2878
2891
 
2879
- Copyright 2003-2023, Phil Harvey
2892
+ Copyright 2003-2024, Phil Harvey
2880
2893
 
2881
2894
  This library is free software; you can redistribute it and/or modify it
2882
2895
  under the same terms as Perl itself.
@@ -1,6 +1,6 @@
1
1
  Summary: perl module for image data extraction
2
2
  Name: perl-Image-ExifTool
3
- Version: 12.70
3
+ Version: 12.73
4
4
  Release: 1
5
5
  License: Artistic/GPL
6
6
  Group: Development/Libraries/Perl
@@ -22,13 +22,14 @@ supported by ExifTool (r = read, w = write, c = create):
22
22
 
23
23
  File Types
24
24
  ------------+-------------+-------------+-------------+------------
25
- 360 r/w | DPX r | ITC r | NUMBERS r | RAW r/w
26
- 3FR r | DR4 r/w/c | J2C r | O r | RIFF r
27
- 3G2 r/w | DSS r | JNG r/w | ODP r | RSRC r
28
- 3GP r/w | DV r | JP2 r/w | ODS r | RTF r
29
- 7Z r | DVB r/w | JPEG r/w | ODT r | RW2 r/w
30
- A r | DVR-MS r | JSON r | OFR r | RWL r/w
31
- AA r | DYLIB r | JXL r | OGG r | RWZ r
25
+ 360 r/w | DOCX r | ISO r | NRW r/w | RAR r
26
+ 3FR r | DPX r | ITC r | NUMBERS r | RAW r/w
27
+ 3G2 r/w | DR4 r/w/c | J2C r | O r | RIFF r
28
+ 3GP r/w | DSS r | JNG r/w | ODP r | RSRC r
29
+ 7Z r | DV r | JP2 r/w | ODS r | RTF r
30
+ A r | DVB r/w | JPEG r/w | ODT r | RW2 r/w
31
+ AA r | DVR-MS r | JSON r | OFR r | RWL r/w
32
+ AAC r | DYLIB r | JXL r | OGG r | RWZ r
32
33
  AAE r | EIP r | K25 r | OGV r | RM r
33
34
  AAX r/w | EPS r/w | KDC r | ONP r | SEQ r
34
35
  ACR r | EPUB r | KEY r | OPUS r | SKETCH r
@@ -64,7 +65,6 @@ supported by ExifTool (r = read, w = write, c = create):
64
65
  DLL r | INSP r/w | MXF r | RA r | XLSX r
65
66
  DNG r/w | INSV r | NEF r/w | RAF r/w | XMP r/w/c
66
67
  DOC r | INX r | NKSC r/w | RAM r | ZIP r
67
- DOCX r | ISO r | NRW r/w | RAR r |
68
68
 
69
69
  Meta Information
70
70
  ----------------------+----------------------+---------------------
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ExiftoolVendored
4
- VERSION = Gem::Version.new('12.70.0')
4
+ VERSION = Gem::Version.new('12.73.0')
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: exiftool_vendored
3
3
  version: !ruby/object:Gem::Version
4
- version: 12.70.0
4
+ version: 12.73.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew McEachen
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2023-11-19 00:00:00.000000000 Z
12
+ date: 2024-01-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: exiftool
@@ -78,6 +78,7 @@ files:
78
78
  - bin/lib/Image/ExifTool.pm
79
79
  - bin/lib/Image/ExifTool.pod
80
80
  - bin/lib/Image/ExifTool/7Z.pm
81
+ - bin/lib/Image/ExifTool/AAC.pm
81
82
  - bin/lib/Image/ExifTool/AES.pm
82
83
  - bin/lib/Image/ExifTool/AFCP.pm
83
84
  - bin/lib/Image/ExifTool/AIFF.pm