Skip to content

Commit

Permalink
cmdutils: add -cpuflags.
Browse files Browse the repository at this point in the history
This allows globally forcing specific cpuflags (or lack thereof)
Useful for debugging and benchmarking

Signed-off-by: Michael Niedermayer <[email protected]>
  • Loading branch information
michaelni committed Feb 19, 2012
1 parent 04f7eee commit 1060e9c
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 0 deletions.
13 changes: 13 additions & 0 deletions cmdutils.c
Original file line number Diff line number Diff line change
Expand Up @@ -535,6 +535,19 @@ int opt_max_alloc(const char *opt, const char *arg)
return 0;
}

int opt_cpuflags(const char *opt, const char *arg)
{
char *tail;
long flags = strtol(arg, &tail, 10);

if (*tail) {
av_log(NULL, AV_LOG_FATAL, "Invalid cpuflags \"%s\".\n", arg);
exit_program(1);
}
av_force_cpu_flags(flags);
return 0;
}

int opt_codec_debug(const char *opt, const char *arg)
{
av_log_set_level(AV_LOG_DEBUG);
Expand Down
2 changes: 2 additions & 0 deletions cmdutils.h
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,8 @@ int opt_report(const char *opt);

int opt_max_alloc(const char *opt, const char *arg);

int opt_cpuflags(const char *opt, const char *arg);

int opt_codec_debug(const char *opt, const char *arg);

/**
Expand Down
1 change: 1 addition & 0 deletions cmdutils_common_opts.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,4 @@
{ "debug", HAS_ARG, {(void*)opt_codec_debug}, "set debug flags", "flags" },
{ "report", 0, {(void*)opt_report}, "generate a report" },
{ "max_alloc", HAS_ARG, {(void*)opt_max_alloc}, "set maximum size of a single allocated block", "bytes" },
{ "cpuflags", HAS_ARG, {(void*)opt_cpuflags}, "force specific cpu flags", "flags" },

0 comments on commit 1060e9c

Please sign in to comment.