Mercurial > mplayer.hg
changeset 7016:44ce5a673be2
added gettimeofday-based profiling/timing
little speedup of outline()
author | arpi |
---|---|
date | Thu, 15 Aug 2002 20:50:13 +0000 |
parents | 72059027f953 |
children | f310b4e5c94b |
files | TOOLS/subfont-c/Makefile TOOLS/subfont-c/subfont.c |
diffstat | 2 files changed, 22 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/TOOLS/subfont-c/Makefile Thu Aug 15 12:42:52 2002 +0000 +++ b/TOOLS/subfont-c/Makefile Thu Aug 15 20:50:13 2002 +0000 @@ -1,6 +1,6 @@ include ../../config.mak -LDLIBS=-lm $(shell freetype-config --libs) +LDLIBS=-lm ../../linux/timer-lx.o $(shell freetype-config --libs) CFLAGS=$(OPTFLAGS) $(shell freetype-config --cflags) #CFLAGS+=-O0 # for RedHat's gcc-2.96-95
--- a/TOOLS/subfont-c/subfont.c Thu Aug 15 12:42:52 2002 +0000 +++ b/TOOLS/subfont-c/subfont.c Thu Aug 15 20:50:13 2002 +0000 @@ -510,6 +510,8 @@ int x, y; for (y = 0; y<height; ++y) { for (x = 0; x<width; ++x, ++s, ++t) { + //if(s[0]>=192) printf("%d\n",s[0]); + if(s[0]!=255){ unsigned max = 0; unsigned *mrow = m + r; unsigned char *srow = s -r*width; @@ -527,7 +529,10 @@ if (v>max) max = v; } } +// if(!max) *t = 0; else *t = (max + base/2) / base; + } else + *t = 255; } } } @@ -634,6 +639,7 @@ void alpha() { + unsigned int ttime; int const g_r = ceil(radius); int const o_r = ceil(thickness); int const g_w = 2*g_r+1; // matrix size @@ -669,14 +675,19 @@ if (DEBUG) eprintf("\n"); + ttime=GetTimer(); if(thickness==1.0) outline1(bbuffer, abuffer, width, height); // FAST solid 1 pixel outline else outline(bbuffer, abuffer, width, height, om, o_r, o_w); // solid outline + //outline(bbuffer, abuffer, width, height, gm, g_r, g_w); // Gaussian outline + ttime=GetTimer()-ttime; + printf("outline: %7d us\n",ttime); - //outline(bbuffer, abuffer, width, height, gm, g_r, g_w); // Gaussian outline - + ttime=GetTimer(); blur(abuffer, bbuffer, width, height, g, g_r, g_w, volume); + ttime=GetTimer()-ttime; + printf("gauss: %7d us\n",ttime); free(g); free(om); @@ -771,13 +782,21 @@ int main(int argc, char **argv) { + unsigned int ttime; parse_args(argc, argv); padding = ceil(radius) + ceil(thickness); + ttime=GetTimer(); prepare_charset(); + ttime=GetTimer()-ttime; + printf("charset: %7d us\n",ttime); + ttime=GetTimer(); render(); + ttime=GetTimer()-ttime; + printf("render: %7d us\n",ttime); + write_bitmap(bbuffer, 'b'); abuffer = (unsigned char*)malloc(width*height);