Merge commit 'f825d42bccdb9f89669a586951de7f66a81e80a5'

* commit 'f825d42bccdb9f89669a586951de7f66a81e80a5':
  avplay: Accept cpuflags option

Conflicts:
	cmdutils_common_opts.h
	doc/ffmpeg.texi
	doc/fftools-common-opts.texi
	ffmpeg_opt.c

See: 1060e9ce54
Merged-by: Michael Niedermayer <michaelni@gmx.at>
pull/39/head
Michael Niedermayer 11 years ago
commit cf47a6a1a0
  1. 25
      cmdutils.c
  2. 7
      cmdutils.h
  3. 2
      cmdutils_common_opts.h

@ -47,6 +47,7 @@
#include "libavutil/eval.h" #include "libavutil/eval.h"
#include "libavutil/dict.h" #include "libavutil/dict.h"
#include "libavutil/opt.h" #include "libavutil/opt.h"
#include "libavutil/cpu.h"
#include "cmdutils.h" #include "cmdutils.h"
#include "version.h" #include "version.h"
#if CONFIG_NETWORK #if CONFIG_NETWORK
@ -808,6 +809,18 @@ do { \
return 0; return 0;
} }
int opt_cpuflags(void *optctx, const char *opt, const char *arg)
{
int ret;
unsigned flags = av_get_cpu_flags();
if ((ret = av_parse_cpu_caps(&flags, arg)) < 0)
return ret;
av_force_cpu_flags(flags);
return 0;
}
int opt_loglevel(void *optctx, const char *opt, const char *arg) int opt_loglevel(void *optctx, const char *opt, const char *arg)
{ {
const struct { const char *name; int level; } log_levels[] = { const struct { const char *name; int level; } log_levels[] = {
@ -960,18 +973,6 @@ int opt_max_alloc(void *optctx, const char *opt, const char *arg)
return 0; return 0;
} }
int opt_cpuflags(void *optctx, const char *opt, const char *arg)
{
int ret;
unsigned flags = av_get_cpu_flags();
if ((ret = av_parse_cpu_caps(&flags, arg)) < 0)
return ret;
av_force_cpu_flags(flags);
return 0;
}
int opt_timelimit(void *optctx, const char *opt, const char *arg) int opt_timelimit(void *optctx, const char *opt, const char *arg)
{ {
#if HAVE_SETRLIMIT #if HAVE_SETRLIMIT

@ -81,6 +81,11 @@ void uninit_opts(void);
*/ */
void log_callback_help(void* ptr, int level, const char* fmt, va_list vl); void log_callback_help(void* ptr, int level, const char* fmt, va_list vl);
/**
* Override the cpuflags.
*/
int opt_cpuflags(void *optctx, const char *opt, const char *arg);
/** /**
* Fallback for options that are not explicitly handled, these will be * Fallback for options that are not explicitly handled, these will be
* parsed through AVOptions. * parsed through AVOptions.
@ -96,8 +101,6 @@ int opt_report(const char *opt);
int opt_max_alloc(void *optctx, const char *opt, const char *arg); int opt_max_alloc(void *optctx, const char *opt, const char *arg);
int opt_cpuflags(void *optctx, const char *opt, const char *arg);
int opt_codec_debug(void *optctx, const char *opt, const char *arg); int opt_codec_debug(void *optctx, const char *opt, const char *arg);
int opt_opencl(void *optctx, const char *opt, const char *arg); int opt_opencl(void *optctx, const char *opt, const char *arg);

@ -18,7 +18,7 @@
{ "v", HAS_ARG, {.func_arg = opt_loglevel}, "set logging level", "loglevel" }, { "v", HAS_ARG, {.func_arg = opt_loglevel}, "set logging level", "loglevel" },
{ "report" , 0, {(void*)opt_report}, "generate a report" }, { "report" , 0, {(void*)opt_report}, "generate a report" },
{ "max_alloc" , HAS_ARG, {.func_arg = opt_max_alloc}, "set maximum size of a single allocated block", "bytes" }, { "max_alloc" , HAS_ARG, {.func_arg = opt_max_alloc}, "set maximum size of a single allocated block", "bytes" },
{ "cpuflags" , HAS_ARG | OPT_EXPERT, {.func_arg = opt_cpuflags}, "force specific cpu flags", "flags" }, { "cpuflags" , HAS_ARG | OPT_EXPERT, { .func_arg = opt_cpuflags }, "force specific cpu flags", "flags" },
#if CONFIG_OPENCL #if CONFIG_OPENCL
{ "opencl_options", HAS_ARG, {.func_arg = opt_opencl}, "set OpenCL environment options" }, { "opencl_options", HAS_ARG, {.func_arg = opt_opencl}, "set OpenCL environment options" },
#endif #endif

Loading…
Cancel
Save