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.
- checksums.yaml +4 -4
- data/bin/Changes +36 -1
- data/bin/MANIFEST +5 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +10 -10
- data/bin/exiftool +21 -14
- data/bin/lib/Image/ExifTool/AAC.pm +175 -0
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +2 -1
- data/bin/lib/Image/ExifTool/Canon.pm +21 -6
- data/bin/lib/Image/ExifTool/Exif.pm +30 -9
- data/bin/lib/Image/ExifTool/FujiFilm.pm +5 -2
- data/bin/lib/Image/ExifTool/GoPro.pm +16 -1
- data/bin/lib/Image/ExifTool/ID3.pm +7 -4
- data/bin/lib/Image/ExifTool/JSON.pm +4 -1
- data/bin/lib/Image/ExifTool/M2TS.pm +21 -16
- data/bin/lib/Image/ExifTool/Nikon.pm +158 -90
- data/bin/lib/Image/ExifTool/Pentax.pm +15 -6
- data/bin/lib/Image/ExifTool/QuickTime.pm +29 -10
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +59 -11
- data/bin/lib/Image/ExifTool/Ricoh.pm +109 -1
- data/bin/lib/Image/ExifTool/Samsung.pm +3 -2
- data/bin/lib/Image/ExifTool/Sony.pm +83 -4
- data/bin/lib/Image/ExifTool/TagLookup.pm +4862 -4828
- data/bin/lib/Image/ExifTool/TagNames.pod +147 -42
- data/bin/lib/Image/ExifTool/WriteExif.pl +19 -4
- data/bin/lib/Image/ExifTool/Writer.pl +81 -14
- data/bin/lib/Image/ExifTool.pm +18 -6
- data/bin/lib/Image/ExifTool.pod +19 -14
- data/bin/perl-Image-ExifTool.spec +9 -9
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +3 -2
data/bin/lib/Image/ExifTool.pm
CHANGED
@@ -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.
|
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
|
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
|
-
}
|
6882
|
-
|
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
|
}
|
data/bin/lib/Image/ExifTool.pod
CHANGED
@@ -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,
|
2425
|
-
APP4, APP5, APP6, APP8, ASF, Audible, CanonVRD, Composite, DICOM, DNG,
|
2426
|
-
DjVu, Ducky, EXE, EXIF, ExifTool, FITS, FLAC, FLIR, File, Flash,
|
2427
|
-
Font, FotoStation, GIF, GIMP, GeoTiff, GoPro, H264, HTML,
|
2428
|
-
IPTC, ISO, ITC, JFIF, JPEG, JSON, JUMBF, Jpeg2000, LNK,
|
2429
|
-
MIE, MIFF, MISB, MNG, MOI, MPC, MPEG, MPF, MXF,
|
2430
|
-
Ogg, OpenEXR, Opus, PDF, PICT, PLIST, PNG, PSP,
|
2431
|
-
|
2432
|
-
RIFF, RSRC, RTF, Radiance, Rawzor, Real, Red, SVG,
|
2433
|
-
Torrent, Trailer, UserParam, VCard, Vorbis, WTV,
|
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,
|
2438
|
-
CBOR, CIFF, CameraIFD, Canon, CanonCustom, CanonDR4, CanonRaw,
|
2439
|
-
Casio, Chapter#, Composite, DICOM, DJI, DNG, DV, DjVu, DjVu-Meta,
|
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.
|
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 |
|
26
|
-
3FR r |
|
27
|
-
3G2 r/w |
|
28
|
-
3GP r/w |
|
29
|
-
7Z r |
|
30
|
-
A r |
|
31
|
-
AA 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
|
----------------------+----------------------+---------------------
|
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.
|
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-
|
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
|