summaryrefslogtreecommitdiff
path: root/libavutil/cpu.c
diff options
context:
space:
mode:
authorJanne Grunau <janne-libav@jannau.net>2014-08-03 13:03:13 +0200
committerJanne Grunau <janne-libav@jannau.net>2014-08-04 00:17:21 +0200
commitcaf5ef852bf71984d3322bbeaf48cfb04ac8255f (patch)
treecd2357a9a814cb38526498071452126386d4e100 /libavutil/cpu.c
parent07d8fa58121be8fe315bd51ab760547fe209a745 (diff)
cpu-test: test av_cpu_count
Add CPU count and number threads as informative values for fate.
Diffstat (limited to 'libavutil/cpu.c')
-rw-r--r--libavutil/cpu.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/libavutil/cpu.c b/libavutil/cpu.c
index 20f0fe1406..a7e5f7f345 100644
--- a/libavutil/cpu.c
+++ b/libavutil/cpu.c
@@ -180,6 +180,7 @@ int av_cpu_count(void)
#ifdef TEST
#include <stdio.h>
+#include "avstring.h"
#if !HAVE_GETOPT
#include "compat/getopt.c"
@@ -245,12 +246,14 @@ int main(int argc, char **argv)
{
int cpu_flags_raw = av_get_cpu_flags();
int cpu_flags_eff;
+ int cpu_count = av_cpu_count();
+ char threads[5] = "auto";
if (cpu_flags_raw < 0)
return 1;
for (;;) {
- int c = getopt(argc, argv, "c:");
+ int c = getopt(argc, argv, "c:t:");
if (c == -1)
break;
switch (c) {
@@ -262,6 +265,14 @@ int main(int argc, char **argv)
av_set_cpu_flags_mask(cpuflags);
break;
}
+ case 't':
+ {
+ int len = av_strlcpy(threads, optarg, sizeof(threads));
+ if (len >= sizeof(threads)) {
+ fprintf(stderr, "Invalid thread count '%s'\n", optarg);
+ return 2;
+ }
+ }
}
}
@@ -272,6 +283,7 @@ int main(int argc, char **argv)
print_cpu_flags(cpu_flags_raw, "raw");
print_cpu_flags(cpu_flags_eff, "effective");
+ fprintf(stderr, "threads = %s (cpu_count = %d)\n", threads, cpu_count);
return 0;
}