Initial import of MPlayer SVN rev 28382 and FFmpeg SVN rev 16846.
[vaapi:athaifas-mplayer.git] / .svn / text-base / cpudetect.h.svn-base
1 #ifndef MPLAYER_CPUDETECT_H
2 #define MPLAYER_CPUDETECT_H
3
4 #define CPUTYPE_I386    3
5 #define CPUTYPE_I486    4
6 #define CPUTYPE_I586    5
7 #define CPUTYPE_I686    6
8
9 #if ARCH_X86_64
10 #  define REGa    rax
11 #  define REGb    rbx
12 #  define REGBP   rbp
13 #  define REGSP   rsp
14 #  define REG_a  "rax"
15 #  define REG_b  "rbx"
16 #  define REG_c  "rcx"
17 #  define REG_d  "rdx"
18 #  define REG_S  "rsi"
19 #  define REG_D  "rdi"
20 #  define REG_SP "rsp"
21 #  define REG_BP "rbp"
22 #else
23 #  define REGa    eax
24 #  define REGb    ebx
25 #  define REGBP   ebp
26 #  define REGSP   esp
27 #  define REG_a  "eax"
28 #  define REG_b  "ebx"
29 #  define REG_c  "ecx"
30 #  define REG_d  "edx"
31 #  define REG_S  "esi"
32 #  define REG_D  "edi"
33 #  define REG_SP "esp"
34 #  define REG_BP "ebp"
35 #endif
36
37 typedef struct cpucaps_s {
38         int cpuType;
39         int cpuModel;
40         int cpuStepping;
41         int hasMMX;
42         int hasMMX2;
43         int has3DNow;
44         int has3DNowExt;
45         int hasSSE;
46         int hasSSE2;
47         int hasSSSE3;
48         int hasSSE4a;
49         int isX86;
50         unsigned cl_size; /* size of cache line */
51         int hasAltiVec;
52         int hasTSC;
53 } CpuCaps;
54
55 extern CpuCaps gCpuCaps;
56
57 void GetCpuCaps(CpuCaps *caps);
58
59 /* returned value is malloc()'ed so free() it after use */
60 char *GetCpuFriendlyName(unsigned int regs[], unsigned int regs2[]);
61
62 #endif /* MPLAYER_CPUDETECT_H */