28 |
|
#define C_XYZE 0x10 /* Radiance is XYZE */ |
29 |
|
#define C_RFLT 0x20 /* Radiance data is float */ |
30 |
|
#define C_TFLT 0x40 /* TIFF data is float */ |
31 |
< |
#define C_PRIM 0x80 /* has assigned primaries */ |
31 |
> |
#define C_TWRD 0x80 /* TIFF data is 16-bit */ |
32 |
> |
#define C_PRIM 0x100 /* has assigned primaries */ |
33 |
|
|
34 |
|
struct { |
35 |
|
uint16 flags; /* conversion flags (defined above) */ |
187 |
|
int rsiz, tsiz; |
188 |
|
|
189 |
|
rsiz = CHK(C_RFLT) ? sizeof(COLOR) : sizeof(COLR); |
190 |
< |
tsiz = (CHK(C_TFLT) ? sizeof(float) : sizeof(uint8)) * |
190 |
> |
tsiz = (CHK(C_TFLT) ? sizeof(float) : |
191 |
> |
CHK(C_TWRD) ? sizeof(uint16) : sizeof(uint8)) * |
192 |
|
(CHK(C_GRY) ? 1 : 3); |
193 |
|
cvts.r.p = (char *)malloc(rsiz*cvts.xmax); |
194 |
|
cvts.t.p = (char *)malloc(tsiz*cvts.xmax); |
282 |
|
cvts.tf = RGB2Colr; |
283 |
|
else { |
284 |
|
cvts.tf = RRGGBB2Color; |
285 |
< |
SET(C_RFLT); |
285 |
> |
SET(C_RFLT|C_TWRD); |
286 |
|
} |
287 |
|
break; |
288 |
|
case PHOTOMETRIC_MINISBLACK: |
299 |
|
cvts.tf = Gry2Colr; |
300 |
|
else { |
301 |
|
cvts.tf = GGry2Color; |
302 |
< |
SET(C_RFLT); |
302 |
> |
SET(C_RFLT|C_TWRD); |
303 |
|
} |
304 |
|
break; |
305 |
|
default: |
523 |
|
{ |
524 |
|
register int x; |
525 |
|
|
526 |
< |
if (CHK(C_RFLT|C_TFLT|C_GRY) != (C_RFLT|C_TFLT)) |
526 |
> |
if (CHK(C_RFLT|C_TWRD|C_TFLT|C_GRY) != (C_RFLT|C_TFLT)) |
527 |
|
quiterr("internal error 1 in Luv2Color"); |
528 |
|
|
529 |
|
if (TIFFReadScanline(cvts.tif, cvts.t.p, y, 0) < 0) |
559 |
|
register double d; |
560 |
|
register int x; |
561 |
|
|
562 |
< |
if (CHK(C_RFLT|C_TFLT|C_GRY) != C_RFLT) |
562 |
> |
if (CHK(C_RFLT|C_TWRD|C_TFLT|C_GRY) != (C_TWRD|C_RFLT)) |
563 |
|
quiterr("internal error 1 in RRGGBB2Color"); |
564 |
|
|
565 |
|
if (TIFFReadScanline(cvts.tif, cvts.t.p, y, 0) < 0) |
599 |
|
{ |
600 |
|
register int x; |
601 |
|
|
602 |
< |
if (CHK(C_RFLT|C_TFLT|C_GRY) != (C_RFLT|C_TFLT|C_GRY)) |
602 |
> |
if (CHK(C_RFLT|C_TWRD|C_TFLT|C_GRY) != (C_RFLT|C_TFLT|C_GRY)) |
603 |
|
quiterr("internal error 1 in L2Color"); |
604 |
|
|
605 |
|
if (TIFFReadScanline(cvts.tif, cvts.t.p, y, 0) < 0) |
623 |
|
COLOR ctmp; |
624 |
|
register int x; |
625 |
|
|
626 |
< |
if (CHK(C_RFLT|C_TFLT|C_GRY)) |
626 |
> |
if (CHK(C_RFLT|C_TWRD|C_TFLT|C_GRY)) |
627 |
|
quiterr("internal error 1 in RGB2Colr"); |
628 |
|
|
629 |
|
if (cvts.pconf == PLANARCONFIG_CONTIG) { |
678 |
|
{ |
679 |
|
register int x; |
680 |
|
|
681 |
< |
if (CHK(C_RFLT|C_TFLT|C_GRY) != C_GRY) |
681 |
> |
if (CHK(C_RFLT|C_TWRD|C_TFLT|C_GRY) != C_GRY) |
682 |
|
quiterr("internal error 1 in Gry2Colr"); |
683 |
|
|
684 |
|
if (TIFFReadScanline(cvts.tif, cvts.t.p, y, 0) < 0) |
707 |
|
register double d; |
708 |
|
register int x; |
709 |
|
|
710 |
< |
if (CHK(C_TFLT|C_GRY|C_RFLT) != (C_GRY|C_RFLT)) |
710 |
> |
if (CHK(C_TFLT|C_TWRD|C_GRY|C_RFLT) != (C_GRY|C_RFLT|C_TWRD)) |
711 |
|
quiterr("internal error 1 in GGry2Color"); |
712 |
|
|
713 |
|
if (TIFFReadScanline(cvts.tif, cvts.t.p, y, 0) < 0) |
735 |
|
double m = pow(2.,(double)cvts.bradj); |
736 |
|
register int x; |
737 |
|
|
738 |
< |
if (CHK(C_RFLT|C_TFLT|C_GRY) != (C_RFLT|C_TFLT|C_GRY)) |
738 |
> |
if (CHK(C_RFLT|C_TFLT|C_TWRD|C_GRY) != (C_RFLT|C_TFLT|C_GRY)) |
739 |
|
quiterr("internal error 1 in Color2L"); |
740 |
|
|
741 |
|
if (freadscan(cvts.r.colors, cvts.xmax, cvts.rfp) < 0) |
756 |
|
{ |
757 |
|
register int x; |
758 |
|
|
759 |
< |
if (CHK(C_RFLT|C_TFLT|C_GRY) != (C_RFLT|C_TFLT)) |
759 |
> |
if (CHK(C_RFLT|C_TWRD|C_TFLT|C_GRY) != (C_RFLT|C_TFLT)) |
760 |
|
quiterr("internal error 1 in Color2Luv"); |
761 |
|
|
762 |
|
if (freadscan(cvts.r.colors, cvts.xmax, cvts.rfp) < 0) |
789 |
|
{ |
790 |
|
register int x; |
791 |
|
|
792 |
< |
if (CHK(C_RFLT|C_TFLT|C_GRY) != C_GRY) |
792 |
> |
if (CHK(C_RFLT|C_TWRD|C_TFLT|C_GRY) != C_GRY) |
793 |
|
quiterr("internal error 1 in Colr2Gry"); |
794 |
|
|
795 |
|
if (freadcolrs(cvts.r.colrs, cvts.xmax, cvts.rfp) < 0) |
816 |
|
COLOR ctmp; |
817 |
|
register int x; |
818 |
|
|
819 |
< |
if (CHK(C_RFLT|C_TFLT|C_GRY)) |
819 |
> |
if (CHK(C_RFLT|C_TFLT|C_TWRD|C_GRY)) |
820 |
|
quiterr("internal error 1 in Colr2RGB"); |
821 |
|
|
822 |
|
if (freadcolrs(cvts.r.colrs, cvts.xmax, cvts.rfp) < 0) |