Browse Source

cmdutils: add opencl command line options to ffmpeg

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.0
highgod0401 Michael Niedermayer 12 years ago
parent
commit
d757f7510b
3 changed files with 31 additions and 0 deletions
  1. +24
    -0
      cmdutils.c
  2. +4
    -0
      cmdutils.h
  3. +3
    -0
      cmdutils_common_opts.h

+ 24
- 0
cmdutils.c View File

@@ -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];


+ 4
- 0
cmdutils.h View File

@@ -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.
*/ */


+ 3
- 0
cmdutils_common_opts.h View File

@@ -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…
Cancel
Save