exiftool_vendored 11.99.0 → 12.06.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 +119 -2
- data/bin/MANIFEST +5 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +32 -32
- data/bin/exiftool +55 -50
- data/bin/lib/Image/ExifTool.pm +155 -109
- data/bin/lib/Image/ExifTool.pod +103 -77
- 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 +11 -6
- data/bin/lib/Image/ExifTool/Canon.pm +2 -1
- 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 +16 -3
- 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 +5 -0
- data/bin/lib/Image/ExifTool/GeoTiff.pm +2 -0
- data/bin/lib/Image/ExifTool/GoPro.pm +10 -1
- data/bin/lib/Image/ExifTool/H264.pm +1 -1
- data/bin/lib/Image/ExifTool/ID3.pm +86 -12
- 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 +1 -1
- data/bin/lib/Image/ExifTool/MacOS.pm +1 -1
- data/bin/lib/Image/ExifTool/Minolta.pm +3 -2
- data/bin/lib/Image/ExifTool/Nikon.pm +134 -15
- data/bin/lib/Image/ExifTool/Olympus.pm +34 -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 +147 -13
- data/bin/lib/Image/ExifTool/PanasonicRaw.pm +33 -0
- data/bin/lib/Image/ExifTool/Parrot.pm +2 -1
- data/bin/lib/Image/ExifTool/Pentax.pm +2 -1
- data/bin/lib/Image/ExifTool/Photoshop.pm +2 -1
- data/bin/lib/Image/ExifTool/QuickTime.pm +204 -27
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +355 -19
- data/bin/lib/Image/ExifTool/README +20 -19
- 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 +376 -11
- data/bin/lib/Image/ExifTool/TagLookup.pm +1949 -1872
- data/bin/lib/Image/ExifTool/TagNames.pod +329 -53
- data/bin/lib/Image/ExifTool/Validate.pm +4 -4
- data/bin/lib/Image/ExifTool/WriteExif.pl +1 -0
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +23 -15
- data/bin/lib/Image/ExifTool/Writer.pl +44 -21
- data/bin/lib/Image/ExifTool/XMP.pm +41 -4
- data/bin/lib/Image/ExifTool/XMPStruct.pl +3 -1
- data/bin/lib/Image/ExifTool/ZISRAW.pm +123 -0
- data/bin/perl-Image-ExifTool.spec +31 -31
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +4 -3
@@ -27,6 +27,7 @@
|
|
27
27
|
# 19) Brad Grier private communication
|
28
28
|
# 22) Herbert Kauer private communication
|
29
29
|
# 23) Daniel Pollock private communication (PEN-F)
|
30
|
+
# 24) Sebastian private communication (E-M1 Mark III)
|
30
31
|
# IB) Iliah Borg private communication (LibRaw)
|
31
32
|
# NJ) Niels Kristian Bech Jensen private communication
|
32
33
|
#------------------------------------------------------------------------------
|
@@ -39,7 +40,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
|
|
39
40
|
use Image::ExifTool::Exif;
|
40
41
|
use Image::ExifTool::APP12;
|
41
42
|
|
42
|
-
$VERSION = '2.
|
43
|
+
$VERSION = '2.68';
|
43
44
|
|
44
45
|
sub PrintLensInfo($$$);
|
45
46
|
|
@@ -172,6 +173,7 @@ my %olympusLensTypes = (
|
|
172
173
|
'2 28 10' => 'Lumix G Vario 12-60mm F3.5-5.6 Asph. Power OIS', #NJ
|
173
174
|
'2 29 10' => 'Leica DG Summilux 12mm F1.4 Asph.', #IB
|
174
175
|
'2 30 10' => 'Leica DG Vario-Elmarit 12-60mm F2.8-4 Asph. Power OIS', #IB
|
176
|
+
'2 31 10' => 'Lumix G Vario 45-200mm F4.0-5.6 II', #forum3833
|
175
177
|
'2 32 10' => 'Lumix G Vario 100-300mm F4.0-5.6 II', #PH
|
176
178
|
'2 33 10' => 'Lumix G X Vario 12-35mm F2.8 II Asph. Power OIS', #IB
|
177
179
|
'2 34 10' => 'Lumix G Vario 35-100mm F2.8 II', #forum3833
|
@@ -184,6 +186,8 @@ my %olympusLensTypes = (
|
|
184
186
|
# Tamron lenses
|
185
187
|
'5 01 10' => 'Tamron 14-150mm F3.5-5.8 Di III', #NJ (model C001)
|
186
188
|
# '65535 07 40' - Seen for LUMIX S 16-35/F4 on Panasonic DC-S1H (ref PH)
|
189
|
+
# Other makes
|
190
|
+
'24 01 10' => 'Venus Optics Laowa 50mm F2.8 2x Macro', #DonKomarechka
|
187
191
|
);
|
188
192
|
|
189
193
|
# lookup for Olympus camera types (ref PH)
|
@@ -1836,6 +1840,7 @@ my %indexInfo = (
|
|
1836
1840
|
6 => 'Imager AF',
|
1837
1841
|
7 => 'Live View Magnification Frame',
|
1838
1842
|
8 => 'AF sensor',
|
1843
|
+
9 => 'Starry Sky AF', #24
|
1839
1844
|
},
|
1840
1845
|
}],
|
1841
1846
|
},
|
@@ -1893,9 +1898,13 @@ my %indexInfo = (
|
|
1893
1898
|
},
|
1894
1899
|
0x307 => { #15
|
1895
1900
|
Name => 'AFFineTuneAdj',
|
1896
|
-
|
1901
|
+
Writable => 'int16s',
|
1897
1902
|
Count => 3, # not sure what the 3 values mean
|
1898
1903
|
},
|
1904
|
+
0x308 => { #forum11578
|
1905
|
+
Name => 'FocusBracketStepSize',
|
1906
|
+
Writable => 'int8u',
|
1907
|
+
},
|
1899
1908
|
0x400 => { #6
|
1900
1909
|
Name => 'FlashMode',
|
1901
1910
|
Writable => 'int16u',
|
@@ -2511,6 +2520,8 @@ my %indexInfo = (
|
|
2511
2520
|
Count => 2,
|
2512
2521
|
PrintConv => {
|
2513
2522
|
'0 0' => 'No',
|
2523
|
+
'1 *' => 'Live Composite (* images)', #24
|
2524
|
+
'4 *' => 'Live Time/Bulb (* images)', #24
|
2514
2525
|
'3 2' => 'ND2 (1EV)', #IB
|
2515
2526
|
'3 4' => 'ND4 (2EV)', #IB
|
2516
2527
|
'3 8' => 'ND8 (3EV)', #IB
|
@@ -2519,21 +2530,26 @@ my %indexInfo = (
|
|
2519
2530
|
'5 4' => 'HDR1', #forum8906
|
2520
2531
|
'6 4' => 'HDR2', #forum8906
|
2521
2532
|
'8 8' => 'Tripod high resolution', #IB
|
2522
|
-
'9
|
2523
|
-
'
|
2524
|
-
|
2525
|
-
|
2526
|
-
|
2527
|
-
|
2528
|
-
|
2529
|
-
|
2530
|
-
|
2531
|
-
|
2532
|
-
|
2533
|
-
|
2534
|
-
|
2535
|
-
|
2536
|
-
|
2533
|
+
'9 *' => 'Focus-stacked (* images)', #IB (* = 2-15)
|
2534
|
+
'11 16' => 'Hand-held high resolution', #IB (perhaps '11 15' would be possible, ref 24)
|
2535
|
+
OTHER => sub {
|
2536
|
+
my ($val, $inv, $conv) = @_;
|
2537
|
+
if ($inv) {
|
2538
|
+
$val = lc $val;
|
2539
|
+
return undef unless $val =~ s/(\d+) images/\* images/;
|
2540
|
+
my $num = $1;
|
2541
|
+
foreach (keys %$conv) {
|
2542
|
+
next unless $val eq lc $$conv{$_};
|
2543
|
+
($val = $_) =~ s/\*/$num/ or return undef;
|
2544
|
+
return $val;
|
2545
|
+
}
|
2546
|
+
} else {
|
2547
|
+
return "Unknown ($_[0])" unless $val =~ s/ (\d+)/ \*/ and $$conv{$val};
|
2548
|
+
my $num = $1;
|
2549
|
+
($val = $$conv{$val}) =~ s/\*/$num/;
|
2550
|
+
return $val;
|
2551
|
+
}
|
2552
|
+
},
|
2537
2553
|
},
|
2538
2554
|
},
|
2539
2555
|
0x900 => { #11
|
@@ -2894,6 +2910,7 @@ my %indexInfo = (
|
|
2894
2910
|
Count => 2,
|
2895
2911
|
PrintConv => [{
|
2896
2912
|
0 => 'Off',
|
2913
|
+
1 => 'Live Composite', #github issue#61
|
2897
2914
|
2 => 'On (2 frames)',
|
2898
2915
|
3 => 'On (3 frames)',
|
2899
2916
|
}],
|
@@ -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.13';
|
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',
|
@@ -2418,6 +2542,16 @@ my %shootingMode = (
|
|
2418
2542
|
'DMC-TZ40 90 10' => 'Toy Effect',
|
2419
2543
|
'DMC-TZ40 90 11' => 'Dynamic Monochrome',
|
2420
2544
|
'DMC-TZ40 90 12' => 'Soft',
|
2545
|
+
# some TZ5 modes are different (forum11523)
|
2546
|
+
# (these may be the same for the TZ4, TZ11 and TZ15)
|
2547
|
+
'DMC-TZ5 18 1' => 'High Sensitivity',
|
2548
|
+
'DMC-TZ5 26 1' => 'High-speed Burst (shot 1)',
|
2549
|
+
'DMC-TZ5 27 1' => 'High-speed Burst (shot 2)',
|
2550
|
+
'DMC-TZ5 29 1' => 'Snow',
|
2551
|
+
'DMC-TZ5 30 1' => 'Starry Sky',
|
2552
|
+
'DMC-TZ5 31 1' => 'Beach',
|
2553
|
+
'DMC-TZ5 36 1' => 'High-speed Burst (shot 3)',
|
2554
|
+
'DMC-TZ5 39 1' => 'Aerial Photo / Underwater / Multi-aspect',
|
2421
2555
|
},
|
2422
2556
|
},
|
2423
2557
|
);
|