范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

ffmpeg命令行参数解析结构体

  ffmpeg命令行功能强大,本文简单介绍一下命令行解析过程。
  命令行解析函数如下
  我们以下面命令行为例ffmpeg -y -ss 4 -i 1.ts -vframes 1 -f image2 -s 640x360 out.jpg
  在ffmpeg_opt.c文件中通过两个函数split_commandline、parse_optgroup解析命令行参数并保存在OptionParseContext结构体中。typedef struct OptionParseContext {     OptionGroup global_opts;     OptionGroupList *groups;     int           nb_groups;     /* parsing state */     OptionGroup cur_group; } OptionParseContext;
  OptionParseContext中global_opts保存全局参数,比如-y参数。
  nb_groups表示有多少个OptionGroupList选项组列表,数据保存在groups数组中。
  按输入参数还是输出参数进行分组,groups[0]保存输出参数选项组列表,
  groups[1]保存输入参数选项组列表。
  typedef struct OptionGroupList {     const OptionGroupDef *group_def;     OptionGroup *groups;     int       nb_groups; } OptionGroupList;
  选项组列表保存一系列选项组,选项组个数保存在nb_groups字段,groups是选项组数组首地址。
  从上面调试截图可以看出针对举例的命令行,输出和输入选项组都只有一个。typedef struct OptionGroup {     const OptionGroupDef *group_def;     const char *arg;      Option *opts;     int  nb_opts;      AVDictionary *codec_opts;     AVDictionary *format_opts;     AVDictionary *sws_dict;     AVDictionary *swr_opts; } OptionGroup;
  选项组包含若干选项,每一个选项都是保存在Option结构体中。
  输出选项组包含3个选项,
  从key/value值可以看出和我们在命令行里设置的输出参数一样, -vframes 1 -f image2 -s 640x360。
  输出选项组包含1个选项,
  从key/value值可以看出和我们在命令行里设置的输入参数一样,-ss 4。typedef struct Option {     const OptionDef  *opt;     const char       *key;     const char       *val; } Option;typedef struct OptionDef {     const char *name;     int flags; #define HAS_ARG    0x0001 #define OPT_BOOL   0x0002 #define OPT_EXPERT 0x0004 #define OPT_STRING 0x0008 #define OPT_VIDEO  0x0010 #define OPT_AUDIO  0x0020 #define OPT_INT    0x0080 #define OPT_FLOAT  0x0100 #define OPT_SUBTITLE 0x0200 #define OPT_INT64  0x0400 #define OPT_EXIT   0x0800 #define OPT_DATA   0x1000 #define OPT_PERFILE  0x2000     /* the option is per-file (currently ffmpeg-only).                                    implied by OPT_OFFSET or OPT_SPEC */ #define OPT_OFFSET 0x4000       /* option is specified as an offset in a passed optctx */ #define OPT_SPEC   0x8000       /* option is to be stored in an array of SpecifierOpt.                                    Implies OPT_OFFSET. Next element after the offset is                                    an int containing element count in the array. */ #define OPT_TIME  0x10000 #define OPT_DOUBLE 0x20000 #define OPT_INPUT  0x40000 #define OPT_OUTPUT 0x80000      union {         void *dst_ptr;         int (*func_arg)(void *, const char *, const char *);         size_t off;     } u;     const char *help;     const char *argname; } OptionDef;
  选项主要数据保存在OptionDef结构体中。name是选项名,flags是选项标志(比如选项值类型、是否包含参数、输入参数还是输出参数、视频参数还是音频参数还是字幕参数等),联合体u中可以包含三种数据之一,
  dst_ptr
  全局控制变量的地址
  func_arg
  选项对应的处理函数
  off
  OptionsContext结构体中对应的字段

印度反新征兵制抗议持续,多家知名企业下场降火退伍后就业前景广阔文观察者网鞠峰印度政府征兵制度改革引起全国多地暴力示威。抗议者认为,这个名为烈火之路的新征兵计划阻碍了青年在部队长期为国效力的机会,还降低了参军的待遇福利等。今天(6月20日)印度055大驱领头,中俄舰队四路包夹日本?日方该掂量一下了中国日本俄罗斯文飞云据环球时报最新消息,中国海军1艘情报收集舰日前通过对马海峡北上,进入日本海,接着,另一艘俄海军情报收集舰经由鄂霍次克海一侧穿过宗谷海峡,进入日本海一侧,日方表示055大驱率队绕航日本,俄派出一支舰队策应,台媒对日完成包夹据环球时报6月20号发表的评论员文章称,过去几天对于日本防卫省而言,恐怕是一段相当难捱的时间,因为他们吃惊地发现,中俄两国海军在没有联合行动的情况下,竟然十分默契地共同进入日本海,惋惜!珍宝海鲜舫不幸遭遇风浪沉没,赌王何鸿燊曾在此庆生事情来得太突然,以至于很多人都没法接受。珍宝海鲜舫会以这样的方式与世人告别,它曾撑起了香港饮食界的文化,也曾打造出如食神一样的唯美景色,那一把经典的龙椅,至今被很多人铭记。6月20别喝了!这些白酒没1瓶是真的,都是假酒,看看你喝过没有都说买卖不成仁义在,而现如今的白酒市场,假酒新闻频繁被曝光,别说仁义了,有些黑心商贩连良心都没有。如今,假酒也在背地里形成了一条产业链,为了使假酒达到以假乱真的效果,还会搞出各种噱薪火相传温雪琼当选民革辽宁省委会新一届主委(附主委副主委介绍)会议现场6月16日至17日,中国国民党革命委员会辽宁省第十五次代表大会在沈阳召开。全国人大常委会副委员长民革中央主席万鄂湘发来贺信。民革中央副主席张伯军以视频形式致贺词。中共辽宁省中纪委官网一周曝光台16人被查,10人被处分上周(6月13日6月19日),中央纪委国家监委网站受权发布信息16人被查,10人被处分。车轮莫越公私界近年来,公车私用现象得到有效遏制,但仍有少数党员干部把公车当唐僧肉,揩公家的油疯狂的换头术一个可能引起医疗革命的技术,进展到什么程度了?人类一直有永生的梦想,科学技术发展到现在,心脏肝脏等器官移植已经不再是幻想。科学家们又将目光转移到人体的另一个部位头部,为什么我们可以换肾换肺,而不能换脑呢?若是能够将一个人的脑袋不管钱多钱少,客厅不要摆放这些沙发,过来人的经验导语一个家最舒适的地方,就是我们的客厅,客厅整洁干净美观,能够影响着心情。如果你的客厅没有沙发的点缀,就少了许多乐趣,影响到生活的体验。卧室尚且有书桌梳妆台衣柜点缀,客厅怎能少了沙养老金上调4,江苏省工龄26年养老金3400元的人,今年能涨多少?今年的养老金上涨呢,已经是板上钉钉的事儿了,涨幅为4。目前呢,各省的养老金具体调整方案还没有公布。有些退休人员呢,就比较着急,想知道今年自己能涨多少钱。那么今天呢,我们就以江苏省为当着普京的面,哈总统托卡耶夫称不承认卢甘斯克和顿涅茨克独立在俄乌冲突中,顿巴斯地区最后会是一个什么样的结果,一直是全球热议的话题。目前的现状是,位于顿巴斯地区的顿涅茨克和卢甘斯克,是在2014年就宣布自治了,乌克兰当然不同意,所以军事摩擦
广东的中学排名情况是怎么样的?先来看一下被称作国内中学奥斯卡的中国百强中学名单,广东共有5所学校入选,分别是华南师范大学附属中学广东省实验中学广东仲元中学中山纪念中学深圳外国语学校。这个名单主要是按照学校声望教越来越多的老人开始请保姆或者住进养老院养老,未来的养老该依靠自己的孩子吗?到老了,不能动弹了,就要子女给你擦身,端尿?然后上班也不要上,就为了伺候老人?要知道子女也是有孩子的,孩子就不用照顾?进养老院有什么不好,有人照顾,子女隔三差五的来看看你,人老了,家长怎样教育好青春期的孩子?青春期的孩子就不要刻意教育了。原因父母管教孩子的有效期基本上到初二就无力了。再以后再管教就要发生战争。所以,对于青春期的孩子,家长的角色扮演更多的应该是朋友,良师。1,不能要用命令翻盖村里老房子,留多少滴水合适?(上一代曾因滴水问题有矛盾)?农村人盖房子时,留滴水是个非常严肃的事,留滴水也是必不可少的。有太多的农村邻居之间,因为盖房留滴水闹出矛盾,甚至发展成不可挽回的恶性事件。所以,我们在农村盖房子时,滴水要不要留,滴退休和档案会有关系吗?退休和档案当然有关系,特别是党政机关干部事业单位国有企业工作人员关系更加重大。第一,和档案关系密切的人群。和档案关系最密切的群体主要为党政机关干部事业单位工作人员国有企业工作人员原我今年五十一周岁了,想买养老保险,怎么交合适呢?等到51岁才开始买养老险,首先需要考虑60岁退休每个月或每年领取多少生活费够用,其次考虑健康保健费,因为身体健康状况会随着年龄增大而变差,看病买药是常事。另外,平常可能还有些旅游计无故铲平人家祖坟,打他属于正当防卫吗?他无故铲平我家祖坟,打他就是正当防卫。这是发生在淄博的一个民事纠纷问题。因为处理不当走上了法庭,最终法院公开公正判决。事情的原因是这样的。家住农村的赵老大和赵老二在清明节前一天去扫2022年养老金调整在即,1951年前出生的人有额外补贴,是真的吗?是真的。自2005年起,国家每年都会给退休职工增加养老金,到今年将实现18连涨。并且每年都会向高龄老人倾斜,额外增加养老金。回顾以往历史,全国31省市不同地区高龄老人的年龄门槛有所老人在家中死亡,该怎么处理?一。如晚上打120,120大夫最后确定老人死亡否,是否需要继续抢救。这时大夫和儿子谈(不知为什么不和健在的老伴谈),儿子并签字。天亮一大早去急诊车队找出诊大夫出具死亡证明。120未为什么现在的工厂不给正式工涨工资,却高价聘请临时工呢?问的好,我就说说自身的经历吧。我们原来是建筑企业。从2013到2018年就是雇佣全职人员,有社保公积金以及各种年终奖,工龄奖,学历补助住房补助交通补助通讯补助公积金等。员工主要工资执业药师的发展前景如何?如何一次通关?执业药师考试难,每年近百万考生报考,但通关率只有20左右!但执业药师证书含金量高,由于缺口大,执业药师身价不菲,目前,平均每万人口执业药师人数为3。3人,目前执业药师的基本需求超过