view cpudetect.h @ 29373:c2c83f344012

Remove dependency from swscale_internal.h to lavu/internal.h, it is no longer needed for DECLARE_ALIGNED. Remove dependency from swscale-example.c to swscale_internal.h by duplicating the necessary code. The duplicated code is a hack and should be removed once a cleaner pixel format information system exists. swscale-example.c is example code on how to use the library and therefore shouldn't rely on internal headers.
author ramiro
date Thu, 09 Jul 2009 02:27:39 +0000
parents ce682f8d1f68
children c1a3f1bbba26
line wrap: on
line source

#ifndef MPLAYER_CPUDETECT_H
#define MPLAYER_CPUDETECT_H

#include "config.h"

#define CPUTYPE_I386	3
#define CPUTYPE_I486	4
#define CPUTYPE_I586	5
#define CPUTYPE_I686    6

#include "libavutil/x86_cpu.h"

typedef struct cpucaps_s {
	int cpuType;
	int cpuModel;
	int cpuStepping;
	int hasMMX;
	int hasMMX2;
	int has3DNow;
	int has3DNowExt;
	int hasSSE;
	int hasSSE2;
	int hasSSE3;
	int hasSSSE3;
	int hasSSE4a;
	int isX86;
	unsigned cl_size; /* size of cache line */
        int hasAltiVec;
	int hasTSC;
} CpuCaps;

extern CpuCaps gCpuCaps;

void GetCpuCaps(CpuCaps *caps);

/* returned value is malloc()'ed so free() it after use */
char *GetCpuFriendlyName(unsigned int regs[], unsigned int regs2[]);

#endif /* MPLAYER_CPUDETECT_H */