Mercurial > mplayer.hg
view osdep/timer-win2.c @ 22991:59671a52cc82
New implementation of rgb32tobgr32
The previous implementation segfaulted with MMX enabled when fed an image
smaller than the size of the units the MMX code processed. The new code:
- is faster for MMX, MMX2 and plain C
- processes small images correctly
- is LGPL
author | ivo |
---|---|
date | Mon, 16 Apr 2007 21:41:03 +0000 |
parents | f9755d9c479a |
children | 8df85ad26746 |
line wrap: on
line source
// Precise timer routines for WINDOWS #include <windows.h> #include <mmsystem.h> #include "timer.h" const char *timer_name = "Windows native"; // Returns current time in microseconds unsigned int GetTimer(){ return timeGetTime() * 1000; } // Returns current time in milliseconds unsigned int GetTimerMS(){ return timeGetTime() ; } int usec_sleep(int usec_delay){ // Sleep(0) won't sleep for one clocktick as the unix usleep // instead it will only make the thread ready // it may take some time until it actually starts to run again if(usec_delay<1000)usec_delay=1000; Sleep( usec_delay/1000); return 0; } static DWORD RelativeTime = 0; float GetRelativeTime(){ DWORD t, r; t = GetTimer(); r = t - RelativeTime; RelativeTime = t; return (float) r *0.000001F; } void InitTimer(){ GetRelativeTime(); }