diff options
author | James Courtier-Dutton <jcdutton@users.sourceforge.net> | 2002-09-30 05:16:45 +0000 |
---|---|---|
committer | James Courtier-Dutton <jcdutton@users.sourceforge.net> | 2002-09-30 05:16:45 +0000 |
commit | 10439661bc81dee78a374e6aee938eabbea49685 (patch) | |
tree | ea0f6874dbd975f4deb809e2266734bdbc3f5acd /README | |
parent | 6ab806af7e98df9e520773e4d6612c329f8cc285 (diff) | |
download | xine-lib-10439661bc81dee78a374e6aee938eabbea49685.tar.gz xine-lib-10439661bc81dee78a374e6aee938eabbea49685.tar.bz2 |
Fixes and performance improvements to the alphablend.c code.
The fixes involved getting blend_rgb16 to correctly handle different colours in the
highlight area and general overlay area.
Another fix involved fixing the overlay scaling function so that it scales in the same
proportion as the yuv2rgb code.
Currently, blend_yuv has not been updated.
blend_rgb16 has been improved.
blend_rgb24 and blend_rgb32 have not been changed and will probably not work now.
The performance improvements are due to two things: -
1) Special detection of overlays without any buttons/clip areas.
This is detected by ensuring overl->clip_top = -1 when no button is present.
2) Reorganise the blending code so that for each time round the loop, the fewest
possible IF statements are executed.
So, for overlays without any buttons, not checks for the clip area is done.
For overlay with buttons, state is kept as to whether we are above, to the left, inside
or to the right or below the clip area, thus saving having to do IF statements each time
round the loop to find out where we are.
CVS patchset: 2762
CVS date: 2002/09/30 05:16:45
Diffstat (limited to 'README')
0 files changed, 0 insertions, 0 deletions