exiftool_vendored 12.80.0 → 12.81.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 +26 -0
- data/bin/MANIFEST +2 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +3 -2
- data/bin/exiftool +25 -9
- data/bin/lib/Image/ExifTool/CanonVRD.pm +2 -2
- data/bin/lib/Image/ExifTool/FujiFilm.pm +13 -7
- data/bin/lib/Image/ExifTool/Geolocation.pm +294 -134
- data/bin/lib/Image/ExifTool/Geotag.pm +9 -4
- data/bin/lib/Image/ExifTool/M2TS.pm +32 -4
- data/bin/lib/Image/ExifTool/MakerNotes.pm +2 -2
- data/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
- data/bin/lib/Image/ExifTool/Nikon.pm +329 -21
- data/bin/lib/Image/ExifTool/NikonCustom.pm +55 -1
- data/bin/lib/Image/ExifTool/Olympus.pm +1 -0
- data/bin/lib/Image/ExifTool/OpenEXR.pm +21 -3
- data/bin/lib/Image/ExifTool/PNG.pm +3 -3
- data/bin/lib/Image/ExifTool/QuickTime.pm +12 -1
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +1 -1
- data/bin/lib/Image/ExifTool/Sony.pm +1 -1
- data/bin/lib/Image/ExifTool/TagLookup.pm +4791 -4776
- data/bin/lib/Image/ExifTool/TagNames.pod +542 -383
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +28 -8
- data/bin/lib/Image/ExifTool/Writer.pl +8 -2
- data/bin/lib/Image/ExifTool/XMP.pm +1 -0
- data/bin/lib/Image/ExifTool.pm +51 -37
- data/bin/lib/Image/ExifTool.pod +6 -0
- data/bin/perl-Image-ExifTool.spec +1 -1
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +2 -2
@@ -15,7 +15,7 @@ package Image::ExifTool::NikonCustom;
|
|
15
15
|
use strict;
|
16
16
|
use vars qw($VERSION @ISA @EXPORT_OK %buttonsZ9);
|
17
17
|
|
18
|
-
$VERSION = '1.
|
18
|
+
$VERSION = '1.25';
|
19
19
|
|
20
20
|
@ISA = qw(Exporter);
|
21
21
|
@EXPORT_OK = qw(%buttonsZ9);
|
@@ -77,6 +77,7 @@ $VERSION = '1.24';
|
|
77
77
|
66 => 'Voice Memo',
|
78
78
|
70 => 'Photo Shooting Bank',
|
79
79
|
71 => 'ISO',
|
80
|
+
72 => 'Shooting Mode',
|
80
81
|
73 => 'Exposure Compensation',
|
81
82
|
76 => 'Silent Mode',
|
82
83
|
78 => 'LiveView Information',
|
@@ -90,6 +91,9 @@ $VERSION = '1.24';
|
|
90
91
|
86 => 'Save Focus Position',
|
91
92
|
87 => 'Recall Focus Position',
|
92
93
|
88 => 'Recall Shooting Functions (Hold)',
|
94
|
+
89 => 'Set Picture Control (HLG)',
|
95
|
+
90 => 'Skin Softening',
|
96
|
+
91 => 'Portrait Impression Balance',
|
93
97
|
97 => 'High Frequency Flicker Reduction',
|
94
98
|
98 => 'Switch FX/DX',
|
95
99
|
99 => 'View Mode (Photo LV)',
|
@@ -104,7 +108,25 @@ $VERSION = '1.24';
|
|
104
108
|
110 => 'DISP - Cycle Information Display (playback)', # Playback mode
|
105
109
|
111 => 'Resume Shooting',
|
106
110
|
112 => 'Switch Eyes',
|
111
|
+
113 => 'Power Zoom +',
|
112
|
+
114 => 'Power Zoom -',
|
107
113
|
115 => 'Delete',
|
114
|
+
116 => 'Pixel Shift Shooting',
|
115
|
+
117 => 'Cycle AF-area Mode',
|
116
|
+
118 => 'Raw Processing (Current)', #118-131 are Retouch options
|
117
|
+
119 => 'Raw Processing (Multiple)',
|
118
|
+
120 => 'Trim',
|
119
|
+
121 => 'Resize (Current)',
|
120
|
+
122 => 'Resize (Multiple)',
|
121
|
+
123 => 'D-Lighting',
|
122
|
+
124 => 'Straighten',
|
123
|
+
125 => 'Distortion Control',
|
124
|
+
126 => 'Perspective Control',
|
125
|
+
127 => 'Monochrome',
|
126
|
+
128 => 'Overlay (Add)',
|
127
|
+
129 => 'Lighten',
|
128
|
+
130 => 'Darken',
|
129
|
+
131 => 'Motion Blend',
|
108
130
|
},
|
109
131
|
);
|
110
132
|
my %dialsZ9 = (
|
@@ -118,6 +140,18 @@ my %dialsZ9 = (
|
|
118
140
|
7 => 'Rating',
|
119
141
|
8 => 'Page',
|
120
142
|
9 => 'Skip To First Shot In Series',
|
143
|
+
10 => 'Uploaded to FTP',
|
144
|
+
11 => 'Uploaded to Computer',
|
145
|
+
);
|
146
|
+
my %dialsVideoZ9 = (
|
147
|
+
0 => '2 s',
|
148
|
+
1 => '5 s',
|
149
|
+
2 => '10 s',
|
150
|
+
3 => '1 Frame',
|
151
|
+
4 => '5 Frames',
|
152
|
+
5 => '10 Frames',
|
153
|
+
6 => 'First/Last Frame',
|
154
|
+
7 => 'Playback Speed',
|
121
155
|
);
|
122
156
|
my %evfGridsZ9 = (
|
123
157
|
0 => '3x3',
|
@@ -9974,6 +10008,9 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
|
|
9974
10008
|
421 => { Name => 'Func1ButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-a
|
9975
10009
|
423 => { Name => 'Func2ButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-b
|
9976
10010
|
437 => { Name => 'MovieRecordButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-m
|
10011
|
+
453 => { Name => 'WBButtonPlaybackMode', %buttonsZ9}, #CSf2
|
10012
|
+
461 => { Name => 'CommandDialVideoPlaybackMode', PrintConv => \%dialsVideoZ9, Unknown => 1}, # CSf3-b
|
10013
|
+
465 => { Name => 'SubCommandDialVideoPlaybackMode', PrintConv => \%dialsVideoZ9, Unknown => 1}, # CSf3-b
|
9977
10014
|
467 => { Name => 'FocusPointLock', PrintConv => \%offOn, Unknown => 1}, # CSf4-c
|
9978
10015
|
459 => { Name => 'CommandDialPlaybackMode', PrintConv => \%dialsZ9, Unknown => 1}, # CSf3-k
|
9979
10016
|
463 => { Name => 'SubCommandDialPlaybackMode', PrintConv => \%dialsZ9, Unknown => 1}, # CSf3-l
|
@@ -10055,6 +10092,11 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
|
|
10055
10092
|
},
|
10056
10093
|
681 => { Name => 'ViewModeShowEffectsOfSettings', PrintConv => { 0=>'Always', 1=> 'Only When Flash Not Used'}, Unknown => 1 }, #CS8-a
|
10057
10094
|
683 => { Name => 'DispButton', %buttonsZ9}, #CSf2
|
10095
|
+
753 => { #CSd5
|
10096
|
+
Name => 'ExposureDelay',
|
10097
|
+
Format => 'int16u',
|
10098
|
+
PrintConv => '$val ? sprintf("%.1f sec",$val/1000) : "Off"',
|
10099
|
+
},
|
10058
10100
|
);
|
10059
10101
|
|
10060
10102
|
# Z9 custom settings (ref 1) #base at offset26 + 1035 (firmware 1.0.0)
|
@@ -10806,7 +10848,19 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
|
|
10806
10848
|
471 => { Name => 'QualityButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-h
|
10807
10849
|
477 => { Name => 'WhiteBalanceButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-i
|
10808
10850
|
483 => { Name => 'CommandDialPlaybackMode', PrintConv => \%dialsZ9, Unknown => 1}, # CSf3-k
|
10851
|
+
485 => { # CSf3-m2
|
10852
|
+
Name => 'CommandDialVideoPlaybackMode',
|
10853
|
+
Condition => '$$self{FirmwareVersion} and $$self{FirmwareVersion} ge "05.00"',
|
10854
|
+
PrintConv => \%dialsVideoZ9,
|
10855
|
+
Unknown => 1
|
10856
|
+
},
|
10809
10857
|
487 => { Name => 'SubCommandDialPlaybackMode', PrintConv => \%dialsZ9, Unknown => 1}, # CSf3-l
|
10858
|
+
489 => { # CSf3-n2
|
10859
|
+
Name => 'SubCommandDialVideoPlaybackMode',
|
10860
|
+
Condition => '$$self{FirmwareVersion} and $$self{FirmwareVersion} ge "05.00"',
|
10861
|
+
PrintConv => \%dialsVideoZ9,
|
10862
|
+
Unknown => 1
|
10863
|
+
},
|
10810
10864
|
491 => { Name => 'FocusPointLock', PrintConv => \%offOn, Unknown => 1}, # CSf4-c
|
10811
10865
|
493 => { Name => 'ControlRingResponse', PrintConv => { 0 => 'High', 1 => 'Low' } }, # CSf10
|
10812
10866
|
505 => { Name => 'VerticalMovieFuncButton', %buttonsZ9, Unknown => 1}, # CSg2-d
|
@@ -197,6 +197,7 @@ my %olympusLensTypes = (
|
|
197
197
|
# '65535 07 40' - Seen for LUMIX S 16-35/F4 on Panasonic DC-S1H (ref PH)
|
198
198
|
# Other makes
|
199
199
|
'24 01 10' => 'Venus Optics Laowa 50mm F2.8 2x Macro', #DonKomarechka
|
200
|
+
'f7 03 10' => 'LAOWA C&D-Dreamer MFT 7.5mm F2.0', #forum3833
|
200
201
|
);
|
201
202
|
|
202
203
|
# lookup for Olympus camera types (ref PH)
|
@@ -16,7 +16,7 @@ use vars qw($VERSION);
|
|
16
16
|
use Image::ExifTool qw(:DataAccess :Utils);
|
17
17
|
use Image::ExifTool::GPS;
|
18
18
|
|
19
|
-
$VERSION = '1.
|
19
|
+
$VERSION = '1.06';
|
20
20
|
|
21
21
|
# supported EXR value format types (other types are extracted as undef binary data)
|
22
22
|
my %formatType = (
|
@@ -154,6 +154,19 @@ my %formatType = (
|
|
154
154
|
type => { },
|
155
155
|
version => { },
|
156
156
|
chunkCount => { },
|
157
|
+
# exif and xmp written by PanoramaStudio4.0.2Pro
|
158
|
+
exif => {
|
159
|
+
Name => 'EXIF',
|
160
|
+
SubDirectory => {
|
161
|
+
TagTable => 'Image::ExifTool::Exif::Main',
|
162
|
+
ProcessProc => \&Image::ExifTool::ProcessTIFF,
|
163
|
+
Start => 4, # (skip leading 4 bytes with data length)
|
164
|
+
},
|
165
|
+
},
|
166
|
+
xmp => {
|
167
|
+
Name => 'XMP',
|
168
|
+
SubDirectory => { TagTable => 'Image::ExifTool::XMP::Main' },
|
169
|
+
},
|
157
170
|
# also observed:
|
158
171
|
# ilut
|
159
172
|
);
|
@@ -221,9 +234,14 @@ sub ProcessEXR($$)
|
|
221
234
|
}
|
222
235
|
my ($val, $success, $buf2);
|
223
236
|
my $format = $formatType{$type};
|
224
|
-
|
237
|
+
my $subdir = $$tagInfo{SubDirectory};
|
238
|
+
if ($format or $binary or $subdir) {
|
225
239
|
$raf->Read($buf2, $size) == $size and $success = 1;
|
226
|
-
if (
|
240
|
+
if ($subdir) {
|
241
|
+
$et->HandleTag($tagTablePtr, $tag, undef,
|
242
|
+
DataPt => \$buf2, DataPos => $raf->Tell() - length($buf2));
|
243
|
+
next if $success;
|
244
|
+
} elsif (not $format) {
|
227
245
|
$val = \$buf2; # treat as undef binary data
|
228
246
|
} elsif ($format ne '1') {
|
229
247
|
# handle formats which map nicely into ExifTool format codes
|
@@ -36,7 +36,7 @@ use strict;
|
|
36
36
|
use vars qw($VERSION $AUTOLOAD %stdCase);
|
37
37
|
use Image::ExifTool qw(:DataAccess :Utils);
|
38
38
|
|
39
|
-
$VERSION = '1.
|
39
|
+
$VERSION = '1.67';
|
40
40
|
|
41
41
|
sub ProcessPNG_tEXt($$$);
|
42
42
|
sub ProcessPNG_iTXt($$$);
|
@@ -642,8 +642,8 @@ my %unreg = ( Notes => 'unregistered' );
|
|
642
642
|
Label => { %unreg },
|
643
643
|
Make => { %unreg, Groups => { 2 => 'Camera' } },
|
644
644
|
Model => { %unreg, Groups => { 2 => 'Camera' } },
|
645
|
-
#
|
646
|
-
#
|
645
|
+
parameters => { %unreg }, # (written by Stable Diffusion)
|
646
|
+
aesthetic_score => { Name => 'AestheticScore', %unreg }, # (written by Stable Diffusion)
|
647
647
|
'create-date'=> {
|
648
648
|
Name => 'CreateDate',
|
649
649
|
Groups => { 2 => 'Time' },
|
@@ -6728,7 +6728,7 @@ my %isImageData = ( av01 => 1, avc1 => 1, hvc1 => 1, lhv1 => 1, hvt1 => 1 );
|
|
6728
6728
|
%Image::ExifTool::QuickTime::iTunesInfo = (
|
6729
6729
|
PROCESS_PROC => \&ProcessMOV,
|
6730
6730
|
GROUPS => { 1 => 'iTunes', 2 => 'Audio' },
|
6731
|
-
VARS => { LONG_TAGS =>
|
6731
|
+
VARS => { LONG_TAGS => 1 }, # (hack for discrepancy in the way long tags are counted in BuildTagLookup)
|
6732
6732
|
NOTES => q{
|
6733
6733
|
ExifTool will extract any iTunesInfo tags that exist, even if they are not
|
6734
6734
|
defined in this table. These tags belong to the family 1 "iTunes" group,
|
@@ -6804,6 +6804,17 @@ my %isImageData = ( av01 => 1, avc1 => 1, hvc1 => 1, lhv1 => 1, hvt1 => 1 );
|
|
6804
6804
|
BARCODE => 'Barcode',
|
6805
6805
|
LABEL => 'Label',
|
6806
6806
|
MOOD => 'Mood',
|
6807
|
+
DIRECTOR => 'Director',
|
6808
|
+
DIRECTOR_OF_PHOTOGRAPHY => 'DirectorOfPhotography',
|
6809
|
+
PRODUCTION_DESIGNER => 'ProductionDesigner',
|
6810
|
+
COSTUME_DESIGNER => 'CostumeDesigner',
|
6811
|
+
SCREENPLAY_BY => 'ScreenplayBy',
|
6812
|
+
EDITED_BY => 'EditedBy',
|
6813
|
+
PRODUCER => 'Producer',
|
6814
|
+
IMDB_ID => { },
|
6815
|
+
TMDB_ID => { },
|
6816
|
+
Actors => { },
|
6817
|
+
TIPL => { },
|
6807
6818
|
popularimeter => 'Popularimeter',
|
6808
6819
|
'Dynamic Range (DR)'=> 'DynamicRange',
|
6809
6820
|
initialkey => 'InitialKey',
|
@@ -109,7 +109,7 @@ my %insvLimit = (
|
|
109
109
|
The tags below are extracted from timed metadata in QuickTime and other
|
110
110
|
formats of video files when the ExtractEmbedded option is used. Although
|
111
111
|
most of these tags are combined into the single table below, ExifTool
|
112
|
-
currently reads
|
112
|
+
currently reads 72 different formats of timed GPS metadata from video files.
|
113
113
|
},
|
114
114
|
VARS => { NO_ID => 1 },
|
115
115
|
GPSLatitude => { PrintConv => 'Image::ExifTool::GPS::ToDMS($self, $val, 1, "N")', RawConv => '$$self{FoundGPSLatitude} = 1; $val' },
|
@@ -10553,7 +10553,7 @@ my %isoSetting2010 = (
|
|
10553
10553
|
ValueConv => '2 ** (8-$val/8192)',
|
10554
10554
|
PrintConv => 'Image::ExifTool::Exif::PrintFNumber($val)',
|
10555
10555
|
},
|
10556
|
-
0x8001 => { Name => 'Sony_rtmd_0x8001', Format => 'int16u', %hidUnk },
|
10556
|
+
0x8001 => { Name => 'Sony_rtmd_0x8001', Format => 'int16u', %hidUnk }, # (perhaps related to focus distance? forum15856)
|
10557
10557
|
0x8004 => { Name => 'Sony_rtmd_0x8004', Format => 'int16u', %hidUnk }, # (FocalLength35efl?, forum14315)
|
10558
10558
|
0x8005 => { Name => 'Sony_rtmd_0x8005', Format => 'int16u', %hidUnk }, # (FocalLength?, forum14315)
|
10559
10559
|
0x800a => { Name => 'Sony_rtmd_0x800a', Format => 'int16u', %hidUnk }, # (FocusRingPosition?, forum14315)
|