[Ffmpeg-devel] Video Filter Layer (was: Re: Cropping / Padding patches)

Michael Niedermayer michaelni
Wed Mar 15 14:24:15 CET 2006


On Wed, Mar 15, 2006 at 09:55:55AM +0100, Luca Abeni wrote:
> >  when we have a 
> > clean video filter layer then ill be more interrested for sure ...
> Then, I think this might be the time to start implementing this video
> filter layer. Unfortunately, I missed the discussion about it. Where can
> I find some references?

mails by rich/arpi/ivan/... on mp-devel(-g2?) with video filter or so in
the subject i guess

> I am interested in this stuff to integrate swscaler.
> But I fear that if I do the swscaler integration in the wrong way (for
> example, without using a proper video filter layer) working on it could
> be useless. So, I want to do it the right way.

well, iam unsure ..., a video filter layer would be nice but this is alot
of work, and i fear that the swscaler integration might be delayd very
significantly if we want a finished video filter layer first

so maybe its better to implement it without a vf layer first and work
on vf after that

the problem with a video filter layer is that its very complicated if
you want maximum performance, here are a few things to consider

crop only needs to change width/height/origin from the previous filter
some filters only change a small part of the image and should work inplace
for example a filter which adds subtitles or a logo
the last filter should be able to directly render into a user supplied
it should be pussible to support a complex filter graph instead of a
single linear chain
slice based filter would be nice, so when a codec is finished with a
slice its feeded to the next filter which then feeds it to the next
and so on(push), or filers request from the previous filter the next slice
(pull), the problems here, 1. libavcodec slice rendering isnt implemented
in pull style and 2. pictures are decoded out of order if there are
b frames so things get even more trickier

personally, i would strongly suggest to implement a vf layer incrementally
so for example completely ignore slices first and only after the vf layer is
working try to add slice based rendering


More information about the ffmpeg-devel mailing list