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 | |||||