Google Summer of Code 2010.
- 1 Introduction & Information
- 2 Main ideas
- 3 Mini Projects - More ideas
- 4 Questions? Contact us?
Introduction & Information
VLC media player
VLC media player is a cross-platform multimedia player, encoder and streamer application. It is one of the most successful open-source projects without any professional structure underneath.
VLC media player is downloaded at an approximate monthly rate of 5 millions from the main website and that's not including third-party distributions (Linux)!
Summer of Code
If selected and developed, SoC projects for VLC will be included in later releases. All projects are covered by the GPL licence. (v2+)
Ideas for VLC
This page is split in three lists of ideas:
- Mini_Projects are short-span projects which can be given as Qualification tasks.
- The main ideas are what seem to be key projects for VLC and should be more thrilling than the other ones; we have assigned a potential mentor to each of these.
- Original good ideas will be valued. Last year, half of the ideas were given by students. We don't want to impose anything. This is free and Open Source software.
If you don't want to apply for SoC but want other ideas to develop on, check the Mini Projects page!
And on the IRC channel, you can have even more ideas.
Interfaces always have something to do.Try to borrow the best ideas from amarok, iTunes, WMP, winamp, freeamp and integrate them into VLC. Look at other Qt applications or KDE applications.
- You need some Qt and C++ knowlegde and a lot of creativity.
Proposed mentor: jb
Assembly optimizations in VLC
If you are fond of writing ASM and you are fluent in MMX/SSE2, there are many interesting things in VLC to speed up.
- Profiling VLC.
- memcpy implementations in SSE* and MMX (see modules/misc/memcpy/fastmemcpy.h)
- video filters ASM speedups (see modules/video_filter/blend.c)
- audio filters ASM speedups (see modules/audio_filter/equalizer.c)
- Porting other ASM video filters to VLC.
This project needs some good ASM knowledge and good C experience.
- Stuff to read: http://www.agner.org/optimize/
Proposed mentor: jb
We are looking for a skilled audiophile that knows a lot about audio theory and practice:
- to create or implement new algorithms, like SRS WoW or other 3D effects
- to work on channels mixing,
- to work on tracks mixing,
- to create scriptable new audio filters in lua and enable users to create whatever audio filtering function they want in a Lua script.
This project needs some good audio knowledge and good C experience.
Proposed mentor: geal
This project aims at making automatic tests to improve VLC quality.
- Write a series of tests for vlc-internal
- Integrate a framework for automated plugins testing with the automake build system
- Automate the different codec playback/mux/etc tests
- Automate the subtitles tests
- Write tests for the different bindings: Mac OS X Framework/Python Bindings... etc.
This project is a code project, require good knowledge of C
Proposed mentor: Rémi
Services Discovery, like Jamendo integration
Jamendo, Last.fm and other online music and video services would be great to integrate into VLC.
This project deals with this integration.
- This needs lua, C and C++ programming skills.
Proposed mentor: ?
RTMP implementation for streaming to Flash10.
Proposed mentor: jpsaman
Qt embedded interface
VLC uses Qt for its main interfaces on desktop systems. It would be nice to have the same type of UI on systems like Maemo or Windows Mobile.
Proposed mentor: ILEoo
Mini Projects - More ideas
This sections welcomes all Original ideas which can be implemented in a short span of time.However, We have a more general page for ideas for Project in VLC media player, that could give you ideas: Mini_Projects.
To Develop a Combination of VLC Patch and a FireFox Extension , working together to set currently Playing track as Custom Message in Gmail Chat.The FireFox Extension will fetch the track Information from VLC instance running and will
- Either, generate an XmlHttpRequest to send the new status to Server.
- Or, Fire the Gmail Eventlisteners accordingly.
The project succesfully completed this way will be Platform Independent.Had it been done through Google Talk Client , it would have been available for Windows users only.Had it been done using VLC<->Google server interaction, it would have required User authentications ,Proxy Handling etc.
Proposed by : pk
Questions? Contact us?
If you need to contact us for any questions, you can:
- use the vlc-devel mailing list,
- come on IRC irc://irc.videolan.org #videolan
- contact one of the mentors or the backup mentors,
- or contact Jean-Baptiste Kempf
The proposed mentors are: