configure: minor cleanups
[mplayer.git] / cpudetect.h
blob5ff6c5a78b3f171cf6d62009ab68a3c197207138
1 /*
2 * This file is part of MPlayer.
4 * MPlayer is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
9 * MPlayer is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License along
15 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 #ifndef MPLAYER_CPUDETECT_H
20 #define MPLAYER_CPUDETECT_H
22 #include "config.h"
24 #define CPUTYPE_I386 3
25 #define CPUTYPE_I486 4
26 #define CPUTYPE_I586 5
27 #define CPUTYPE_I686 6
29 #include "ffmpeg_files/x86_cpu.h"
31 typedef struct cpucaps_s {
32 int cpuType;
33 int cpuModel;
34 int cpuStepping;
35 int hasMMX;
36 int hasMMX2;
37 int has3DNow;
38 int has3DNowExt;
39 int hasSSE;
40 int hasSSE2;
41 int hasSSE3;
42 int hasSSSE3;
43 int hasSSE4a;
44 int isX86;
45 unsigned cl_size; /* size of cache line */
46 int hasAltiVec;
47 int hasTSC;
48 } CpuCaps;
50 extern CpuCaps gCpuCaps;
52 void do_cpuid(unsigned int ax, unsigned int *p);
54 void GetCpuCaps(CpuCaps *caps);
56 /* returned value is malloc()'ed so free() it after use */
57 char *GetCpuFriendlyName(unsigned int regs[], unsigned int regs2[]);
59 #endif /* MPLAYER_CPUDETECT_H */