You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	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>
			
			
This commit is contained in:
		
							
								
								
									
										25
									
								
								cmdutils.c
									
									
									
									
									
								
							
							
						
						
									
										25
									
								
								cmdutils.c
									
									
									
									
									
								
							| @@ -47,6 +47,7 @@ | ||||
| #include "libavutil/eval.h" | ||||
| #include "libavutil/dict.h" | ||||
| #include "libavutil/opt.h" | ||||
| #include "libavutil/cpu.h" | ||||
| #include "cmdutils.h" | ||||
| #include "version.h" | ||||
| #if CONFIG_NETWORK | ||||
| @@ -808,6 +809,18 @@ do {                                                                           \ | ||||
|     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) | ||||
| { | ||||
|     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; | ||||
| } | ||||
|  | ||||
| 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) | ||||
| { | ||||
| #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); | ||||
|  | ||||
| /** | ||||
|  * 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 | ||||
|  * 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_cpuflags(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); | ||||
|   | ||||
| @@ -18,7 +18,7 @@ | ||||
|     { "v",           HAS_ARG,  {.func_arg = opt_loglevel},      "set logging level", "loglevel" }, | ||||
|     { "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" }, | ||||
|     { "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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user