From 95db5dd48c3b7cf3e4866fa35c9566e93a128c72 Mon Sep 17 00:00:00 2001 From: reimar Date: Sun, 11 Jul 2010 13:36:02 +0000 Subject: [PATCH] spudec: Fix conversion from paletted to MPlayer's OSD format git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31705 b3059339-0415-0410-9bf9-f77b7e298cf2 --- spudec.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/spudec.c b/spudec.c index 06172077e1..b57edfdfce 100644 --- a/spudec.c +++ b/spudec.c @@ -1309,10 +1309,12 @@ void spudec_set_paletted(void *this, const uint8_t *pal_img, int pal_stride, for (y = 0; y < h; y++) { for (x = 0; x < w; x++) { uint32_t pixel = pal[pal_img[x]]; - *aimg++ = -(pixel >> 24); - *img++ = (((pixel & 0x000000ff) >> 0) + - ((pixel & 0x0000ff00) >> 7) + - ((pixel & 0x00ff0000) >> 16)) >> 2; + int alpha = pixel >> 24; + int gray = (((pixel & 0x000000ff) >> 0) + + ((pixel & 0x0000ff00) >> 7) + + ((pixel & 0x00ff0000) >> 16)) >> 2; + *aimg++ = -alpha; + *img++ = FFMIN(gray, alpha); } for (; x < stride; x++) *aimg++ = *img++ = 0;