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 |
|
cd->inpsfb = tmCvLuminance(tms->inpsf); |
436 |
|
for (i = 3; i--; ) |
437 |
|
for (j = 3; j--; ) { |