exiftool_vendored 12.80.0 → 12.81.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.
- 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)
|