298 |
|
if (dp->chroma == NULL) |
299 |
|
return 1; /* grayscale */ |
300 |
|
|
301 |
< |
c_decodeChroma(&cxy, dp->chroma[o*dp->ninc + i]); |
301 |
> |
c_decodeChroma(&cxy, mBSDF_chroma(dp,i,o)); |
302 |
|
c_toSharpRGB(&cxy, coef[0], coef); |
303 |
|
coef[0] *= mtx_RGB_coef[0]; |
304 |
|
coef[1] *= mtx_RGB_coef[1]; |
622 |
|
coef[c] = (coef[c] - min_coef[c]) / |
623 |
|
mtx_RGB_coef[c]; |
624 |
|
if (c_fromSharpRGB(coef, &cxy) > 1e-5) |
625 |
< |
sm->chroma[o*sm->ninc + i] = c_encodeChroma(&cxy); |
625 |
> |
mBSDF_chroma(sm,i,o) = c_encodeChroma(&cxy); |
626 |
|
mBSDF_value(sm,i,o) -= ymin; |
627 |
|
} |
628 |
|
/* return colored minimum */ |
849 |
|
reverse = 1; |
850 |
|
} |
851 |
|
cdlast = NULL; /* check for it in cache list */ |
852 |
+ |
/* PLACE MUTEX LOCK HERE FOR THREAD-SAFE */ |
853 |
|
for (cd = (SDMatCDst *)sdc->cdList; cd != NULL; |
854 |
|
cdlast = cd, cd = cd->next) |
855 |
|
if (cd->indx == myCD.indx && (cd->calen == myCD.calen) & |
873 |
|
cd->next = (SDMatCDst *)sdc->cdList; |
874 |
|
sdc->cdList = (SDCDst *)cd; |
875 |
|
} |
876 |
+ |
/* END MUTEX LOCK */ |
877 |
|
return (SDCDst *)cd; /* ready to go */ |
878 |
|
} |
879 |
|
|