Update of /cvsroot/ufraw/ufraw
In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv30707
Modified Files:
wb_extract.pl
Log Message:
Update wb_extract.pl to use recent versions of exiftool. Patch by Sebastian
Kraus.
Index: wb_extract.pl
===================================================================
RCS file: /cvsroot/ufraw/ufraw/wb_extract.pl,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- wb_extract.pl 9 Jan 2013 16:30:07 -0000 1.5
+++ wb_extract.pl 15 Oct 2013 14:30:10 -0000 1.6
@@ -32,16 +32,16 @@
for my $file (@ARGV) {
if ($file eq "-const") {
- $const_WB = 1;
- next
+ $const_WB = 1;
+ next
}
my ($make, $model, $fw_version, $wbname, $wbfinetune, $wbfinetune_1,
$mulred, $mulgreen, $mulblue);
$mulgreen = 1; # default value for green balance
- $wbfinetune = $wbfinetune_1 = 0; # avoid warnings about uninitialized vars
+ $wbfinetune = $wbfinetune_1 = 0, $mulred = -1, $mulblue = -1; # avoid
warnings about uninitialized vars
- open(EXIFTOOL, "exiftool -s -t -Model -CanonModelID -FirmwareVersion
-ColorBalance1 -RedBalance -BlueBalance -WhiteBalance -WBShiftAB
-WBBracketValueAB $file|")
- or die "can't open $file: $!";
+ open(EXIFTOOL, "exiftool -s -t -Model -CanonModelID -SonyModelID
-FirmwareVersion -Software -ColorBalance1 -RedBalance -BlueBalance
-WhiteBalance -WBShiftAB -WBBracketValueAB -\"WB_RGGB*\" $file|")
+ or die "can't open $file: $!";
while (my $line = <EXIFTOOL>) {
$line =~ /([^\t]+)\t(.*)/ or next;
my ($field, $value) = ($1, $2);
@@ -49,8 +49,12 @@
($make, $model) = split(/ +/, $value);
} elsif ($field eq "CanonModelID") {
$model = $value;
+ } elsif ($field eq "SonyModelID") {
+ $model = $value;
} elsif ($field eq "FirmwareVersion") {
$fw_version = $value;
+ } elsif ($field eq "Software") {
+ $fw_version = $value;
} elsif ($field eq "ColorBalance1") { # Field for D200
my $mul_unknown;
($mulred, $mulblue, $mulgreen, $mul_unknown) = split(/ +/, $value);
@@ -66,6 +70,25 @@
$wbfinetune = $value;
} elsif ($field eq "WBBracketValueAB") {
$wbfinetune_1 = $value;
+ } elsif ($field eq "WB_RGGBLevels") {
+ my ($mul_tmp1, $mul_tmp2, $mul_tmp3, $mul_tmp4) = split(/ +/, $value);
+ $mulred = ($mul_tmp1 / $mul_tmp2);
+ $mulblue = ($mul_tmp4 / $mul_tmp3);
+ } elsif ($field =~ /WB_RGGBLevels/) { # Get embedded whitebalance values
+ $field =~ s/^WB_RGGBLevels//; # Truncate for whitebalance-name
+ my ($mul_tmp1, $mul_tmp2, $mul_tmp3, $mul_tmp4) = split(/ +/, $value);
+
+ my $tmp_mulred = ($mul_tmp1 / $mul_tmp2);
+ my $tmp_mulblue = ($mul_tmp4 / $mul_tmp3);
+
+ my $result;
+ $result = sprintf " { \"%s\", \"%s\", ", $make, $model;
+ $result .= sprintf "\"%s\", ", $field;
+ $result .= sprintf "%d,", 0;
+ $result .= " " while length($result) < 48;
+ $result .= "{ $tmp_mulred, 0, $tmp_mulblue, 0 } },";
+
+ print $result, "\n";
}
}
close EXIFTOOL;
------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk
_______________________________________________
ufraw-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ufraw-cvs