我正在寻找一些代码库,用于在LibAV中编码视频。我无法理解这两行的目的:
<Type Name="Range">
<DisplayString><{begin,d}, {end,d}></DisplayString>
</Type>
在这里,av_opt_set(context->priv_data, "tune", "zerolatency", 0);
av_opt_set(context->priv_data, "preset", "fast", 0);
是context
。
我是这个图书馆的新手,希望您能提供一个描述性的答案。
答案 0 :(得分:0)
这是一个实用程序函数,用于在第一个arg中传递的struct ref中设置已定义的AVOption成员的值。第2个arg是成员,第3个是值。第四个arg是一个搜索标志,告诉fn是否搜索子结构。
请参见https://www.ffmpeg.org/doxygen/trunk/group__opt__set__funcs.html
答案 1 :(得分:0)
Gyan 的补充:
当我们使用 av_opt_set()
时,这里是原型
av_opt_set (void *obj, const char *name, const char *val, int search_flags)
第一个参数是类型 AvClass
定义在:https://www.ffmpeg.org/doxygen/trunk/structAVClass.html
这个结构体中有两个函数指针:child_next()
和child_class_iterate()
,可以得到AvClass对象的child,所以很明显AvClass
是树形的,有childern,{{ 1}} 决定是否对 childern 进行操作;