From bcc73960657538f601dc90076e30df3cc6032569 Mon Sep 17 00:00:00 2001 From: Janne Grunau Date: Sat, 24 Dec 2011 00:27:12 +0100 Subject: threads: add sysconf based number of CPUs detection Can act as fallback and should work on a couple of Unix systems. --- libavcodec/pthread.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'libavcodec/pthread.c') diff --git a/libavcodec/pthread.c b/libavcodec/pthread.c index 73d96fca1a..400abf4f6c 100644 --- a/libavcodec/pthread.c +++ b/libavcodec/pthread.c @@ -45,6 +45,9 @@ #include #include #endif +#if HAVE_SYSCONF +#include +#endif #include "avcodec.h" #include "internal.h" @@ -177,6 +180,10 @@ static int get_logical_cpus(AVCodecContext *avctx) ret = sysctl(mib, 2, &nb_cpus, &len, NULL, 0); if (ret == -1) nb_cpus = 0; +#elif HAVE_SYSCONF && defined(_SC_NPROC_ONLN) + nb_cpus = sysconf(_SC_NPROC_ONLN); +#elif HAVE_SYSCONF && defined(_SC_NPROCESSORS_ONLN) + nb_cpus = sysconf(_SC_NPROCESSORS_ONLN); #endif av_log(avctx, AV_LOG_DEBUG, "detected %d logical cores\n", nb_cpus); return FFMIN(nb_cpus, MAX_AUTO_THREADS); -- cgit v1.2.3