From caa7eb70c4d5c71bfdb879e95285bdbe680a0458 Mon Sep 17 00:00:00 2001 From: Grigori Goronzy Date: Fri, 2 Oct 2009 04:12:03 +0200 Subject: Fix alpha calculation in some cases Picked up from XBMC svn. This should especially fix MPlayer's direct3d video output (untested). --- libass/ass_parse.c | 4 ++-- 1 file 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); } /** -- cgit v1.2.3