[svn] / trunk / xvidcore / src / motion / motion_smp.h Repository:
ViewVC logotype

Diff of /trunk/xvidcore/src/motion/motion_smp.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1686, Fri Feb 24 23:35:04 2006 UTC revision 1690, Mon Feb 27 00:22:31 2006 UTC
# Line 22  Line 22 
22   *  along with this program ; if not, write to the Free Software   *  along with this program ; if not, write to the Free Software
23   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
24   *   *
25   * $Id: motion_smp.h,v 1.2 2006-02-24 23:35:04 suxen_drol Exp $   * $Id: motion_smp.h,v 1.3 2006-02-27 00:22:31 syskin Exp $
26   *   *
27   ****************************************************************************/   ****************************************************************************/
28    
# Line 30  Line 30 
30  #define SMP_MOTION_H  #define SMP_MOTION_H
31    
32  #ifdef WIN32  #ifdef WIN32
33    
34    # include <winbase.h>
35  #include <windows.h>  #include <windows.h>
36  #define pthread_t               HANDLE  #define pthread_t               HANDLE
37  #define pthread_create(t,u,f,d) *(t)=CreateThread(NULL,0,f,d,0,NULL)  #define pthread_create(t,u,f,d) *(t)=CreateThread(NULL,0,f,d,0,NULL)
38  #define pthread_join(t,s)       { WaitForSingleObject(t,INFINITE); \  #define pthread_join(t,s)       { WaitForSingleObject(t,INFINITE); \
39                                    CloseHandle(t); }                                    CloseHandle(t); }
40  #define sched_yield()                   Sleep(0)  # define sched_yield()                  Sleep(0);
41  #define HAVE_PTHREAD 1  static int pthread_num_processors_np()
42    {
43            unsigned int p_aff, s_aff, r = 0;
44            GetProcessAffinityMask(GetCurrentProcess(), &p_aff, &s_aff);
45            for(; p_aff != 0; p_aff>>=1) r += p_aff&1;
46            return r;
47    }
48    
49  #elif defined(SYS_BEOS)  #elif defined(SYS_BEOS)
50    
51  #include <kernel/OS.h>  #include <kernel/OS.h>
52  #define pthread_t               thread_id  #define pthread_t               thread_id
53  #define pthread_create(t,u,f,d) { *(t)=spawn_thread(f,"",10,d); \  #define pthread_create(t,u,f,d) { *(t)=spawn_thread(f,"",10,d); \
54                                    resume_thread(*(t)); }                                    resume_thread(*(t)); }
55  #define pthread_join(t,s)       wait_for_thread(t,(long*)s)  #define pthread_join(t,s)       wait_for_thread(t,(long*)s)
56  #define sched_yield()                   snooze(0) /* is this correct? */  #define sched_yield()                   snooze(0) /* is this correct? */
 #define HAVE_PTHREAD 1  
57    
58  #elif HAVE_PTHREAD  #else
59  #include <pthread.h>  #include <pthread.h>
60  #endif  #endif
61    
   
 #define THREADS         3  
   
62  typedef struct  typedef struct
63  {  {
64          pthread_t handle;               /* thread's handle */          pthread_t handle;               /* thread's handle */
# Line 81  Line 86 
86    
87          int MVmax, mvSum, mvCount;              /* out */          int MVmax, mvSum, mvCount;              /* out */
88    
89    uint32_t minfcode;          int minfcode, minbcode;
   uint32_t minbcode;  
90  } SMPmotionData;  } SMPmotionData;
91    
92    

Legend:
Removed from v.1686  
changed lines
  Added in v.1690

No admin address has been configured
ViewVC Help
Powered by ViewVC 1.0.4