exiftool_vendored 12.70.0 → 12.72.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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.72';
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)',
@@ -1115,6 +1119,7 @@ my @availableOptions = (
1115
1119
  [ 'MakerNotes', undef, 'extract maker notes as a block' ],
1116
1120
  [ 'MDItemTags', undef, 'extract MacOS metadata item tags' ],
1117
1121
  [ 'MissingTagValue', undef, 'value for missing tags when expanded in expressions' ],
1122
+ [ 'NoMandatory', undef, 'bypass writing of mandatory EXIF tags' ],
1118
1123
  [ 'NoMultiExif', undef, 'raise error when writing multi-segment EXIF' ],
1119
1124
  [ 'NoPDFList', undef, 'flag to avoid splitting PDF List-type tag values' ],
1120
1125
  [ 'NoWarning', undef, 'regular expression for warnings to suppress' ],
@@ -4175,12 +4180,16 @@ sub ExtractAltInfo($)
4175
4180
  next unless defined $fileName;
4176
4181
  }
4177
4182
  $altExifTool->ExtractInfo($fileName);
4183
+ my $err = $$altExifTool{VALUE}{Error};
4184
+ $err and $self->Warn(qq{$err "$fileName"});
4178
4185
  # set family 8 group name for all tags
4179
4186
  foreach (keys %{$$altExifTool{VALUE}}) {
4180
4187
  my $ex = $$altExifTool{TAG_EXTRA}{$_};
4181
4188
  $ex or $ex = $$altExifTool{TAG_EXTRA}{$_} = { };
4182
4189
  $$ex{G8} = $g8;
4183
4190
  }
4191
+ # prepare our sorted list of found tags
4192
+ $$altExifTool{FoundTags} = [ reverse sort keys %{$$altExifTool{VALUE}} ];
4184
4193
  $$altExifTool{DID_EXTRACT} = 1;
4185
4194
  }
4186
4195
  # if necessary, build composite tags that rely on tags from alternate files
@@ -6740,6 +6749,7 @@ sub ProcessJPEG($$)
6740
6749
  pop @$path;
6741
6750
  $verbose and print $out "JPEG EOI\n";
6742
6751
  my $pos = $raf->Tell();
6752
+ $$self{TrailerStart} = $pos unless $$self{DOC_NUM};
6743
6753
  if ($htmlDump and $dumpEnd) {
6744
6754
  $self->HDump($dumpEnd, $pos-2-$dumpEnd, '[JPEG Image Data]', undef, 0x08);
6745
6755
  $self->HDump($pos-2, 2, 'JPEG EOI', undef);
@@ -6878,8 +6888,10 @@ sub ProcessJPEG($$)
6878
6888
  require Image::ExifTool::Panasonic;
6879
6889
  Image::ExifTool::Panasonic::ProcessLeicaTrailer($self);
6880
6890
  $wantTrailer = 1 if $$self{LeicaTrailer};
6881
- } else {
6882
- $wantTrailer = 1 if $$options{ExtractEmbedded};
6891
+ } elsif ($$options{ExtractEmbedded} or ($$self{VALUE}{HiddenDataOffset} and
6892
+ $$self{VALUE}{HiddenDataLength} and ($$options{Validate} or $$req{hiddendata})))
6893
+ {
6894
+ $wantTrailer = 1;
6883
6895
  }
6884
6896
  next if $trailInfo or $wantTrailer or $verbose > 2 or $htmlDump;
6885
6897
  }
@@ -873,6 +873,10 @@ writing. This applies only to queued values, and doesn't resolve duplicates
873
873
  with existing values in the file when adding to an existing list. Default
874
874
  is undef.
875
875
 
876
+ =item NoMandatory
877
+
878
+ Flag to bypass writing of mandatory EXIF tags. Default is undef.
879
+
876
880
  =item NoMultiExif
877
881
 
878
882
  Raise error when attempting to write multi-segment EXIF in a JPEG image.
@@ -2421,23 +2425,24 @@ Here is a complete list of groups for each of these families:
2421
2425
 
2422
2426
  =item Family 0 (Information Type):
2423
2427
 
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
2428
+ AAC, AFCP, AIFF, APE, APP0, APP1, APP11, APP12, APP13, APP14, APP15, APP2,
2429
+ APP3, APP4, APP5, APP6, APP8, ASF, Audible, CanonVRD, Composite, DICOM, DNG,
2430
+ DV, DjVu, Ducky, EXE, EXIF, ExifTool, FITS, FLAC, FLIR, File, Flash,
2431
+ FlashPix, Font, FotoStation, GIF, GIMP, GeoTiff, GoPro, H264, HTML,
2432
+ ICC_Profile, ID3, IPTC, ISO, ITC, JFIF, JPEG, JSON, JUMBF, Jpeg2000, LNK,
2433
+ Leaf, Lytro, M2TS, MIE, MIFF, MISB, MNG, MOI, MPC, MPEG, MPF, MXF,
2434
+ MakerNotes, Matroska, Meta, Ogg, OpenEXR, Opus, PDF, PICT, PLIST, PNG, PSP,
2435
+ Palm, Parrot, PanasonicRaw, PhotoCD, PhotoMechanic, Photoshop, PostScript,
2436
+ PrintIM, QuickTime, RAF, RIFF, RSRC, RTF, Radiance, Rawzor, Real, Red, SVG,
2437
+ SigmaRaw, Stim, Theora, Torrent, Trailer, UserParam, VCard, Vorbis, WTV,
2438
+ XML, XMP, ZIP
2434
2439
 
2435
2440
  =item Family 1 (Specific Location):
2436
2441
 
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,
2442
+ AAC, AC3, AFCP, AIFF, APE, ASF, AVI1, Adobe, AdobeCM, AdobeDNG, Apple,
2443
+ Audible, CBOR, CIFF, CameraIFD, Canon, CanonCustom, CanonDR4, CanonRaw,
2444
+ CanonVRD, Casio, Chapter#, Composite, DICOM, DJI, DNG, DV, DjVu, DjVu-Meta,
2445
+ Ducky, EPPIM, EXE, EXIF, ExifIFD, ExifTool, FITS, FLAC, FLIR, File, Flash,
2441
2446
  FlashPix, Font, FotoStation, FujiFilm, FujiIFD, GE, GIF, GIMP, GPS,
2442
2447
  GSpherical, Garmin, GeoTiff, GlobParamIFD, GoPro, GraphConv, H264, HP, HTC,
2443
2448
  HTML, HTML-dc, HTML-ncc, HTML-office, HTML-prod, HTML-vw96, HTTP-equiv,
@@ -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.72
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.72.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.72.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: 2023-12-30 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