ffmpeg代码中对滤波器的管理

创建滤波器图 ( filter graph )

filter graph简单说明

根据上层应用的指令,创建一个filter graph,一个典型的filter graph例子如下图:

                [main]
input --> split ---------------------> overlay --> output
            |                             ^
            |[tmp]                  [flip]|
            +-----> crop --> vflip -------+

关于这个 graph 的解释,请参考这个链接的说明:http://blog.csdn.net/hunterhuang2013/article/details/61614859

命令行为:

ffmpeg.exe -i pig.mp4 -vf "split [main][tmp];[tmp] crop=iw:ih/2:0:0, vflip[flip];[main][flip] overlay=0:H/2" pig_out.mp4

生成的 filter graph如下图所示:

这里写图片描述

filter graph全局变量

图中顶上的第一个框,是ffmpeg.c中定义的全局变量,与之相关的是如下两个定义:

FilterGraph **filtergraphs;  
int        nb_filtergraphs;

前者是一个指针数组,含有 nb_filtergraphs 个 struct FilterGraph 类型的指针。其中每一个指针,指向 struct FilterGraph 的类型的变量,用来表述一个滤波器图。

其中,struct FilterGraph定义如下:

typedef struct FilterGraph {
    int            index;
    const char    *graph_desc;

    AVFilterGraph *graph;   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值