| 89 |
|
li = cd->clfb[RED]*cmon[RED] + |
| 90 |
|
cd->clfb[GRN]*cmon[GRN] + |
| 91 |
|
cd->clfb[BLU]*cmon[BLU] ; |
| 92 |
< |
if (li >= 0xff00) li = 255; |
| 93 |
< |
else li >>= 8; |
| 92 |
> |
if (li >= 0xfff00) li = 255; |
| 93 |
> |
else li >>= 12; |
| 94 |
|
bi = BRT2SCALE(cmon[EXP]-COLXS) + cd->inpsfb; |
| 95 |
|
if (li > 0) |
| 96 |
|
bi += logi[li]; |
| 123 |
|
for (j = 3; j--; ) |
| 124 |
|
if (cmon[j] < 0) cmon[j] = 0; |
| 125 |
|
} |
| 126 |
< |
bi = ( (int32)GAMTSZ*cd->clfb[RED]*cmon[RED]/li ) >> 8; |
| 126 |
> |
bi = ( (int32)GAMTSZ*cd->clfb[RED]*cmon[RED]/li ) >> 12; |
| 127 |
|
cs[3*i ] = bi>=GAMTSZ ? 255 : cd->gamb[bi]; |
| 128 |
< |
bi = ( (int32)GAMTSZ*cd->clfb[GRN]*cmon[GRN]/li ) >> 8; |
| 128 |
> |
bi = ( (int32)GAMTSZ*cd->clfb[GRN]*cmon[GRN]/li ) >> 12; |
| 129 |
|
cs[3*i+1] = bi>=GAMTSZ ? 255 : cd->gamb[bi]; |
| 130 |
< |
bi = ( (int32)GAMTSZ*cd->clfb[BLU]*cmon[BLU]/li ) >> 8; |
| 130 |
> |
bi = ( (int32)GAMTSZ*cd->clfb[BLU]*cmon[BLU]/li ) >> 12; |
| 131 |
|
cs[3*i+2] = bi>=GAMTSZ ? 255 : cd->gamb[bi]; |
| 132 |
|
} |
| 133 |
|
returnOK; |
| 431 |
|
|
| 432 |
|
cd = (COLRDATA *)tms->pd[colrReg]; |
| 433 |
|
for (i = 3; i--; ) |
| 434 |
< |
cd->clfb[i] = 0x100*tms->clf[i] + .5; |
| 434 |
> |
cd->clfb[i] = 0x1000*tms->clf[i] + .5; |
| 435 |
> |
fprintf(stderr, "(%d %d %d)\n", cd->clfb[0], cd->clfb[1], cd->clfb[2]); |
| 436 |
|
cd->inpsfb = tmCvLuminance(tms->inpsf); |
| 437 |
|
for (i = 3; i--; ) |
| 438 |
|
for (j = 3; j--; ) { |