--- ray/src/px/ra_tiff.c 1997/08/29 15:35:28 2.14 +++ ray/src/px/ra_tiff.c 1998/10/27 09:08:27 2.17 @@ -278,6 +278,7 @@ initfromtif() /* initialize conversion from TIFF inpu break; case PHOTOMETRIC_MINISBLACK: SET(C_GRY|C_GAMMA|C_GAMUT); + setcolrgam(cvts.gamcor); cvts.pconf = PLANARCONFIG_CONTIG; if (!TIFFGetField(cvts.tif, TIFFTAG_SAMPLESPERPIXEL, &hi) || hi != 1) @@ -359,21 +360,22 @@ char *s; SET(C_XYZE); else quiterr("unrecognized input picture format"); - return; + return(1); } if (isexpos(s)) { cvts.stonits /= exposval(s); - return; + return(1); } if (isaspect(s)) { cvts.pixrat *= aspectval(s); - return; + return(1); } if (isprims(s)) { primsval(cvts.prims, s); SET(C_PRIM); - return; + return(1); } + return(0); } @@ -514,9 +516,9 @@ uint32 y; quiterr("error reading TIFF input"); for (x = cvts.xmax; x--; ) { - cvts.r.colors[x][RED] = cvts.t.fp[3*x]; - cvts.r.colors[x][GRN] = cvts.t.fp[3*x + 1]; - cvts.r.colors[x][BLU] = cvts.t.fp[3*x + 2]; + colval(cvts.r.colors[x],CIEX) = cvts.t.fp[3*x]; + colval(cvts.r.colors[x],CIEY) = cvts.t.fp[3*x + 1]; + colval(cvts.r.colors[x],CIEZ) = cvts.t.fp[3*x + 2]; if (CHK(C_CXFM)) colortrans(cvts.r.colors[x], cvts.cmat, cvts.r.colors[x]); @@ -548,9 +550,10 @@ uint32 y; quiterr("error reading TIFF input"); for (x = cvts.xmax; x--; ) - cvts.r.colors[x][RED] = - cvts.r.colors[x][GRN] = - cvts.r.colors[x][BLU] = cvts.t.fp[x] > 0. ? cvts.t.fp[x] : 0.; + colval(cvts.r.colors[x],RED) = + colval(cvts.r.colors[x],GRN) = + colval(cvts.r.colors[x],BLU) = + cvts.t.fp[x] > 0. ? cvts.t.fp[x] : 0.; if (fwritescan(cvts.r.colors, cvts.xmax, cvts.rfp) < 0) quiterr("error writing Radiance picture"); @@ -684,9 +687,9 @@ uint32 y; } for (x = cvts.xmax; x--; ) { - cvts.t.fp[3*x] = colval(cvts.r.colors[x],RED); - cvts.t.fp[3*x+1] = colval(cvts.r.colors[x],GRN); - cvts.t.fp[3*x+2] = colval(cvts.r.colors[x],BLU); + cvts.t.fp[3*x] = colval(cvts.r.colors[x],CIEX); + cvts.t.fp[3*x+1] = colval(cvts.r.colors[x],CIEY); + cvts.t.fp[3*x+2] = colval(cvts.r.colors[x],CIEZ); } if (TIFFWriteScanline(cvts.tif, cvts.t.p, y, 0) < 0)