--- trunk/xvidcore/src/motion/motion_smp.h 2010/03/09 09:20:05 1882 +++ trunk/xvidcore/src/motion/motion_smp.h 2010/03/09 10:00:30 1883 @@ -22,48 +22,13 @@ * along with this program ; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: motion_smp.h,v 1.6 2009-06-05 07:58:41 Isibaar Exp $ + * $Id: motion_smp.h,v 1.7 2010-03-09 10:00:14 Isibaar Exp $ * ****************************************************************************/ #ifndef SMP_MOTION_H #define SMP_MOTION_H -#ifdef WIN32 - -# include -# define pthread_t HANDLE -# define pthread_create(t,u,f,d) *(t)=CreateThread(NULL,0,f,d,0,NULL) -# define pthread_join(t,s) { WaitForSingleObject(t,INFINITE); \ - CloseHandle(t); } -# define sched_yield() Sleep(0); -static __inline int pthread_num_processors_np() -{ - DWORD p_aff, s_aff, r = 0; - GetProcessAffinityMask(GetCurrentProcess(), (PDWORD_PTR) &p_aff, (PDWORD_PTR) &s_aff); - for(; p_aff != 0; p_aff>>=1) r += p_aff&1; - return r; -} - -#elif defined(__amigaos4__) - -# include -# include -# define sched_yield() IDOS->Delay(1) - -#elif defined(SYS_BEOS) - -# include -# define pthread_t thread_id -# define pthread_create(t,u,f,d) { *(t)=spawn_thread(f,"",10,d); \ - resume_thread(*(t)); } -# define pthread_join(t,s) wait_for_thread(t,(long*)s) -# define sched_yield() snooze(0) /* is this correct? */ - -#else -# include -#endif - typedef struct { pthread_t handle; /* thread's handle */