From 85970e40648817f9af62bf8562b6838897a840a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= Date: Wed, 4 May 2005 04:30:09 +0000 Subject: speed up xx44 alphablending of large transparent areas CVS patchset: 7519 CVS date: 2005/05/04 04:30:09 --- ChangeLog | 3 ++- src/video_out/alphablend.c | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index ec93aca7e..734c9fc17 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,11 +4,12 @@ xine-lib (1.0.2) * fixed xxmc / xvmc mocomp / IDCT rendering errors caused by the big update. * support --enable-fpic with recent versions of gcc * clip goom fps value to >= 1 [bug #1193783] - * fixed xvmc plugin segfault when it tried software blending on nonexistant xv image. + * fixed xvmc plugin segfault when it tried software blending on nonexistant xv image * cleaned up libmpeg2 behaviour on xxmc plugin abrupt software fallback * use -fno-inline-functions with gcc < 3.4.0 (bug known to be in 3.3.5) * fix xxmc plugin wanting to change vld xvmc context when stream changes from non-interlaced to interlaced [bug #1194350] + * speed up xx44 alphablending of large transparent areas xine-lib (1.0.1) * Big XvMC quality / correctness / cpu-usage fix. [bug #1114517] diff --git a/src/video_out/alphablend.c b/src/video_out/alphablend.c index b2ac9f2ac..2f840a31e 100644 --- a/src/video_out/alphablend.c +++ b/src/video_out/alphablend.c @@ -1639,7 +1639,10 @@ static int xx44_paletteIndex(xx44_palette_t *p, int color, uint32_t clut) static void memblend_xx44(uint8_t *mem,uint8_t val, register size_t size, uint8_t mask) { - register uint8_t masked_val = val & mask; + register uint8_t + masked_val; + + if (0 == (masked_val = val & mask)) return; while(size--) { if ((*mem & mask) <= masked_val ) *mem = val; -- cgit v1.2.3