From 9b94eb8b51f19403fa9bb7d086de1dc89802e903 Mon Sep 17 00:00:00 2001 From: Claudio Ciccani Date: Sat, 8 Jul 2006 09:40:03 +0000 Subject: Patch by Petri Hintukainen : modify blend algo to avoid division (too slow on some machines). Result is still acceptable. CVS patchset: 8093 CVS date: 2006/07/08 09:40:03 --- src/xine-engine/alphablend.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/xine-engine/alphablend.c b/src/xine-engine/alphablend.c index 6f224ca30..3eafc6ac3 100644 --- a/src/xine-engine/alphablend.c +++ b/src/xine-engine/alphablend.c @@ -38,9 +38,9 @@ #include "bswap.h" -#define BLEND_COLOR(dst, src, mask, o) ((((src&mask)*o + ((dst&mask)*(0x0f-o)))/0xf) & mask) +#define BLEND_COLOR(dst, src, mask, o) ((((((src&mask)-(dst&mask))*(o*0x1111+1))>>16)+(dst&mask))&mask) -#define BLEND_BYTE(dst, src, o) (((src)*o + ((dst)*(0xf-o)))/0xf) +#define BLEND_BYTE(dst, src, o) (((((src)-(dst))*(o*0x1111+1))>>16)+(dst)) static void mem_blend16(uint16_t *mem, uint16_t clr, uint8_t o, int len) { uint16_t *limit = mem + len; -- cgit v1.2.3