一、函数
unsigned | avfilter_version (void) |
const char * | avfilter_configuration (void) |
const char * | avfilter_license (void) |
int | avfilter_pad_count (const AVFilterPad *pads) |
获取AVFilterPads的NULL终止数组中的元素数。
const char * | avfilter_pad_get_name (const AVFilterPad *pads, int pad_idx) |
参数:pads:一个AVFilterPads数组
pad_idx:数组中的pad的索引; 调用者有责任确保索引有效。
返回:pad中pad_idx垫的名称
enum AVMediaType | avfilter_pad_get_type (const AVFilterPad *pads, int pad_idx) |
参数:pads:一个AVFilterPads数组
pad_idx:数组中的pad的索引; 调用者有责任确保索引有效。
返回:pad中pad_idx的垫的类型
int | avfilter_link (AVFilterContext *src, unsigned srcpad, AVFilterContext *dst, unsigned dstpad) |
参数:src:源过滤器
srcpad:源滤波器上的输出焊盘的索引
dst:目的过滤器
dstpad:目标过滤器上输入焊盘的索引
返回:成功时返回0。
void | avfilter_link_free (AVFilterLink **link) |
int | avfilter_link_get_channels (AVFilterLink *link) |
attribute_deprecated void | avfilter_link_set_closed (AVFilterLink *link, int closed) |
已废弃:应用程序不应该混淆链接,他们应该关闭接收器。
int | avfilter_config_links (AVFilterContext *filter) |
参数:filter:过滤器来协商其输入的属性
返回:谈判成功返回零
int | avfilter_process_command (AVFilterContext *filter, const char *cmd, const char *arg, char *res, int res_len, int flags) |
建议使用avfilter_graph_send_command()。
void | avfilter_register_all (void) |
注册所有内置过滤器。
int | avfilter_register (AVFilter *filter) |
仅当您打算稍后使用avfilter_get_by_name以名称查找AVFilter结构时,才需要这样做。 即使没有注册,仍可以使用avfilter_graph_alloc_filter实例化一个过滤器。
参数:filter:用来进行注册过滤器
返回:如果注册成功,则为0,否则为否
const AVFilter * | avfilter_get_by_name (const char *name) |
参数:name:要查找过滤器的名称
返回:过滤器定义,如果有任何匹配的注册。 如果没有找到则为NULL。
const AVFilter * | avfilter_next (const AVFilter *prev) |
返回:如果prev为非NULL,则在prev之后的下一个注册过滤器为NULL,如果prev为最后一个过滤器。 如果prev为NULL,则返回第一个注册过滤器。
int | avfilter_init_str (AVFilterContext *ctx, const char *args) |
参数:ctx:未初始化的过滤器上下文进行初始化
args:用于初始化过滤器的选项。 这必须是'key = value'形式的':'分隔的选项列表。 如果选项已经使用AVOptions API直接设置,或者没有需要设置的选项,则可能为NULL。
返回:0成功,否则返回AVERROR表示失败
int | avfilter_init_dict (AVFilterContext *ctx, AVDictionary **options) |
参数:ctx:未初始化的过滤器上下文进行初始化
options:一个填充了此过滤器选项的AVDictionary。 返回时,此参数将被销毁,并替换为包含未找到的选项的dict。 该字典必须由调用者释放。 可能为NULL,那么这个函数等同于avfilter_init_str(),第二个参数设置为NULL。
返回:0成功,否则返回AVERROR表示失败
注意:这个函数和avfilter_init_str()实质上是一样的,区别在于通过选项的方式。 电话代码取决于哪一个更适合。 当某些提供的选项未被声明为过滤器支持时,这两个函数的行为也不同。 在这种情况下,avfilter_init_str()将失败,但是这个函数会在选项AVDictionary中留下额外的选项,照常继续。
void | avfilter_free (AVFilterContext *filter) |
这也将从过滤器的过滤器列表中删除过滤器。
参数:filter:用来释放的过滤器
int | avfilter_insert_filter (AVFilterLink *link, AVFilterContext *filt, unsigned filt_srcpad_idx, unsigned filt_dstpad_idx) |
参数:link:插入过滤器的链接
filt:要插入的过滤器
filt_srcpad_idx:滤波器上的输入板连接
filt_dstpad_idx:滤波器上的输出板连接
返回:成功时返回0。
const AVClass * | avfilter_get_class (void) |
AVFilterGraph * | avfilter_graph_alloc (void) |
返回:分配的过滤器图表成功或为空。
AVFilterContext * | avfilter_graph_alloc_filter (AVFilterGraph *graph, const AVFilter *filter, const char *name) |
参数:graph:将使用新的过滤器的图形
filter:该过滤器创建一个实例
name:名称给新的实例(将被复制到AVFilterContext.name)。 调用者可以使用这种方法来识别不同的过滤器,libavfilter本身不会为此参数分配任何语义。 可能为NULL。
返回:新创建的过滤器实例的上下文(注意它也可以通过AVFilterGraph.filters或avfilter_graph_get_filter()直接检索)成功,或者在失败时为NULL。
AVFilterContext * | avfilter_graph_get_filter (AVFilterGraph *graph, const char *name) |
参数:graph:过滤器图表进行搜索。
name:过滤器实例名称(在图中应该是唯一的)。
参数:指向找到的过滤器实例的指针,如果找不到则返回NULL。
int | avfilter_graph_create_filter (AVFilterContext **filt_ctx, const AVFilter *filt, const char *name, const char *args, void *opaque, AVFilterGraph *graph_ctx) |
过滤器实例从过滤器过滤器创建,并与参数args和opaque进行联合。
在成功的情况下放入* filt_ctx指向创建的过滤器实例的指针,否则将* filt_ctx设置为NULL。
参数:name:要创建的过滤器实例的实例名称
graph_ctx:过滤图
返回:出现错误时为负的AVERROR错误代码,否则为非负值
void | avfilter_graph_set_auto_convert (AVFilterGraph *graph, unsigned flags) |
请注意,格式转换仍然可以在显式插入的比例和样本过滤器中进行。
桉树:flags:any of the AVFILTER_AUTO_CONVERT_* constants
int | avfilter_graph_config (AVFilterGraph *graphctx, void *log_ctx) |
参数:graphctx:过滤图
log_ctx:用于记录的上下文
返回:> = 0表示成功,否则一个负数AVERROR错误码。
void | avfilter_graph_free (AVFilterGraph **graph) |
如果* graph为NULL,则不执行任何操作。
AVFilterInOut * | avfilter_inout_alloc (void) |
必须使用avfilter_inout_free()来释放。
返回:分配AVFilterInOut成功,NULL失败。
void | avfilter_inout_free (AVFilterInOut **inout) |
如果* input为NULL,则不执行任何操作。
int | avfilter_graph_parse (AVFilterGraph *graph, const char *filters, AVFilterInOut *inputs, AVFilterInOut *outputs, void *log_ctx) |
注意:调用者必须提供输入和输出的列表,因此在调用该函数之前必须知道这些列表。
输入参数描述图的已有部分的输入; 即从新创建的部分的观点来看,它们是输出。 类似地,输出参数描述已经存在的滤波器的输出,其作为输入被提供给经解析的滤波器。
参数:graph:过滤图在哪里链接解析图上下文
inputs:要解析的字符串
outputs:链接列表到图形的输入
log_ctx:链接列表到图形的输出
返回:零表示成功,错误返回负ERROR代码
int | avfilter_graph_parse_ptr (AVFilterGraph *graph, const char *filters, AVFilterInOut **inputs, AVFilterInOut **outputs, void *log_ctx) |
在图形过滤器描述中,如果没有指定第一个过滤器的输入标签,则假定为“in”; 如果未指定最后一个过滤器的输出标签,则假定为“out”。
参数:graph:过滤图在哪里链接解析图上下文
filters:要解析的字符串
inputs:指向链表到图形输入的指针可能为NULL。 如果非NULL,*输入更新为包含解析后的开放输入列表,应该使用avfilter_inout_free()来释放。
outputs:指向链表到图形输出的指针可能为NULL。 如果非NULL,*输出更新为包含解析后的打开输出列表,则应该使用avfilter_inout_free()来释放。
返回:成功时为非负,错误为负的ERROR码
int | avfilter_graph_parse2 (AVFilterGraph *graph, const char *filters, AVFilterInOut **inputs, AVFilterInOut **outputs) |
参数:graph:过滤图在哪里链接解析图上下文
filters:要解析的字符串
inputs:此处将返回解析图的所有空闲(未链接)输入的链接列表。 使用avfilter_inout_free()的方式可以释放它。
outputs:此处将返回解析图的所有空闲(未链接)输出的链接列表。 使用avfilter_inout_free()的方式可以释放它。
返回:返回0表示成功,失败返回负的错误码
注意:该函数返回在解析图之后未链接的输入和输出,然后调用者处理它们。
该函数对图形的已有部分没有引用,输入参数将返回包含图解新分析部分的输入。 类似地,outputs参数将包含新创建的过滤器的输出。
int | avfilter_graph_send_command (AVFilterGraph *graph, const char *target, const char *cmd, const char *arg, char *res, int res_len, int flags) |
参数:graph:过滤图
target:命令应发送到的过滤器“all”发送到所有过滤器,否则它可以是一个过滤器或过滤器实例名称,它将命令发送到所有匹配的过滤器。
cmd:要发送的命令,为了处理简单,所有命令只能是字母数字
arg:命令的论据
res:一个大小为res_size的缓冲区,其中过滤器可以返回响应。
返回:> = 0,否则出现错误代码。 对于不支持的命令,AVERROR(ENOSYS)
int | avfilter_graph_queue_command (AVFilterGraph *graph, const char *target, const char *cmd, const char *arg, int flags, double ts) |
参数:graph:过滤图
target:命令应发送到的过滤器“all”发送到所有过滤器,否则它可以是一个过滤器或过滤器实例名称,它将命令发送到所有匹配的过滤器。
cmd:发送的命令,为了处理简单,所有命令只能是字母数字
arg:命令的论据
ts:命令应发送到过滤器的时间
注意:由于此函数返回后执行命令,因此不提供来自过滤器的返回代码,也不支持AVFILTER_CMD_FLAG_ONE。
char * | avfilter_graph_dump (AVFilterGraph *graph, const char *options) |
参数:graph:转储图
options:格式选项; 目前被忽略
返回:一个字符串,或者在内存分配失败的情况下为NULL; 该字符串必须使用av_free来释放
int | avfilter_graph_request_oldest (AVFilterGraph *graph) |
如果请求返回AVERROR_EOF,请尝试下一个。
请注意,此功能并不意味着是滤镜的唯一调度机制,只是在正常情况下帮助排除滤光片的方便功能。
另请注意,AVERROR_EOF并不意味着帧在过程中没有到达某些接收器。 当存在多个宿链路时,如果所请求的链路返回EOF,则这可能导致过滤器冲突发送到另一个宿链路的等待帧,尽管未经请求。
返回:ff_request_frame()的返回值,如果所有链接都返回AVERROR_EOF,则为AVERROR_EOF