home *** CD-ROM | disk | FTP | other *** search
/ Freelog 125 / Freelog_MarsAvril2015_No125.iso / Multimedia / AVStoDVD / AVStoDVD_280_Install.exe / AVSMeter / source / avs / cpuid.h < prev    next >
C/C++ Source or Header  |  2014-03-02  |  3KB  |  61 lines

  1. // This program is free software; you can redistribute it and/or modify
  2. // it under the terms of the GNU General Public License as published by
  3. // the Free Software Foundation; either version 2 of the License, or
  4. // (at your option) any later version.
  5. //
  6. // This program is distributed in the hope that it will be useful,
  7. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  8. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  9. // GNU General Public License for more details.
  10. //
  11. // You should have received a copy of the GNU General Public License
  12. // along with this program; if not, write to the Free Software
  13. // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA, or visit
  14. // http://www.gnu.org/copyleft/gpl.html .
  15. //
  16. // Linking Avisynth statically or dynamically with other modules is making a
  17. // combined work based on Avisynth.  Thus, the terms and conditions of the GNU
  18. // General Public License cover the whole combination.
  19. //
  20. // As a special exception, the copyright holders of Avisynth give you
  21. // permission to link Avisynth with independent modules that communicate with
  22. // Avisynth solely through the interfaces defined in avisynth.h, regardless of the license
  23. // terms of these independent modules, and to copy and distribute the
  24. // resulting combined work under terms of your choice, provided that
  25. // every copy of the combined work is accompanied by a complete copy of
  26. // the source code of Avisynth (the version of Avisynth used to produce the
  27. // combined work), being distributed under the terms of the GNU General
  28. // Public License plus this exception.  An independent module is a module
  29. // which is not derived from or based on Avisynth, such as 3rd-party filters,
  30. // import and export plugins, or graphical user interfaces.
  31.  
  32. #ifndef AVSCORE_CPUID_H
  33. #define AVSCORE_CPUID_H
  34.  
  35. // For GetCPUFlags.  These are backwards-compatible with those in VirtualDub.
  36. enum {
  37.                     /* oldest CPU to support extension */
  38.   CPUF_FORCE        =  0x01,   //  N/A
  39.   CPUF_FPU          =  0x02,   //  386/486DX
  40.   CPUF_MMX          =  0x04,   //  P55C, K6, PII
  41.   CPUF_INTEGER_SSE  =  0x08,   //  PIII, Athlon
  42.   CPUF_SSE          =  0x10,   //  PIII, Athlon XP/MP
  43.   CPUF_SSE2         =  0x20,   //  PIV, K8
  44.   CPUF_3DNOW        =  0x40,   //  K6-2
  45.   CPUF_3DNOW_EXT    =  0x80,   //  Athlon
  46.   CPUF_X86_64       =  0xA0,   //  Hammer (note: equiv. to 3DNow + SSE2, which
  47.                                //          only Hammer will have anyway)
  48.   CPUF_SSE3         = 0x100,   //  PIV+, K8 Venice
  49.   CPUF_SSSE3        = 0x200,   //  Core 2
  50.   CPUF_SSE4         = 0x400,
  51.   CPUF_SSE4_1       = 0x400,   //  Penryn, Wolfdale, Yorkfield  
  52.   CPUF_AVX          = 0x800,   //  Sandy Bridge, Bulldozer
  53.   CPUF_SSE4_2       = 0x1000,  //  Nehalem
  54. };
  55.  
  56. #ifdef BUILDING_AVSCORE
  57. int GetCPUFlags();
  58. #endif
  59.  
  60. #endif // AVSCORE_CPUID_H
  61.