diff options
author | Hendrik Leppkes <h.leppkes@gmail.com> | 2016-01-02 11:01:29 +0100 |
---|---|---|
committer | Hendrik Leppkes <h.leppkes@gmail.com> | 2016-01-02 11:01:29 +0100 |
commit | e754c8e8caa78d75efff5cb2d979635477c20378 (patch) | |
tree | 15d6289f14563c8db638f565dd0e8f75e18cbd71 /libavutil/arm | |
parent | 00e91d06767a5a28524cbfc271141970f744db23 (diff) | |
parent | e2710e790c09e49e86baa58c6063af0097cc8cb0 (diff) | |
download | ffmpeg-e754c8e8caa78d75efff5cb2d979635477c20378.tar.gz |
Merge commit 'e2710e790c09e49e86baa58c6063af0097cc8cb0'
* commit 'e2710e790c09e49e86baa58c6063af0097cc8cb0':
arm: add a cpu flag for the VFPv2 vector mode
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
Diffstat (limited to 'libavutil/arm')
-rw-r--r-- | libavutil/arm/cpu.c | 4 | ||||
-rw-r--r-- | libavutil/arm/cpu.h | 5 |
2 files changed, 9 insertions, 0 deletions
diff --git a/libavutil/arm/cpu.c b/libavutil/arm/cpu.c index 02def0b470..3889ef011c 100644 --- a/libavutil/arm/cpu.c +++ b/libavutil/arm/cpu.c @@ -137,6 +137,10 @@ int ff_get_cpu_flags_arm(void) if (flags & AV_CPU_FLAG_ARMV6T2) flags |= AV_CPU_FLAG_ARMV6; + /* set the virtual VFPv2 vector mode flag */ + if ((flags & AV_CPU_FLAG_VFP) && !(flags & (AV_CPU_FLAG_VFPV3 | AV_CPU_FLAG_NEON))) + flags |= AV_CPU_FLAG_VFP_VM; + return flags; } diff --git a/libavutil/arm/cpu.h b/libavutil/arm/cpu.h index 9b3b6ff58b..27a2edacf5 100644 --- a/libavutil/arm/cpu.h +++ b/libavutil/arm/cpu.h @@ -31,4 +31,9 @@ #define have_neon(flags) CPUEXT(flags, NEON) #define have_setend(flags) CPUEXT(flags, SETEND) +/* some functions use the VFPv2 vector mode which is deprecated in ARMv7-A + * and might trap on such CPU depending on the OS configuration */ +#define have_vfp_vm(flags) \ + (have_armv6(flags) && ((flags) & AV_CPU_FLAG_VFP_VM)) + #endif /* AVUTIL_ARM_CPU_H */ |