<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.videolan.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pk2010</id>
	<title>VideoLAN Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.videolan.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pk2010"/>
	<link rel="alternate" type="text/html" href="https://wiki.videolan.org/Special:Contributions/Pk2010/"/>
	<updated>2026-11-04T14:50:30Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Win32CompileCygwinNew&amp;diff=16780</id>
		<title>Win32CompileCygwinNew</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Win32CompileCygwinNew&amp;diff=16780"/>
		<updated>2010-07-13T12:54:08Z</updated>

		<summary type="html">&lt;p&gt;Pk2010: /* Bootstrap */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a new version of the Win32CompileCygwin written by [[User:J-b|Jean-Baptiste Kempf]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This version ONLY works for 0.9.x, for 1.0.x and for 1.1.x.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING&#039;&#039;&#039;: building VLC on Cygwin has ever been a failure-prone task. It is also very slow (specially if you enable debug and optimizations). You should really consider cross-compiling from Linux (on a virtual machine, via dual-boot or from another computer). You were warned.&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
&lt;br /&gt;
This is a guide for Windows users with a step-by-step instruction to download, install, configure and build your VLC.&lt;br /&gt;
&lt;br /&gt;
This guide uses [http://www.cygwin.com &#039;&#039;&#039;Cygwin&#039;&#039;&#039;] a Linux-like environment for Windows used for compilation of the VLC source code.&lt;br /&gt;
&lt;br /&gt;
Start off by creating a VLC and a download folder on your hard drive where you can put all the installation files:&lt;br /&gt;
&lt;br /&gt;
 C:\VLC\&lt;br /&gt;
 C:\VLC\Downloads&lt;br /&gt;
&lt;br /&gt;
For further reference, the assumption is made that the local user will be &#039;Administrator&#039;.&lt;br /&gt;
&lt;br /&gt;
=Cygwin=&lt;br /&gt;
&lt;br /&gt;
Download the latest [http://www.cygwin.com/cygwin/setup.exe Cygwin setup] and save it in your download location:&lt;br /&gt;
&lt;br /&gt;
 C:\VLC\Downloads\&lt;br /&gt;
&lt;br /&gt;
More info about Cygwin can be found at http://www.cygwin.com or http://sourceware.org/cygwin&lt;br /&gt;
&lt;br /&gt;
==Selecting Cygwin packages to install==&lt;br /&gt;
&lt;br /&gt;
Run the setup program with the following options:&lt;br /&gt;
&lt;br /&gt;
Installation type : Install from Internet (default)&lt;br /&gt;
&lt;br /&gt;
Root directory : C:\cygwin (default)&lt;br /&gt;
&lt;br /&gt;
Local Package directory : C:\VLC\Downloads\cygwin (your download location)&lt;br /&gt;
&lt;br /&gt;
Internet Connection : Direct Connection (preferred, if it fails try another)&lt;br /&gt;
&lt;br /&gt;
Download Site : Choose a download site closest to you (FTP preferred)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At the &amp;quot;Select Packages&amp;quot; section of the installation process you can select packages by clicking the button with the rotating 2 arrows. (This is under the &amp;quot;New&amp;quot; section). It shows &amp;quot;Skip&amp;quot; next to the button if the package isn&#039;t selected yet.&lt;br /&gt;
&lt;br /&gt;
Clicking the button a few times will rotate through the possible package versions including &amp;quot;Skip&amp;quot; (meaning do not install or remove if installed) and &amp;quot;Keep&amp;quot; (meaning keep using the current installed version). If a package was already installed it will also show the &amp;quot;Current&amp;quot; version just to the left of it.&lt;br /&gt;
&lt;br /&gt;
Select the following packages (some others will automatically be selected as well):&lt;br /&gt;
&lt;br /&gt;
 Archive&lt;br /&gt;
   unzip&lt;br /&gt;
   zip&lt;br /&gt;
&lt;br /&gt;
 Devel&lt;br /&gt;
   autoconf&lt;br /&gt;
   automake&lt;br /&gt;
   binutils&lt;br /&gt;
   cvs (optional: for building extras/contrib)&lt;br /&gt;
   gcc&lt;br /&gt;
   gcc-core&lt;br /&gt;
   gcc-g++&lt;br /&gt;
   gcc-mingw&lt;br /&gt;
   gcc-mingw-core&lt;br /&gt;
   gcc-mingw-g++&lt;br /&gt;
   gdb&lt;br /&gt;
   gettext&lt;br /&gt;
   gettext-devel&lt;br /&gt;
   git&lt;br /&gt;
   libgcrypt-devel&lt;br /&gt;
   libiconv&lt;br /&gt;
   libtool&lt;br /&gt;
   make&lt;br /&gt;
   mingw-runtime&lt;br /&gt;
   nasm&lt;br /&gt;
   patchutils&lt;br /&gt;
   pkg-config&lt;br /&gt;
   subversion (optional: for building extras/contrib)&lt;br /&gt;
&lt;br /&gt;
 Editor&lt;br /&gt;
   vim&lt;br /&gt;
&lt;br /&gt;
 Libs&lt;br /&gt;
   expat&lt;br /&gt;
   libgcrypt&lt;br /&gt;
&lt;br /&gt;
 Utils&lt;br /&gt;
   ncurses&lt;br /&gt;
&lt;br /&gt;
 Web&lt;br /&gt;
   curl (optional: for building extras/contrib)&lt;br /&gt;
   wget (optional: for building extras/contrib)&lt;br /&gt;
&lt;br /&gt;
==Cygwin environment==&lt;br /&gt;
&lt;br /&gt;
Start Cygwin from the icon on your desktop (With Windows Vista run it with admin rights, so right click and select &amp;quot;Run as administrator&amp;quot;). If it runs for the first time it will automatically create a home\&amp;quot;username&amp;quot; folder in the Cygwin environment; user being the currently logged on Windows user. Assuming this is the &#039;Administrator&#039; user it will create the following folder:&lt;br /&gt;
&lt;br /&gt;
 C:\cygwin\home\Administrator (example)&lt;br /&gt;
&lt;br /&gt;
NOTE: On your desktop, you can rightclick the Cygwin icon and (in the Options field of the Cygwin Properties) set the Command history Buffer size to as large as possible: 999. This setting will make it possible to scroll back further in the Cygwin environment.&lt;br /&gt;
&lt;br /&gt;
=VLC source code=&lt;br /&gt;
&lt;br /&gt;
== Git ==&lt;br /&gt;
The very latest VLC source code can be obtained through a tool called [[Git]]. The Cygwin package we&#039;re about to install comes with an internal git component.&lt;br /&gt;
&lt;br /&gt;
 cd /cygdrive/c/VLC/&lt;br /&gt;
&lt;br /&gt;
 git clone git://git.videolan.org/vlc.git&lt;br /&gt;
&lt;br /&gt;
or if you just want to download latest VLC revision (saves bandwidth)&lt;br /&gt;
&lt;br /&gt;
 git clone git://git.videolan.org/vlc.git --depth 1&lt;br /&gt;
&lt;br /&gt;
or if your proxy denies git protocol connections use:&lt;br /&gt;
&lt;br /&gt;
 git clone http://git.videolan.org/git/vlc.git&lt;br /&gt;
&lt;br /&gt;
In this case you need to set the proxy address first:&lt;br /&gt;
&lt;br /&gt;
 export http_proxy = &amp;lt;proxy&amp;gt;:&amp;lt;port&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If git fails for some reason, then please try to use git from basic Windows command prompt (Start -&amp;gt; Run -&amp;gt; cmd), not from Cygwin shell.&lt;br /&gt;
&lt;br /&gt;
Please note that the very latest VLC sources (&amp;quot;master&amp;quot; branch) does not necessary build fine all the time. So if you need something stable, better is to use a git tag or a version snapshot archive.&lt;br /&gt;
&lt;br /&gt;
== Snapshots ==&lt;br /&gt;
&lt;br /&gt;
You can do the same by using the snapshots in the [http://nightlies.videolan.org/ nightly builds] site.&lt;br /&gt;
&lt;br /&gt;
== Specific Version ==&lt;br /&gt;
&lt;br /&gt;
You can get a specific version of VLC source code from the [http://download.videolan.org/pub/videolan/vlc/ source ftp] directory.&lt;br /&gt;
&lt;br /&gt;
Another option is to sync specific version represented by a tag in git:&lt;br /&gt;
&lt;br /&gt;
 git checkout &amp;lt;version&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;version&amp;gt; is one like: 1.0.1, 1.0.2, ..&lt;br /&gt;
&lt;br /&gt;
=Bootstrap=&lt;br /&gt;
First move to vlc folder, if you aren&#039;t already there&lt;br /&gt;
&lt;br /&gt;
 cd vlc&lt;br /&gt;
&lt;br /&gt;
and then run bootstrap.&lt;br /&gt;
&lt;br /&gt;
dos2unix botstrap&lt;br /&gt;
 ./bootstrap&lt;br /&gt;
&lt;br /&gt;
You should go through dos2unix for every script which produces errors related to &#039;\r&#039;&lt;br /&gt;
&lt;br /&gt;
It might fail with some &#039;&#039;&#039;unable to remap error &amp;lt;some_dll_file_name&amp;gt;&#039;&#039;&#039;. It seems you need to rebase all Cygwin DLLs: close all your cygwin applications and launch &#039;ash&#039; from basic windows command prompt (Start -&amp;gt; Run -&amp;gt; cmd), from there run rebaseall (so start e.g. C:\cygwin\bin\ash.exe and type there text below).&lt;br /&gt;
&lt;br /&gt;
 /bin/rebaseall -v&lt;br /&gt;
&lt;br /&gt;
= External libraries to the source code=&lt;br /&gt;
&lt;br /&gt;
VLC depends on other libraries (code) to provide some features like AC3 audio or MPEG-4 video encoding/decoding etc.&lt;br /&gt;
&lt;br /&gt;
Depending on your needs you will have to install and compile some or all of these external libraries. &lt;br /&gt;
&lt;br /&gt;
== Get the Win32 &amp;quot;contrib&amp;quot; package ==&lt;br /&gt;
&lt;br /&gt;
A package with most of these libraries already compiled so it&#039;s actually really easy to compile a full-featured version of vlc can be found here:&lt;br /&gt;
&lt;br /&gt;
http://download.videolan.org/pub/testing/win32/&lt;br /&gt;
or&lt;br /&gt;
http://people.videolan.org/~jb/Contribs/&lt;br /&gt;
or take&lt;br /&gt;
 ftp://ftp.videolan.org/pub/vlc/1.0.0/win32/contrib-1.0.0.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Download the latest version of a &amp;quot;contrib&amp;quot; package for win32:&lt;br /&gt;
&lt;br /&gt;
 contrib-20080702-win32-bin-gcc-4.2.1-sjlj-runtime-3.13-only.tar.bz2 (this is an &#039;&#039;&#039;example&#039;&#039;&#039; so &#039;&#039;&#039;DON&#039;T&#039;&#039;&#039; download packages this old, unless you really have to!)&lt;br /&gt;
&lt;br /&gt;
It&#039;s a good idea to check the INSTALL.Win32 file in the VLC source directory for the appropriate contrib download file if you build older VLC versions.&lt;br /&gt;
&lt;br /&gt;
Save it into your download location:&lt;br /&gt;
&lt;br /&gt;
 C:\VLC\Downloads\&lt;br /&gt;
&lt;br /&gt;
==Installing the Win32 &amp;quot;contrib&amp;quot; package in Cygwin==&lt;br /&gt;
&lt;br /&gt;
Start Cygwin and enter the following command in your shell:&lt;br /&gt;
 &lt;br /&gt;
 rm -rf /usr/win32&lt;br /&gt;
 cd /cygdrive/c/VLC/Downloads&lt;br /&gt;
 tar xf contrib-20080702-win32-bin-gcc-4.2.1-sjlj-runtime-3.13-only.tar.bz2 -C /&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Replace with your version of the &amp;quot;contrib&amp;quot; file and DON&#039;T FORGET THE / (slash)&lt;br /&gt;
at the end.&lt;br /&gt;
&lt;br /&gt;
This will extract the contents of the file into usr/win32 folder within your Cygwin environment.&lt;br /&gt;
&lt;br /&gt;
NOTE: Make sure to DELETE your old version (/usr/win32 folder) instead of extracting a new version on top of it.&lt;br /&gt;
&lt;br /&gt;
Version 1.0.2 of VLC source code has been tested and found working with contrib-20091020-win32-bin-gcc-4.2.1-sjlj-runtime-3.15.2-only.tar.bz2&lt;br /&gt;
&lt;br /&gt;
==Keeping the Win32 &amp;quot;contrib&amp;quot; package up-to-date==&lt;br /&gt;
&lt;br /&gt;
For maintenance purposes periodically check:&lt;br /&gt;
&lt;br /&gt;
http://download.videolan.org/pub/testing/win32/&lt;br /&gt;
&lt;br /&gt;
==QT4 issues==&lt;br /&gt;
There are some QT4 and winapi issues (like &#039;&#039;&#039;InterlockedCompareExchange&#039;&#039;&#039; error) which you can work out with information you get from http://forum.videolan.org/viewtopic.php?f=14&amp;amp;t=50360&amp;amp;p=164758&amp;amp;hilit=win32api#p164219 and http://forum.videolan.org/viewtopic.php?f=14&amp;amp;p=175301#p175301 threads. If you don&#039;t plan to compile QT4 or skins2 interface, you can skip this.&lt;br /&gt;
&lt;br /&gt;
=Configure=&lt;br /&gt;
&lt;br /&gt;
In order to make our lives just a bit easier the following section describes what commandline options should be used for compiling and those commands will then be put into a &amp;quot;script&amp;quot; that can be executed (rather than having to copy and paste all the time).&lt;br /&gt;
&lt;br /&gt;
==Configure script for compiling VLC==&lt;br /&gt;
&lt;br /&gt;
Create a new text document with the following lines:&lt;br /&gt;
&lt;br /&gt;
  PATH=/usr/win32/bin:$PATH \&lt;br /&gt;
  PKG_CONFIG_LIBDIR=/usr/win32/lib/pkgconfig \&lt;br /&gt;
  CPPFLAGS=&amp;quot;-I/usr/win32/include -I/usr/win32/include/ebml&amp;quot; \&lt;br /&gt;
  LDFLAGS=-L/usr/win32/lib \&lt;br /&gt;
  CC=&amp;quot;gcc -mno-cygwin&amp;quot; CXX=&amp;quot;g++ -mno-cygwin&amp;quot; \&lt;br /&gt;
  ./configure \&lt;br /&gt;
      --host=i686-pc-mingw32 \&lt;br /&gt;
      --enable-nls \&lt;br /&gt;
      --enable-sdl --with-sdl-config-path=/usr/win32/bin \&lt;br /&gt;
      --enable-faad --enable-flac --enable-theora \&lt;br /&gt;
      --enable-live555 --with-live555-tree=/usr/win32/live.com \&lt;br /&gt;
      --enable-caca --with-caca-config-path=/usr/win32/bin \&lt;br /&gt;
      --with-dvdnav-config-path=/usr/win32/bin \&lt;br /&gt;
      --enable-goom \&lt;br /&gt;
      --enable-dvdread \&lt;br /&gt;
      --enable-debug --disable-optimizations \&lt;br /&gt;
      --disable-mkv --disable-taglib --disable-zvbi --disable-dirac --disable-x264 --disable-fluidsynth&lt;br /&gt;
&lt;br /&gt;
This command is tested and configures VLC 1.0.2 properly so that it builds fine.&lt;br /&gt;
&lt;br /&gt;
NOTE: The following options are added for debug purposes and makes the final package a bit larger but the advantage is it&#039;s easier to debug in case of crash reports:&lt;br /&gt;
&lt;br /&gt;
 --disable-optimizations&lt;br /&gt;
 --enable-debug&lt;br /&gt;
&lt;br /&gt;
If you want to report a crash bug to the VLC team, it is necessary that you provide a stack backtrace. Unfortunately, Windows automatic crash reporter cannot generate such a backtrace as debug symbols used by GCC compiler aren&#039;t understood by Windows, therefore we suggest that you install Dr. MinGW (http://jrfonseca.dyndns.org/projects/gnu-win32/software/drmingw/) which will extend Windows Just-In-Time Debugger and provide the necessary debug information.&lt;br /&gt;
&lt;br /&gt;
NOTE: The following options is needed for Qt4 support:&lt;br /&gt;
&lt;br /&gt;
 --enable-qt4&lt;br /&gt;
&lt;br /&gt;
As of version 0.9.0 VLC will include the Qt interface. More information can be found about QT here: http://www.trolltech.com&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Win32 contrib package&amp;quot; at present includes the linux and Windows equivalents of uic, moc and roc executables which are required for building this interface.&lt;br /&gt;
&lt;br /&gt;
The linuxs executables have to be &#039;&#039;&#039;deleted&#039;&#039;&#039; from the contrib folder:&lt;br /&gt;
&lt;br /&gt;
 C:\cygwin\usr\win32\bin\moc (example)&lt;br /&gt;
 C:\cygwin\usr\win32\bin\rcc (example)&lt;br /&gt;
 C:\cygwin\usr\win32\bin\uic (example)&lt;br /&gt;
&lt;br /&gt;
Save as filename in your &amp;quot;scripts&amp;quot; folder at your download/install location:&lt;br /&gt;
&lt;br /&gt;
 configure-vlc.sh&lt;br /&gt;
&lt;br /&gt;
NOTE: Save using &amp;quot;All files&amp;quot; and not &amp;quot;Text files&amp;quot; otherwise Windows might append the extension .txt&lt;br /&gt;
&lt;br /&gt;
Copy the file into your home directory:&lt;br /&gt;
 &lt;br /&gt;
 C:\cygwin\home\Administrator&lt;br /&gt;
&lt;br /&gt;
Start Cygwin and enter the following command in your shell: &lt;br /&gt;
&lt;br /&gt;
 dos2unix configure-vlc.sh&lt;br /&gt;
&lt;br /&gt;
After your configure-vlc.sh is completed, copy it to your vlc directory and run it:&lt;br /&gt;
&lt;br /&gt;
 ./configure-vlc.sh&lt;br /&gt;
&lt;br /&gt;
If it complains about permissions, use chmod and try again:&lt;br /&gt;
&lt;br /&gt;
 chmod 777 configure-vlc.sh&lt;br /&gt;
&lt;br /&gt;
NOTE. (If you plan to use JVLC) To make vlc-control.dll accessible by Java on &#039;&#039;Windows&#039;&#039; configure-vlc.sh should be modified to include &amp;quot;-Wl,--add-stdcal-alias&amp;quot;. Example:&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 CC=&amp;quot;gcc -mno-cygwin -Wl,--add-stdcall-alias&amp;quot; CXX=&amp;quot;g++ -mno-cygwin -Wl,--add-stdcall-alias&amp;quot; \&lt;br /&gt;
 ./configure \&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
===Mozilla plugin===&lt;br /&gt;
&lt;br /&gt;
If you want to build Mozilla plugin, add this to your configure-vlc.sh&lt;br /&gt;
&lt;br /&gt;
 --enable-mozilla --with-mozilla-sdk-path=/usr/win32/gecko-sdk&lt;br /&gt;
&lt;br /&gt;
If configure-vlc.sh goes correctly, you should see &#039;&#039;&#039;plugins/bindings : activex mozilla&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===POSIX emulation layer===&lt;br /&gt;
&lt;br /&gt;
VLC can be built with or without the so called POSIX emulation layer. Without is the default and is usually better (and with hasn&#039;t been tested for quite some time). If you do want to use the emulation layer, then just leave out the line with the following options:&lt;br /&gt;
&lt;br /&gt;
 CC=&amp;quot;gcc -mno-cygwin&amp;quot; CXX=&amp;quot;g++ -mno-cygwin&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=Compiling source code=&lt;br /&gt;
&lt;br /&gt;
It&#039;s time to start Cygwin again...&lt;br /&gt;
&lt;br /&gt;
==Compiling VLC==&lt;br /&gt;
&lt;br /&gt;
Enter the following commands in your Cygwin shell:&lt;br /&gt;
&lt;br /&gt;
 cd vlc&lt;br /&gt;
&lt;br /&gt;
NOTE: Open /cygdrive/c/VLC/libtool in text editor and if &amp;quot;global_symbol_pipe =&amp;quot; line is blank, replace it with :&lt;br /&gt;
&lt;br /&gt;
 global_symbol_pipe=&amp;quot;sed -n -e &#039;s/^.*[   ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[       ][      ]*\\(\\)\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1\\2\\3 \\3/p&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Build it! (remember to run configure-vlc.sh before first build)&lt;br /&gt;
&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Cross your fingers and wait... because it might take few hours before compilation is done.&lt;br /&gt;
If you have multicore CPU or multi CPU box, you can use -j2 switch (or maybe -j3 or -j4 etc.) to speed up make process&lt;br /&gt;
&lt;br /&gt;
 make -j2&lt;br /&gt;
&lt;br /&gt;
==Creating self contained packages==&lt;br /&gt;
&lt;br /&gt;
Once the compilation is done, you can build self-contained VLC packages with the following &amp;quot;make&amp;quot; commands:&lt;br /&gt;
&lt;br /&gt;
 make package-win32-base&lt;br /&gt;
&lt;br /&gt;
(This will create a subdirectory named vlc-x.x.x with all the binaries &amp;quot;stripped&amp;quot; without any debugging symbols).&lt;br /&gt;
&lt;br /&gt;
 make package-win32-zip&lt;br /&gt;
&lt;br /&gt;
(Same as above but will package the directory in a zip file).&lt;br /&gt;
&lt;br /&gt;
 make package-win32&lt;br /&gt;
&lt;br /&gt;
(Same as above but will also create an auto-installer package. You will need to have NSIS installed in its default location for this to work).&lt;br /&gt;
&lt;br /&gt;
* If you have permissions problems running make package-*, chmod 777 -R the vlc folder.&lt;br /&gt;
* If you have permissions problems running vlc.exe after packaging, rename or delete vlc.exe.manifest&lt;br /&gt;
&lt;br /&gt;
=Advanced usage=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Updating Cygwin package versions==&lt;br /&gt;
&lt;br /&gt;
If you need to update or install additional packages you can just run the Cygwin setup.exe from your download location:&lt;br /&gt;
&lt;br /&gt;
 C:\Downloads\cygwin\setup.exe          (example)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==GDB (Gnu Debugger)==&lt;br /&gt;
&lt;br /&gt;
This section requires that you installed the gdb (Gnu Debugger) in Cygwin.&lt;br /&gt;
&lt;br /&gt;
This is a typical example of creating a crashlog:&lt;br /&gt;
&lt;br /&gt;
 cd vlc-trunk&lt;br /&gt;
&lt;br /&gt;
 gdb --args vlc.exe --fast-mutex --reset-config --reset-plugins-cache&lt;br /&gt;
&lt;br /&gt;
NOTE: vlc-0.9.0 uses libtool for building sources, if you want to debug from the source tree, you should type the following command instead:&lt;br /&gt;
&lt;br /&gt;
 libtool --mode=execute gdb --args vlc --reset-config --reset-plugins-cache&lt;br /&gt;
&lt;br /&gt;
In the debugger mode run the program and make sure you reset the preferences!&lt;br /&gt;
&lt;br /&gt;
 (gdb) run &lt;br /&gt;
&lt;br /&gt;
NOTE: the (gdb) is just a prompt which means you are in the debugger mode, please note that &#039;&#039;--fast-mutex&#039;&#039; option is no longer supported in vlc-0.9.0&lt;br /&gt;
&lt;br /&gt;
It will now take a lot longer than usual for VLC to start :)&lt;br /&gt;
&lt;br /&gt;
Now operate VLC as you would normally do. As soon as a crash issue occurs&lt;br /&gt;
you&#039;ll notice a line like this:&lt;br /&gt;
&lt;br /&gt;
 Program received signal SIGSEGV, Segmentation fault.&lt;br /&gt;
 0x0041394c in playlist_ItemGetById (p_playlist=0x19ec4f8, i_id=29)&lt;br /&gt;
     at src/playlist/item-ext.c:459&lt;br /&gt;
 ---Type &amp;lt;return&amp;gt; to continue, or q &amp;lt;return&amp;gt; to quit---&lt;br /&gt;
 459             i = i_bottom + ( i_top - i_bottom ) / 2;&lt;br /&gt;
&lt;br /&gt;
Now you can do a &amp;quot;backtrace&amp;quot; by using the bt command:&lt;br /&gt;
&lt;br /&gt;
 (gdb) bt&lt;br /&gt;
&lt;br /&gt;
And output similar to this will be created:&lt;br /&gt;
&lt;br /&gt;
 #0  0x0041394c in playlist_ItemGetById (p_playlist=0x19ec4f8, i_id=29) &lt;br /&gt;
     at src/playlist/item-ext.c:459&lt;br /&gt;
 #1  0x0b26bbf7 in wxvlc::Playlist::CountItems (this=0x1822e288, root=&lt;br /&gt;
       {m_pItem = 0x29fef8}) at playlist.cpp:695&lt;br /&gt;
 #2  0x0b26bc83 in wxvlc::Playlist::CountItems (this=0x1822e288, root=&lt;br /&gt;
       {m_pItem = 0x29e8b0}) at playlist.cpp:689&lt;br /&gt;
 #3  0x0b26bc83 in wxvlc::Playlist::CountItems (this=0x1822e288, root=&lt;br /&gt;
       {m_pItem = 0x29a818}) at playlist.cpp:689&lt;br /&gt;
 #4  0x0b26bc83 in wxvlc::Playlist::CountItems (this=0x1822e288, root=&lt;br /&gt;
       {m_pItem = 0x299718}) at playlist.cpp:689&lt;br /&gt;
 #5  0x0b26bc83 in wxvlc::Playlist::CountItems (this=0x1822e288, root=&lt;br /&gt;
       {m_pItem = 0xffff0000}) at playlist.cpp:689&lt;br /&gt;
 #6  0x0b26bf49 in wxvlc::Playlist::AppendItem (this=0x1822e288,&lt;br /&gt;
     event=@0x1827afd0) at playlist.cpp:564&lt;br /&gt;
 #7  0x0b2757fc in wxvlc::Playlist::OnPlaylistEvent (this=0x1822e288,&lt;br /&gt;
     event=@0x1827afd0) at playlist.cpp:1438&lt;br /&gt;
 #8  0x0b3771b8 in wxEvtHandler::ProcessEventIfMatches ()&lt;br /&gt;
     at /usr/win32/include/wx-2.6/wx/event.h:2183&lt;br /&gt;
 #9  0x0b376a1c in wxEventHashTable::HandleEvent ()&lt;br /&gt;
     at /usr/win32/include/wx-2.6/wx/event.h:2183&lt;br /&gt;
 #10 0x0b37730d in wxEvtHandler::ProcessEvent ()&lt;br /&gt;
     at /usr/win32/include/wx-2.6/wx/event.h:2183&lt;br /&gt;
 #11 0x0b37711b in wxEvtHandler::ProcessPendingEvents ()&lt;br /&gt;
     at /usr/win32/include/wx-2.6/wx/event.h:2183&lt;br /&gt;
 ---Type &amp;lt;return&amp;gt; to continue, or q &amp;lt;return&amp;gt; to quit---&lt;br /&gt;
 #12 0x0b376017 in wxAppConsole::ProcessPendingEvents ()&lt;br /&gt;
     at /usr/win32/include/wx-2.6/wx/event.h:2183&lt;br /&gt;
 #13 0x0b3ec75a in wxIdleWakeUpModule::MsgHookProc ()&lt;br /&gt;
     at /usr/win32/include/wx-2.6/wx/bmpbuttn.h:81&lt;br /&gt;
 #14 0x773aca2d in USER32!GetScrollRange ()&lt;br /&gt;
    from /cygdrive/c/WINDOWS/system32/user32.dll&lt;br /&gt;
 #15 0x00000000 in ?? () from&lt;br /&gt;
 (gdb)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To backtrace all the running threads use:&lt;br /&gt;
