2008-02-22 09:09:46 +00:00
|
|
|
#ifndef MPLAYER_CPUDETECT_H
|
|
|
|
#define MPLAYER_CPUDETECT_H
|
2001-10-19 00:40:19 +00:00
|
|
|
|
2009-02-19 10:07:46 +00:00
|
|
|
#include "config.h"
|
|
|
|
|
2001-10-19 13:09:26 +00:00
|
|
|
#define CPUTYPE_I386 3
|
|
|
|
#define CPUTYPE_I486 4
|
|
|
|
#define CPUTYPE_I586 5
|
|
|
|
#define CPUTYPE_I686 6
|
2001-10-19 00:40:19 +00:00
|
|
|
|
2009-03-27 20:33:13 +00:00
|
|
|
#include "libavutil/x86_cpu.h"
|
2004-10-21 11:55:20 +00:00
|
|
|
|
2001-10-19 00:40:19 +00:00
|
|
|
typedef struct cpucaps_s {
|
|
|
|
int cpuType;
|
2006-05-17 21:10:11 +00:00
|
|
|
int cpuModel;
|
2001-12-09 17:03:04 +00:00
|
|
|
int cpuStepping;
|
2001-10-19 00:40:19 +00:00
|
|
|
int hasMMX;
|
|
|
|
int hasMMX2;
|
|
|
|
int has3DNow;
|
|
|
|
int has3DNowExt;
|
|
|
|
int hasSSE;
|
|
|
|
int hasSSE2;
|
2009-03-12 10:50:21 +00:00
|
|
|
int hasSSE3;
|
2008-11-19 16:41:59 +00:00
|
|
|
int hasSSSE3;
|
|
|
|
int hasSSE4a;
|
2001-11-26 23:08:48 +00:00
|
|
|
int isX86;
|
2003-01-09 18:39:09 +00:00
|
|
|
unsigned cl_size; /* size of cache line */
|
2003-01-18 19:29:46 +00:00
|
|
|
int hasAltiVec;
|
2003-09-19 23:52:41 +00:00
|
|
|
int hasTSC;
|
2001-10-19 00:40:19 +00:00
|
|
|
} CpuCaps;
|
|
|
|
|
|
|
|
extern CpuCaps gCpuCaps;
|
|
|
|
|
2001-10-20 02:35:31 +00:00
|
|
|
void GetCpuCaps(CpuCaps *caps);
|
2001-10-20 11:16:47 +00:00
|
|
|
|
|
|
|
/* returned value is malloc()'ed so free() it after use */
|
2001-10-20 02:35:31 +00:00
|
|
|
char *GetCpuFriendlyName(unsigned int regs[], unsigned int regs2[]);
|
2001-10-19 00:40:19 +00:00
|
|
|
|
2008-02-22 09:09:46 +00:00
|
|
|
#endif /* MPLAYER_CPUDETECT_H */
|