exiftool_vendored 12.67.0 → 12.68.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 +23 -2
- data/bin/MANIFEST +5 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +7 -7
- data/bin/exiftool +21 -16
- data/bin/lib/Image/ExifTool/Canon.pm +20 -1
- data/bin/lib/Image/ExifTool/FujiFilm.pm +17 -1
- data/bin/lib/Image/ExifTool/Geotag.pm +16 -11
- data/bin/lib/Image/ExifTool/Nikon.pm +25 -5
- data/bin/lib/Image/ExifTool/PNG.pm +14 -7
- data/bin/lib/Image/ExifTool/Panasonic.pm +8 -8
- data/bin/lib/Image/ExifTool/Pentax.pm +6 -1
- data/bin/lib/Image/ExifTool/PhotoMechanic.pm +2 -1
- data/bin/lib/Image/ExifTool/QuickTime.pm +61 -51
- data/bin/lib/Image/ExifTool/Sony.pm +66 -21
- data/bin/lib/Image/ExifTool/TagLookup.pm +6729 -6710
- data/bin/lib/Image/ExifTool/TagNames.pod +69 -5
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +2 -0
- data/bin/lib/Image/ExifTool/XISF.pm +185 -0
- data/bin/lib/Image/ExifTool.pm +16 -8
- data/bin/lib/Image/ExifTool.pod +5 -5
- data/bin/perl-Image-ExifTool.spec +6 -6
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8775a6c495517ead6255debf3b1c804d3e5648d563bea48171176632cfb5043b
|
4
|
+
data.tar.gz: 305d08e52e2ef9b75538fe0305093dad86581448d56a21d66503863b11321a6f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aa79d6fa82ae949030c90fc5e07c0271eb837336e9ee8675a1bb468b1f4f5b430b0ce78678a75e5025520a1118b7defd21a8f06242ad019d2001e10d1f270e54
|
7
|
+
data.tar.gz: ac7c7da4ef3ba52118a9bea9c0ccdc6a85f4d247e622e75c4e40567d582f0ca062eb68ad796a1a3745c5631c9800e243f45599a52cc8a2bfc99daf00af9cd928
|
data/bin/Changes
CHANGED
@@ -7,6 +7,27 @@ RSS feed: https://exiftool.org/rss.xml
|
|
7
7
|
Note: The most recent production release is Version 12.60. (Other versions are
|
8
8
|
considered development releases, and are not uploaded to MetaCPAN.)
|
9
9
|
|
10
|
+
Oct. 16, 2023 - Version 12.68
|
11
|
+
|
12
|
+
- Added preliminary read support for XISF images
|
13
|
+
- Added the ability to delete JUMBF metadata from PNG images
|
14
|
+
- Added support for writing Canon burst-roll CR3 images
|
15
|
+
- Added a new Nikon Z9 SubjectDetection value, and improved Zf support
|
16
|
+
- Added a couple of new PentaxModelID values
|
17
|
+
- Added a few couple of new tag values for the Pentax K-3 Mark III Monochrome (github #226)
|
18
|
+
- Added a support for a new XMP-photomech tag
|
19
|
+
- Added a new Nikon LensID
|
20
|
+
- Added a new Canon LensType
|
21
|
+
- Added a new QuickTime ItemList tag
|
22
|
+
- Support decimal values for FujiFilm ShadowTone and HighlightTone tags
|
23
|
+
- Decode some new Sony tags (thanks Jos Roost)
|
24
|
+
- Decode ShutterCount for Canon EOS R6 (thanks gamin)
|
25
|
+
- Decode QuickTime VideoFullRangeFlag
|
26
|
+
- Decode JPGCompression for the Nikon D3S
|
27
|
+
- Enhanced -geotag feature to allow writing QuickTime:GPSCoordinates
|
28
|
+
- Renamed Panasonic HDRShot tag to MergedImages (forum 15298)
|
29
|
+
- Fixed problem where some NEF files were misidentified as NRW
|
30
|
+
|
10
31
|
Sept. 19, 2023 - Version 12.67
|
11
32
|
|
12
33
|
- Added a new Pentax LensType (thanks dmont)
|
@@ -155,6 +176,8 @@ Apr. 5, 2023 - Version 12.60 (production release)
|
|
155
176
|
- Fixed problem where setting the Geotime value didn't work when using an
|
156
177
|
advanced-formatting expression containing a greater-than symbol (>)
|
157
178
|
|
179
|
+
History of older versions (back to Nov. 19, 2003 - Version 1.00) -->
|
180
|
+
|
158
181
|
Mar. 28, 2023 - Version 12.59
|
159
182
|
|
160
183
|
- COMPATIBILITY WARNING: Changed the calculated ImageDataMD5 for JPEG images
|
@@ -343,8 +366,6 @@ Nov. 8, 2022 - Version 12.50 (production release)
|
|
343
366
|
- Fixed inconsistent year and time zone for Kenwood dashcam timed GPS in MP4
|
344
367
|
videos
|
345
368
|
|
346
|
-
History of older versions (back to Nov. 19, 2003 - Version 1.00) -->
|
347
|
-
|
348
369
|
Oct. 19, 2022 - Version 12.49
|
349
370
|
|
350
371
|
- Added read support for Windows ICO and CUR files
|
data/bin/MANIFEST
CHANGED
@@ -179,6 +179,7 @@ html/TagNames/VCard.html
|
|
179
179
|
html/TagNames/Vorbis.html
|
180
180
|
html/TagNames/WPG.html
|
181
181
|
html/TagNames/WTV.html
|
182
|
+
html/TagNames/XISF.html
|
182
183
|
html/TagNames/XMP.html
|
183
184
|
html/TagNames/ZIP.html
|
184
185
|
html/TagNames/ZISRAW.html
|
@@ -432,6 +433,7 @@ lib/Image/ExifTool/WriteQuickTime.pl
|
|
432
433
|
lib/Image/ExifTool/WriteRIFF.pl
|
433
434
|
lib/Image/ExifTool/WriteXMP.pl
|
434
435
|
lib/Image/ExifTool/Writer.pl
|
436
|
+
lib/Image/ExifTool/XISF.pm
|
435
437
|
lib/Image/ExifTool/XMP.pm
|
436
438
|
lib/Image/ExifTool/XMP2.pl
|
437
439
|
lib/Image/ExifTool/XMPStruct.pl
|
@@ -916,6 +918,8 @@ t/Writer_6.out
|
|
916
918
|
t/Writer_60.out
|
917
919
|
t/Writer_7.out
|
918
920
|
t/Writer_9.out
|
921
|
+
t/XISF.t
|
922
|
+
t/XISF_2.out
|
919
923
|
t/XMP.t
|
920
924
|
t/XMP_10.out
|
921
925
|
t/XMP_11.out
|
@@ -1144,6 +1148,7 @@ t/images/Vorbis.ogg
|
|
1144
1148
|
t/images/WPG.wpg
|
1145
1149
|
t/images/WTV.wtv
|
1146
1150
|
t/images/Writer.jpg
|
1151
|
+
t/images/XISF.xisf
|
1147
1152
|
t/images/XMP.inx
|
1148
1153
|
t/images/XMP.jpg
|
1149
1154
|
t/images/XMP.svg
|
data/bin/META.json
CHANGED
data/bin/META.yml
CHANGED
data/bin/README
CHANGED
@@ -51,11 +51,11 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
51
51
|
DCP r/w | ICO r | MPG r | PSB r/w | WV r
|
52
52
|
DCR r | ICS r | MPO r/w | PSD r/w | X3F r/w
|
53
53
|
DFONT r | IDML r | MQV r/w | PSP r | XCF r
|
54
|
-
DIVX r | IIQ r/w | MRC r | QTIF r/w |
|
55
|
-
DJVU r | IND r/w | MRW r/w | R3D r |
|
56
|
-
DLL r | INSP r/w | MXF r | RA r |
|
57
|
-
DNG r/w | INSV r | NEF r/w | RAF r/w |
|
58
|
-
DOC r | INX r | NKSC r/w | RAM r |
|
54
|
+
DIVX r | IIQ r/w | MRC r | QTIF r/w | XISF r
|
55
|
+
DJVU r | IND r/w | MRW r/w | R3D r | XLS r
|
56
|
+
DLL r | INSP r/w | MXF r | RA r | XLSX r
|
57
|
+
DNG r/w | INSV r | NEF r/w | RAF r/w | XMP r/w/c
|
58
|
+
DOC r | INX r | NKSC r/w | RAM r | ZIP r
|
59
59
|
DOCX r | ISO r | NRW r/w | RAR r |
|
60
60
|
|
61
61
|
Meta Information
|
@@ -108,8 +108,8 @@ your home directory, then you would type the following commands in a
|
|
108
108
|
terminal window to extract and run ExifTool:
|
109
109
|
|
110
110
|
cd ~/Desktop
|
111
|
-
gzip -dc Image-ExifTool-12.
|
112
|
-
cd Image-ExifTool-12.
|
111
|
+
gzip -dc Image-ExifTool-12.68.tar.gz | tar -xf -
|
112
|
+
cd Image-ExifTool-12.68
|
113
113
|
./exiftool t/images/ExifTool.jpg
|
114
114
|
|
115
115
|
Note: These commands extract meta information from one of the test images.
|
data/bin/exiftool
CHANGED
@@ -11,7 +11,7 @@ use strict;
|
|
11
11
|
use warnings;
|
12
12
|
require 5.004;
|
13
13
|
|
14
|
-
my $version = '12.
|
14
|
+
my $version = '12.68';
|
15
15
|
|
16
16
|
# add our 'lib' directory to the include list BEFORE 'use Image::ExifTool'
|
17
17
|
my $exePath;
|
@@ -4665,11 +4665,11 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
4665
4665
|
DCP r/w | ICO r | MPG r | PSB r/w | WV r
|
4666
4666
|
DCR r | ICS r | MPO r/w | PSD r/w | X3F r/w
|
4667
4667
|
DFONT r | IDML r | MQV r/w | PSP r | XCF r
|
4668
|
-
DIVX r | IIQ r/w | MRC r | QTIF r/w |
|
4669
|
-
DJVU r | IND r/w | MRW r/w | R3D r |
|
4670
|
-
DLL r | INSP r/w | MXF r | RA r |
|
4671
|
-
DNG r/w | INSV r | NEF r/w | RAF r/w |
|
4672
|
-
DOC r | INX r | NKSC r/w | RAM r |
|
4668
|
+
DIVX r | IIQ r/w | MRC r | QTIF r/w | XISF r
|
4669
|
+
DJVU r | IND r/w | MRW r/w | R3D r | XLS r
|
4670
|
+
DLL r | INSP r/w | MXF r | RA r | XLSX r
|
4671
|
+
DNG r/w | INSV r | NEF r/w | RAF r/w | XMP r/w/c
|
4672
|
+
DOC r | INX r | NKSC r/w | RAM r | ZIP r
|
4673
4673
|
DOCX r | ISO r | NRW r/w | RAR r |
|
4674
4674
|
|
4675
4675
|
Meta Information
|
@@ -5582,7 +5582,7 @@ with this command:
|
|
5582
5582
|
|
5583
5583
|
produces output like this:
|
5584
5584
|
|
5585
|
-
-- Generated by ExifTool 12.
|
5585
|
+
-- Generated by ExifTool 12.68 --
|
5586
5586
|
File: a.jpg - 2003:10:31 15:44:19
|
5587
5587
|
(f/5.6, 1/60s, ISO 100)
|
5588
5588
|
File: b.jpg - 2006:05:23 11:57:38
|
@@ -6418,10 +6418,14 @@ from the track log, and they are supported by the destination metadata
|
|
6418
6418
|
format): GPSLatitude, GPSLatitudeRef, GPSLongitude, GPSLongitudeRef,
|
6419
6419
|
GPSAltitude, GPSAltitudeRef, GPSDateStamp, GPSTimeStamp, GPSDateTime,
|
6420
6420
|
GPSTrack, GPSTrackRef, GPSSpeed, GPSSpeedRef, GPSImgDirection,
|
6421
|
-
GPSImgDirectionRef, GPSPitch, GPSRoll, AmbientTemperature
|
6422
|
-
CameraElevationAngle. By default, tags are created in
|
6423
|
-
XMP only if they already exist.
|
6424
|
-
|
6421
|
+
GPSImgDirectionRef, GPSPitch, GPSRoll, GPSCoordinates, AmbientTemperature
|
6422
|
+
and CameraElevationAngle. By default, in image files tags are created in
|
6423
|
+
EXIF, and updated in XMP only if they already exist. In QuickTime-format
|
6424
|
+
files GPSCoordinates is created in the preferred location (ItemList by
|
6425
|
+
default) as well as in XMP. However, C<EXIF:Geotime>, C<XMP:Geotime> or
|
6426
|
+
C<QuickTime:Geotime> may be specified to write to write only to one group.
|
6427
|
+
Also, C<ItemList:Geotime>, C<Keys:Geotime> or C<UserData:Geotime> may be
|
6428
|
+
used to write to a specific location in QuickTime-format files. Note that
|
6425
6429
|
GPSPitch and GPSRoll are non-standard, and require user-defined tags in
|
6426
6430
|
order to be written.
|
6427
6431
|
|
@@ -6544,11 +6548,12 @@ options on the command line.
|
|
6544
6548
|
|
6545
6549
|
Load specified configuration file instead of the default ".ExifTool_config".
|
6546
6550
|
If used, this option must come before all other arguments on the command
|
6547
|
-
line and applies to all B<-execute>'d commands.
|
6548
|
-
|
6549
|
-
|
6550
|
-
|
6551
|
-
|
6551
|
+
line and applies to all B<-execute>'d commands. This file is used to create
|
6552
|
+
user-defined tags as well as set default ExifTool options. The I<CFGFILE>
|
6553
|
+
must exist relative to the current working directory or the exiftool
|
6554
|
+
application directory unless an absolute path is specified. Loading of the
|
6555
|
+
default config file may be disabled by setting I<CFGFILE> to an empty string
|
6556
|
+
(ie. ""). See L<https://exiftool.org/config.html> and
|
6552
6557
|
config_files/example.config in the full ExifTool distribution for details
|
6553
6558
|
about the configuration file syntax.
|
6554
6559
|
|
@@ -88,7 +88,7 @@ sub ProcessCTMD($$$);
|
|
88
88
|
sub ProcessExifInfo($$$);
|
89
89
|
sub SwapWords($);
|
90
90
|
|
91
|
-
$VERSION = '4.
|
91
|
+
$VERSION = '4.69';
|
92
92
|
|
93
93
|
# Note: Removed 'USM' from 'L' lenses since it is redundant - PH
|
94
94
|
# (or is it? Ref 32 shows 5 non-USM L-type lenses)
|
@@ -490,6 +490,7 @@ $VERSION = '4.68';
|
|
490
490
|
'368.11' => 'Sigma 70mm f/2.8 DG Macro', #IB (A018)
|
491
491
|
'368.12' => 'Sigma 18-35mm f/1.8 DC HSM | A', #50
|
492
492
|
'368.13' => 'Sigma 24-105mm f/4 DG OS HSM | A', #forum3833
|
493
|
+
'368.14' => 'Sigma 18-300mm f/3.5-6.3 DC Macro OS HSM | C', #forum15280 (014)
|
493
494
|
# Note: LensType 488 (0x1e8) is reported as 232 (0xe8) in 7D CameraSettings
|
494
495
|
488 => 'Canon EF-S 15-85mm f/3.5-5.6 IS USM', #PH
|
495
496
|
489 => 'Canon EF 70-300mm f/4-5.6L IS USM', #Gerald Kapounek
|
@@ -1389,6 +1390,11 @@ my %offOn = ( 0 => 'Off', 1 => 'On' );
|
|
1389
1390
|
Condition => '$$self{Model} =~ /\b(1200D|REBEL T5|Kiss X70)\b/',
|
1390
1391
|
SubDirectory => { TagTable => 'Image::ExifTool::Canon::CameraInfo60D' },
|
1391
1392
|
},
|
1393
|
+
{
|
1394
|
+
Name => 'CanonCameraInfoR6',
|
1395
|
+
Condition => '$$self{Model} =~ /\bEOS R6$/',
|
1396
|
+
SubDirectory => { TagTable => 'Image::ExifTool::Canon::CameraInfoR6' },
|
1397
|
+
},
|
1392
1398
|
{
|
1393
1399
|
Name => 'CanonCameraInfoPowerShot',
|
1394
1400
|
# valid if format is int32u[138] or int32u[148]
|
@@ -4695,6 +4701,19 @@ my %ciMaxFocal = (
|
|
4695
4701
|
},
|
4696
4702
|
);
|
4697
4703
|
|
4704
|
+
%Image::ExifTool::Canon::CameraInfoR6 = (
|
4705
|
+
%binaryDataAttrs,
|
4706
|
+
FIRST_ENTRY => 0,
|
4707
|
+
PRIORITY => 0,
|
4708
|
+
GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
|
4709
|
+
NOTES => 'CameraInfo tags for the EOS R6.',
|
4710
|
+
0x0af1 => { #forum15210
|
4711
|
+
Name => 'ShutterCount',
|
4712
|
+
Format => 'int32u',
|
4713
|
+
Notes => 'includes electronic + mechanical shutter',
|
4714
|
+
},
|
4715
|
+
);
|
4716
|
+
|
4698
4717
|
# Canon camera information for 70D (MakerNotes tag 0x0d) (ref PH)
|
4699
4718
|
%Image::ExifTool::Canon::CameraInfo70D = (
|
4700
4719
|
%binaryDataAttrs,
|
@@ -31,7 +31,7 @@ use vars qw($VERSION);
|
|
31
31
|
use Image::ExifTool qw(:DataAccess :Utils);
|
32
32
|
use Image::ExifTool::Exif;
|
33
33
|
|
34
|
-
$VERSION = '1.
|
34
|
+
$VERSION = '1.90';
|
35
35
|
|
36
36
|
sub ProcessFujiDir($$$);
|
37
37
|
sub ProcessFaceRec($$$);
|
@@ -428,6 +428,14 @@ my %faceCategories = (
|
|
428
428
|
Name => 'ShadowTone',
|
429
429
|
Writable => 'int32s',
|
430
430
|
PrintConv => {
|
431
|
+
OTHER => sub {
|
432
|
+
my ($val, $inv) = @_;
|
433
|
+
if ($inv) {
|
434
|
+
return int(-$val * 16);
|
435
|
+
} else {
|
436
|
+
return -$val / 16;
|
437
|
+
}
|
438
|
+
},
|
431
439
|
-64 => '+4 (hardest)',
|
432
440
|
-48 => '+3 (very hard)',
|
433
441
|
-32 => '+2 (hard)',
|
@@ -441,6 +449,14 @@ my %faceCategories = (
|
|
441
449
|
Name => 'HighlightTone',
|
442
450
|
Writable => 'int32s',
|
443
451
|
PrintConv => {
|
452
|
+
OTHER => sub {
|
453
|
+
my ($val, $inv) = @_;
|
454
|
+
if ($inv) {
|
455
|
+
return int(-$val * 16);
|
456
|
+
} else {
|
457
|
+
return -$val / 16;
|
458
|
+
}
|
459
|
+
},
|
444
460
|
-64 => '+4 (hardest)',
|
445
461
|
-48 => '+3 (very hard)',
|
446
462
|
-32 => '+2 (hard)',
|
@@ -29,7 +29,7 @@ use vars qw($VERSION);
|
|
29
29
|
use Image::ExifTool qw(:Public);
|
30
30
|
use Image::ExifTool::GPS;
|
31
31
|
|
32
|
-
$VERSION = '1.
|
32
|
+
$VERSION = '1.73';
|
33
33
|
|
34
34
|
sub JITTER() { return 2 } # maximum time jitter
|
35
35
|
|
@@ -1196,24 +1196,29 @@ Category: foreach $category (qw{pos track alt orient atemp}) {
|
|
1196
1196
|
# write GPSDateStamp if date included in track log, otherwise delete it
|
1197
1197
|
$gpsDate = sprintf('%.2d:%.2d:%.2d', $t[5]+1900, $t[4]+1, $t[3]) unless $noDate;
|
1198
1198
|
# write GPSAltitude tags if altitude included in track log, otherwise delete them
|
1199
|
-
|
1200
|
-
|
1201
|
-
$gpsAltRef = ($$fix{alt} < 0 ? 1 : 0);
|
1202
|
-
} elsif ($$has{alt} and defined $iExt) {
|
1199
|
+
my $alt = $$fix{alt};
|
1200
|
+
if (not defined $alt and $$has{alt} and defined $iExt) {
|
1203
1201
|
my $tFix = FindFix($et,'alt',$times,$points,$iExt,$iDir,$geoMaxExtSecs);
|
1204
|
-
if
|
1205
|
-
$gpsAlt = abs $$tFix{alt};
|
1206
|
-
$gpsAltRef = ($$tFix{alt} < 0 ? 1 : 0);
|
1207
|
-
}
|
1202
|
+
$alt = $$tFix{alt} if $tFix;
|
1208
1203
|
}
|
1209
1204
|
# set new GPS tag values (EXIF, or XMP if write group is 'xmp')
|
1210
|
-
my ($xmp, $exif, @r);
|
1205
|
+
my ($xmp, $exif, $qt, @r);
|
1211
1206
|
my %opts = ( Type => 'ValueConv' ); # write ValueConv values
|
1212
1207
|
if ($writeGroup) {
|
1213
1208
|
$opts{Group} = $writeGroup;
|
1214
1209
|
$xmp = ($writeGroup =~ /xmp/i);
|
1215
1210
|
$exif = ($writeGroup =~ /^(exif|gps)$/i);
|
1211
|
+
$qt = $writeGroup =~ /^(quicktime|keys|itemlist|userdata)$/i;
|
1212
|
+
}
|
1213
|
+
# set QuickTime GPSCoordinates
|
1214
|
+
my $coords = "$$fix{lat} $$fix{lon}";
|
1215
|
+
if (defined $alt) {
|
1216
|
+
$gpsAlt = abs $alt;
|
1217
|
+
$gpsAltRef = ($alt < 0 ? 1 : 0);
|
1218
|
+
$coords .= " $alt";
|
1216
1219
|
}
|
1220
|
+
@r = $et->SetNewValue(GPSCoordinates => $coords, %opts);
|
1221
|
+
return $err if $qt; # all done if writing to QuickTime only
|
1217
1222
|
# (capture error messages by calling SetNewValue in list context)
|
1218
1223
|
@r = $et->SetNewValue(GPSLatitude => $$fix{lat}, %opts);
|
1219
1224
|
@r = $et->SetNewValue(GPSLongitude => $$fix{lon}, %opts);
|
@@ -1288,7 +1293,7 @@ Category: foreach $category (qw{pos track alt orient atemp}) {
|
|
1288
1293
|
GPSAltitude GPSAltitudeRef GPSDateStamp GPSTimeStamp GPSDateTime
|
1289
1294
|
GPSTrack GPSTrackRef GPSSpeed GPSSpeedRef GPSImgDirection
|
1290
1295
|
GPSImgDirectionRef GPSPitch GPSRoll CameraElevationAngle
|
1291
|
-
AmbientTemperature))
|
1296
|
+
AmbientTemperature GPSCoordinates))
|
1292
1297
|
{
|
1293
1298
|
my @r = $et->SetNewValue($_, undef, %opts);
|
1294
1299
|
}
|
@@ -65,7 +65,7 @@ use Image::ExifTool::Exif;
|
|
65
65
|
use Image::ExifTool::GPS;
|
66
66
|
use Image::ExifTool::XMP;
|
67
67
|
|
68
|
-
$VERSION = '4.
|
68
|
+
$VERSION = '4.26';
|
69
69
|
|
70
70
|
sub LensIDConv($$$);
|
71
71
|
sub ProcessNikonAVI($$$);
|
@@ -676,6 +676,7 @@ sub GetAFPointGrid($$;$);
|
|
676
676
|
'07 40 30 45 2D 35 03 02.2' => 'Voigtlander Ultragon 19-35mm F3.5-4.5 VMV', #NJ
|
677
677
|
'71 48 64 64 24 24 00 00' => 'Voigtlander APO-Skopar 90mm F2.8 SL IIs', #30
|
678
678
|
'FD 00 50 50 18 18 DF 00' => 'Voigtlander APO-Lanthar 50mm F2 Aspherical', #35
|
679
|
+
'FD 00 44 44 18 18 DF 00' => 'Voigtlander APO-Lanthar 35mm F2', #30
|
679
680
|
#
|
680
681
|
'00 40 2D 2D 2C 2C 00 00' => 'Carl Zeiss Distagon T* 3.5/18 ZF.2',
|
681
682
|
'00 48 27 27 24 24 00 00' => 'Carl Zeiss Distagon T* 2.8/15 ZF.2', #MykytaKozlov
|
@@ -1188,6 +1189,7 @@ my %subjectDetectionZ9 = (
|
|
1188
1189
|
2 => 'People',
|
1189
1190
|
3 => 'Animals',
|
1190
1191
|
4 => 'Vehicles',
|
1192
|
+
5 => 'Birds',
|
1191
1193
|
6 => 'Airplanes',
|
1192
1194
|
);
|
1193
1195
|
|
@@ -2421,8 +2423,8 @@ my %base64coord = (
|
|
2421
2423
|
},
|
2422
2424
|
},
|
2423
2425
|
{ # (Z6_2 firmware version 1.00 and Z7II firmware versions 1.00 & 1.01, ref 28)
|
2424
|
-
# 0800=Z6/Z7 0801=Z50 0802=Z5 0803=Z6II/Z7II 0804=Zfc 0807=Z30
|
2425
|
-
Condition => '$$valPt =~ /^080[
|
2426
|
+
# 0800=Z6/Z7 0801=Z50 0802=Z5 0803=Z6II/Z7II 0804=Zfc 0807=Z30 0808=Zf
|
2427
|
+
Condition => '$$valPt =~ /^080[0123478]/',
|
2426
2428
|
Name => 'ShotInfoZ7II',
|
2427
2429
|
SubDirectory => {
|
2428
2430
|
TagTable => 'Image::ExifTool::Nikon::ShotInfoZ7II',
|
@@ -2481,7 +2483,7 @@ my %base64coord = (
|
|
2481
2483
|
},
|
2482
2484
|
0x0094 => { Name => 'SaturationAdj', Writable => 'int16s' },
|
2483
2485
|
0x0095 => { Name => 'NoiseReduction', Writable => 'string' }, # ("Off" or "FPNR"=long exposure NR)
|
2484
|
-
0x0096 => {
|
2486
|
+
0x0096 => { # (not found in NRW files, but also not in all NEF's)
|
2485
2487
|
Name => 'NEFLinearizationTable', # same table as DNG LinearizationTable (ref JD)
|
2486
2488
|
Writable => 'undef',
|
2487
2489
|
Flags => [ 'Binary', 'Protected' ],
|
@@ -6056,6 +6058,24 @@ my %nikonFocalConversions = (
|
|
6056
6058
|
Format => 'int32u',
|
6057
6059
|
Priority => 0,
|
6058
6060
|
},
|
6061
|
+
671.1 => { # 0x29f
|
6062
|
+
Name => 'JPGCompression',
|
6063
|
+
Mask => 0x40,
|
6064
|
+
PrintConv => {
|
6065
|
+
0 => 'Size Priority',
|
6066
|
+
1 => 'Optimal Quality',
|
6067
|
+
},
|
6068
|
+
},
|
6069
|
+
# this works for one set of D3S samples, but is 0 in some others
|
6070
|
+
#671.2 => { # 0x29f
|
6071
|
+
# Name => 'Quality',
|
6072
|
+
# Mask => 0x03,
|
6073
|
+
# PrintConv => {
|
6074
|
+
# 1 => 'Fine',
|
6075
|
+
# 2 => 'Normal',
|
6076
|
+
# 3 => 'Basic',
|
6077
|
+
# },
|
6078
|
+
#},
|
6059
6079
|
0x2ce => { #(NC)
|
6060
6080
|
Name => 'CustomSettingsD3S',
|
6061
6081
|
Format => 'undef[27]',
|
@@ -8848,7 +8868,7 @@ my %nikonFocalConversions = (
|
|
8848
8868
|
%binaryDataAttrs,
|
8849
8869
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
|
8850
8870
|
DATAMEMBER => [ 90, 176, 180, 328, 352, 858 ],
|
8851
|
-
NOTES => 'These tags are used by the Z5, Z6, Z7, Z6II, Z7II, Z50 and
|
8871
|
+
NOTES => 'These tags are used by the Z5, Z6, Z7, Z6II, Z7II, Z50, Zfc and Zf.',
|
8852
8872
|
#48 SelfTimer' #0=> no 1=> yes works for Z7II firmware 1.40, but not 1.30. Follow-up required.
|
8853
8873
|
90 => {
|
8854
8874
|
Name => 'SingleFrame', #0=> Single Frame 1=> one of the continuous modes
|
@@ -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.65';
|
40
40
|
|
41
41
|
sub ProcessPNG_tEXt($$$);
|
42
42
|
sub ProcessPNG_iTXt($$$);
|
@@ -973,13 +973,20 @@ sub FoundPNG($$$$;$$$$)
|
|
973
973
|
undef $processProc if $wasCompressed and $processProc and $processProc eq \&ProcessPNG_Compressed;
|
974
974
|
# rewrite this directory if necessary (but always process TextualData normally)
|
975
975
|
if ($outBuff and not $processProc and $subTable ne \%Image::ExifTool::PNG::TextualData) {
|
976
|
-
|
977
|
-
|
978
|
-
|
979
|
-
|
980
|
-
|
976
|
+
# allow JUMBF to be deleted (may want to expand this for other types too?)
|
977
|
+
if ($dirName eq 'JUMBF' and $$et{DEL_GROUP}{$dirName}) {
|
978
|
+
$$outBuff = '';
|
979
|
+
++$$et{CHANGED};
|
980
|
+
$et->VPrint(0, " Deleting $dirName");
|
981
|
+
} else {
|
982
|
+
return 1 unless $$et{EDIT_DIRS}{$dirName};
|
983
|
+
$$outBuff = $et->WriteDirectory(\%subdirInfo, $subTable);
|
984
|
+
if ($tagName eq 'XMP' and $$outBuff) {
|
985
|
+
# make sure the XMP is marked as read-only
|
986
|
+
Image::ExifTool::XMP::ValidateXMP($outBuff,'r');
|
987
|
+
}
|
988
|
+
DoneDir($et, $dirName, $outBuff, $$tagInfo{NonStandard});
|
981
989
|
}
|
982
|
-
DoneDir($et, $dirName, $outBuff, $$tagInfo{NonStandard});
|
983
990
|
} else {
|
984
991
|
$processed = $et->ProcessDirectory(\%subdirInfo, $subTable, $processProc);
|
985
992
|
}
|
@@ -37,7 +37,7 @@ use vars qw($VERSION %leicaLensTypes);
|
|
37
37
|
use Image::ExifTool qw(:DataAccess :Utils);
|
38
38
|
use Image::ExifTool::Exif;
|
39
39
|
|
40
|
-
$VERSION = '2.
|
40
|
+
$VERSION = '2.19';
|
41
41
|
|
42
42
|
sub ProcessLeicaLEIC($$$);
|
43
43
|
sub WhiteBalanceConv($;$$);
|
@@ -1070,18 +1070,18 @@ my %shootingMode = (
|
|
1070
1070
|
},
|
1071
1071
|
},
|
1072
1072
|
# 0x71 - undef[128] (maybe text stamp text?)
|
1073
|
+
# 0x72,0x73,0x74,0x75,0x77,0x78: 0
|
1074
|
+
# 0x76: 0, (3 for G6 with HDR on, ref 18)
|
1075
|
+
0x76 => { #18/21/forum15298
|
1076
|
+
Name => 'MergedImages',
|
1077
|
+
Writable => 'int16u',
|
1078
|
+
Notes => 'number of images in HDR or Live View Composite picture',
|
1079
|
+
},
|
1073
1080
|
0x77 => { #18
|
1074
1081
|
Name => 'BurstSpeed',
|
1075
1082
|
Writable => 'int16u',
|
1076
1083
|
Notes => 'images per second',
|
1077
1084
|
},
|
1078
|
-
# 0x72,0x73,0x74,0x75,0x77,0x78: 0
|
1079
|
-
# 0x76: 0, (3 for G6 with HDR on, ref 18)
|
1080
|
-
0x76 => { #18/21
|
1081
|
-
Name => 'HDRShot',
|
1082
|
-
Writable => 'int16u',
|
1083
|
-
PrintConv => { 0 => 'Off', 3 => 'On' },
|
1084
|
-
},
|
1085
1085
|
0x79 => { #PH (GH2)
|
1086
1086
|
Name => 'IntelligentD-Range',
|
1087
1087
|
Writable => 'int16u',
|
@@ -58,7 +58,7 @@ use Image::ExifTool::Exif;
|
|
58
58
|
use Image::ExifTool::GPS;
|
59
59
|
use Image::ExifTool::HP;
|
60
60
|
|
61
|
-
$VERSION = '3.
|
61
|
+
$VERSION = '3.44';
|
62
62
|
|
63
63
|
sub CryptShutterCount($$);
|
64
64
|
sub PrintFilter($$$);
|
@@ -556,6 +556,8 @@ my %pentaxModelID = (
|
|
556
556
|
0x13240 => 'K-1 Mark II', # (Ricoh)
|
557
557
|
0x13254 => 'K-3 Mark III', #IB (Ricoh)
|
558
558
|
0x13290 => 'WG-70', # (Ricoh)
|
559
|
+
0x1329a => 'GR IIIx', # (Ricoh)
|
560
|
+
0x132d6 => 'K-3 Mark III Monochrome', #github226 (Ricoh)
|
559
561
|
);
|
560
562
|
|
561
563
|
# Pentax city codes - (PH, Optio WP)
|
@@ -971,6 +973,7 @@ my %binaryDataAttrs = (
|
|
971
973
|
5 => 'Premium', #PH (K20D)
|
972
974
|
7 => 'RAW (pixel shift enabled)', #forum6536 (K-3 II)
|
973
975
|
8 => 'Dynamic Pixel Shift', #IB
|
976
|
+
9 => 'Monochrome', #github226
|
974
977
|
65535 => 'n/a', #PH (Q MOV video)
|
975
978
|
},
|
976
979
|
},
|
@@ -2144,6 +2147,7 @@ my %binaryDataAttrs = (
|
|
2144
2147
|
11 => 'Flat', #31 (K-70)
|
2145
2148
|
# 256 - seen for GR III
|
2146
2149
|
# 262 - seen for GR III
|
2150
|
+
32768 => 'n/a',
|
2147
2151
|
},
|
2148
2152
|
},
|
2149
2153
|
0x0050 => { #PH
|
@@ -2230,6 +2234,7 @@ my %binaryDataAttrs = (
|
|
2230
2234
|
18 => '18 (KP)', #PH
|
2231
2235
|
19 => '19 (GR III)', #PH
|
2232
2236
|
20 => '20 (K-3III)', #PH
|
2237
|
+
21 => '21 (K-3IIIMonochrome)', #github226
|
2233
2238
|
},
|
2234
2239
|
},
|
2235
2240
|
0x0067 => { #PH (K-5)
|
@@ -15,7 +15,7 @@ use Image::ExifTool::Exif;
|
|
15
15
|
use Image::ExifTool::IPTC;
|
16
16
|
use Image::ExifTool::XMP;
|
17
17
|
|
18
|
-
$VERSION = '1.
|
18
|
+
$VERSION = '1.07';
|
19
19
|
|
20
20
|
sub ProcessPhotoMechanic($$);
|
21
21
|
|
@@ -138,6 +138,7 @@ my %rawCropConv = (
|
|
138
138
|
ValueConv => 'Image::ExifTool::Exif::ExifTime($val)',
|
139
139
|
ValueConvInv => 'Image::ExifTool::IPTC::IptcTime($val)',
|
140
140
|
},
|
141
|
+
CreatorIdentity => { },
|
141
142
|
);
|
142
143
|
|
143
144
|
#------------------------------------------------------------------------------
|