&lt;br /&gt;
 (gdb) thread apply all bt&lt;br /&gt;
&lt;br /&gt;
These are the log outputs that are more usefull to developers than just mentioning &amp;quot;it crashes&amp;quot;!&lt;br /&gt;
&lt;br /&gt;
NOTE: In GDB mode there are sometimes situations where GDB initially &amp;quot;crashes&amp;quot; on certain network activity (opening network shares, network traffic) which in normal operation does not occur. Just select c for continue until &amp;quot;normal&amp;quot; operation continues.&lt;br /&gt;
&lt;br /&gt;
== Common errors ==&lt;br /&gt;
===vlc.exe: Permission denied===&lt;br /&gt;
&lt;br /&gt;
A make finished successfully and produced vlc.exe, but running the executable returns the following:&lt;br /&gt;
&lt;br /&gt;
 bash: ./vlc.exe: Permission denied&lt;br /&gt;
&lt;br /&gt;
The permissions on both vlc.exe &amp;amp; vlc.exe.manifest must be set to executable. &lt;br /&gt;
&lt;br /&gt;
FIX: Type the following:&lt;br /&gt;
 &lt;br /&gt;
 chmod 755 vlc.exe vlc.exe.manifest&lt;br /&gt;
&lt;br /&gt;
===error: parse error before &#039;(&#039; token===&lt;br /&gt;
&lt;br /&gt;
A make (compile) of FFmpeg results in the following error:&lt;br /&gt;
&lt;br /&gt;
 /usr/include/sys/unistd.h:203: error: parse error before &#039;(&#039; token&lt;br /&gt;
 make[1]: *** [ffm.o] Error 1&lt;br /&gt;
&lt;br /&gt;
It&#039;s very likely you are usix the POSIX emulater which you shouldn&#039;t...&lt;br /&gt;
&lt;br /&gt;
FIX: compile with the option &lt;br /&gt;
&lt;br /&gt;
 -mno-cygwin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===error: expected primary-expression before &#039;&amp;lt;&amp;lt;&#039; token===&lt;br /&gt;
&lt;br /&gt;
 In file included from /usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../include/w32&lt;br /&gt;
 api/windows.h:52,&lt;br /&gt;
                  from ../../../include/vlc_common.h:459,&lt;br /&gt;
                  from ../../../include/vlc/vlc.h:153,&lt;br /&gt;
                  from dshow.cpp:31:&lt;br /&gt;
 /usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../include/w32api/wingdi.h:3:1: warn&lt;br /&gt;
 ing: this is the location of the previous definition&lt;br /&gt;
 In file included from /usr/win32/include/dshow.h:35,&lt;br /&gt;
                  from common.h:45,&lt;br /&gt;
                  from dshow.cpp:35:&lt;br /&gt;
 /usr/win32/include/ddraw.h:14: warning: ignoring #pragma warning&lt;br /&gt;
 In file included from /usr/win32/include/dshow.h:35,&lt;br /&gt;
                  from common.h:45,&lt;br /&gt;
                  from dshow.cpp:35:&lt;br /&gt;
 /usr/win32/include/ddraw.h:5552: warning: ignoring #pragma warning&lt;br /&gt;
 In file included from /usr/win32/include/dshow.h:45,&lt;br /&gt;
                  from common.h:45,&lt;br /&gt;
                  from dshow.cpp:35:&lt;br /&gt;
 /usr/win32/include/strmif.h:2: warning: ignoring #pragma warning&lt;br /&gt;
 In file included from /usr/win32/include/dsound.h:13,&lt;br /&gt;
                  from /usr/win32/include/amaudio.h:18,&lt;br /&gt;
                  from /usr/win32/include/dshow.h:47,&lt;br /&gt;
                  from common.h:45,&lt;br /&gt;
                  from dshow.cpp:35:&lt;br /&gt;
 /usr/win32/include/d3dtypes.h:22: warning: ignoring #pragma warning&lt;br /&gt;
 /usr/win32/include/d3dtypes.h:1813: warning: ignoring #pragma warning&lt;br /&gt;
 In file included from /usr/win32/include/dshow.h:48,&lt;br /&gt;
                  from common.h:45,&lt;br /&gt;
                  from dshow.cpp:35:&lt;br /&gt;
 /usr/win32/include/control.h:2: warning: ignoring #pragma warning&lt;br /&gt;
 dshow.cpp: In function `int CommonOpen(vlc_object_t*, access_sys_t*, vlc_bool_t)&lt;br /&gt;
 &#039;:&lt;br /&gt;
 dshow.cpp:456: error: expected primary-expression before &#039;&amp;lt;&amp;lt;&#039; token&lt;br /&gt;
 dshow.cpp:456: error: expected primary-expression before &#039;&amp;lt;&amp;lt;&#039; token&lt;br /&gt;
 dshow.cpp:456: error: expected primary-expression before &#039;&amp;lt;&amp;lt;&#039; token&lt;br /&gt;
 dshow.cpp:456: error: expected primary-expression before &#039;&amp;lt;&#039; token&lt;br /&gt;
 dshow.cpp:456: error: expected primary-expression before &#039;.&#039; token&lt;br /&gt;
 dshow.cpp:470: error: expected primary-expression before &#039;==&#039; token&lt;br /&gt;
 dshow.cpp:470: error: expected primary-expression before &#039;==&#039; token&lt;br /&gt;
 dshow.cpp:470: error: expected primary-expression before &#039;==&#039; token&lt;br /&gt;
 dshow.cpp:470: error: expected primary-expression before &#039;=&#039; token&lt;br /&gt;
 dshow.cpp:484: error: expected primary-expression before &#039;&amp;gt;&amp;gt;&#039; token&lt;br /&gt;
 dshow.cpp:484: error: expected primary-expression before &#039;&amp;gt;&amp;gt;&#039; token&lt;br /&gt;
 dshow.cpp:484: error: expected primary-expression before &#039;&amp;gt;&amp;gt;&#039; token&lt;br /&gt;
 dshow.cpp:484: error: expected primary-expression before &#039;&amp;gt;&#039; token&lt;br /&gt;
 dshow.cpp:484: error: expected primary-expression before &#039;.&#039; token&lt;br /&gt;
 dshow.cpp:485: error: expected `;&#039; before &amp;quot;IAMCrossbar&amp;quot;&lt;br /&gt;
 dshow.cpp:491: error: `pXbar&#039; undeclared (first use this function)&lt;br /&gt;
 dshow.cpp:491: error: (Each undeclared identifier is reported only once for each&lt;br /&gt;
 function it appears in.)&lt;br /&gt;
 make[6]: *** [libdshow_plugin_a-dshow.o] Error 1&lt;br /&gt;
 make[6]: Leaving directory `/home/Administrator/vlc-trunk/modules/access/dshow&#039;&lt;br /&gt;
 make[5]: *** [all-modules] Error 1&lt;br /&gt;
 make[5]: Leaving directory `/home/Administrator/vlc-trunk/modules/access/dshow&#039;&lt;br /&gt;
 make[4]: *** [all-recursive] Error 1&lt;br /&gt;
 make[4]: Leaving directory `/home/Administrator/vlc-trunk/modules/access&#039;&lt;br /&gt;
 make[3]: *** [all] Error 2&lt;br /&gt;
