libeplayer3/writer/framebuffer: small optimization

This commit is contained in:
martii
2013-07-28 12:33:24 +02:00
parent 2b91afacec
commit d0d31f9998

View File

@@ -133,12 +133,13 @@ static int writeData(void* _call)
uint32_t c = call->color >> 8;
uint32_t a = 255 - (call->color & 0xff);
int i;
for (i = 0; i < 256; i++)
colortable[i] = c | (((a * i) >> 8) << 24);
for (i = 0; i < 256; i++) {
uint32_t k = (a * i) >> 8;
colortable[i] = k ? (c | (k << 24)) : 0;
}
last_color = call->color;
}
fb_printf(100, "x %d\n", call->x);
fb_printf(100, "y %d\n", call->y);
fb_printf(100, "width %d\n", call->Width);
@@ -152,7 +153,7 @@ static int writeData(void* _call)
for (y=0;y<call->Height;y++) {
for (x = 0; x < call->Width; x++) {
uint32_t c = colortable[src[x]];
if (c >> 24)
if (c)
*dst++ = c;
else
dst++;