GSoC/GCI Archive
Google Summer of Code 2009

VideoLAN

Web Page: http://wiki.videolan.org/SoC_2009

Mailing List: vlc-devel@videolan.org

VideoLAN is a software project that develop open source software in the multimedia field under GPLv2 (or later) license.

The project has developed VLC, one of the most popular open source media player and multimedia framework and a few other multimedia libraries.
The project has also developed x264, the H.264 encoder.

VideoLAN is backed up by a non-profit organization named VideoLAN.

Projects

  • A Media Center Interface for VLC While it is easy to use and functional, the existing default, Qt based GUI for VLC is quite minimal and basic. I propose to develop a new "Media Center" style GUI. This GUI will be based on Qt/OpenGL and will aim to be aesthetically pleasing, while remaining easy to use and functional. It will draw on many nice features of other popular media center software such as Front Row, Windows Media Center and XBMC.
  • Audio-filter improvement of Videolan Videolan is a famous media player with the video and audio parts. As a phd student mayor in speech signal processing, it's my honor to improve the effects of audio-filer vediolan.
  • DXVA integration DirectX Video Acceleration is a Windows feature allowing some computational intensive operations such as video decoding, deinterlacing, iDCT to be executed on the GPU. Surely VLC will profit from this API :)
  • Enhancing VLMC The AIM of this proposal is to provide new functionalities to the VLMC project, in order to make it become an useful and powerful video editing software. Main points to develop are : - An extensible data format, in order to save projects as a file. We should have an extensible format, since features won't stop being added (hopefully) - An effect API, to allow other developpers to submit their modules, effects, transitions... - Improving user interface. - ...
  • Implement RTMP protocol for flash Streaming in VLC VLC is a wonderful media player and streaming server. Adobe is about to publish the RTMP protocol spec in the first half of this year, so I think it's about time to add and improve flash streaming function in VLC.
  • Media Library The project is about extending the Media Library(ML) for VLC Player. The media library will allow users to manage all their local and network media. The project will use the basic structure that already exists for the ML and will focus on extending the features. New features include Search, Smart playlists, Annotations and "Just play music".
  • projectM and p2p integration The goal of this project is devided into to parts. First integrating libprojectM, an audio visualisation library, into VLC. Secondly, build an p2p access module to make VLC able to read p2p on-demand streaming.
  • QuickTimeVR Playback VLC is a cross platform media player widely used and FreePV is a panoramic viewer that was initially developed due to the lack of an implementation of QuickTime and Shockwave for Linux, both work with QuickTime files and the problem arise from that, since video and vr share the mime type, to solve this, the main goal is to integrate the FreePV library into VLC to enable it to play QuickTimeVR contents, the second goal is to explore the use of wiimote as an advance interaction method.
  • Services Discovery, like Jamendo integration The goal of this project will be giving VideoLAN access to a great number of online music and video services, like Jamendo, last.fm, Magnatune, musicovery (maybe, there doesn't seem to be an API available), and whatever will comes to mind... This will be done writing new services discovery modules for it; the coding will be done mainly in C and lua, for the modules, and i believe a little bit of C++ will be required for integrating everything in the interface...
  • VA API Support for VLC Player The Video Acceleration API is an API designed to provide hardware acceleration for graphic application using the processing power of graphic cards. Drivers exists for Intel graphic cards. A backend for the VDPAU API (by nVidia) has been released and the same is under way for ATI cards. Thus, this project aims to implement a decoder and the corresponding video output for VLC, using the power of VA API to reduce CPU consumption while reading h.264, VC-1 and MPEG-4 videos.
  • Weighted P-frame Prediction x264 is a highly popular h264 encoder. It currently does not implement the entire spec of h264. Currently weighted P-frames are not used to assist in prediction. If implemented this would give huge benefits in cases where the scene fades or where there are flashes. I am proposing to implement an implementation of this that is good enough and fast enough to warrant inclusion in most video encodings.
  • x264 ARM optimizations Formerly used primarily in PDAs and cellphones, ARM is starting to target netbooks and laptops with its new Cortex-A series of processors. One key feature of these new processors is the NEON SIMD unit, the use of which will massively boost the performance of many multimedia applications. This project will consist of writing NEON/ARMv6 SIMD assembly for all of the major DSP functions in x264, ideally speeding x264 up by over 4-5 times.