&lt;br /&gt;
Basically in case of conflict svn adds &amp;quot;&amp;lt;&amp;lt;&amp;lt; mine&amp;quot; and &amp;quot;=======&amp;quot; and &amp;quot;&amp;gt;&amp;gt;&amp;gt;&amp;gt; r1242&amp;quot; which makes gcc complain.&lt;br /&gt;
&lt;br /&gt;
FIX: revert the offending file&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Objective C source seen but `OBJC&#039; is undefined===&lt;br /&gt;
&lt;br /&gt;
The configure process stops halfway.&lt;br /&gt;
&lt;br /&gt;
 + aclocal-1.9 -I m4&lt;br /&gt;
 + autoconf&lt;br /&gt;
 + autoheader&lt;br /&gt;
 + automake-1.9 --add-missing --copy -Wall&lt;br /&gt;
 configure.ac: installing `autotools/install-sh&#039;&lt;br /&gt;
 configure.ac: installing `autotools/missing&#039;&lt;br /&gt;
 activex/Makefile.am:143: shell $(VLC_CONFIG: non-POSIX variable name&lt;br /&gt;
 activex/Makefile.am:143: (probably a GNU make extension)&lt;br /&gt;
 activex/Makefile.am: installing `autotools/compile&#039;&lt;br /&gt;
 activex/Makefile.am: installing `autotools/depcomp&#039;&lt;br /&gt;
 modules/gui/macosx/Makefile.am: Objective C source seen but `OBJC&#039; is undefined&lt;br /&gt;
 modules/misc/testsuite/Makefile.am: Objective C source seen but `OBJC&#039; is undefi&lt;br /&gt;
 ned&lt;br /&gt;
 src/Makefile.am: Objective C source seen but `OBJC&#039; is undefined&lt;br /&gt;
 Makefile.am:282: user target `vlc$(EXEEXT)&#039; defined here...&lt;br /&gt;
 /usr/share/automake-1.9/am/program.am: ... overrides Automake target `vlc$(EXEEX&lt;br /&gt;
 T)&#039; defined here&lt;br /&gt;
 Makefile.am:230:   while processing program `vlc&#039;&lt;br /&gt;
 make: *** No targets specified and no makefile found.  Stop.&lt;br /&gt;
 &lt;br /&gt;
This problem is related to a warning earlier on and only occured in a few revisions where a built-in workaround wasn&#039;t working properly:&lt;br /&gt;
&lt;br /&gt;
 + echo &#039;Enabling provisional autoconf 2.59 work-around. Update autoconf ASAP.&#039;&lt;br /&gt;
 Enabling provisional autoconf 2.59 work-around. Update autoconf ASAP.&lt;br /&gt;
&lt;br /&gt;
FIX: update autoconf to 2.60 or newer. If Cygwin doesn&#039;t provide this version yet then build it yourself from extras/contrib.&lt;br /&gt;
&lt;br /&gt;
Enter the following commands in your Cygwin shell:&lt;br /&gt;
&lt;br /&gt;
 cd vlc-trunk/extras/contrib&lt;br /&gt;
&lt;br /&gt;
 ./bootstrap&lt;br /&gt;
&lt;br /&gt;
 cd src&lt;br /&gt;
&lt;br /&gt;
 make .autoconf&lt;br /&gt;
&lt;br /&gt;
There should now be compiled autoconf version (probably 2.60 or newer) in extras/contrib that the bootstrap process will use.&lt;br /&gt;
&lt;br /&gt;
Now start the whole &amp;quot;Compile VLC&amp;quot; process from the start again.&lt;br /&gt;
&lt;br /&gt;
===Error: cannot create temporary file for diversion: Permission denied===&lt;br /&gt;
&lt;br /&gt;
If the above error appears, it might mean you don&#039;t have the TMPDIR defined in cygwin. You will need to define it and have its value point to your temporary directory. You can use &#039;&#039;&#039;export TMPDIR=&amp;quot;/cygdrive/c/temp&amp;quot;&#039;&#039;&#039; or any directory for it (/cygdrive/c/temp is same as C:\temp). If this doesn&#039;t help, make sure you run cygwin with admin rights (With Windows Vista, right click cygwin shortcut and select &amp;quot;Run as administrator&amp;quot;). Avira AntiVir might also cause issues to m4, so disabling it while ./bootstrap might help.&lt;br /&gt;
&lt;br /&gt;
==Compiling faster==&lt;br /&gt;
Building VLC on Cygwin is really slow, but you can spend less time recompiling by using [http://ccache.samba.org/ ccache]. This software saves  the files compiled with their compilation command, and output them if they were not changed and if the compilation command is the same as last build. It is really useful for frequent make clean &amp;amp;&amp;amp; make. To use it, change the CC line in your configure script to:&lt;br /&gt;
&lt;br /&gt;
  CC=&amp;quot;ccache gcc -mno-cygwin&amp;quot; CXX=&amp;quot;ccache g++ -mno-cygwin&amp;quot; \&lt;br /&gt;
&lt;br /&gt;
The first build after reconfiguring will be as slow as ever, but the following builds will be faster.&lt;br /&gt;
&lt;br /&gt;
=Version=&lt;br /&gt;
&lt;br /&gt;
20050627 Initial version&lt;br /&gt;
&lt;br /&gt;
20050628 Updated some more exceptions&lt;br /&gt;
&lt;br /&gt;
20050628 Some info added about FFmpeg compiling with AMR&lt;br /&gt;
&lt;br /&gt;
20050629 Finalized FFmpeg compiling&lt;br /&gt;
&lt;br /&gt;
20050630 Cross-compiling&lt;br /&gt;
&lt;br /&gt;
20050724 Some extra compile explanations&lt;br /&gt;
&lt;br /&gt;
20050726 Removed cross-compiling (was for linux -&amp;gt; win32) Patching source code with .diff files&lt;br /&gt;
&lt;br /&gt;
20050823 Added zlib error&lt;br /&gt;
&lt;br /&gt;
20050923 --enable-sdl --with-sdl-config-path=/usr/win32/bin added to configure. Added debug section&lt;br /&gt;
&lt;br /&gt;
20051102 Changed FFmpeg lib names&lt;br /&gt;
&lt;br /&gt;
20051128 Detailed Cygwin upgrade/downgrade for gcc 3.3. Renamed some update scripts. Added FFmpeg CVS update. --disable-gnomevfs added to configure (only used on linux)&lt;br /&gt;
&lt;br /&gt;
20060121 PKG_CONFIG_PATH=/usr/win32/lib/pkgconfig added to configure&lt;br /&gt;
&lt;br /&gt;
20060128 Added curl and libtool to Cygwin for those that want to be able to build extras/contrib themselves&lt;br /&gt;
&lt;br /&gt;
20060217 Added make install-libs install-headers to FFmpeg compile&lt;br /&gt;
&lt;br /&gt;
20060222 Remark about missing &amp;quot;gettext&amp;quot; libs for Cygwin during install&lt;br /&gt;
&lt;br /&gt;
20060225 ./bootstrap: you need libtool&lt;br /&gt;
&lt;br /&gt;
20060618 Updated GCC to 3.4 version and added FFmpeg SVN and DTS support&lt;br /&gt;
&lt;br /&gt;
20060805 Added note about using older binutils and gdb for Cygwin!&lt;br /&gt;
&lt;br /&gt;
20060915 Added note about updating autoconf from extras/contrib for an OBJC problem during configure&lt;br /&gt;
&lt;br /&gt;
20061108 Added note this document is no longer usable since Cygwin has been unusable probably related to some bash/dos2unix change&lt;br /&gt;
&lt;br /&gt;
20070612 Added note about --enable-dca&lt;br /&gt;
&lt;br /&gt;
20080228 New version by [[User:J-b|jb]]&lt;br /&gt;
&lt;br /&gt;
20080307 Added --host=i686-pc-mingw32 option to the configure script&lt;br /&gt;
&lt;br /&gt;
20080311 Simplification&lt;br /&gt;
&lt;br /&gt;
20080323 Added some tips for Vista &lt;br /&gt;
&lt;br /&gt;
20081001 git should now work from Cygwin again&lt;br /&gt;
&lt;br /&gt;
20081010 expat has moved to under Libs&lt;br /&gt;
&lt;br /&gt;
20081020 QT4 problems part added and new contrib suggestion&lt;br /&gt;
&lt;br /&gt;
20081110 Mozilla plugin addition&lt;br /&gt;
&lt;br /&gt;
20090104 sed command for gettext version change&lt;br /&gt;
&lt;br /&gt;
20090210 JB contrib location added.&lt;br /&gt;
&lt;br /&gt;
20090303 ranlib removed, it is a OPTIONAL STEP!&lt;br /&gt;
&lt;br /&gt;
20090623 Mention 1.1.x support&lt;br /&gt;
&lt;br /&gt;
20090926 Remove sed line (not needed anymore), add tips to &#039;ash&#039;, tell that version tools are optional, change lib order to alphabets&lt;br /&gt;
&lt;br /&gt;
20091023 Add some more details how to checkout with git&lt;br /&gt;
&lt;br /&gt;
20091028 Update the configure command to work fine for recent version 1.0.2&lt;br /&gt;
&lt;br /&gt;
[[Category:Building]]&lt;br /&gt;
[[Category:Coding]]&lt;/div&gt;</summary>
		<author><name>Pk2010</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=User:Pk2010&amp;diff=16109</id>
		<title>User:Pk2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=User:Pk2010&amp;diff=16109"/>
		<updated>2010-05-22T05:16:21Z</updated>

		<summary type="html">&lt;p&gt;Pk2010: Created page with &amp;#039;I will update my page as soon as I come online  Pankaj Yadav Senior Undergraduate Integrated Dual Degree Deptt. of mining engineering, IT-BHU&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I will update my page as soon as I come online&lt;br /&gt;
&lt;br /&gt;
Pankaj Yadav&lt;br /&gt;
Senior Undergraduate&lt;br /&gt;
Integrated Dual Degree&lt;br /&gt;
Deptt. of mining engineering,&lt;br /&gt;
IT-BHU&lt;/div&gt;</summary>
		<author><name>Pk2010</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2010_projects&amp;diff=16108</id>
		<title>SoC 2010 projects</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2010_projects&amp;diff=16108"/>
		<updated>2010-05-22T05:14:28Z</updated>

		<summary type="html">&lt;p&gt;Pk2010: /* Port VLC Player to Symbian Platform */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here is a list of the accepted projects for Google Summer of Code 2O10.&lt;br /&gt;
&lt;br /&gt;
= List of current VLC projects  =&lt;br /&gt;
&lt;br /&gt;
== Shader support for video post-processing  ==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Project page: [[SoC 2010 Shader Support]]&#039;&#039;&#039; &lt;br /&gt;
*&#039;&#039;&#039;Student&#039;&#039;&#039;: [[User:Skoruga|Sasha Koruga]] &lt;br /&gt;
*&#039;&#039;&#039;Mentor&#039;&#039;&#039;: Adrien Maglo &lt;br /&gt;
*&#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
A lot of video post-processing such as RGB-YUV conversion can be accelerated by using the GPU. This can either be achieved through a fragment shader, where it is the last step before a pixel is displayed on the screen, or it can be done with DirectCompute/CUDA/OpenCL. The method will vary depending on the task and intent. I will implement support for shaders by using the DirectX and OpenGL API and write a few shaders such as RGB-YUV conversion. &lt;br /&gt;
&lt;br /&gt;
== Port VLC Player to Symbian Platform  ==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Project page: [[SoC 2010 Shader Support]]&#039;&#039;&#039; &lt;br /&gt;
*&#039;&#039;&#039;Student&#039;&#039;&#039;: [[User:pk2010|Pankaj Yadav]] &lt;br /&gt;
*&#039;&#039;&#039;Mentor&#039;&#039;&#039;: Rémi Duraffort&lt;br /&gt;
*&#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
To port VLC Player to Symbian S60 Platform.&lt;br /&gt;
&lt;br /&gt;
== ASF demuxer  ==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Project page: [[SoC 2010 ASF Demuxer]]&#039;&#039;&#039; &lt;br /&gt;
*&#039;&#039;&#039;Student&#039;&#039;&#039;: [[User:Juhovh|Juho Vähä-Herttua]] &lt;br /&gt;
*&#039;&#039;&#039;Mentor&#039;&#039;&#039;: Ilkka Ollakka &lt;br /&gt;
*&#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
I was selected to do a project related to ASF and Matroska demuxers, but since there&#039;s some overlap related to Matroska, my main goal now is to improve the ASF demuxer as much as I can and then find another similar project to work on the rest of the time. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Implementing BD-J support in libbluray and VLC  ==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Project page: [[SoC 2010/Implementing BD-J support in libbluray and VLC]]&#039;&#039;&#039; &lt;br /&gt;
*&#039;&#039;&#039;Student&#039;&#039;&#039;: [[User:Will07c5|William Hahne]] &lt;br /&gt;
*&#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:Jpsaman|Jean-Paul Saman]] &lt;br /&gt;
*&#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
This project will focus primarily on getting BD-J (Blu-ray Disc Java) support into libbluray. BD-J support is important because many of the advanced features and extra content in Blu-ray movies uses BD-J. Currently people with Blu-ray drives are tied to Windows if they want to access this content, they are forced to use proprietary Blu-ray software which does not run on Linux or various other operating systems. This project will also integrate the BD-J support into VLC. &lt;br /&gt;
&lt;br /&gt;
== Interface for mobile phones (WinCE and others)  ==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Project page: &#039;&#039;&#039;[[SoC 2010/Interface for mobile phones|&#039;&#039;&#039;Interface for mobile phones&amp;lt;br&amp;gt;&#039;&#039;&#039;]] &lt;br /&gt;
*&#039;&#039;&#039;Student:&#039;&#039;&#039; [[User:Vnik|Kumar Anik]]&amp;lt;br&amp;gt; &lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;u&amp;gt;&amp;lt;/u&amp;gt;Mentor:&#039;&#039;&#039; [[User:Geal|Geoffroy Couprie]]&amp;lt;br&amp;gt; &lt;br /&gt;
*&#039;&#039;&#039;Abstract: &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To develop a GUI for Mobiles, especially WinCE ones.&lt;br /&gt;
&lt;br /&gt;
== Ogg demuxer  ==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Project page: [[SoC 2010 Ogg Demuxer]]&#039;&#039;&#039; &lt;br /&gt;
*&#039;&#039;&#039;Student&#039;&#039;&#039;: [[User:salsaman|salsaman]] &lt;br /&gt;
*&#039;&#039;&#039;Mentor&#039;&#039;&#039;: Christophe Mutricy&lt;br /&gt;
*&#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
I was selected to rewrite the ogg demuxer. I wrote an ogg/theora demuxer already for LiVES, but I am in the process of learning about other stream types within ogg (e.g. dirac, vorbis, kate, speex and flac).&lt;br /&gt;
&lt;br /&gt;
== DLNA UPnP Server/Client Modules ==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Project page: [[SoC 2010/DLNA UPnP Server Client Modules]]&#039;&#039;&#039; &lt;br /&gt;
*&#039;&#039;&#039;Student&#039;&#039;&#039;: [[User:Aust|Austin Burrow]] &lt;br /&gt;
*&#039;&#039;&#039;Mentor&#039;&#039;&#039;: Konstantin Pavlov&lt;br /&gt;
*&#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Implement Server/Client modules into VLC that are compatible with the DLNA specification for UPnP.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= List of current x264 projects =&lt;br /&gt;
==Support for high bit depth encoding==&lt;br /&gt;
* &#039;&#039;&#039;Project page&#039;&#039;&#039;: [[SoC 2010/High Bit Depth Encoding]]&lt;br /&gt;
* &#039;&#039;&#039;Student&#039;&#039;&#039;: [[User:Irock|Oskar Arvidsson]]&lt;br /&gt;
* &#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:Holger|Holger Lubitz]]&lt;br /&gt;
* &#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
The primary goal for this project is to prepare the code base of x264 for encoding H.264 video with user defined sample depths. This will involve templating the encoder and migrating existing C code for use with higher sample depths.&lt;br /&gt;
&lt;br /&gt;
= List of current VLMC projects =&lt;br /&gt;
==Enhancing VLMC==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Project page: [[SoC 2010/Youtube Integration VLMC|SoC 2010/Youtube Integration in VLMC]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Student&#039;&#039;&#039;: [[User:Rohityadav|Rohit Yadav]]&lt;br /&gt;
* &#039;&#039;&#039;Mentor&#039;&#039;&#039;: Ludovic &#039;etix&#039; Fauvet&lt;br /&gt;
* &#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Youtube is the most popular video sharing website, right now. VLMC is a video editing software and having features in VLMC to search-retrieve videos, directly upload/update/delete videos on Youtube, within the application itself, would be awesome. The aim of this project is to write a small C++/Qt based Youtube client library for VLMC that provides her all the APIs to perform all those things.&lt;br /&gt;
&lt;br /&gt;
= List of current Phonon projects =&lt;br /&gt;
== PCM I/O API ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Project page&#039;&#039;&#039;: [[SoC 2010/PCM IO API (Phonon)]]&lt;br /&gt;
* &#039;&#039;&#039;Student&#039;&#039;&#039;: [[User:Mforney|Michael Forney]]&lt;br /&gt;
* &#039;&#039;&#039;Mentor&#039;&#039;&#039;: Jean-Baptiste Kempf&lt;br /&gt;
* &#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Design a fully featured PCM I/O API for Phonon, and provide an implementation for the Phonon-VLC backend and one other (either MPlayer or Xine). This API will allow developers to capture PCM data from devices like a sound card, or to play back raw audio from memory, or elsewhere. This will provide some important missing features in Phonon, and open the door for many applications waiting to make use of an API like this.&lt;br /&gt;
&lt;br /&gt;
[[Category:SoC_2010_Project]][[Category:SoC]]&lt;br /&gt;
&lt;br /&gt;
== Capture API ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Project page: [[SoC 2010 Phonon Capture API]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Student&#039;&#039;&#039;: [[User:Skelet|Casian Andrei]]&lt;br /&gt;
* &#039;&#039;&#039;Mentor&#039;&#039;&#039;: Hugo Beauzee-Luyssen&lt;br /&gt;
* &#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
The goal of this project is to enable Phonon applications to access and display input devices, like webcams. The Phonon code-base is well designed and flexible, and apparently no major modifications are needed to the current API. The ease of use for the Phonon application developer is a priority. Features implemented in Phonon will be implemented in the Phonon-VLC back-end in parallel. Various device classes should be supported.&lt;br /&gt;
&lt;br /&gt;
[[Category:SoC_2010_Project]][[Category:SoC]]&lt;/div&gt;</summary>
		<author><name>Pk2010</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2010_projects&amp;diff=16107</id>
		<title>SoC 2010 projects</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2010_projects&amp;diff=16107"/>
		<updated>2010-05-22T05:02:47Z</updated>

		<summary type="html">&lt;p&gt;Pk2010: /* List of current VLC projects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here is a list of the accepted projects for Google Summer of Code 2O10.&lt;br /&gt;
&lt;br /&gt;
= List of current VLC projects  =&lt;br /&gt;
&lt;br /&gt;
== Shader support for video post-processing  ==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Project page: [[SoC 2010 Shader Support]]&#039;&#039;&#039; &lt;br /&gt;
*&#039;&#039;&#039;Student&#039;&#039;&#039;: [[User:Skoruga|Sasha Koruga]] &lt;br /&gt;
*&#039;&#039;&#039;Mentor&#039;&#039;&#039;: Adrien Maglo &lt;br /&gt;
*&#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
A lot of video post-processing such as RGB-YUV conversion can be accelerated by using the GPU. This can either be achieved through a fragment shader, where it is the last step before a pixel is displayed on the screen, or it can be done with DirectCompute/CUDA/OpenCL. The method will vary depending on the task and intent. I will implement support for shaders by using the DirectX and OpenGL API and write a few shaders such as RGB-YUV conversion. &lt;br /&gt;
&lt;br /&gt;
== Port VLC Player to Symbian Platform  ==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Project page: [[SoC 2010 Shader Support]]&#039;&#039;&#039; &lt;br /&gt;
*&#039;&#039;&#039;Student&#039;&#039;&#039;: [[User:Skoruga|Sasha Koruga]] &lt;br /&gt;
*&#039;&#039;&#039;Mentor&#039;&#039;&#039;: Rémi Duraffort&lt;br /&gt;
*&#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
To port VLC Player to Symbian S60 Platform.&lt;br /&gt;
&lt;br /&gt;
== ASF demuxer  ==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Project page: [[SoC 2010 ASF Demuxer]]&#039;&#039;&#039; &lt;br /&gt;
*&#039;&#039;&#039;Student&#039;&#039;&#039;: [[User:Juhovh|Juho Vähä-Herttua]] &lt;br /&gt;
*&#039;&#039;&#039;Mentor&#039;&#039;&#039;: Ilkka Ollakka &lt;br /&gt;
*&#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
I was selected to do a project related to ASF and Matroska demuxers, but since there&#039;s some overlap related to Matroska, my main goal now is to improve the ASF demuxer as much as I can and then find another similar project to work on the rest of the time. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Implementing BD-J support in libbluray and VLC  ==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Project page: [[SoC 2010/Implementing BD-J support in libbluray and VLC]]&#039;&#039;&#039; &lt;br /&gt;
*&#039;&#039;&#039;Student&#039;&#039;&#039;: [[User:Will07c5|William Hahne]] &lt;br /&gt;
*&#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:Jpsaman|Jean-Paul Saman]] &lt;br /&gt;
*&#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
This project will focus primarily on getting BD-J (Blu-ray Disc Java) support into libbluray. BD-J support is important because many of the advanced features and extra content in Blu-ray movies uses BD-J. Currently people with Blu-ray drives are tied to Windows if they want to access this content, they are forced to use proprietary Blu-ray software which does not run on Linux or various other operating systems. This project will also integrate the BD-J support into VLC. &lt;br /&gt;
&lt;br /&gt;
== Interface for mobile phones (WinCE and others)  ==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Project page: &#039;&#039;&#039;[[SoC 2010/Interface for mobile phones|&#039;&#039;&#039;Interface for mobile phones&amp;lt;br&amp;gt;&#039;&#039;&#039;]] &lt;br /&gt;
*&#039;&#039;&#039;Student:&#039;&#039;&#039; [[User:Vnik|Kumar Anik]]&amp;lt;br&amp;gt; &lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;u&amp;gt;&amp;lt;/u&amp;gt;Mentor:&#039;&#039;&#039; [[User:Geal|Geoffroy Couprie]]&amp;lt;br&amp;gt; &lt;br /&gt;
*&#039;&#039;&#039;Abstract: &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To develop a GUI for Mobiles, especially WinCE ones.&lt;br /&gt;
&lt;br /&gt;
== Ogg demuxer  ==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Project page: [[SoC 2010 Ogg Demuxer]]&#039;&#039;&#039; &lt;br /&gt;
*&#039;&#039;&#039;Student&#039;&#039;&#039;: [[User:salsaman|salsaman]] &lt;br /&gt;
*&#039;&#039;&#039;Mentor&#039;&#039;&#039;: Christophe Mutricy&lt;br /&gt;
*&#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
I was selected to rewrite the ogg demuxer. I wrote an ogg/theora demuxer already for LiVES, but I am in the process of learning about other stream types within ogg (e.g. dirac, vorbis, kate, speex and flac).&lt;br /&gt;
&lt;br /&gt;
== DLNA UPnP Server/Client Modules ==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Project page: [[SoC 2010/DLNA UPnP Server Client Modules]]&#039;&#039;&#039; &lt;br /&gt;
*&#039;&#039;&#039;Student&#039;&#039;&#039;: [[User:Aust|Austin Burrow]] &lt;br /&gt;
*&#039;&#039;&#039;Mentor&#039;&#039;&#039;: Konstantin Pavlov&lt;br /&gt;
*&#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Implement Server/Client modules into VLC that are compatible with the DLNA specification for UPnP.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= List of current x264 projects =&lt;br /&gt;
==Support for high bit depth encoding==&lt;br /&gt;
* &#039;&#039;&#039;Project page&#039;&#039;&#039;: [[SoC 2010/High Bit Depth Encoding]]&lt;br /&gt;
* &#039;&#039;&#039;Student&#039;&#039;&#039;: [[User:Irock|Oskar Arvidsson]]&lt;br /&gt;
* &#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:Holger|Holger Lubitz]]&lt;br /&gt;
* &#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
The primary goal for this project is to prepare the code base of x264 for encoding H.264 video with user defined sample depths. This will involve templating the encoder and migrating existing C code for use with higher sample depths.&lt;br /&gt;
&lt;br /&gt;
= List of current VLMC projects =&lt;br /&gt;
==Enhancing VLMC==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Project page: [[SoC 2010/Youtube Integration VLMC|SoC 2010/Youtube Integration in VLMC]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Student&#039;&#039;&#039;: [[User:Rohityadav|Rohit Yadav]]&lt;br /&gt;
* &#039;&#039;&#039;Mentor&#039;&#039;&#039;: Ludovic &#039;etix&#039; Fauvet&lt;br /&gt;
* &#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Youtube is the most popular video sharing website, right now. VLMC is a video editing software and having features in VLMC to search-retrieve videos, directly upload/update/delete videos on Youtube, within the application itself, would be awesome. The aim of this project is to write a small C++/Qt based Youtube client library for VLMC that provides her all the APIs to perform all those things.&lt;br /&gt;
&lt;br /&gt;
= List of current Phonon projects =&lt;br /&gt;
== PCM I/O API ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Project page&#039;&#039;&#039;: [[SoC 2010/PCM IO API (Phonon)]]&lt;br /&gt;
* &#039;&#039;&#039;Student&#039;&#039;&#039;: [[User:Mforney|Michael Forney]]&lt;br /&gt;
* &#039;&#039;&#039;Mentor&#039;&#039;&#039;: Jean-Baptiste Kempf&lt;br /&gt;
* &#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Design a fully featured PCM I/O API for Phonon, and provide an implementation for the Phonon-VLC backend and one other (either MPlayer or Xine). This API will allow developers to capture PCM data from devices like a sound card, or to play back raw audio from memory, or elsewhere. This will provide some important missing features in Phonon, and open the door for many applications waiting to make use of an API like this.&lt;br /&gt;
&lt;br /&gt;
[[Category:SoC_2010_Project]][[Category:SoC]]&lt;br /&gt;
&lt;br /&gt;
== Capture API ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Project page: [[SoC 2010 Phonon Capture API]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Student&#039;&#039;&#039;: [[User:Skelet|Casian Andrei]]&lt;br /&gt;
* &#039;&#039;&#039;Mentor&#039;&#039;&#039;: Hugo Beauzee-Luyssen&lt;br /&gt;
* &#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
The goal of this project is to enable Phonon applications to access and display input devices, like webcams. The Phonon code-base is well designed and flexible, and apparently no major modifications are needed to the current API. The ease of use for the Phonon application developer is a priority. Features implemented in Phonon will be implemented in the Phonon-VLC back-end in parallel. Various device classes should be supported.&lt;br /&gt;
&lt;br /&gt;
[[Category:SoC_2010_Project]][[Category:SoC]]&lt;/div&gt;</summary>
		<author><name>Pk2010</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2010&amp;diff=15550</id>
		<title>SoC 2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2010&amp;diff=15550"/>
		<updated>2010-02-20T06:20:50Z</updated>

		<summary type="html">&lt;p&gt;Pk2010: /* Main ideas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Google Summer of Code 2010.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction &amp;amp; Information ==&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VLC media player ===&lt;br /&gt;
{{VLC}} is a cross-platform multimedia player, encoder and streamer application.&lt;br /&gt;
It is one of the most successful open-source projects without any professional structure underneath.&lt;br /&gt;
&lt;br /&gt;
{{VLC}} is downloaded at an approximate monthly rate of 5 millions from the main website and that&#039;s not including third-party distributions (Linux)!&lt;br /&gt;
&lt;br /&gt;
You can find more information on [http://en.wikipedia.org/wiki/VLC_media_player VLC on Wikipedia] or on this [[Main_Page|wiki]].&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code ===&lt;br /&gt;
&lt;br /&gt;
If selected and developed, SoC projects for VLC will be included in later releases.&lt;br /&gt;
All projects are covered by the GPL licence. (v2+)&lt;br /&gt;
&lt;br /&gt;
=== Ideas for VLC ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Read this&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page is split in three lists of ideas:&lt;br /&gt;
&lt;br /&gt;
# [[Mini_Projects]] are short-span projects which can be given as Qualification tasks.&lt;br /&gt;
# The &#039;&#039;main ideas&#039;&#039; are what seem to be &#039;&#039;key projects&#039;&#039; for VLC and should be more &#039;&#039;thrilling&#039;&#039; than the other ones; we have assigned a potential mentor to each of these.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Original good ideas will be valued&#039;&#039;&#039;. Last year, half of the ideas were given by students.  We don&#039;t want to impose anything. This is free and Open Source software.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to apply for SoC but want other ideas to develop on, check the [[Mini Projects]] page!&lt;br /&gt;
&lt;br /&gt;
And on the IRC channel, you can have even more ideas.&lt;br /&gt;
&lt;br /&gt;
== Main ideas ==&lt;br /&gt;
&lt;br /&gt;
=== Assembly optimizations in VLC ===&lt;br /&gt;
&lt;br /&gt;
If you are fond of writing ASM and you are fluent in MMX/SSE2, there are many interesting things in VLC to speed up.&lt;br /&gt;
* Profiling VLC.&lt;br /&gt;
* memcpy implementations in SSE* and MMX (see modules/misc/memcpy/fastmemcpy.h)&lt;br /&gt;
* video filters ASM speedups (see modules/video_filter/blend.c)&lt;br /&gt;
* audio filters ASM speedups (see modules/audio_filter/equalizer.c)&lt;br /&gt;
* Porting other ASM video filters to VLC.&lt;br /&gt;
&lt;br /&gt;
This project needs some good ASM knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
* Stuff to read: http://www.agner.org/optimize/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Add Proxy Support ===&lt;br /&gt;
&lt;br /&gt;
Add a central Proxy Server option for all the HTTP operations performed by vlc.This project will need to add a UI component to VLC and then converting the way VLC interacts with Various Websites like last.fm or imdb.com&lt;br /&gt;
&lt;br /&gt;
=== VLC Taskbar/Toolbar Mode ===&lt;br /&gt;
&lt;br /&gt;
To Develop a Toolbar mode which shows the sound current sound track information,and avails basic control to users eliminating the hassle of swtching between UIs.This mode is already available in many Media players.VLC is lacking this feature currently.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039;&lt;br /&gt;
Proposed by : pk&lt;br /&gt;
&lt;br /&gt;
=== Audio Filters ===&lt;br /&gt;
&lt;br /&gt;
We are looking for a skilled audiophile that knows a lot about audio theory and practice:&lt;br /&gt;
* to create or implement new algorithms, like SRS WoW or other 3D effects&lt;br /&gt;
* to work on channels mixing,&lt;br /&gt;
* to work on tracks mixing,&lt;br /&gt;
* to create scriptable new audio filters in lua and enable users to create whatever audio filtering function they want in a Lua script.&lt;br /&gt;
&lt;br /&gt;
This project needs some good audio knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:Geal|geal]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Test Suite ===&lt;br /&gt;
This project aims at making automatic tests to improve VLC quality.&lt;br /&gt;
&lt;br /&gt;
* Write a series of tests for vlc-internal&lt;br /&gt;
* Integrate a framework for automated plugins testing with the automake build system&lt;br /&gt;
* Automate the different codec playback/mux/etc tests&lt;br /&gt;
* Automate the subtitles tests&lt;br /&gt;
* Write tests for the different bindings: Mac OS X Framework/Python Bindings... etc.&lt;br /&gt;
&lt;br /&gt;
This project is a code project, require good knowledge of C&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Rémi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Qt embedded interface ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ILEoo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Mini Projects - More ideas ==&lt;br /&gt;
&lt;br /&gt;
This sections welcomes all &#039;&#039;&#039;Original&#039;&#039;&#039; ideas which can be implemented in a short span of time.However, We have a more general page for ideas for Project in {{VLC}}, that could give you ideas: [[Mini_Projects]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Gmail Integration ===&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
* Either, generate an XmlHttpRequest to send the new status to Server.&lt;br /&gt;
* Or, Fire the Gmail Eventlisteners accordingly. &lt;br /&gt;
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&amp;lt;-&amp;gt;Google server interaction, it would have required User authentications ,Proxy Handling etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed by :&#039;&#039; pk&lt;br /&gt;
&lt;br /&gt;
== Questions? Contact us? ==&lt;br /&gt;
If you need to contact us for any questions, you can:&lt;br /&gt;
* use the [http://www.videolan.org/developers/lists.html vlc-devel] mailing list,&lt;br /&gt;
* come on IRC irc://irc.videolan.org #videolan&lt;br /&gt;
* contact one of the mentors or the backup mentors,&lt;br /&gt;
* or contact [[User:J-b| Jean-Baptiste Kempf]]&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
The proposed mentors are:&lt;br /&gt;
* jpeg&lt;br /&gt;
* remi&lt;br /&gt;
* xtophe&lt;br /&gt;
* jb&lt;br /&gt;
* dionoea&lt;br /&gt;
* jpsaman&lt;br /&gt;
* jpd&lt;br /&gt;
&lt;br /&gt;
=== Administrators ===&lt;br /&gt;
* jb&lt;br /&gt;
* xtophe&lt;br /&gt;
&lt;br /&gt;
[[Category:Activities]] [[Category:SoC]]&lt;/div&gt;</summary>
		<author><name>Pk2010</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2010&amp;diff=15549</id>
		<title>SoC 2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2010&amp;diff=15549"/>
		<updated>2010-02-20T05:48:58Z</updated>

		<summary type="html">&lt;p&gt;Pk2010: /* Main ideas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Google Summer of Code 2010.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction &amp;amp; Information ==&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VLC media player ===&lt;br /&gt;
{{VLC}} is a cross-platform multimedia player, encoder and streamer application.&lt;br /&gt;
It is one of the most successful open-source projects without any professional structure underneath.&lt;br /&gt;
&lt;br /&gt;
{{VLC}} is downloaded at an approximate monthly rate of 5 millions from the main website and that&#039;s not including third-party distributions (Linux)!&lt;br /&gt;
&lt;br /&gt;
You can find more information on [http://en.wikipedia.org/wiki/VLC_media_player VLC on Wikipedia] or on this [[Main_Page|wiki]].&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code ===&lt;br /&gt;
&lt;br /&gt;
If selected and developed, SoC projects for VLC will be included in later releases.&lt;br /&gt;
All projects are covered by the GPL licence. (v2+)&lt;br /&gt;
&lt;br /&gt;
=== Ideas for VLC ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Read this&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page is split in three lists of ideas:&lt;br /&gt;
&lt;br /&gt;
# [[Mini_Projects]] are short-span projects which can be given as Qualification tasks.&lt;br /&gt;
# The &#039;&#039;main ideas&#039;&#039; are what seem to be &#039;&#039;key projects&#039;&#039; for VLC and should be more &#039;&#039;thrilling&#039;&#039; than the other ones; we have assigned a potential mentor to each of these.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Original good ideas will be valued&#039;&#039;&#039;. Last year, half of the ideas were given by students.  We don&#039;t want to impose anything. This is free and Open Source software.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to apply for SoC but want other ideas to develop on, check the [[Mini Projects]] page!&lt;br /&gt;
&lt;br /&gt;
And on the IRC channel, you can have even more ideas.&lt;br /&gt;
&lt;br /&gt;
== Main ideas ==&lt;br /&gt;
&lt;br /&gt;
=== Assembly optimizations in VLC ===&lt;br /&gt;
&lt;br /&gt;
If you are fond of writing ASM and you are fluent in MMX/SSE2, there are many interesting things in VLC to speed up.&lt;br /&gt;
* Profiling VLC.&lt;br /&gt;
* memcpy implementations in SSE* and MMX (see modules/misc/memcpy/fastmemcpy.h)&lt;br /&gt;
* video filters ASM speedups (see modules/video_filter/blend.c)&lt;br /&gt;
* audio filters ASM speedups (see modules/audio_filter/equalizer.c)&lt;br /&gt;
* Porting other ASM video filters to VLC.&lt;br /&gt;
&lt;br /&gt;
This project needs some good ASM knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
* Stuff to read: http://www.agner.org/optimize/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== VLC Taskbar/Toolbar Mode ===&lt;br /&gt;
&lt;br /&gt;
To Develop a Toolbar mode which shows the sound current sound track information,and avails basic control to users eliminating the hassle of swtching between UIs.This mode is already available in many Media players.VLC is lacking this feature currently.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039;&lt;br /&gt;
Proposed by : pk&lt;br /&gt;
&lt;br /&gt;
=== Audio Filters ===&lt;br /&gt;
&lt;br /&gt;
We are looking for a skilled audiophile that knows a lot about audio theory and practice:&lt;br /&gt;
* to create or implement new algorithms, like SRS WoW or other 3D effects&lt;br /&gt;
* to work on channels mixing,&lt;br /&gt;
* to work on tracks mixing,&lt;br /&gt;
* to create scriptable new audio filters in lua and enable users to create whatever audio filtering function they want in a Lua script.&lt;br /&gt;
&lt;br /&gt;
This project needs some good audio knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:Geal|geal]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Test Suite ===&lt;br /&gt;
This project aims at making automatic tests to improve VLC quality.&lt;br /&gt;
&lt;br /&gt;
* Write a series of tests for vlc-internal&lt;br /&gt;
* Integrate a framework for automated plugins testing with the automake build system&lt;br /&gt;
* Automate the different codec playback/mux/etc tests&lt;br /&gt;
* Automate the subtitles tests&lt;br /&gt;
* Write tests for the different bindings: Mac OS X Framework/Python Bindings... etc.&lt;br /&gt;
&lt;br /&gt;
This project is a code project, require good knowledge of C&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Rémi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Qt embedded interface ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ILEoo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Mini Projects - More ideas ==&lt;br /&gt;
&lt;br /&gt;
This sections welcomes all &#039;&#039;&#039;Original&#039;&#039;&#039; ideas which can be implemented in a short span of time.However, We have a more general page for ideas for Project in {{VLC}}, that could give you ideas: [[Mini_Projects]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Gmail Integration ===&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
* Either, generate an XmlHttpRequest to send the new status to Server.&lt;br /&gt;
* Or, Fire the Gmail Eventlisteners accordingly. &lt;br /&gt;
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&amp;lt;-&amp;gt;Google server interaction, it would have required User authentications ,Proxy Handling etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed by :&#039;&#039; pk&lt;br /&gt;
&lt;br /&gt;
== Questions? Contact us? ==&lt;br /&gt;
If you need to contact us for any questions, you can:&lt;br /&gt;
* use the [http://www.videolan.org/developers/lists.html vlc-devel] mailing list,&lt;br /&gt;
* come on IRC irc://irc.videolan.org #videolan&lt;br /&gt;
* contact one of the mentors or the backup mentors,&lt;br /&gt;
* or contact [[User:J-b| Jean-Baptiste Kempf]]&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
The proposed mentors are:&lt;br /&gt;
* jpeg&lt;br /&gt;
* remi&lt;br /&gt;
* xtophe&lt;br /&gt;
* jb&lt;br /&gt;
* dionoea&lt;br /&gt;
* jpsaman&lt;br /&gt;
* jpd&lt;br /&gt;
&lt;br /&gt;
=== Administrators ===&lt;br /&gt;
* jb&lt;br /&gt;
* xtophe&lt;br /&gt;
&lt;br /&gt;
[[Category:Activities]] [[Category:SoC]]&lt;/div&gt;</summary>
		<author><name>Pk2010</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2010&amp;diff=15525</id>
		<title>SoC 2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2010&amp;diff=15525"/>
		<updated>2010-02-11T13:44:36Z</updated>

		<summary type="html">&lt;p&gt;Pk2010: /* Flash Streaming */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Google Summer of Code 2010.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction &amp;amp; Information ==&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VLC media player ===&lt;br /&gt;
{{VLC}} is a cross-platform multimedia player, encoder and streamer application.&lt;br /&gt;
It is one of the most successful open-source projects without any professional structure underneath.&lt;br /&gt;
&lt;br /&gt;
{{VLC}} is downloaded at an approximate monthly rate of 5 millions from the main website and that&#039;s not including third-party distributions (Linux)!&lt;br /&gt;
&lt;br /&gt;
You can find more information on [http://en.wikipedia.org/wiki/VLC_media_player VLC on Wikipedia] or on this [[Main_Page|wiki]].&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code ===&lt;br /&gt;
&lt;br /&gt;
If selected and developed, SoC projects for VLC will be included in later releases.&lt;br /&gt;
All projects are covered by the GPL licence. (v2+)&lt;br /&gt;
&lt;br /&gt;
=== Ideas for VLC ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Read this&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page is split in three lists of ideas:&lt;br /&gt;
&lt;br /&gt;
# [[Mini_Projects]] are short-span projects which can be given as Qualification tasks.&lt;br /&gt;
# The &#039;&#039;main ideas&#039;&#039; are what seem to be &#039;&#039;key projects&#039;&#039; for VLC and should be more &#039;&#039;thrilling&#039;&#039; than the other ones; we have assigned a potential mentor to each of these.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Original good ideas will be valued&#039;&#039;&#039;. Last year, half of the ideas were given by students.  We don&#039;t want to impose anything. This is free and Open Source software.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to apply for SoC but want other ideas to develop on, check the [[Mini Projects]] page!&lt;br /&gt;
&lt;br /&gt;
And on the IRC channel, you can have even more ideas.&lt;br /&gt;
&lt;br /&gt;
== Main ideas ==&lt;br /&gt;
&lt;br /&gt;
=== Qt pimping ===&lt;br /&gt;
&lt;br /&gt;
Interfaces always have something to do.Try to borrow the best ideas from amarok, iTunes, WMP, winamp, freeamp and integrate them into VLC.&lt;br /&gt;
Look at other Qt applications or KDE applications.&lt;br /&gt;
&lt;br /&gt;
* You need some Qt and C++ knowlegde and a lot of creativity.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Assembly optimizations in VLC ===&lt;br /&gt;
&lt;br /&gt;
If you are fond of writing ASM and you are fluent in MMX/SSE2, there are many interesting things in VLC to speed up.&lt;br /&gt;
* Profiling VLC.&lt;br /&gt;
* memcpy implementations in SSE* and MMX (see modules/misc/memcpy/fastmemcpy.h)&lt;br /&gt;
* video filters ASM speedups (see modules/video_filter/blend.c)&lt;br /&gt;
* audio filters ASM speedups (see modules/audio_filter/equalizer.c)&lt;br /&gt;
* Porting other ASM video filters to VLC.&lt;br /&gt;
&lt;br /&gt;
This project needs some good ASM knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
* Stuff to read: http://www.agner.org/optimize/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Audio Filters ===&lt;br /&gt;
&lt;br /&gt;
We are looking for a skilled audiophile that knows a lot about audio theory and practice:&lt;br /&gt;
* to create or implement new algorithms, like SRS WoW or other 3D effects&lt;br /&gt;
* to work on channels mixing,&lt;br /&gt;
* to work on tracks mixing,&lt;br /&gt;
* to create scriptable new audio filters in lua and enable users to create whatever audio filtering function they want in a Lua script.&lt;br /&gt;
&lt;br /&gt;
This project needs some good audio knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:Geal|geal]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Test Suite ===&lt;br /&gt;
This project aims at making automatic tests to improve VLC quality.&lt;br /&gt;
&lt;br /&gt;
* Write a series of tests for vlc-internal&lt;br /&gt;
* Integrate a framework for automated plugins testing with the automake build system&lt;br /&gt;
* Automate the different codec playback/mux/etc tests&lt;br /&gt;
* Automate the subtitles tests&lt;br /&gt;
* Write tests for the different bindings: Mac OS X Framework/Python Bindings... etc.&lt;br /&gt;
&lt;br /&gt;
This project is a code project, require good knowledge of C&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Rémi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Services Discovery, like Jamendo integration ===&lt;br /&gt;
&lt;br /&gt;
Jamendo, Last.fm and other online music and video services would be great to integrate into VLC.&lt;br /&gt;
&lt;br /&gt;
This project deals with this integration.&lt;br /&gt;
&lt;br /&gt;
* This needs lua, C and C++ programming skills.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Qt embedded interface ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ILEoo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mini Projects - More ideas ==&lt;br /&gt;
&lt;br /&gt;
This sections welcomes all &#039;&#039;&#039;Original&#039;&#039;&#039; ideas which can be implemented in a short span of time.However, We have a more general page for ideas for Project in {{VLC}}, that could give you ideas: [[Mini_Projects]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Gmail Integration ===&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
* Either, generate an XmlHttpRequest to send the new status to Server.&lt;br /&gt;
* Or, Fire the Gmail Eventlisteners accordingly. &lt;br /&gt;
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&amp;lt;-&amp;gt;Google server interaction, it would have required User authentications ,Proxy Handling etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed by :&#039;&#039; pk&lt;br /&gt;
&lt;br /&gt;
== Questions? Contact us? ==&lt;br /&gt;
If you need to contact us for any questions, you can:&lt;br /&gt;
* use the [http://www.videolan.org/developers/lists.html vlc-devel] mailing list,&lt;br /&gt;
* come on IRC irc://irc.videolan.org #videolan&lt;br /&gt;
* contact one of the mentors or the backup mentors,&lt;br /&gt;
* or contact [[User:J-b| Jean-Baptiste Kempf]]&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
The proposed mentors are:&lt;br /&gt;
* jpeg&lt;br /&gt;
* remi&lt;br /&gt;
* xtophe&lt;br /&gt;
* jb&lt;br /&gt;
* dionoea&lt;br /&gt;
* jpsaman&lt;br /&gt;
* jpd&lt;br /&gt;
&lt;br /&gt;
=== Administrators ===&lt;br /&gt;
* jb&lt;br /&gt;
* xtophe&lt;br /&gt;
&lt;br /&gt;
[[Category:Activities]] [[Category:SoC]]&lt;/div&gt;</summary>
		<author><name>Pk2010</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2010&amp;diff=15524</id>
		<title>SoC 2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2010&amp;diff=15524"/>
		<updated>2010-02-11T13:42:59Z</updated>

		<summary type="html">&lt;p&gt;Pk2010: /* Gmail Integration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Google Summer of Code 2010.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction &amp;amp; Information ==&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VLC media player ===&lt;br /&gt;
{{VLC}} is a cross-platform multimedia player, encoder and streamer application.&lt;br /&gt;
It is one of the most successful open-source projects without any professional structure underneath.&lt;br /&gt;
&lt;br /&gt;
{{VLC}} is downloaded at an approximate monthly rate of 5 millions from the main website and that&#039;s not including third-party distributions (Linux)!&lt;br /&gt;
&lt;br /&gt;
You can find more information on [http://en.wikipedia.org/wiki/VLC_media_player VLC on Wikipedia] or on this [[Main_Page|wiki]].&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code ===&lt;br /&gt;
&lt;br /&gt;
If selected and developed, SoC projects for VLC will be included in later releases.&lt;br /&gt;
All projects are covered by the GPL licence. (v2+)&lt;br /&gt;
&lt;br /&gt;
=== Ideas for VLC ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Read this&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page is split in three lists of ideas:&lt;br /&gt;
&lt;br /&gt;
# [[Mini_Projects]] are short-span projects which can be given as Qualification tasks.&lt;br /&gt;
# The &#039;&#039;main ideas&#039;&#039; are what seem to be &#039;&#039;key projects&#039;&#039; for VLC and should be more &#039;&#039;thrilling&#039;&#039; than the other ones; we have assigned a potential mentor to each of these.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Original good ideas will be valued&#039;&#039;&#039;. Last year, half of the ideas were given by students.  We don&#039;t want to impose anything. This is free and Open Source software.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to apply for SoC but want other ideas to develop on, check the [[Mini Projects]] page!&lt;br /&gt;
&lt;br /&gt;
And on the IRC channel, you can have even more ideas.&lt;br /&gt;
&lt;br /&gt;
== Main ideas ==&lt;br /&gt;
&lt;br /&gt;
=== Qt pimping ===&lt;br /&gt;
&lt;br /&gt;
Interfaces always have something to do.Try to borrow the best ideas from amarok, iTunes, WMP, winamp, freeamp and integrate them into VLC.&lt;br /&gt;
Look at other Qt applications or KDE applications.&lt;br /&gt;
&lt;br /&gt;
* You need some Qt and C++ knowlegde and a lot of creativity.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Assembly optimizations in VLC ===&lt;br /&gt;
&lt;br /&gt;
If you are fond of writing ASM and you are fluent in MMX/SSE2, there are many interesting things in VLC to speed up.&lt;br /&gt;
* Profiling VLC.&lt;br /&gt;
* memcpy implementations in SSE* and MMX (see modules/misc/memcpy/fastmemcpy.h)&lt;br /&gt;
* video filters ASM speedups (see modules/video_filter/blend.c)&lt;br /&gt;
* audio filters ASM speedups (see modules/audio_filter/equalizer.c)&lt;br /&gt;
* Porting other ASM video filters to VLC.&lt;br /&gt;
&lt;br /&gt;
This project needs some good ASM knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
* Stuff to read: http://www.agner.org/optimize/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Audio Filters ===&lt;br /&gt;
&lt;br /&gt;
We are looking for a skilled audiophile that knows a lot about audio theory and practice:&lt;br /&gt;
* to create or implement new algorithms, like SRS WoW or other 3D effects&lt;br /&gt;
* to work on channels mixing,&lt;br /&gt;
* to work on tracks mixing,&lt;br /&gt;
* to create scriptable new audio filters in lua and enable users to create whatever audio filtering function they want in a Lua script.&lt;br /&gt;
&lt;br /&gt;
This project needs some good audio knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:Geal|geal]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Test Suite ===&lt;br /&gt;
This project aims at making automatic tests to improve VLC quality.&lt;br /&gt;
&lt;br /&gt;
* Write a series of tests for vlc-internal&lt;br /&gt;
* Integrate a framework for automated plugins testing with the automake build system&lt;br /&gt;
* Automate the different codec playback/mux/etc tests&lt;br /&gt;
* Automate the subtitles tests&lt;br /&gt;
* Write tests for the different bindings: Mac OS X Framework/Python Bindings... etc.&lt;br /&gt;
&lt;br /&gt;
This project is a code project, require good knowledge of C&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Rémi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Services Discovery, like Jamendo integration ===&lt;br /&gt;
&lt;br /&gt;
Jamendo, Last.fm and other online music and video services would be great to integrate into VLC.&lt;br /&gt;
&lt;br /&gt;
This project deals with this integration.&lt;br /&gt;
&lt;br /&gt;
* This needs lua, C and C++ programming skills.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Flash Streaming ===&lt;br /&gt;
&lt;br /&gt;
RTMP implementation for streaming to Flash10.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jpsaman&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Qt embedded interface ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ILEoo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mini Projects - More ideas ==&lt;br /&gt;
&lt;br /&gt;
This sections welcomes all &#039;&#039;&#039;Original&#039;&#039;&#039; ideas which can be implemented in a short span of time.However, We have a more general page for ideas for Project in {{VLC}}, that could give you ideas: [[Mini_Projects]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Gmail Integration ===&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
* Either, generate an XmlHttpRequest to send the new status to Server.&lt;br /&gt;
* Or, Fire the Gmail Eventlisteners accordingly. &lt;br /&gt;
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&amp;lt;-&amp;gt;Google server interaction, it would have required User authentications ,Proxy Handling etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed by :&#039;&#039; pk&lt;br /&gt;
&lt;br /&gt;
== Questions? Contact us? ==&lt;br /&gt;
If you need to contact us for any questions, you can:&lt;br /&gt;
* use the [http://www.videolan.org/developers/lists.html vlc-devel] mailing list,&lt;br /&gt;
* come on IRC irc://irc.videolan.org #videolan&lt;br /&gt;
* contact one of the mentors or the backup mentors,&lt;br /&gt;
* or contact [[User:J-b| Jean-Baptiste Kempf]]&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
The proposed mentors are:&lt;br /&gt;
* jpeg&lt;br /&gt;
* remi&lt;br /&gt;
* xtophe&lt;br /&gt;
* jb&lt;br /&gt;
* dionoea&lt;br /&gt;
* jpsaman&lt;br /&gt;
* jpd&lt;br /&gt;
&lt;br /&gt;
=== Administrators ===&lt;br /&gt;
* jb&lt;br /&gt;
* xtophe&lt;br /&gt;
&lt;br /&gt;
[[Category:Activities]] [[Category:SoC]]&lt;/div&gt;</summary>
		<author><name>Pk2010</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2010&amp;diff=15523</id>
		<title>SoC 2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2010&amp;diff=15523"/>
		<updated>2010-02-11T13:41:07Z</updated>

		<summary type="html">&lt;p&gt;Pk2010: /* Gmail Integration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Google Summer of Code 2010.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction &amp;amp; Information ==&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VLC media player ===&lt;br /&gt;
{{VLC}} is a cross-platform multimedia player, encoder and streamer application.&lt;br /&gt;
It is one of the most successful open-source projects without any professional structure underneath.&lt;br /&gt;
&lt;br /&gt;
{{VLC}} is downloaded at an approximate monthly rate of 5 millions from the main website and that&#039;s not including third-party distributions (Linux)!&lt;br /&gt;
&lt;br /&gt;
You can find more information on [http://en.wikipedia.org/wiki/VLC_media_player VLC on Wikipedia] or on this [[Main_Page|wiki]].&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code ===&lt;br /&gt;
&lt;br /&gt;
If selected and developed, SoC projects for VLC will be included in later releases.&lt;br /&gt;
All projects are covered by the GPL licence. (v2+)&lt;br /&gt;
&lt;br /&gt;
=== Ideas for VLC ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Read this&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page is split in three lists of ideas:&lt;br /&gt;
&lt;br /&gt;
# [[Mini_Projects]] are short-span projects which can be given as Qualification tasks.&lt;br /&gt;
# The &#039;&#039;main ideas&#039;&#039; are what seem to be &#039;&#039;key projects&#039;&#039; for VLC and should be more &#039;&#039;thrilling&#039;&#039; than the other ones; we have assigned a potential mentor to each of these.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Original good ideas will be valued&#039;&#039;&#039;. Last year, half of the ideas were given by students.  We don&#039;t want to impose anything. This is free and Open Source software.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to apply for SoC but want other ideas to develop on, check the [[Mini Projects]] page!&lt;br /&gt;
&lt;br /&gt;
And on the IRC channel, you can have even more ideas.&lt;br /&gt;
&lt;br /&gt;
== Main ideas ==&lt;br /&gt;
&lt;br /&gt;
=== Qt pimping ===&lt;br /&gt;
&lt;br /&gt;
Interfaces always have something to do.Try to borrow the best ideas from amarok, iTunes, WMP, winamp, freeamp and integrate them into VLC.&lt;br /&gt;
Look at other Qt applications or KDE applications.&lt;br /&gt;
&lt;br /&gt;
* You need some Qt and C++ knowlegde and a lot of creativity.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Assembly optimizations in VLC ===&lt;br /&gt;
&lt;br /&gt;
If you are fond of writing ASM and you are fluent in MMX/SSE2, there are many interesting things in VLC to speed up.&lt;br /&gt;
* Profiling VLC.&lt;br /&gt;
* memcpy implementations in SSE* and MMX (see modules/misc/memcpy/fastmemcpy.h)&lt;br /&gt;
* video filters ASM speedups (see modules/video_filter/blend.c)&lt;br /&gt;
* audio filters ASM speedups (see modules/audio_filter/equalizer.c)&lt;br /&gt;
* Porting other ASM video filters to VLC.&lt;br /&gt;
&lt;br /&gt;
This project needs some good ASM knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
* Stuff to read: http://www.agner.org/optimize/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Audio Filters ===&lt;br /&gt;
&lt;br /&gt;
We are looking for a skilled audiophile that knows a lot about audio theory and practice:&lt;br /&gt;
* to create or implement new algorithms, like SRS WoW or other 3D effects&lt;br /&gt;
* to work on channels mixing,&lt;br /&gt;
* to work on tracks mixing,&lt;br /&gt;
* to create scriptable new audio filters in lua and enable users to create whatever audio filtering function they want in a Lua script.&lt;br /&gt;
&lt;br /&gt;
This project needs some good audio knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:Geal|geal]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Test Suite ===&lt;br /&gt;
This project aims at making automatic tests to improve VLC quality.&lt;br /&gt;
&lt;br /&gt;
* Write a series of tests for vlc-internal&lt;br /&gt;
* Integrate a framework for automated plugins testing with the automake build system&lt;br /&gt;
* Automate the different codec playback/mux/etc tests&lt;br /&gt;
* Automate the subtitles tests&lt;br /&gt;
* Write tests for the different bindings: Mac OS X Framework/Python Bindings... etc.&lt;br /&gt;
&lt;br /&gt;
This project is a code project, require good knowledge of C&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Rémi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Services Discovery, like Jamendo integration ===&lt;br /&gt;
&lt;br /&gt;
Jamendo, Last.fm and other online music and video services would be great to integrate into VLC.&lt;br /&gt;
&lt;br /&gt;
This project deals with this integration.&lt;br /&gt;
&lt;br /&gt;
* This needs lua, C and C++ programming skills.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Flash Streaming ===&lt;br /&gt;
&lt;br /&gt;
RTMP implementation for streaming to Flash10.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jpsaman&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Qt embedded interface ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ILEoo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mini Projects - More ideas ==&lt;br /&gt;
&lt;br /&gt;
This sections welcomes all &#039;&#039;&#039;Original&#039;&#039;&#039; ideas which can be implemented in a short span of time.However, We have a more general page for ideas for Project in {{VLC}}, that could give you ideas: [[Mini_Projects]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Gmail Integration ===&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
* Either, generate an XmlHttpRequest to send the new status to Server.&lt;br /&gt;
* Or, Fire the Gmail Eventlisteners accordingly. &lt;br /&gt;
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&amp;lt;-&amp;gt;Google server interaction, it would have required User authentications ,Proxy Handling etc.&lt;br /&gt;
--[[User:Pk2010|Pk2010]] 13:41, 11 February 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Questions? Contact us? ==&lt;br /&gt;
If you need to contact us for any questions, you can:&lt;br /&gt;
* use the [http://www.videolan.org/developers/lists.html vlc-devel] mailing list,&lt;br /&gt;
* come on IRC irc://irc.videolan.org #videolan&lt;br /&gt;
* contact one of the mentors or the backup mentors,&lt;br /&gt;
* or contact [[User:J-b| Jean-Baptiste Kempf]]&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
The proposed mentors are:&lt;br /&gt;
* jpeg&lt;br /&gt;
* remi&lt;br /&gt;
* xtophe&lt;br /&gt;
* jb&lt;br /&gt;
* dionoea&lt;br /&gt;
* jpsaman&lt;br /&gt;
* jpd&lt;br /&gt;
&lt;br /&gt;
=== Administrators ===&lt;br /&gt;
* jb&lt;br /&gt;
* xtophe&lt;br /&gt;
&lt;br /&gt;
[[Category:Activities]] [[Category:SoC]]&lt;/div&gt;</summary>
		<author><name>Pk2010</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2010&amp;diff=15522</id>
		<title>SoC 2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2010&amp;diff=15522"/>
		<updated>2010-02-11T13:32:10Z</updated>

		<summary type="html">&lt;p&gt;Pk2010: /* Ideas for VLC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Google Summer of Code 2010.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction &amp;amp; Information ==&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VLC media player ===&lt;br /&gt;
{{VLC}} is a cross-platform multimedia player, encoder and streamer application.&lt;br /&gt;
It is one of the most successful open-source projects without any professional structure underneath.&lt;br /&gt;
&lt;br /&gt;
{{VLC}} is downloaded at an approximate monthly rate of 5 millions from the main website and that&#039;s not including third-party distributions (Linux)!&lt;br /&gt;
&lt;br /&gt;
You can find more information on [http://en.wikipedia.org/wiki/VLC_media_player VLC on Wikipedia] or on this [[Main_Page|wiki]].&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code ===&lt;br /&gt;
&lt;br /&gt;
If selected and developed, SoC projects for VLC will be included in later releases.&lt;br /&gt;
All projects are covered by the GPL licence. (v2+)&lt;br /&gt;
&lt;br /&gt;
=== Ideas for VLC ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Read this&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page is split in three lists of ideas:&lt;br /&gt;
&lt;br /&gt;
# [[Mini_Projects]] are short-span projects which can be given as Qualification tasks.&lt;br /&gt;
# The &#039;&#039;main ideas&#039;&#039; are what seem to be &#039;&#039;key projects&#039;&#039; for VLC and should be more &#039;&#039;thrilling&#039;&#039; than the other ones; we have assigned a potential mentor to each of these.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Original good ideas will be valued&#039;&#039;&#039;. Last year, half of the ideas were given by students.  We don&#039;t want to impose anything. This is free and Open Source software.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to apply for SoC but want other ideas to develop on, check the [[Mini Projects]] page!&lt;br /&gt;
&lt;br /&gt;
And on the IRC channel, you can have even more ideas.&lt;br /&gt;
&lt;br /&gt;
== Main ideas ==&lt;br /&gt;
&lt;br /&gt;
=== Qt pimping ===&lt;br /&gt;
&lt;br /&gt;
Interfaces always have something to do.Try to borrow the best ideas from amarok, iTunes, WMP, winamp, freeamp and integrate them into VLC.&lt;br /&gt;
Look at other Qt applications or KDE applications.&lt;br /&gt;
&lt;br /&gt;
* You need some Qt and C++ knowlegde and a lot of creativity.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Assembly optimizations in VLC ===&lt;br /&gt;
&lt;br /&gt;
If you are fond of writing ASM and you are fluent in MMX/SSE2, there are many interesting things in VLC to speed up.&lt;br /&gt;
* Profiling VLC.&lt;br /&gt;
* memcpy implementations in SSE* and MMX (see modules/misc/memcpy/fastmemcpy.h)&lt;br /&gt;
* video filters ASM speedups (see modules/video_filter/blend.c)&lt;br /&gt;
* audio filters ASM speedups (see modules/audio_filter/equalizer.c)&lt;br /&gt;
* Porting other ASM video filters to VLC.&lt;br /&gt;
&lt;br /&gt;
This project needs some good ASM knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
* Stuff to read: http://www.agner.org/optimize/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Audio Filters ===&lt;br /&gt;
&lt;br /&gt;
We are looking for a skilled audiophile that knows a lot about audio theory and practice:&lt;br /&gt;
* to create or implement new algorithms, like SRS WoW or other 3D effects&lt;br /&gt;
* to work on channels mixing,&lt;br /&gt;
* to work on tracks mixing,&lt;br /&gt;
* to create scriptable new audio filters in lua and enable users to create whatever audio filtering function they want in a Lua script.&lt;br /&gt;
&lt;br /&gt;
This project needs some good audio knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:Geal|geal]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Test Suite ===&lt;br /&gt;
This project aims at making automatic tests to improve VLC quality.&lt;br /&gt;
&lt;br /&gt;
* Write a series of tests for vlc-internal&lt;br /&gt;
* Integrate a framework for automated plugins testing with the automake build system&lt;br /&gt;
* Automate the different codec playback/mux/etc tests&lt;br /&gt;
* Automate the subtitles tests&lt;br /&gt;
* Write tests for the different bindings: Mac OS X Framework/Python Bindings... etc.&lt;br /&gt;
&lt;br /&gt;
This project is a code project, require good knowledge of C&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Rémi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Services Discovery, like Jamendo integration ===&lt;br /&gt;
&lt;br /&gt;
Jamendo, Last.fm and other online music and video services would be great to integrate into VLC.&lt;br /&gt;
&lt;br /&gt;
This project deals with this integration.&lt;br /&gt;
&lt;br /&gt;
* This needs lua, C and C++ programming skills.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Flash Streaming ===&lt;br /&gt;
&lt;br /&gt;
RTMP implementation for streaming to Flash10.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jpsaman&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Qt embedded interface ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ILEoo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mini Projects - More ideas ==&lt;br /&gt;
&lt;br /&gt;
This sections welcomes all &#039;&#039;&#039;Original&#039;&#039;&#039; ideas which can be implemented in a short span of time.However, We have a more general page for ideas for Project in {{VLC}}, that could give you ideas: [[Mini_Projects]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Gmail Integration ===&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
* Either, generate an XmlHttpRequest to send the new status to Server.&lt;br /&gt;
* Or, Fire the Gmail Eventlisteners accordingly. &lt;br /&gt;
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&amp;lt;-&amp;gt;Google server interaction, it would have required User authentications ,Proxy Handling etc.&lt;br /&gt;
&lt;br /&gt;
== Questions? Contact us? ==&lt;br /&gt;
If you need to contact us for any questions, you can:&lt;br /&gt;
* use the [http://www.videolan.org/developers/lists.html vlc-devel] mailing list,&lt;br /&gt;
* come on IRC irc://irc.videolan.org #videolan&lt;br /&gt;
* contact one of the mentors or the backup mentors,&lt;br /&gt;
* or contact [[User:J-b| Jean-Baptiste Kempf]]&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
The proposed mentors are:&lt;br /&gt;
* jpeg&lt;br /&gt;
* remi&lt;br /&gt;
* xtophe&lt;br /&gt;
* jb&lt;br /&gt;
* dionoea&lt;br /&gt;
* jpsaman&lt;br /&gt;
* jpd&lt;br /&gt;
&lt;br /&gt;
=== Administrators ===&lt;br /&gt;
* jb&lt;br /&gt;
* xtophe&lt;br /&gt;
&lt;br /&gt;
[[Category:Activities]] [[Category:SoC]]&lt;/div&gt;</summary>
		<author><name>Pk2010</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2010&amp;diff=15521</id>
		<title>SoC 2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2010&amp;diff=15521"/>
		<updated>2010-02-11T13:30:23Z</updated>

		<summary type="html">&lt;p&gt;Pk2010: /* More Ideas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Google Summer of Code 2010.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction &amp;amp; Information ==&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VLC media player ===&lt;br /&gt;
{{VLC}} is a cross-platform multimedia player, encoder and streamer application.&lt;br /&gt;
It is one of the most successful open-source projects without any professional structure underneath.&lt;br /&gt;
&lt;br /&gt;
{{VLC}} is downloaded at an approximate monthly rate of 5 millions from the main website and that&#039;s not including third-party distributions (Linux)!&lt;br /&gt;
&lt;br /&gt;
You can find more information on [http://en.wikipedia.org/wiki/VLC_media_player VLC on Wikipedia] or on this [[Main_Page|wiki]].&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code ===&lt;br /&gt;
&lt;br /&gt;
If selected and developed, SoC projects for VLC will be included in later releases.&lt;br /&gt;
All projects are covered by the GPL licence. (v2+)&lt;br /&gt;
&lt;br /&gt;
=== Ideas for VLC ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Read this&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page is split in three lists of ideas:&lt;br /&gt;
# The &#039;&#039;main ideas&#039;&#039; are what seem to be &#039;&#039;key projects&#039;&#039; for VLC and should be more &#039;&#039;thrilling&#039;&#039; than the other ones; we have assigned a potential mentor to each of these.&lt;br /&gt;
# The other ideas are less detailed but could be good ideas too.&lt;br /&gt;
# [[Mini_Projects]] has some ideas too.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Original good ideas will be valued&#039;&#039;&#039;. Last year, half of the ideas were given by students.  We don&#039;t want to impose anything. This is free and Open Source software.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to apply for SoC but want other ideas to develop on, check the [[Mini Projects]] page!&lt;br /&gt;
&lt;br /&gt;
And on the IRC channel, you can have even more ideas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Main ideas ==&lt;br /&gt;
&lt;br /&gt;
=== Qt pimping ===&lt;br /&gt;
&lt;br /&gt;
Interfaces always have something to do.Try to borrow the best ideas from amarok, iTunes, WMP, winamp, freeamp and integrate them into VLC.&lt;br /&gt;
Look at other Qt applications or KDE applications.&lt;br /&gt;
&lt;br /&gt;
* You need some Qt and C++ knowlegde and a lot of creativity.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Assembly optimizations in VLC ===&lt;br /&gt;
&lt;br /&gt;
If you are fond of writing ASM and you are fluent in MMX/SSE2, there are many interesting things in VLC to speed up.&lt;br /&gt;
* Profiling VLC.&lt;br /&gt;
* memcpy implementations in SSE* and MMX (see modules/misc/memcpy/fastmemcpy.h)&lt;br /&gt;
* video filters ASM speedups (see modules/video_filter/blend.c)&lt;br /&gt;
* audio filters ASM speedups (see modules/audio_filter/equalizer.c)&lt;br /&gt;
* Porting other ASM video filters to VLC.&lt;br /&gt;
&lt;br /&gt;
This project needs some good ASM knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
* Stuff to read: http://www.agner.org/optimize/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Audio Filters ===&lt;br /&gt;
&lt;br /&gt;
We are looking for a skilled audiophile that knows a lot about audio theory and practice:&lt;br /&gt;
* to create or implement new algorithms, like SRS WoW or other 3D effects&lt;br /&gt;
* to work on channels mixing,&lt;br /&gt;
* to work on tracks mixing,&lt;br /&gt;
* to create scriptable new audio filters in lua and enable users to create whatever audio filtering function they want in a Lua script.&lt;br /&gt;
&lt;br /&gt;
This project needs some good audio knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:Geal|geal]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Test Suite ===&lt;br /&gt;
This project aims at making automatic tests to improve VLC quality.&lt;br /&gt;
&lt;br /&gt;
* Write a series of tests for vlc-internal&lt;br /&gt;
* Integrate a framework for automated plugins testing with the automake build system&lt;br /&gt;
* Automate the different codec playback/mux/etc tests&lt;br /&gt;
* Automate the subtitles tests&lt;br /&gt;
* Write tests for the different bindings: Mac OS X Framework/Python Bindings... etc.&lt;br /&gt;
&lt;br /&gt;
This project is a code project, require good knowledge of C&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Rémi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Services Discovery, like Jamendo integration ===&lt;br /&gt;
&lt;br /&gt;
Jamendo, Last.fm and other online music and video services would be great to integrate into VLC.&lt;br /&gt;
&lt;br /&gt;
This project deals with this integration.&lt;br /&gt;
&lt;br /&gt;
* This needs lua, C and C++ programming skills.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Flash Streaming ===&lt;br /&gt;
&lt;br /&gt;
RTMP implementation for streaming to Flash10.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jpsaman&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Qt embedded interface ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ILEoo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mini Projects - More ideas ==&lt;br /&gt;
&lt;br /&gt;
This sections welcomes all &#039;&#039;&#039;Original&#039;&#039;&#039; ideas which can be implemented in a short span of time.However, We have a more general page for ideas for Project in {{VLC}}, that could give you ideas: [[Mini_Projects]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Gmail Integration ===&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
* Either, generate an XmlHttpRequest to send the new status to Server.&lt;br /&gt;
* Or, Fire the Gmail Eventlisteners accordingly. &lt;br /&gt;
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&amp;lt;-&amp;gt;Google server interaction, it would have required User authentications ,Proxy Handling etc.&lt;br /&gt;
&lt;br /&gt;
== Questions? Contact us? ==&lt;br /&gt;
If you need to contact us for any questions, you can:&lt;br /&gt;
* use the [http://www.videolan.org/developers/lists.html vlc-devel] mailing list,&lt;br /&gt;
* come on IRC irc://irc.videolan.org #videolan&lt;br /&gt;
* contact one of the mentors or the backup mentors,&lt;br /&gt;
* or contact [[User:J-b| Jean-Baptiste Kempf]]&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
The proposed mentors are:&lt;br /&gt;
* jpeg&lt;br /&gt;
* remi&lt;br /&gt;
* xtophe&lt;br /&gt;
* jb&lt;br /&gt;
* dionoea&lt;br /&gt;
* jpsaman&lt;br /&gt;
* jpd&lt;br /&gt;
&lt;br /&gt;
=== Administrators ===&lt;br /&gt;
* jb&lt;br /&gt;
* xtophe&lt;br /&gt;
&lt;br /&gt;
[[Category:Activities]] [[Category:SoC]]&lt;/div&gt;</summary>
		<author><name>Pk2010</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2010&amp;diff=15520</id>
		<title>SoC 2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2010&amp;diff=15520"/>
		<updated>2010-02-11T13:27:04Z</updated>

		<summary type="html">&lt;p&gt;Pk2010: /* Qt pimping */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Google Summer of Code 2010.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction &amp;amp; Information ==&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VLC media player ===&lt;br /&gt;
{{VLC}} is a cross-platform multimedia player, encoder and streamer application.&lt;br /&gt;
It is one of the most successful open-source projects without any professional structure underneath.&lt;br /&gt;
&lt;br /&gt;
{{VLC}} is downloaded at an approximate monthly rate of 5 millions from the main website and that&#039;s not including third-party distributions (Linux)!&lt;br /&gt;
&lt;br /&gt;
You can find more information on [http://en.wikipedia.org/wiki/VLC_media_player VLC on Wikipedia] or on this [[Main_Page|wiki]].&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code ===&lt;br /&gt;
&lt;br /&gt;
If selected and developed, SoC projects for VLC will be included in later releases.&lt;br /&gt;
All projects are covered by the GPL licence. (v2+)&lt;br /&gt;
&lt;br /&gt;
=== Ideas for VLC ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Read this&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page is split in three lists of ideas:&lt;br /&gt;
# The &#039;&#039;main ideas&#039;&#039; are what seem to be &#039;&#039;key projects&#039;&#039; for VLC and should be more &#039;&#039;thrilling&#039;&#039; than the other ones; we have assigned a potential mentor to each of these.&lt;br /&gt;
# The other ideas are less detailed but could be good ideas too.&lt;br /&gt;
# [[Mini_Projects]] has some ideas too.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Original good ideas will be valued&#039;&#039;&#039;. Last year, half of the ideas were given by students.  We don&#039;t want to impose anything. This is free and Open Source software.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to apply for SoC but want other ideas to develop on, check the [[Mini Projects]] page!&lt;br /&gt;
&lt;br /&gt;
And on the IRC channel, you can have even more ideas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Main ideas ==&lt;br /&gt;
&lt;br /&gt;
=== Qt pimping ===&lt;br /&gt;
&lt;br /&gt;
Interfaces always have something to do.Try to borrow the best ideas from amarok, iTunes, WMP, winamp, freeamp and integrate them into VLC.&lt;br /&gt;
Look at other Qt applications or KDE applications.&lt;br /&gt;
&lt;br /&gt;
* You need some Qt and C++ knowlegde and a lot of creativity.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Assembly optimizations in VLC ===&lt;br /&gt;
&lt;br /&gt;
If you are fond of writing ASM and you are fluent in MMX/SSE2, there are many interesting things in VLC to speed up.&lt;br /&gt;
* Profiling VLC.&lt;br /&gt;
* memcpy implementations in SSE* and MMX (see modules/misc/memcpy/fastmemcpy.h)&lt;br /&gt;
* video filters ASM speedups (see modules/video_filter/blend.c)&lt;br /&gt;
* audio filters ASM speedups (see modules/audio_filter/equalizer.c)&lt;br /&gt;
* Porting other ASM video filters to VLC.&lt;br /&gt;
&lt;br /&gt;
This project needs some good ASM knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
* Stuff to read: http://www.agner.org/optimize/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Audio Filters ===&lt;br /&gt;
&lt;br /&gt;
We are looking for a skilled audiophile that knows a lot about audio theory and practice:&lt;br /&gt;
* to create or implement new algorithms, like SRS WoW or other 3D effects&lt;br /&gt;
* to work on channels mixing,&lt;br /&gt;
* to work on tracks mixing,&lt;br /&gt;
* to create scriptable new audio filters in lua and enable users to create whatever audio filtering function they want in a Lua script.&lt;br /&gt;
&lt;br /&gt;
This project needs some good audio knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:Geal|geal]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Test Suite ===&lt;br /&gt;
This project aims at making automatic tests to improve VLC quality.&lt;br /&gt;
&lt;br /&gt;
* Write a series of tests for vlc-internal&lt;br /&gt;
* Integrate a framework for automated plugins testing with the automake build system&lt;br /&gt;
* Automate the different codec playback/mux/etc tests&lt;br /&gt;
* Automate the subtitles tests&lt;br /&gt;
* Write tests for the different bindings: Mac OS X Framework/Python Bindings... etc.&lt;br /&gt;
&lt;br /&gt;
This project is a code project, require good knowledge of C&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Rémi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Services Discovery, like Jamendo integration ===&lt;br /&gt;
&lt;br /&gt;
Jamendo, Last.fm and other online music and video services would be great to integrate into VLC.&lt;br /&gt;
&lt;br /&gt;
This project deals with this integration.&lt;br /&gt;
&lt;br /&gt;
* This needs lua, C and C++ programming skills.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Flash Streaming ===&lt;br /&gt;
&lt;br /&gt;
RTMP implementation for streaming to Flash10.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jpsaman&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Qt embedded interface ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ILEoo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== More Ideas ==&lt;br /&gt;
&lt;br /&gt;
=== QTKit access ===&lt;br /&gt;
Build a QTKit-based access module for OS X (allowing input from USB / FireWire cameras, audio devices, camcorders, tape recorders [, ...your favourite here] ). This access module will also need a nice component GUI.&lt;br /&gt;
&lt;br /&gt;
This project requires knowlege of C and preferably also Objective C, and interest in video/audio capture devices. Obviously, the student is required to own at a least a Mac with a (embedded) webcam and an audio input facility for development. Knowledge of the QuickTime APIs and previous experience with Cocoa are strong pluses.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: thedj&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===  GUI interfaces for the browsers plug-ins ===&lt;br /&gt;
This project focuses on adding interfaces to our browser plug-ins, in order to have, in the web pages embedded mode, buttons to control {{VLC}} as in WMP or Youtube player. These buttons need to be cross-platform and cross-browsers. A right-click context menu with basic commands might be a nice way to get started.&lt;br /&gt;
&lt;br /&gt;
The second part of this project aims to provide a replacement for all preconfigured media players embedded in web pages, if possible. For example, when a webpage asks for WMP embedded plugin, youtube player, quicktime player or any other, VLC would detect the stream and display it. This would mean less CPU needed than Flash based players.&lt;br /&gt;
&lt;br /&gt;
This project may need to work in concert with some improvements on the cache handling module access.&lt;br /&gt;
&lt;br /&gt;
The look of the interface should not be a problem. There is a proof of concept and a better design can be added later on.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jpsaman and jpd&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== OpenMAX AL bindings for LibVLC ===&lt;br /&gt;
&lt;br /&gt;
OpenMAX is a portable framework for handling audio, video and pictures.&lt;br /&gt;
&lt;br /&gt;
OpenMAX AL is an API designed to create and control media players, and make them communicate with devices such as audio inputs and outputs, cameras, LEDs, etc. In this project, the student would integrate LibVLC, the VLC framework with OpenMAX.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Rémi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== DXVA Integration ===&lt;br /&gt;
Since Windows Vista, some nice APIs are available, and you can do fun things like GPU-based decoding. Some good work could be done here.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: geal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Linux GPU Acceleration Integration ===&lt;br /&gt;
Some nice APIs are available like VAAPI and like XvBA, and you can do fun things like GPU-based decoding.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jpsaman&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Automated threading error detection ===&lt;br /&gt;
VLC is heavily multithreaded.&lt;br /&gt;
&lt;br /&gt;
This project would involve extending the VLC threading APIs to provide better run-time consistency checks, and possibly proof of correctness.&lt;br /&gt;
&lt;br /&gt;
This could be similar to the lock consistency checking in the Linux kernel, albeit more simple - VLC does not have to deal with interruptions neither atomic operation and has fewer thread and synchronisation constructs.&lt;br /&gt;
&lt;br /&gt;
This project requires working knowledge of the C programming language and POSIX threads.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Skins improvements ===&lt;br /&gt;
&lt;br /&gt;
Better video output integration.&lt;br /&gt;
&lt;br /&gt;
Better skin support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== SVCD handling ===&lt;br /&gt;
&lt;br /&gt;
Make SVCD&#039;s work. Menu selection, navigation and hot spots. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Mini Projects - More ideas ==&lt;br /&gt;
&lt;br /&gt;
This sections welcomes all &#039;&#039;&#039;Original&#039;&#039;&#039; ideas which can be implemented in a short span of time.However, We have a more general page for ideas for Project in {{VLC}}, that could give you ideas: [[Mini_Projects]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Gmail Integration ===&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
* Either, generate an XmlHttpRequest to send the new status to Server.&lt;br /&gt;
* Or, Fire the Gmail Eventlisteners accordingly. &lt;br /&gt;
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&amp;lt;-&amp;gt;Google server interaction, it would have required User authentications ,Proxy Handling etc.&lt;br /&gt;
&lt;br /&gt;
== Questions? Contact us? ==&lt;br /&gt;
If you need to contact us for any questions, you can:&lt;br /&gt;
* use the [http://www.videolan.org/developers/lists.html vlc-devel] mailing list,&lt;br /&gt;
* come on IRC irc://irc.videolan.org #videolan&lt;br /&gt;
* contact one of the mentors or the backup mentors,&lt;br /&gt;
* or contact [[User:J-b| Jean-Baptiste Kempf]]&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
The proposed mentors are:&lt;br /&gt;
* jpeg&lt;br /&gt;
* remi&lt;br /&gt;
* xtophe&lt;br /&gt;
* jb&lt;br /&gt;
* dionoea&lt;br /&gt;
* jpsaman&lt;br /&gt;
* jpd&lt;br /&gt;
&lt;br /&gt;
=== Administrators ===&lt;br /&gt;
* jb&lt;br /&gt;
* xtophe&lt;br /&gt;
&lt;br /&gt;
[[Category:Activities]] [[Category:SoC]]&lt;/div&gt;</summary>
		<author><name>Pk2010</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2010&amp;diff=15519</id>
		<title>SoC 2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2010&amp;diff=15519"/>
		<updated>2010-02-11T13:24:33Z</updated>

		<summary type="html">&lt;p&gt;Pk2010: /* Media Library work */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Google Summer of Code 2010.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction &amp;amp; Information ==&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VLC media player ===&lt;br /&gt;
{{VLC}} is a cross-platform multimedia player, encoder and streamer application.&lt;br /&gt;
It is one of the most successful open-source projects without any professional structure underneath.&lt;br /&gt;
&lt;br /&gt;
{{VLC}} is downloaded at an approximate monthly rate of 5 millions from the main website and that&#039;s not including third-party distributions (Linux)!&lt;br /&gt;
&lt;br /&gt;
You can find more information on [http://en.wikipedia.org/wiki/VLC_media_player VLC on Wikipedia] or on this [[Main_Page|wiki]].&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code ===&lt;br /&gt;
&lt;br /&gt;
If selected and developed, SoC projects for VLC will be included in later releases.&lt;br /&gt;
All projects are covered by the GPL licence. (v2+)&lt;br /&gt;
&lt;br /&gt;
=== Ideas for VLC ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Read this&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page is split in three lists of ideas:&lt;br /&gt;
# The &#039;&#039;main ideas&#039;&#039; are what seem to be &#039;&#039;key projects&#039;&#039; for VLC and should be more &#039;&#039;thrilling&#039;&#039; than the other ones; we have assigned a potential mentor to each of these.&lt;br /&gt;
# The other ideas are less detailed but could be good ideas too.&lt;br /&gt;
# [[Mini_Projects]] has some ideas too.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Original good ideas will be valued&#039;&#039;&#039;. Last year, half of the ideas were given by students.  We don&#039;t want to impose anything. This is free and Open Source software.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to apply for SoC but want other ideas to develop on, check the [[Mini Projects]] page!&lt;br /&gt;
&lt;br /&gt;
And on the IRC channel, you can have even more ideas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Main ideas ==&lt;br /&gt;
&lt;br /&gt;
=== Qt pimping ===&lt;br /&gt;
&lt;br /&gt;
Improve Qt interface, used on linux and windows with use of Qt-Kinetic or plasma.&lt;br /&gt;
&lt;br /&gt;
The basic, primary interface is reasonable but it could be improved in many ways. The (sub)menus and popups need a lot of (re)design, evaluation, Q&amp;amp;A, tinkering, and so on. For example, adding files is cumbersome and repeated adding even more so. Sorting and other displaying options in the playlist would be nice. Error reporting, presentation, and resolution needs improving. For example, import a few audio streams (one or more m3u/pls playlists, perhaps), try to use them, and see what happens when some urls are not available.&lt;br /&gt;
&lt;br /&gt;
Try to borrow the best ideas from amarok, iTunes, WMP, winamp, freeamp and integrate them into VLC.&lt;br /&gt;
&lt;br /&gt;
Look at other Qt applications or KDE applications.&lt;br /&gt;
&lt;br /&gt;
* You need some Qt and C++ knowlegde and a lot of creativity.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Assembly optimizations in VLC ===&lt;br /&gt;
&lt;br /&gt;
If you are fond of writing ASM and you are fluent in MMX/SSE2, there are many interesting things in VLC to speed up.&lt;br /&gt;
* Profiling VLC.&lt;br /&gt;
* memcpy implementations in SSE* and MMX (see modules/misc/memcpy/fastmemcpy.h)&lt;br /&gt;
* video filters ASM speedups (see modules/video_filter/blend.c)&lt;br /&gt;
* audio filters ASM speedups (see modules/audio_filter/equalizer.c)&lt;br /&gt;
* Porting other ASM video filters to VLC.&lt;br /&gt;
&lt;br /&gt;
This project needs some good ASM knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
* Stuff to read: http://www.agner.org/optimize/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Audio Filters ===&lt;br /&gt;
&lt;br /&gt;
We are looking for a skilled audiophile that knows a lot about audio theory and practice:&lt;br /&gt;
* to create or implement new algorithms, like SRS WoW or other 3D effects&lt;br /&gt;
* to work on channels mixing,&lt;br /&gt;
* to work on tracks mixing,&lt;br /&gt;
* to create scriptable new audio filters in lua and enable users to create whatever audio filtering function they want in a Lua script.&lt;br /&gt;
&lt;br /&gt;
This project needs some good audio knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:Geal|geal]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Test Suite ===&lt;br /&gt;
This project aims at making automatic tests to improve VLC quality.&lt;br /&gt;
&lt;br /&gt;
* Write a series of tests for vlc-internal&lt;br /&gt;
* Integrate a framework for automated plugins testing with the automake build system&lt;br /&gt;
* Automate the different codec playback/mux/etc tests&lt;br /&gt;
* Automate the subtitles tests&lt;br /&gt;
* Write tests for the different bindings: Mac OS X Framework/Python Bindings... etc.&lt;br /&gt;
&lt;br /&gt;
This project is a code project, require good knowledge of C&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Rémi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Services Discovery, like Jamendo integration ===&lt;br /&gt;
&lt;br /&gt;
Jamendo, Last.fm and other online music and video services would be great to integrate into VLC.&lt;br /&gt;
&lt;br /&gt;
This project deals with this integration.&lt;br /&gt;
&lt;br /&gt;
* This needs lua, C and C++ programming skills.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Flash Streaming ===&lt;br /&gt;
&lt;br /&gt;
RTMP implementation for streaming to Flash10.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jpsaman&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Qt embedded interface ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ILEoo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== More Ideas ==&lt;br /&gt;
&lt;br /&gt;
=== QTKit access ===&lt;br /&gt;
Build a QTKit-based access module for OS X (allowing input from USB / FireWire cameras, audio devices, camcorders, tape recorders [, ...your favourite here] ). This access module will also need a nice component GUI.&lt;br /&gt;
&lt;br /&gt;
This project requires knowlege of C and preferably also Objective C, and interest in video/audio capture devices. Obviously, the student is required to own at a least a Mac with a (embedded) webcam and an audio input facility for development. Knowledge of the QuickTime APIs and previous experience with Cocoa are strong pluses.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: thedj&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===  GUI interfaces for the browsers plug-ins ===&lt;br /&gt;
This project focuses on adding interfaces to our browser plug-ins, in order to have, in the web pages embedded mode, buttons to control {{VLC}} as in WMP or Youtube player. These buttons need to be cross-platform and cross-browsers. A right-click context menu with basic commands might be a nice way to get started.&lt;br /&gt;
&lt;br /&gt;
The second part of this project aims to provide a replacement for all preconfigured media players embedded in web pages, if possible. For example, when a webpage asks for WMP embedded plugin, youtube player, quicktime player or any other, VLC would detect the stream and display it. This would mean less CPU needed than Flash based players.&lt;br /&gt;
&lt;br /&gt;
This project may need to work in concert with some improvements on the cache handling module access.&lt;br /&gt;
&lt;br /&gt;
The look of the interface should not be a problem. There is a proof of concept and a better design can be added later on.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jpsaman and jpd&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== OpenMAX AL bindings for LibVLC ===&lt;br /&gt;
&lt;br /&gt;
OpenMAX is a portable framework for handling audio, video and pictures.&lt;br /&gt;
&lt;br /&gt;
OpenMAX AL is an API designed to create and control media players, and make them communicate with devices such as audio inputs and outputs, cameras, LEDs, etc. In this project, the student would integrate LibVLC, the VLC framework with OpenMAX.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Rémi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== DXVA Integration ===&lt;br /&gt;
Since Windows Vista, some nice APIs are available, and you can do fun things like GPU-based decoding. Some good work could be done here.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: geal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Linux GPU Acceleration Integration ===&lt;br /&gt;
Some nice APIs are available like VAAPI and like XvBA, and you can do fun things like GPU-based decoding.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jpsaman&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Automated threading error detection ===&lt;br /&gt;
VLC is heavily multithreaded.&lt;br /&gt;
&lt;br /&gt;
This project would involve extending the VLC threading APIs to provide better run-time consistency checks, and possibly proof of correctness.&lt;br /&gt;
&lt;br /&gt;
This could be similar to the lock consistency checking in the Linux kernel, albeit more simple - VLC does not have to deal with interruptions neither atomic operation and has fewer thread and synchronisation constructs.&lt;br /&gt;
&lt;br /&gt;
This project requires working knowledge of the C programming language and POSIX threads.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Skins improvements ===&lt;br /&gt;
&lt;br /&gt;
Better video output integration.&lt;br /&gt;
&lt;br /&gt;
Better skin support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== SVCD handling ===&lt;br /&gt;
&lt;br /&gt;
Make SVCD&#039;s work. Menu selection, navigation and hot spots. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Mini Projects - More ideas ==&lt;br /&gt;
&lt;br /&gt;
This sections welcomes all &#039;&#039;&#039;Original&#039;&#039;&#039; ideas which can be implemented in a short span of time.However, We have a more general page for ideas for Project in {{VLC}}, that could give you ideas: [[Mini_Projects]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Gmail Integration ===&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
* Either, generate an XmlHttpRequest to send the new status to Server.&lt;br /&gt;
* Or, Fire the Gmail Eventlisteners accordingly. &lt;br /&gt;
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&amp;lt;-&amp;gt;Google server interaction, it would have required User authentications ,Proxy Handling etc.&lt;br /&gt;
&lt;br /&gt;
== Questions? Contact us? ==&lt;br /&gt;
If you need to contact us for any questions, you can:&lt;br /&gt;
* use the [http://www.videolan.org/developers/lists.html vlc-devel] mailing list,&lt;br /&gt;
* come on IRC irc://irc.videolan.org #videolan&lt;br /&gt;
* contact one of the mentors or the backup mentors,&lt;br /&gt;
* or contact [[User:J-b| Jean-Baptiste Kempf]]&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
The proposed mentors are:&lt;br /&gt;
* jpeg&lt;br /&gt;
* remi&lt;br /&gt;
* xtophe&lt;br /&gt;
* jb&lt;br /&gt;
* dionoea&lt;br /&gt;
* jpsaman&lt;br /&gt;
* jpd&lt;br /&gt;
&lt;br /&gt;
=== Administrators ===&lt;br /&gt;
* jb&lt;br /&gt;
* xtophe&lt;br /&gt;
&lt;br /&gt;
[[Category:Activities]] [[Category:SoC]]&lt;/div&gt;</summary>
		<author><name>Pk2010</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2010&amp;diff=15518</id>
		<title>SoC 2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2010&amp;diff=15518"/>
		<updated>2010-02-11T13:23:08Z</updated>

		<summary type="html">&lt;p&gt;Pk2010: /* Mini Projects - More ideas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Google Summer of Code 2010.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction &amp;amp; Information ==&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VLC media player ===&lt;br /&gt;
{{VLC}} is a cross-platform multimedia player, encoder and streamer application.&lt;br /&gt;
It is one of the most successful open-source projects without any professional structure underneath.&lt;br /&gt;
&lt;br /&gt;
{{VLC}} is downloaded at an approximate monthly rate of 5 millions from the main website and that&#039;s not including third-party distributions (Linux)!&lt;br /&gt;
&lt;br /&gt;
You can find more information on [http://en.wikipedia.org/wiki/VLC_media_player VLC on Wikipedia] or on this [[Main_Page|wiki]].&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code ===&lt;br /&gt;
&lt;br /&gt;
If selected and developed, SoC projects for VLC will be included in later releases.&lt;br /&gt;
All projects are covered by the GPL licence. (v2+)&lt;br /&gt;
&lt;br /&gt;
=== Ideas for VLC ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Read this&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page is split in three lists of ideas:&lt;br /&gt;
# The &#039;&#039;main ideas&#039;&#039; are what seem to be &#039;&#039;key projects&#039;&#039; for VLC and should be more &#039;&#039;thrilling&#039;&#039; than the other ones; we have assigned a potential mentor to each of these.&lt;br /&gt;
# The other ideas are less detailed but could be good ideas too.&lt;br /&gt;
# [[Mini_Projects]] has some ideas too.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Original good ideas will be valued&#039;&#039;&#039;. Last year, half of the ideas were given by students.  We don&#039;t want to impose anything. This is free and Open Source software.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to apply for SoC but want other ideas to develop on, check the [[Mini Projects]] page!&lt;br /&gt;
&lt;br /&gt;
And on the IRC channel, you can have even more ideas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Main ideas ==&lt;br /&gt;
&lt;br /&gt;
=== Qt pimping ===&lt;br /&gt;
&lt;br /&gt;
Improve Qt interface, used on linux and windows with use of Qt-Kinetic or plasma.&lt;br /&gt;
&lt;br /&gt;
The basic, primary interface is reasonable but it could be improved in many ways. The (sub)menus and popups need a lot of (re)design, evaluation, Q&amp;amp;A, tinkering, and so on. For example, adding files is cumbersome and repeated adding even more so. Sorting and other displaying options in the playlist would be nice. Error reporting, presentation, and resolution needs improving. For example, import a few audio streams (one or more m3u/pls playlists, perhaps), try to use them, and see what happens when some urls are not available.&lt;br /&gt;
&lt;br /&gt;
Try to borrow the best ideas from amarok, iTunes, WMP, winamp, freeamp and integrate them into VLC.&lt;br /&gt;
&lt;br /&gt;
Look at other Qt applications or KDE applications.&lt;br /&gt;
&lt;br /&gt;
* You need some Qt and C++ knowlegde and a lot of creativity.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Assembly optimizations in VLC ===&lt;br /&gt;
&lt;br /&gt;
If you are fond of writing ASM and you are fluent in MMX/SSE2, there are many interesting things in VLC to speed up.&lt;br /&gt;
* Profiling VLC.&lt;br /&gt;
* memcpy implementations in SSE* and MMX (see modules/misc/memcpy/fastmemcpy.h)&lt;br /&gt;
* video filters ASM speedups (see modules/video_filter/blend.c)&lt;br /&gt;
* audio filters ASM speedups (see modules/audio_filter/equalizer.c)&lt;br /&gt;
* Porting other ASM video filters to VLC.&lt;br /&gt;
&lt;br /&gt;
This project needs some good ASM knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
* Stuff to read: http://www.agner.org/optimize/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Audio Filters ===&lt;br /&gt;
&lt;br /&gt;
We are looking for a skilled audiophile that knows a lot about audio theory and practice:&lt;br /&gt;
* to create or implement new algorithms, like SRS WoW or other 3D effects&lt;br /&gt;
* to work on channels mixing,&lt;br /&gt;
* to work on tracks mixing,&lt;br /&gt;
* to create scriptable new audio filters in lua and enable users to create whatever audio filtering function they want in a Lua script.&lt;br /&gt;
&lt;br /&gt;
This project needs some good audio knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:Geal|geal]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Test Suite ===&lt;br /&gt;
This project aims at making automatic tests to improve VLC quality.&lt;br /&gt;
&lt;br /&gt;
* Write a series of tests for vlc-internal&lt;br /&gt;
* Integrate a framework for automated plugins testing with the automake build system&lt;br /&gt;
* Automate the different codec playback/mux/etc tests&lt;br /&gt;
* Automate the subtitles tests&lt;br /&gt;
* Write tests for the different bindings: Mac OS X Framework/Python Bindings... etc.&lt;br /&gt;
&lt;br /&gt;
This project is a code project, require good knowledge of C&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Rémi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Media Library work ===&lt;br /&gt;
This project is about working on the media library in SQL.&lt;br /&gt;
&lt;br /&gt;
Modern media applications deal with a lot of huge quantity of data, and it can be difficult to deal with it.&lt;br /&gt;
This can mean:&lt;br /&gt;
* Smart Folders&lt;br /&gt;
* Smart Playlists&lt;br /&gt;
* IMDB integration&lt;br /&gt;
* Integrated and saved bookmarks&lt;br /&gt;
* MetaData searching and editing&lt;br /&gt;
* Voting and external data integration&lt;br /&gt;
&lt;br /&gt;
See http://jpeg.dinauz.org/VideoLAN/gsoc/&lt;br /&gt;
&lt;br /&gt;
Proposed mentor: &#039;&#039;jpeg&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Services Discovery, like Jamendo integration ===&lt;br /&gt;
&lt;br /&gt;
Jamendo, Last.fm and other online music and video services would be great to integrate into VLC.&lt;br /&gt;
&lt;br /&gt;
This project deals with this integration.&lt;br /&gt;
&lt;br /&gt;
* This needs lua, C and C++ programming skills.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Flash Streaming ===&lt;br /&gt;
&lt;br /&gt;
RTMP implementation for streaming to Flash10.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jpsaman&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Qt embedded interface ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ILEoo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== More Ideas ==&lt;br /&gt;
&lt;br /&gt;
=== QTKit access ===&lt;br /&gt;
Build a QTKit-based access module for OS X (allowing input from USB / FireWire cameras, audio devices, camcorders, tape recorders [, ...your favourite here] ). This access module will also need a nice component GUI.&lt;br /&gt;
&lt;br /&gt;
This project requires knowlege of C and preferably also Objective C, and interest in video/audio capture devices. Obviously, the student is required to own at a least a Mac with a (embedded) webcam and an audio input facility for development. Knowledge of the QuickTime APIs and previous experience with Cocoa are strong pluses.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: thedj&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===  GUI interfaces for the browsers plug-ins ===&lt;br /&gt;
This project focuses on adding interfaces to our browser plug-ins, in order to have, in the web pages embedded mode, buttons to control {{VLC}} as in WMP or Youtube player. These buttons need to be cross-platform and cross-browsers. A right-click context menu with basic commands might be a nice way to get started.&lt;br /&gt;
&lt;br /&gt;
The second part of this project aims to provide a replacement for all preconfigured media players embedded in web pages, if possible. For example, when a webpage asks for WMP embedded plugin, youtube player, quicktime player or any other, VLC would detect the stream and display it. This would mean less CPU needed than Flash based players.&lt;br /&gt;
&lt;br /&gt;
This project may need to work in concert with some improvements on the cache handling module access.&lt;br /&gt;
&lt;br /&gt;
The look of the interface should not be a problem. There is a proof of concept and a better design can be added later on.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jpsaman and jpd&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== OpenMAX AL bindings for LibVLC ===&lt;br /&gt;
&lt;br /&gt;
OpenMAX is a portable framework for handling audio, video and pictures.&lt;br /&gt;
&lt;br /&gt;
OpenMAX AL is an API designed to create and control media players, and make them communicate with devices such as audio inputs and outputs, cameras, LEDs, etc. In this project, the student would integrate LibVLC, the VLC framework with OpenMAX.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Rémi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== DXVA Integration ===&lt;br /&gt;
Since Windows Vista, some nice APIs are available, and you can do fun things like GPU-based decoding. Some good work could be done here.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: geal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Linux GPU Acceleration Integration ===&lt;br /&gt;
Some nice APIs are available like VAAPI and like XvBA, and you can do fun things like GPU-based decoding.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jpsaman&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Automated threading error detection ===&lt;br /&gt;
VLC is heavily multithreaded.&lt;br /&gt;
&lt;br /&gt;
This project would involve extending the VLC threading APIs to provide better run-time consistency checks, and possibly proof of correctness.&lt;br /&gt;
&lt;br /&gt;
This could be similar to the lock consistency checking in the Linux kernel, albeit more simple - VLC does not have to deal with interruptions neither atomic operation and has fewer thread and synchronisation constructs.&lt;br /&gt;
&lt;br /&gt;
This project requires working knowledge of the C programming language and POSIX threads.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Skins improvements ===&lt;br /&gt;
&lt;br /&gt;
Better video output integration.&lt;br /&gt;
&lt;br /&gt;
Better skin support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== SVCD handling ===&lt;br /&gt;
&lt;br /&gt;
Make SVCD&#039;s work. Menu selection, navigation and hot spots. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Mini Projects - More ideas ==&lt;br /&gt;
&lt;br /&gt;
This sections welcomes all &#039;&#039;&#039;Original&#039;&#039;&#039; ideas which can be implemented in a short span of time.However, We have a more general page for ideas for Project in {{VLC}}, that could give you ideas: [[Mini_Projects]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Gmail Integration ===&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
* Either, generate an XmlHttpRequest to send the new status to Server.&lt;br /&gt;
* Or, Fire the Gmail Eventlisteners accordingly. &lt;br /&gt;
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&amp;lt;-&amp;gt;Google server interaction, it would have required User authentications ,Proxy Handling etc.&lt;br /&gt;
&lt;br /&gt;
== Questions? Contact us? ==&lt;br /&gt;
If you need to contact us for any questions, you can:&lt;br /&gt;
* use the [http://www.videolan.org/developers/lists.html vlc-devel] mailing list,&lt;br /&gt;
* come on IRC irc://irc.videolan.org #videolan&lt;br /&gt;
* contact one of the mentors or the backup mentors,&lt;br /&gt;
* or contact [[User:J-b| Jean-Baptiste Kempf]]&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
The proposed mentors are:&lt;br /&gt;
* jpeg&lt;br /&gt;
* remi&lt;br /&gt;
* xtophe&lt;br /&gt;
* jb&lt;br /&gt;
* dionoea&lt;br /&gt;
* jpsaman&lt;br /&gt;
* jpd&lt;br /&gt;
&lt;br /&gt;
=== Administrators ===&lt;br /&gt;
* jb&lt;br /&gt;
* xtophe&lt;br /&gt;
&lt;br /&gt;
[[Category:Activities]] [[Category:SoC]]&lt;/div&gt;</summary>
		<author><name>Pk2010</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2010&amp;diff=15517</id>
		<title>SoC 2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2010&amp;diff=15517"/>
		<updated>2010-02-11T13:03:50Z</updated>

		<summary type="html">&lt;p&gt;Pk2010: /* QuickTimeVR Playback */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Google Summer of Code 2010.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction &amp;amp; Information ==&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VLC media player ===&lt;br /&gt;
{{VLC}} is a cross-platform multimedia player, encoder and streamer application.&lt;br /&gt;
It is one of the most successful open-source projects without any professional structure underneath.&lt;br /&gt;
&lt;br /&gt;
{{VLC}} is downloaded at an approximate monthly rate of 5 millions from the main website and that&#039;s not including third-party distributions (Linux)!&lt;br /&gt;
&lt;br /&gt;
You can find more information on [http://en.wikipedia.org/wiki/VLC_media_player VLC on Wikipedia] or on this [[Main_Page|wiki]].&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code ===&lt;br /&gt;
&lt;br /&gt;
If selected and developed, SoC projects for VLC will be included in later releases.&lt;br /&gt;
All projects are covered by the GPL licence. (v2+)&lt;br /&gt;
&lt;br /&gt;
=== Ideas for VLC ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Read this&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page is split in three lists of ideas:&lt;br /&gt;
# The &#039;&#039;main ideas&#039;&#039; are what seem to be &#039;&#039;key projects&#039;&#039; for VLC and should be more &#039;&#039;thrilling&#039;&#039; than the other ones; we have assigned a potential mentor to each of these.&lt;br /&gt;
# The other ideas are less detailed but could be good ideas too.&lt;br /&gt;
# [[Mini_Projects]] has some ideas too.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Original good ideas will be valued&#039;&#039;&#039;. Last year, half of the ideas were given by students.  We don&#039;t want to impose anything. This is free and Open Source software.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to apply for SoC but want other ideas to develop on, check the [[Mini Projects]] page!&lt;br /&gt;
&lt;br /&gt;
And on the IRC channel, you can have even more ideas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Main ideas ==&lt;br /&gt;
&lt;br /&gt;
=== Qt pimping ===&lt;br /&gt;
&lt;br /&gt;
Improve Qt interface, used on linux and windows with use of Qt-Kinetic or plasma.&lt;br /&gt;
&lt;br /&gt;
The basic, primary interface is reasonable but it could be improved in many ways. The (sub)menus and popups need a lot of (re)design, evaluation, Q&amp;amp;A, tinkering, and so on. For example, adding files is cumbersome and repeated adding even more so. Sorting and other displaying options in the playlist would be nice. Error reporting, presentation, and resolution needs improving. For example, import a few audio streams (one or more m3u/pls playlists, perhaps), try to use them, and see what happens when some urls are not available.&lt;br /&gt;
&lt;br /&gt;
Try to borrow the best ideas from amarok, iTunes, WMP, winamp, freeamp and integrate them into VLC.&lt;br /&gt;
&lt;br /&gt;
Look at other Qt applications or KDE applications.&lt;br /&gt;
&lt;br /&gt;
* You need some Qt and C++ knowlegde and a lot of creativity.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Assembly optimizations in VLC ===&lt;br /&gt;
&lt;br /&gt;
If you are fond of writing ASM and you are fluent in MMX/SSE2, there are many interesting things in VLC to speed up.&lt;br /&gt;
* Profiling VLC.&lt;br /&gt;
* memcpy implementations in SSE* and MMX (see modules/misc/memcpy/fastmemcpy.h)&lt;br /&gt;
* video filters ASM speedups (see modules/video_filter/blend.c)&lt;br /&gt;
* audio filters ASM speedups (see modules/audio_filter/equalizer.c)&lt;br /&gt;
* Porting other ASM video filters to VLC.&lt;br /&gt;
&lt;br /&gt;
This project needs some good ASM knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
* Stuff to read: http://www.agner.org/optimize/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Audio Filters ===&lt;br /&gt;
&lt;br /&gt;
We are looking for a skilled audiophile that knows a lot about audio theory and practice:&lt;br /&gt;
* to create or implement new algorithms, like SRS WoW or other 3D effects&lt;br /&gt;
* to work on channels mixing,&lt;br /&gt;
* to work on tracks mixing,&lt;br /&gt;
* to create scriptable new audio filters in lua and enable users to create whatever audio filtering function they want in a Lua script.&lt;br /&gt;
&lt;br /&gt;
This project needs some good audio knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:Geal|geal]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Test Suite ===&lt;br /&gt;
This project aims at making automatic tests to improve VLC quality.&lt;br /&gt;
&lt;br /&gt;
* Write a series of tests for vlc-internal&lt;br /&gt;
* Integrate a framework for automated plugins testing with the automake build system&lt;br /&gt;
* Automate the different codec playback/mux/etc tests&lt;br /&gt;
* Automate the subtitles tests&lt;br /&gt;
* Write tests for the different bindings: Mac OS X Framework/Python Bindings... etc.&lt;br /&gt;
&lt;br /&gt;
This project is a code project, require good knowledge of C&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Rémi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Media Library work ===&lt;br /&gt;
This project is about working on the media library in SQL.&lt;br /&gt;
&lt;br /&gt;
Modern media applications deal with a lot of huge quantity of data, and it can be difficult to deal with it.&lt;br /&gt;
This can mean:&lt;br /&gt;
* Smart Folders&lt;br /&gt;
* Smart Playlists&lt;br /&gt;
* IMDB integration&lt;br /&gt;
* Integrated and saved bookmarks&lt;br /&gt;
* MetaData searching and editing&lt;br /&gt;
* Voting and external data integration&lt;br /&gt;
&lt;br /&gt;
See http://jpeg.dinauz.org/VideoLAN/gsoc/&lt;br /&gt;
&lt;br /&gt;
Proposed mentor: &#039;&#039;jpeg&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Services Discovery, like Jamendo integration ===&lt;br /&gt;
&lt;br /&gt;
Jamendo, Last.fm and other online music and video services would be great to integrate into VLC.&lt;br /&gt;
&lt;br /&gt;
This project deals with this integration.&lt;br /&gt;
&lt;br /&gt;
* This needs lua, C and C++ programming skills.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Flash Streaming ===&lt;br /&gt;
&lt;br /&gt;
RTMP implementation for streaming to Flash10.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jpsaman&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Qt embedded interface ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ILEoo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== More Ideas ==&lt;br /&gt;
&lt;br /&gt;
=== QTKit access ===&lt;br /&gt;
Build a QTKit-based access module for OS X (allowing input from USB / FireWire cameras, audio devices, camcorders, tape recorders [, ...your favourite here] ). This access module will also need a nice component GUI.&lt;br /&gt;
&lt;br /&gt;
This project requires knowlege of C and preferably also Objective C, and interest in video/audio capture devices. Obviously, the student is required to own at a least a Mac with a (embedded) webcam and an audio input facility for development. Knowledge of the QuickTime APIs and previous experience with Cocoa are strong pluses.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: thedj&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===  GUI interfaces for the browsers plug-ins ===&lt;br /&gt;
This project focuses on adding interfaces to our browser plug-ins, in order to have, in the web pages embedded mode, buttons to control {{VLC}} as in WMP or Youtube player. These buttons need to be cross-platform and cross-browsers. A right-click context menu with basic commands might be a nice way to get started.&lt;br /&gt;
&lt;br /&gt;
The second part of this project aims to provide a replacement for all preconfigured media players embedded in web pages, if possible. For example, when a webpage asks for WMP embedded plugin, youtube player, quicktime player or any other, VLC would detect the stream and display it. This would mean less CPU needed than Flash based players.&lt;br /&gt;
&lt;br /&gt;
This project may need to work in concert with some improvements on the cache handling module access.&lt;br /&gt;
&lt;br /&gt;
The look of the interface should not be a problem. There is a proof of concept and a better design can be added later on.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jpsaman and jpd&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== OpenMAX AL bindings for LibVLC ===&lt;br /&gt;
&lt;br /&gt;
OpenMAX is a portable framework for handling audio, video and pictures.&lt;br /&gt;
&lt;br /&gt;
OpenMAX AL is an API designed to create and control media players, and make them communicate with devices such as audio inputs and outputs, cameras, LEDs, etc. In this project, the student would integrate LibVLC, the VLC framework with OpenMAX.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Rémi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== DXVA Integration ===&lt;br /&gt;
Since Windows Vista, some nice APIs are available, and you can do fun things like GPU-based decoding. Some good work could be done here.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: geal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Linux GPU Acceleration Integration ===&lt;br /&gt;
Some nice APIs are available like VAAPI and like XvBA, and you can do fun things like GPU-based decoding.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jpsaman&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Automated threading error detection ===&lt;br /&gt;
VLC is heavily multithreaded.&lt;br /&gt;
&lt;br /&gt;
This project would involve extending the VLC threading APIs to provide better run-time consistency checks, and possibly proof of correctness.&lt;br /&gt;
&lt;br /&gt;
This could be similar to the lock consistency checking in the Linux kernel, albeit more simple - VLC does not have to deal with interruptions neither atomic operation and has fewer thread and synchronisation constructs.&lt;br /&gt;
&lt;br /&gt;
This project requires working knowledge of the C programming language and POSIX threads.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Skins improvements ===&lt;br /&gt;
&lt;br /&gt;
Better video output integration.&lt;br /&gt;
&lt;br /&gt;
Better skin support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== SVCD handling ===&lt;br /&gt;
&lt;br /&gt;
Make SVCD&#039;s work. Menu selection, navigation and hot spots. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Mini Projects - More ideas ==&lt;br /&gt;
&lt;br /&gt;
This sections welcomes all &#039;&#039;&#039;Original&#039;&#039;&#039; ideas which can be implemented in a short span of time.However, We have a more general page for ideas for Project in {{VLC}}, that could give you ideas: [[Mini_Projects]].&lt;br /&gt;
&lt;br /&gt;
== Questions? Contact us? ==&lt;br /&gt;
If you need to contact us for any questions, you can:&lt;br /&gt;
* use the [http://www.videolan.org/developers/lists.html vlc-devel] mailing list,&lt;br /&gt;
* come on IRC irc://irc.videolan.org #videolan&lt;br /&gt;
* contact one of the mentors or the backup mentors,&lt;br /&gt;
* or contact [[User:J-b| Jean-Baptiste Kempf]]&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
The proposed mentors are:&lt;br /&gt;
* jpeg&lt;br /&gt;
* remi&lt;br /&gt;
* xtophe&lt;br /&gt;
* jb&lt;br /&gt;
* dionoea&lt;br /&gt;
* jpsaman&lt;br /&gt;
* jpd&lt;br /&gt;
&lt;br /&gt;
=== Administrators ===&lt;br /&gt;
* jb&lt;br /&gt;
* xtophe&lt;br /&gt;
&lt;br /&gt;
[[Category:Activities]] [[Category:SoC]]&lt;/div&gt;</summary>
		<author><name>Pk2010</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2010&amp;diff=15516</id>
		<title>SoC 2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2010&amp;diff=15516"/>
		<updated>2010-02-11T12:49:53Z</updated>

		<summary type="html">&lt;p&gt;Pk2010: /* Questions? Contact us? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Google Summer of Code 2010.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction &amp;amp; Information ==&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VLC media player ===&lt;br /&gt;
{{VLC}} is a cross-platform multimedia player, encoder and streamer application.&lt;br /&gt;
It is one of the most successful open-source projects without any professional structure underneath.&lt;br /&gt;
&lt;br /&gt;
{{VLC}} is downloaded at an approximate monthly rate of 5 millions from the main website and that&#039;s not including third-party distributions (Linux)!&lt;br /&gt;
&lt;br /&gt;
You can find more information on [http://en.wikipedia.org/wiki/VLC_media_player VLC on Wikipedia] or on this [[Main_Page|wiki]].&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code ===&lt;br /&gt;
&lt;br /&gt;
If selected and developed, SoC projects for VLC will be included in later releases.&lt;br /&gt;
All projects are covered by the GPL licence. (v2+)&lt;br /&gt;
&lt;br /&gt;
=== Ideas for VLC ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Read this&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page is split in three lists of ideas:&lt;br /&gt;
# The &#039;&#039;main ideas&#039;&#039; are what seem to be &#039;&#039;key projects&#039;&#039; for VLC and should be more &#039;&#039;thrilling&#039;&#039; than the other ones; we have assigned a potential mentor to each of these.&lt;br /&gt;
# The other ideas are less detailed but could be good ideas too.&lt;br /&gt;
# [[Mini_Projects]] has some ideas too.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Original good ideas will be valued&#039;&#039;&#039;. Last year, half of the ideas were given by students.  We don&#039;t want to impose anything. This is free and Open Source software.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to apply for SoC but want other ideas to develop on, check the [[Mini Projects]] page!&lt;br /&gt;
&lt;br /&gt;
And on the IRC channel, you can have even more ideas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Main ideas ==&lt;br /&gt;
&lt;br /&gt;
=== Qt pimping ===&lt;br /&gt;
&lt;br /&gt;
Improve Qt interface, used on linux and windows with use of Qt-Kinetic or plasma.&lt;br /&gt;
&lt;br /&gt;
The basic, primary interface is reasonable but it could be improved in many ways. The (sub)menus and popups need a lot of (re)design, evaluation, Q&amp;amp;A, tinkering, and so on. For example, adding files is cumbersome and repeated adding even more so. Sorting and other displaying options in the playlist would be nice. Error reporting, presentation, and resolution needs improving. For example, import a few audio streams (one or more m3u/pls playlists, perhaps), try to use them, and see what happens when some urls are not available.&lt;br /&gt;
&lt;br /&gt;
Try to borrow the best ideas from amarok, iTunes, WMP, winamp, freeamp and integrate them into VLC.&lt;br /&gt;
&lt;br /&gt;
Look at other Qt applications or KDE applications.&lt;br /&gt;
&lt;br /&gt;
* You need some Qt and C++ knowlegde and a lot of creativity.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== QuickTimeVR Playback ===&lt;br /&gt;
This project deals with integration QuickTimeVR inside VLC using work from [http://freepv.sf.net FreePV] (SoC 2007).&lt;br /&gt;
&lt;br /&gt;
Other panoramic data inputs include video surveillance cameras with a 360° lens, regular images, etc.&lt;br /&gt;
&lt;br /&gt;
This project is likely to require some modification of the VLC image handling code.&lt;br /&gt;
&lt;br /&gt;
* Interests in photography is strongly suggested.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:Dionoea|Dionoea]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Interested student: [[User:Leonox|Leonox]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[SoC 2009/QuickTimeVR Playback|Project proposal]]&lt;br /&gt;
&lt;br /&gt;
=== Assembly optimizations in VLC ===&lt;br /&gt;
&lt;br /&gt;
If you are fond of writing ASM and you are fluent in MMX/SSE2, there are many interesting things in VLC to speed up.&lt;br /&gt;
* Profiling VLC.&lt;br /&gt;
* memcpy implementations in SSE* and MMX (see modules/misc/memcpy/fastmemcpy.h)&lt;br /&gt;
* video filters ASM speedups (see modules/video_filter/blend.c)&lt;br /&gt;
* audio filters ASM speedups (see modules/audio_filter/equalizer.c)&lt;br /&gt;
* Porting other ASM video filters to VLC.&lt;br /&gt;
&lt;br /&gt;
This project needs some good ASM knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
* Stuff to read: http://www.agner.org/optimize/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Audio Filters ===&lt;br /&gt;
&lt;br /&gt;
We are looking for a skilled audiophile that knows a lot about audio theory and practice:&lt;br /&gt;
* to create or implement new algorithms, like SRS WoW or other 3D effects&lt;br /&gt;
* to work on channels mixing,&lt;br /&gt;
* to work on tracks mixing,&lt;br /&gt;
* to create scriptable new audio filters in lua and enable users to create whatever audio filtering function they want in a Lua script.&lt;br /&gt;
&lt;br /&gt;
This project needs some good audio knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:Geal|geal]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Test Suite ===&lt;br /&gt;
This project aims at making automatic tests to improve VLC quality.&lt;br /&gt;
&lt;br /&gt;
* Write a series of tests for vlc-internal&lt;br /&gt;
* Integrate a framework for automated plugins testing with the automake build system&lt;br /&gt;
* Automate the different codec playback/mux/etc tests&lt;br /&gt;
* Automate the subtitles tests&lt;br /&gt;
* Write tests for the different bindings: Mac OS X Framework/Python Bindings... etc.&lt;br /&gt;
&lt;br /&gt;
This project is a code project, require good knowledge of C&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Rémi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Media Library work ===&lt;br /&gt;
This project is about working on the media library in SQL.&lt;br /&gt;
&lt;br /&gt;
Modern media applications deal with a lot of huge quantity of data, and it can be difficult to deal with it.&lt;br /&gt;
This can mean:&lt;br /&gt;
* Smart Folders&lt;br /&gt;
* Smart Playlists&lt;br /&gt;
* IMDB integration&lt;br /&gt;
* Integrated and saved bookmarks&lt;br /&gt;
* MetaData searching and editing&lt;br /&gt;
* Voting and external data integration&lt;br /&gt;
&lt;br /&gt;
See http://jpeg.dinauz.org/VideoLAN/gsoc/&lt;br /&gt;
&lt;br /&gt;
Proposed mentor: &#039;&#039;jpeg&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Services Discovery, like Jamendo integration ===&lt;br /&gt;
&lt;br /&gt;
Jamendo, Last.fm and other online music and video services would be great to integrate into VLC.&lt;br /&gt;
&lt;br /&gt;
This project deals with this integration.&lt;br /&gt;
&lt;br /&gt;
* This needs lua, C and C++ programming skills.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Flash Streaming ===&lt;br /&gt;
&lt;br /&gt;
RTMP implementation for streaming to Flash10.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jpsaman&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Qt embedded interface ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ILEoo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== More Ideas ==&lt;br /&gt;
&lt;br /&gt;
=== QTKit access ===&lt;br /&gt;
Build a QTKit-based access module for OS X (allowing input from USB / FireWire cameras, audio devices, camcorders, tape recorders [, ...your favourite here] ). This access module will also need a nice component GUI.&lt;br /&gt;
&lt;br /&gt;
This project requires knowlege of C and preferably also Objective C, and interest in video/audio capture devices. Obviously, the student is required to own at a least a Mac with a (embedded) webcam and an audio input facility for development. Knowledge of the QuickTime APIs and previous experience with Cocoa are strong pluses.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: thedj&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===  GUI interfaces for the browsers plug-ins ===&lt;br /&gt;
This project focuses on adding interfaces to our browser plug-ins, in order to have, in the web pages embedded mode, buttons to control {{VLC}} as in WMP or Youtube player. These buttons need to be cross-platform and cross-browsers. A right-click context menu with basic commands might be a nice way to get started.&lt;br /&gt;
&lt;br /&gt;
The second part of this project aims to provide a replacement for all preconfigured media players embedded in web pages, if possible. For example, when a webpage asks for WMP embedded plugin, youtube player, quicktime player or any other, VLC would detect the stream and display it. This would mean less CPU needed than Flash based players.&lt;br /&gt;
&lt;br /&gt;
This project may need to work in concert with some improvements on the cache handling module access.&lt;br /&gt;
&lt;br /&gt;
The look of the interface should not be a problem. There is a proof of concept and a better design can be added later on.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jpsaman and jpd&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== OpenMAX AL bindings for LibVLC ===&lt;br /&gt;
&lt;br /&gt;
OpenMAX is a portable framework for handling audio, video and pictures.&lt;br /&gt;
&lt;br /&gt;
OpenMAX AL is an API designed to create and control media players, and make them communicate with devices such as audio inputs and outputs, cameras, LEDs, etc. In this project, the student would integrate LibVLC, the VLC framework with OpenMAX.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Rémi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== DXVA Integration ===&lt;br /&gt;
Since Windows Vista, some nice APIs are available, and you can do fun things like GPU-based decoding. Some good work could be done here.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: geal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Linux GPU Acceleration Integration ===&lt;br /&gt;
Some nice APIs are available like VAAPI and like XvBA, and you can do fun things like GPU-based decoding.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jpsaman&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Automated threading error detection ===&lt;br /&gt;
VLC is heavily multithreaded.&lt;br /&gt;
&lt;br /&gt;
This project would involve extending the VLC threading APIs to provide better run-time consistency checks, and possibly proof of correctness.&lt;br /&gt;
&lt;br /&gt;
This could be similar to the lock consistency checking in the Linux kernel, albeit more simple - VLC does not have to deal with interruptions neither atomic operation and has fewer thread and synchronisation constructs.&lt;br /&gt;
&lt;br /&gt;
This project requires working knowledge of the C programming language and POSIX threads.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Skins improvements ===&lt;br /&gt;
&lt;br /&gt;
Better video output integration.&lt;br /&gt;
&lt;br /&gt;
Better skin support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== SVCD handling ===&lt;br /&gt;
&lt;br /&gt;
Make SVCD&#039;s work. Menu selection, navigation and hot spots. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Mini Projects - More ideas ==&lt;br /&gt;
&lt;br /&gt;
This sections welcomes all &#039;&#039;&#039;Original&#039;&#039;&#039; ideas which can be implemented in a short span of time.However, We have a more general page for ideas for Project in {{VLC}}, that could give you ideas: [[Mini_Projects]].&lt;br /&gt;
&lt;br /&gt;
== Questions? Contact us? ==&lt;br /&gt;
If you need to contact us for any questions, you can:&lt;br /&gt;
* use the [http://www.videolan.org/developers/lists.html vlc-devel] mailing list,&lt;br /&gt;
* come on IRC irc://irc.videolan.org #videolan&lt;br /&gt;
* contact one of the mentors or the backup mentors,&lt;br /&gt;
* or contact [[User:J-b| Jean-Baptiste Kempf]]&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
The proposed mentors are:&lt;br /&gt;
* jpeg&lt;br /&gt;
* remi&lt;br /&gt;
* xtophe&lt;br /&gt;
* jb&lt;br /&gt;
* dionoea&lt;br /&gt;
* jpsaman&lt;br /&gt;
* jpd&lt;br /&gt;
&lt;br /&gt;
=== Administrators ===&lt;br /&gt;
* jb&lt;br /&gt;
* xtophe&lt;br /&gt;
&lt;br /&gt;
[[Category:Activities]] [[Category:SoC]]&lt;/div&gt;</summary>
		<author><name>Pk2010</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2010&amp;diff=15515</id>
		<title>SoC 2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2010&amp;diff=15515"/>
		<updated>2010-02-11T12:48:00Z</updated>

		<summary type="html">&lt;p&gt;Pk2010: /* Mini Projects - More ideas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Google Summer of Code 2010.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction &amp;amp; Information ==&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VLC media player ===&lt;br /&gt;
{{VLC}} is a cross-platform multimedia player, encoder and streamer application.&lt;br /&gt;
It is one of the most successful open-source projects without any professional structure underneath.&lt;br /&gt;
&lt;br /&gt;
{{VLC}} is downloaded at an approximate monthly rate of 5 millions from the main website and that&#039;s not including third-party distributions (Linux)!&lt;br /&gt;
&lt;br /&gt;
You can find more information on [http://en.wikipedia.org/wiki/VLC_media_player VLC on Wikipedia] or on this [[Main_Page|wiki]].&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code ===&lt;br /&gt;
&lt;br /&gt;
If selected and developed, SoC projects for VLC will be included in later releases.&lt;br /&gt;
All projects are covered by the GPL licence. (v2+)&lt;br /&gt;
&lt;br /&gt;
=== Ideas for VLC ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Read this&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page is split in three lists of ideas:&lt;br /&gt;
# The &#039;&#039;main ideas&#039;&#039; are what seem to be &#039;&#039;key projects&#039;&#039; for VLC and should be more &#039;&#039;thrilling&#039;&#039; than the other ones; we have assigned a potential mentor to each of these.&lt;br /&gt;
# The other ideas are less detailed but could be good ideas too.&lt;br /&gt;
# [[Mini_Projects]] has some ideas too.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Original good ideas will be valued&#039;&#039;&#039;. Last year, half of the ideas were given by students.  We don&#039;t want to impose anything. This is free and Open Source software.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to apply for SoC but want other ideas to develop on, check the [[Mini Projects]] page!&lt;br /&gt;
&lt;br /&gt;
And on the IRC channel, you can have even more ideas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Main ideas ==&lt;br /&gt;
&lt;br /&gt;
=== Qt pimping ===&lt;br /&gt;
&lt;br /&gt;
Improve Qt interface, used on linux and windows with use of Qt-Kinetic or plasma.&lt;br /&gt;
&lt;br /&gt;
The basic, primary interface is reasonable but it could be improved in many ways. The (sub)menus and popups need a lot of (re)design, evaluation, Q&amp;amp;A, tinkering, and so on. For example, adding files is cumbersome and repeated adding even more so. Sorting and other displaying options in the playlist would be nice. Error reporting, presentation, and resolution needs improving. For example, import a few audio streams (one or more m3u/pls playlists, perhaps), try to use them, and see what happens when some urls are not available.&lt;br /&gt;
&lt;br /&gt;
Try to borrow the best ideas from amarok, iTunes, WMP, winamp, freeamp and integrate them into VLC.&lt;br /&gt;
&lt;br /&gt;
Look at other Qt applications or KDE applications.&lt;br /&gt;
&lt;br /&gt;
* You need some Qt and C++ knowlegde and a lot of creativity.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== QuickTimeVR Playback ===&lt;br /&gt;
This project deals with integration QuickTimeVR inside VLC using work from [http://freepv.sf.net FreePV] (SoC 2007).&lt;br /&gt;
&lt;br /&gt;
Other panoramic data inputs include video surveillance cameras with a 360° lens, regular images, etc.&lt;br /&gt;
&lt;br /&gt;
This project is likely to require some modification of the VLC image handling code.&lt;br /&gt;
&lt;br /&gt;
* Interests in photography is strongly suggested.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:Dionoea|Dionoea]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Interested student: [[User:Leonox|Leonox]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[SoC 2009/QuickTimeVR Playback|Project proposal]]&lt;br /&gt;
&lt;br /&gt;
=== Assembly optimizations in VLC ===&lt;br /&gt;
&lt;br /&gt;
If you are fond of writing ASM and you are fluent in MMX/SSE2, there are many interesting things in VLC to speed up.&lt;br /&gt;
* Profiling VLC.&lt;br /&gt;
* memcpy implementations in SSE* and MMX (see modules/misc/memcpy/fastmemcpy.h)&lt;br /&gt;
* video filters ASM speedups (see modules/video_filter/blend.c)&lt;br /&gt;
* audio filters ASM speedups (see modules/audio_filter/equalizer.c)&lt;br /&gt;
* Porting other ASM video filters to VLC.&lt;br /&gt;
&lt;br /&gt;
This project needs some good ASM knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
* Stuff to read: http://www.agner.org/optimize/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Audio Filters ===&lt;br /&gt;
&lt;br /&gt;
We are looking for a skilled audiophile that knows a lot about audio theory and practice:&lt;br /&gt;
* to create or implement new algorithms, like SRS WoW or other 3D effects&lt;br /&gt;
* to work on channels mixing,&lt;br /&gt;
* to work on tracks mixing,&lt;br /&gt;
* to create scriptable new audio filters in lua and enable users to create whatever audio filtering function they want in a Lua script.&lt;br /&gt;
&lt;br /&gt;
This project needs some good audio knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:Geal|geal]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Test Suite ===&lt;br /&gt;
This project aims at making automatic tests to improve VLC quality.&lt;br /&gt;
&lt;br /&gt;
* Write a series of tests for vlc-internal&lt;br /&gt;
* Integrate a framework for automated plugins testing with the automake build system&lt;br /&gt;
* Automate the different codec playback/mux/etc tests&lt;br /&gt;
* Automate the subtitles tests&lt;br /&gt;
* Write tests for the different bindings: Mac OS X Framework/Python Bindings... etc.&lt;br /&gt;
&lt;br /&gt;
This project is a code project, require good knowledge of C&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Rémi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Media Library work ===&lt;br /&gt;
This project is about working on the media library in SQL.&lt;br /&gt;
&lt;br /&gt;
Modern media applications deal with a lot of huge quantity of data, and it can be difficult to deal with it.&lt;br /&gt;
This can mean:&lt;br /&gt;
* Smart Folders&lt;br /&gt;
* Smart Playlists&lt;br /&gt;
* IMDB integration&lt;br /&gt;
* Integrated and saved bookmarks&lt;br /&gt;
* MetaData searching and editing&lt;br /&gt;
* Voting and external data integration&lt;br /&gt;
&lt;br /&gt;
See http://jpeg.dinauz.org/VideoLAN/gsoc/&lt;br /&gt;
&lt;br /&gt;
Proposed mentor: &#039;&#039;jpeg&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Services Discovery, like Jamendo integration ===&lt;br /&gt;
&lt;br /&gt;
Jamendo, Last.fm and other online music and video services would be great to integrate into VLC.&lt;br /&gt;
&lt;br /&gt;
This project deals with this integration.&lt;br /&gt;
&lt;br /&gt;
* This needs lua, C and C++ programming skills.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Flash Streaming ===&lt;br /&gt;
&lt;br /&gt;
RTMP implementation for streaming to Flash10.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jpsaman&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Qt embedded interface ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ILEoo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== More Ideas ==&lt;br /&gt;
&lt;br /&gt;
=== QTKit access ===&lt;br /&gt;
Build a QTKit-based access module for OS X (allowing input from USB / FireWire cameras, audio devices, camcorders, tape recorders [, ...your favourite here] ). This access module will also need a nice component GUI.&lt;br /&gt;
&lt;br /&gt;
This project requires knowlege of C and preferably also Objective C, and interest in video/audio capture devices. Obviously, the student is required to own at a least a Mac with a (embedded) webcam and an audio input facility for development. Knowledge of the QuickTime APIs and previous experience with Cocoa are strong pluses.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: thedj&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===  GUI interfaces for the browsers plug-ins ===&lt;br /&gt;
This project focuses on adding interfaces to our browser plug-ins, in order to have, in the web pages embedded mode, buttons to control {{VLC}} as in WMP or Youtube player. These buttons need to be cross-platform and cross-browsers. A right-click context menu with basic commands might be a nice way to get started.&lt;br /&gt;
&lt;br /&gt;
The second part of this project aims to provide a replacement for all preconfigured media players embedded in web pages, if possible. For example, when a webpage asks for WMP embedded plugin, youtube player, quicktime player or any other, VLC would detect the stream and display it. This would mean less CPU needed than Flash based players.&lt;br /&gt;
&lt;br /&gt;
This project may need to work in concert with some improvements on the cache handling module access.&lt;br /&gt;
&lt;br /&gt;
The look of the interface should not be a problem. There is a proof of concept and a better design can be added later on.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jpsaman and jpd&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== OpenMAX AL bindings for LibVLC ===&lt;br /&gt;
&lt;br /&gt;
OpenMAX is a portable framework for handling audio, video and pictures.&lt;br /&gt;
&lt;br /&gt;
OpenMAX AL is an API designed to create and control media players, and make them communicate with devices such as audio inputs and outputs, cameras, LEDs, etc. In this project, the student would integrate LibVLC, the VLC framework with OpenMAX.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Rémi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== DXVA Integration ===&lt;br /&gt;
Since Windows Vista, some nice APIs are available, and you can do fun things like GPU-based decoding. Some good work could be done here.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: geal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Linux GPU Acceleration Integration ===&lt;br /&gt;
Some nice APIs are available like VAAPI and like XvBA, and you can do fun things like GPU-based decoding.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jpsaman&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Automated threading error detection ===&lt;br /&gt;
VLC is heavily multithreaded.&lt;br /&gt;
&lt;br /&gt;
This project would involve extending the VLC threading APIs to provide better run-time consistency checks, and possibly proof of correctness.&lt;br /&gt;
&lt;br /&gt;
This could be similar to the lock consistency checking in the Linux kernel, albeit more simple - VLC does not have to deal with interruptions neither atomic operation and has fewer thread and synchronisation constructs.&lt;br /&gt;
&lt;br /&gt;
This project requires working knowledge of the C programming language and POSIX threads.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Skins improvements ===&lt;br /&gt;
&lt;br /&gt;
Better video output integration.&lt;br /&gt;
&lt;br /&gt;
Better skin support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== SVCD handling ===&lt;br /&gt;
&lt;br /&gt;
Make SVCD&#039;s work. Menu selection, navigation and hot spots. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Mini Projects - More ideas ==&lt;br /&gt;
&lt;br /&gt;
This sections welcomes all &#039;&#039;&#039;Original&#039;&#039;&#039; ideas which can be implemented in a short span of time.However, We have a more general page for ideas for Project in {{VLC}}, that could give you ideas: [[Mini_Projects]].&lt;br /&gt;
&lt;br /&gt;
== Questions? Contact us? ==&lt;br /&gt;
If you need to contact us for any questions, you can:&lt;br /&gt;
* use this [[Talk:SoC_2009| Talk page]], &lt;br /&gt;
* use the [http://www.videolan.org/developers/lists.html vlc-devel] mailing list,&lt;br /&gt;
* come on IRC irc://irc.videolan.org #videolan&lt;br /&gt;
* contact one of the mentors or the backup mentors,&lt;br /&gt;
* or contact [[User:J-b| Jean-Baptiste Kempf]]&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
The proposed mentors are:&lt;br /&gt;
* jpeg&lt;br /&gt;
* remi&lt;br /&gt;
* xtophe&lt;br /&gt;
* jb&lt;br /&gt;
* dionoea&lt;br /&gt;
* jpsaman&lt;br /&gt;
* jpd&lt;br /&gt;
&lt;br /&gt;
=== Administrators ===&lt;br /&gt;
* jb&lt;br /&gt;
* xtophe&lt;br /&gt;
&lt;br /&gt;
[[Category:Activities]] [[Category:SoC]]&lt;/div&gt;</summary>
		<author><name>Pk2010</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2010&amp;diff=15514</id>
		<title>SoC 2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2010&amp;diff=15514"/>
		<updated>2010-02-11T12:04:57Z</updated>

		<summary type="html">&lt;p&gt;Pk2010: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Google Summer of Code 2010.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction &amp;amp; Information ==&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VLC media player ===&lt;br /&gt;
{{VLC}} is a cross-platform multimedia player, encoder and streamer application.&lt;br /&gt;
It is one of the most successful open-source projects without any professional structure underneath.&lt;br /&gt;
&lt;br /&gt;
{{VLC}} is downloaded at an approximate monthly rate of 5 millions from the main website and that&#039;s not including third-party distributions (Linux)!&lt;br /&gt;
&lt;br /&gt;
You can find more information on [http://en.wikipedia.org/wiki/VLC_media_player VLC on Wikipedia] or on this [[Main_Page|wiki]].&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code ===&lt;br /&gt;
&lt;br /&gt;
If selected and developed, SoC projects for VLC will be included in later releases.&lt;br /&gt;
All projects are covered by the GPL licence. (v2+)&lt;br /&gt;
&lt;br /&gt;
=== Ideas for VLC ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Read this&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page is split in three lists of ideas:&lt;br /&gt;
# The &#039;&#039;main ideas&#039;&#039; are what seem to be &#039;&#039;key projects&#039;&#039; for VLC and should be more &#039;&#039;thrilling&#039;&#039; than the other ones; we have assigned a potential mentor to each of these.&lt;br /&gt;
# The other ideas are less detailed but could be good ideas too.&lt;br /&gt;
# [[Mini_Projects]] has some ideas too.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Original good ideas will be valued&#039;&#039;&#039;. Last year, half of the ideas were given by students.  We don&#039;t want to impose anything. This is free and Open Source software.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to apply for SoC but want other ideas to develop on, check the [[Mini Projects]] page!&lt;br /&gt;
&lt;br /&gt;
And on the IRC channel, you can have even more ideas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Main ideas ==&lt;br /&gt;
&lt;br /&gt;
=== Qt pimping ===&lt;br /&gt;
&lt;br /&gt;
Improve Qt interface, used on linux and windows with use of Qt-Kinetic or plasma.&lt;br /&gt;
&lt;br /&gt;
The basic, primary interface is reasonable but it could be improved in many ways. The (sub)menus and popups need a lot of (re)design, evaluation, Q&amp;amp;A, tinkering, and so on. For example, adding files is cumbersome and repeated adding even more so. Sorting and other displaying options in the playlist would be nice. Error reporting, presentation, and resolution needs improving. For example, import a few audio streams (one or more m3u/pls playlists, perhaps), try to use them, and see what happens when some urls are not available.&lt;br /&gt;
&lt;br /&gt;
Try to borrow the best ideas from amarok, iTunes, WMP, winamp, freeamp and integrate them into VLC.&lt;br /&gt;
&lt;br /&gt;
Look at other Qt applications or KDE applications.&lt;br /&gt;
&lt;br /&gt;
* You need some Qt and C++ knowlegde and a lot of creativity.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== QuickTimeVR Playback ===&lt;br /&gt;
This project deals with integration QuickTimeVR inside VLC using work from [http://freepv.sf.net FreePV] (SoC 2007).&lt;br /&gt;
&lt;br /&gt;
Other panoramic data inputs include video surveillance cameras with a 360° lens, regular images, etc.&lt;br /&gt;
&lt;br /&gt;
This project is likely to require some modification of the VLC image handling code.&lt;br /&gt;
&lt;br /&gt;
* Interests in photography is strongly suggested.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:Dionoea|Dionoea]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Interested student: [[User:Leonox|Leonox]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[SoC 2009/QuickTimeVR Playback|Project proposal]]&lt;br /&gt;
&lt;br /&gt;
=== Assembly optimizations in VLC ===&lt;br /&gt;
&lt;br /&gt;
If you are fond of writing ASM and you are fluent in MMX/SSE2, there are many interesting things in VLC to speed up.&lt;br /&gt;
* Profiling VLC.&lt;br /&gt;
* memcpy implementations in SSE* and MMX (see modules/misc/memcpy/fastmemcpy.h)&lt;br /&gt;
* video filters ASM speedups (see modules/video_filter/blend.c)&lt;br /&gt;
* audio filters ASM speedups (see modules/audio_filter/equalizer.c)&lt;br /&gt;
* Porting other ASM video filters to VLC.&lt;br /&gt;
&lt;br /&gt;
This project needs some good ASM knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
* Stuff to read: http://www.agner.org/optimize/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Audio Filters ===&lt;br /&gt;
&lt;br /&gt;
We are looking for a skilled audiophile that knows a lot about audio theory and practice:&lt;br /&gt;
* to create or implement new algorithms, like SRS WoW or other 3D effects&lt;br /&gt;
* to work on channels mixing,&lt;br /&gt;
* to work on tracks mixing,&lt;br /&gt;
* to create scriptable new audio filters in lua and enable users to create whatever audio filtering function they want in a Lua script.&lt;br /&gt;
&lt;br /&gt;
This project needs some good audio knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:Geal|geal]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Test Suite ===&lt;br /&gt;
This project aims at making automatic tests to improve VLC quality.&lt;br /&gt;
&lt;br /&gt;
* Write a series of tests for vlc-internal&lt;br /&gt;
* Integrate a framework for automated plugins testing with the automake build system&lt;br /&gt;
* Automate the different codec playback/mux/etc tests&lt;br /&gt;
* Automate the subtitles tests&lt;br /&gt;
* Write tests for the different bindings: Mac OS X Framework/Python Bindings... etc.&lt;br /&gt;
&lt;br /&gt;
This project is a code project, require good knowledge of C&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Rémi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Media Library work ===&lt;br /&gt;
This project is about working on the media library in SQL.&lt;br /&gt;
&lt;br /&gt;
Modern media applications deal with a lot of huge quantity of data, and it can be difficult to deal with it.&lt;br /&gt;
This can mean:&lt;br /&gt;
* Smart Folders&lt;br /&gt;
* Smart Playlists&lt;br /&gt;
* IMDB integration&lt;br /&gt;
* Integrated and saved bookmarks&lt;br /&gt;
* MetaData searching and editing&lt;br /&gt;
* Voting and external data integration&lt;br /&gt;
&lt;br /&gt;
See http://jpeg.dinauz.org/VideoLAN/gsoc/&lt;br /&gt;
&lt;br /&gt;
Proposed mentor: &#039;&#039;jpeg&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Services Discovery, like Jamendo integration ===&lt;br /&gt;
&lt;br /&gt;
Jamendo, Last.fm and other online music and video services would be great to integrate into VLC.&lt;br /&gt;
&lt;br /&gt;
This project deals with this integration.&lt;br /&gt;
&lt;br /&gt;
* This needs lua, C and C++ programming skills.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Flash Streaming ===&lt;br /&gt;
&lt;br /&gt;
RTMP implementation for streaming to Flash10.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jpsaman&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Qt embedded interface ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ILEoo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== More Ideas ==&lt;br /&gt;
&lt;br /&gt;
=== QTKit access ===&lt;br /&gt;
Build a QTKit-based access module for OS X (allowing input from USB / FireWire cameras, audio devices, camcorders, tape recorders [, ...your favourite here] ). This access module will also need a nice component GUI.&lt;br /&gt;
&lt;br /&gt;
This project requires knowlege of C and preferably also Objective C, and interest in video/audio capture devices. Obviously, the student is required to own at a least a Mac with a (embedded) webcam and an audio input facility for development. Knowledge of the QuickTime APIs and previous experience with Cocoa are strong pluses.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: thedj&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===  GUI interfaces for the browsers plug-ins ===&lt;br /&gt;
This project focuses on adding interfaces to our browser plug-ins, in order to have, in the web pages embedded mode, buttons to control {{VLC}} as in WMP or Youtube player. These buttons need to be cross-platform and cross-browsers. A right-click context menu with basic commands might be a nice way to get started.&lt;br /&gt;
&lt;br /&gt;
The second part of this project aims to provide a replacement for all preconfigured media players embedded in web pages, if possible. For example, when a webpage asks for WMP embedded plugin, youtube player, quicktime player or any other, VLC would detect the stream and display it. This would mean less CPU needed than Flash based players.&lt;br /&gt;
&lt;br /&gt;
This project may need to work in concert with some improvements on the cache handling module access.&lt;br /&gt;
&lt;br /&gt;
The look of the interface should not be a problem. There is a proof of concept and a better design can be added later on.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jpsaman and jpd&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== OpenMAX AL bindings for LibVLC ===&lt;br /&gt;
&lt;br /&gt;
OpenMAX is a portable framework for handling audio, video and pictures.&lt;br /&gt;
&lt;br /&gt;
OpenMAX AL is an API designed to create and control media players, and make them communicate with devices such as audio inputs and outputs, cameras, LEDs, etc. In this project, the student would integrate LibVLC, the VLC framework with OpenMAX.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Rémi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== DXVA Integration ===&lt;br /&gt;
Since Windows Vista, some nice APIs are available, and you can do fun things like GPU-based decoding. Some good work could be done here.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: geal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Linux GPU Acceleration Integration ===&lt;br /&gt;
Some nice APIs are available like VAAPI and like XvBA, and you can do fun things like GPU-based decoding.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jpsaman&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Automated threading error detection ===&lt;br /&gt;
VLC is heavily multithreaded.&lt;br /&gt;
&lt;br /&gt;
This project would involve extending the VLC threading APIs to provide better run-time consistency checks, and possibly proof of correctness.&lt;br /&gt;
&lt;br /&gt;
This could be similar to the lock consistency checking in the Linux kernel, albeit more simple - VLC does not have to deal with interruptions neither atomic operation and has fewer thread and synchronisation constructs.&lt;br /&gt;
&lt;br /&gt;
This project requires working knowledge of the C programming language and POSIX threads.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Skins improvements ===&lt;br /&gt;
&lt;br /&gt;
Better video output integration.&lt;br /&gt;
&lt;br /&gt;
Better skin support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== SVCD handling ===&lt;br /&gt;
&lt;br /&gt;
Make SVCD&#039;s work. Menu selection, navigation and hot spots. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Mini Projects - More ideas ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Original&#039;&#039;&#039; ideas will be &#039;&#039;&#039;rewarded.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We have a more general page for ideas for Project in {{VLC}}, that could give you ideas: [[Mini_Projects]].&lt;br /&gt;
&lt;br /&gt;
* Visualisation improvements (libprojectM implementation ? )&lt;br /&gt;
* Quick Look plug-in for Mac OS X (Uses VLC to play videos in the Quick Look preview rather than, for example, Flip4Mac WMV via QuickTime)&lt;br /&gt;
&lt;br /&gt;
== Questions? Contact us? ==&lt;br /&gt;
If you need to contact us for any questions, you can:&lt;br /&gt;
* use this [[Talk:SoC_2009| Talk page]], &lt;br /&gt;
* use the [http://www.videolan.org/developers/lists.html vlc-devel] mailing list,&lt;br /&gt;
* come on IRC irc://irc.videolan.org #videolan&lt;br /&gt;
* contact one of the mentors or the backup mentors,&lt;br /&gt;
* or contact [[User:J-b| Jean-Baptiste Kempf]]&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
The proposed mentors are:&lt;br /&gt;
* jpeg&lt;br /&gt;
* remi&lt;br /&gt;
* xtophe&lt;br /&gt;
* jb&lt;br /&gt;
* dionoea&lt;br /&gt;
* jpsaman&lt;br /&gt;
* jpd&lt;br /&gt;
&lt;br /&gt;
=== Administrators ===&lt;br /&gt;
* jb&lt;br /&gt;
* xtophe&lt;br /&gt;
&lt;br /&gt;
[[Category:Activities]] [[Category:SoC]]&lt;/div&gt;</summary>
		<author><name>Pk2010</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2010&amp;diff=15513</id>
		<title>SoC 2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2010&amp;diff=15513"/>
		<updated>2010-02-11T09:13:29Z</updated>

		<summary type="html">&lt;p&gt;Pk2010: Created page with &amp;#039;&amp;#039;&amp;#039;&amp;#039;Google Summer of Code 2009.&amp;#039;&amp;#039;&amp;#039;  This wiki page covers the attempt by the VideoLAN project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Google Summer of Code 2009.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} and [[x264]], the H.264 video encoder.&lt;br /&gt;
&lt;br /&gt;
The projects that are being done in GSoC 2009 can be found [[SoC_2009_projects|here]].&lt;br /&gt;
&lt;br /&gt;
== Introduction &amp;amp; Information ==&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} and [[x264]], the H.264 video encoder.&lt;br /&gt;
&lt;br /&gt;
* This page list the ideas for VLC.&lt;br /&gt;
* There is also a separate page for project ideas for the [[x264]]: &#039;&#039;&#039;[[SoC x264 2009]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If you are a &#039;&#039;&#039;student&#039;&#039;&#039;, please read [[SoC_2009_Rules|the rules and advice]].&lt;br /&gt;
&lt;br /&gt;
=== VLC media player ===&lt;br /&gt;
{{VLC}} is a cross-platform multimedia player, encoder and streamer application.&lt;br /&gt;
It is one of the most successful open-source projects without any professional structure underneath.&lt;br /&gt;
&lt;br /&gt;
{{VLC}} is downloaded at an approximate monthly rate of 5 millions from the main website and that&#039;s not including third-party distributions (Linux)!&lt;br /&gt;
&lt;br /&gt;
You can find more information on [http://en.wikipedia.org/wiki/VLC_media_player VLC on Wikipedia] or on this [[Main_Page|wiki]].&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code ===&lt;br /&gt;
&lt;br /&gt;
If selected and developed, SoC projects for VLC will be included in the VLC 1.1 or any later version release.&lt;br /&gt;
&lt;br /&gt;
SoC projects for x264 will be included in the main tree of the project.&lt;br /&gt;
&lt;br /&gt;
All projects are covered by the GPL licence. (v2+)&lt;br /&gt;
&lt;br /&gt;
=== Ideas for VLC ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Read this&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page is split in three lists of ideas:&lt;br /&gt;
# The &#039;&#039;main ideas&#039;&#039; are what seem to be &#039;&#039;key projects&#039;&#039; for VLC and should be more &#039;&#039;thrilling&#039;&#039; than the other ones; we have assigned a potential mentor to each of these.&lt;br /&gt;
# The other ideas are less detailed but could be good ideas too.&lt;br /&gt;
# [[Mini_Projects]] has some ideas too.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Original good ideas will be valued&#039;&#039;&#039;. Last year, half of the ideas were given by students.  We don&#039;t want to impose anything. This is free and Open Source software.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to apply for SoC but want other ideas to develop on, check the [[Mini Projects]] page!&lt;br /&gt;
&lt;br /&gt;
And on the IRC channel, you can have even more ideas.&lt;br /&gt;
&lt;br /&gt;
===Ideas for x264===&lt;br /&gt;
For x264 ideas, please see [[SoC x264 2009]].&lt;br /&gt;
&lt;br /&gt;
== Main ideas ==&lt;br /&gt;
&lt;br /&gt;
=== Qt pimping ===&lt;br /&gt;
&lt;br /&gt;
Improve Qt interface, used on linux and windows with use of Qt-Kinetic or plasma.&lt;br /&gt;
&lt;br /&gt;
The basic, primary interface is reasonable but it could be improved in many ways. The (sub)menus and popups need a lot of (re)design, evaluation, Q&amp;amp;A, tinkering, and so on. For example, adding files is cumbersome and repeated adding even more so. Sorting and other displaying options in the playlist would be nice. Error reporting, presentation, and resolution needs improving. For example, import a few audio streams (one or more m3u/pls playlists, perhaps), try to use them, and see what happens when some urls are not available.&lt;br /&gt;
&lt;br /&gt;
Try to borrow the best ideas from amarok, iTunes, WMP, winamp, freeamp and integrate them into VLC.&lt;br /&gt;
&lt;br /&gt;
Look at other Qt applications or KDE applications.&lt;br /&gt;
&lt;br /&gt;
* You need some Qt and C++ knowlegde and a lot of creativity.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== QuickTimeVR Playback ===&lt;br /&gt;
This project deals with integration QuickTimeVR inside VLC using work from [http://freepv.sf.net FreePV] (SoC 2007).&lt;br /&gt;
&lt;br /&gt;
Other panoramic data inputs include video surveillance cameras with a 360° lens, regular images, etc.&lt;br /&gt;
&lt;br /&gt;
This project is likely to require some modification of the VLC image handling code.&lt;br /&gt;
&lt;br /&gt;
* Interests in photography is strongly suggested.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:Dionoea|Dionoea]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Interested student: [[User:Leonox|Leonox]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[SoC 2009/QuickTimeVR Playback|Project proposal]]&lt;br /&gt;
&lt;br /&gt;
=== Assembly optimizations in VLC ===&lt;br /&gt;
&lt;br /&gt;
If you are fond of writing ASM and you are fluent in MMX/SSE2, there are many interesting things in VLC to speed up.&lt;br /&gt;
* Profiling VLC.&lt;br /&gt;
* memcpy implementations in SSE* and MMX (see modules/misc/memcpy/fastmemcpy.h)&lt;br /&gt;
* video filters ASM speedups (see modules/video_filter/blend.c)&lt;br /&gt;
* audio filters ASM speedups (see modules/audio_filter/equalizer.c)&lt;br /&gt;
* Porting other ASM video filters to VLC.&lt;br /&gt;
&lt;br /&gt;
This project needs some good ASM knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
* Stuff to read: http://www.agner.org/optimize/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Audio Filters ===&lt;br /&gt;
&lt;br /&gt;
We are looking for a skilled audiophile that knows a lot about audio theory and practice:&lt;br /&gt;
* to create or implement new algorithms, like SRS WoW or other 3D effects&lt;br /&gt;
* to work on channels mixing,&lt;br /&gt;
* to work on tracks mixing,&lt;br /&gt;
* to create scriptable new audio filters in lua and enable users to create whatever audio filtering function they want in a Lua script.&lt;br /&gt;
&lt;br /&gt;
This project needs some good audio knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:Geal|geal]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Test Suite ===&lt;br /&gt;
This project aims at making automatic tests to improve VLC quality.&lt;br /&gt;
&lt;br /&gt;
* Write a series of tests for vlc-internal&lt;br /&gt;
* Integrate a framework for automated plugins testing with the automake build system&lt;br /&gt;
* Automate the different codec playback/mux/etc tests&lt;br /&gt;
* Automate the subtitles tests&lt;br /&gt;
* Write tests for the different bindings: Mac OS X Framework/Python Bindings... etc.&lt;br /&gt;
&lt;br /&gt;
This project is a code project, require good knowledge of C&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Rémi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Media Library work ===&lt;br /&gt;
This project is about working on the media library in SQL.&lt;br /&gt;
&lt;br /&gt;
Modern media applications deal with a lot of huge quantity of data, and it can be difficult to deal with it.&lt;br /&gt;
This can mean:&lt;br /&gt;
* Smart Folders&lt;br /&gt;
* Smart Playlists&lt;br /&gt;
* IMDB integration&lt;br /&gt;
* Integrated and saved bookmarks&lt;br /&gt;
* MetaData searching and editing&lt;br /&gt;
* Voting and external data integration&lt;br /&gt;
&lt;br /&gt;
See http://jpeg.dinauz.org/VideoLAN/gsoc/&lt;br /&gt;
&lt;br /&gt;
Proposed mentor: &#039;&#039;jpeg&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Services Discovery, like Jamendo integration ===&lt;br /&gt;
&lt;br /&gt;
Jamendo, Last.fm and other online music and video services would be great to integrate into VLC.&lt;br /&gt;
&lt;br /&gt;
This project deals with this integration.&lt;br /&gt;
&lt;br /&gt;
* This needs lua, C and C++ programming skills.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Flash Streaming ===&lt;br /&gt;
&lt;br /&gt;
RTMP implementation for streaming to Flash10.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jpsaman&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Qt embedded interface ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ILEoo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== More Ideas ==&lt;br /&gt;
&lt;br /&gt;
=== QTKit access ===&lt;br /&gt;
Build a QTKit-based access module for OS X (allowing input from USB / FireWire cameras, audio devices, camcorders, tape recorders [, ...your favourite here] ). This access module will also need a nice component GUI.&lt;br /&gt;
&lt;br /&gt;
This project requires knowlege of C and preferably also Objective C, and interest in video/audio capture devices. Obviously, the student is required to own at a least a Mac with a (embedded) webcam and an audio input facility for development. Knowledge of the QuickTime APIs and previous experience with Cocoa are strong pluses.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: thedj&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===  GUI interfaces for the browsers plug-ins ===&lt;br /&gt;
This project focuses on adding interfaces to our browser plug-ins, in order to have, in the web pages embedded mode, buttons to control {{VLC}} as in WMP or Youtube player. These buttons need to be cross-platform and cross-browsers. A right-click context menu with basic commands might be a nice way to get started.&lt;br /&gt;
&lt;br /&gt;
The second part of this project aims to provide a replacement for all preconfigured media players embedded in web pages, if possible. For example, when a webpage asks for WMP embedded plugin, youtube player, quicktime player or any other, VLC would detect the stream and display it. This would mean less CPU needed than Flash based players.&lt;br /&gt;
&lt;br /&gt;
This project may need to work in concert with some improvements on the cache handling module access.&lt;br /&gt;
&lt;br /&gt;
The look of the interface should not be a problem. There is a proof of concept and a better design can be added later on.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jpsaman and jpd&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== OpenMAX AL bindings for LibVLC ===&lt;br /&gt;
&lt;br /&gt;
OpenMAX is a portable framework for handling audio, video and pictures.&lt;br /&gt;
&lt;br /&gt;
OpenMAX AL is an API designed to create and control media players, and make them communicate with devices such as audio inputs and outputs, cameras, LEDs, etc. In this project, the student would integrate LibVLC, the VLC framework with OpenMAX.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Rémi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== DXVA Integration ===&lt;br /&gt;
Since Windows Vista, some nice APIs are available, and you can do fun things like GPU-based decoding. Some good work could be done here.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: geal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Linux GPU Acceleration Integration ===&lt;br /&gt;
Some nice APIs are available like VAAPI and like XvBA, and you can do fun things like GPU-based decoding.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jpsaman&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Automated threading error detection ===&lt;br /&gt;
VLC is heavily multithreaded.&lt;br /&gt;
&lt;br /&gt;
This project would involve extending the VLC threading APIs to provide better run-time consistency checks, and possibly proof of correctness.&lt;br /&gt;
&lt;br /&gt;
This could be similar to the lock consistency checking in the Linux kernel, albeit more simple - VLC does not have to deal with interruptions neither atomic operation and has fewer thread and synchronisation constructs.&lt;br /&gt;
&lt;br /&gt;
This project requires working knowledge of the C programming language and POSIX threads.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Skins improvements ===&lt;br /&gt;
&lt;br /&gt;
Better video output integration.&lt;br /&gt;
&lt;br /&gt;
Better skin support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== SVCD handling ===&lt;br /&gt;
&lt;br /&gt;
Make SVCD&#039;s work. Menu selection, navigation and hot spots. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: ?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Mini Projects - More ideas ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Original&#039;&#039;&#039; ideas will be &#039;&#039;&#039;rewarded.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We have a more general page for ideas for Project in {{VLC}}, that could give you ideas: [[Mini_Projects]].&lt;br /&gt;
&lt;br /&gt;
* Visualisation improvements (libprojectM implementation ? )&lt;br /&gt;
* Quick Look plug-in for Mac OS X (Uses VLC to play videos in the Quick Look preview rather than, for example, Flip4Mac WMV via QuickTime)&lt;br /&gt;
&lt;br /&gt;
== Questions? Contact us? ==&lt;br /&gt;
If you need to contact us for any questions, you can:&lt;br /&gt;
* use this [[Talk:SoC_2009| Talk page]], &lt;br /&gt;
* use the [http://www.videolan.org/developers/lists.html vlc-devel] mailing list,&lt;br /&gt;
* come on IRC irc://irc.videolan.org #videolan&lt;br /&gt;
* contact one of the mentors or the backup mentors,&lt;br /&gt;
* or contact [[User:J-b| Jean-Baptiste Kempf]]&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
The proposed mentors are:&lt;br /&gt;
* jpeg&lt;br /&gt;
* remi&lt;br /&gt;
* xtophe&lt;br /&gt;
* jb&lt;br /&gt;
* dionoea&lt;br /&gt;
* jpsaman&lt;br /&gt;
* jpd&lt;br /&gt;
&lt;br /&gt;
=== Administrators ===&lt;br /&gt;
* jb&lt;br /&gt;
* xtophe&lt;br /&gt;
&lt;br /&gt;
[[Category:Activities]] [[Category:SoC]]&lt;/div&gt;</summary>
		<author><name>Pk2010</name></author>
	</entry>
</feed>