Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef AVUTIL_CPU_H
00022 #define AVUTIL_CPU_H
00023
00024 #define AV_CPU_FLAG_FORCE 0x80000000
00025
00026
00027 #define AV_CPU_FLAG_MMX 0x0001 ///< standard MMX
00028 #define AV_CPU_FLAG_MMX2 0x0002 ///< SSE integer functions or AMD MMX ext
00029 #define AV_CPU_FLAG_3DNOW 0x0004 ///< AMD 3DNOW
00030 #define AV_CPU_FLAG_SSE 0x0008 ///< SSE functions
00031 #define AV_CPU_FLAG_SSE2 0x0010 ///< PIV SSE2 functions
00032 #define AV_CPU_FLAG_SSE2SLOW 0x40000000 ///< SSE2 supported, but usually not faster
00033 #define AV_CPU_FLAG_3DNOWEXT 0x0020 ///< AMD 3DNowExt
00034 #define AV_CPU_FLAG_SSE3 0x0040 ///< Prescott SSE3 functions
00035 #define AV_CPU_FLAG_SSE3SLOW 0x20000000 ///< SSE3 supported, but usually not faster
00036 #define AV_CPU_FLAG_SSSE3 0x0080 ///< Conroe SSSE3 functions
00037 #define AV_CPU_FLAG_ATOM 0x10000000 ///< Atom processor, some SSSE3 instructions are slower
00038 #define AV_CPU_FLAG_SSE4 0x0100 ///< Penryn SSE4.1 functions
00039 #define AV_CPU_FLAG_SSE42 0x0200 ///< Nehalem SSE4.2 functions
00040 #define AV_CPU_FLAG_AVX 0x4000 ///< AVX functions: requires OS support even if YMM registers aren't used
00041 #define AV_CPU_FLAG_XOP 0x0400 ///< Bulldozer XOP functions
00042 #define AV_CPU_FLAG_FMA4 0x0800 ///< Bulldozer FMA4 functions
00043 #define AV_CPU_FLAG_IWMMXT 0x0100 ///< XScale IWMMXT
00044 #define AV_CPU_FLAG_CMOV 0x1000 ///< i686 cmov
00045 #define AV_CPU_FLAG_ALTIVEC 0x0001 ///< standard
00046
00050 int av_get_cpu_flags(void);
00051
00052
00053 int ff_get_cpu_flags_arm(void);
00054 int ff_get_cpu_flags_ppc(void);
00055 int ff_get_cpu_flags_x86(void);
00056
00057 #endif