exiftool-vendored.pl 13.42.0 → 13.44.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/Changes +30 -1
- package/bin/MANIFEST +2 -0
- package/bin/META.json +1 -1
- package/bin/META.yml +1 -1
- package/bin/README +48 -48
- package/bin/exiftool +85 -80
- package/bin/lib/Image/ExifTool/Apple.pm +0 -1
- package/bin/lib/Image/ExifTool/BuildTagLookup.pm +2 -2
- package/bin/lib/Image/ExifTool/Canon.pm +23 -1
- package/bin/lib/Image/ExifTool/CanonCustom.pm +1 -1
- package/bin/lib/Image/ExifTool/DarwinCore.pm +2 -2
- package/bin/lib/Image/ExifTool/EXE.pm +1 -1
- package/bin/lib/Image/ExifTool/Exif.pm +1 -0
- package/bin/lib/Image/ExifTool/FLIR.pm +1 -1
- package/bin/lib/Image/ExifTool/FlashPix.pm +1 -1
- package/bin/lib/Image/ExifTool/FujiFilm.pm +2 -2
- package/bin/lib/Image/ExifTool/Geolocation.dat +0 -0
- package/bin/lib/Image/ExifTool/Geolocation.pm +1 -1
- package/bin/lib/Image/ExifTool/Geotag.pm +1 -1
- package/bin/lib/Image/ExifTool/Google.pm +2 -2
- package/bin/lib/Image/ExifTool/ICC_Profile.pm +0 -1
- package/bin/lib/Image/ExifTool/Import.pm +1 -1
- package/bin/lib/Image/ExifTool/Jpeg2000.pm +1 -1
- package/bin/lib/Image/ExifTool/Kandao.pm +399 -0
- package/bin/lib/Image/ExifTool/LNK.pm +1 -1
- package/bin/lib/Image/ExifTool/MRC.pm +4 -4
- package/bin/lib/Image/ExifTool/MWG.pm +1 -1
- package/bin/lib/Image/ExifTool/MacOS.pm +1 -2
- package/bin/lib/Image/ExifTool/Matroska.pm +56 -15
- package/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
- package/bin/lib/Image/ExifTool/Nikon.pm +5 -5
- package/bin/lib/Image/ExifTool/NikonCustom.pm +5 -6
- package/bin/lib/Image/ExifTool/OpenEXR.pm +1 -1
- package/bin/lib/Image/ExifTool/PPM.pm +1 -1
- package/bin/lib/Image/ExifTool/Panasonic.pm +30 -6
- package/bin/lib/Image/ExifTool/PhaseOne.pm +17 -1
- package/bin/lib/Image/ExifTool/Plot.pm +2 -2
- package/bin/lib/Image/ExifTool/Protobuf.pm +2 -2
- package/bin/lib/Image/ExifTool/QuickTime.pm +48 -8
- package/bin/lib/Image/ExifTool/QuickTimeStream.pl +2 -2
- package/bin/lib/Image/ExifTool/README +5 -5
- package/bin/lib/Image/ExifTool/RIFF.pm +5 -4
- package/bin/lib/Image/ExifTool/Reconyx.pm +2 -2
- package/bin/lib/Image/ExifTool/Samsung.pm +11 -1
- package/bin/lib/Image/ExifTool/Sony.pm +13 -3
- package/bin/lib/Image/ExifTool/TNEF.pm +2 -2
- package/bin/lib/Image/ExifTool/TagLookup.pm +7129 -7108
- package/bin/lib/Image/ExifTool/TagNames.pod +257 -110
- package/bin/lib/Image/ExifTool/Text.pm +1 -1
- package/bin/lib/Image/ExifTool/Trailer.pm +1 -1
- package/bin/lib/Image/ExifTool/WriteQuickTime.pl +10 -2
- package/bin/lib/Image/ExifTool/Writer.pl +3 -2
- package/bin/lib/Image/ExifTool/XMP.pm +4 -2
- package/bin/lib/Image/ExifTool/ZIP.pm +1 -1
- package/bin/lib/Image/ExifTool.pm +5 -2
- package/bin/lib/Image/ExifTool.pod +79 -79
- package/bin/perl-Image-ExifTool.spec +47 -47
- package/package.json +4 -4
|
@@ -348,7 +348,7 @@ numerical, and generated automatically otherwise.
|
|
|
348
348
|
but applied automatically to individual tags. Value specifies
|
|
349
349
|
pattern for split, or 1 for default pattern ',?\\s+'.
|
|
350
350
|
|
|
351
|
-
'Avoid' - avoid creating this tag when writing if possible.
|
|
351
|
+
'Avoid' - avoid creating this tag when writing if possible.
|
|
352
352
|
This is only effective if another tag exists with the same
|
|
353
353
|
name. Setting this flag also sets the default Priority to 0
|
|
354
354
|
for this tag.
|
|
@@ -632,7 +632,7 @@ numerical, and generated automatically otherwise.
|
|
|
632
632
|
value, and $tag is the tag key. The subroutine takes 2
|
|
633
633
|
arguments: the Raw value and a reference to the current
|
|
634
634
|
ExifTool object. The advanced formatting expression (if any)
|
|
635
|
-
may be accessed via the ExifTool "FMT_EXPR" member variable.
|
|
635
|
+
may be accessed via the ExifTool "FMT_EXPR" member variable.
|
|
636
636
|
The expression or subroutine is evaluated if and when the tag
|
|
637
637
|
value is requested (ie. only after all extraction is
|
|
638
638
|
complete), so if necessary at this time the values of all
|
|
@@ -650,7 +650,7 @@ numerical, and generated automatically otherwise.
|
|
|
650
650
|
enabled. If this isn't possible (as with Composite tags where
|
|
651
651
|
the converted values of the source tags are needed), set the
|
|
652
652
|
Priority to 0 to avoid taking priority over a valid tag. If
|
|
653
|
-
ValueConv is not specified, the Raw value is not converted.
|
|
653
|
+
ValueConv is not specified, the Raw value is not converted.
|
|
654
654
|
Composite tags which Require or Desire other tags may access
|
|
655
655
|
the ValueConv, PrintConv and Raw values of these tags through
|
|
656
656
|
the elements of the @val, @prt and @raw lists respectively
|
|
@@ -822,7 +822,7 @@ numerical, and generated automatically otherwise.
|
|
|
822
822
|
SubDirectory is writable as a block, or if the SubDirectory
|
|
823
823
|
can not be edited (in which case Writable is set to 0). If
|
|
824
824
|
non-zero, the SubDirectory is also extracted as a block, so
|
|
825
|
-
the Binary and Protected flags should usually set as well.
|
|
825
|
+
the Binary and Protected flags should usually set as well.
|
|
826
826
|
There is currently no way to specify a write format for a
|
|
827
827
|
SubDirectory that is not writable as a block (the default is
|
|
828
828
|
'int32u' for IFD-type SubDirectories, and 'undef' for all
|
|
@@ -970,7 +970,7 @@ numerical, and generated automatically otherwise.
|
|
|
970
970
|
data record), $dataPt (reference to the data block), and $pos
|
|
971
971
|
(position of this tag in the data block), and assign a new
|
|
972
972
|
value to $format to dynamically set the tag format, and/or
|
|
973
|
-
increment $varSize to add a byte offset to subsequent tags.
|
|
973
|
+
increment $varSize to add a byte offset to subsequent tags.
|
|
974
974
|
$varSize may be set to a large number to effectively abort
|
|
975
975
|
processing of the directory after this tag. Must have
|
|
976
976
|
corresponding DATAMEMBER entry in writable tables. Must not
|
|
@@ -30,7 +30,7 @@ use strict;
|
|
|
30
30
|
use vars qw($VERSION $AUTOLOAD);
|
|
31
31
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
32
32
|
|
|
33
|
-
$VERSION = '1.
|
|
33
|
+
$VERSION = '1.73';
|
|
34
34
|
|
|
35
35
|
sub ConvertTimecode($);
|
|
36
36
|
sub ProcessSGLT($$$);
|
|
@@ -391,7 +391,7 @@ my %code2charset = (
|
|
|
391
391
|
smpl => { #16
|
|
392
392
|
Name => 'Sampler',
|
|
393
393
|
SubDirectory => { TagTable => 'Image::ExifTool::RIFF::Sampler' },
|
|
394
|
-
},
|
|
394
|
+
},
|
|
395
395
|
inst => { #16
|
|
396
396
|
Name => 'Instrument',
|
|
397
397
|
SubDirectory => { TagTable => 'Image::ExifTool::RIFF::Instrument' },
|
|
@@ -546,11 +546,11 @@ my %code2charset = (
|
|
|
546
546
|
'id3 ' => {
|
|
547
547
|
Name => 'ID3',
|
|
548
548
|
SubDirectory => { TagTable => 'Image::ExifTool::ID3::Main' },
|
|
549
|
-
},
|
|
549
|
+
},
|
|
550
550
|
'ID3 ' => { # (NC)
|
|
551
551
|
Name => 'ID3-2',
|
|
552
552
|
SubDirectory => { TagTable => 'Image::ExifTool::ID3::Main' },
|
|
553
|
-
},
|
|
553
|
+
},
|
|
554
554
|
#
|
|
555
555
|
# WebP-specific tags
|
|
556
556
|
#
|
|
@@ -851,6 +851,7 @@ my %code2charset = (
|
|
|
851
851
|
Name => 'DateCreated',
|
|
852
852
|
Groups => { 2 => 'Time' },
|
|
853
853
|
ValueConv => '$_=$val; s/-/:/g; $_',
|
|
854
|
+
PrintConv => '$self->ConvertDateTime($val)',
|
|
854
855
|
},
|
|
855
856
|
ICRP => 'Cropped',
|
|
856
857
|
IDIM => 'Dimensions',
|
|
@@ -420,7 +420,7 @@ my %convUnicode = (
|
|
|
420
420
|
WRITABLE => 1,
|
|
421
421
|
FIRST_ENTRY => 0,
|
|
422
422
|
NOTES => 'Maker notes tags for Reconyx MicroFire cameras.',
|
|
423
|
-
0x10 => { Name => 'FileNumber', Format => 'int16u' },
|
|
423
|
+
0x10 => { Name => 'FileNumber', Format => 'int16u' },
|
|
424
424
|
0x12 => { Name => 'DirectoryNumber', Format => 'int16u' },
|
|
425
425
|
0x14 => {
|
|
426
426
|
Name => 'DirectoryCreateDate',
|
|
@@ -695,7 +695,7 @@ my %convUnicode = (
|
|
|
695
695
|
0x51 => { Name => 'UserLabel', Format => 'string[51]' },
|
|
696
696
|
0x84 => { Name => 'SerialNumber', Format => 'string[15]' },
|
|
697
697
|
0x93 => { Name => 'DirectoryNumber', Format => 'int16u' },
|
|
698
|
-
0x95 => { Name => 'FileNumber', Format => 'int16u' },
|
|
698
|
+
0x95 => { Name => 'FileNumber', Format => 'int16u' },
|
|
699
699
|
);
|
|
700
700
|
|
|
701
701
|
__END__
|
|
@@ -23,7 +23,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
|
|
|
23
23
|
use Image::ExifTool::Exif;
|
|
24
24
|
use Image::ExifTool::JSON;
|
|
25
25
|
|
|
26
|
-
$VERSION = '1.
|
|
26
|
+
$VERSION = '1.60';
|
|
27
27
|
|
|
28
28
|
sub WriteSTMN($$$);
|
|
29
29
|
sub ProcessINFO($$$);
|
|
@@ -1314,7 +1314,17 @@ my %formatMinMax = (
|
|
|
1314
1314
|
# 0x0da1-name - seen 'Captured_App_Info' #forum16086
|
|
1315
1315
|
# 0xa050-name - seen 'Jpeg360_2D_Info' (Samsung Gear 360)
|
|
1316
1316
|
# 0xa050 - seen 'Jpeg3602D' (Samsung Gear 360)
|
|
1317
|
+
# 0x0c61-name - seen 'Camera_Capture_Mode_Info'
|
|
1318
|
+
# 0x0c61 - seen '1'
|
|
1317
1319
|
# 0x0c81-name - seen 'Watermark_Info'
|
|
1320
|
+
# 0x0ce1-name - seen 'Gallery_DC_Data'
|
|
1321
|
+
# 0x0ce1 - seen '0,109,2,19010102,4000,3000,0,0,0,0;116.284004;1.0'
|
|
1322
|
+
# 0x0e41-name - seen 'Video_Edited_UTC_Offset'
|
|
1323
|
+
# 0x0e41 - seen '+0800'
|
|
1324
|
+
'0x0e41' => {
|
|
1325
|
+
Name => 'VideoEditedTimeZone',
|
|
1326
|
+
Groups => { 2 => 'Time' },
|
|
1327
|
+
},
|
|
1318
1328
|
);
|
|
1319
1329
|
|
|
1320
1330
|
# DualShot Extra Info (ref PH)
|
|
@@ -34,7 +34,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
|
|
|
34
34
|
use Image::ExifTool::Exif;
|
|
35
35
|
use Image::ExifTool::Minolta;
|
|
36
36
|
|
|
37
|
-
$VERSION = '3.
|
|
37
|
+
$VERSION = '3.82';
|
|
38
38
|
|
|
39
39
|
sub ProcessSRF($$$);
|
|
40
40
|
sub ProcessSR2($$$);
|
|
@@ -261,7 +261,7 @@ sub PrintInvLensSpec($;$$);
|
|
|
261
261
|
49475 => 'Tamron 50-300mm F4.5-6.3 Di III VC VXD', #JR (Model A069)
|
|
262
262
|
49476 => 'Tamron 28-300mm F4-7.1 Di III VC VXD', #JR (Model A074)
|
|
263
263
|
49477 => 'Tamron 90mm F2.8 Di III Macro VXD', #JR (Model F072)
|
|
264
|
-
49478 => 'Tamron 16-30mm F2.8 Di III VXD G2', #JR (Model A064)
|
|
264
|
+
49478 => 'Tamron 16-30mm F2.8 Di III VXD G2', #JR (Model A064)
|
|
265
265
|
|
|
266
266
|
49712 => 'Tokina FiRIN 20mm F2 FE AF', # (firmware Ver.01)
|
|
267
267
|
49713 => 'Tokina FiRIN 100mm F2.8 FE MACRO', # (firmware Ver.01)
|
|
@@ -1534,6 +1534,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
|
1534
1534
|
0 => 'Compressed RAW',
|
|
1535
1535
|
1 => 'Uncompressed RAW',
|
|
1536
1536
|
2 => 'Lossless Compressed RAW', #JR (NC) seen for ILCE-1
|
|
1537
|
+
3 => 'Compressed RAW (HQ)', # ILCE-7M5
|
|
1537
1538
|
65535 => 'n/a', # seen for ILCE-7SM3 JPEG-only
|
|
1538
1539
|
},
|
|
1539
1540
|
},
|
|
@@ -2095,6 +2096,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
|
2095
2096
|
'4 0 1 0' => 'ARW 4.0.1', #github195 (ZV-E1)
|
|
2096
2097
|
'5 0 0 0' => 'ARW 5.0', # (ILCE-9M3)
|
|
2097
2098
|
'5 0 1 0' => 'ARW 5.0.1', # (ILCE-1 with FirmWare 2.0)
|
|
2099
|
+
'6 0 0 0' => 'ARW 6.0.0', # (ILCE-7M5)
|
|
2098
2100
|
# what about cRAW images?
|
|
2099
2101
|
},
|
|
2100
2102
|
},
|
|
@@ -2215,6 +2217,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
|
2215
2217
|
403 => 'ILCE-6100A', #JR
|
|
2216
2218
|
404 => 'DSC-RX100M7A', #github347
|
|
2217
2219
|
406 => 'ILME-FX2', #JR
|
|
2220
|
+
407 => 'ILCE-7M5', #PH
|
|
2218
2221
|
408 => 'ZV-1A', #JR
|
|
2219
2222
|
},
|
|
2220
2223
|
},
|
|
@@ -7563,6 +7566,12 @@ my %isoSetting2010 = (
|
|
|
7563
7566
|
# appears to be difference between used FNumber and MaxAperture, 256 being +1 APEX or stop
|
|
7564
7567
|
# however, not always valid e.g. bracketing, Shutter-prio e.a.
|
|
7565
7568
|
# difference between 0x0002 and 0x0004 mostly 0.0, 0.1 or 0.2 stops.
|
|
7569
|
+
0x000a => { #github369
|
|
7570
|
+
Name => 'ShutterCount',
|
|
7571
|
+
Format => 'int32u',
|
|
7572
|
+
Condition => '$$self{Model} =~ /^ILCE-7M5$/',
|
|
7573
|
+
Notes => 'ILCE-7M5',
|
|
7574
|
+
},
|
|
7566
7575
|
0x0020 => {
|
|
7567
7576
|
Name => 'Shutter',
|
|
7568
7577
|
Format => 'int16u[3]',
|
|
@@ -7593,6 +7602,7 @@ my %isoSetting2010 = (
|
|
|
7593
7602
|
# NEX-5N/7. For the A99V it is definitely more than 16 bits, but it wraps at
|
|
7594
7603
|
# 65536 for the A7R.
|
|
7595
7604
|
Format => 'int32u',
|
|
7605
|
+
Condition => '$$self{Model} !~ /^ILCE-7M5$/',
|
|
7596
7606
|
Notes => q{
|
|
7597
7607
|
total number of image exposures made by the camera, modulo 65536 for some
|
|
7598
7608
|
models
|
|
@@ -9987,7 +9997,7 @@ my %isoSetting2010 = (
|
|
|
9987
9997
|
PrintConv => \%sonyExposureProgram3,
|
|
9988
9998
|
},
|
|
9989
9999
|
0x0037 => {
|
|
9990
|
-
Name => 'CreativeStyle',
|
|
10000
|
+
Name => 'CreativeStyle',
|
|
9991
10001
|
Notes => 'offsets after this are shifted by 1 for the ILME-FX2',
|
|
9992
10002
|
Hook => '$varSize += 1 if $$self{Model} =~ /^(ILME-FX2)/',
|
|
9993
10003
|
PrintConv => {
|
|
@@ -345,7 +345,7 @@ sub ProcessProps($$$)
|
|
|
345
345
|
}
|
|
346
346
|
}
|
|
347
347
|
if (not defined $val) {
|
|
348
|
-
$val = ReadValue($dataPt, $pos, $fmt, $count, $size);
|
|
348
|
+
$val = ReadValue($dataPt, $pos, $fmt, $count, $size);
|
|
349
349
|
if ($type == 0x06 or $type == 0x07 or $type == 0x0b or $type == 0x40) {
|
|
350
350
|
my @a = split ' ', $val;
|
|
351
351
|
if ($type == 0x06) { # currency
|
|
@@ -377,7 +377,7 @@ sub ProcessProps($$$)
|
|
|
377
377
|
my $copy = $val;
|
|
378
378
|
$val = \$copy; # change to a binary data reference
|
|
379
379
|
}
|
|
380
|
-
$et->HandleTag($tagTbl, $tag, $val,
|
|
380
|
+
$et->HandleTag($tagTbl, $tag, $val,
|
|
381
381
|
DataPt => $dataPt,
|
|
382
382
|
DataPos => $dataPos,
|
|
383
383
|
Start => $pos,
|