Upgraded dcraw to 9.04 (from 9.03)
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
--- dcraw.c 2010-06-30 10:40:16.000000000 -0600
|
||||
+++ dcraw.cc 2010-06-30 10:36:00.000000000 -0600
|
||||
--- dcraw.c 2010-10-18 17:48:44.000000000 -0600
|
||||
+++ dcraw.cc 2010-10-18 18:31:30.000000000 -0600
|
||||
@@ -1,3 +1,16 @@
|
||||
+/*RT*/#include <glib.h>
|
||||
+/*RT*/#include <glib/gstdio.h>
|
||||
@@ -72,7 +72,16 @@
|
||||
filters &= ~((filters & 0x55555555) << 1);
|
||||
}
|
||||
}
|
||||
@@ -4817,7 +4835,7 @@
|
||||
@@ -4447,7 +4465,7 @@
|
||||
}
|
||||
if (tag == 0xd && type == 7 && get2() == 0xaaaa) {
|
||||
fread (buf97, 1, sizeof buf97, ifp);
|
||||
- i = (uchar *) memmem (buf97, sizeof buf97,"\xbb\xbb",2) - buf97 + 10;
|
||||
+ i = (uchar *) memmem ((char*) buf97, sizeof buf97,"\xbb\xbb",2) - buf97 + 10;
|
||||
if (i < 70 && buf97[i] < 3)
|
||||
flip = "065"[buf97[i]]-'0';
|
||||
}
|
||||
@@ -4824,7 +4842,7 @@
|
||||
unsigned sony_curve[] = { 0,0,0,0,0,4095 };
|
||||
unsigned *buf, sony_offset=0, sony_length=0, sony_key=0;
|
||||
struct jhead jh;
|
||||
@@ -81,7 +90,7 @@
|
||||
|
||||
if (tiff_nifds >= sizeof tiff_ifd / sizeof tiff_ifd[0])
|
||||
return 1;
|
||||
@@ -5225,12 +5243,13 @@
|
||||
@@ -5235,12 +5253,13 @@
|
||||
fread (buf, sony_length, 1, ifp);
|
||||
sony_decrypt (buf, sony_length/4, 1, sony_key);
|
||||
sfp = ifp;
|
||||
@@ -100,16 +109,16 @@
|
||||
ifp = sfp;
|
||||
free (buf);
|
||||
}
|
||||
@@ -5256,6 +5275,8 @@
|
||||
int doff, max_samp=0, raw=-1, thm=-1, i;
|
||||
struct jhead jh;
|
||||
@@ -5265,6 +5284,8 @@
|
||||
{
|
||||
int doff;
|
||||
|
||||
+ /*RT*/ exif_base = base;
|
||||
+
|
||||
fseek (ifp, base, SEEK_SET);
|
||||
order = get2();
|
||||
if (order != 0x4949 && order != 0x4d4d) return;
|
||||
@@ -5424,7 +5445,7 @@
|
||||
if (order != 0x4949 && order != 0x4d4d) return 0;
|
||||
@@ -5439,7 +5460,7 @@
|
||||
{
|
||||
const char *file, *ext;
|
||||
char *jname, *jfile, *jext;
|
||||
@@ -118,7 +127,7 @@
|
||||
|
||||
ext = strrchr (ifname, '.');
|
||||
file = strrchr (ifname, '/');
|
||||
@@ -5452,7 +5473,8 @@
|
||||
@@ -5467,7 +5488,8 @@
|
||||
*jext = '0';
|
||||
}
|
||||
if (strcmp (jname, ifname)) {
|
||||
@@ -128,19 +137,22 @@
|
||||
if (verbose)
|
||||
fprintf (stderr,_("Reading metadata from %s ...\n"), jname);
|
||||
parse_tiff (12);
|
||||
@@ -5790,7 +5812,11 @@
|
||||
@@ -5805,8 +5827,12 @@
|
||||
order = get2();
|
||||
hlen = get4();
|
||||
if (get4() == 0x48454150) /* "HEAP" */
|
||||
- parse_ciff (save+hlen, len-hlen);
|
||||
- if (parse_tiff (save+6)) apply_tiff();
|
||||
+/*RT*/ {
|
||||
+/*RT*/ ciff_base = save+hlen;
|
||||
+/*RT*/ ciff_len = len-hlen;
|
||||
parse_ciff (save+hlen, len-hlen);
|
||||
+ parse_ciff (save+hlen, len-hlen);
|
||||
+/*RT*/ }
|
||||
parse_tiff (save+6);
|
||||
+ if (parse_tiff (save+6)) apply_tiff();
|
||||
fseek (ifp, save+len, SEEK_SET);
|
||||
}
|
||||
@@ -6738,6 +6764,12 @@
|
||||
return 1;
|
||||
@@ -6755,6 +6781,12 @@
|
||||
fread (head, 1, 32, ifp);
|
||||
fseek (ifp, 0, SEEK_END);
|
||||
flen = fsize = ftell(ifp);
|
||||
@@ -153,16 +165,16 @@
|
||||
if ((cp = (char *) memmem (head, 32, "MMMM", 4)) ||
|
||||
(cp = (char *) memmem (head, 32, "IIII", 4))) {
|
||||
parse_phase_one (cp-head);
|
||||
@@ -6745,6 +6777,8 @@
|
||||
@@ -6762,6 +6794,8 @@
|
||||
} else if (order == 0x4949 || order == 0x4d4d) {
|
||||
if (!memcmp (head+6,"HEAPCCDR",8)) {
|
||||
data_offset = hlen;
|
||||
+/*RT*/ ciff_base = hlen;
|
||||
+/*RT*/ ciff_len = fsize - hlen;
|
||||
parse_ciff (hlen, flen - hlen);
|
||||
} else {
|
||||
parse_tiff(0);
|
||||
@@ -8494,13 +8528,13 @@
|
||||
} else if (parse_tiff(0)) apply_tiff();
|
||||
} else if (!memcmp (head,"\xff\xd8\xff\xe1",4) &&
|
||||
@@ -8511,13 +8545,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)
|
||||
@@ -178,7 +190,7 @@
|
||||
{
|
||||
int arg, status=0;
|
||||
int timestamp_only=0, thumbnail_only=0, identify_only=0;
|
||||
@@ -8613,7 +8647,7 @@
|
||||
@@ -8630,7 +8664,7 @@
|
||||
case 'i': identify_only = 1; break;
|
||||
case 'c': write_to_stdout = 1; break;
|
||||
case 'v': verbose = 1; break;
|
||||
@@ -187,7 +199,7 @@
|
||||
case 'f': four_color_rgb = 1; break;
|
||||
case 'A': FORC4 greybox[c] = atoi(argv[arg++]);
|
||||
case 'a': use_auto_wb = 1; break;
|
||||
@@ -8877,3 +8911,537 @@
|
||||
@@ -8894,3 +8928,537 @@
|
||||
}
|
||||
return status;
|
||||
}
|
||||
@@ -610,7 +622,7 @@
|
||||
+
|
||||
+ // generate histogram for auto exposure
|
||||
+ tpp->aeHistCompression = 3;
|
||||
+ tpp->aeHistogram = new int[65536>>tpp->aeHistCompression];
|
||||
+ tpp->aeHistogram = new unsigned int[65536>>tpp->aeHistCompression];
|
||||
+ memset (tpp->aeHistogram, 0, (65536>>tpp->aeHistCompression)*sizeof(int));
|
||||
+ int radd = 4;
|
||||
+ int gadd = 2;
|
||||
|
Reference in New Issue
Block a user