exiftool-vendored.exe 12.76.0 → 12.80.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/exiftool_files/Changes +79 -4
- package/bin/exiftool_files/README +3 -3
- package/bin/exiftool_files/config_files/acdsee.config +37 -57
- package/bin/exiftool_files/config_files/example.config +16 -2
- package/bin/exiftool_files/exiftool.pl +87 -29
- package/bin/exiftool_files/lib/Image/ExifTool/Canon.pm +12 -9
- package/bin/exiftool_files/lib/Image/ExifTool/CanonVRD.pm +7 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Exif.pm +52 -4
- package/bin/exiftool_files/lib/Image/ExifTool/FujiFilm.pm +3 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GPS.pm +5 -3
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/cs.pm +978 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/de.pm +1975 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/en_ca.pm +44 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/en_gb.pm +124 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/es.pm +2921 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/fi.pm +1116 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/fr.pm +3171 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/it.pm +2750 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/ja.pm +10256 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/ko.pm +4499 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/nl.pm +1270 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/pl.pm +3019 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/ru.pm +18220 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/sk.pm +441 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/sv.pm +714 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/tr.pm +452 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/zh_cn.pm +2225 -0
- package/bin/exiftool_files/lib/Image/ExifTool/GeoLang/zh_tw.pm +72 -0
- package/bin/exiftool_files/lib/Image/ExifTool/Geolocation.dat +0 -0
- package/bin/exiftool_files/lib/Image/ExifTool/Geolocation.pm +775 -0
- package/bin/exiftool_files/lib/Image/ExifTool/Geotag.pm +8 -1
- package/bin/exiftool_files/lib/Image/ExifTool/HtmlDump.pm +2 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Import.pm +5 -2
- package/bin/exiftool_files/lib/Image/ExifTool/JSON.pm +15 -10
- package/bin/exiftool_files/lib/Image/ExifTool/MWG.pm +1 -0
- package/bin/exiftool_files/lib/Image/ExifTool/MacOS.pm +19 -4
- package/bin/exiftool_files/lib/Image/ExifTool/Nikon.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Ogg.pm +3 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Olympus.pm +3 -1
- package/bin/exiftool_files/lib/Image/ExifTool/OpenEXR.pm +17 -17
- package/bin/exiftool_files/lib/Image/ExifTool/PDF.pm +5 -5
- package/bin/exiftool_files/lib/Image/ExifTool/Pentax.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/QuickTime.pm +183 -11
- package/bin/exiftool_files/lib/Image/ExifTool/QuickTimeStream.pl +253 -237
- package/bin/exiftool_files/lib/Image/ExifTool/README +6 -5
- package/bin/exiftool_files/lib/Image/ExifTool/TagLookup.pm +2624 -2520
- package/bin/exiftool_files/lib/Image/ExifTool/TagNames.pod +184 -4
- package/bin/exiftool_files/lib/Image/ExifTool/WriteQuickTime.pl +15 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WriteXMP.pl +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Writer.pl +59 -8
- package/bin/exiftool_files/lib/Image/ExifTool/XMP.pm +17 -2
- package/bin/exiftool_files/lib/Image/ExifTool/XMP2.pl +64 -0
- package/bin/exiftool_files/lib/Image/ExifTool.pm +249 -47
- package/bin/exiftool_files/lib/Image/ExifTool.pod +57 -25
- package/package.json +3 -3
|
@@ -23,7 +23,7 @@ use vars qw($VERSION);
|
|
|
23
23
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
24
24
|
use Image::ExifTool::Canon;
|
|
25
25
|
|
|
26
|
-
$VERSION = '1.
|
|
26
|
+
$VERSION = '1.38';
|
|
27
27
|
|
|
28
28
|
sub ProcessCanonVRD($$;$);
|
|
29
29
|
sub WriteCanonVRD($$;$);
|
|
@@ -51,6 +51,7 @@ my %vrdFormat = (
|
|
|
51
51
|
8 => 'int32u',
|
|
52
52
|
9 => 'int32s',
|
|
53
53
|
13 => 'double',
|
|
54
|
+
24 => 'int32s', # (rectangle coordinates)
|
|
54
55
|
33 => 'int32u', # (array)
|
|
55
56
|
38 => 'double', # (array)
|
|
56
57
|
# 254 => 'undef', ?
|
|
@@ -1226,6 +1227,11 @@ my $blankFooter = "CANON OPTIONAL DATA\0" . ("\0" x 42) . "\xff\xd9";
|
|
|
1226
1227
|
# 0x20a08 - (unknown picture style settings)
|
|
1227
1228
|
# 0x20a09 - Custom picture style settings
|
|
1228
1229
|
# 0x20a20 - Fine Detail picture style settings
|
|
1230
|
+
0x20b10 => 'DPRAWMicroadjustBackFront', #forum15660
|
|
1231
|
+
0x20b12 => 'DPRAWMicroadjustStrength', #forum15660
|
|
1232
|
+
0x20b20 => 'DPRAWBokehShift', #forum15660
|
|
1233
|
+
0x20b21 => 'DPRAWBokehShiftArea', #PH
|
|
1234
|
+
0x20b30 => 'DPRAWGhostingReductionArea', #forum15660
|
|
1229
1235
|
0x30101 => {
|
|
1230
1236
|
Name => 'CropAspectRatio',
|
|
1231
1237
|
PrintConv => {
|
|
@@ -57,7 +57,7 @@ use vars qw($VERSION $AUTOLOAD @formatSize @formatName %formatNumber %intFormat
|
|
|
57
57
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
58
58
|
use Image::ExifTool::MakerNotes;
|
|
59
59
|
|
|
60
|
-
$VERSION = '4.
|
|
60
|
+
$VERSION = '4.51';
|
|
61
61
|
|
|
62
62
|
sub ProcessExif($$$);
|
|
63
63
|
sub WriteExif($$$);
|
|
@@ -593,6 +593,14 @@ my %opcodeInfo = (
|
|
|
593
593
|
OffsetPair => 0x117, # point to associated byte counts
|
|
594
594
|
DataTag => 'OtherImage',
|
|
595
595
|
},
|
|
596
|
+
{
|
|
597
|
+
Condition => '$$self{Compression} and $$self{Compression} eq "52546"', # DNG 1.7 Jpeg XL
|
|
598
|
+
Name => 'PreviewJXLStart',
|
|
599
|
+
IsOffset => 1,
|
|
600
|
+
IsImageData => 1,
|
|
601
|
+
OffsetPair => 0x117, # point to associated byte counts
|
|
602
|
+
DataTag => 'PreviewJXL',
|
|
603
|
+
},
|
|
596
604
|
{
|
|
597
605
|
# (APP1 IFD2 is for Leica JPEG preview)
|
|
598
606
|
Condition => q[
|
|
@@ -687,6 +695,12 @@ my %opcodeInfo = (
|
|
|
687
695
|
OffsetPair => 0x111, # point to associated offset
|
|
688
696
|
DataTag => 'OtherImage',
|
|
689
697
|
},
|
|
698
|
+
{
|
|
699
|
+
Condition => '$$self{Compression} and $$self{Compression} eq "52546"', # DNG 1.7 Jpeg XL
|
|
700
|
+
Name => 'PreviewJXLLength',
|
|
701
|
+
OffsetPair => 0x111, # point to associated offset
|
|
702
|
+
DataTag => 'PreviewJXL',
|
|
703
|
+
},
|
|
690
704
|
{
|
|
691
705
|
# (APP1 IFD2 is for Leica JPEG preview)
|
|
692
706
|
Condition => q[
|
|
@@ -2421,7 +2435,7 @@ my %opcodeInfo = (
|
|
|
2421
2435
|
Count => -1, # 2, 3 or 4 values
|
|
2422
2436
|
},
|
|
2423
2437
|
0x9215 => 'ExposureIndex', #12
|
|
2424
|
-
0x9216 => 'TIFF-EPStandardID', #12
|
|
2438
|
+
0x9216 => { Name => 'TIFF-EPStandardID', PrintConv => '$val =~ tr/ /./; $val' }, #12
|
|
2425
2439
|
0x9217 => { #12
|
|
2426
2440
|
Name => 'SensingMethod',
|
|
2427
2441
|
Groups => { 2 => 'Camera' },
|
|
@@ -2711,7 +2725,7 @@ my %opcodeInfo = (
|
|
|
2711
2725
|
Count => 2,
|
|
2712
2726
|
},
|
|
2713
2727
|
0xa215 => { Name => 'ExposureIndex', Writable => 'rational64u' },
|
|
2714
|
-
0xa216 => 'TIFF-EPStandardID',
|
|
2728
|
+
0xa216 => { Name => 'TIFF-EPStandardID', PrintConv => '$val =~ tr/ /./; $val' },
|
|
2715
2729
|
0xa217 => {
|
|
2716
2730
|
Name => 'SensingMethod',
|
|
2717
2731
|
Groups => { 2 => 'Camera' },
|
|
@@ -4971,6 +4985,39 @@ my %subSecConv = (
|
|
|
4971
4985
|
Image::ExifTool::Exif::ExtractImage($self,$val[0],$val[1],"OtherImage");
|
|
4972
4986
|
},
|
|
4973
4987
|
},
|
|
4988
|
+
PreviewJXL => {
|
|
4989
|
+
Groups => { 0 => 'EXIF', 1 => 'SubIFD', 2 => 'Preview' },
|
|
4990
|
+
Require => {
|
|
4991
|
+
0 => 'PreviewJXLStart',
|
|
4992
|
+
1 => 'PreviewJXLLength',
|
|
4993
|
+
},
|
|
4994
|
+
Desire => {
|
|
4995
|
+
2 => 'PreviewJXLStart (1)',
|
|
4996
|
+
3 => 'PreviewJXLLength (1)',
|
|
4997
|
+
},
|
|
4998
|
+
# retrieve all other JXL images
|
|
4999
|
+
RawConv => q{
|
|
5000
|
+
if ($val[2] and $val[3]) {
|
|
5001
|
+
my $i = 1;
|
|
5002
|
+
for (;;) {
|
|
5003
|
+
my %val = ( 0 => $$val{2}, 1 => $$val{3} );
|
|
5004
|
+
$self->FoundTag($tagInfo, \%val);
|
|
5005
|
+
++$i;
|
|
5006
|
+
$$val{2} = "$$val{0} ($i)";
|
|
5007
|
+
last unless defined $$self{VALUE}{$$val{2}};
|
|
5008
|
+
$$val{3} = "$$val{1} ($i)";
|
|
5009
|
+
last unless defined $$self{VALUE}{$$val{3}};
|
|
5010
|
+
}
|
|
5011
|
+
}
|
|
5012
|
+
@grps = $self->GetGroup($$val{0});
|
|
5013
|
+
my $image = $self->ExtractBinary($val[0], $val[1], 'PreviewJXL');
|
|
5014
|
+
unless ($image =~ /^(Binary data|\xff\x0a|\0\0\0\x0cJXL \x0d\x0a......ftypjxl )/s) {
|
|
5015
|
+
$self->Warn("$tag is not a valid JXL image",1);
|
|
5016
|
+
return undef;
|
|
5017
|
+
}
|
|
5018
|
+
return \$image;
|
|
5019
|
+
},
|
|
5020
|
+
},
|
|
4974
5021
|
PreviewImageSize => {
|
|
4975
5022
|
Require => {
|
|
4976
5023
|
0 => 'PreviewImageWidth',
|
|
@@ -5096,7 +5143,8 @@ my %subSecConv = (
|
|
|
5096
5143
|
GPSLongitudeRef => '(defined $val and $val =~ / (-?)/) ? ($1 ? "W" : "E") : undef',
|
|
5097
5144
|
},
|
|
5098
5145
|
PrintConvInv => q{
|
|
5099
|
-
return undef unless $val =~ /(.*? ?[NS]?), ?(.*? ?[EW]?)
|
|
5146
|
+
return undef unless $val =~ /(.*? ?[NS]?), ?(.*? ?[EW]?)$/ or
|
|
5147
|
+
$val =~ /^\s*(-?\d+(?:\.\d+)?)\s*(-?\d+(?:\.\d+)?)\s*$/;
|
|
5100
5148
|
my ($lat, $lon) = ($1, $2);
|
|
5101
5149
|
require Image::ExifTool::GPS;
|
|
5102
5150
|
$lat = Image::ExifTool::GPS::ToDegrees($lat, 1, "lat");
|
|
@@ -528,6 +528,7 @@ my %faceCategories = (
|
|
|
528
528
|
1 => 'Full-frame on GFX', #IB
|
|
529
529
|
2 => 'Sports Finder Mode', # (mechanical shutter)
|
|
530
530
|
4 => 'Electronic Shutter 1.25x Crop', # (continuous high)
|
|
531
|
+
8 => 'Digital Tele-Conv', #forum15784
|
|
531
532
|
},
|
|
532
533
|
},
|
|
533
534
|
0x104e => { #forum10800 (X-Pro3)
|
|
@@ -549,6 +550,8 @@ my %faceCategories = (
|
|
|
549
550
|
3 => 'Electronic Front Curtain', #10
|
|
550
551
|
},
|
|
551
552
|
},
|
|
553
|
+
0x1051 => { Name => 'CropTopLeft', Writable => 'int32u' }, #forum15784
|
|
554
|
+
0x1052 => { Name => 'CropCenter', Writable => 'int32u' }, #forum15784
|
|
552
555
|
# 0x1100 - This may not work well for newer cameras (ref forum12682)
|
|
553
556
|
0x1100 => [{
|
|
554
557
|
Name => 'AutoBracketing',
|
|
@@ -12,7 +12,7 @@ use strict;
|
|
|
12
12
|
use vars qw($VERSION);
|
|
13
13
|
use Image::ExifTool::Exif;
|
|
14
14
|
|
|
15
|
-
$VERSION = '1.
|
|
15
|
+
$VERSION = '1.56';
|
|
16
16
|
|
|
17
17
|
my %coordConv = (
|
|
18
18
|
ValueConv => 'Image::ExifTool::GPS::ToDegrees($val)',
|
|
@@ -491,7 +491,7 @@ sub PrintTimeStamp($)
|
|
|
491
491
|
sub ToDMS($$;$$)
|
|
492
492
|
{
|
|
493
493
|
my ($et, $val, $doPrintConv, $ref) = @_;
|
|
494
|
-
my ($fmt, @fmt, $num, $sign, $rtnVal, $neg);
|
|
494
|
+
my ($fmt, @fmt, $num, $sign, $minus, $rtnVal, $neg);
|
|
495
495
|
|
|
496
496
|
unless (length $val) {
|
|
497
497
|
# don't convert an empty value
|
|
@@ -503,8 +503,10 @@ sub ToDMS($$;$$)
|
|
|
503
503
|
$val = -$val;
|
|
504
504
|
$ref = {N => 'S', E => 'W'}->{$ref};
|
|
505
505
|
$sign = '-';
|
|
506
|
+
$minus = '-';
|
|
506
507
|
} else {
|
|
507
508
|
$sign = '+';
|
|
509
|
+
$minus = '';
|
|
508
510
|
}
|
|
509
511
|
$ref = " $ref" unless $doPrintConv and $doPrintConv eq '2';
|
|
510
512
|
} else {
|
|
@@ -522,7 +524,7 @@ sub ToDMS($$;$$)
|
|
|
522
524
|
$fmt = q{%d deg %d' %.2f"} . $ref;
|
|
523
525
|
} elsif ($ref) {
|
|
524
526
|
# use signed value instead of reference direction if specified
|
|
525
|
-
$fmt =~ s/%\+/$sign%/g or $fmt .= $ref;
|
|
527
|
+
$fmt =~ s/%\+/$sign%/g or $fmt =~ s/%-/$minus%/g or $fmt .= $ref;
|
|
526
528
|
} else {
|
|
527
529
|
$fmt =~ s/%\+/%/g; # don't know sign, so don't print it
|
|
528
530
|
}
|