diff options
author | Grigori Goronzy <greg@blackbox> | 2009-10-02 04:12:03 +0200 |
---|---|---|
committer | Grigori Goronzy <greg@blackbox> | 2009-10-02 04:14:47 +0200 |
commit | caa7eb70c4d5c71bfdb879e95285bdbe680a0458 (patch) | |
tree | 70982690b6b28affa2cea6d7901f4da63925dac2 | |
parent | 300dcb789831e73c756d4dc5300d7c753e087d43 (diff) | |
download | libass-caa7eb70c4d5c71bfdb879e95285bdbe680a0458.tar.bz2 libass-caa7eb70c4d5c71bfdb879e95285bdbe680a0458.tar.xz |
Fix alpha calculation in some cases
Picked up from XBMC svn. This should especially fix MPlayer's direct3d
video output (untested).
-rw-r--r-- | libass/ass_parse.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libass/ass_parse.c b/libass/ass_parse.c index 535e16f..8c43d0b 100644 --- a/libass/ass_parse.c +++ b/libass/ass_parse.c @@ -163,8 +163,8 @@ static void change_color(uint32_t *var, uint32_t new, double pwr) inline void change_alpha(uint32_t *var, uint32_t new, double pwr) { *var = - (_r(*var) << 24) + (_g(*var) << 16) + (_b(*var) << 8) + - (_a(*var) * (1 - pwr) + _a(new) * pwr); + (uint32_t) (_r(*var) << 24) + (_g(*var) << 16) + (_b(*var) << 8) + + (uint32_t) (_a(*var) * (1 - pwr) + _a(new) * pwr); } /** |