@@ -80,7 +80,8 @@ void av_force_cpu_flags(int arg){
80
80
AV_CPU_FLAG_XOP |
81
81
AV_CPU_FLAG_FMA3 |
82
82
AV_CPU_FLAG_FMA4 |
83
- AV_CPU_FLAG_AVX2 ))
83
+ AV_CPU_FLAG_AVX2 |
84
+ AV_CPU_FLAG_AVX512 ))
84
85
&& !(arg & AV_CPU_FLAG_MMX )) {
85
86
av_log (NULL , AV_LOG_WARNING , "MMX implied by specified flags\n" );
86
87
arg |= AV_CPU_FLAG_MMX ;
@@ -126,6 +127,7 @@ int av_parse_cpu_flags(const char *s)
126
127
#define CPUFLAG_AVX2 (AV_CPU_FLAG_AVX2 | CPUFLAG_AVX)
127
128
#define CPUFLAG_BMI2 (AV_CPU_FLAG_BMI2 | AV_CPU_FLAG_BMI1)
128
129
#define CPUFLAG_AESNI (AV_CPU_FLAG_AESNI | CPUFLAG_SSE42)
130
+ #define CPUFLAG_AVX512 (AV_CPU_FLAG_AVX512 | CPUFLAG_AVX2)
129
131
static const AVOption cpuflags_opts [] = {
130
132
{ "flags" , NULL , 0 , AV_OPT_TYPE_FLAGS , { .i64 = 0 }, INT64_MIN , INT64_MAX , .unit = "flags" },
131
133
#if ARCH_PPC
@@ -154,6 +156,7 @@ int av_parse_cpu_flags(const char *s)
154
156
{ "3dnowext" , NULL , 0 , AV_OPT_TYPE_CONST , { .i64 = CPUFLAG_3DNOWEXT }, .unit = "flags" },
155
157
{ "cmov" , NULL , 0 , AV_OPT_TYPE_CONST , { .i64 = AV_CPU_FLAG_CMOV }, .unit = "flags" },
156
158
{ "aesni" , NULL , 0 , AV_OPT_TYPE_CONST , { .i64 = CPUFLAG_AESNI }, .unit = "flags" },
159
+ { "avx512" , NULL , 0 , AV_OPT_TYPE_CONST , { .i64 = CPUFLAG_AVX512 }, .unit = "flags" },
157
160
#elif ARCH_ARM
158
161
{ "armv5te" , NULL , 0 , AV_OPT_TYPE_CONST , { .i64 = AV_CPU_FLAG_ARMV5TE }, .unit = "flags" },
159
162
{ "armv6" , NULL , 0 , AV_OPT_TYPE_CONST , { .i64 = AV_CPU_FLAG_ARMV6 }, .unit = "flags" },
@@ -216,6 +219,7 @@ int av_parse_cpu_caps(unsigned *flags, const char *s)
216
219
{ "3dnowext" , NULL , 0 , AV_OPT_TYPE_CONST , { .i64 = AV_CPU_FLAG_3DNOWEXT }, .unit = "flags" },
217
220
{ "cmov" , NULL , 0 , AV_OPT_TYPE_CONST , { .i64 = AV_CPU_FLAG_CMOV }, .unit = "flags" },
218
221
{ "aesni" , NULL , 0 , AV_OPT_TYPE_CONST , { .i64 = AV_CPU_FLAG_AESNI }, .unit = "flags" },
222
+ { "avx512" , NULL , 0 , AV_OPT_TYPE_CONST , { .i64 = AV_CPU_FLAG_AVX512 }, .unit = "flags" },
219
223
220
224
#define CPU_FLAG_P2 AV_CPU_FLAG_CMOV | AV_CPU_FLAG_MMX
221
225
#define CPU_FLAG_P3 CPU_FLAG_P2 | AV_CPU_FLAG_MMX2 | AV_CPU_FLAG_SSE
0 commit comments