ESA SOCIS 2012
Here is a review of my work for the ESA Summer of Code in Space 2012.
For this edition of SOCIS, I got the chance to work on the FFmpeg project.
The outcome can be found in its dedicated repository, a mirror of FFmpeg with my works in progress.
Libavfilter misc. extensions
From the FFmpeg wiki :
Libavfilter is the FFmpeg filtering library. It currently
supports audio and video filtering and generation support.
The task would consist of writing or porting audio and video filters and eventually fix/extend libavfilter API and design.
I have been using video post-processing tools like VirtualDub or Avisynth from time to time for a while. Unfortunately, since I moved from Windows to Mac OS X and Linux it became quite difficult to do all that stuff without switching the OS, which annoys me. That's why I wanted to take this opportunity to enlarge the Libavfilter catalog.
My original intent was to port great filters like WarpSharp or filters of the TIVTC package. But having not much knowledge of video processing from a low-level point of view, it turned out that I didn't feel like it was a good idea to directly start porting/re-implementing such complex filters. That's why together with my mentor we came up with a list of filters that were worth porting, fitted my interest but also allow me to familiarize with the Libavfilter API and general video processing concepts.
Here is the list of filters that should be port during the SOCIS coding period :
- Port from the original MPlayer filter
- Named options support in the command-line
- Reconfiguration at runtime
- Dynamic expression evaluation
- Smartblur filter port from MPlayer
- Histogram normalization