Statistics
| Branch: | Revision:

ffmpeg / libavfilter / libmpcodecs / cpudetect.h @ e4852fb3

History | View | Annotate | Download (1.55 KB)

1
/*
2
 * This file is part of MPlayer.
3
 *
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.
8
 *
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.
13
 *
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.
17
 */
18

    
19
#ifndef MPLAYER_CPUDETECT_H
20
#define MPLAYER_CPUDETECT_H
21

    
22
//#include "config.h"
23

    
24
#define CPUTYPE_I386    3
25
#define CPUTYPE_I486    4
26
#define CPUTYPE_I586    5
27
#define CPUTYPE_I686    6
28

    
29
#include "libavutil/x86_cpu.h"
30

    
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;
49

    
50
extern CpuCaps gCpuCaps;
51

    
52
void do_cpuid(unsigned int ax, unsigned int *p);
53

    
54
void GetCpuCaps(CpuCaps *caps);
55

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

    
59
#endif /* MPLAYER_CPUDETECT_H */