GSoC/GCI Archive
Google Summer of Code 2011

FFmpeg / Libav

Web Page:

Mailing List:

FFmpeg/Libav is the premiere open source multimedia backend library. Most open source -- and closed source -- multimedia programs depend of FFmpeg/Libav to interpret hundreds of common and exotic multimedia formats and to decode or transcode the files.


  • BSAC AAC Decoder In MPEG-4 audio, formally ISO/IEC 14496-3, 3 kind of GA coding algorithm, AAC, BSAC, and TwinVQ, were standardized in sub-part 4. The differences are how to quantize and encode the scaled spectral bins. FFmpeg/Libav, one of the most popular open-source project of audio/video codec including a lot of functionality, has independent version of AAC decoder with good performance. However, BSAC and TwinVQ are not implemented in FFmpeg/Libav yet. This project aims at making the BSAC decoder.
  • Complete WMVP/WVP2 decoder Add actual drawing functions to the current WMVP/WVP2 decoder (which can already parse all the bitstream)
  • Dirac Video Codec update Update of Dirac support to the new specification. The development of the Dirac codec support inside the libav was done during the SoC in 2007. Although the decoder has a good status the encoder needs much work on it. In addition RTSP/RTP support for Dirac will be implemented.
  • Hardware Accelerated H.264 Decoding on Android This is a proposal to support hardware accelerated H.264 decoding in libavcodec using the Android Stagefright multimedia framework.
  • Implement Windows Television (WTV) muxer WTV is the new container format used to record television shows in Microsoft Windows Vista (or 7) Media Center. User can record TV program to the file with .wtv extension and played back by Windows Media Center (WMC). FFmpeg/Libav already has a WTV demuxer, I’ll add WTV muxer module into FFmpeg/Libav in order to the both project can generate WTV files worked with WMC.
  • Improve the audio filtering support in libavfilter Improve the audio part of libavfilter, fix outstanding issues, add more filters and wrappers, and generally polish and prepare libavfilter.
  • Playlists support. Add a generic framework for working with playlists to libavformat and implementations for several common formats.
  • VC-1 decoder missing features implementation VC-1, along with MPEG-2 Part 2 and H.264/MPEG-4 AVC, is one of the mandatory codecs that all compliant Blu-ray Disc players are required to support. Libav VC-1 decoder currently does not implement interlaced video sequence decoding and range mapping. The primary objective of this project will be to implement support for these features in the Libav VC-1 decoder.