mirror of
https://git.freebsd.org/ports.git
synced 2025-06-03 03:46:30 -04:00
Changes: https://chromium.googlesource.com/webm/libvpx/+log/v1.13.1..v1.14.0 Reported by: portscout
39 lines
1.2 KiB
C
39 lines
1.2 KiB
C
- Assume NEON is enabled on armv7
|
|
- Implement runtime detection on FreeBSD
|
|
|
|
--- vpx_ports/aarch32_cpudetect.c.orig 2024-01-09 21:12:22 UTC
|
|
+++ vpx_ports/aarch32_cpudetect.c
|
|
@@ -12,7 +12,7 @@
|
|
#include "./vpx_config.h"
|
|
#include "arm_cpudetect.h"
|
|
|
|
-#if !CONFIG_RUNTIME_CPU_DETECT
|
|
+#if !CONFIG_RUNTIME_CPU_DETECT || defined(__ARM_NEON)
|
|
|
|
static int arm_get_cpu_caps(void) {
|
|
// This function should actually be a no-op. There is no way to adjust any of
|
|
@@ -57,9 +57,23 @@ static int arm_get_cpu_caps(void) {
|
|
return flags;
|
|
}
|
|
|
|
-#elif defined(__linux__) // end defined(AOM_USE_ANDROID_CPU_FEATURES)
|
|
+#elif defined(__linux__) || defined(__FreeBSD__) // end defined(AOM_USE_ANDROID_CPU_FEATURES)
|
|
|
|
#include <sys/auxv.h>
|
|
+
|
|
+#if defined(__FreeBSD__)
|
|
+static unsigned long getauxval(unsigned long type)
|
|
+{
|
|
+ /* Only AT_HWCAP* return unsigned long */
|
|
+ if (type != AT_HWCAP && type != AT_HWCAP2) {
|
|
+ return 0;
|
|
+ }
|
|
+
|
|
+ unsigned long ret = 0;
|
|
+ elf_aux_info(type, &ret, sizeof(ret));
|
|
+ return ret;
|
|
+}
|
|
+#endif
|
|
|
|
// Define hwcap values ourselves: building with an old auxv header where these
|
|
// hwcap values are not defined should not prevent features from being enabled.
|