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 #include "attributes.h"
00025
00026 #define AV_CPU_FLAG_FORCE 0x80000000
00027
00028
00029 #define AV_CPU_FLAG_MMX 0x0001
00030 #define AV_CPU_FLAG_MMXEXT 0x0002
00031 #define AV_CPU_FLAG_MMX2 0x0002
00032 #define AV_CPU_FLAG_3DNOW 0x0004
00033 #define AV_CPU_FLAG_SSE 0x0008
00034 #define AV_CPU_FLAG_SSE2 0x0010
00035 #define AV_CPU_FLAG_SSE2SLOW 0x40000000
00036 #define AV_CPU_FLAG_3DNOWEXT 0x0020
00037 #define AV_CPU_FLAG_SSE3 0x0040
00038 #define AV_CPU_FLAG_SSE3SLOW 0x20000000
00039 #define AV_CPU_FLAG_SSSE3 0x0080
00040 #define AV_CPU_FLAG_ATOM 0x10000000
00041 #define AV_CPU_FLAG_SSE4 0x0100
00042 #define AV_CPU_FLAG_SSE42 0x0200
00043 #define AV_CPU_FLAG_AVX 0x4000
00044 #define AV_CPU_FLAG_XOP 0x0400
00045 #define AV_CPU_FLAG_FMA4 0x0800
00046 // #if LIBAVUTIL_VERSION_MAJOR <52
00047 #define AV_CPU_FLAG_CMOV 0x1001000
00048 // #else
00049
00050
00051
00052 #define AV_CPU_FLAG_ALTIVEC 0x0001
00053
00054 #define AV_CPU_FLAG_ARMV5TE (1 << 0)
00055 #define AV_CPU_FLAG_ARMV6 (1 << 1)
00056 #define AV_CPU_FLAG_ARMV6T2 (1 << 2)
00057 #define AV_CPU_FLAG_VFP (1 << 3)
00058 #define AV_CPU_FLAG_VFPV3 (1 << 4)
00059 #define AV_CPU_FLAG_NEON (1 << 5)
00060
00064 int av_get_cpu_flags(void);
00065
00070 void av_force_cpu_flags(int flags);
00071
00079 attribute_deprecated void av_set_cpu_flags_mask(int mask);
00080
00090 attribute_deprecated
00091 int av_parse_cpu_flags(const char *s);
00092
00098 int av_parse_cpu_caps(unsigned *flags, const char *s);
00099
00100
00101 int ff_get_cpu_flags_arm(void);
00102 int ff_get_cpu_flags_ppc(void);
00103 int ff_get_cpu_flags_x86(void);
00104
00105 #endif