10 years of GSoC and VideoLAN

16 November 2014


When GSoC started in 2005, I was not really part of the VLC community, and GSoC was a quite small program, so we did not participate at all.

I joined the VLC project in 2006, but GSoC was already started and VideoLAN did not do a correct candidacy to get selected (I’m not sure it was sent at all).

Starting in 2007, I took over the GSoC management, doing most of the admin, and a very large part of the mentoring of students.

We got selected for GSoC in 2007, 2008, 2009, 2010, 2011 and GCi in 2010 and 2011. And I went to all the associated summer of code summits and the 10 years reunion (6times!).

The more it went, the better we were to manage students and mentors, and we were able to manage around 12-15 projects with a few active mentors.

There has been years like in 2010 or 2011, where I spend a large part of my summer doing this, and where I de-facto mentored more than 6 students. But this taught me a lot :)

GSoC and GCi brought a lot to the VideoLAN community, so I’ll do my best to sum it up.

SoC achievements


2007 was our first year, and therefore not the best: we had a large number of failures, notably due to a bad recruitment.

However, in 2007, we notably had:

  • VLCKit, which gave birth later to MobileVLCKit, the base of VLC for iOS,
  • a dymamic overlay filter for VLC, still in use,
  • a SSA library named libasa, (that is now deprecated).

Not too ridiculous for a first year :)

At the end of 2007, I went to the GSoC summit and got blown away by the energy and vitality of Leslie Hawthorn, one of the most impressive person I know in the open source communities.

The summit was great because this was one of the best way to meet other projects similar to ours, like Audacity, Mixxx or Gimp.


I entered 2008 way way more prepared, and extended the program to x264, VideoLAN being an umbrella org for the first year.

We had 13 projects, and the very large majority of them were successful and merged.

In 2008, GSoC notably gave us:

  • the VLC fullscreen controller on Windows and Linux,
  • the port to WinCE,
  • the port and the UI for Maemo,
  • UPnP and MTP support,
  • the upgrade to Leopard,
  • an EVR module for VLC (never merged),
  • phonon-VLC,
  • speed upgrade for x264 and adaptive quantization improvements


In 2009, we had 14 students on VLC, VLMC and x264.

The most important 2009 projects gave us:

  • the first working version of VLMC,
  • a VLC media library,
  • the lua Service Discovery,
  • VAAPI and DxVA GPU decoding, (DxVA was properly merged later),
  • a media center frontend to VLC (discontinued),
  • projectM visualizer,
  • first port of x264 to ARM with NEON assembly,
  • x264 Weighted P-frame Prediction


2010 was getting crazy, I remember we received more than 90 student applications. Students worked on VLC, libasf, libbluray, x264 and VLMC.

In the end, we got, from the 2010 year:

  • First open source BD-J implementation in libbluray,
  • Large upgrade of phonon-VLC, notably for capture,
  • Base of HLSL shaders, (rewritten and merged in 2014 for VLC 2.2.0).
  • Important libasf work,
  • Rewrite of ogg demuxer, notably for seeking,
  • Major work on VLMC, including upload to Youtube,
  • Work on libdlna,
  • High bit depth encoding in x264,
  • Audio and MBAFF for x264.


2011 is one of our best years for VideoLAN on GSoC. Indeed, that year, we got:

  • The first Android UI, for the successful VLC for Android,
  • Large work on libass and integration in VLC,
  • A C++/Swig generator for binding libVLC to all languages,
  • Development on libnetMD to play MiniDisc,
  • Large rework of the Mac OS X interface,
  • Support of OMA (including DRM) and Atrac,
  • Stereoscopic support for VLC (project that will be merged this year for VLC 3.0.0)
  • An OpenGL interface to VLC, improvements of the web interface of VLC,
  • x264 trellis motion optimization.

Google Code-In

We also participated in Google Code-In in 2010 and 2011.

The first year, we only had tasks for VLC and a bit on x264, and it mostly gave us a lot of bugfixing, howtos, and some small features in the VLC interface.

The second year, we were an umbrella for VLC, libav, FFmpeg and x264: this was a suggestion done by Googlers from the Open Source team and libav.

Those 2 years gave x264 and libavcodec some very important boost in performance, which is probably one of the project that benefits Google the most on a daily basis, since those libraries are probably the biggest CPU consumers in Google.

The 2011 year of GCi gave us a lot of improvements on the Android UI done during the GSoC 2011.


Google Summer of Code and Google Code-In brought a lot to the VideoLAN community.

You can be thankful to those programs for large parts of the port of VLC on Android and iOS, for the libVLC improvements, for the interfaces, for BD-J, GPU decoding and 3D support in VLC, and so many useful parts of VLC. If you are a large user of x264, you can also be happy about the speed increases GSoC and GCi gave us.

And it’s important to know that a large number of people still active in the community are former GSoC and GCi students, and for a few of them, it was their first interaction with VideoLAN.

Thanks Google!

Jean-Baptiste Kempf