libeplayer3/writer/framebuffer: small optimization

This commit is contained in:
martii
2013-07-28 12:33:24 +02:00
committed by Stefan Seyfried
parent 027660da47
commit 6931fcd838

View File

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