Fix for Canon 5D Mark III

on behalf Lebedev, issue 1347
This commit is contained in:
Oliver Duis
2012-05-02 18:24:08 +02:00
parent 1f903d5c4c
commit e2647a0f19
2 changed files with 24 additions and 7 deletions

View File

@@ -1,5 +1,5 @@
--- dcraw.c 2012-04-21 12:55:36.000000000 +0400
+++ dcraw.cc 2012-04-21 13:11:13.000000000 +0400
--- dcraw.c 2012-04-22 10:27:51.049670938 +0400
+++ dcraw.cc 2012-05-02 00:00:16.799334397 +0400
@@ -1,3 +1,15 @@
+/*RT*/#include <glib.h>
+/*RT*/#include <glib/gstdio.h>
@@ -773,7 +773,19 @@
if (width >= 4960 && !strcmp(model,"K-5"))
{ left_margin = 10; width = 4950; filters = 0x16161616; }
if (width == 4736 && !strcmp(model,"K-7"))
@@ -8553,7 +8584,7 @@
@@ -7585,6 +7616,11 @@
width = 5640;
top_margin = 20;
left_margin = 62;
+ } else if (is_canon && raw_width == 5920) {
+ height = 3870;
+ width = 5796;
+ top_margin = 80;
+ left_margin = 122;
} else if (!strcmp(model,"D1")) {
cam_mul[0] *= 256/527.0;
cam_mul[2] *= 256/317.0;
@@ -8553,7 +8589,7 @@
for (j=0; j < 3; j++) {
for (num = k=0; k < 3; k++)
num += xyzd50_srgb[i][k] * inverse[j][k];
@@ -782,7 +794,7 @@
}
for (i=0; i < phead[0]/4; i++)
oprof[i] = htonl(oprof[i]);
@@ -8779,7 +8810,7 @@
@@ -8779,7 +8815,7 @@
strncpy (th->desc, desc, 512);
strncpy (th->make, make, 64);
strncpy (th->model, model, 64);
@@ -791,7 +803,7 @@
t = localtime (&timestamp);
sprintf (th->date, "%04d:%02d:%02d %02d:%02d:%02d",
t->tm_year+1900,t->tm_mon+1,t->tm_mday,t->tm_hour,t->tm_min,t->tm_sec);
@@ -8852,13 +8883,13 @@
@@ -8852,13 +8888,13 @@
FORCC ppm [col*colors+c] = curve[image[soff][c]] >> 8;
else FORCC ppm2[col*colors+c] = curve[image[soff][c]];
if (output_bps == 16 && !output_tiff && htons(0x55aa) != 0x55aa)
@@ -807,7 +819,7 @@
{
int arg, status=0;
int timestamp_only=0, thumbnail_only=0, identify_only=0;
@@ -8971,7 +9002,7 @@
@@ -8971,7 +9007,7 @@
case 'i': identify_only = 1; break;
case 'c': write_to_stdout = 1; break;
case 'v': verbose = 1; break;
@@ -816,7 +828,7 @@
case 'f': four_color_rgb = 1; break;
case 'A': FORC4 greybox[c] = atoi(argv[arg++]);
case 'a': use_auto_wb = 1; break;
@@ -9234,3 +9265,11 @@
@@ -9234,3 +9270,11 @@
}
return status;
}