[Ffmpeg-devel] New/extended filter API discussion

Luca Abeni lucabe72
Wed Jan 3 10:06:39 CET 2007

Hi Robert,

On Tue, 2007-01-02 at 21:33 +0000, Robert Swain wrote:
> Hello,
> I'm interested in working on some filters for use within FFmpeg. The fairly 
> recent addition of libswscale suggested to me that, unless it was hacked in, 
> there is some sort of filter API currently part of FFmpeg. The natural 
> progression from the layout of the code would also lead to the conception of 
> something like "libavfilter".
There was some discussion about libavfilter last summer. Some previous
threads on the mplayer G2 mailing list were cited, and someone (Rich, I
think?) said he already had some design ideas.

I tried to think about it for some time, and I started collecting ideas,
but I never posted them on the mailing list (because my design ideas
were still too confused).

Anyway, ffmpeg is currently using libswscale by directly calling its
sws_* functions. I believe that a good filters library should provide a
more generic framework (offering an uniform API that allow to setup and
use all the possible kind of video filters).
So, I am interested in designing a library that permits to support both
"push" and "pull" mode of operation, reducing to the minimum the number
of copies (and the API provided by the library should support filters
with more that one input, or more than one output).
In my view, this library will only provide an interface, and will use
other libraries (such as libswscale) to actually implement the filters.
Does this make sense? (BTW, I think the library will need to provide two
separate APIs: one for audio and one for video... Or is it possible to
design a filter API that can support both audio and video?)

If there is interest, I can search for my old notes about possible
avfilter designs / goals. But they are just random ideas, and I do not
have big experience with filters... :) (this is another reason why I did
not post my ideas on the mailing list)

Copy this in your signature, if you think it is important:
                               N O    W A R ! ! !

More information about the ffmpeg-devel mailing list