00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef AVUTIL_X86_CPU_H
00020 #define AVUTIL_X86_CPU_H
00021
00022 #include "config.h"
00023 #include "libavutil/cpu.h"
00024
00025 #define CPUEXT(flags, suffix, cpuext) \
00026 (HAVE_ ## cpuext ## suffix && ((flags) & AV_CPU_FLAG_ ## cpuext))
00027
00028 #define AV_CPU_FLAG_AMD3DNOW AV_CPU_FLAG_3DNOW
00029 #define AV_CPU_FLAG_AMD3DNOWEXT AV_CPU_FLAG_3DNOWEXT
00030
00031 #define EXTERNAL_AMD3DNOW(flags) CPUEXT(flags, _EXTERNAL, AMD3DNOW)
00032 #define EXTERNAL_AMD3DNOWEXT(flags) CPUEXT(flags, _EXTERNAL, AMD3DNOWEXT)
00033 #define EXTERNAL_MMX(flags) CPUEXT(flags, _EXTERNAL, MMX)
00034 #define EXTERNAL_MMXEXT(flags) CPUEXT(flags, _EXTERNAL, MMXEXT)
00035 #define EXTERNAL_SSE(flags) CPUEXT(flags, _EXTERNAL, SSE)
00036 #define EXTERNAL_SSE2(flags) CPUEXT(flags, _EXTERNAL, SSE2)
00037 #define EXTERNAL_SSE3(flags) CPUEXT(flags, _EXTERNAL, SSE3)
00038 #define EXTERNAL_SSSE3(flags) CPUEXT(flags, _EXTERNAL, SSSE3)
00039 #define EXTERNAL_SSE4(flags) CPUEXT(flags, _EXTERNAL, SSE4)
00040 #define EXTERNAL_SSE42(flags) CPUEXT(flags, _EXTERNAL, SSE42)
00041 #define EXTERNAL_AVX(flags) CPUEXT(flags, _EXTERNAL, AVX)
00042 #define EXTERNAL_FMA4(flags) CPUEXT(flags, _EXTERNAL, FMA4)
00043
00044 #define INLINE_AMD3DNOW(flags) CPUEXT(flags, _INLINE, AMD3DNOW)
00045 #define INLINE_AMD3DNOWEXT(flags) CPUEXT(flags, _INLINE, AMD3DNOWEXT)
00046 #define INLINE_MMX(flags) CPUEXT(flags, _INLINE, MMX)
00047 #define INLINE_MMXEXT(flags) CPUEXT(flags, _INLINE, MMXEXT)
00048 #define INLINE_SSE(flags) CPUEXT(flags, _INLINE, SSE)
00049 #define INLINE_SSE2(flags) CPUEXT(flags, _INLINE, SSE2)
00050 #define INLINE_SSE3(flags) CPUEXT(flags, _INLINE, SSE3)
00051 #define INLINE_SSSE3(flags) CPUEXT(flags, _INLINE, SSSE3)
00052 #define INLINE_SSE4(flags) CPUEXT(flags, _INLINE, SSE4)
00053 #define INLINE_SSE42(flags) CPUEXT(flags, _INLINE, SSE42)
00054 #define INLINE_AVX(flags) CPUEXT(flags, _INLINE, AVX)
00055 #define INLINE_FMA4(flags) CPUEXT(flags, _INLINE, FMA4)
00056
00057 #endif