Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  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. #define CPUTYPE_I386    3
  23. #define CPUTYPE_I486    4
  24. #define CPUTYPE_I586    5
  25. #define CPUTYPE_I686    6
  26.  
  27. #include "libavutil/x86_cpu.h"
  28.  
  29. typedef struct cpucaps_s {
  30.     int cpuType;
  31.     int cpuModel;
  32.     int cpuStepping;
  33.     int hasMMX;
  34.     int hasMMX2;
  35.     int has3DNow;
  36.     int has3DNowExt;
  37.     int hasSSE;
  38.     int hasSSE2;
  39.     int hasSSE3;
  40.     int hasSSSE3;
  41.     int hasSSE4;
  42.     int hasSSE42;
  43.     int hasSSE4a;
  44.     int hasAVX;
  45.     int isX86;
  46.     unsigned cl_size; /* size of cache line */
  47.     int hasAltiVec;
  48.     int hasTSC;
  49. } CpuCaps;
  50.  
  51. extern CpuCaps ff_gCpuCaps;
  52.  
  53. void ff_do_cpuid(unsigned int ax, unsigned int *p);
  54.  
  55. void ff_GetCpuCaps(CpuCaps *caps);
  56.  
  57. /* returned value is malloc()'ed so free() it after use */
  58. char *ff_GetCpuFriendlyName(unsigned int regs[], unsigned int regs2[]);
  59.  
  60. #endif /* MPLAYER_CPUDETECT_H */
  61.