]> git.sesse.net Git - ffmpeg/blobdiff - libavutil/cpu.c
Merge commit 'f32aefcf349f2f1367f0143782397643416d18f3'
[ffmpeg] / libavutil / cpu.c
index 73d58565f3019c0b6c0a89e862b887808795d0fa..cdea209d8db2e47ee0c08ce329d450f2d13d7053 100644 (file)
@@ -198,27 +198,25 @@ int av_parse_cpu_caps(unsigned *flags, const char *s)
 
 int av_cpu_count(void)
 {
-    int ret, nb_cpus = 1;
+    static volatile int printed;
+
+    int nb_cpus = 1;
 #if HAVE_SCHED_GETAFFINITY && defined(CPU_COUNT)
     cpu_set_t cpuset;
 
     CPU_ZERO(&cpuset);
 
-    ret = sched_getaffinity(0, sizeof(cpuset), &cpuset);
-    if (!ret) {
+    if (!sched_getaffinity(0, sizeof(cpuset), &cpuset))
         nb_cpus = CPU_COUNT(&cpuset);
-    }
 #elif HAVE_GETPROCESSAFFINITYMASK
     DWORD_PTR proc_aff, sys_aff;
-    ret = GetProcessAffinityMask(GetCurrentProcess(), &proc_aff, &sys_aff);
-    if (ret)
+    if (GetProcessAffinityMask(GetCurrentProcess(), &proc_aff, &sys_aff))
         nb_cpus = av_popcount64(proc_aff);
 #elif HAVE_SYSCTL && defined(HW_NCPU)
     int mib[2] = { CTL_HW, HW_NCPU };
     size_t len = sizeof(nb_cpus);
 
-    ret = sysctl(mib, 2, &nb_cpus, &len, NULL, 0);
-    if (ret == -1)
+    if (sysctl(mib, 2, &nb_cpus, &len, NULL, 0) == -1)
         nb_cpus = 0;
 #elif HAVE_SYSCONF && defined(_SC_NPROC_ONLN)
     nb_cpus = sysconf(_SC_NPROC_ONLN);
@@ -226,6 +224,11 @@ int av_cpu_count(void)
     nb_cpus = sysconf(_SC_NPROCESSORS_ONLN);
 #endif
 
+    if (!printed) {
+        av_log(NULL, AV_LOG_DEBUG, "detected %d logical cores\n", nb_cpus);
+        printed = 1;
+    }
+
     return nb_cpus;
 }