# HG changeset patch # User nick # Date 1005477530 0 # Node ID 004ee19ebfcf27c0ab589ce77a8c5e0f8732a1cd # Parent 7679d983c52fe676e70b32c9d67aa075f7206aaa Extract parallelism from OSD stuff + MMX2 optimization. I've found that mplayer's measuring is not precise :( Here my test with using RDTSC: Old stuff: rd_tsc: 774377 rd_tsc: 765985 rd_tsc: 265309 New CPU optimized stuff: rd_tsc: 661154 rd_tsc: 641317 rd_tsc: 222448 New MMX2 optimized stuff: rd_tsc: 269544 rd_tsc: 329189 rd_tsc: 173110 diff -r 7679d983c52f -r 004ee19ebfcf libvo/osd.c --- a/libvo/osd.c Sun Nov 11 04:31:59 2001 +0000 +++ b/libvo/osd.c Sun Nov 11 11:18:50 2001 +0000 @@ -76,12 +76,25 @@ return; } +#ifdef PROFILE_ME +static inline unsigned long long int read_tsc( void ) +{ + unsigned long long int retval; + __asm __volatile ("rdtsc":"=A"(retval)::"memory"); + return retval; +} +#endif + void vo_draw_alpha_rgb32(int w,int h, unsigned char* src, unsigned char *srca, int srcstride, unsigned char* dstbase,int dststride){ int y; +#ifdef PROFILE_ME +unsigned long long v1,v2; +v1 = read_tsc(); +#endif for(y=0;y