eeek math error at 255 (becomes 254) not surprising i didnt notice.. i
looked at the results rsather than numerically evaluating... SVN revision: 1088
This commit is contained in:
parent
732db08e49
commit
bcbd64b680
48
blend.c
48
blend.c
|
@ -624,11 +624,11 @@ __imlib_ReBlendRGBAToRGB(DATA32 *src, int src_jump, DATA32 *dst, int dst_jump,
|
||||||
rr = (*p2 >> 16) & 0xff;
|
rr = (*p2 >> 16) & 0xff;
|
||||||
|
|
||||||
tmp = rr + (((r - 127) * a) >> 7);
|
tmp = rr + (((r - 127) * a) >> 7);
|
||||||
nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8));
|
nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9));
|
||||||
tmp = gg + (((g - 127) * a) >> 7);
|
tmp = gg + (((g - 127) * a) >> 7);
|
||||||
ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8));
|
ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9));
|
||||||
tmp = bb + (((b - 127) * a) >> 7);
|
tmp = bb + (((b - 127) * a) >> 7);
|
||||||
nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8));
|
nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9));
|
||||||
*p2 = (nr << 16) | (ng << 8) | nb;
|
*p2 = (nr << 16) | (ng << 8) | nb;
|
||||||
p1++;
|
p1++;
|
||||||
p2++;
|
p2++;
|
||||||
|
@ -663,11 +663,11 @@ __imlib_ReBlendRGBAToRGBA(DATA32 *src, int src_jump, DATA32 *dst, int dst_jump,
|
||||||
aa = (*p2 >> 24) & 0xff;
|
aa = (*p2 >> 24) & 0xff;
|
||||||
|
|
||||||
tmp = rr + (((r - 127) * a) >> 7);
|
tmp = rr + (((r - 127) * a) >> 7);
|
||||||
nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8));
|
nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9));
|
||||||
tmp = gg + (((g - 127) * a) >> 7);
|
tmp = gg + (((g - 127) * a) >> 7);
|
||||||
ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8));
|
ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9));
|
||||||
tmp = bb + (((b - 127) * a) >> 7);
|
tmp = bb + (((b - 127) * a) >> 7);
|
||||||
nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8));
|
nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9));
|
||||||
tmp = a + aa;
|
tmp = a + aa;
|
||||||
na = (tmp | ((tmp & 256) - ((tmp & 256) >> 8)));
|
na = (tmp | ((tmp & 256) - ((tmp & 256) >> 8)));
|
||||||
*p2 = (na << 24) | (nr << 16) |
|
*p2 = (na << 24) | (nr << 16) |
|
||||||
|
@ -703,11 +703,11 @@ __imlib_ReCopyRGBAToRGB(DATA32 *src, int src_jump, DATA32 *dst, int dst_jump,
|
||||||
rr = (*p2 >> 16) & 0xff;
|
rr = (*p2 >> 16) & 0xff;
|
||||||
|
|
||||||
tmp = rr + ((r - 127) << 1);
|
tmp = rr + ((r - 127) << 1);
|
||||||
nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8));
|
nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9));
|
||||||
tmp = gg + ((g - 127) << 1);
|
tmp = gg + ((g - 127) << 1);
|
||||||
ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8));
|
ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9));
|
||||||
tmp = bb + ((b - 127) << 1);
|
tmp = bb + ((b - 127) << 1);
|
||||||
nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8));
|
nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9));
|
||||||
*p2 = (*p2 & 0xff000000) | (nr << 16) | (ng << 8) | nb;
|
*p2 = (*p2 & 0xff000000) | (nr << 16) | (ng << 8) | nb;
|
||||||
p1++;
|
p1++;
|
||||||
p2++;
|
p2++;
|
||||||
|
@ -740,11 +740,11 @@ __imlib_ReCopyRGBAToRGBA(DATA32 *src, int src_jump, DATA32 *dst, int dst_jump,
|
||||||
rr = (*p2 >> 16) & 0xff;
|
rr = (*p2 >> 16) & 0xff;
|
||||||
|
|
||||||
tmp = rr + ((r - 127) << 1);
|
tmp = rr + ((r - 127) << 1);
|
||||||
nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8));
|
nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9));
|
||||||
tmp = gg + ((g - 127) << 1);
|
tmp = gg + ((g - 127) << 1);
|
||||||
ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8));
|
ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9));
|
||||||
tmp = bb + ((b - 127) << 1);
|
tmp = bb + ((b - 127) << 1);
|
||||||
nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8));
|
nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9));
|
||||||
*p2 = (nr << 16) | (ng << 8) | nb;
|
*p2 = (nr << 16) | (ng << 8) | nb;
|
||||||
p1++;
|
p1++;
|
||||||
p2++;
|
p2++;
|
||||||
|
@ -1280,11 +1280,11 @@ __imlib_ReBlendRGBAToRGBCmod(DATA32 *src, int src_jump, DATA32 *dst, int dst_jum
|
||||||
rr = (*p2 >> 16) & 0xff;
|
rr = (*p2 >> 16) & 0xff;
|
||||||
|
|
||||||
tmp = rr + (((r - 127) * a) >> 7);
|
tmp = rr + (((r - 127) * a) >> 7);
|
||||||
nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8));
|
nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9));
|
||||||
tmp = gg + (((g - 127) * a) >> 7);
|
tmp = gg + (((g - 127) * a) >> 7);
|
||||||
ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8));
|
ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9));
|
||||||
tmp = bb + (((b - 127) * a) >> 7);
|
tmp = bb + (((b - 127) * a) >> 7);
|
||||||
nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8));
|
nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9));
|
||||||
*p2 = (nr << 16) | (ng << 8) | nb;
|
*p2 = (nr << 16) | (ng << 8) | nb;
|
||||||
p1++;
|
p1++;
|
||||||
p2++;
|
p2++;
|
||||||
|
@ -1321,11 +1321,11 @@ __imlib_ReBlendRGBAToRGBACmod(DATA32 *src, int src_jump, DATA32 *dst, int dst_ju
|
||||||
aa = (*p2 >> 24) & 0xff;
|
aa = (*p2 >> 24) & 0xff;
|
||||||
|
|
||||||
tmp = rr + (((r - 127) * a) >> 7);
|
tmp = rr + (((r - 127) * a) >> 7);
|
||||||
nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8));
|
nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9));
|
||||||
tmp = gg + (((g - 127) * a) >> 7);
|
tmp = gg + (((g - 127) * a) >> 7);
|
||||||
ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8));
|
ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9));
|
||||||
tmp = bb + (((b - 127) * a) >> 7);
|
tmp = bb + (((b - 127) * a) >> 7);
|
||||||
nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8));
|
nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9));
|
||||||
tmp = a + aa;
|
tmp = a + aa;
|
||||||
na = (tmp | ((tmp & 256) - ((tmp & 256) >> 8)));
|
na = (tmp | ((tmp & 256) - ((tmp & 256) >> 8)));
|
||||||
*p2 = (na << 24) | (nr << 16) |
|
*p2 = (na << 24) | (nr << 16) |
|
||||||
|
@ -1363,11 +1363,11 @@ __imlib_ReCopyRGBAToRGBCmod(DATA32 *src, int src_jump, DATA32 *dst, int dst_jump
|
||||||
rr = (*p2 >> 16) & 0xff;
|
rr = (*p2 >> 16) & 0xff;
|
||||||
|
|
||||||
tmp = rr + ((r - 127) << 1);
|
tmp = rr + ((r - 127) << 1);
|
||||||
nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8));
|
nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9));
|
||||||
tmp = gg + ((g - 127) << 1);
|
tmp = gg + ((g - 127) << 1);
|
||||||
ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8));
|
ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9));
|
||||||
tmp = bb + ((b - 127) << 1);
|
tmp = bb + ((b - 127) << 1);
|
||||||
nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8));
|
nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9));
|
||||||
*p2 = (*p2 & 0xff000000) | (nr << 16) | (ng << 8) | nb;
|
*p2 = (*p2 & 0xff000000) | (nr << 16) | (ng << 8) | nb;
|
||||||
p1++;
|
p1++;
|
||||||
p2++;
|
p2++;
|
||||||
|
@ -1402,11 +1402,11 @@ __imlib_ReCopyRGBAToRGBACmod(DATA32 *src, int src_jump, DATA32 *dst, int dst_jum
|
||||||
rr = (*p2 >> 16) & 0xff;
|
rr = (*p2 >> 16) & 0xff;
|
||||||
|
|
||||||
tmp = rr + ((r - 127) << 1);
|
tmp = rr + ((r - 127) << 1);
|
||||||
nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8));
|
nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9));
|
||||||
tmp = gg + ((g - 127) << 1);
|
tmp = gg + ((g - 127) << 1);
|
||||||
ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8));
|
ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9));
|
||||||
tmp = bb + ((b - 127) << 1);
|
tmp = bb + ((b - 127) << 1);
|
||||||
nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8));
|
nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9));
|
||||||
*p2 = (nr << 16) | (ng << 8) | nb;
|
*p2 = (nr << 16) | (ng << 8) | nb;
|
||||||
p1++;
|
p1++;
|
||||||
p2++;
|
p2++;
|
||||||
|
|
Loading…
Reference in New Issue