|
|
|
@ -3595,28 +3595,28 @@ void CLASS lin_interpolate()
|
|
|
|
|
void CLASS vng_interpolate()
|
|
|
|
|
{
|
|
|
|
|
static const signed char *cp, terms[] = {
|
|
|
|
|
-2,-2,+0,-1,0,0x01, -2,-2,+0,+0,1,0x01, -2,-1,-1,+0,0,0x01,
|
|
|
|
|
-2,-1,+0,-1,0,0x02, -2,-1,+0,+0,0,0x03, -2,-1,+0,+1,1,0x01,
|
|
|
|
|
-2,+0,+0,-1,0,0x06, -2,+0,+0,+0,1,0x02, -2,+0,+0,+1,0,0x03,
|
|
|
|
|
-2,+1,-1,+0,0,0x04, -2,+1,+0,-1,1,0x04, -2,+1,+0,+0,0,0x06,
|
|
|
|
|
-2,+1,+0,+1,0,0x02, -2,+2,+0,+0,1,0x04, -2,+2,+0,+1,0,0x04,
|
|
|
|
|
-1,-2,-1,+0,0,0x80, -1,-2,+0,-1,0,0x01, -1,-2,+1,-1,0,0x01,
|
|
|
|
|
-1,-2,+1,+0,1,0x01, -1,-1,-1,+1,0,0x88, -1,-1,+1,-2,0,0x40,
|
|
|
|
|
-1,-1,+1,-1,0,0x22, -1,-1,+1,+0,0,0x33, -1,-1,+1,+1,1,0x11,
|
|
|
|
|
-1,+0,-1,+2,0,0x08, -1,+0,+0,-1,0,0x44, -1,+0,+0,+1,0,0x11,
|
|
|
|
|
-1,+0,+1,-2,1,0x40, -1,+0,+1,-1,0,0x66, -1,+0,+1,+0,1,0x22,
|
|
|
|
|
-1,+0,+1,+1,0,0x33, -1,+0,+1,+2,1,0x10, -1,+1,+1,-1,1,0x44,
|
|
|
|
|
-1,+1,+1,+0,0,0x66, -1,+1,+1,+1,0,0x22, -1,+1,+1,+2,0,0x10,
|
|
|
|
|
-1,+2,+0,+1,0,0x04, -1,+2,+1,+0,1,0x04, -1,+2,+1,+1,0,0x04,
|
|
|
|
|
+0,-2,+0,+0,1,0x80, +0,-1,+0,+1,1,0x88, +0,-1,+1,-2,0,0x40,
|
|
|
|
|
+0,-1,+1,+0,0,0x11, +0,-1,+2,-2,0,0x40, +0,-1,+2,-1,0,0x20,
|
|
|
|
|
+0,-1,+2,+0,0,0x30, +0,-1,+2,+1,1,0x10, +0,+0,+0,+2,1,0x08,
|
|
|
|
|
+0,+0,+2,-2,1,0x40, +0,+0,+2,-1,0,0x60, +0,+0,+2,+0,1,0x20,
|
|
|
|
|
+0,+0,+2,+1,0,0x30, +0,+0,+2,+2,1,0x10, +0,+1,+1,+0,0,0x44,
|
|
|
|
|
+0,+1,+1,+2,0,0x10, +0,+1,+2,-1,1,0x40, +0,+1,+2,+0,0,0x60,
|
|
|
|
|
+0,+1,+2,+1,0,0x20, +0,+1,+2,+2,0,0x10, +1,-2,+1,+0,0,0x80,
|
|
|
|
|
+1,-1,+1,+1,0,0x88, +1,+0,+1,+2,0,0x08, +1,+0,+2,-1,0,0x40,
|
|
|
|
|
+1,+0,+2,+1,0,0x10
|
|
|
|
|
-2,-2,+0,-1,0,'\x01', -2,-2,+0,+0,1,'\x01', -2,-1,-1,+0,0,'\x01',
|
|
|
|
|
-2,-1,+0,-1,0,'\x02', -2,-1,+0,+0,0,'\x03', -2,-1,+0,+1,1,'\x01',
|
|
|
|
|
-2,+0,+0,-1,0,'\x06', -2,+0,+0,+0,1,'\x02', -2,+0,+0,+1,0,'\x03',
|
|
|
|
|
-2,+1,-1,+0,0,'\x04', -2,+1,+0,-1,1,'\x04', -2,+1,+0,+0,0,'\x06',
|
|
|
|
|
-2,+1,+0,+1,0,'\x02', -2,+2,+0,+0,1,'\x04', -2,+2,+0,+1,0,'\x04',
|
|
|
|
|
-1,-2,-1,+0,0,'\x80', -1,-2,+0,-1,0,'\x01', -1,-2,+1,-1,0,'\x01',
|
|
|
|
|
-1,-2,+1,+0,1,'\x01', -1,-1,-1,+1,0,'\x88', -1,-1,+1,-2,0,'\x40',
|
|
|
|
|
-1,-1,+1,-1,0,'\x22', -1,-1,+1,+0,0,'\x33', -1,-1,+1,+1,1,'\x11',
|
|
|
|
|
-1,+0,-1,+2,0,'\x08', -1,+0,+0,-1,0,'\x44', -1,+0,+0,+1,0,'\x11',
|
|
|
|
|
-1,+0,+1,-2,1,'\x40', -1,+0,+1,-1,0,'\x66', -1,+0,+1,+0,1,'\x22',
|
|
|
|
|
-1,+0,+1,+1,0,'\x33', -1,+0,+1,+2,1,'\x10', -1,+1,+1,-1,1,'\x44',
|
|
|
|
|
-1,+1,+1,+0,0,'\x66', -1,+1,+1,+1,0,'\x22', -1,+1,+1,+2,0,'\x10',
|
|
|
|
|
-1,+2,+0,+1,0,'\x04', -1,+2,+1,+0,1,'\x04', -1,+2,+1,+1,0,'\x04',
|
|
|
|
|
+0,-2,+0,+0,1,'\x80', +0,-1,+0,+1,1,'\x88', +0,-1,+1,-2,0,'\x40',
|
|
|
|
|
+0,-1,+1,+0,0,'\x11', +0,-1,+2,-2,0,'\x40', +0,-1,+2,-1,0,'\x20',
|
|
|
|
|
+0,-1,+2,+0,0,'\x30', +0,-1,+2,+1,1,'\x10', +0,+0,+0,+2,1,'\x08',
|
|
|
|
|
+0,+0,+2,-2,1,'\x40', +0,+0,+2,-1,0,'\x60', +0,+0,+2,+0,1,'\x20',
|
|
|
|
|
+0,+0,+2,+1,0,'\x30', +0,+0,+2,+2,1,'\x10', +0,+1,+1,+0,0,'\x44',
|
|
|
|
|
+0,+1,+1,+2,0,'\x10', +0,+1,+2,-1,1,'\x40', +0,+1,+2,+0,0,'\x60',
|
|
|
|
|
+0,+1,+2,+1,0,'\x20', +0,+1,+2,+2,0,'\x10', +1,-2,+1,+0,0,'\x80',
|
|
|
|
|
+1,-1,+1,+1,0,'\x88', +1,+0,+1,+2,0,'\x08', +1,+0,+2,-1,0,'\x40',
|
|
|
|
|
+1,+0,+2,+1,0,'\x10'
|
|
|
|
|
}, chood[] = { -1,-1, -1,0, -1,+1, 0,+1, +1,+1, +1,0, +1,-1, 0,-1 };
|
|
|
|
|
ushort (*brow[5])[4], *pix;
|
|
|
|
|
int prow=7, pcol=1, *ip, *code[16][16], gval[8], gmin, gmax, sum[4];
|
|
|
|
@ -5950,7 +5950,8 @@ void CLASS adobe_coeff (char *p_make, char *p_model)
|
|
|
|
|
{
|
|
|
|
|
static const struct {
|
|
|
|
|
const char *prefix;
|
|
|
|
|
short t_black, t_maximum, trans[12];
|
|
|
|
|
unsigned short t_black, t_maximum;
|
|
|
|
|
short trans[12];
|
|
|
|
|
} table[] = {
|
|
|
|
|
{ "Apple QuickTake", 0, 0, /* DJC */
|
|
|
|
|
{ 17576,-3191,-3318,5210,6733,-1942,9031,1280,-124 } },
|
|
|
|
@ -8189,7 +8190,7 @@ void CLASS tiff_head (struct tiff_hdr *th, int full)
|
|
|
|
|
strncpy (th->t_desc, desc, 512);
|
|
|
|
|
strncpy (th->t_make, make, 64);
|
|
|
|
|
strncpy (th->t_model, model, 64);
|
|
|
|
|
strcpy (th->soft, "dcraw v"VERSION);
|
|
|
|
|
strcpy (th->soft, "dcraw v" VERSION);
|
|
|
|
|
t = gmtime (×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);
|
|
|
|
|