Signed-off-by: Michael Niedermayer <michaelni@gmx.at>tags/n2.0
@@ -56,6 +56,10 @@ | |||||
#include <sys/time.h> | #include <sys/time.h> | ||||
#include <sys/resource.h> | #include <sys/resource.h> | ||||
#endif | #endif | ||||
#if CONFIG_OPENCL | |||||
#include "libavutil/opencl.h" | |||||
#endif | |||||
static int init_report(const char *env); | static int init_report(const char *env); | ||||
@@ -955,6 +959,26 @@ int opt_timelimit(void *optctx, const char *opt, const char *arg) | |||||
return 0; | return 0; | ||||
} | } | ||||
#if CONFIG_OPENCL | |||||
int opt_opencl(void *optctx, const char *opt, const char *arg) | |||||
{ | |||||
char *key, *value; | |||||
const char *opts = arg; | |||||
int ret = 0; | |||||
while (*opts) { | |||||
ret = av_opt_get_key_value(&opts, "=", ":", 0, &key, &value); | |||||
if (ret < 0) | |||||
return ret; | |||||
ret = av_opencl_set_option(key, value); | |||||
if (ret < 0) | |||||
return ret; | |||||
if (*opts) | |||||
opts++; | |||||
} | |||||
return ret; | |||||
} | |||||
#endif | |||||
void print_error(const char *filename, int err) | void print_error(const char *filename, int err) | ||||
{ | { | ||||
char errbuf[128]; | char errbuf[128]; | ||||
@@ -90,6 +90,10 @@ 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); | ||||
#if CONFIG_OPENCL | |||||
int opt_opencl(void *optctx, const char *opt, const char *arg); | |||||
#endif | |||||
/** | /** | ||||
* Limit the execution time. | * Limit the execution time. | ||||
*/ | */ | ||||
@@ -19,3 +19,6 @@ | |||||
{ "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 | |||||
{ "opencl_options", HAS_ARG, {.func_arg = opt_opencl}, "set OpenCL environment options" }, | |||||
#endif |