[MPlayer-cvslog] r20890 - trunk/libass/ass_bitmap.c

eugeni subversion at mplayerhq.hu
Mon Nov 13 17:35:15 CET 2006


Author: eugeni
Date: Mon Nov 13 17:35:15 2006
New Revision: 20890

Modified:
   trunk/libass/ass_bitmap.c

Log:
Partial fix for semitransparent glyph outlines.

This fix removes semitransparent area (less then pixel width) between glyph and
it's outline. Instead, it makes them overlap a little. It usually looks much
better this way.
Complete fix seems impossible with the current output format (single color
alpha bitmaps). The right way is to blend both glyph and outline into one
bitmap so that 2 pixels with 50% transparency produce a fully solid one.
This requires RGBA bitmap output from libass.


Modified: trunk/libass/ass_bitmap.c
==============================================================================
--- trunk/libass/ass_bitmap.c	(original)
+++ trunk/libass/ass_bitmap.c	Mon Nov 13 17:35:15 2006
@@ -219,7 +219,7 @@
 			unsigned char c_g, c_o;
 			c_g = g[x];
 			c_o = o[x];
-			o[x] = (c_o > c_g) ? c_o - c_g : 0;
+			o[x] = (c_o > c_g) ? c_o : 0;
 			s[x] = (c_o < 0xFF - c_g) ? c_o + c_g : 0xFF;
 		}
 		g += bm_g->w;



More information about the MPlayer-cvslog mailing list