FFmpeg Summer Of Code In Space 2013
Introduction
FFmpeg is the universal multimedia toolkit: a complete, cross-platform solution to record, convert, filter and stream audio and video. It includes libavcodec - the leading audio/video codec library.
ESA Summer Of Code In Space (SOCIS) is a program that offers students stipends to write code for various space-related open source software projects. Through the guidance of mentors, students gain valuable experience interacting with and coding for open source projects like FFmpeg. Additionally, the project and its users benefit from code created from students who often continue contributing as developers. FFmpeg participated to several past editions, and we are looking forward to being involved this year.
This is our ideas page for ESA Summer of Code in Space 2013.
Mentored Projects
This section lists well-defined projects that have one or more available mentors. If you are new to FFmpeg, and have relatively little experience with multimedia, you should favor a mentored project rather than propose your own. Contact the appointed mentor(s) to get more information about the project and the requested qualification task.
Error concealment improvements
Description: When data is damaged beyond the capabilities of forward error correction codes or when it was damaged where there is no error correction like due to failing storage devices / RAM. Then when decoding/viewing the data error concealment can be applied to fill in lost areas. FFmpeg currently supports moderately advanced error concealment for most popular video codecs but lacks it for all image formats. This task is to add high quality error concealment to the image decoders where it's possible and improve resynchronization of the image decoders in light of data errors.
As qualification task, at least one image decoder's error concealment capabilities need to be significantly improved.
Prerequisites: good C coding skills, familiarity with git/source code control systems, having some background on DSP and image/sound processing techniques would be a bonus but is not strictly required.
Mentor: Michael Niedermayer (michaelni on IRC)
OpenGL support in ffplay
Description: The SDL library that is used by ffplay has some deficiencies, adding OpenGL output to ffplay should allow for better performance (and less bugs at least for some hardware / driver combinations). This could be a new application (glplay), but it is probably simpler to extend ffplay to use OpenGL. You can use code from MPlayer's OpenGL vo module which may be relicensed under the LGPL.
Prerequisites: good C coding skills, familiarity with git/source code control systems.
Mentor: Reimar Döffinger
Unmentored Projects
This is a list of projects that students are encouraged to consider if a mentored project is unavailable or not within the students skill or interests. The student will have to find a mentor for the project. A student can also propose their own project.
There are no unmentored projects at the moment.
Your own idea
A student can propose a project. Ideas can also be found by browsing bugs and feature requests on our bug tracker. The work should last the majority of the program duration, the task must be approved by the developers, and a mentor must be assigned.
Students can discuss an idea in the ffmpeg-devel mailing-list, the #ffmpeg-devel IRC channel, or contact the FFmpeg SOCIS administrators Stefano Sabatini or Michael Niedemayer for more information.