exiftool_vendored 11.99.0 → 12.11.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 +201 -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 +172 -99
- data/bin/lib/Image/ExifTool.pm +170 -117
- data/bin/lib/Image/ExifTool.pod +132 -97
- 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 -13
- 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 +86 -12
- data/bin/lib/Image/ExifTool/IPTC.pm +1 -0
- data/bin/lib/Image/ExifTool/Import.pm +12 -9
- 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 +1 -1
- data/bin/lib/Image/ExifTool/MPF.pm +2 -2
- 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/Nikon.pm +143 -17
- data/bin/lib/Image/ExifTool/Olympus.pm +40 -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 +11 -3
- data/bin/lib/Image/ExifTool/Photoshop.pm +2 -1
- data/bin/lib/Image/ExifTool/QuickTime.pm +240 -37
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +419 -60
- data/bin/lib/Image/ExifTool/README +25 -21
- data/bin/lib/Image/ExifTool/RSRC.pm +17 -11
- 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 +423 -39
- data/bin/lib/Image/ExifTool/Stim.pm +2 -2
- data/bin/lib/Image/ExifTool/TagLookup.pm +5798 -5675
- data/bin/lib/Image/ExifTool/TagNames.pod +575 -100
- 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 +30 -21
- data/bin/lib/Image/ExifTool/Writer.pl +49 -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 +9 -8
|
@@ -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.70';
|
|
43
44
|
|
|
44
45
|
sub PrintLensInfo($$$);
|
|
45
46
|
|
|
@@ -108,6 +109,7 @@ my %olympusLensTypes = (
|
|
|
108
109
|
'0 32 00' => 'Olympus Zuiko Digital ED 14-35mm F2.0 SWD', #PH
|
|
109
110
|
'0 32 10' => 'Olympus M.Zuiko Digital ED 12-200mm F3.5-6.3', #IB
|
|
110
111
|
'0 33 00' => 'Olympus Zuiko Digital 25mm F2.8', #PH
|
|
112
|
+
'0 33 10' => 'Olympus M.Zuiko Digital 150-400mm F4.5 TC1.25x IS Pro', #IB
|
|
111
113
|
'0 34 00' => 'Olympus Zuiko Digital ED 9-18mm F4.0-5.6', #7
|
|
112
114
|
'0 34 10' => 'Olympus M.Zuiko Digital ED 12-45mm F4.0 Pro', #IB
|
|
113
115
|
'0 35 00' => 'Olympus Zuiko Digital 14-54mm F2.8-3.5 II', #PH
|
|
@@ -172,6 +174,7 @@ my %olympusLensTypes = (
|
|
|
172
174
|
'2 28 10' => 'Lumix G Vario 12-60mm F3.5-5.6 Asph. Power OIS', #NJ
|
|
173
175
|
'2 29 10' => 'Leica DG Summilux 12mm F1.4 Asph.', #IB
|
|
174
176
|
'2 30 10' => 'Leica DG Vario-Elmarit 12-60mm F2.8-4 Asph. Power OIS', #IB
|
|
177
|
+
'2 31 10' => 'Lumix G Vario 45-200mm F4.0-5.6 II', #forum3833
|
|
175
178
|
'2 32 10' => 'Lumix G Vario 100-300mm F4.0-5.6 II', #PH
|
|
176
179
|
'2 33 10' => 'Lumix G X Vario 12-35mm F2.8 II Asph. Power OIS', #IB
|
|
177
180
|
'2 34 10' => 'Lumix G Vario 35-100mm F2.8 II', #forum3833
|
|
@@ -184,6 +187,8 @@ my %olympusLensTypes = (
|
|
|
184
187
|
# Tamron lenses
|
|
185
188
|
'5 01 10' => 'Tamron 14-150mm F3.5-5.8 Di III', #NJ (model C001)
|
|
186
189
|
# '65535 07 40' - Seen for LUMIX S 16-35/F4 on Panasonic DC-S1H (ref PH)
|
|
190
|
+
# Other makes
|
|
191
|
+
'24 01 10' => 'Venus Optics Laowa 50mm F2.8 2x Macro', #DonKomarechka
|
|
187
192
|
);
|
|
188
193
|
|
|
189
194
|
# lookup for Olympus camera types (ref PH)
|
|
@@ -1836,6 +1841,7 @@ my %indexInfo = (
|
|
|
1836
1841
|
6 => 'Imager AF',
|
|
1837
1842
|
7 => 'Live View Magnification Frame',
|
|
1838
1843
|
8 => 'AF sensor',
|
|
1844
|
+
9 => 'Starry Sky AF', #24
|
|
1839
1845
|
},
|
|
1840
1846
|
}],
|
|
1841
1847
|
},
|
|
@@ -1893,9 +1899,13 @@ my %indexInfo = (
|
|
|
1893
1899
|
},
|
|
1894
1900
|
0x307 => { #15
|
|
1895
1901
|
Name => 'AFFineTuneAdj',
|
|
1896
|
-
|
|
1902
|
+
Writable => 'int16s',
|
|
1897
1903
|
Count => 3, # not sure what the 3 values mean
|
|
1898
1904
|
},
|
|
1905
|
+
0x308 => { #forum11578
|
|
1906
|
+
Name => 'FocusBracketStepSize',
|
|
1907
|
+
Writable => 'int8u',
|
|
1908
|
+
},
|
|
1899
1909
|
0x400 => { #6
|
|
1900
1910
|
Name => 'FlashMode',
|
|
1901
1911
|
Writable => 'int16u',
|
|
@@ -2120,6 +2130,11 @@ my %indexInfo = (
|
|
|
2120
2130
|
67 => 'Soft Background Shot', #11
|
|
2121
2131
|
142 => 'Hand-held Starlight', #PH (SH-21)
|
|
2122
2132
|
154 => 'HDR', #PH (XZ-2)
|
|
2133
|
+
197 => 'Panning', #forum11631 (EM5iii)
|
|
2134
|
+
203 => 'Light Trails', #forum11631 (EM5iii)
|
|
2135
|
+
204 => 'Backlight HDR', #forum11631 (EM5iii)
|
|
2136
|
+
205 => 'Silent', #forum11631 (EM5iii)
|
|
2137
|
+
206 => 'Multi Focus Shot', #forum11631 (EM5iii)
|
|
2123
2138
|
},
|
|
2124
2139
|
},
|
|
2125
2140
|
0x50a => { #PH/4/6
|
|
@@ -2511,6 +2526,8 @@ my %indexInfo = (
|
|
|
2511
2526
|
Count => 2,
|
|
2512
2527
|
PrintConv => {
|
|
2513
2528
|
'0 0' => 'No',
|
|
2529
|
+
'1 *' => 'Live Composite (* images)', #24
|
|
2530
|
+
'4 *' => 'Live Time/Bulb (* images)', #24
|
|
2514
2531
|
'3 2' => 'ND2 (1EV)', #IB
|
|
2515
2532
|
'3 4' => 'ND4 (2EV)', #IB
|
|
2516
2533
|
'3 8' => 'ND8 (3EV)', #IB
|
|
@@ -2519,21 +2536,26 @@ my %indexInfo = (
|
|
|
2519
2536
|
'5 4' => 'HDR1', #forum8906
|
|
2520
2537
|
'6 4' => 'HDR2', #forum8906
|
|
2521
2538
|
'8 8' => 'Tripod high resolution', #IB
|
|
2522
|
-
'9
|
|
2523
|
-
'
|
|
2524
|
-
|
|
2525
|
-
|
|
2526
|
-
|
|
2527
|
-
|
|
2528
|
-
|
|
2529
|
-
|
|
2530
|
-
|
|
2531
|
-
|
|
2532
|
-
|
|
2533
|
-
|
|
2534
|
-
|
|
2535
|
-
|
|
2536
|
-
|
|
2539
|
+
'9 *' => 'Focus-stacked (* images)', #IB (* = 2-15)
|
|
2540
|
+
'11 16' => 'Hand-held high resolution', #IB (perhaps '11 15' would be possible, ref 24)
|
|
2541
|
+
OTHER => sub {
|
|
2542
|
+
my ($val, $inv, $conv) = @_;
|
|
2543
|
+
if ($inv) {
|
|
2544
|
+
$val = lc $val;
|
|
2545
|
+
return undef unless $val =~ s/(\d+) images/\* images/;
|
|
2546
|
+
my $num = $1;
|
|
2547
|
+
foreach (keys %$conv) {
|
|
2548
|
+
next unless $val eq lc $$conv{$_};
|
|
2549
|
+
($val = $_) =~ s/\*/$num/ or return undef;
|
|
2550
|
+
return $val;
|
|
2551
|
+
}
|
|
2552
|
+
} else {
|
|
2553
|
+
return "Unknown ($_[0])" unless $val =~ s/ (\d+)/ \*/ and $$conv{$val};
|
|
2554
|
+
my $num = $1;
|
|
2555
|
+
($val = $$conv{$val}) =~ s/\*/$num/;
|
|
2556
|
+
return $val;
|
|
2557
|
+
}
|
|
2558
|
+
},
|
|
2537
2559
|
},
|
|
2538
2560
|
},
|
|
2539
2561
|
0x900 => { #11
|
|
@@ -2894,6 +2916,7 @@ my %indexInfo = (
|
|
|
2894
2916
|
Count => 2,
|
|
2895
2917
|
PrintConv => [{
|
|
2896
2918
|
0 => 'Off',
|
|
2919
|
+
1 => 'Live Composite', #github issue#61
|
|
2897
2920
|
2 => 'On (2 frames)',
|
|
2898
2921
|
3 => 'On (3 frames)',
|
|
2899
2922
|
}],
|
|
@@ -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)
|