From 098ca7e66e3edc2ff29f2b9ea446df6fa39dd59a Mon Sep 17 00:00:00 2001 From: arpi Date: Mon, 13 Aug 2001 19:33:41 +0000 Subject: speed optimized :) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@1508 b3059339-0415-0410-9bf9-f77b7e298cf2 --- TOOLS/subfont-c/subfont.c | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) (limited to 'TOOLS') diff --git a/TOOLS/subfont-c/subfont.c b/TOOLS/subfont-c/subfont.c index 8703894328..fabad13551 100644 --- a/TOOLS/subfont-c/subfont.c +++ b/TOOLS/subfont-c/subfont.c @@ -453,23 +453,23 @@ void outline( int r, int mwidth) { - int x, y, mx, my; + int x, y; for (y = 0; y=width)?(width-x-1):r; + int my; for (my = -r; my<=r; ++my, srow+= width, mrow+= mwidth) { + int mx; if (y+my < 0) continue; if (y+my >= height) break; - for (mx = -r; mx<=r; ++mx) { - unsigned v; - if (x+mx < 0) continue; - if (x+mx >= width) break; - - v = srow[mx] * mrow[mx]; + for (mx = x1; mx<=x2; ++mx) { + unsigned v = srow[mx] * mrow[mx]; if (v>max) max = v; } } @@ -523,24 +523,25 @@ void blur( int mwidth, unsigned volume) { - int x, y, mx, my; + int x, y; for (y = 0; y=width)?(width-x-1):r; + int my; for (my = -r; my<=r; ++my, srow+= width, mrow+= mwidth) { + int mx; if (y+my < 0) continue; if (y+my >= height) break; - for (mx = -r; mx<=r; ++mx) { - if (x+mx < 0) continue; - if (x+mx >= width) break; - + for (mx = x1; mx<=x2; ++mx) sum+= srow[mx] * mrow[mx]; - } + } *t = (sum + volume/2) / volume; } @@ -592,9 +593,12 @@ void alpha() { if (DEBUG) eprintf("\n"); - outline(buffer, tbuffer, width, height, om, o_r, o_w); // solid outline + if(thickness==1.0) + outline1(buffer, tbuffer, width, height); // FAST solid 1 pixel outline + else + outline(buffer, tbuffer, width, height, om, o_r, o_w); // solid outline + //outline(buffer, tbuffer, width, height, gm, g_r, g_w); // Gaussian outline - //outline1(buffer, tbuffer, width, height); // solid 1 pixel outline blur(tbuffer, abuffer, width, height, gm, g_r, g_w, volume); -- cgit v1.2.3