ffmpeg命令行参数解析-split_commandline函数

函数原型

int split_commandline(OptionParseContext *octx, int argc, char *argv[],
                      const OptionDef *options,
                      const OptionGroupDef *groups, int nb_groups);

将命令行拆分成内部格式,方便后续处理。

命令行被假定为由两种选项组成,一种属于一个组(选项标记包含OPT_SPEC, OPT_OFFSET or OPT_PERFILE),一种属于全局选项。

组(由OptionGroupDef结构体定义)是由组分隔符选项(例如-i)或非选项(不以-开头)终止的选项序列。没有分隔符选项的组必须始终位于所提供的组列表的第一个。

同一组中的所有选项存储在OptionGroupList中的一个OptionGroup结构中,具有相同组定义的所有组存储在OptionParseContext.groups中的一个OptionGroupList中。组列表的顺序与组定义的顺序相同。

调用


第三个参数传递的是options,这是一个预定义的OptionDef选项数组。

第四个参数groups定义如下

static const OptionGroupDef groups[] = {
    [GROUP_OUTFILE] = { "output url",  NULL, OPT_OUTPUT },
    [GROUP_INFILE]  = { "input url",   "i",  OPT_INPUT },
};

说明有两个选项组,一个包含输出参数,一个包含输入参数。


选项解析涉及的结构体


下面对函数源码进行简单的注释




展开阅读全文

页面更新:2024-02-07

标签:函数   参数   组分   数组   假定   顺序   选项   定义   结构   列表

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top