exiftool_vendored 12.81.0 → 12.82.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 +19 -1
- data/bin/MANIFEST +2 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +2 -2
- data/bin/exiftool +13 -7
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +44 -31
- data/bin/lib/Image/ExifTool/FujiFilm.pm +9 -2
- data/bin/lib/Image/ExifTool/GM.pm +543 -0
- data/bin/lib/Image/ExifTool/Geolocation.pm +43 -20
- data/bin/lib/Image/ExifTool/Nikon.pm +3 -2
- data/bin/lib/Image/ExifTool/QuickTime.pm +28 -23
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +61 -30
- data/bin/lib/Image/ExifTool/README +2 -0
- data/bin/lib/Image/ExifTool/TagLookup.pm +26 -1
- data/bin/lib/Image/ExifTool/TagNames.pod +392 -237
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +3 -1
- data/bin/lib/Image/ExifTool/Writer.pl +2 -2
- data/bin/lib/Image/ExifTool/XMP.pm +3 -2
- data/bin/lib/Image/ExifTool.pm +27 -5
- data/bin/lib/Image/ExifTool.pod +18 -11
- data/bin/perl-Image-ExifTool.spec +1 -1
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +3 -2
@@ -1452,7 +1452,9 @@ sub WriteQuickTime($$$)
|
|
1452
1452
|
}
|
1453
1453
|
# ($errStr is set if there was an error that could possibly be due to an unknown trailer)
|
1454
1454
|
if ($errStr) {
|
1455
|
-
if ($lastTag eq 'mdat' and not $dataPt and not $$tagTablePtr{$tag}
|
1455
|
+
if (($lastTag eq 'mdat' or $lastTag eq 'moov') and not $dataPt and (not $$tagTablePtr{$tag} or
|
1456
|
+
ref $$tagTablePtr{$tag} eq 'HASH' and $$tagTablePtr{$tag}{Unknown}))
|
1457
|
+
{
|
1456
1458
|
my $nvTrail = $et->GetNewValueHash($Image::ExifTool::Extra{Trailer});
|
1457
1459
|
if ($$et{DEL_GROUP}{Trailer} or ($nvTrail and not ($$nvTrail{Value} and $$nvTrail{Value}[0]))) {
|
1458
1460
|
$errStr =~ s/ is too large.*//;
|
@@ -3167,8 +3167,8 @@ sub PushValue($$$;$)
|
|
3167
3167
|
# Inputs: 0) ExifTool object ref, 1) string with embedded tag names,
|
3168
3168
|
# 2) reference to list of found tags or undef to use FOUND_TAGS, 3) Options:
|
3169
3169
|
# undef - set missing tags to ''
|
3170
|
-
# 'Error' - issue minor error on missing tag (and return undef)
|
3171
|
-
# 'Warn' - issue minor warning on missing tag (and return undef)
|
3170
|
+
# 'Error' - issue minor error on missing tag (and return undef if error sent)
|
3171
|
+
# 'Warn' - issue minor warning on missing tag (and return undef if warning sent)
|
3172
3172
|
# 'Silent' - just return undef on missing tag (no errors/warnings)
|
3173
3173
|
# Hash ref - defined to interpolate as variables in string instead of values
|
3174
3174
|
# --> receives tag/value pairs for interpolation of the variables
|
@@ -50,7 +50,7 @@ use Image::ExifTool::Exif;
|
|
50
50
|
use Image::ExifTool::GPS;
|
51
51
|
require Exporter;
|
52
52
|
|
53
|
-
$VERSION = '3.
|
53
|
+
$VERSION = '3.65';
|
54
54
|
@ISA = qw(Exporter);
|
55
55
|
@EXPORT_OK = qw(EscapeXML UnescapeXML);
|
56
56
|
|
@@ -283,11 +283,12 @@ my %recognizedAttrs = (
|
|
283
283
|
# NOTE: this lookup is duplicated in TagLookup.pm!!
|
284
284
|
%specialStruct = (
|
285
285
|
STRUCT_NAME => 1, # [optional] name of structure
|
286
|
-
NAMESPACE => 1, # [mandatory] namespace prefix used for fields of this structure
|
286
|
+
NAMESPACE => 1, # [mandatory for XMP] namespace prefix used for fields of this structure
|
287
287
|
NOTES => 1, # [optional] notes for documentation about this structure
|
288
288
|
TYPE => 1, # [optional] rdf:type resource for struct (if used, the StructType flag
|
289
289
|
# will be set automatically for all derived flattened tags when writing)
|
290
290
|
GROUPS => 1, # [optional] specifies family group 2 name for the structure
|
291
|
+
SORT_ORDER => 1, # [optional] order for sorting fields in documentation
|
291
292
|
);
|
292
293
|
# XMP structures (each structure is similar to a tag table so we can
|
293
294
|
# recurse through them in SetPropertyPath() as if they were tag tables)
|
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.82';
|
33
33
|
$RELEASE = '';
|
34
34
|
@ISA = qw(Exporter);
|
35
35
|
%EXPORT_TAGS = (
|
@@ -1137,6 +1137,7 @@ my @availableOptions = (
|
|
1137
1137
|
[ 'NoPDFList', undef, 'flag to avoid splitting PDF List-type tag values' ],
|
1138
1138
|
[ 'NoWarning', undef, 'regular expression for warnings to suppress' ],
|
1139
1139
|
[ 'Password', undef, 'password for password-protected PDF documents' ],
|
1140
|
+
[ 'PrintCSV', undef, 'flag to print CSV directly (selected metadata types only)' ],
|
1140
1141
|
[ 'PrintConv', 1, 'flag to enable print conversion' ],
|
1141
1142
|
[ 'QuickTimeHandler', 1, 'flag to add mdir Handler to newly created Meta box' ],
|
1142
1143
|
[ 'QuickTimePad', undef, 'flag to preserve padding of QuickTime CR3 tags' ],
|
@@ -2035,8 +2036,8 @@ my %systemTagsNotes = (
|
|
2035
2036
|
}
|
2036
2037
|
return join(',', @args);
|
2037
2038
|
},
|
2038
|
-
},
|
2039
|
-
GeolocationBearing => { %geoInfo,
|
2039
|
+
},
|
2040
|
+
GeolocationBearing => { %geoInfo,
|
2040
2041
|
Notes => q{
|
2041
2042
|
compass bearing to GeolocationCity center. Geolocation tags are
|
2042
2043
|
generated only if API L<Geolocation|../ExifTool.html#Geolocation> option is set
|
@@ -2650,7 +2651,6 @@ sub ExtractInfo($;@)
|
|
2650
2651
|
$self->Options(Duplicates => 1) if $$options{HtmlDump};
|
2651
2652
|
# enable Validate option if Validate tag is requested
|
2652
2653
|
$self->Options(Validate => 1) if $$req{validate};
|
2653
|
-
|
2654
2654
|
if (defined $_[0]) {
|
2655
2655
|
# only initialize filename if called with arguments
|
2656
2656
|
$$self{FILENAME} = undef; # name of file (or '' if we didn't open it)
|
@@ -2659,6 +2659,11 @@ sub ExtractInfo($;@)
|
|
2659
2659
|
$self->ParseArguments(@_); # initialize from our arguments
|
2660
2660
|
}
|
2661
2661
|
}
|
2662
|
+
# ignore all tags and set ExtractEmbedded if outputting CSV directly
|
2663
|
+
if ($self->Options('PrintCSV')) {
|
2664
|
+
$$self{OPTIONS}{IgnoreTags} = { all => 1 };
|
2665
|
+
$self->Options(ExtractEmbedded => 1);
|
2666
|
+
}
|
2662
2667
|
# initialize ExifTool object members
|
2663
2668
|
$self->Init();
|
2664
2669
|
$$self{InExtract} = 1; # set flag indicating we are inside ExtractInfo
|
@@ -2839,6 +2844,7 @@ sub ExtractInfo($;@)
|
|
2839
2844
|
$self->FoundTag('FileTypeExtension', '');
|
2840
2845
|
$self->DoneExtract();
|
2841
2846
|
$raf->Close() if $raf;
|
2847
|
+
%saveOptions and $$self{OPTIONS} = \%saveOptions;
|
2842
2848
|
delete $$self{InExtract} unless $reEntry;
|
2843
2849
|
return 1;
|
2844
2850
|
}
|
@@ -3070,8 +3076,14 @@ sub ExtractInfo($;@)
|
|
3070
3076
|
# restore necessary members when exiting re-entrant code
|
3071
3077
|
$$self{$_} = $$reEntry{$_} foreach keys %$reEntry;
|
3072
3078
|
SetByteOrder($saveOrder);
|
3079
|
+
} else {
|
3080
|
+
# call cleanup routines if necessary
|
3081
|
+
if ($$self{Cleanup}) {
|
3082
|
+
&$_($self) foreach @{$$self{Cleanup}};
|
3083
|
+
delete $$self{Cleanup};
|
3084
|
+
}
|
3085
|
+
delete $$self{InExtract};
|
3073
3086
|
}
|
3074
|
-
delete $$self{InExtract} unless $reEntry;
|
3075
3087
|
|
3076
3088
|
# ($type may be undef without an Error when processing sub-documents)
|
3077
3089
|
return 0 if not defined $type or exists $$self{VALUE}{Error};
|
@@ -5273,6 +5285,16 @@ sub AUTOLOAD
|
|
5273
5285
|
return DoAutoLoad($AUTOLOAD, @_);
|
5274
5286
|
}
|
5275
5287
|
|
5288
|
+
#------------------------------------------------------------------------------
|
5289
|
+
# Add cleanup routine to call before returning from Extract
|
5290
|
+
# Inputs: 0) ExifTool ref, 1) code ref to routine with ExifTool ref as an argument
|
5291
|
+
sub AddCleanup($)
|
5292
|
+
{
|
5293
|
+
my ($self, $sub) = @_;
|
5294
|
+
$$self{Cleanup} or $$self{Cleanup} = [ ];
|
5295
|
+
push @{$$self{Cleanup}}, $sub;
|
5296
|
+
}
|
5297
|
+
|
5276
5298
|
#------------------------------------------------------------------------------
|
5277
5299
|
# Add warning tag
|
5278
5300
|
# Inputs: 0) ExifTool object reference, 1) warning message
|
data/bin/lib/Image/ExifTool.pod
CHANGED
@@ -954,6 +954,14 @@ by the value of the Charset option at processing time. Default is undef.
|
|
954
954
|
Flag to enable automatic print conversion. Also enables inverse
|
955
955
|
print conversion for writing. Default is 1.
|
956
956
|
|
957
|
+
=item PrintCSV
|
958
|
+
|
959
|
+
Flag to directly print CSV-format output rather than extracting tags
|
960
|
+
normally. Currently this feature applies only to GM PDR data (see
|
961
|
+
L<Image::ExifTool::TagNames/GM Tags>). Setting this option automatically
|
962
|
+
sets L</IgnoreTags> to "all", and L</ExtractEmbedded> to 1. Default is
|
963
|
+
undef.
|
964
|
+
|
957
965
|
=item QuickTimeHandler
|
958
966
|
|
959
967
|
Flag set to add an 'mdir' Handler to a newly created Meta box when adding
|
@@ -1004,8 +1012,7 @@ the list. Default is undef.
|
|
1004
1012
|
|
1005
1013
|
Flag to save EXIF/TIFF format type as the family 6 group name when
|
1006
1014
|
extracting information. Without this option set, the family 6 group names
|
1007
|
-
are not generated. Default is undef. See
|
1008
|
-
details.
|
1015
|
+
are not generated. Default is undef. See L</GetGroup> for more details.
|
1009
1016
|
|
1010
1017
|
=item SavePath
|
1011
1018
|
|
@@ -2479,14 +2486,14 @@ Here is a complete list of groups for each of these families:
|
|
2479
2486
|
AAC, AFCP, AIFF, APE, APP0, APP1, APP11, APP12, APP13, APP14, APP15, APP2,
|
2480
2487
|
APP3, APP4, APP5, APP6, APP7, APP8, APP9, ASF, Audible, Canon, CanonVRD,
|
2481
2488
|
Composite, DICOM, DNG, DV, DjVu, Ducky, EXE, EXIF, ExifTool, FITS, FLAC,
|
2482
|
-
FLIR, File, Flash, FlashPix, Font, FotoStation, GIF, GIMP,
|
2483
|
-
H264, HTML, ICC_Profile, ID3, IPTC, ISO, ITC, JFIF, JPEG, JSON,
|
2484
|
-
Jpeg2000, LNK, Leaf, Lytro, M2TS, MIE, MIFF, MISB, MNG, MOI, MPC,
|
2485
|
-
MXF, MakerNotes, Matroska, Meta, Ogg, OpenEXR, Opus, PDF, PICT,
|
2486
|
-
PSP, Palm, PanasonicRaw, Parrot, PhotoCD, PhotoMechanic,
|
2487
|
-
PostScript, PrintIM, QuickTime, RAF, RIFF, RSRC, RTF, Radiance,
|
2488
|
-
Real, Red, SVG, SigmaRaw, Sony, Stim, Theora, Torrent, Trailer,
|
2489
|
-
Vorbis, WTV, XML, XMP, ZIP
|
2489
|
+
FLIR, File, Flash, FlashPix, Font, FotoStation, GIF, GIMP, GM, GeoTiff,
|
2490
|
+
GoPro, H264, HTML, ICC_Profile, ID3, IPTC, ISO, ITC, JFIF, JPEG, JSON,
|
2491
|
+
JUMBF, Jpeg2000, LNK, Leaf, Lytro, M2TS, MIE, MIFF, MISB, MNG, MOI, MPC,
|
2492
|
+
MPEG, MPF, MXF, MakerNotes, Matroska, Meta, Ogg, OpenEXR, Opus, PDF, PICT,
|
2493
|
+
PLIST, PNG, PSP, Palm, PanasonicRaw, Parrot, PhotoCD, PhotoMechanic,
|
2494
|
+
Photoshop, PostScript, PrintIM, QuickTime, RAF, RIFF, RSRC, RTF, Radiance,
|
2495
|
+
Rawzor, Real, Red, SVG, SigmaRaw, Sony, Stim, Theora, Torrent, Trailer,
|
2496
|
+
VCard, Vorbis, WTV, XML, XMP, ZIP
|
2490
2497
|
|
2491
2498
|
=item Family 1 (Specific Location):
|
2492
2499
|
|
@@ -2494,7 +2501,7 @@ AAC, AC3, AFCP, AIFF, APE, ASF, AVI1, Adobe, AdobeCM, AdobeDNG, Apple,
|
|
2494
2501
|
Audible, CBOR, CIFF, CameraIFD, Canon, CanonCustom, CanonDR4, CanonRaw,
|
2495
2502
|
CanonVRD, Casio, Chapter#, Composite, DICOM, DJI, DNG, DV, DjVu, DjVu-Meta,
|
2496
2503
|
Ducky, EPPIM, EXE, EXIF, ExifIFD, ExifTool, FITS, FLAC, FLIR, File, Flash,
|
2497
|
-
FlashPix, Font, FotoStation, FujiFilm, FujiIFD, GE, GIF, GIMP, GPS,
|
2504
|
+
FlashPix, Font, FotoStation, FujiFilm, FujiIFD, GE, GIF, GIMP, GM, GPS,
|
2498
2505
|
GSpherical, Garmin, GeoTiff, GlobParamIFD, GoPro, GraphConv, H264, HP, HTC,
|
2499
2506
|
HTML, HTML-dc, HTML-ncc, HTML-office, HTML-prod, HTML-vw96, HTTP-equiv,
|
2500
2507
|
ICC-chrm, ICC-clrt, ICC-header, ICC-meas, ICC-meta, ICC-view, ICC_Profile,
|
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.82.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: 2024-
|
12
|
+
date: 2024-04-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: exiftool
|
@@ -155,6 +155,7 @@ files:
|
|
155
155
|
- bin/lib/Image/ExifTool/GE.pm
|
156
156
|
- bin/lib/Image/ExifTool/GIF.pm
|
157
157
|
- bin/lib/Image/ExifTool/GIMP.pm
|
158
|
+
- bin/lib/Image/ExifTool/GM.pm
|
158
159
|
- bin/lib/Image/ExifTool/GPS.pm
|
159
160
|
- bin/lib/Image/ExifTool/GeoLang/cs.pm
|
160
161
|
- bin/lib/Image/ExifTool/GeoLang/de.pm
|