exiftool_vendored 11.98.0 → 12.10.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of exiftool_vendored might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/bin/Changes +198 -2
- data/bin/MANIFEST +8 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +43 -42
- data/bin/exiftool +102 -75
- data/bin/lib/Image/ExifTool.pm +163 -111
- data/bin/lib/Image/ExifTool.pod +127 -93
- data/bin/lib/Image/ExifTool/AIFF.pm +2 -2
- data/bin/lib/Image/ExifTool/APE.pm +2 -2
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +21 -10
- data/bin/lib/Image/ExifTool/Canon.pm +202 -14
- data/bin/lib/Image/ExifTool/CanonCustom.pm +82 -16
- data/bin/lib/Image/ExifTool/DPX.pm +56 -2
- data/bin/lib/Image/ExifTool/DarwinCore.pm +22 -3
- data/bin/lib/Image/ExifTool/EXE.pm +8 -5
- data/bin/lib/Image/ExifTool/Exif.pm +15 -6
- data/bin/lib/Image/ExifTool/Font.pm +9 -2
- data/bin/lib/Image/ExifTool/GIF.pm +6 -1
- data/bin/lib/Image/ExifTool/GeoTiff.pm +2 -0
- data/bin/lib/Image/ExifTool/Geotag.pm +2 -2
- data/bin/lib/Image/ExifTool/GoPro.pm +48 -22
- data/bin/lib/Image/ExifTool/H264.pm +1 -1
- data/bin/lib/Image/ExifTool/ID3.pm +91 -12
- data/bin/lib/Image/ExifTool/IPTC.pm +1 -0
- data/bin/lib/Image/ExifTool/JSON.pm +27 -4
- data/bin/lib/Image/ExifTool/Lang/de.pm +3 -1
- data/bin/lib/Image/ExifTool/Lang/es.pm +1 -1
- data/bin/lib/Image/ExifTool/M2TS.pm +19 -19
- data/bin/lib/Image/ExifTool/MacOS.pm +154 -38
- data/bin/lib/Image/ExifTool/Matroska.pm +3 -1
- data/bin/lib/Image/ExifTool/Minolta.pm +7 -2
- data/bin/lib/Image/ExifTool/MinoltaRaw.pm +11 -10
- data/bin/lib/Image/ExifTool/Nikon.pm +164 -20
- data/bin/lib/Image/ExifTool/Olympus.pm +39 -17
- data/bin/lib/Image/ExifTool/PNG.pm +14 -3
- data/bin/lib/Image/ExifTool/PPM.pm +5 -5
- data/bin/lib/Image/ExifTool/Panasonic.pm +148 -14
- data/bin/lib/Image/ExifTool/PanasonicRaw.pm +34 -0
- data/bin/lib/Image/ExifTool/Parrot.pm +2 -1
- data/bin/lib/Image/ExifTool/Pentax.pm +3 -1
- data/bin/lib/Image/ExifTool/Photoshop.pm +2 -1
- data/bin/lib/Image/ExifTool/QuickTime.pm +289 -37
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +419 -60
- data/bin/lib/Image/ExifTool/README +26 -22
- data/bin/lib/Image/ExifTool/RSRC.pm +17 -11
- data/bin/lib/Image/ExifTool/RTF.pm +12 -7
- data/bin/lib/Image/ExifTool/Radiance.pm +7 -2
- data/bin/lib/Image/ExifTool/Ricoh.pm +19 -1
- data/bin/lib/Image/ExifTool/Shift.pl +1 -0
- data/bin/lib/Image/ExifTool/SigmaRaw.pm +40 -33
- data/bin/lib/Image/ExifTool/Sony.pm +426 -40
- data/bin/lib/Image/ExifTool/TagLookup.pm +5799 -5671
- data/bin/lib/Image/ExifTool/TagNames.pod +584 -97
- data/bin/lib/Image/ExifTool/Validate.pm +4 -4
- data/bin/lib/Image/ExifTool/WriteExif.pl +3 -2
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +26 -18
- data/bin/lib/Image/ExifTool/Writer.pl +47 -24
- data/bin/lib/Image/ExifTool/XMP.pm +99 -17
- data/bin/lib/Image/ExifTool/XMP2.pl +1 -0
- data/bin/lib/Image/ExifTool/XMPStruct.pl +3 -1
- data/bin/lib/Image/ExifTool/ZISRAW.pm +123 -0
- data/bin/perl-Image-ExifTool.spec +42 -41
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +8 -7
@@ -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.55';
|
40
40
|
|
41
41
|
sub ProcessPNG_tEXt($$$);
|
42
42
|
sub ProcessPNG_iTXt($$$);
|
@@ -311,6 +311,18 @@ my %noLeapFrog = ( SAVE => 1, SEEK => 1, IHDR => 1, JHDR => 1, IEND => 1, MEND =
|
|
311
311
|
},
|
312
312
|
# fcTL - animation frame control for each frame
|
313
313
|
# fdAT - animation data for each frame
|
314
|
+
iDOT => { # (ref NealKrawetz)
|
315
|
+
Name => 'AppleDataOffsets',
|
316
|
+
Binary => 1,
|
317
|
+
# Apple offsets into data relative to start of iDOT chunk:
|
318
|
+
# int32u Divisor [only ever seen 2]
|
319
|
+
# int32u Unknown [always 0]
|
320
|
+
# int32u TotalDividedHeight [image height from IDHR/Divisor]
|
321
|
+
# int32u Size [always 40 / 0x28; size of this chunk]
|
322
|
+
# int32u DividedHeight1
|
323
|
+
# int32u DividedHeight2
|
324
|
+
# int32u IDAT_Offset2 [location of IDAT with start of DividedHeight2 segment]
|
325
|
+
},
|
314
326
|
);
|
315
327
|
|
316
328
|
# PNG IHDR chunk
|
@@ -1342,8 +1354,7 @@ sub ProcessPNG($$)
|
|
1342
1354
|
} elsif ($hdrChunk eq 'IHDR' and $chunk eq 'CgBI') {
|
1343
1355
|
$et->Warn('Non-standard PNG image (Apple iPhone format)');
|
1344
1356
|
} else {
|
1345
|
-
$et->
|
1346
|
-
last;
|
1357
|
+
$et->WarnOnce("$fileType image did not start with $hdrChunk");
|
1347
1358
|
}
|
1348
1359
|
}
|
1349
1360
|
if ($outfile and ($isDatChunk{$chunk} or $chunk eq $endChunk) and @txtOffset) {
|
@@ -16,7 +16,7 @@ use strict;
|
|
16
16
|
use vars qw($VERSION);
|
17
17
|
use Image::ExifTool qw(:DataAccess :Utils);
|
18
18
|
|
19
|
-
$VERSION = '1.
|
19
|
+
$VERSION = '1.10';
|
20
20
|
|
21
21
|
#------------------------------------------------------------------------------
|
22
22
|
# Read or write information in a PPM/PGM/PBM image
|
@@ -48,19 +48,19 @@ sub ProcessPPM($$)
|
|
48
48
|
# note: may contain comments starting with '#'
|
49
49
|
if ($buff =~ /\G#/gc) {
|
50
50
|
# must read more if we are in the middle of a comment
|
51
|
-
next unless $buff =~ /\G ?(
|
51
|
+
next unless $buff =~ /\G ?(.*[\n\r]+(#.*[\n\r]+)*)\s*/g;
|
52
52
|
$info{Comment} = $1;
|
53
53
|
next if $buff =~ /\G#/gc;
|
54
54
|
} else {
|
55
55
|
delete $info{Comment};
|
56
56
|
}
|
57
|
-
next unless $buff =~ /\G(\S+)\s+(\S+)\s
|
57
|
+
next unless $buff =~ /\G(\S+)\s+(\S+)\s+/g;
|
58
58
|
$info{ImageWidth} = $1;
|
59
59
|
$info{ImageHeight} = $2;
|
60
60
|
$type = [qw{PPM PBM PGM}]->[$num % 3];
|
61
61
|
last if $type eq 'PBM'; # (no MaxVal for PBM images)
|
62
62
|
if ($buff =~ /\G\s*#/gc) {
|
63
|
-
next unless $buff =~ /\G ?(
|
63
|
+
next unless $buff =~ /\G ?(.*[\n\r]+(#.*[\n\r]+)*)\s*/g;
|
64
64
|
$info{Comment} = '' unless exists $info{Comment};
|
65
65
|
$info{Comment} .= $1;
|
66
66
|
next if $buff =~ /\G#/gc;
|
@@ -76,7 +76,7 @@ sub ProcessPPM($$)
|
|
76
76
|
}
|
77
77
|
if (defined $info{Comment}) {
|
78
78
|
$info{Comment} =~ s/^# ?//mg; # remove "# " at the start of each line
|
79
|
-
$info{Comment} =~ s
|
79
|
+
$info{Comment} =~ s/[\n\r]+$//; # remove trailing newline
|
80
80
|
}
|
81
81
|
$et->SetFileType($type);
|
82
82
|
my $len = pos($buff);
|
@@ -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.14';
|
41
41
|
|
42
42
|
sub ProcessLeicaLEIC($$$);
|
43
43
|
sub WhiteBalanceConv($;$$);
|
@@ -259,6 +259,7 @@ my %shootingMode = (
|
|
259
259
|
88 => 'Clear Sports Shot', #18
|
260
260
|
89 => 'Monochrome', #18
|
261
261
|
90 => 'Creative Control', #18
|
262
|
+
92 => 'Handheld Night Shot', #forum11523
|
262
263
|
);
|
263
264
|
|
264
265
|
%Image::ExifTool::Panasonic::Main = (
|
@@ -366,7 +367,9 @@ my %shootingMode = (
|
|
366
367
|
'32 2' => '3-area (center)?', # (DMC-L1 guess)
|
367
368
|
'32 3' => '3-area (right)?', # (DMC-L1 guess)
|
368
369
|
'64 0' => 'Face Detect',
|
369
|
-
'
|
370
|
+
'64 1' => 'Face Detect (animal detect on)', #forum11194
|
371
|
+
'64 2' => 'Face Detect (animal detect off)', #forum11194
|
372
|
+
'128 0' => 'Pinpoint focus', #18/forum11194
|
370
373
|
'240 0' => 'Tracking', #22
|
371
374
|
},
|
372
375
|
},
|
@@ -375,14 +378,17 @@ my %shootingMode = (
|
|
375
378
|
Name => 'ImageStabilization',
|
376
379
|
Writable => 'int16u',
|
377
380
|
PrintConv => {
|
378
|
-
2 => 'On,
|
381
|
+
2 => 'On, Optical',
|
379
382
|
3 => 'Off',
|
380
383
|
4 => 'On, Mode 2',
|
381
|
-
5 => 'Panning', #18
|
384
|
+
5 => 'On, Optical Panning', #18
|
382
385
|
# GF1 also has a "Mode 3" - PH
|
383
|
-
6 => 'On,
|
386
|
+
6 => 'On, Body-only', #PH (GX7, sensor shift?)
|
387
|
+
7 => 'On, Body-only Panning', #forum11194
|
384
388
|
9 => 'Dual IS', #20
|
389
|
+
10 => 'Dual IS Panning', #forum11194
|
385
390
|
11 => 'Dual2 IS', #forum9298
|
391
|
+
12 => 'Dual2 IS Panning', #forum11194
|
386
392
|
},
|
387
393
|
},
|
388
394
|
0x1c => {
|
@@ -453,7 +459,15 @@ my %shootingMode = (
|
|
453
459
|
Name => 'PanasonicExifVersion',
|
454
460
|
Writable => 'undef',
|
455
461
|
},
|
456
|
-
|
462
|
+
0x27 => {
|
463
|
+
Name => 'VideoFrameRate',
|
464
|
+
Writable => 'int16u',
|
465
|
+
Notes => 'only valid for older models',
|
466
|
+
PrintConv => {
|
467
|
+
OTHER => sub { shift },
|
468
|
+
0 => 'n/a',
|
469
|
+
},
|
470
|
+
},
|
457
471
|
0x28 => {
|
458
472
|
Name => 'ColorEffect',
|
459
473
|
Writable => 'int16u',
|
@@ -515,9 +529,11 @@ my %shootingMode = (
|
|
515
529
|
0 => 'Off',
|
516
530
|
1 => 'On', #PH (TZ5) [was "Low/High Quality" from ref 4]
|
517
531
|
2 => 'Auto Exposure Bracketing (AEB)', #17
|
532
|
+
3 => 'Focus Bracketing', #forum11194
|
518
533
|
4 => 'Unlimited', #PH (TZ5)
|
519
534
|
8 => 'White Balance Bracketing', #18
|
520
535
|
17 => 'On (with flash)', #forum5597
|
536
|
+
18 => 'Aperture Bracketing', #forum11194
|
521
537
|
},
|
522
538
|
},
|
523
539
|
0x2b => { #4
|
@@ -542,13 +558,15 @@ my %shootingMode = (
|
|
542
558
|
# 0x03 - observed with LZ6 and TZ5 in Fireworks mode
|
543
559
|
# and GX7 in Fantasy/Retro/OldDays/HighKey - PH
|
544
560
|
# 0x04 - observed in MP4 movie with GM1 (EXIF and 0x39 Contrast "Normal") - PH
|
545
|
-
|
561
|
+
0x05 => 'Normal 2', #forum1194
|
546
562
|
0x06 => 'Medium Low', #PH (FZ18)
|
547
563
|
0x07 => 'Medium High', #PH (FZ18)
|
548
564
|
# 0x08 - GX7 in DynamicMonochrome mode
|
549
565
|
0x0d => 'High Dynamic', #PH (FZ47 in ?)
|
550
566
|
# 0x13 - seen for LX100 (PH)
|
551
|
-
|
567
|
+
0x18 => 'Dynamic Range (film-like)', #forum11194
|
568
|
+
0x2e => 'Match Filter Effects Toy', #forum11194
|
569
|
+
0x37 => 'Match Photo Style L. Monochrome', #forum11194
|
552
570
|
# DMC-LC1 values:
|
553
571
|
0x100 => 'Low',
|
554
572
|
0x110 => 'Normal',
|
@@ -653,11 +671,14 @@ my %shootingMode = (
|
|
653
671
|
Name => 'SelfTimer',
|
654
672
|
Writable => 'int16u',
|
655
673
|
PrintConv => {
|
674
|
+
0 => 'Off (0)', #forum11529
|
656
675
|
1 => 'Off',
|
657
676
|
2 => '10 s',
|
658
677
|
3 => '2 s',
|
659
678
|
4 => '10 s / 3 pictures', #17
|
660
|
-
|
679
|
+
258 => '2 s after shutter pressed', #forum11194
|
680
|
+
266 => '10 s after shutter pressed', #forum11194
|
681
|
+
778 => '3 photos after 10 s', #forum11194
|
661
682
|
},
|
662
683
|
},
|
663
684
|
# 0x2f - values: 1 (LZ6,FX10K)
|
@@ -725,8 +746,20 @@ my %shootingMode = (
|
|
725
746
|
PrintConvInv => '$val =~ /(\d+)/ ? $1 : $val',
|
726
747
|
},
|
727
748
|
# 0x37 - values: 0,1,2 (LZ6, 0 for movie preview); 257 (FX10K); 0,256 (TZ5, 0 for movie preview)
|
728
|
-
#
|
729
|
-
|
749
|
+
# --> may indicate battery power (forum11388)
|
750
|
+
0x38 => { #forum11388
|
751
|
+
Name => 'BatteryLevel',
|
752
|
+
Writable => 'int16u',
|
753
|
+
PrintConv => {
|
754
|
+
1 => 'Full',
|
755
|
+
2 => 'Medium',
|
756
|
+
3 => 'Low',
|
757
|
+
4 => 'Near Empty',
|
758
|
+
7 => 'Near Full',
|
759
|
+
8 => 'Medium Low',
|
760
|
+
256 => 'n/a',
|
761
|
+
},
|
762
|
+
},
|
730
763
|
0x39 => { #7 (L1/L10)
|
731
764
|
Name => 'Contrast',
|
732
765
|
Format => 'int16s',
|
@@ -761,6 +794,7 @@ my %shootingMode = (
|
|
761
794
|
Name => 'AdvancedSceneType',
|
762
795
|
Writable => 'int16u',
|
763
796
|
Notes => 'used together with SceneMode to derive Composite AdvancedSceneMode',
|
797
|
+
# see forum11194 for more info
|
764
798
|
},
|
765
799
|
0x3e => { #PH (TZ5/FS7)
|
766
800
|
# (tags 0x3b, 0x3e, 0x8008 and 0x8009 have the same values in all my samples - PH)
|
@@ -853,7 +887,7 @@ my %shootingMode = (
|
|
853
887
|
},
|
854
888
|
},
|
855
889
|
0x49 => { #19
|
856
|
-
Name => 'LongExposureNoiseReduction',
|
890
|
+
Name => 'LongExposureNoiseReduction', # (indicates availability, forum11194)
|
857
891
|
Writable => 'int16u',
|
858
892
|
PrintConv => {
|
859
893
|
1 => 'Off',
|
@@ -1092,6 +1126,10 @@ my %shootingMode = (
|
|
1092
1126
|
4 => 'Monochrome',
|
1093
1127
|
5 => 'Scenery',
|
1094
1128
|
6 => 'Portrait',
|
1129
|
+
8 => 'Cinelike D', #forum11194
|
1130
|
+
9 => 'Cinelike V', #forum11194
|
1131
|
+
11 => 'L. Monochrome', #forum11194
|
1132
|
+
15 => 'L. Monochrome D', #forum11194
|
1095
1133
|
},
|
1096
1134
|
},
|
1097
1135
|
0x8a => { #18
|
@@ -1154,7 +1192,7 @@ my %shootingMode = (
|
|
1154
1192
|
ValueConv => '-$val / 10',
|
1155
1193
|
ValueConvInv => '-$val * 10',
|
1156
1194
|
},
|
1157
|
-
0x92 => { #21 (forum9453)
|
1195
|
+
0x92 => { #21 (forum9453) (more to decode in forum11194)
|
1158
1196
|
Name => 'WBShiftCreativeControl',
|
1159
1197
|
Writable => 'int8u',
|
1160
1198
|
Format => 'int8s',
|
@@ -1182,6 +1220,7 @@ my %shootingMode = (
|
|
1182
1220
|
0 => 'Off',
|
1183
1221
|
1 => 'Time Lapse',
|
1184
1222
|
2 => 'Stop-motion Animation',
|
1223
|
+
3 => 'Focus Bracketing', #forum11194
|
1185
1224
|
},
|
1186
1225
|
},
|
1187
1226
|
0x9d => { #18
|
@@ -1211,6 +1250,36 @@ my %shootingMode = (
|
|
1211
1250
|
},
|
1212
1251
|
},
|
1213
1252
|
# 0xa0 - undef[32]: AWB gains and black levels (ref forum9303)
|
1253
|
+
0xa1 => { #forum11194
|
1254
|
+
Name => 'FilterEffect',
|
1255
|
+
Writable => 'rational64u',
|
1256
|
+
Format => 'int32u',
|
1257
|
+
PrintConv => {
|
1258
|
+
'0 0' => 'Expressive',
|
1259
|
+
# '0 1' => have seen this for XS1 (PH)
|
1260
|
+
'0 2' => 'Retro',
|
1261
|
+
'0 4' => 'High Key',
|
1262
|
+
'0 8' => 'Sepia',
|
1263
|
+
'0 16' => 'High Dynamic',
|
1264
|
+
'0 32' => 'Miniature Effect',
|
1265
|
+
'0 256' => 'Low Key',
|
1266
|
+
'0 512' => 'Toy Effect',
|
1267
|
+
'0 1024' => 'Dynamic Monochrome',
|
1268
|
+
'0 2048' => 'Soft Focus',
|
1269
|
+
'0 4096' => 'Impressive Art',
|
1270
|
+
'0 8192' => 'Cross Process',
|
1271
|
+
'0 16384' => 'One Point Color',
|
1272
|
+
'0 32768' => 'Star Filter',
|
1273
|
+
'0 524288' => 'Old Days',
|
1274
|
+
'0 1048576' => 'Sunshine',
|
1275
|
+
'0 2097152' => 'Bleach Bypass',
|
1276
|
+
'0 4194304' => 'Toy Pop',
|
1277
|
+
'0 8388608' => 'Fantasy',
|
1278
|
+
'0 33554432' => 'Monochrome',
|
1279
|
+
'0 67108864' => 'Rough Monochrome',
|
1280
|
+
'0 134217728' => 'Silky Monochrome',
|
1281
|
+
},
|
1282
|
+
},
|
1214
1283
|
0xa3 => { #18
|
1215
1284
|
Name => 'ClearRetouchValue',
|
1216
1285
|
Writable => 'rational64u',
|
@@ -1230,9 +1299,15 @@ my %shootingMode = (
|
|
1230
1299
|
Writable => 'int16u',
|
1231
1300
|
PrintConv => { 0 => 'Off', 1 => 'On' },
|
1232
1301
|
},
|
1302
|
+
0xac => { #forum11194
|
1303
|
+
Name => 'MonochromeFilterEffect',
|
1304
|
+
Writable => 'int16u',
|
1305
|
+
PrintConv => { 0 => 'Off', 1 => 'Yellow', 2 => 'Orange', 3 => 'Red', 4 => 'Green' },
|
1306
|
+
},
|
1233
1307
|
0xad => { #forum9360
|
1234
1308
|
Name => 'HighlightShadow',
|
1235
1309
|
Writable => 'int16u',
|
1310
|
+
Format => 'int16s', #forum11194
|
1236
1311
|
Count => 2,
|
1237
1312
|
},
|
1238
1313
|
0xaf => { #PH (is this in UTC maybe? -- sometimes different time zone other times)
|
@@ -1243,6 +1318,11 @@ my %shootingMode = (
|
|
1243
1318
|
PrintConv => '$self->ConvertDateTime($val)',
|
1244
1319
|
PrintConvInv => '$self->InverseDateTime($val)',
|
1245
1320
|
},
|
1321
|
+
0xb3 => { #forum11194
|
1322
|
+
Name => 'VideoBurstResolution',
|
1323
|
+
Writable => 'int16u',
|
1324
|
+
PrintConv => { 1 => 'Off or 4K', 4 => '6K' },
|
1325
|
+
},
|
1246
1326
|
0xb4 => { #forum9429
|
1247
1327
|
Name => 'MultiExposure',
|
1248
1328
|
Writable => 'int16u',
|
@@ -1264,6 +1344,10 @@ my %shootingMode = (
|
|
1264
1344
|
0x28 => '4K Burst (Start/Stop)',
|
1265
1345
|
0x48 => '4K Pre-burst',
|
1266
1346
|
0x108 => 'Loop Recording',
|
1347
|
+
0x810 => '6K Burst',
|
1348
|
+
0x820 => '6K Burst (Start/Stop)',
|
1349
|
+
0x408 => 'Focus Stacking', #forum11563
|
1350
|
+
0x1001 => 'High Resolution Mode',
|
1267
1351
|
},
|
1268
1352
|
},
|
1269
1353
|
0xbc => { #forum9282
|
@@ -1271,6 +1355,36 @@ my %shootingMode = (
|
|
1271
1355
|
Writable => 'int16u',
|
1272
1356
|
PrintConv => { 0 => 'Off', 1 => 'Auto' },
|
1273
1357
|
},
|
1358
|
+
0xbd => { #forum11194
|
1359
|
+
Name => 'FocusBracket',
|
1360
|
+
Notes => 'positive is further, negative is closer',
|
1361
|
+
Writable => 'int16u',
|
1362
|
+
Format => 'int16s',
|
1363
|
+
},
|
1364
|
+
0xbe => { #forum11194
|
1365
|
+
Name => 'LongExposureNRUsed',
|
1366
|
+
Writable => 'int16u',
|
1367
|
+
PrintConv => { 0 => 'No', 1 => 'Yes' },
|
1368
|
+
},
|
1369
|
+
0xbf => { #forum11194
|
1370
|
+
Name => 'PostFocusMerging',
|
1371
|
+
Format => 'int32u',
|
1372
|
+
Count => 2,
|
1373
|
+
PrintConv => { '0 0' => 'Post Focus Auto Merging or None' },
|
1374
|
+
},
|
1375
|
+
0xc1 => { #forum11194
|
1376
|
+
Name => 'VideoPreburst',
|
1377
|
+
Writable => 'int16u',
|
1378
|
+
PrintConv => { 0 => 'No', 1 => '4K or 6K' },
|
1379
|
+
},
|
1380
|
+
0xca => { #forum11459
|
1381
|
+
Name => 'SensorType',
|
1382
|
+
Writable => 'int16u',
|
1383
|
+
PrintConv => {
|
1384
|
+
0 => 'Multi-aspect',
|
1385
|
+
1 => 'Standard',
|
1386
|
+
},
|
1387
|
+
},
|
1274
1388
|
# Note: LensTypeMake and LensTypeModel are combined into a Composite LensType tag
|
1275
1389
|
# defined in Olympus.pm which has the same values as Olympus:LensType
|
1276
1390
|
0xc4 => { #PH
|
@@ -1295,6 +1409,16 @@ my %shootingMode = (
|
|
1295
1409
|
RawConv => '$val > 0xfffffff0 ? undef : $val',
|
1296
1410
|
Writable => 'int32u',
|
1297
1411
|
},
|
1412
|
+
0xd2 => { #forum11194
|
1413
|
+
Name => 'MonochromeGrainEffect',
|
1414
|
+
Writable => 'int16u',
|
1415
|
+
PrintConv => {
|
1416
|
+
0 => 'Off',
|
1417
|
+
1 => 'Low',
|
1418
|
+
2 => 'Standard',
|
1419
|
+
3 => 'High',
|
1420
|
+
},
|
1421
|
+
},
|
1298
1422
|
0xd6 => { #PH (DC-S1)
|
1299
1423
|
Name => 'NoiseReductionStrength',
|
1300
1424
|
Writable => 'rational64s',
|
@@ -2347,7 +2471,8 @@ my %shootingMode = (
|
|
2347
2471
|
# AdvancedSceneType=5 for automatic mode iA (ref 19)
|
2348
2472
|
if ($prt) {
|
2349
2473
|
return $prt if $v[1] == 1;
|
2350
|
-
return "$prt (intelligent auto)" if $v[1] == 5;
|
2474
|
+
return "$prt (intelligent auto)" if $v[1] == 5; #forum11523
|
2475
|
+
return "$prt (intelligent auto plus)" if $v[1] == 7; #forum11523
|
2351
2476
|
return "$prt ($v[1])";
|
2352
2477
|
}
|
2353
2478
|
return "Unknown ($val)";
|
@@ -2370,10 +2495,19 @@ my %shootingMode = (
|
|
2370
2495
|
'9 3' => 'Objects', #(FZ28)
|
2371
2496
|
'9 4' => 'Creative Macro', #(FZ28)
|
2372
2497
|
#'9 5' - ? (GF3)
|
2498
|
+
'18 1' => 'High Sensitivity', #forum11523 (TZ5)
|
2499
|
+
'20 1' => 'Fireworks', #forum11523 (TZ5)
|
2373
2500
|
'21 2' => 'Illuminations', #(FZ28)
|
2374
2501
|
'21 4' => 'Creative Night Scenery', #(FZ28)
|
2375
2502
|
#'21 5' - ? (LX3)
|
2503
|
+
'26 1' => 'High-speed Burst (shot 1)', #forum11523 (TZ5)
|
2504
|
+
'27 1' => 'High-speed Burst (shot 2)', #forum11523 (TZ5)
|
2505
|
+
'29 1' => 'Snow', #forum11523 (TZ5)
|
2506
|
+
'30 1' => 'Starry Sky', #forum11523 (TZ5)
|
2507
|
+
'31 1' => 'Beach', #forum11523 (TZ5)
|
2508
|
+
'36 1' => 'High-speed Burst (shot 3)', #forum11523 (TZ5)
|
2376
2509
|
#'37 5' - ? (various)
|
2510
|
+
'39 1' => 'Aerial Photo / Underwater / Multi-aspect', #forum11523 (TZ5)
|
2377
2511
|
'45 2' => 'Cinema', #(GF2)
|
2378
2512
|
'45 7' => 'Expressive', #(GF1,GF2)
|
2379
2513
|
'45 8' => 'Retro', #(GF1,GF2)
|
@@ -512,6 +512,7 @@ my %panasonicWhiteBalance = ( #forum9396
|
|
512
512
|
# when format is int32u (S models), these values have been observed (ref IB):
|
513
513
|
# 256 - Leica lens
|
514
514
|
# 257 - Lumix lens
|
515
|
+
# 258 - ? (seen once)
|
515
516
|
},
|
516
517
|
0x1202 => { #IB
|
517
518
|
Name => 'LensTypeModel',
|
@@ -531,14 +532,45 @@ my %panasonicWhiteBalance = ( #forum9396
|
|
531
532
|
PrintConv => '"$val mm"',
|
532
533
|
PrintConvInv => '$val=~s/\s*mm$//;$val',
|
533
534
|
},
|
535
|
+
# 0x1300 - incident light value? (ref forum11395)
|
536
|
+
0x1301 => { #forum11395
|
537
|
+
Name => 'ApertureValue',
|
538
|
+
Writable => 'int16s',
|
539
|
+
Priority => 0,
|
540
|
+
ValueConv => '2 ** ($val / 512)',
|
541
|
+
ValueConvInv => '$val>0 ? 512*log($val)/log(2) : 0',
|
542
|
+
PrintConv => 'sprintf("%.1f",$val)',
|
543
|
+
PrintConvInv => '$val',
|
544
|
+
},
|
545
|
+
0x1302 => { #forum11395
|
546
|
+
Name => 'ShutterSpeedValue',
|
547
|
+
Writable => 'int16s',
|
548
|
+
Priority => 0,
|
549
|
+
ValueConv => 'abs($val/256)<100 ? 2**(-$val/256) : 0',
|
550
|
+
ValueConvInv => '$val>0 ? -256*log($val)/log(2) : -25600',
|
551
|
+
PrintConv => 'Image::ExifTool::Exif::PrintExposureTime($val)',
|
552
|
+
PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
|
553
|
+
},
|
554
|
+
0x1303 => { #forum11395
|
555
|
+
Name => 'SensitivityValue',
|
556
|
+
Writable => 'int16s',
|
557
|
+
ValueConv => '$val / 256',
|
558
|
+
ValueConvInv => 'int($val * 256)',
|
559
|
+
},
|
534
560
|
0x1305 => { #forum9384
|
535
561
|
Name => 'HighISOMode',
|
536
562
|
Writable => 'int16u',
|
537
563
|
RawConv => '$val || undef',
|
538
564
|
PrintConv => { 1 => 'On', 2 => 'Off' },
|
539
565
|
},
|
566
|
+
# 0x1306 EV for some models like the GX8 (forum11395)
|
540
567
|
# 0x140b - scaled overall black level? (ref forum9281)
|
541
568
|
# 0x1411 - scaled black level per channel difference (ref forum9281)
|
569
|
+
0x1412 => { #forum11397
|
570
|
+
Name => 'FacesDetected',
|
571
|
+
Writable => 'int8u',
|
572
|
+
PrintConv => { 0 => 'No', 1 => 'Yes' },
|
573
|
+
},
|
542
574
|
# 0x2000 - WB tungsten=3, daylight=4 (ref forum9467)
|
543
575
|
# 0x2009 - scaled black level per channel (ref forum9281)
|
544
576
|
# 0x3000-0x310b - red/blue balances * 1024 (ref forum9467)
|
@@ -600,6 +632,8 @@ my %panasonicWhiteBalance = ( #forum9396
|
|
600
632
|
Writable => 'int8u',
|
601
633
|
PrintConv => \%Image::ExifTool::Exif::orientation,
|
602
634
|
},
|
635
|
+
# 0x3504 = Tag 0x1301+0x1302-0x1303 (Bv = Av+Tv-Sv) (forum11395)
|
636
|
+
# 0x3505 - same as 0x1300 (forum11395)
|
603
637
|
0x3600 => { #forum9396
|
604
638
|
Name => 'WhiteBalanceDetected',
|
605
639
|
Writable => 'int8u',
|