Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小白菜888
Ffmpeg
提交
dca055be
F
Ffmpeg
项目概览
小白菜888
/
Ffmpeg
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
Ffmpeg
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
dca055be
编写于
8月 23, 2011
作者:
A
Anton Khirnov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
AVOptions: add functions for evaluating option strings.
上级
059a037f
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
39 addition
and
0 deletion
+39
-0
libavutil/opt.c
libavutil/opt.c
+15
-0
libavutil/opt.h
libavutil/opt.h
+24
-0
未找到文件。
libavutil/opt.c
浏览文件 @
dca055be
...
...
@@ -239,6 +239,21 @@ int av_opt_set(void *obj, const char *name, const char *val, int search_flags)
return
AVERROR
(
EINVAL
);
}
#define OPT_EVAL_NUMBER(name, opttype, vartype)\
int av_opt_eval_ ## name(void *obj, const AVOption *o, const char *val, vartype *name ## _out)\
{\
if (!o || o->type != opttype)\
return AVERROR(EINVAL);\
return set_string_number(obj, o, val, name ## _out);\
}
OPT_EVAL_NUMBER
(
flags
,
FF_OPT_TYPE_FLAGS
,
int
)
OPT_EVAL_NUMBER
(
int
,
FF_OPT_TYPE_INT
,
int
)
OPT_EVAL_NUMBER
(
int64
,
FF_OPT_TYPE_INT64
,
int64_t
)
OPT_EVAL_NUMBER
(
float
,
FF_OPT_TYPE_FLOAT
,
float
)
OPT_EVAL_NUMBER
(
double
,
FF_OPT_TYPE_DOUBLE
,
double
)
OPT_EVAL_NUMBER
(
q
,
FF_OPT_TYPE_RATIONAL
,
AVRational
)
static
int
set_number
(
void
*
obj
,
const
char
*
name
,
double
num
,
int
den
,
int64_t
intnum
,
int
search_flags
)
{
...
...
libavutil/opt.h
浏览文件 @
dca055be
...
...
@@ -226,6 +226,30 @@ int av_opt_flag_is_set(void *obj, const char *field_name, const char *flag_name)
*/
int
av_opt_set_dict
(
void
*
obj
,
struct
AVDictionary
**
options
);
/**
* @defgroup opt_eval_funcs Evaluating option strings
* @{
* This group of functions can be used to evaluate option strings
* and get numbers out of them. They do the same thing as av_opt_set(),
* except the result is written into the caller-supplied pointer.
*
* @param obj a struct whose first element is a pointer to AVClass.
* @param o an option for which the string is to be evaluated.
* @param val string to be evaluated.
* @param *_out value of the string will be written here.
*
* @return 0 on success, a negative number on failure.
*/
int
av_opt_eval_flags
(
void
*
obj
,
const
AVOption
*
o
,
const
char
*
val
,
int
*
flags_out
);
int
av_opt_eval_int
(
void
*
obj
,
const
AVOption
*
o
,
const
char
*
val
,
int
*
int_out
);
int
av_opt_eval_int64
(
void
*
obj
,
const
AVOption
*
o
,
const
char
*
val
,
int64_t
*
int64_out
);
int
av_opt_eval_float
(
void
*
obj
,
const
AVOption
*
o
,
const
char
*
val
,
float
*
float_out
);
int
av_opt_eval_double
(
void
*
obj
,
const
AVOption
*
o
,
const
char
*
val
,
double
*
double_out
);
int
av_opt_eval_q
(
void
*
obj
,
const
AVOption
*
o
,
const
char
*
val
,
AVRational
*
q_out
);
/**
* @}
*/
#define AV_OPT_SEARCH_CHILDREN 0x0001
/**< Search in possible children of the
given object first. */
/**
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录