mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-02-17 04:17:05 +00:00
cmdutils: add opencl command line options to ffmpeg
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
567feaafa8
commit
d757f7510b
24
cmdutils.c
24
cmdutils.c
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user