exiftool_vendored 11.98.0 → 12.10.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 +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',
|