exiftool_vendored 13.14.0 → 13.16.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 +30 -3
- 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 +3 -2
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +2 -8
- data/bin/lib/Image/ExifTool/Canon.pm +5 -3
- data/bin/lib/Image/ExifTool/EXE.pm +16 -2
- data/bin/lib/Image/ExifTool/ID3.pm +4 -4
- data/bin/lib/Image/ExifTool/MIE.pm +6 -3
- data/bin/lib/Image/ExifTool/Nikon.pm +328 -6
- data/bin/lib/Image/ExifTool/NikonCustom.pm +1 -1
- data/bin/lib/Image/ExifTool/Panasonic.pm +7 -1
- data/bin/lib/Image/ExifTool/QuickTime.pm +69 -24
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +10 -10
- data/bin/lib/Image/ExifTool/README +4 -1
- data/bin/lib/Image/ExifTool/RIFF.pm +11 -1
- data/bin/lib/Image/ExifTool/TagLookup.pm +4813 -4811
- data/bin/lib/Image/ExifTool/TagNames.pod +149 -10
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +45 -23
- data/bin/lib/Image/ExifTool/WriteRIFF.pl +3 -1
- data/bin/lib/Image/ExifTool/Writer.pl +8 -7
- data/bin/lib/Image/ExifTool.pm +3 -3
- data/bin/lib/Image/ExifTool.pod +52 -51
- data/bin/perl-Image-ExifTool.spec +1 -1
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +2 -2
@@ -12,7 +12,7 @@ meta information extracted from or written to a file.
|
|
12
12
|
=head1 TAG TABLES
|
13
13
|
|
14
14
|
The tables listed below give the names of all tags recognized by ExifTool.
|
15
|
-
They contain a total of
|
15
|
+
They contain a total of 28393 tags, with 17525 unique tag names.
|
16
16
|
|
17
17
|
B<Tag ID>, B<Index#> or B<Sequence> is given in the first column of each
|
18
18
|
table. A B<Tag ID> is the computer-readable equivalent of a tag name, and
|
@@ -17237,6 +17237,8 @@ These tags are extracted from encrypted data in images from the Z9.
|
|
17237
17237
|
MenuSettingsOffsetZ9v4 Nikon MenuSettingsZ9v3
|
17238
17238
|
-
|
17239
17239
|
Nikon MenuSettingsZ9v4
|
17240
|
+
-
|
17241
|
+
Nikon MenuSettingsZ9v5
|
17240
17242
|
|
17241
17243
|
=head3 Nikon MenuSettingsZ9 Tags
|
17242
17244
|
|
@@ -17398,7 +17400,7 @@ These tags are used by the Z9 firmware 3.00.
|
|
17398
17400
|
|
17399
17401
|
=head3 Nikon MenuSettingsZ9v4 Tags
|
17400
17402
|
|
17401
|
-
These tags are used by the Z9 firmware 4.0.0 and 4.1.0
|
17403
|
+
These tags are used by the Z9 firmware 4.0.0 and 4.1.0.
|
17402
17404
|
|
17403
17405
|
Index1 Tag Name Writable
|
17404
17406
|
------ -------- --------
|
@@ -17538,6 +17540,148 @@ These tags are used by the Z9 firmware 4.0.0 and 4.1.0
|
|
17538
17540
|
2070 BracketButtonPlaybackMode int8u
|
17539
17541
|
2072 FlashModeButtonPlaybackMode int8u
|
17540
17542
|
|
17543
|
+
=head3 Nikon MenuSettingsZ9v5 Tags
|
17544
|
+
|
17545
|
+
These tags are used by the Z9 firmware 5.1.
|
17546
|
+
|
17547
|
+
Index1 Tag Name Writable
|
17548
|
+
------ -------- --------
|
17549
|
+
72 HighFrameRate int8u
|
17550
|
+
158 MultipleExposureMode int8u
|
17551
|
+
160 MultiExposureShots int8u
|
17552
|
+
208 Intervals int32u
|
17553
|
+
212 ShotsPerInterval int32u
|
17554
|
+
252 FocusShiftNumberShots int8u
|
17555
|
+
256 FocusShiftStepWidth int8u
|
17556
|
+
260 FocusShiftInterval int8u~
|
17557
|
+
264 FocusShiftExposureLock? int8u
|
17558
|
+
294 PhotoShootingMenuBank int8u
|
17559
|
+
296 ExtendedMenuBanks int8u
|
17560
|
+
332 PhotoShootingMenuBankImageArea int8u
|
17561
|
+
346 AutoISO int8u
|
17562
|
+
348 ISOAutoHiLimit? int16u
|
17563
|
+
350 ISOAutoFlashLimit? int16u
|
17564
|
+
358 ISOAutoShutterTime no
|
17565
|
+
440 MovieVignetteControl? int8u
|
17566
|
+
442 DiffractionCompensation int8u
|
17567
|
+
444 FlickerReductionShooting int8u
|
17568
|
+
448 FlashControlMode int8u
|
17569
|
+
450 FlashMasterCompensation? int8s
|
17570
|
+
454 FlashGNDistance? no
|
17571
|
+
458 FlashOutput? int8u
|
17572
|
+
552 AFAreaMode int8u
|
17573
|
+
554 VRMode int8u
|
17574
|
+
558 BracketSet int8u
|
17575
|
+
560 BracketProgram int8u
|
17576
|
+
562 BracketIncrement int8u
|
17577
|
+
574 HDR int8u
|
17578
|
+
580 SecondarySlotFunction int8u
|
17579
|
+
586 HDRLevel int8u
|
17580
|
+
590 Slot2JpgSize? int8u
|
17581
|
+
596 DXCropAlert int8u
|
17582
|
+
598 SubjectDetection int8u
|
17583
|
+
600 DynamicAFAreaSize int8u
|
17584
|
+
640 HighFrequencyFlickerReduction? int8u
|
17585
|
+
650 MovieImageArea? int8u & 0x01
|
17586
|
+
660 MovieType? int8u
|
17587
|
+
662 MovieISOAutoHiLimit? int16u
|
17588
|
+
664 MovieISOAutoControlManualMode? int8u
|
17589
|
+
666 MovieISOAutoManualMode? int16u
|
17590
|
+
740 MovieActiveD-Lighting? int8u
|
17591
|
+
742 MovieHighISONoiseReduction? int8u
|
17592
|
+
748 MovieFlickerReduction int8u
|
17593
|
+
750 MovieMeteringMode? int8u
|
17594
|
+
752 MovieFocusMode? int8u
|
17595
|
+
754 MovieAFAreaMode int8u
|
17596
|
+
756 MovieVRMode? int8u
|
17597
|
+
760 MovieElectronicVR? int8u
|
17598
|
+
762 MovieSoundRecording? int8u
|
17599
|
+
764 MicrophoneSensitivity? int8u
|
17600
|
+
766 MicrophoneAttenuator? int8u
|
17601
|
+
768 MicrophoneFrequencyResponse? int8u
|
17602
|
+
770 WindNoiseReduction? int8u
|
17603
|
+
792 MovieToneMap? int8u
|
17604
|
+
798 MovieFrameSize? int8u
|
17605
|
+
800 MovieFrameRate? int8u
|
17606
|
+
806 MicrophoneJackPower? int8u
|
17607
|
+
807 MovieDXCropAlert? int8u
|
17608
|
+
808 MovieSubjectDetection? int8u
|
17609
|
+
816 MovieHighResZoom? int8u
|
17610
|
+
851 CustomSettingsZ9v4 NikonCustom SettingsZ9v4
|
17611
|
+
1502 Language? int8u
|
17612
|
+
1504 TimeZone int8u
|
17613
|
+
1510 MonitorBrightness? int8u
|
17614
|
+
1532 AFFineTune? int8u
|
17615
|
+
1536 NonCPULens1FocalLength? int16s~
|
17616
|
+
1540 NonCPULens2FocalLength? int16s~
|
17617
|
+
1542 NonCPULens3FocalLength? int16s~
|
17618
|
+
1548 NonCPULens4FocalLength? int16s~
|
17619
|
+
1552 NonCPULens5FocalLength? int16s~
|
17620
|
+
1556 NonCPULens6FocalLength? int16s~
|
17621
|
+
1560 NonCPULens7FocalLength? int16s~
|
17622
|
+
1564 NonCPULens8FocalLength? int16s~
|
17623
|
+
1568 NonCPULens9FocalLength? int16s~
|
17624
|
+
1572 NonCPULens10FocalLength? int16s~
|
17625
|
+
1576 NonCPULens11FocalLength? int16s~
|
17626
|
+
1580 NonCPULens12FocalLength? int16s~
|
17627
|
+
1584 NonCPULens13FocalLength? int16s~
|
17628
|
+
1588 NonCPULens14FocalLength? int16s~
|
17629
|
+
1592 NonCPULens15FocalLength? int16s~
|
17630
|
+
1596 NonCPULens16FocalLength? int16s~
|
17631
|
+
1600 NonCPULens17FocalLength? int16s~
|
17632
|
+
1604 NonCPULens18FocalLength? int16s~
|
17633
|
+
1608 NonCPULens19FocalLength? int16s~
|
17634
|
+
1612 NonCPULens20FocalLength? int16s~
|
17635
|
+
1616 NonCPULens1MaxAperture? int16s~
|
17636
|
+
1620 NonCPULens2MaxAperture? int16s~
|
17637
|
+
1624 NonCPULens3MaxAperture? int16s~
|
17638
|
+
1628 NonCPULens4MaxAperture? int16s~
|
17639
|
+
1632 NonCPULens5MaxAperture? int16s~
|
17640
|
+
1636 NonCPULens6MaxAperture? int16s~
|
17641
|
+
1640 NonCPULens7MaxAperture? int16s~
|
17642
|
+
1644 NonCPULens8MaxAperture? int16s~
|
17643
|
+
1648 NonCPULens9MaxAperture? int16s~
|
17644
|
+
1652 NonCPULens10MaxAperture? int16s~
|
17645
|
+
1656 NonCPULens11MaxAperture? int16s~
|
17646
|
+
1660 NonCPULens12MaxAperture? int16s~
|
17647
|
+
1664 NonCPULens13MaxAperture? int16s~
|
17648
|
+
1668 NonCPULens14MaxAperture? int16s~
|
17649
|
+
1672 NonCPULens15MaxAperture? int16s~
|
17650
|
+
1676 NonCPULens16MaxAperture? int16s~
|
17651
|
+
1680 NonCPULens17MaxAperture? int16s~
|
17652
|
+
1684 NonCPULens18MaxAperture? int16s~
|
17653
|
+
1688 NonCPULens19MaxAperture? int16s~
|
17654
|
+
1692 NonCPULens20MaxAperture? int16s~
|
17655
|
+
1708 HDMIOutputResolution int8u
|
17656
|
+
1721 SetClockFromLocationData? int8u
|
17657
|
+
1728 AirplaneMode? int8u
|
17658
|
+
1729 EmptySlotRelease? int8u
|
17659
|
+
1764 EnergySavingMode? int8u
|
17660
|
+
1788 RecordLocationData? int8u
|
17661
|
+
1792 USBPowerDelivery? int8u
|
17662
|
+
1801 SensorShield? int8u
|
17663
|
+
1866 AutoCapturePreset int8u
|
17664
|
+
1868 FocusShiftAutoReset? int8u
|
17665
|
+
1926 PreReleaseBurstLength int8u
|
17666
|
+
1928 PostReleaseBurstLength int8u
|
17667
|
+
1942 VerticalISOButton int8u
|
17668
|
+
1944 ExposureCompensationButton int8u
|
17669
|
+
1946 ISOButton int8u
|
17670
|
+
2006 ViewModeShowEffectsOfSettings? int8u
|
17671
|
+
2008 DispButton int8u
|
17672
|
+
2052 ExposureDelay fixed32u~
|
17673
|
+
2056 CommandDialFrameAdvanceZoom? int8u
|
17674
|
+
2058 SubCommandDialFrameAdvanceZoom? int8u
|
17675
|
+
2060 PlaybackButton int8u
|
17676
|
+
2062 WBButton int8u
|
17677
|
+
2064 BracketButton int8u
|
17678
|
+
2066 FlashModeButton int8u
|
17679
|
+
2068 LensFunc1ButtonPlaybackMode int8u
|
17680
|
+
2070 LensFunc2ButtonPlaybackMode int8u
|
17681
|
+
2072 PlaybackButtonPlaybackMode int8u
|
17682
|
+
2074 BracketButtonPlaybackMode int8u
|
17683
|
+
2076 FlashModeButtonPlaybackMode int8u
|
17684
|
+
|
17541
17685
|
=head3 Nikon ShotInfo Tags
|
17542
17686
|
|
17543
17687
|
This information is encrypted for ShotInfoVersion 02xx, and some tags are
|
@@ -30011,12 +30155,6 @@ L<AudioKeys|Image::ExifTool::TagNames/QuickTime AudioKeys Tags> and
|
|
30011
30155
|
L<VideoKeys|Image::ExifTool::TagNames/QuickTime VideoKeys Tags> tags for
|
30012
30156
|
more information.
|
30013
30157
|
|
30014
|
-
Beware that the values of the Keys tags are actually stored inside an
|
30015
|
-
ItemList atom in the file, so deleting the ItemList group as a block (ie.
|
30016
|
-
C<-ItemList:all=>) also deletes Keys tags. Instead, to preserve Keys tags
|
30017
|
-
the ItemList tags may be deleted individually with
|
30018
|
-
C<-QuickTime:ItemList:all=>.
|
30019
|
-
|
30020
30158
|
Alternate language tags may be accessed for
|
30021
30159
|
L<ItemList|Image::ExifTool::TagNames/QuickTime ItemList Tags> and
|
30022
30160
|
L<Keys|Image::ExifTool::TagNames/QuickTime Keys Tags> tags by adding
|
@@ -30027,8 +30165,8 @@ L<UserData|Image::ExifTool::TagNames/QuickTime UserData Tags> tags support a
|
|
30027
30165
|
language code, but without a country code. If no language code is specified
|
30028
30166
|
when writing, the default language is written and alternate languages for
|
30029
30167
|
the tag are deleted. Use the "und" language code to write the default
|
30030
|
-
language without deleting alternate languages. Note that
|
30031
|
-
as
|
30168
|
+
language without deleting alternate languages. Note that when reading,
|
30169
|
+
"eng" is also treated as the default language if there is no country code.
|
30032
30170
|
|
30033
30171
|
According to the specification, integer-format QuickTime date/time tags
|
30034
30172
|
should be stored as UTC. Unfortunately, digital cameras often store local
|
@@ -32187,6 +32325,7 @@ This chunk is found in lossless WebP files.
|
|
32187
32325
|
------ -------- --------
|
32188
32326
|
1 ImageWidth no
|
32189
32327
|
2 ImageHeight no
|
32328
|
+
4 AlphaIsUsed no
|
32190
32329
|
|
32191
32330
|
=head3 RIFF VP8X Tags
|
32192
32331
|
|
@@ -378,6 +378,9 @@ sub WriteNextbase($$$)
|
|
378
378
|
# Write Meta Keys to add/delete entries as necessary ('mdta' handler) (ref PH)
|
379
379
|
# Inputs: 0) ExifTool object ref, 1) dirInfo ref, 2) tag table ref
|
380
380
|
# Returns: updated keys box data
|
381
|
+
# Note: Residual entries may be left in the 'keys' directory when deleting tags
|
382
|
+
# with language codes because the language code(s) are not known until the
|
383
|
+
# corresponding ItemList entry(s) are processed
|
381
384
|
sub WriteKeys($$$)
|
382
385
|
{
|
383
386
|
my ($et, $dirInfo, $tagTablePtr) = @_;
|
@@ -901,15 +904,10 @@ sub WriteQuickTime($$$)
|
|
901
904
|
my $createKeys = 0;
|
902
905
|
my ($rtnVal, $rtnErr) = $dataPt ? (undef, undef) : (1, 0);
|
903
906
|
|
904
|
-
# check for
|
907
|
+
# check for trailer at end of file
|
905
908
|
if ($raf) {
|
906
|
-
|
907
|
-
|
908
|
-
substr($buf2, 8) eq '8db42d694ccc418790edff439fe026bf')
|
909
|
-
{
|
910
|
-
$trailer = [ 'Insta360', $raf->Tell() - unpack('V',$buf2) ];
|
911
|
-
}
|
912
|
-
$raf->Seek($pos, 0) or return 0;
|
909
|
+
$trailer = IdentifyTrailers($raf);
|
910
|
+
$trailer and not ref $trailer and $et->Error($trailer), return 1;
|
913
911
|
}
|
914
912
|
if ($dataPt) {
|
915
913
|
$raf = File::RandomAccess->new($dataPt);
|
@@ -1598,16 +1596,26 @@ sub WriteQuickTime($$$)
|
|
1598
1596
|
if (($lastTag eq 'mdat' or $lastTag eq 'moov') and not $dataPt and (not $$tagTablePtr{$tag} or
|
1599
1597
|
ref $$tagTablePtr{$tag} eq 'HASH' and $$tagTablePtr{$tag}{Unknown}))
|
1600
1598
|
{
|
1601
|
-
# identify other known trailers
|
1599
|
+
# identify other known trailers from their first bytes
|
1602
1600
|
$buf2 = '';
|
1603
1601
|
$raf->Seek($lastPos,0) and $raf->Read($buf2,8);
|
1602
|
+
my ($type, $len);
|
1604
1603
|
if ($buf2 eq 'CCCCCCCC') {
|
1605
|
-
$
|
1604
|
+
$type = 'Kenwood';
|
1606
1605
|
} elsif ($buf2 =~ /^(gpsa|gps0|gsen|gsea)...\0/s) {
|
1607
|
-
$
|
1606
|
+
$type = 'RIFF';
|
1608
1607
|
} else {
|
1609
|
-
$
|
1608
|
+
$type = 'Unknown';
|
1610
1609
|
}
|
1610
|
+
# determine length of this trailer
|
1611
|
+
if ($trailer) {
|
1612
|
+
$len = $$trailer[1] - $lastPos; # runs to start of next trailer
|
1613
|
+
} else {
|
1614
|
+
$raf->Seek(0, 2) or $et->Error('Seek error'), return $dataPt ? undef : 1;
|
1615
|
+
$len = $raf->Tell() - $lastPos; # runs to end of file
|
1616
|
+
}
|
1617
|
+
# add to start of linked list of trailers
|
1618
|
+
$trailer = [ $type, $lastPos, $len, $trailer ];
|
1611
1619
|
} else {
|
1612
1620
|
$et->Error($errStr);
|
1613
1621
|
return $dataPt ? undef : 1;
|
@@ -2069,21 +2077,35 @@ sub WriteQuickTime($$$)
|
|
2069
2077
|
# write the stuff that must come last
|
2070
2078
|
Write($outfile, $writeLast) or $rtnVal = 0 if $writeLast;
|
2071
2079
|
|
2072
|
-
# copy
|
2073
|
-
|
2074
|
-
# are we deleting the
|
2080
|
+
# copy trailers if necessary
|
2081
|
+
while ($rtnVal and $trailer) {
|
2082
|
+
# are we deleting the trailers?
|
2075
2083
|
my $nvTrail = $et->GetNewValueHash($Image::ExifTool::Extra{Trailer});
|
2076
|
-
if ($$et{DEL_GROUP}{Trailer} or
|
2084
|
+
if ($$et{DEL_GROUP}{Trailer} or $$et{DEL_GROUP}{$$trailer[0]} or
|
2085
|
+
($nvTrail and not ($$nvTrail{Value} and $$nvTrail{Value}[0])))
|
2086
|
+
{
|
2077
2087
|
$et->Warn("Deleted $$trailer[0] trailer", 1);
|
2078
|
-
|
2079
|
-
$
|
2080
|
-
|
2081
|
-
|
2082
|
-
|
2088
|
+
++$$et{CHANGED};
|
2089
|
+
$trailer = $$trailer[3];
|
2090
|
+
next;
|
2091
|
+
}
|
2092
|
+
$raf->Seek($$trailer[1], 0) or $rtnVal = 0, last;
|
2093
|
+
if ($$trailer[0] eq 'MIE') {
|
2094
|
+
require Image::ExifTool::MIE;
|
2095
|
+
my %dirInfo = ( RAF => $raf, OutFile => $outfile );
|
2096
|
+
my $result = Image::ExifTool::MIE::ProcessMIE($et, \%dirInfo);
|
2097
|
+
$result > 0 or $et->Error('Error writing MIE trailer'), $rtnVal = 0, last;
|
2083
2098
|
} else {
|
2084
|
-
$
|
2099
|
+
$et->Warn(sprintf('Copying %s trailer from offset 0x%x (%d bytes)', @$trailer[0..2]), 1);
|
2100
|
+
my $len = $$trailer[2];
|
2101
|
+
while ($len) {
|
2102
|
+
my $n = $len > 65536 ? 65536 : $len;
|
2103
|
+
$raf->Read($buf2, $n) == $n and Write($outfile, $buf2) or $rtnVal = 0, last;
|
2104
|
+
$len -= $n;
|
2105
|
+
}
|
2106
|
+
$rtnVal or $et->Error("Error copying $$trailer[0] trailer"), last;
|
2085
2107
|
}
|
2086
|
-
$
|
2108
|
+
$trailer = $$trailer[3]; # step to next trailer in linked list
|
2087
2109
|
}
|
2088
2110
|
return $rtnVal;
|
2089
2111
|
}
|
@@ -324,8 +324,10 @@ sub WriteRIFF($$)
|
|
324
324
|
$raf->Read($buff, 6) == 6 or $et->Error('Truncated VP8L chunk'), return 1;
|
325
325
|
$outsize += 6;
|
326
326
|
if ($buff =~ /^\x2f/s) {
|
327
|
+
my $word = Get32u(\$buff, 2);
|
327
328
|
$imageWidth = (Get16u(\$buff, 1) & 0x3fff) + 1;
|
328
|
-
$imageHeight = ((
|
329
|
+
$imageHeight = (($word >> 6) & 0x3fff) + 1;
|
330
|
+
$has{ALPH} = 1 if $word & 0x100000; # set alpha flag if necessary
|
329
331
|
}
|
330
332
|
$len2 -= 6;
|
331
333
|
}
|
@@ -140,10 +140,10 @@ my @delGroups = qw(
|
|
140
140
|
Adobe AFCP APP0 APP1 APP2 APP3 APP4 APP5 APP6 APP7 APP8 APP9 APP10 APP11 APP12
|
141
141
|
APP13 APP14 APP15 AudioKeys CanonVRD CIFF Ducky EXIF ExifIFD File FlashPix
|
142
142
|
FotoStation GlobParamIFD GPS ICC_Profile IFD0 IFD1 Insta360 InteropIFD IPTC
|
143
|
-
ItemList JFIF Jpeg2000 JUMBF Keys MakerNotes Meta MetaIFD Microsoft
|
144
|
-
Nextbase NikonApp NikonCapture PDF PDF-update PhotoMechanic
|
145
|
-
PNG-pHYs PrintIM QuickTime RMETA RSRC SEAL SubIFD Trailer
|
146
|
-
Vivo XML XML-* XMP XMP-*
|
143
|
+
ItemList iTunes JFIF Jpeg2000 JUMBF Keys MakerNotes Meta MetaIFD Microsoft
|
144
|
+
MIE MPF Nextbase NikonApp NikonCapture PDF PDF-update PhotoMechanic
|
145
|
+
Photoshop PNG PNG-pHYs PrintIM QuickTime RMETA RSRC SEAL SubIFD Trailer
|
146
|
+
UserData VideoKeys Vivo XML XML-* XMP XMP-*
|
147
147
|
);
|
148
148
|
# family 2 group names that we can delete
|
149
149
|
my @delGroup2 = qw(
|
@@ -2856,7 +2856,7 @@ sub GetAllGroups($;$)
|
|
2856
2856
|
}
|
2857
2857
|
}
|
2858
2858
|
delete $allGroups{'*'}; # (not a real group)
|
2859
|
-
return sort keys %allGroups;
|
2859
|
+
return sort { lc $a cmp lc $b } keys %allGroups;
|
2860
2860
|
}
|
2861
2861
|
|
2862
2862
|
#------------------------------------------------------------------------------
|
@@ -2874,7 +2874,7 @@ sub GetNewGroups($)
|
|
2874
2874
|
# Returns: List of group names (sorted alphabetically)
|
2875
2875
|
sub GetDeleteGroups()
|
2876
2876
|
{
|
2877
|
-
return sort @delGroups, @delGroup2;
|
2877
|
+
return sort { lc $a cmp lc $b } @delGroups, @delGroup2;
|
2878
2878
|
}
|
2879
2879
|
|
2880
2880
|
#------------------------------------------------------------------------------
|
@@ -3340,7 +3340,8 @@ sub InsertTagValues($$;$$$$)
|
|
3340
3340
|
} elsif ($tag eq 'self') {
|
3341
3341
|
$val = $et; # ("$self{var}" or "$file1:self{var}" in string)
|
3342
3342
|
} else {
|
3343
|
-
# get the tag value
|
3343
|
+
# get the tag value (note: this direct access allows excluded tags
|
3344
|
+
# to be accessed if the case is correct and a group name is not used)
|
3344
3345
|
$val = $et->GetValue($tag, $type);
|
3345
3346
|
unless (defined $val) {
|
3346
3347
|
# check for tag name with different case
|
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 $advFmtSelf);
|
31
31
|
|
32
|
-
$VERSION = '13.
|
32
|
+
$VERSION = '13.16';
|
33
33
|
$RELEASE = '';
|
34
34
|
@ISA = qw(Exporter);
|
35
35
|
%EXPORT_TAGS = (
|
@@ -4166,7 +4166,7 @@ sub GetFileType(;$$)
|
|
4166
4166
|
$desc = $$fileType[1];
|
4167
4167
|
}
|
4168
4168
|
} else {
|
4169
|
-
$desc = $fileDescription{$file};
|
4169
|
+
$desc = $fileDescription{$file} || $file;
|
4170
4170
|
}
|
4171
4171
|
$desc .= ", $subType" if $subType;
|
4172
4172
|
return $desc;
|
@@ -4494,7 +4494,7 @@ sub DoneExtract($)
|
|
4494
4494
|
# set family 8 group name for all tags
|
4495
4495
|
$$altExifTool{TAG_EXTRA}{$_}{G8} = $g8 foreach keys %{$$altExifTool{VALUE}};
|
4496
4496
|
# prepare our sorted list of found tags
|
4497
|
-
$$altExifTool{FoundTags} =
|
4497
|
+
$$altExifTool{FoundTags} = $altExifTool->SetFoundTags();
|
4498
4498
|
$$altExifTool{DID_EXTRACT} = 1;
|
4499
4499
|
}
|
4500
4500
|
# if necessary, build composite tags that rely on tags from alternate files
|
data/bin/lib/Image/ExifTool.pod
CHANGED
@@ -2551,61 +2551,62 @@ Here is a complete list of groups for each of these families:
|
|
2551
2551
|
|
2552
2552
|
AAC, AFCP, AIFF, APE, APP0, APP1, APP11, APP12, APP13, APP14, APP15, APP2,
|
2553
2553
|
APP3, APP4, APP5, APP6, APP7, APP8, APP9, ASF, Audible, Canon, CanonVRD,
|
2554
|
-
Composite, DICOM,
|
2555
|
-
|
2556
|
-
GoPro, H264, HTML, ICC_Profile, ID3, IPTC, ISO, ITC, JFIF, JPEG,
|
2557
|
-
JUMBF,
|
2558
|
-
|
2559
|
-
|
2560
|
-
|
2561
|
-
|
2562
|
-
|
2554
|
+
Composite, DICOM, DjVu, DNG, Ducky, DV, EXE, EXIF, ExifTool, File, FITS,
|
2555
|
+
FLAC, Flash, FlashPix, FLIR, Font, FotoStation, GeoTiff, GIF, GIMP, GM,
|
2556
|
+
GoPro, H264, HTML, ICC_Profile, ID3, IPTC, ISO, ITC, JFIF, JPEG, Jpeg2000,
|
2557
|
+
JSON, JUMBF, Leaf, LNK, Lytro, M2TS, MakerNotes, Matroska, Meta, MIE, MIFF,
|
2558
|
+
MISB, MNG, MOI, MPC, MPEG, MPF, MXF, Ogg, OpenEXR, Opus, Palm, PanasonicRaw,
|
2559
|
+
Parrot, PDF, PhotoCD, PhotoMechanic, Photoshop, PICT, PLIST, PNG,
|
2560
|
+
PostScript, PrintIM, Protobuf, PSP, QuickTime, Radiance, RAF, Rawzor, Real,
|
2561
|
+
Red, RIFF, RSRC, RTF, SigmaRaw, Sony, Stim, SVG, Theora, Torrent, Trailer,
|
2562
|
+
VCard, Vorbis, WTV, XML, XMP, ZIP
|
2563
2563
|
|
2564
2564
|
=item Family 1 (Specific Location):
|
2565
2565
|
|
2566
|
-
AAC, AC3,
|
2567
|
-
|
2568
|
-
|
2569
|
-
|
2570
|
-
|
2571
|
-
FotoStation, FujiFilm, FujiIFD,
|
2572
|
-
|
2573
|
-
HTML-ncc, HTML-office, HTML-prod, HTML-vw96, HTTP-equiv, ICC-chrm,
|
2574
|
-
ICC-clrt, ICC-header, ICC-meas, ICC-meta, ICC-view, ICC_Profile,
|
2566
|
+
AAC, AC3, Adobe, AdobeCM, AdobeDNG, AFCP, AIFF, APE, APP10, APP2, Apple,
|
2567
|
+
ASF, Audible, AudioItemList, AudioKeys, AudioUserData, AVI1, CameraIFD,
|
2568
|
+
Canon, CanonCustom, CanonDR4, CanonRaw, CanonVRD, Casio, CBOR, Chapter#,
|
2569
|
+
CIFF, Composite, DICOM, DJI, DjVu, DjVu-Meta, DNG, Ducky, DV, EPPIM, EXE,
|
2570
|
+
EXIF, ExifIFD, ExifTool, File, FITS, FLAC, Flash, FlashPix, FLIR, Font,
|
2571
|
+
FotoStation, FujiFilm, FujiIFD, Garmin, GE, GeoTiff, GIF, GIMP,
|
2572
|
+
GlobParamIFD, GM, GoPro, GPS, GraphConv, GSpherical, H264, HP, HTC, HTML,
|
2573
|
+
HTML-dc, HTML-ncc, HTML-office, HTML-prod, HTML-vw96, HTTP-equiv, ICC-chrm,
|
2574
|
+
ICC-cicp, ICC-clrt, ICC-header, ICC-meas, ICC-meta, ICC-view, ICC_Profile,
|
2575
2575
|
ICC_Profile#, ID3, ID3v1, ID3v1_Enh, ID3v2_2, ID3v2_3, ID3v2_4, IFD0, IFD1,
|
2576
|
-
IPTC, IPTC#, ISO, ITC,
|
2577
|
-
JPEG, JPEG-HDR, JPS, JSON, JUMBF, JVC,
|
2578
|
-
KodakBordersIFD, KodakEffectsIFD, KodakIFD, KyoceraRaw,
|
2579
|
-
LeafSubIFD, Leica, Lyrics3, Lytro, M-RAW, M2TS, MAC,
|
2580
|
-
|
2581
|
-
MIE-
|
2582
|
-
MIE-
|
2583
|
-
|
2584
|
-
|
2585
|
-
|
2586
|
-
NikonSettings, NineEdits, Nintendo, Ocad, Ogg, Olympus, OpenEXR, Opus,
|
2587
|
-
|
2588
|
-
|
2589
|
-
PostScript, PreviewIFD, PrintIM, ProfileIFD, Qualcomm, QuickTime,
|
2590
|
-
|
2591
|
-
Real-
|
2592
|
-
|
2593
|
-
|
2594
|
-
Track#, Track#ItemList, Track#Keys, Track#UserData, UserData,
|
2595
|
-
|
2596
|
-
Vorbis, WTV, XML, XMP, XMP-
|
2597
|
-
XMP-
|
2598
|
-
XMP-
|
2599
|
-
XMP-
|
2600
|
-
XMP-
|
2601
|
-
XMP-
|
2602
|
-
XMP-
|
2603
|
-
XMP-
|
2604
|
-
XMP-
|
2605
|
-
XMP-panorama, XMP-pdf, XMP-pdfx, XMP-photomech, XMP-photoshop,
|
2606
|
-
XMP-
|
2607
|
-
XMP-
|
2608
|
-
XMP-
|
2576
|
+
InfiRay, Insta360, InteropIFD, IPTC, IPTC#, ISO, ITC, ItemList, iTunes,
|
2577
|
+
JFIF, JFXX, JPEG, JPEG-HDR, Jpeg2000, JPS, JSON, JUMBF, JVC, KDC_IFD, Keys,
|
2578
|
+
Kodak, KodakBordersIFD, KodakEffectsIFD, KodakIFD, KyoceraRaw, Leaf,
|
2579
|
+
LeafSubIFD, Leica, LNK, Lyrics3, Lytro, M-RAW, M2TS, MAC, MacOS, MakerNotes,
|
2580
|
+
MakerUnknown, Matroska, MediaJukebox, Meta, MetaIFD, Microsoft, MIE-Audio,
|
2581
|
+
MIE-Camera, MIE-Canon, MIE-Doc, MIE-Extender, MIE-Flash, MIE-Geo, MIE-GPS,
|
2582
|
+
MIE-Image, MIE-Lens, MIE-Main, MIE-MakerNotes, MIE-Meta, MIE-Orient,
|
2583
|
+
MIE-Preview, MIE-Thumbnail, MIE-Unknown, MIE-UTM, MIE-Video, MIFF, Minolta,
|
2584
|
+
MinoltaRaw, MISB, MNG, MOBI, MOI, Motorola, MPC, MPEG, MPF0, MPImage,
|
2585
|
+
MS-DOC, MXF, Nextbase, Nikon, NikonCapture, NikonCustom, NikonScan,
|
2586
|
+
NikonSettings, NineEdits, Nintendo, NITF, Ocad, Ogg, Olympus, OpenEXR, Opus,
|
2587
|
+
Palm, Panasonic, PanasonicRaw, Parrot, PDF, Pentax, PhaseOne, PhotoCD,
|
2588
|
+
PhotoMechanic, Photoshop, PICT, PictureInfo, PNG, PNG-cICP, PNG-pHYs,
|
2589
|
+
PostScript, PreviewIFD, PrintIM, ProfileIFD, PSP, Qualcomm, QuickTime,
|
2590
|
+
Radiance, RAF, RAF2, Rawzor, Real, Real-CONT, Real-MDPR, Real-PROP,
|
2591
|
+
Real-RA3, Real-RA4, Real-RA5, Real-RJMD, Reconyx, Red, Ricoh, RIFF, RMETA,
|
2592
|
+
RSRC, RTF, Samsung, Sanyo, Scalado, SEAL, Sigma, SigmaRaw, Sony, SonyIDC,
|
2593
|
+
SPIFF, SR2, SR2DataIFD, SR2SubIFD, SRF#, Stim, SubIFD, SVG, System, Theora,
|
2594
|
+
Torrent, Track#, Track#ItemList, Track#Keys, Track#UserData, UserData,
|
2595
|
+
VCalendar, VCard, Version0, VideoItemList, VideoKeys, VideoUserData, Vivo,
|
2596
|
+
VNote, Vorbis, WTV, XML, XMP, XMP-aas, XMP-acdsee, XMP-acdsee-rs, XMP-album,
|
2597
|
+
XMP-apdi, XMP-apple-fi, XMP-ast, XMP-aux, XMP-cc, XMP-cell, XMP-crd,
|
2598
|
+
XMP-creatorAtom, XMP-crs, XMP-dc, XMP-Device, XMP-dex, XMP-DICOM,
|
2599
|
+
XMP-digiKam, XMP-drone-dji, XMP-dwc, XMP-et, XMP-exif, XMP-exifEX,
|
2600
|
+
XMP-expressionmedia, XMP-extensis, XMP-fpv, XMP-GAudio, XMP-GCamera,
|
2601
|
+
XMP-GContainer, XMP-GCreations, XMP-GDepth, XMP-getty, XMP-GFocus,
|
2602
|
+
XMP-GImage, XMP-GPano, XMP-GSpherical, XMP-hdr, XMP-HDRGainMap, XMP-hdrgm,
|
2603
|
+
XMP-ics, XMP-iptcCore, XMP-iptcExt, XMP-LImage, XMP-lr, XMP-mediapro,
|
2604
|
+
XMP-microsoft, XMP-MP, XMP-MP1, XMP-mwg-coll, XMP-mwg-kw, XMP-mwg-rs,
|
2605
|
+
XMP-nine, XMP-panorama, XMP-pdf, XMP-pdfx, XMP-photomech, XMP-photoshop,
|
2606
|
+
XMP-PixelLive, XMP-plus, XMP-pmi, XMP-prism, XMP-prl, XMP-prm, XMP-pur,
|
2607
|
+
XMP-rdf, XMP-sdc, XMP-seal, XMP-swf, XMP-tiff, XMP-x, XMP-xmp, XMP-xmpBJ,
|
2608
|
+
XMP-xmpDM, XMP-xmpDSA, XMP-xmpMM, XMP-xmpNote, XMP-xmpPLUS, XMP-xmpRights,
|
2609
|
+
XMP-xmpTPg, ZIP
|
2609
2610
|
|
2610
2611
|
=item Family 2 (Category):
|
2611
2612
|
|
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: 13.
|
4
|
+
version: 13.16.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: 2025-01-
|
12
|
+
date: 2025-01-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: exiftool
|