aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad Smith <brad@comstyle.com>2021-04-03 14:49:20 -0400
committerMarton Balint <cus@passwd.hu>2021-04-24 09:24:03 +0200
commit7e9b9f24df6c98df5bf4c8ce41154b67f485e45f (patch)
tree5d49acec6209a1c21c9a71fc116e9832d722e564
parente3fb0f0c88f14cf382d005469242bd63338b862e (diff)
downloadffmpeg-7e9b9f24df6c98df5bf4c8ce41154b67f485e45f.tar.gz
avutil/cpu: Use HW_NCPUONLINE to detect # of online CPUs with OpenBSD
Signed-off-by: Brad Smith <brad@comstyle.com> Signed-off-by: Marton Balint <cus@passwd.hu> (cherry picked from commit c8fb68ec52194d3de2f24a6850cd795d98eb2f2f)
-rw-r--r--libavutil/cpu.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libavutil/cpu.c b/libavutil/cpu.c
index 52f6b9a3bf..6bd0f07a62 100644
--- a/libavutil/cpu.c
+++ b/libavutil/cpu.c
@@ -291,6 +291,12 @@ int av_cpu_count(void)
DWORD_PTR proc_aff, sys_aff;
if (GetProcessAffinityMask(GetCurrentProcess(), &proc_aff, &sys_aff))
nb_cpus = av_popcount64(proc_aff);
+#elif HAVE_SYSCTL && defined(HW_NCPUONLINE)
+ int mib[2] = { CTL_HW, HW_NCPUONLINE };
+ size_t len = sizeof(nb_cpus);
+
+ if (sysctl(mib, 2, &nb_cpus, &len, NULL, 0) == -1)
+ nb_cpus = 0;
#elif HAVE_SYSCTL && defined(HW_NCPU)
int mib[2] = { CTL_HW, HW_NCPU };
size_t len = sizeof(nb_cpus);