From 86b7ea518ba55aec64654bd6c472bcbe4869a84f Mon Sep 17 00:00:00 2001 From: michael Date: Fri, 16 Aug 2002 22:36:54 +0000 Subject: 40% faster blur git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7029 b3059339-0415-0410-9bf9-f77b7e298cf2 --- TOOLS/subfont-c/subfont.c | 146 +++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 139 insertions(+), 7 deletions(-) (limited to 'TOOLS/subfont-c') diff --git a/TOOLS/subfont-c/subfont.c b/TOOLS/subfont-c/subfont.c index 4820c42b66..f0a477bd20 100644 --- a/TOOLS/subfont-c/subfont.c +++ b/TOOLS/subfont-c/subfont.c @@ -614,16 +614,129 @@ void outline1( // gaussian blur void blur( unsigned char *buffer, - unsigned char *tmp, + unsigned short *tmp2, int width, int height, int *m, + int *m2, int r, int mwidth, unsigned volume) { int x, y; +#if 0 + unsigned char *s = buffer; + unsigned short *t = tmp2+1; + for(y=0; y>8; + unsigned *m3= m2 + src2*mwidth; + + int mx; + *srcp= 128; + for(mx=r-1; mx>8; + unsigned *m3= m2 + src2*mwidth; + + int mx; + *srcp= 128; + for(mx=0; mx>8; + unsigned *m3= m2 + src2*mwidth; + + int mx; + *srcp= 128; + for(mx=0; mx>8; + } + s+= width; + t+= width + 1; + } +#else + unsigned char *tmp = (unsigned char*)tmp2; unsigned char *s = buffer - r; unsigned char *t = tmp; @@ -636,12 +749,13 @@ void blur( int x2 = (x+r>=width) ? (r+width-x):mwidth; unsigned* mp = m + 256*x1; int mx; + for (mx = x1; mx>16; } } - tmp -= r*width; + tmp -= r*width; for (x = 0; x0.0000001; volume_diff*=0.5){ + volume_factor+= volume_diff; + volume=0; + for (i = 0; i256) volume_factor-= volume_diff; + } + volume=0; for (i = 0; i