[FFmpeg-devel] Vid.stab video stabilization ready for libavfilter

Stefano Sabatini stefasab at gmail.com
Thu Feb 21 22:55:10 CET 2013


On date Wednesday 2013-02-20 23:06:22 +0100, Georg Martius encoded:
> Dear ffmpeg developers,
> 
> I am the author of the vid.stab [1] video stabilization library that is used 
> in transcode so far.
> Now I have implemented filters for libavfilter which work great.
> The code-base was completely restructured and is now independent of transcode 
> and available as a library. The code is on github [2].
> 
> How can it become part of ffmpeg?
> a) the library becomes part of ffmpeg (a subdir in the tree)
> b) the library stays stand-alone and only the two filter files go into the 
> libavfilter directory. 
> 
> I would like to keep the implementation of the lib independent of ffmpeg to be 
> able to integrate it into other tools. 
> What is your opinion?

It really depends on you. Integration into an already existing
framework may simplify things for you (no need to reinvent the wheel),
at the cost that you become dependant on that framework.

And of course libavfilter is *meant* to be used as a library from
other frameworks/applications, but the cost is that you have to build
a filtergraph in order to use a single filter (that's opposed to the
design e.g. of OpenCV, where they provide filtering capabilities as
low level functions).

So that really depends on the granularity of control that you want to
deliver to your users (OTOH it is not completely unreasonable the idea
to add a low-level C API for specific filtering operations, e.g. like
the one in libavilter/transform.h).

BTW we do currently *have* a deshake/stabilization filter - deshake,
benchmarks and comparisons are very welcome.

Also ideally we should avoid to have different filters for the same
functionality, unless there are compelling reasons for that
(e.g. completely different design/features/license).
 
> I have a couple of other more detailed questions I will ask in a separate 
> thread.

You're welcome.
-- 
FFmpeg = Forgiving & Free Magic Programmable Elaborated Gymnast


More information about the ffmpeg-devel mailing list