diff options
author | Thomas Hellström <totte67@users.sourceforge.net> | 2005-05-04 04:30:09 +0000 |
---|---|---|
committer | Thomas Hellström <totte67@users.sourceforge.net> | 2005-05-04 04:30:09 +0000 |
commit | 85970e40648817f9af62bf8562b6838897a840a4 (patch) | |
tree | 0800f9f28f2854519f8c44a39bfc760d5a76daa0 | |
parent | 3bdb84af9ee2b4935d423306a30ca1d273d8207a (diff) | |
download | xine-lib-85970e40648817f9af62bf8562b6838897a840a4.tar.gz xine-lib-85970e40648817f9af62bf8562b6838897a840a4.tar.bz2 |
speed up xx44 alphablending of large transparent areas
CVS patchset: 7519
CVS date: 2005/05/04 04:30:09
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | src/video_out/alphablend.c | 5 |
2 files changed, 6 insertions, 2 deletions
@@ -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; |