summaryrefslogtreecommitdiff
path: root/libavutil
diff options
context:
space:
mode:
authorJanne Grunau <j@jannau.net>2014-04-05 13:46:51 +0200
committerJanne Grunau <janne-libav@jannau.net>2014-04-06 21:18:49 +0200
commit8675bcb0addb1c7fb0b04682d1f3f95d5b8dae14 (patch)
treefe474c79b62cf470d15fd1ee0f7993d19bf98788 /libavutil
parenta027d2a8731f7c95dbb57be470160f0f94d6c97d (diff)
aarch64: add armv8 CPU flag
Diffstat (limited to 'libavutil')
-rw-r--r--libavutil/aarch64/cpu.c5
-rw-r--r--libavutil/aarch64/cpu.h1
-rw-r--r--libavutil/cpu.c2
-rw-r--r--libavutil/cpu.h1
4 files changed, 7 insertions, 2 deletions
diff --git a/libavutil/aarch64/cpu.c b/libavutil/aarch64/cpu.c
index 2cc2ccd9ef..37a7d8defa 100644
--- a/libavutil/aarch64/cpu.c
+++ b/libavutil/aarch64/cpu.c
@@ -22,6 +22,7 @@
int ff_get_cpu_flags_aarch64(void)
{
- return AV_CPU_FLAG_NEON * HAVE_NEON |
- AV_CPU_FLAG_VFP * HAVE_VFP;
+ return AV_CPU_FLAG_ARMV8 * HAVE_ARMV8 |
+ AV_CPU_FLAG_NEON * HAVE_NEON |
+ AV_CPU_FLAG_VFP * HAVE_VFP;
}
diff --git a/libavutil/aarch64/cpu.h b/libavutil/aarch64/cpu.h
index 704df48b85..f5b1d89132 100644
--- a/libavutil/aarch64/cpu.h
+++ b/libavutil/aarch64/cpu.h
@@ -23,6 +23,7 @@
#include "libavutil/cpu.h"
#include "libavutil/cpu_internal.h"
+#define have_armv8(flags) CPUEXT(flags, ARMV8)
#define have_neon(flags) CPUEXT(flags, NEON)
#define have_vfp(flags) CPUEXT(flags, VFP)
diff --git a/libavutil/cpu.c b/libavutil/cpu.c
index d651eb2089..e755d1551d 100644
--- a/libavutil/cpu.c
+++ b/libavutil/cpu.c
@@ -126,6 +126,7 @@ int av_parse_cpu_flags(const char *s)
{ "vfpv3", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_VFPV3 }, .unit = "flags" },
{ "neon", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_NEON }, .unit = "flags" },
#elif ARCH_AARCH64
+ { "armv8", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_ARMV8 }, .unit = "flags" },
{ "neon", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_NEON }, .unit = "flags" },
{ "vfp", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_VFP }, .unit = "flags" },
#endif
@@ -185,6 +186,7 @@ static const struct {
const char *name;
} cpu_flag_tab[] = {
#if ARCH_AARCH64
+ { AV_CPU_FLAG_ARMV8, "armv8" },
{ AV_CPU_FLAG_NEON, "neon" },
{ AV_CPU_FLAG_VFP, "vfp" },
#elif ARCH_ARM
diff --git a/libavutil/cpu.h b/libavutil/cpu.h
index 517c520119..7cecccc9c4 100644
--- a/libavutil/cpu.h
+++ b/libavutil/cpu.h
@@ -61,6 +61,7 @@
#define AV_CPU_FLAG_VFP (1 << 3)
#define AV_CPU_FLAG_VFPV3 (1 << 4)
#define AV_CPU_FLAG_NEON (1 << 5)
+#define AV_CPU_FLAG_ARMV8 (1 << 6)
/**
* Return the flags which specify extensions supported by the CPU.