diff --git a/rtengine/dcraw.cc b/rtengine/dcraw.cc index 85fb07432..c4a0772a4 100644 --- a/rtengine/dcraw.cc +++ b/rtengine/dcraw.cc @@ -7616,6 +7616,11 @@ canon_cr2: 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; diff --git a/rtengine/dcraw.patch b/rtengine/dcraw.patch index 11df4c2bc..c4af353a9 100644 --- a/rtengine/dcraw.patch +++ b/rtengine/dcraw.patch @@ -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 +/*RT*/#include @@ -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 (×tamp); 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; }