<?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=Bubu</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=Bubu"/>
	<link rel="alternate" type="text/html" href="https://wiki.videolan.org/Special:Contributions/Bubu/"/>
	<updated>2026-11-04T15:53:41Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Mirrors&amp;diff=62136</id>
		<title>Mirrors</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Mirrors&amp;diff=62136"/>
		<updated>2022-01-05T16:35:59Z</updated>

		<summary type="html">&lt;p&gt;Bubu: /* Requirements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{see also|MirrorManagement}}&lt;br /&gt;
&lt;br /&gt;
= Mirrors =&lt;br /&gt;
&lt;br /&gt;
Our mirrors are kindly operated by sponsors, you can find the complete list [https://www.videolan.org/videolan/mirrors.html here]. If you would like to provide a mirror to the VideoLAN project please read the following sections.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* A public mirror in &#039;&#039;&#039;HTTPS&#039;&#039;&#039; (we won&#039;t accept new mirrors in HTTP)&lt;br /&gt;
* About 90 GB of disk space at this time&lt;br /&gt;
* At least 1 Gbps connectivity&lt;br /&gt;
* At &#039;&#039;&#039;least&#039;&#039;&#039; 4 rsync per day (once every hour is better!)&lt;br /&gt;
* Either an rsync or FTP server access to scan the actual state of your mirror (rsync is preferred)&lt;br /&gt;
&lt;br /&gt;
== Setting up a mirror ==&lt;br /&gt;
&lt;br /&gt;
The first step is to clone the rsync repository using the following command:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;rsync --verbose --recursive --times --links --hard-links --perms --stats --delete-after --timeout=300 rsync://rsync.videolan.org/videolan-ftp &#039;&#039;/path/to/repository/destination&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Edit your crontab (crontab -e) to sync the cron every hour:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;11 * * * * sleep $(($RANDOM/1024)); rsync --verbose --recursive --times --links --hard-links --perms --stats --delete-after --timeout=300 rsync://rsync.videolan.org/videolan-ftp &#039;&#039;/path/to/repository/destination&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Setup a web server to serve the repository preferably with [http://wiki.nginx.org/ nginx] or [http://httpd.apache.org/ Apache].&lt;br /&gt;
&lt;br /&gt;
Finally setup a read-only rsync daemon using a similar configuration:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[videolan]&lt;br /&gt;
    path = /path/to/repository/destination&lt;br /&gt;
    comment = VideoLAN repository&lt;br /&gt;
    uid = nobody&lt;br /&gt;
    gid = nogroup&lt;br /&gt;
    read only = yes&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finally make sure the rsync server daemon is started during system startup!&lt;br /&gt;
&lt;br /&gt;
NOTE: if you&#039;re using a CDN in front of the repository be sure to clear the cache at least once a day!&lt;br /&gt;
&lt;br /&gt;
== How do we manage mirrors ==&lt;br /&gt;
&lt;br /&gt;
On the VideoLAN side, in order to provide the best service to our users we&#039;re running [https://github.com/etix/mirrorbits Mirrorbits], a mirror management software that will transparently redirect users to the closest mirror.&lt;br /&gt;
&lt;br /&gt;
It is also in charge of scanning the mirrors, ensuring they are up and running and it knows which files are served by your mirror. The system will automatically scan you mirror (using rsync or FTP) every now and then and do some health checks on the HTTP side every minute. If you have any concern related to a high bandwidth usage please tell us, we will reduce the weight of your mirror.&lt;br /&gt;
&lt;br /&gt;
== Contact us ==&lt;br /&gt;
&lt;br /&gt;
Once your mirror is setup, please [mailto:mirrors@videolan.org contact us] and be sure to send:&lt;br /&gt;
* A name and contact email address&lt;br /&gt;
* HTTP, FTP (if applicable) and rsync URLs to the file tree on your server&lt;br /&gt;
* The name, URL and logo of the operator / organization / sponsor you represent (preferably in 137x54)&lt;br /&gt;
&lt;br /&gt;
After reviewing your application your mirror will be added to our load balancer.&lt;br /&gt;
&lt;br /&gt;
[[Category:About VideoLAN]]&lt;/div&gt;</summary>
		<author><name>Bubu</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2020&amp;diff=62025</id>
		<title>SoC 2020</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2020&amp;diff=62025"/>
		<updated>2020-03-25T08:53:20Z</updated>

		<summary type="html">&lt;p&gt;Bubu: MPD server edit task to do&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Google Summer of Code 2020}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;float: right;&amp;quot;&amp;gt;&lt;br /&gt;
https://developers.google.com/open-source/gsoc/images/gsoc2016-sun-373x373.png&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This page summarizes the current list of ideas for VideoLAN project, for [https://summerofcode.withgoogle.com Google Summer Of Code 2020].&lt;br /&gt;
&lt;br /&gt;
The list is not exhaustive, and is not limitative. Feel free to apply with &#039;&#039;&#039;your own idea!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Introduction &amp;amp;amp; Information  ==&lt;br /&gt;
[[File:Asterix VLC.svg|frameless|right]]&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]], [[VLMC]] and [https://code.videolan.org/videolan/dav1d dav1d] (or the [[libVLC]] engine) and their dependencies.&lt;br /&gt;
&lt;br /&gt;
We have projects in &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;C++&#039;&#039;&#039;, &#039;&#039;&#039;ASM&#039;&#039;&#039;, &#039;&#039;&#039;JS&#039;&#039;&#039;, &#039;&#039;&#039;Go&#039;&#039;&#039;, &#039;&#039;&#039;Obj-C&#039;&#039;&#039;, &#039;&#039;&#039;GPU Shaders&#039;&#039;&#039;, &#039;&#039;&#039;C#&#039;&#039;&#039;, &#039;&#039;&#039;Java/Kotlin&#039;&#039;&#039; and &#039;&#039;&#039;Swift&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code ===&lt;br /&gt;
&lt;br /&gt;
Google Summer of Code is a way for &#039;&#039;&#039;university students&#039;&#039;&#039; to have a paid &#039;&#039;&#039;internship&#039;&#039;&#039; by &#039;&#039;&#039;Google&#039;&#039;&#039; to work on open source projects and become top developers!&lt;br /&gt;
&lt;br /&gt;
[[VideoLAN]] was a &#039;&#039;Google Summer of Code&#039;&#039; mentoring organization in [[SoC 2007|2007]], [[SoC 2008|2008]], [[SoC 2009|2009]], [[SoC 2010|2010]], [[SoC 2011|2011]], [[SoC 2013|2013]], [[SoC 2016|2016]], [[SoC_2017|2017]], [[SoC_2018|2018]] and [[SoC_2019|2019]].&lt;br /&gt;
&lt;br /&gt;
This page lists some ideas for Summer of Code projects on dav1d, VLMC, libVLC and {{VLC}}.&lt;br /&gt;
&lt;br /&gt;
=== VLC &amp;amp; libVLC  ===&lt;br /&gt;
&lt;br /&gt;
{{VLC}} is a cross-platform multimedia player, encoder and streamer application. It is one of the most successful open-source projects without any professional structure underneath. &lt;br /&gt;
&lt;br /&gt;
{{VLC}} is downloaded at an approximate monthly rate of 25 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;
The engine of VLC is &#039;&#039;&#039;libVLC&#039;&#039;&#039;, and is used by &#039;&#039;&#039;VLMC&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== dav1d ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dav1d&#039;&#039;&#039; is the reference AV1 decoder that is shipped inside VLC, Chrome and Firefox.&lt;br /&gt;
&lt;br /&gt;
It&#039;s a very low-level codec, mostly written in C and assembly.&lt;br /&gt;
&lt;br /&gt;
=== VideoLAN Movie Creator ===&lt;br /&gt;
[[VLMC]] is a cross-platform non-linear video editing software based on libVLC technology. It was started as a final year student project at the French IT school [http://www.epitech.eu EPITECH].&lt;br /&gt;
&lt;br /&gt;
[[VLMC]] currently awaits a transition to the current libvlc API and it&#039;s actual 1.0 release!&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code rules ===&lt;br /&gt;
&lt;br /&gt;
If selected and developed, SoC projects for VLMC and VLC will be included in later releases.&lt;br /&gt;
&lt;br /&gt;
All projects are covered by the GPL (v2+) or LGPL (v2.1+) licenses depending on the module.&lt;br /&gt;
&lt;br /&gt;
== How to Start ==&lt;br /&gt;
=== Find an idea ===&lt;br /&gt;
First, you need to find an idea.&lt;br /&gt;
&lt;br /&gt;
This current page gives you a list of ideas. Those ideas are &#039;&#039;&#039;NOT exhaustive&#039;&#039;&#039;: you can bring your own idea! Some of the best ideas we&#039;ve ever had were &#039;&#039;&#039;custom&#039;&#039;&#039; ideas!&lt;br /&gt;
&lt;br /&gt;
=== Submit your idea ===&lt;br /&gt;
You need to submit your idea on the &#039;&#039;Google Summer of Code&#039;&#039; platform.&lt;br /&gt;
&lt;br /&gt;
You should do so, very quickly, even before having finished compilation and the next steps, so that we can give you early feedback.&lt;br /&gt;
&lt;br /&gt;
=== Compile libVLC or VLMC ===&lt;br /&gt;
This may sound trivial, but it&#039;s harder than many expect. See https://wiki.videolan.org/Category:Building/ for more informations.&lt;br /&gt;
&lt;br /&gt;
You should come on [[IRC]] to get help to compile.&lt;br /&gt;
&lt;br /&gt;
=== Provide a small patch ===&lt;br /&gt;
To demonstrate your skills, share a small patch with us. This will let you become familiar with [[Git]], in case you don&#039;t know it already and our process on [[Sending Patches VLC|merging patches]].&lt;br /&gt;
&lt;br /&gt;
=== Let&#039;s get in touch ===&lt;br /&gt;
&lt;br /&gt;
If you have a doubt, are not sure about anything or want clarification, please get in touch with us.&lt;br /&gt;
&lt;br /&gt;
We have 3 major communication channels:&lt;br /&gt;
* Our [https://mailman.videolan.org/mailman/listinfo mailing-lists] to discuss patches and further development related topics;&lt;br /&gt;
* Furthermore, we have our [http://forum.videolan.org web forums] for VLC-related end-user support - a VLMC section will be created once the product is published.&lt;br /&gt;
* Finally, there is our IRC channel &#039;&#039;#videolan&#039;&#039; (for libVLC) and &#039;&#039;#vlmc&#039;&#039; on the &#039;&#039;Freenode&#039;&#039; network. It&#039;s open to any kind of discussion. Usage issues, questions how to compile VLC/VLMC, getting to know the fellow developers, etc.&lt;br /&gt;
&lt;br /&gt;
= Ideas for VLC &amp;amp; libVLC =&lt;br /&gt;
== Advanced Audio Filters ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
We are looking for a skilled audiophile that knows a lot about audio theory and practice to work on new audio filters for VLC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
* SRS WoW like or other 3D effects;&lt;br /&gt;
* channels mixing, notably upmixing, like Prologic-II;&lt;br /&gt;
* tracks mixing, and transitions;&lt;br /&gt;
* scriptable new audio filters in lua and enable users to create whatever audio filtering function they want in a Lua script;&lt;br /&gt;
* LADSPA or other libraries integration. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project needs some good audio knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Qualification task:&#039;&#039;&#039;&lt;br /&gt;
Port any audio filter from MPlayer&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: unidan &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== VLC Qt interface work ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
The VLC interface is quite outdated on Linux and Windows. It has a lot of features, but some are not properly exposed.&lt;br /&gt;
&lt;br /&gt;
We are currently reworking the interface, but we need help.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scope of the tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
The idea is to get closer to what the WinRT/UWP interface looks like &#039;&#039;(search on google image to get an idea)&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The WinRT interface is simpler, more user friendly, and has a better &amp;quot;media center&amp;quot; feel into it.&lt;br /&gt;
&lt;br /&gt;
It would require integration with the media library and with the current interface.&lt;br /&gt;
&lt;br /&gt;
Qml is the preferred way of improving the current UI.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Qt/C++&#039;&#039;&#039; knowledge, and qml would be a nice plus.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Pierre&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== VLC.js ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
We&#039;re currently porting VLC to the web, using WebAssembly. This is a current work in progress, so we need a lot of help to improve it&lt;br /&gt;
&lt;br /&gt;
This requires working close to the toolchain, compilation and the web browsers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scope of the tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
There are lots of things to do (not all of them need to be done by the same person:&lt;br /&gt;
* Improving compilation of the VLC core to Wasm,&lt;br /&gt;
* Improving compilation of VLC 3rd party libraries,&lt;br /&gt;
* Fixing the VLC core to support the Web platform,&lt;br /&gt;
* Implement WebCodec inside VLC,&lt;br /&gt;
* Improve audio pipeline inside VLC,&lt;br /&gt;
* Improve emscripten :)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;C&#039;&#039;&#039; knowledge, and compilation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: JB&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== VLC macOS interface  redesign ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
The VLC interface is quite outdated on macOS and we are currently in the process of re-writing it to give it a modern feel, but also to integrate recent additions to libvlc regarding playback control and library management.&lt;br /&gt;
&lt;br /&gt;
This project for the summer is to rework heavily this interface to make it beautiful and useful again.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scope of the tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
There is a full design already done and tested. The major hurdle is to actually implement it the way we want it to be. The iOS/tvTV interface is simpler, more user friendly, and has a better &amp;quot;media center&amp;quot; feel into it, which influenced what we want to achieve on the Mac. Note that the objective is to use AppKit. UIKit (aka &amp;quot;Marzipan&amp;quot;) will not be part of this project.&lt;br /&gt;
&lt;br /&gt;
Iterating from the current UI and closely collaborating with the team currently working on it is a requirement.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Obj-C&#039;&#039;&#039; knowledge, a thorough understanding of OOP and proven previous Mac development experience. You cannot use swift for this project.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: David Fuhrmann, Felix Paul Kühne&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GPU shader filters ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLC is using OpenGL and Direct3D11 on modern machines. It is now possible to do all kinds of video processing that was done in the CPU directly in the GPU.&lt;br /&gt;
&lt;br /&gt;
This project for the summer is to port some of the existing CPU filters to the GPU using shaders.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scope of the tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
The first task will be to identify all the video filters in VLC and identify the ones that could be done as shaders. Then implement them. Either in OpenGL shaders, Direct3D11 shaders, both and maybe Vulkan.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;OpenGL&#039;&#039;&#039; or &#039;&#039;&#039;Direct3D11&#039;&#039;&#039; shaders knowledge as well as knowledge on video filters in general.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Steve Lhomme, unidan&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== VLC iOS new UI ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
We&#039;re currently in the process of rewriting and updating the entire UI for VLC iOS &lt;br /&gt;
&lt;br /&gt;
There is a lot of components that need refactoring and need to get an updated UI. Like for example the network navigation section.&lt;br /&gt;
&lt;br /&gt;
Further more tests should be written for these components to ensure that we don&#039;t break features on old or new devices.&lt;br /&gt;
&lt;br /&gt;
The project for this summer is to write these components in Swift with updated UI and make sure the app becomes and stays stable.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
*Get an overview of the current App and components that need an update &lt;br /&gt;
*Refactor and give the appropriate components a new look&lt;br /&gt;
*Writing tests for these components to ensure that functionality works on all supported devices&lt;br /&gt;
*Rewriting the first start screens &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Obj-C&#039;&#039;&#039; and &#039;&#039;&#039;Swift&#039;&#039;&#039; knowledge and ideally knowledge of writing tests for iOS but this can be learned.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Soomin Lee, Felix Paul Kühne &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Open Source Fuzzing platform ==&lt;br /&gt;
&lt;br /&gt;
The idea of this project is to develop a new web platform to support fuzzing or code analysis, like oss_fuzz, but open source.&amp;lt;br /&amp;gt;&lt;br /&gt;
That would allow to see the defects, to be able to act on them.&lt;br /&gt;
&lt;br /&gt;
It should be adaptable for clang-analyser or other similar tools.&lt;br /&gt;
&lt;br /&gt;
It can be based on gitlab, if needed, but should be developed in Go.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Go&#039;&#039;&#039; knowledge and ideally knowledge of &#039;&#039;&#039;JS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Hugo Beauzée-Luyssen&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interactive movie support ==&lt;br /&gt;
&lt;br /&gt;
The idea is to add support for interactive movies inside VLC using the matroska.org mkv format. An interactive movie is like a gamebook but for movies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
* Extend the MKV spec to add support for titles, menus, that will be used by interactive movies&lt;br /&gt;
* Improve a MKV muxing tool (ffmpeg, mkvtoolnix) to support the extended spec&lt;br /&gt;
* Add interactive movies support inside VLC&#039;s MKV module&lt;br /&gt;
&lt;br /&gt;
Those will be done in &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;C++&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Thomas Guillem, Steve Lhomme&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Develop a MPD server inside VLC ==&lt;br /&gt;
&lt;br /&gt;
The idea is to add support for VLC to act as a MPD server.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
* Study the MPD protocol&lt;br /&gt;
* Code a MPD server as a control module that will connect to the [https://code.videolan.org/videolan/medialibrary medialibrary]&lt;br /&gt;
&lt;br /&gt;
Those will be done in &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;C++&#039;&#039;&#039;, and it requires familiarity with an MPD client&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Thomas Guillem&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Improve the web interface of VLC in Vue.js ==&lt;br /&gt;
&lt;br /&gt;
The idea is to improve the new web interface of VLC, that is currently in &#039;&#039;&#039;Vue.JS&#039;&#039;&#039;. It requires significant improvements&lt;br /&gt;
&lt;br /&gt;
* Review the current code&lt;br /&gt;
* Clean and improve the modularity&lt;br /&gt;
* Adapt to the new playlist code&lt;br /&gt;
* Connect to the new medialibrary&lt;br /&gt;
* Improve the look&lt;br /&gt;
&lt;br /&gt;
Those will be done in &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;C++&#039;&#039;&#039;, and it requires familiarity with an MPD client&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: David&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Improve VLCKit Objective-C - Swift interoperability == &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project description&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Currently VLCKit is not very &#039;&#039;&#039;Swift&#039;&#039;&#039; friendly.&lt;br /&gt;
Indeed, it will be beneficial for VLCKit to have a better &#039;&#039;&#039;Swift&#039;&#039;&#039; interoperability interface than one generated by default.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* Study exposed VLCKit methods&lt;br /&gt;
* Improve Objective-C - Swift interop&lt;br /&gt;
* Make a test Swift project to test the interoperability&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;Objective-C&#039;&#039;&#039; and &#039;&#039;&#039;Swift&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Proposed mentor&#039;&#039;&#039;: Felix Paul Kühne, Soomin Lee&lt;br /&gt;
&lt;br /&gt;
== Other ideas for VLC &amp;amp; libVLC ==&lt;br /&gt;
&lt;br /&gt;
Those ideas are not detailed, but they are ideas that we could help to spring new ideas.&lt;br /&gt;
We can help work with you to make those more detailed.&lt;br /&gt;
&lt;br /&gt;
* Integrate &#039;&#039;&#039;Rust&#039;&#039;&#039; inside VLC, as a demuxer or a parser&lt;br /&gt;
* Improve Vulkan output for VLC, including HDR support&lt;br /&gt;
* Improve id3 tag and metadata handling in VLC&lt;br /&gt;
* Support NVDec decoding inside VLC&lt;br /&gt;
* Work on emscripten version of VLC, aka VLC.js&lt;br /&gt;
* Bridge module for GMI&#039;C or other video filters&lt;br /&gt;
* Automated Testing Environment like ffmpeg Fate (port ?) for demuxing, non-hw decoding&lt;br /&gt;
* Integrate libavfilter in VLC&lt;br /&gt;
* Improve the libVLCSharp bindings for VLC in &#039;&#039;&#039;C#&#039;&#039;&#039;&lt;br /&gt;
* Provide setups for popular streaming services / sout templates (ui ?)&lt;br /&gt;
&lt;br /&gt;
= Ideas for VLMC =&lt;br /&gt;
&lt;br /&gt;
== Port to Android ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;: &lt;br /&gt;
VLMC is now working on the desktop. It would be nice to port it also to the mobile world, starting by Android.&lt;br /&gt;
&lt;br /&gt;
This project would require to adapt to smaller screens, and simplify the UI to fit the Android workflow.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Fix the VLMC build for Android. As libVLC works fine on Android, this is more focused on compiling the Qt part for Android.&lt;br /&gt;
# Split more parts of the UI in components that are reusable on mobile.&lt;br /&gt;
# Change the components to fit the small resolutions of the Android devices.&lt;br /&gt;
# Rewrite some UI components in QML.&lt;br /&gt;
# Write a simpler timeline widget for Mobile workflows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C++/Qt/qml&#039;&#039;&#039; knowledge, and access to Android devices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Geoffrey/Hugo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Port to iOS ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;: &lt;br /&gt;
VLMC is now working on the desktop. It would be nice to port it also to the mobile world, also on iOS.&lt;br /&gt;
&lt;br /&gt;
This project would require to adapt to smaller screens, and simplify the UI to fit the iOS workflow.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Fix the VLMC build for iOS. As libVLC works fine on iOS, this is more focused on compiling the Qt part for iOS.&lt;br /&gt;
# Split more parts of the UI in components that are reusable on mobile.&lt;br /&gt;
# Change the components to fit the small resolutions of the iOS devices.&lt;br /&gt;
# Rewrite some UI components in QML.&lt;br /&gt;
# Write a simpler timeline widget for Mobile workflows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C++/Qt/qml&#039;&#039;&#039; knowledge, and access to iOS devices. Previous iOS development experience is preferred.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Felix/Hugo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Media Workflow rework ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLMC is now working on the desktop, but the media workflow is quite slow and is missing some common use cases.&lt;br /&gt;
&lt;br /&gt;
This should be fixed in [https://github.com/mltframework/mlt MLT] framework backend for libVLC and is the continuation from the work from the previous Summer of Code.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Understand the MLT libVLC backend codebase,&lt;br /&gt;
# Clean the backend and port it to a cleaner code state in C++,&lt;br /&gt;
# Benchmark the code and make it more efficient,&lt;br /&gt;
# Work to merge this backend upstream,&lt;br /&gt;
# Implement all the missing features in libVLC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C/C++&#039;&#039;&#039; knowledge, and understanding of multimedia concepts is a good positive point.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Hugo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Workflow audio filters ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLMC is now working on the desktop, but we need to have a good setup of audio filters to make it usable for most people.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Understand the VLMC and MLT codebase interactions,&lt;br /&gt;
# Add audio filters on the MLT framework backend using the [https://en.wikipedia.org/wiki/LADSPA LADSPA]/[http://lv2plug.in/ LV2] library or a similar open source library,&lt;br /&gt;
# Code the interface corresponding to those filters, and their options,&lt;br /&gt;
# Prepare visualizations, and notably for soundwave filters,&lt;br /&gt;
# Integrate those inside the timeline UI,&lt;br /&gt;
# Optimize.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C++/Qt/qml&#039;&#039;&#039; knowledge, and enough understanding of audio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: J-B&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Workflow video filters ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLMC is now working on the desktop, but we need to have a good setup of video filters to make it usable for most people.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Understand the VLMC and MLT codebase interactions,&lt;br /&gt;
# Add video filters on the MLT framework backend using the [https://git.sesse.net/?p=movit;a=summary movit] library or a similar open source library,&lt;br /&gt;
# Code the interface corresponding to those filters, and their options,&lt;br /&gt;
# Add transitions between clips&lt;br /&gt;
# Code the interface to manage those transitions,&lt;br /&gt;
# Optimize the code.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C/C++&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Felix&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Improve multiplatform support ==&lt;br /&gt;
VLMC is aiming at being fully cross platform, but drifted a bit from that goal. While most VLMC&#039;s code is cross platform, and can be easily built targeting platforms, some dependencies might prove more difficult to build or compose with VLMC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Fix MLT cross compilation for Windows (This will most likely require patching directly inside MLT, all contributions must be sent upstream). &lt;br /&gt;
# Fix medialibrary code &amp;amp; build process on macOS (and potentially iOS). The medialibrary misses some platform specific code to be able to list all connected drives (hard drives &amp;amp; USB removable storage, mostly) along with filesystem browsing&lt;br /&gt;
# Update the documentation along the way&lt;br /&gt;
# Create jenkins build configuration to have nightly builds on jenkins.videolan.org &amp;amp; nightlies.videolan.org for all supported platforms&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires buildsystems/toolchains knowledge, basic system programming on macOS &amp;amp; Windows&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Hugo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Remote UI ==&lt;br /&gt;
&lt;br /&gt;
We would like to have a way to use VLMC from a web browser. You can easily imagine having a nice, shiny &amp;amp; simple UI for minimal movie edition, which would go hand in hand with the cloud storage feature.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
This task aims toward the uncoupling of the rendering backend &amp;amp; UI, as the renderer will run server side, while the UI runs on the client side.&lt;br /&gt;
&lt;br /&gt;
The idea is to be able to have a UI interacting with the renderer without having to be in the same process, or even machine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C++&#039;&#039;&#039; and &#039;&#039;&#039;JS&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor&#039;&#039;: jb, chouquette, fkuehne&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Ideas for dav1d =&lt;br /&gt;
&lt;br /&gt;
== dav1d ARM NEON optimization ==&lt;br /&gt;
&lt;br /&gt;
Improving the performance of the AV1 decoder is very important for VLC and the whole ecosystem.&lt;br /&gt;
&lt;br /&gt;
It requires to:&lt;br /&gt;
* Profiling to identify hotspots of the new libdav1d video decoder on arm64 across common test files&lt;br /&gt;
* Analysis of potential benefits of NEON SIMD for these hotspots&lt;br /&gt;
* Write arm64 NEON optimization using directly written assembly code&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;ASM&#039;&#039;&#039; knowledge, as well as system programming skills&lt;br /&gt;
&lt;br /&gt;
Contact &#039;j-b&#039;&lt;br /&gt;
&lt;br /&gt;
== dav1d GPU Compute Shaders ==&lt;br /&gt;
&lt;br /&gt;
Improving the performance of the AV1 decoder is very important for VLC and the whole ecosystem.&lt;br /&gt;
&lt;br /&gt;
This project requires to port one of the filter, like SGR or Wiener to one of the Shader languages. iPhones or Xbox One would be a good target.&lt;br /&gt;
&lt;br /&gt;
This is a tricky project, but is doable during the summer&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;GPU Shaders&#039;&#039;&#039; knowledge, as well as system programming skills&lt;br /&gt;
&lt;br /&gt;
Contact &#039;j-b&#039;&lt;br /&gt;
&lt;br /&gt;
== dav1d statistics extractions ==&lt;br /&gt;
&lt;br /&gt;
The [https://code.videolan.org/videolan/dav1d dav1d] AV1 decoder is a new high performance AV1 decoder by &lt;br /&gt;
VideoLAN.&lt;br /&gt;
&lt;br /&gt;
Current open source tools for AV1 analysis use instrumentation in the reference decoder [https://aomedia.googlesource.com/aom libaom] to extract decode-time metadata for display and reporting, but support for sophisticated analysis is lacking.&lt;br /&gt;
&lt;br /&gt;
To speed development of AV1 tools like the rav1e, it would be helpful to add similar decoder metadata extraction APIs to the dav1d decoder so that rapid testing of encoder algorithms is easier.  This includes the ability to quickly produce statistics, visualizations and other &lt;br /&gt;
reporting that can be used for tuning encoder parameters or guiding development.  Advanced ideas include adding similar encoder metadata API to rav1e that add encode-time visualizations.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
Contact &#039;unlord&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Ideas for VLC dependencies =&lt;br /&gt;
&lt;br /&gt;
== libmicrodns refactoring ==&lt;br /&gt;
&lt;br /&gt;
Our current mDNS discoverer is working, but is not so respectful of the RFC.&lt;br /&gt;
Possible improvements include:&lt;br /&gt;
* Device TTL support&lt;br /&gt;
* Device removal detection&lt;br /&gt;
* Better request pacing&lt;br /&gt;
* Delegate socket interactions to the caller&lt;br /&gt;
* Unit testing&lt;br /&gt;
* Fuzzing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project require &#039;&#039;&#039;C&#039;&#039;&#039; knowledge, as well as system programming skills&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor&#039;&#039;: chouquette, tguillem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== rav1e, the AV1 encoder in Rust ==&lt;br /&gt;
&lt;br /&gt;
The [https://github.com/xiph/rav1e rav1e] project aims to create a new AV1 encoder implementation in &lt;br /&gt;
Rust.&lt;br /&gt;
&lt;br /&gt;
To support this we need better AV1 analysis tools that give detailed information about AV1 streams including:&lt;br /&gt;
&lt;br /&gt;
* bit rate across the frame&lt;br /&gt;
* frame allocation within a scene&lt;br /&gt;
* display of frame data (block partitioning, mode decisions, motion vectors, etc)&lt;br /&gt;
* objective quality over time&lt;br /&gt;
* average rate (for streaming)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;Rust&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
Contact &#039;unlord&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;br /&gt;
[[Category:SoC]]&lt;/div&gt;</summary>
		<author><name>Bubu</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=VideoLAN&amp;diff=62002</id>
		<title>VideoLAN</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=VideoLAN&amp;diff=62002"/>
		<updated>2020-02-05T15:38:52Z</updated>

		<summary type="html">&lt;p&gt;Bubu: Add VDD 2019&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:VideoLAN.png|thumb|right|VideoLAN&#039;s logo]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;VideoLAN Organization&#039;&#039;&#039; is the non-profit foundation that develops software for playing and streaming video and other media formats. VideoLAN is most notable for its flagship product, {{VLC}}.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
{{Merge|Documentation:History}}&lt;br /&gt;
The VideoLAN project was started as a school project in 1996 by students of [http://www.ecp.fr École Centrale Paris], a French engineering school. These students wanted to be able to watch television on their PCs. (They also wanted to upgrade the [http://www.via.ecp.fr VIA Centrale Réseaux] network so they needed a bandwidth intensive application to justify the upgrade.) &lt;br /&gt;
&lt;br /&gt;
They began writing [[VLS]] (VideoLAN Server) and the [[VLC media player|VLC]] (VideoLAN Client) to stream and read [[MPEG-2]] streams. They succeeded in serving and reading the first stream in 1998. These two programs were planned to be modular, which meant a core consisting basically of communication functions to be used by the modules. This allowed easy porting of the OS specific modules. &lt;br /&gt;
&lt;br /&gt;
In 2001, after many months (if not years) of negotiation, [//images.videolan.org/images/paper.jpeg the school&#039;s Director agreed to a change to the GPL licence]. Developers from all around the world started working on the project right away. One of them (gibalou) even submitted the Win32 port 6 months later! &lt;br /&gt;
&lt;br /&gt;
The first large scale multicast streaming tests occurred in May 2002. 500 students on the VIA Centrale Réseaux network were able to participate in these tests. In January 2003, the first MPEG4 streams were tested and realtime MPEG4 encoding was available two months later.&lt;br /&gt;
&lt;br /&gt;
== VideoLAN Dev Days ==&lt;br /&gt;
* [[VDD19]] (2019)&lt;br /&gt;
* [[VDD18]] (2018)&lt;br /&gt;
* [[VDD17]] (2017) ([https://www.videolan.org/videolan/events/vdd17/ No article but it happened])&lt;br /&gt;
* [[VDD16]] (2016)&lt;br /&gt;
* [[VDD15]] (2015)&lt;br /&gt;
* [[VDD14]] (2014)&lt;br /&gt;
* [[VDD13]] (2013)&lt;br /&gt;
* [[VDD12]] (2012)&lt;br /&gt;
&lt;br /&gt;
== Publicity and outreach ==&lt;br /&gt;
{{See also|Category:Mentorings}}&lt;br /&gt;
* [[Intellectual Properties|Intellectual Properties, trademarks]]&lt;br /&gt;
* Find out [[We Use VideoLAN|who uses VideoLAN]]&lt;br /&gt;
* [[VideoLAN in the news]]&lt;br /&gt;
* [[VideoLAN Design|Design and goodies]]&lt;br /&gt;
* [[VideoLAN_Sites|VideoLAN&#039;s websites]]&lt;br /&gt;
&lt;br /&gt;
== VideoLAN projects ==&lt;br /&gt;
Here is a short list of the main [[VideoLAN projects|projects]] hosted by the VideoLAN project:&lt;br /&gt;
* [[VLC media player]], the core and main program, is a complete video solution that is a player, a live transcoder and a streamer.&lt;br /&gt;
* [[x264]], a free [[H264]] / AVC encoder.&lt;br /&gt;
* [[dav1d]], a free [[AV1]] decoder.&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
* [[Libdvdcss]], a C library to access DVDs without having to bother about the decryption.&lt;br /&gt;
* [//en.wikipedia.org/wiki/Libdca libdca], a DTS Coherent Acoustics decoder.&lt;br /&gt;
* [[libdvbpsi]], a C library to decode and generate MPEG TS and DVB PSI tables.&lt;br /&gt;
&lt;br /&gt;
Discover also [[VideoLAN projects|lesser known projects]].&lt;br /&gt;
&lt;br /&gt;
== Capitalisation ==&lt;br /&gt;
VideoLAN is to be written as &#039;&#039;&#039;V&#039;&#039;&#039;ideo&#039;&#039;&#039;LAN&#039;&#039;&#039; with the first letter V capital as a proper noun, and LAN capital being an abbreviation for &amp;quot;Local Area Network&amp;quot;. Incorrect spellings include Videolan, videoLAN and VIDEOLAN.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* {{VLC}}&lt;br /&gt;
* [[VLC CodeNames]]&lt;br /&gt;
* [[VideoLAN Server]] (VLS) &#039;&#039;&#039;(Not used anymore)&#039;&#039;&#039;&lt;br /&gt;
* [[VideoLAN Team]]&lt;br /&gt;
&lt;br /&gt;
== VideoLAN&#039;s Administration ==&lt;br /&gt;
* [[Admin TODO]]&lt;br /&gt;
* [[Skanda migration]]&lt;br /&gt;
* [[VideoLAN Servers]]&lt;br /&gt;
* [[VideoLAN Wiki:Add a skin|How to add a skin on the skins download page]]&lt;br /&gt;
* [https://www.videolan.org/videolan/mirrors.html Download mirrors integrity tests]&lt;br /&gt;
&lt;br /&gt;
=== Wiki Admins ===&lt;br /&gt;
&lt;br /&gt;
* [{{SERVER}}/Special:ListUsers&amp;amp;username=&amp;amp;group=sysop&amp;amp;editsOnly=1&amp;amp;limit=50 Admins list]&lt;br /&gt;
* [[SpamBlacklist]]&lt;br /&gt;
* [[VideoLAN_Wiki:TODO | TODO]]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://www.videolan.org/ Official website]&lt;br /&gt;
* [[Contact VideoLAN]]&lt;br /&gt;
&lt;br /&gt;
{{stub}} &lt;br /&gt;
&lt;br /&gt;
[[Category:About VideoLAN]]&lt;/div&gt;</summary>
		<author><name>Bubu</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2020&amp;diff=62001</id>
		<title>SoC 2020</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2020&amp;diff=62001"/>
		<updated>2020-02-05T15:35:48Z</updated>

		<summary type="html">&lt;p&gt;Bubu: Remove old project&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Google Summer of Code 2020}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;float: right;&amp;quot;&amp;gt;&lt;br /&gt;
https://developers.google.com/open-source/gsoc/images/gsoc2016-sun-373x373.png&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This page summarizes the current list of ideas for VideoLAN project, for [https://summerofcode.withgoogle.com Google Summer Of Code 2020].&lt;br /&gt;
&lt;br /&gt;
The list is not exhaustive, and is not limitative. Feel free to apply with &#039;&#039;&#039;your own idea!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Introduction &amp;amp;amp; Information  ==&lt;br /&gt;
[[File:Asterix VLC.svg|frameless|right]]&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]], [[VLMC]] and [https://code.videolan.org/videolan/dav1d dav1d] (or the [[libVLC]] engine).&lt;br /&gt;
&lt;br /&gt;
We have projects in &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;C++&#039;&#039;&#039;, &#039;&#039;&#039;ASM&#039;&#039;&#039;, &#039;&#039;&#039;JS&#039;&#039;&#039;, &#039;&#039;&#039;Go&#039;&#039;&#039;, &#039;&#039;&#039;Obj-C&#039;&#039;&#039;, &#039;&#039;&#039;GPU Shaders&#039;&#039;&#039;, &#039;&#039;&#039;C#&#039;&#039;&#039;, &#039;&#039;&#039;Java/Kotlin&#039;&#039;&#039; and &#039;&#039;&#039;Swift&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code ===&lt;br /&gt;
&lt;br /&gt;
Google Summer of Code is a way for &#039;&#039;&#039;university students&#039;&#039;&#039; to have a paid &#039;&#039;&#039;internship&#039;&#039;&#039; by &#039;&#039;&#039;Google&#039;&#039;&#039; to work on open source projects and become top developers!&lt;br /&gt;
&lt;br /&gt;
[[VideoLAN]] was a &#039;&#039;Google Summer of Code&#039;&#039; mentoring organization in [[SoC 2007|2007]], [[SoC 2008|2008]], [[SoC 2009|2009]], [[SoC 2010|2010]], [[SoC 2011|2011]], [[SoC 2013|2013]], [[SoC 2016|2016]], [[SoC_2017|2017]], [[SoC_2018|2018]] and [[SoC_2019|2019]].&lt;br /&gt;
&lt;br /&gt;
This page lists some ideas for Summer of Code projects on VLMC, libVLC and {{VLC}}.&lt;br /&gt;
&lt;br /&gt;
=== VLC &amp;amp; libVLC  ===&lt;br /&gt;
&lt;br /&gt;
{{VLC}} is a cross-platform multimedia player, encoder and streamer application. It is one of the most successful open-source projects without any professional structure underneath. &lt;br /&gt;
&lt;br /&gt;
{{VLC}} is downloaded at an approximate monthly rate of 23 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;
The engine of VLC is &#039;&#039;&#039;libVLC&#039;&#039;&#039;, and is used by &#039;&#039;&#039;VLMC&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== VideoLAN Movie Creator ===&lt;br /&gt;
[[VLMC]] is a cross-platform non-linear video editing software based on libVLC technology. It was started as a final year student project at the French IT school [http://www.epitech.eu EPITECH].&lt;br /&gt;
&lt;br /&gt;
[[VLMC]] currently awaits a transition to the current libvlc API and it&#039;s actual 1.0 release!&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code  ===&lt;br /&gt;
&lt;br /&gt;
If selected and developed, SoC projects for VLMC and VLC will be included in later releases.&lt;br /&gt;
&lt;br /&gt;
All projects are covered by the GPL (v2+) or LGPL (v2.1+) licenses depending on the module.&lt;br /&gt;
&lt;br /&gt;
== How to Start ==&lt;br /&gt;
=== Find an idea ===&lt;br /&gt;
First, you need to find an idea.&lt;br /&gt;
&lt;br /&gt;
This current page gives you a list of ideas. Those ideas are &#039;&#039;&#039;NOT exhaustive&#039;&#039;&#039;: you can bring your own idea! Some of the best ideas we&#039;ve ever had were &#039;&#039;&#039;custom&#039;&#039;&#039; ideas!&lt;br /&gt;
&lt;br /&gt;
=== Submit your idea ===&lt;br /&gt;
You need to submit your idea on the &#039;&#039;Google Summer of Code&#039;&#039; platform.&lt;br /&gt;
&lt;br /&gt;
You should do so, very quickly, even before having finished compilation and the next steps, so that we can give you early feedback.&lt;br /&gt;
&lt;br /&gt;
=== Compile libVLC or VLMC ===&lt;br /&gt;
This may sound trivial, but it&#039;s harder than many expect. See https://wiki.videolan.org/Category:Building/ for more informations.&lt;br /&gt;
&lt;br /&gt;
You should come on [[IRC]] to get help to compile.&lt;br /&gt;
&lt;br /&gt;
=== Provide a small patch ===&lt;br /&gt;
To demonstrate your skills, share a small patch with us. This will let you become familiar with [[Git]], in case you don&#039;t know it already and our process on [[Sending Patches VLC|merging patches]].&lt;br /&gt;
&lt;br /&gt;
=== Let&#039;s get in touch ===&lt;br /&gt;
&lt;br /&gt;
If you have a doubt, are not sure about anything or want clarification, please get in touch with us.&lt;br /&gt;
&lt;br /&gt;
We have 3 major communication channels: Our [https://mailman.videolan.org/mailman/listinfo mailing-lists] to discuss patches and further development related topics. Furthermore, we have our [http://forum.videolan.org web forums] for VLC-related end-user support - a VLMC section will be created once the product is published. Finally, there is our IRC channel &#039;&#039;#videolan&#039;&#039; (for libVLC) and &#039;&#039;#vlmc&#039;&#039; on the &#039;&#039;Freenode&#039;&#039; network. It&#039;s open to any kind of discussion. Usage issues, questions how to compile VLC/VLMC, getting to know the fellow developers, etc.&lt;br /&gt;
&lt;br /&gt;
= Ideas for VLC &amp;amp; libVLC =&lt;br /&gt;
== Advanced Audio Filters ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
We are looking for a skilled audiophile that knows a lot about audio theory and practice to work on new audio filters for VLC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
* SRS WoW like or other 3D effects;&lt;br /&gt;
* channels mixing, notably upmixing, like Prologic-II;&lt;br /&gt;
* tracks mixing, and transitions;&lt;br /&gt;
* scriptable new audio filters in lua and enable users to create whatever audio filtering function they want in a Lua script;&lt;br /&gt;
* LADSPA or other libraries integration. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project needs some good audio knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Qualification task:&#039;&#039;&#039;&lt;br /&gt;
Port any audio filter from MPlayer&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: geal &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== VLC Qt interface redesign ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
The VLC interface is quite outdated on Linux and Windows. It has a lot of features, but some are not properly exposed.&lt;br /&gt;
&lt;br /&gt;
This project for the summer is to rework heavily this interface to make it beautiful and useful again.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scope of the tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
The idea is to get closer to what the WinRT/UWP interface looks like &#039;&#039;(search on google image to get an idea)&#039;&#039;, but other ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
The WinRT interface is simpler, more user friendly, and has a better &amp;quot;media center&amp;quot; feel into it.&lt;br /&gt;
&lt;br /&gt;
It would require integration with the media library and with the current interface.&lt;br /&gt;
&lt;br /&gt;
Qml is the preferred way of improving the current UI.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Qt/C++&#039;&#039;&#039; knowledge, and qml would be a nice plus.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Pierre&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== VLC macOS interface  redesign ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
The VLC interface is quite outdated on macOS and we are currently in the process of re-writing it to give it a modern feel, but also to integrate recent additions to libvlc regarding playback control and library management.&lt;br /&gt;
&lt;br /&gt;
This project for the summer is to rework heavily this interface to make it beautiful and useful again.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scope of the tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
There is a full design already done and tested. The major hurdle is to actually implement it the way we want it to be. The iOS/tvTV interface is simpler, more user friendly, and has a better &amp;quot;media center&amp;quot; feel into it, which influenced what we want to achieve on the Mac. Note that the objective is to use AppKit. UIKit (aka &amp;quot;Marzipan&amp;quot;) will not be part of this project.&lt;br /&gt;
&lt;br /&gt;
Iterating from the current UI and closely collaborating with the team currently working on it is a requirement.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Obj-C&#039;&#039;&#039; knowledge, a thorough understanding of OOP and proven previous Mac development experience. You cannot use swift for this project.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: David Fuhrmann, Felix Paul Kühne&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GPU shader filters ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLC is using OpenGL and Direct3D11 on modern machines. It is now possible to do all kinds of video processing that was done in the CPU directly in the GPU.&lt;br /&gt;
&lt;br /&gt;
This project for the summer is to port some of the existing CPU filters to the GPU using shaders.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scope of the tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
The first task will be to identify all the video filters in VLC and identify the ones that could be done as shaders. Then implement them. Either in OpenGL shaders, Direct3D11 shaders, both and maybe Vulkan.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;OpenGL&#039;&#039;&#039; or &#039;&#039;&#039;Direct3D11&#039;&#039;&#039; shaders knowledge as well as knowledge on video filters in general.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Steve Lhomme&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Integrate JS engine in VLC ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLC is scriptable today with the Lua programming language. While slim and efficient, it is a less known programming language than other, like JS.&lt;br /&gt;
&lt;br /&gt;
The goal is to create a PoC to get a small JS engine inside of VLC to program extensions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* Find the correct JS engine for VLC use-case&lt;br /&gt;
* Embed the engine in VLC&lt;br /&gt;
* Map the VLC calls to JS&lt;br /&gt;
* Write some extensions&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;C&#039;&#039;&#039; knowledge and &#039;&#039;&#039;JS&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Thomas Guillem&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== VLC iOS new UI ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
We&#039;re currently in the process of rewriting and updating the entire UI for VLC iOS &lt;br /&gt;
&lt;br /&gt;
There is a lot of components that need refactoring and need to get an updated UI. Like for example the network navigation section.&lt;br /&gt;
&lt;br /&gt;
Further more tests should be written for these components to ensure that we don&#039;t break features on old or new devices.&lt;br /&gt;
&lt;br /&gt;
The project for this summer is to write these components in Swift with updated UI and make sure the app becomes and stays stable.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
*Get an overview of the current App and components that need an update &lt;br /&gt;
*Refactor and give the appropriate components a new look&lt;br /&gt;
*Writing tests for these components to ensure that functionality works on all supported devices&lt;br /&gt;
*Rewriting the first start screens &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Obj-C&#039;&#039;&#039; and &#039;&#039;&#039;Swift&#039;&#039;&#039; knowledge and ideally knowledge of writing tests for iOS but this can be learned.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Soomin Lee, Felix Paul Kühne &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Open Source Fuzzing platform ==&lt;br /&gt;
&lt;br /&gt;
The idea of this project is to develop a new web platform to support fuzzing or code analysis, like oss_fuzz, but open source.&amp;lt;br /&amp;gt;&lt;br /&gt;
That would allow to see the defects, to be able to act on them.&lt;br /&gt;
&lt;br /&gt;
It should be adaptable for clang-analyser or other similar tools.&lt;br /&gt;
&lt;br /&gt;
It can be based on gitlab, if needed, but should be developed in Go.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Go&#039;&#039;&#039; knowledge and ideally knowledge of &#039;&#039;&#039;JS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Hugo Beauzée-Luyssen&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interactive movie support ==&lt;br /&gt;
&lt;br /&gt;
The idea is to add support for interactive movies inside VLC using the matroska.org mkv format. An interactive movie is like a gamebook but for movies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
* Extend the MKV spec to add support for titles, menus, that will be used by interactive movies&lt;br /&gt;
* Improve a MKV muxing tool (ffmpeg, mkvtoolnix) to support the extended spec&lt;br /&gt;
* Add interactive movies support inside VLC&#039;s MKV module&lt;br /&gt;
&lt;br /&gt;
Those will be done in &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;C++&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Thomas Guillem, Steve Lhomme&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Develop a MPD server inside VLC ==&lt;br /&gt;
&lt;br /&gt;
The idea is to add support for VLC to act as a MPD server.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
* study the MPD protocol&lt;br /&gt;
* code a MPD server as a control module&lt;br /&gt;
* connect to the medialibrary&lt;br /&gt;
* implement advanced MPD features&lt;br /&gt;
&lt;br /&gt;
Those will be done in &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;C++&#039;&#039;&#039;, and it requires familiarity with an MPD client&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Thomas Guillem&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Improve the web interface of VLC in Vue.js ==&lt;br /&gt;
&lt;br /&gt;
The idea is to improve the new web interface of VLC, that is currently in &#039;&#039;&#039;Vue.JS&#039;&#039;&#039;. It requires significant improvements&lt;br /&gt;
&lt;br /&gt;
* Review the current code&lt;br /&gt;
* Clean and improve the modularity&lt;br /&gt;
* Adapt to the new playlist code&lt;br /&gt;
* Connect to the new medialibrary&lt;br /&gt;
* Improve the look&lt;br /&gt;
&lt;br /&gt;
Those will be done in &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;C++&#039;&#039;&#039;, and it requires familiarity with an MPD client&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Gautam&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Improve VLCKit Objective-C - Swift interoperability == &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project description&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Currently VLCKit is not very &#039;&#039;&#039;Swift&#039;&#039;&#039; friendly.&lt;br /&gt;
Indeed, it will be beneficial for VLCKit to have a better &#039;&#039;&#039;Swift&#039;&#039;&#039; interoperability interface than one generated by default.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* Study exposed VLCKit methods&lt;br /&gt;
* Improve Objective-C - Swift interop&lt;br /&gt;
* Make a test Swift project to test the interoperability&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;Objective-C&#039;&#039;&#039; and &#039;&#039;&#039;Swift&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Proposed mentor&#039;&#039;&#039;: Felix Paul Kühne, Soomin Lee&lt;br /&gt;
&lt;br /&gt;
== Other ideas for VLC &amp;amp; libVLC ==&lt;br /&gt;
&lt;br /&gt;
Those ideas are not detailed, but they are ideas that we could help to spring new ideas.&lt;br /&gt;
We can help work with you to make those more detailed.&lt;br /&gt;
&lt;br /&gt;
* Integrate &#039;&#039;&#039;Rust&#039;&#039;&#039; inside VLC, as a demuxer or a parser&lt;br /&gt;
* Improve Vulkan output for VLC, including HDR support&lt;br /&gt;
* Improve id3 tag and metadata handling in VLC&lt;br /&gt;
* Support NVDec decoding inside VLC&lt;br /&gt;
* Work on emscripten version of VLC, aka VLC.js&lt;br /&gt;
* Bridge module for GMI&#039;C or other video filters&lt;br /&gt;
* Automated Testing Environment like ffmpeg Fate (port ?) for demuxing, non-hw decoding&lt;br /&gt;
* Integrate libavfilter in VLC&lt;br /&gt;
* Improve the libVLCSharp bindings for VLC in &#039;&#039;&#039;C#&#039;&#039;&#039;&lt;br /&gt;
* Provide setups for popular streaming services / sout templates (ui ?)&lt;br /&gt;
&lt;br /&gt;
= Ideas for VLMC =&lt;br /&gt;
&lt;br /&gt;
== Port to Android ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;: &lt;br /&gt;
VLMC is now working on the desktop. It would be nice to port it also to the mobile world, starting by Android.&lt;br /&gt;
&lt;br /&gt;
This project would require to adapt to smaller screens, and simplify the UI to fit the Android workflow.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Fix the VLMC build for Android. As libVLC works fine on Android, this is more focused on compiling the Qt part for Android.&lt;br /&gt;
# Split more parts of the UI in components that are reusable on mobile.&lt;br /&gt;
# Change the components to fit the small resolutions of the Android devices.&lt;br /&gt;
# Rewrite some UI components in QML.&lt;br /&gt;
# Write a simpler timeline widget for Mobile workflows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C++/Qt/qml&#039;&#039;&#039; knowledge, and access to Android devices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Geoffrey/Hugo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Port to iOS ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;: &lt;br /&gt;
VLMC is now working on the desktop. It would be nice to port it also to the mobile world, also on iOS.&lt;br /&gt;
&lt;br /&gt;
This project would require to adapt to smaller screens, and simplify the UI to fit the iOS workflow.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Fix the VLMC build for iOS. As libVLC works fine on iOS, this is more focused on compiling the Qt part for iOS.&lt;br /&gt;
# Split more parts of the UI in components that are reusable on mobile.&lt;br /&gt;
# Change the components to fit the small resolutions of the iOS devices.&lt;br /&gt;
# Rewrite some UI components in QML.&lt;br /&gt;
# Write a simpler timeline widget for Mobile workflows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C++/Qt/qml&#039;&#039;&#039; knowledge, and access to iOS devices. Previous iOS development experience is preferred.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Felix/Hugo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Media Workflow rework ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLMC is now working on the desktop, but the media workflow is quite slow and is missing some common use cases.&lt;br /&gt;
&lt;br /&gt;
This should be fixed in [https://github.com/mltframework/mlt MLT] framework backend for libVLC and is the continuation from the work from the previous Summer of Code.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Understand the MLT libVLC backend codebase,&lt;br /&gt;
# Clean the backend and port it to a cleaner code state in C++,&lt;br /&gt;
# Benchmark the code and make it more efficient,&lt;br /&gt;
# Work to merge this backend upstream,&lt;br /&gt;
# Implement all the missing features in libVLC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C/C++&#039;&#039;&#039; knowledge, and understanding of multimedia concepts is a good positive point.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Hugo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Workflow audio filters ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLMC is now working on the desktop, but we need to have a good setup of audio filters to make it usable for most people.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Understand the VLMC and MLT codebase interactions,&lt;br /&gt;
# Add audio filters on the MLT framework backend using the [https://en.wikipedia.org/wiki/LADSPA LADSPA]/[http://lv2plug.in/ LV2] library or a similar open source library,&lt;br /&gt;
# Code the interface corresponding to those filters, and their options,&lt;br /&gt;
# Prepare visualizations, and notably for soundwave filters,&lt;br /&gt;
# Integrate those inside the timeline UI,&lt;br /&gt;
# Optimize.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C++/Qt/qml&#039;&#039;&#039; knowledge, and enough understanding of audio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: J-B&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Workflow video filters ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLMC is now working on the desktop, but we need to have a good setup of video filters to make it usable for most people.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Understand the VLMC and MLT codebase interactions,&lt;br /&gt;
# Add video filters on the MLT framework backend using the [https://git.sesse.net/?p=movit;a=summary movit] library or a similar open source library,&lt;br /&gt;
# Code the interface corresponding to those filters, and their options,&lt;br /&gt;
# Add transitions between clips&lt;br /&gt;
# Code the interface to manage those transitions,&lt;br /&gt;
# Optimize the code.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C/C++&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Felix&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Improve multiplatform support ==&lt;br /&gt;
VLMC is aiming at being fully cross platform, but drifted a bit from that goal. While most VLMC&#039;s code is cross platform, and can be easily built targeting platforms, some dependencies might prove more difficult to build or compose with VLMC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Fix MLT cross compilation for Windows (This will most likely require patching directly inside MLT, all contributions must be sent upstream). &lt;br /&gt;
# Fix medialibrary code &amp;amp; build process on macOS (and potentially iOS). The medialibrary misses some platform specific code to be able to list all connected drives (hard drives &amp;amp; USB removable storage, mostly) along with filesystem browsing&lt;br /&gt;
# Update the documentation along the way&lt;br /&gt;
# Create jenkins build configuration to have nightly builds on jenkins.videolan.org &amp;amp; nightlies.videolan.org for all supported platforms&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires buildsystems/toolchains knowledge, basic system programming on macOS &amp;amp; Windows&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Hugo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Remote UI ==&lt;br /&gt;
&lt;br /&gt;
We would like to have a way to use VLMC from a web browser. You can easily imagine having a nice, shiny &amp;amp; simple UI for minimal movie edition, which would go hand in hand with the cloud storage feature.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
This task aims toward the uncoupling of the rendering backend &amp;amp; UI, as the renderer will run server side, while the UI runs on the client side.&lt;br /&gt;
&lt;br /&gt;
The idea is to be able to have a UI interacting with the renderer without having to be in the same process, or even machine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C++&#039;&#039;&#039; and &#039;&#039;&#039;JS&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor&#039;&#039;: jb, chouquette, fkuehne&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Ideas for VLC dependencies =&lt;br /&gt;
&lt;br /&gt;
== libmicrodns refactoring ==&lt;br /&gt;
&lt;br /&gt;
Our current mDNS discoverer is working, but is not so respectful of the RFC.&lt;br /&gt;
Possible improvements include:&lt;br /&gt;
* Device TTL support&lt;br /&gt;
* Device removal detection&lt;br /&gt;
* Better request pacing&lt;br /&gt;
* Delegate socket interactions to the caller&lt;br /&gt;
* Unit testing&lt;br /&gt;
* Fuzzing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project require &#039;&#039;&#039;C&#039;&#039;&#039; knowledge, as well as system programming skills&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor&#039;&#039;: chouquette, tguillem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== dav1d ARM NEON optimization ==&lt;br /&gt;
&lt;br /&gt;
Improving the performance of the AV1 decoder is very important for VLC and the whole ecosystem.&lt;br /&gt;
&lt;br /&gt;
It requires to:&lt;br /&gt;
* Profiling to identify hotspots of the new libdav1d video decoder on arm64 across common test files&lt;br /&gt;
* Analysis of potential benefits of NEON SIMD for these hotspots&lt;br /&gt;
* Write arm64 NEON optimization using directly written assembly code&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;ASM&#039;&#039;&#039; knowledge, as well as system programming skills&lt;br /&gt;
&lt;br /&gt;
Contact &#039;j-b&#039;&lt;br /&gt;
&lt;br /&gt;
== dav1d GPU Compute Shaders ==&lt;br /&gt;
&lt;br /&gt;
Improving the performance of the AV1 decoder is very important for VLC and the whole ecosystem.&lt;br /&gt;
&lt;br /&gt;
This project requires to port one of the filter, like SGR or Wiener to one of the Shader languages. iPhones or Xbox One would be a good target.&lt;br /&gt;
&lt;br /&gt;
This is a tricky project, but is doable during the summer&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;GPU Shaders&#039;&#039;&#039; knowledge, as well as system programming skills&lt;br /&gt;
&lt;br /&gt;
Contact &#039;j-b&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== rav1e, the AV1 encoder in Rust ==&lt;br /&gt;
&lt;br /&gt;
The [https://github.com/xiph/rav1e rav1e] project aims to create a new AV1 encoder implementation in &lt;br /&gt;
Rust.&lt;br /&gt;
&lt;br /&gt;
To support this we need better AV1 analysis tools that give detailed information about AV1 streams including:&lt;br /&gt;
&lt;br /&gt;
* bit rate across the frame&lt;br /&gt;
* frame allocation within a scene&lt;br /&gt;
* display of frame data (block partitioning, mode decisions, motion vectors, etc)&lt;br /&gt;
* objective quality over time&lt;br /&gt;
* average rate (for streaming)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;Rust&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
Contact &#039;unlord&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== dav1d, the AV1 decoder ==&lt;br /&gt;
&lt;br /&gt;
The [https://code.videolan.org/videolan/dav1d dav1d] AV1 decoder is a new high performance AV1 decoder by &lt;br /&gt;
VideoLAN.&lt;br /&gt;
&lt;br /&gt;
Current open source tools for AV1 analysis use instrumentation in the reference decoder [https://aomedia.googlesource.com/aom libaom] to extract decode-time metadata for display and reporting, but support for sophisticated analysis is lacking.&lt;br /&gt;
&lt;br /&gt;
To speed development of AV1 tools like the rav1e, it would be helpful to add similar decoder metadata extraction APIs to the dav1d decoder so that rapid testing of encoder algorithms is easier.  This includes the ability to quickly produce statistics, visualizations and other &lt;br /&gt;
reporting that can be used for tuning encoder parameters or guiding development.  Advanced ideas include adding similar encoder metadata API to rav1e that add encode-time visualizations.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
Contact &#039;unlord&#039;&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;br /&gt;
&lt;br /&gt;
[[Category:SoC]]&lt;/div&gt;</summary>
		<author><name>Bubu</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2020&amp;diff=62000</id>
		<title>SoC 2020</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2020&amp;diff=62000"/>
		<updated>2020-02-05T15:33:47Z</updated>

		<summary type="html">&lt;p&gt;Bubu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Google Summer of Code 2020}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;float: right;&amp;quot;&amp;gt;&lt;br /&gt;
https://developers.google.com/open-source/gsoc/images/gsoc2016-sun-373x373.png&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This page summarizes the current list of ideas for VideoLAN project, for [https://summerofcode.withgoogle.com Google Summer Of Code 2020].&lt;br /&gt;
&lt;br /&gt;
The list is not exhaustive, and is not limitative. Feel free to apply with &#039;&#039;&#039;your own idea!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Introduction &amp;amp;amp; Information  ==&lt;br /&gt;
[[File:Asterix VLC.svg|frameless|right]]&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]], [[VLMC]] and [https://code.videolan.org/videolan/dav1d dav1d] (or the [[libVLC]] engine).&lt;br /&gt;
&lt;br /&gt;
We have projects in &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;C++&#039;&#039;&#039;, &#039;&#039;&#039;ASM&#039;&#039;&#039;, &#039;&#039;&#039;JS&#039;&#039;&#039;, &#039;&#039;&#039;Go&#039;&#039;&#039;, &#039;&#039;&#039;Obj-C&#039;&#039;&#039;, &#039;&#039;&#039;GPU Shaders&#039;&#039;&#039;, &#039;&#039;&#039;C#&#039;&#039;&#039;, &#039;&#039;&#039;Java/Kotlin&#039;&#039;&#039; and &#039;&#039;&#039;Swift&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code ===&lt;br /&gt;
&lt;br /&gt;
Google Summer of Code is a way for &#039;&#039;&#039;university students&#039;&#039;&#039; to have a paid &#039;&#039;&#039;internship&#039;&#039;&#039; by &#039;&#039;&#039;Google&#039;&#039;&#039; to work on open source projects and become top developers!&lt;br /&gt;
&lt;br /&gt;
[[VideoLAN]] was a &#039;&#039;Google Summer of Code&#039;&#039; mentoring organization in [[SoC 2007|2007]], [[SoC 2008|2008]], [[SoC 2009|2009]], [[SoC 2010|2010]], [[SoC 2011|2011]], [[SoC 2013|2013]], [[SoC 2016|2016]], [[SoC_2017|2017]], [[SoC_2018|2018]] and [[SoC_2019|2019]].&lt;br /&gt;
&lt;br /&gt;
This page lists some ideas for Summer of Code projects on VLMC, libVLC and {{VLC}}.&lt;br /&gt;
&lt;br /&gt;
=== VLC &amp;amp; libVLC  ===&lt;br /&gt;
&lt;br /&gt;
{{VLC}} is a cross-platform multimedia player, encoder and streamer application. It is one of the most successful open-source projects without any professional structure underneath. &lt;br /&gt;
&lt;br /&gt;
{{VLC}} is downloaded at an approximate monthly rate of 23 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;
The engine of VLC is &#039;&#039;&#039;libVLC&#039;&#039;&#039;, and is used by &#039;&#039;&#039;VLMC&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== VideoLAN Movie Creator ===&lt;br /&gt;
[[VLMC]] is a cross-platform non-linear video editing software based on libVLC technology. It was started as a final year student project at the French IT school [http://www.epitech.eu EPITECH].&lt;br /&gt;
&lt;br /&gt;
[[VLMC]] currently awaits a transition to the current libvlc API and it&#039;s actual 1.0 release!&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code  ===&lt;br /&gt;
&lt;br /&gt;
If selected and developed, SoC projects for VLMC and VLC will be included in later releases.&lt;br /&gt;
&lt;br /&gt;
All projects are covered by the GPL (v2+) or LGPL (v2.1+) licenses depending on the module.&lt;br /&gt;
&lt;br /&gt;
== How to Start ==&lt;br /&gt;
=== Find an idea ===&lt;br /&gt;
First, you need to find an idea.&lt;br /&gt;
&lt;br /&gt;
This current page gives you a list of ideas. Those ideas are &#039;&#039;&#039;NOT exhaustive&#039;&#039;&#039;: you can bring your own idea! Some of the best ideas we&#039;ve ever had were &#039;&#039;&#039;custom&#039;&#039;&#039; ideas!&lt;br /&gt;
&lt;br /&gt;
=== Submit your idea ===&lt;br /&gt;
You need to submit your idea on the &#039;&#039;Google Summer of Code&#039;&#039; platform.&lt;br /&gt;
&lt;br /&gt;
You should do so, very quickly, even before having finished compilation and the next steps, so that we can give you early feedback.&lt;br /&gt;
&lt;br /&gt;
=== Compile libVLC or VLMC ===&lt;br /&gt;
This may sound trivial, but it&#039;s harder than many expect. See https://wiki.videolan.org/Category:Building/ for more informations.&lt;br /&gt;
&lt;br /&gt;
You should come on [[IRC]] to get help to compile.&lt;br /&gt;
&lt;br /&gt;
=== Provide a small patch ===&lt;br /&gt;
To demonstrate your skills, share a small patch with us. This will let you become familiar with [[Git]], in case you don&#039;t know it already and our process on [[Sending Patches VLC|merging patches]].&lt;br /&gt;
&lt;br /&gt;
=== Let&#039;s get in touch ===&lt;br /&gt;
&lt;br /&gt;
If you have a doubt, are not sure about anything or want clarification, please get in touch with us.&lt;br /&gt;
&lt;br /&gt;
We have 3 major communication channels: Our [https://mailman.videolan.org/mailman/listinfo mailing-lists] to discuss patches and further development related topics. Furthermore, we have our [http://forum.videolan.org web forums] for VLC-related end-user support - a VLMC section will be created once the product is published. Finally, there is our IRC channel &#039;&#039;#videolan&#039;&#039; (for libVLC) and &#039;&#039;#vlmc&#039;&#039; on the &#039;&#039;Freenode&#039;&#039; network. It&#039;s open to any kind of discussion. Usage issues, questions how to compile VLC/VLMC, getting to know the fellow developers, etc.&lt;br /&gt;
&lt;br /&gt;
= Ideas for VLC &amp;amp; libVLC =&lt;br /&gt;
== Advanced Audio Filters ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
We are looking for a skilled audiophile that knows a lot about audio theory and practice to work on new audio filters for VLC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
* SRS WoW like or other 3D effects;&lt;br /&gt;
* channels mixing, notably upmixing, like Prologic-II;&lt;br /&gt;
* tracks mixing, and transitions;&lt;br /&gt;
* scriptable new audio filters in lua and enable users to create whatever audio filtering function they want in a Lua script;&lt;br /&gt;
* LADSPA or other libraries integration. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project needs some good audio knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Qualification task:&#039;&#039;&#039;&lt;br /&gt;
Port any audio filter from MPlayer&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: geal &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== VLC Qt interface redesign ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
The VLC interface is quite outdated on Linux and Windows. It has a lot of features, but some are not properly exposed.&lt;br /&gt;
&lt;br /&gt;
This project for the summer is to rework heavily this interface to make it beautiful and useful again.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scope of the tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
The idea is to get closer to what the WinRT/UWP interface looks like &#039;&#039;(search on google image to get an idea)&#039;&#039;, but other ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
The WinRT interface is simpler, more user friendly, and has a better &amp;quot;media center&amp;quot; feel into it.&lt;br /&gt;
&lt;br /&gt;
It would require integration with the media library and with the current interface.&lt;br /&gt;
&lt;br /&gt;
Qml is the preferred way of improving the current UI.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Qt/C++&#039;&#039;&#039; knowledge, and qml would be a nice plus.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Pierre&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== VLC macOS interface  redesign ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
The VLC interface is quite outdated on macOS and we are currently in the process of re-writing it to give it a modern feel, but also to integrate recent additions to libvlc regarding playback control and library management.&lt;br /&gt;
&lt;br /&gt;
This project for the summer is to rework heavily this interface to make it beautiful and useful again.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scope of the tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
There is a full design already done and tested. The major hurdle is to actually implement it the way we want it to be. The iOS/tvTV interface is simpler, more user friendly, and has a better &amp;quot;media center&amp;quot; feel into it, which influenced what we want to achieve on the Mac. Note that the objective is to use AppKit. UIKit (aka &amp;quot;Marzipan&amp;quot;) will not be part of this project.&lt;br /&gt;
&lt;br /&gt;
Iterating from the current UI and closely collaborating with the team currently working on it is a requirement.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Obj-C&#039;&#039;&#039; knowledge, a thorough understanding of OOP and proven previous Mac development experience. You cannot use swift for this project.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: David Fuhrmann, Felix Paul Kühne&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GPU shader filters ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLC is using OpenGL and Direct3D11 on modern machines. It is now possible to do all kinds of video processing that was done in the CPU directly in the GPU.&lt;br /&gt;
&lt;br /&gt;
This project for the summer is to port some of the existing CPU filters to the GPU using shaders.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scope of the tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
The first task will be to identify all the video filters in VLC and identify the ones that could be done as shaders. Then implement them. Either in OpenGL shaders, Direct3D11 shaders, both and maybe Vulkan.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;OpenGL&#039;&#039;&#039; or &#039;&#039;&#039;Direct3D11&#039;&#039;&#039; shaders knowledge as well as knowledge on video filters in general.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Steve Lhomme&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Integrate JS engine in VLC ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLC is scriptable today with the Lua programming language. While slim and efficient, it is a less known programming language than other, like JS.&lt;br /&gt;
&lt;br /&gt;
The goal is to create a PoC to get a small JS engine inside of VLC to program extensions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* Find the correct JS engine for VLC use-case&lt;br /&gt;
* Embed the engine in VLC&lt;br /&gt;
* Map the VLC calls to JS&lt;br /&gt;
* Write some extensions&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;C&#039;&#039;&#039; knowledge and &#039;&#039;&#039;JS&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Thomas Guillem&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== VLC on Android Testsuite ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLC on Android is the port of VLC on the Android platform. It is one of the most used version of VLC.&lt;br /&gt;
&lt;br /&gt;
Sadly it currently doesn&#039;t have any tests that ensure the stability of playback and deterministic behavior.&lt;br /&gt;
This can lead to regressions that are noticed too late and unexpected behavior that sometimes even make it into the Playstore, notably across Android versions.&lt;br /&gt;
&lt;br /&gt;
The project for this summer is to build a Testsuite around libvlc-onAndroid to ensure that the library becomes and stays stable and interface tests.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
*Get an overview of the current behavior of the Android version. &lt;br /&gt;
*Write a suite with different testtargets to ensure the correct behavior of the main UI views&lt;br /&gt;
*Use so called &amp;quot;stubbing&amp;quot; and &amp;quot;mocking&amp;quot; of classes for testing purposes&lt;br /&gt;
*Make sure that the testtarget runs once every day on gitlab to ensure that no regressions have been introduced.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Java&#039;&#039;&#039; and &#039;&#039;&#039;Kotlin&#039;&#039;&#039; knowledge and some development on Android.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Geoffrey Metais&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== VLC iOS new UI ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
We&#039;re currently in the process of rewriting and updating the entire UI for VLC iOS &lt;br /&gt;
&lt;br /&gt;
There is a lot of components that need refactoring and need to get an updated UI. Like for example the network navigation section.&lt;br /&gt;
&lt;br /&gt;
Further more tests should be written for these components to ensure that we don&#039;t break features on old or new devices.&lt;br /&gt;
&lt;br /&gt;
The project for this summer is to write these components in Swift with updated UI and make sure the app becomes and stays stable.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
*Get an overview of the current App and components that need an update &lt;br /&gt;
*Refactor and give the appropriate components a new look&lt;br /&gt;
*Writing tests for these components to ensure that functionality works on all supported devices&lt;br /&gt;
*Rewriting the first start screens &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Obj-C&#039;&#039;&#039; and &#039;&#039;&#039;Swift&#039;&#039;&#039; knowledge and ideally knowledge of writing tests for iOS but this can be learned.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Soomin Lee, Felix Paul Kühne &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Open Source Fuzzing platform ==&lt;br /&gt;
&lt;br /&gt;
The idea of this project is to develop a new web platform to support fuzzing or code analysis, like oss_fuzz, but open source.&amp;lt;br /&amp;gt;&lt;br /&gt;
That would allow to see the defects, to be able to act on them.&lt;br /&gt;
&lt;br /&gt;
It should be adaptable for clang-analyser or other similar tools.&lt;br /&gt;
&lt;br /&gt;
It can be based on gitlab, if needed, but should be developed in Go.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Go&#039;&#039;&#039; knowledge and ideally knowledge of &#039;&#039;&#039;JS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Hugo Beauzée-Luyssen&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interactive movie support ==&lt;br /&gt;
&lt;br /&gt;
The idea is to add support for interactive movies inside VLC using the matroska.org mkv format. An interactive movie is like a gamebook but for movies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
* Extend the MKV spec to add support for titles, menus, that will be used by interactive movies&lt;br /&gt;
* Improve a MKV muxing tool (ffmpeg, mkvtoolnix) to support the extended spec&lt;br /&gt;
* Add interactive movies support inside VLC&#039;s MKV module&lt;br /&gt;
&lt;br /&gt;
Those will be done in &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;C++&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Thomas Guillem, Steve Lhomme&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Develop a MPD server inside VLC ==&lt;br /&gt;
&lt;br /&gt;
The idea is to add support for VLC to act as a MPD server.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
* study the MPD protocol&lt;br /&gt;
* code a MPD server as a control module&lt;br /&gt;
* connect to the medialibrary&lt;br /&gt;
* implement advanced MPD features&lt;br /&gt;
&lt;br /&gt;
Those will be done in &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;C++&#039;&#039;&#039;, and it requires familiarity with an MPD client&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Thomas Guillem&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Improve the web interface of VLC in Vue.js ==&lt;br /&gt;
&lt;br /&gt;
The idea is to improve the new web interface of VLC, that is currently in &#039;&#039;&#039;Vue.JS&#039;&#039;&#039;. It requires significant improvements&lt;br /&gt;
&lt;br /&gt;
* Review the current code&lt;br /&gt;
* Clean and improve the modularity&lt;br /&gt;
* Adapt to the new playlist code&lt;br /&gt;
* Connect to the new medialibrary&lt;br /&gt;
* Improve the look&lt;br /&gt;
&lt;br /&gt;
Those will be done in &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;C++&#039;&#039;&#039;, and it requires familiarity with an MPD client&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Gautam&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Improve VLCKit Objective-C - Swift interoperability == &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project description&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Currently VLCKit is not very &#039;&#039;&#039;Swift&#039;&#039;&#039; friendly.&lt;br /&gt;
Indeed, it will be beneficial for VLCKit to have a better &#039;&#039;&#039;Swift&#039;&#039;&#039; interoperability interface than one generated by default.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* Study exposed VLCKit methods&lt;br /&gt;
* Improve Objective-C - Swift interop&lt;br /&gt;
* Make a test Swift project to test the interoperability&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;Objective-C&#039;&#039;&#039; and &#039;&#039;&#039;Swift&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Proposed mentor&#039;&#039;&#039;: Felix Paul Kühne, Soomin Lee&lt;br /&gt;
&lt;br /&gt;
== Other ideas for VLC &amp;amp; libVLC ==&lt;br /&gt;
&lt;br /&gt;
Those ideas are not detailed, but they are ideas that we could help to spring new ideas.&lt;br /&gt;
We can help work with you to make those more detailed.&lt;br /&gt;
&lt;br /&gt;
* Integrate &#039;&#039;&#039;Rust&#039;&#039;&#039; inside VLC, as a demuxer or a parser&lt;br /&gt;
* Improve Vulkan output for VLC, including HDR support&lt;br /&gt;
* Improve id3 tag and metadata handling in VLC&lt;br /&gt;
* Support NVDec decoding inside VLC&lt;br /&gt;
* Work on emscripten version of VLC, aka VLC.js&lt;br /&gt;
* Bridge module for GMI&#039;C or other video filters&lt;br /&gt;
* Automated Testing Environment like ffmpeg Fate (port ?) for demuxing, non-hw decoding&lt;br /&gt;
* Integrate libavfilter in VLC&lt;br /&gt;
* Improve the libVLCSharp bindings for VLC in &#039;&#039;&#039;C#&#039;&#039;&#039;&lt;br /&gt;
* Provide setups for popular streaming services / sout templates (ui ?)&lt;br /&gt;
&lt;br /&gt;
= Ideas for VLMC =&lt;br /&gt;
&lt;br /&gt;
== Port to Android ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;: &lt;br /&gt;
VLMC is now working on the desktop. It would be nice to port it also to the mobile world, starting by Android.&lt;br /&gt;
&lt;br /&gt;
This project would require to adapt to smaller screens, and simplify the UI to fit the Android workflow.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Fix the VLMC build for Android. As libVLC works fine on Android, this is more focused on compiling the Qt part for Android.&lt;br /&gt;
# Split more parts of the UI in components that are reusable on mobile.&lt;br /&gt;
# Change the components to fit the small resolutions of the Android devices.&lt;br /&gt;
# Rewrite some UI components in QML.&lt;br /&gt;
# Write a simpler timeline widget for Mobile workflows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C++/Qt/qml&#039;&#039;&#039; knowledge, and access to Android devices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Geoffrey/Hugo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Port to iOS ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;: &lt;br /&gt;
VLMC is now working on the desktop. It would be nice to port it also to the mobile world, also on iOS.&lt;br /&gt;
&lt;br /&gt;
This project would require to adapt to smaller screens, and simplify the UI to fit the iOS workflow.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Fix the VLMC build for iOS. As libVLC works fine on iOS, this is more focused on compiling the Qt part for iOS.&lt;br /&gt;
# Split more parts of the UI in components that are reusable on mobile.&lt;br /&gt;
# Change the components to fit the small resolutions of the iOS devices.&lt;br /&gt;
# Rewrite some UI components in QML.&lt;br /&gt;
# Write a simpler timeline widget for Mobile workflows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C++/Qt/qml&#039;&#039;&#039; knowledge, and access to iOS devices. Previous iOS development experience is preferred.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Felix/Hugo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Media Workflow rework ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLMC is now working on the desktop, but the media workflow is quite slow and is missing some common use cases.&lt;br /&gt;
&lt;br /&gt;
This should be fixed in [https://github.com/mltframework/mlt MLT] framework backend for libVLC and is the continuation from the work from the previous Summer of Code.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Understand the MLT libVLC backend codebase,&lt;br /&gt;
# Clean the backend and port it to a cleaner code state in C++,&lt;br /&gt;
# Benchmark the code and make it more efficient,&lt;br /&gt;
# Work to merge this backend upstream,&lt;br /&gt;
# Implement all the missing features in libVLC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C/C++&#039;&#039;&#039; knowledge, and understanding of multimedia concepts is a good positive point.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Hugo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Workflow audio filters ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLMC is now working on the desktop, but we need to have a good setup of audio filters to make it usable for most people.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Understand the VLMC and MLT codebase interactions,&lt;br /&gt;
# Add audio filters on the MLT framework backend using the [https://en.wikipedia.org/wiki/LADSPA LADSPA]/[http://lv2plug.in/ LV2] library or a similar open source library,&lt;br /&gt;
# Code the interface corresponding to those filters, and their options,&lt;br /&gt;
# Prepare visualizations, and notably for soundwave filters,&lt;br /&gt;
# Integrate those inside the timeline UI,&lt;br /&gt;
# Optimize.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C++/Qt/qml&#039;&#039;&#039; knowledge, and enough understanding of audio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: J-B&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Workflow video filters ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLMC is now working on the desktop, but we need to have a good setup of video filters to make it usable for most people.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Understand the VLMC and MLT codebase interactions,&lt;br /&gt;
# Add video filters on the MLT framework backend using the [https://git.sesse.net/?p=movit;a=summary movit] library or a similar open source library,&lt;br /&gt;
# Code the interface corresponding to those filters, and their options,&lt;br /&gt;
# Add transitions between clips&lt;br /&gt;
# Code the interface to manage those transitions,&lt;br /&gt;
# Optimize the code.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C/C++&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Felix&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Improve multiplatform support ==&lt;br /&gt;
VLMC is aiming at being fully cross platform, but drifted a bit from that goal. While most VLMC&#039;s code is cross platform, and can be easily built targeting platforms, some dependencies might prove more difficult to build or compose with VLMC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Fix MLT cross compilation for Windows (This will most likely require patching directly inside MLT, all contributions must be sent upstream). &lt;br /&gt;
# Fix medialibrary code &amp;amp; build process on macOS (and potentially iOS). The medialibrary misses some platform specific code to be able to list all connected drives (hard drives &amp;amp; USB removable storage, mostly) along with filesystem browsing&lt;br /&gt;
# Update the documentation along the way&lt;br /&gt;
# Create jenkins build configuration to have nightly builds on jenkins.videolan.org &amp;amp; nightlies.videolan.org for all supported platforms&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires buildsystems/toolchains knowledge, basic system programming on macOS &amp;amp; Windows&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Hugo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Remote UI ==&lt;br /&gt;
&lt;br /&gt;
We would like to have a way to use VLMC from a web browser. You can easily imagine having a nice, shiny &amp;amp; simple UI for minimal movie edition, which would go hand in hand with the cloud storage feature.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
This task aims toward the uncoupling of the rendering backend &amp;amp; UI, as the renderer will run server side, while the UI runs on the client side.&lt;br /&gt;
&lt;br /&gt;
The idea is to be able to have a UI interacting with the renderer without having to be in the same process, or even machine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C++&#039;&#039;&#039; and &#039;&#039;&#039;JS&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor&#039;&#039;: jb, chouquette, fkuehne&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Ideas for VLC dependencies =&lt;br /&gt;
&lt;br /&gt;
== libmicrodns refactoring ==&lt;br /&gt;
&lt;br /&gt;
Our current mDNS discoverer is working, but is not so respectful of the RFC.&lt;br /&gt;
Possible improvements include:&lt;br /&gt;
* Device TTL support&lt;br /&gt;
* Device removal detection&lt;br /&gt;
* Better request pacing&lt;br /&gt;
* Delegate socket interactions to the caller&lt;br /&gt;
* Unit testing&lt;br /&gt;
* Fuzzing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project require &#039;&#039;&#039;C&#039;&#039;&#039; knowledge, as well as system programming skills&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor&#039;&#039;: chouquette, tguillem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== dav1d ARM NEON optimization ==&lt;br /&gt;
&lt;br /&gt;
Improving the performance of the AV1 decoder is very important for VLC and the whole ecosystem.&lt;br /&gt;
&lt;br /&gt;
It requires to:&lt;br /&gt;
* Profiling to identify hotspots of the new libdav1d video decoder on arm64 across common test files&lt;br /&gt;
* Analysis of potential benefits of NEON SIMD for these hotspots&lt;br /&gt;
* Write arm64 NEON optimization using directly written assembly code&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;ASM&#039;&#039;&#039; knowledge, as well as system programming skills&lt;br /&gt;
&lt;br /&gt;
Contact &#039;j-b&#039;&lt;br /&gt;
&lt;br /&gt;
== dav1d GPU Compute Shaders ==&lt;br /&gt;
&lt;br /&gt;
Improving the performance of the AV1 decoder is very important for VLC and the whole ecosystem.&lt;br /&gt;
&lt;br /&gt;
This project requires to port one of the filter, like SGR or Wiener to one of the Shader languages. iPhones or Xbox One would be a good target.&lt;br /&gt;
&lt;br /&gt;
This is a tricky project, but is doable during the summer&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;GPU Shaders&#039;&#039;&#039; knowledge, as well as system programming skills&lt;br /&gt;
&lt;br /&gt;
Contact &#039;j-b&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== rav1e, the AV1 encoder in Rust ==&lt;br /&gt;
&lt;br /&gt;
The [https://github.com/xiph/rav1e rav1e] project aims to create a new AV1 encoder implementation in &lt;br /&gt;
Rust.&lt;br /&gt;
&lt;br /&gt;
To support this we need better AV1 analysis tools that give detailed information about AV1 streams including:&lt;br /&gt;
&lt;br /&gt;
* bit rate across the frame&lt;br /&gt;
* frame allocation within a scene&lt;br /&gt;
* display of frame data (block partitioning, mode decisions, motion vectors, etc)&lt;br /&gt;
* objective quality over time&lt;br /&gt;
* average rate (for streaming)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;Rust&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
Contact &#039;unlord&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== dav1d, the AV1 decoder ==&lt;br /&gt;
&lt;br /&gt;
The [https://code.videolan.org/videolan/dav1d dav1d] AV1 decoder is a new high performance AV1 decoder by &lt;br /&gt;
VideoLAN.&lt;br /&gt;
&lt;br /&gt;
Current open source tools for AV1 analysis use instrumentation in the reference decoder [https://aomedia.googlesource.com/aom libaom] to extract decode-time metadata for display and reporting, but support for sophisticated analysis is lacking.&lt;br /&gt;
&lt;br /&gt;
To speed development of AV1 tools like the rav1e, it would be helpful to add similar decoder metadata extraction APIs to the dav1d decoder so that rapid testing of encoder algorithms is easier.  This includes the ability to quickly produce statistics, visualizations and other &lt;br /&gt;
reporting that can be used for tuning encoder parameters or guiding development.  Advanced ideas include adding similar encoder metadata API to rav1e that add encode-time visualizations.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
Contact &#039;unlord&#039;&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;br /&gt;
&lt;br /&gt;
[[Category:SoC]]&lt;/div&gt;</summary>
		<author><name>Bubu</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2020&amp;diff=61999</id>
		<title>SoC 2020</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2020&amp;diff=61999"/>
		<updated>2020-02-05T15:32:26Z</updated>

		<summary type="html">&lt;p&gt;Bubu: Update VLC-iOS UI project&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Google Summer of Code 2020}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;float: right;&amp;quot;&amp;gt;&lt;br /&gt;
https://developers.google.com/open-source/gsoc/images/gsoc2016-sun-373x373.png&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This page summarizes the current list of ideas for VideoLAN project, for [https://summerofcode.withgoogle.com Google Summer Of Code 2020].&lt;br /&gt;
&lt;br /&gt;
The list is not exhaustive, and is not limitative. Feel free to apply with &#039;&#039;&#039;your own idea!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Introduction &amp;amp;amp; Information  ==&lt;br /&gt;
[[File:Asterix VLC.svg|frameless|right]]&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]], [[VLMC]] and [https://code.videolan.org/videolan/dav1d dav1d] (or the [[libVLC]] engine).&lt;br /&gt;
&lt;br /&gt;
We have projects in &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;C++&#039;&#039;&#039;, &#039;&#039;&#039;ASM&#039;&#039;&#039;, &#039;&#039;&#039;JS&#039;&#039;&#039;, &#039;&#039;&#039;Go&#039;&#039;&#039;, &#039;&#039;&#039;Obj-C&#039;&#039;&#039;, &#039;&#039;&#039;GPU Shaders&#039;&#039;&#039;, &#039;&#039;&#039;C#&#039;&#039;&#039;, &#039;&#039;&#039;Java/Kotlin&#039;&#039;&#039; and &#039;&#039;&#039;Swift&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code ===&lt;br /&gt;
&lt;br /&gt;
Google Summer of Code is a way for &#039;&#039;&#039;university students&#039;&#039;&#039; to have a paid &#039;&#039;&#039;internship&#039;&#039;&#039; by &#039;&#039;&#039;Google&#039;&#039;&#039; to work on open source projects and become top developers!&lt;br /&gt;
&lt;br /&gt;
[[VideoLAN]] was a &#039;&#039;Google Summer of Code&#039;&#039; mentoring organization in [[SoC 2007|2007]], [[SoC 2008|2008]], [[SoC 2009|2009]], [[SoC 2010|2010]], [[SoC 2011|2011]], [[SoC 2013|2013]], [[SoC 2016|2016]], [[SoC_2017|2017]], [[SoC_2018|2018]] and [[SoC_2019|2019]].&lt;br /&gt;
&lt;br /&gt;
This page lists some ideas for Summer of Code projects on VLMC, libVLC and {{VLC}}.&lt;br /&gt;
&lt;br /&gt;
=== VLC &amp;amp; libVLC  ===&lt;br /&gt;
&lt;br /&gt;
{{VLC}} is a cross-platform multimedia player, encoder and streamer application. It is one of the most successful open-source projects without any professional structure underneath. &lt;br /&gt;
&lt;br /&gt;
{{VLC}} is downloaded at an approximate monthly rate of 23 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;
The engine of VLC is &#039;&#039;&#039;libVLC&#039;&#039;&#039;, and is used by &#039;&#039;&#039;VLMC&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== VideoLAN Movie Creator ===&lt;br /&gt;
[[VLMC]] is a cross-platform non-linear video editing software based on libVLC technology. It was started as a final year student project at the French IT school [http://www.epitech.eu EPITECH].&lt;br /&gt;
&lt;br /&gt;
[[VLMC]] currently awaits a transition to the current libvlc API and it&#039;s actual 1.0 release!&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code  ===&lt;br /&gt;
&lt;br /&gt;
If selected and developed, SoC projects for VLMC and VLC will be included in later releases.&lt;br /&gt;
&lt;br /&gt;
All projects are covered by the GPL (v2+) or LGPL (v2.1+) licenses depending on the module.&lt;br /&gt;
&lt;br /&gt;
== How to Start ==&lt;br /&gt;
=== Find an idea ===&lt;br /&gt;
First, you need to find an idea.&lt;br /&gt;
&lt;br /&gt;
This current page gives you a list of ideas. Those ideas are &#039;&#039;&#039;NOT exhaustive&#039;&#039;&#039;: you can bring your own idea! Some of the best ideas we&#039;ve ever had were &#039;&#039;&#039;custom&#039;&#039;&#039; ideas!&lt;br /&gt;
&lt;br /&gt;
=== Submit your idea ===&lt;br /&gt;
You need to submit your idea on the &#039;&#039;Google Summer of Code&#039;&#039; platform.&lt;br /&gt;
&lt;br /&gt;
You should do so, very quickly, even before having finished compilation and the next steps, so that we can give you early feedback.&lt;br /&gt;
&lt;br /&gt;
=== Compile libVLC or VLMC ===&lt;br /&gt;
This may sound trivial, but it&#039;s harder than many expect. See https://wiki.videolan.org/Category:Building/ for more informations.&lt;br /&gt;
&lt;br /&gt;
You should come on [[IRC]] to get help to compile.&lt;br /&gt;
&lt;br /&gt;
=== Provide a small patch ===&lt;br /&gt;
To demonstrate your skills, share a small patch with us. This will let you become familiar with [[Git]], in case you don&#039;t know it already and our process on [[Sending Patches VLC|merging patches]].&lt;br /&gt;
&lt;br /&gt;
=== Let&#039;s get in touch ===&lt;br /&gt;
&lt;br /&gt;
If you have a doubt, are not sure about anything or want clarification, please get in touch with us.&lt;br /&gt;
&lt;br /&gt;
We have 3 major communication channels: Our [https://mailman.videolan.org/mailman/listinfo mailing-lists] to discuss patches and further development related topics. Furthermore, we have our [http://forum.videolan.org web forums] for VLC-related end-user support - a VLMC section will be created once the product is published. Finally, there is our IRC channel &#039;&#039;#videolan&#039;&#039; (for libVLC) and &#039;&#039;#vlmc&#039;&#039; on the &#039;&#039;Freenode&#039;&#039; network. It&#039;s open to any kind of discussion. Usage issues, questions how to compile VLC/VLMC, getting to know the fellow developers, etc.&lt;br /&gt;
&lt;br /&gt;
= Ideas for VLC &amp;amp; libVLC =&lt;br /&gt;
== Advanced Audio Filters ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
We are looking for a skilled audiophile that knows a lot about audio theory and practice to work on new audio filters for VLC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
* SRS WoW like or other 3D effects;&lt;br /&gt;
* channels mixing, notably upmixing, like Prologic-II;&lt;br /&gt;
* tracks mixing, and transitions;&lt;br /&gt;
* scriptable new audio filters in lua and enable users to create whatever audio filtering function they want in a Lua script;&lt;br /&gt;
* LADSPA or other libraries integration. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project needs some good audio knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Qualification task:&#039;&#039;&#039;&lt;br /&gt;
Port any audio filter from MPlayer&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: geal &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== VLC Qt interface redesign ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
The VLC interface is quite outdated on Linux and Windows. It has a lot of features, but some are not properly exposed.&lt;br /&gt;
&lt;br /&gt;
This project for the summer is to rework heavily this interface to make it beautiful and useful again.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scope of the tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
The idea is to get closer to what the WinRT/UWP interface looks like &#039;&#039;(search on google image to get an idea)&#039;&#039;, but other ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
The WinRT interface is simpler, more user friendly, and has a better &amp;quot;media center&amp;quot; feel into it.&lt;br /&gt;
&lt;br /&gt;
It would require integration with the media library and with the current interface.&lt;br /&gt;
&lt;br /&gt;
Qml is the preferred way of improving the current UI.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Qt/C++&#039;&#039;&#039; knowledge, and qml would be a nice plus.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Pierre&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== VLC macOS interface  redesign ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
The VLC interface is quite outdated on macOS and we are currently in the process of re-writing it to give it a modern feel, but also to integrate recent additions to libvlc regarding playback control and library management.&lt;br /&gt;
&lt;br /&gt;
This project for the summer is to rework heavily this interface to make it beautiful and useful again.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scope of the tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
There is a full design already done and tested. The major hurdle is to actually implement it the way we want it to be. The iOS/tvTV interface is simpler, more user friendly, and has a better &amp;quot;media center&amp;quot; feel into it, which influenced what we want to achieve on the Mac. Note that the objective is to use AppKit. UIKit (aka &amp;quot;Marzipan&amp;quot;) will not be part of this project.&lt;br /&gt;
&lt;br /&gt;
Iterating from the current UI and closely collaborating with the team currently working on it is a requirement.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Obj-C&#039;&#039;&#039; knowledge, a thorough understanding of OOP and proven previous Mac development experience. You cannot use swift for this project.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: David Fuhrmann, Felix Paul Kühne&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GPU shader filters ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLC is using OpenGL and Direct3D11 on modern machines. It is now possible to do all kinds of video processing that was done in the CPU directly in the GPU.&lt;br /&gt;
&lt;br /&gt;
This project for the summer is to port some of the existing CPU filters to the GPU using shaders.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scope of the tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
The first task will be to identify all the video filters in VLC and identify the ones that could be done as shaders. Then implement them. Either in OpenGL shaders, Direct3D11 shaders, both and maybe Vulkan.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;OpenGL&#039;&#039;&#039; or &#039;&#039;&#039;Direct3D11&#039;&#039;&#039; shaders knowledge as well as knowledge on video filters in general.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Steve Lhomme&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Integrate JS engine in VLC ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLC is scriptable today with the Lua programming language. While slim and efficient, it is a less known programming language than other, like JS.&lt;br /&gt;
&lt;br /&gt;
The goal is to create a PoC to get a small JS engine inside of VLC to program extensions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* Find the correct JS engine for VLC use-case&lt;br /&gt;
* Embed the engine in VLC&lt;br /&gt;
* Map the VLC calls to JS&lt;br /&gt;
* Write some extensions&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;C&#039;&#039;&#039; knowledge and &#039;&#039;&#039;JS&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Thomas Guillem&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== VLC on Android Testsuite ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLC on Android is the port of VLC on the Android platform. It is one of the most used version of VLC.&lt;br /&gt;
&lt;br /&gt;
Sadly it currently doesn&#039;t have any tests that ensure the stability of playback and deterministic behavior.&lt;br /&gt;
This can lead to regressions that are noticed too late and unexpected behavior that sometimes even make it into the Playstore, notably across Android versions.&lt;br /&gt;
&lt;br /&gt;
The project for this summer is to build a Testsuite around libvlc-onAndroid to ensure that the library becomes and stays stable and interface tests.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
*Get an overview of the current behavior of the Android version. &lt;br /&gt;
*Write a suite with different testtargets to ensure the correct behavior of the main UI views&lt;br /&gt;
*Use so called &amp;quot;stubbing&amp;quot; and &amp;quot;mocking&amp;quot; of classes for testing purposes&lt;br /&gt;
*Make sure that the testtarget runs once every day on gitlab to ensure that no regressions have been introduced.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Java&#039;&#039;&#039; and &#039;&#039;&#039;Kotlin&#039;&#039;&#039; knowledge and some development on Android.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Geoffrey Metais&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== VLC iOS new UI ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
We&#039;re currently in the process of rewriting and updating the entire UI for VLC iOS &lt;br /&gt;
&lt;br /&gt;
There is a lot of components that need refactoring and need to get an updated UI. Like for example the network navigation section.&lt;br /&gt;
&lt;br /&gt;
Further more tests should be written for these components to ensure that we don&#039;t break features on old or new devices.&lt;br /&gt;
&lt;br /&gt;
The project for this summer is to write these components in Swift with updated UI and make sure the app becomes and stays stable.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
*Get an overview of the current App and components that need an update &lt;br /&gt;
*Refactor and give the appropriate components a new look&lt;br /&gt;
*Writing tests for these components to ensure that functionality works on all supported devices&lt;br /&gt;
*Rewriting the first start screens &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Obj-C&#039;&#039;&#039; and &#039;&#039;&#039;Swift&#039;&#039;&#039; knowledge and ideally knowledge of writing tests for iOS but this can be learned.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Soomin Lee, Felix Paul Kühne &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Open Source Fuzzing platform ==&lt;br /&gt;
&lt;br /&gt;
The idea of this project is to develop a new web platform to support fuzzing or code analysis, like oss_fuzz, but open source.&amp;lt;br /&amp;gt;&lt;br /&gt;
That would allow to see the defects, to be able to act on them.&lt;br /&gt;
&lt;br /&gt;
It should be adaptable for clang-analyser or other similar tools.&lt;br /&gt;
&lt;br /&gt;
It can be based on gitlab, if needed, but should be developed in Go.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Go&#039;&#039;&#039; knowledge and ideally knowledge of &#039;&#039;&#039;JS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Hugo Beauzée-Luyssen&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interactive movie support ==&lt;br /&gt;
&lt;br /&gt;
The idea is to add support for interactive movies inside VLC using the matroska.org mkv format. An interactive movie is like a gamebook but for movies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
* Extend the MKV spec to add support for titles, menus, that will be used by interactive movies&lt;br /&gt;
* Improve a MKV muxing tool (ffmpeg, mkvtoolnix) to support the extended spec&lt;br /&gt;
* Add interactive movies support inside VLC&#039;s MKV module&lt;br /&gt;
&lt;br /&gt;
Those will be done in &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;C++&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Thomas Guillem, Steve Lhomme&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Develop a MPD server inside VLC ==&lt;br /&gt;
&lt;br /&gt;
The idea is to add support for VLC to act as a MPD server.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
* study the MPD protocol&lt;br /&gt;
* code a MPD server as a control module&lt;br /&gt;
* connect to the medialibrary&lt;br /&gt;
* implement advanced MPD features&lt;br /&gt;
&lt;br /&gt;
Those will be done in &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;C++&#039;&#039;&#039;, and it requires familiarity with an MPD client&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Thomas Guillem&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Improve the web interface of VLC in Vue.js ==&lt;br /&gt;
&lt;br /&gt;
The idea is to improve the new web interface of VLC, that is currently in &#039;&#039;&#039;Vue.JS&#039;&#039;&#039;. It requires significant improvements&lt;br /&gt;
&lt;br /&gt;
* Review the current code&lt;br /&gt;
* Clean and improve the modularity&lt;br /&gt;
* Adapt to the new playlist code&lt;br /&gt;
* Connect to the new medialibrary&lt;br /&gt;
* Improve the look&lt;br /&gt;
&lt;br /&gt;
Those will be done in &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;C++&#039;&#039;&#039;, and it requires familiarity with an MPD client&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Gautam&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Improve VLCKit Objective-C - Swift interoperability == &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project description&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Currently VLCKit is not very &#039;&#039;&#039;Swift&#039;&#039;&#039; friendly.&lt;br /&gt;
Indeed, it will be beneficial for VLCKit to have a better &#039;&#039;&#039;Swift&#039;&#039;&#039; interoperability interface than one generated by default.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* Study exposed VLCKit methods&lt;br /&gt;
* Improve Objective-C - Swift interop&lt;br /&gt;
* Make a test Swift project to test the interoperability&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;Objective-C&#039;&#039;&#039; and &#039;&#039;&#039;Swift&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Proposed mentor&#039;&#039;&#039;: Carola Nitz, Soomin Lee&lt;br /&gt;
&lt;br /&gt;
== Other ideas for VLC &amp;amp; libVLC ==&lt;br /&gt;
&lt;br /&gt;
Those ideas are not detailed, but they are ideas that we could help to spring new ideas.&lt;br /&gt;
We can help work with you to make those more detailed.&lt;br /&gt;
&lt;br /&gt;
* Integrate &#039;&#039;&#039;Rust&#039;&#039;&#039; inside VLC, as a demuxer or a parser&lt;br /&gt;
* Improve Vulkan output for VLC, including HDR support&lt;br /&gt;
* Improve id3 tag and metadata handling in VLC&lt;br /&gt;
* Support NVDec decoding inside VLC&lt;br /&gt;
* Work on emscripten version of VLC, aka VLC.js&lt;br /&gt;
* Bridge module for GMI&#039;C or other video filters&lt;br /&gt;
* Automated Testing Environment like ffmpeg Fate (port ?) for demuxing, non-hw decoding&lt;br /&gt;
* Integrate libavfilter in VLC&lt;br /&gt;
* Improve the libVLCSharp bindings for VLC in &#039;&#039;&#039;C#&#039;&#039;&#039;&lt;br /&gt;
* Provide setups for popular streaming services / sout templates (ui ?)&lt;br /&gt;
&lt;br /&gt;
= Ideas for VLMC =&lt;br /&gt;
&lt;br /&gt;
== Port to Android ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;: &lt;br /&gt;
VLMC is now working on the desktop. It would be nice to port it also to the mobile world, starting by Android.&lt;br /&gt;
&lt;br /&gt;
This project would require to adapt to smaller screens, and simplify the UI to fit the Android workflow.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Fix the VLMC build for Android. As libVLC works fine on Android, this is more focused on compiling the Qt part for Android.&lt;br /&gt;
# Split more parts of the UI in components that are reusable on mobile.&lt;br /&gt;
# Change the components to fit the small resolutions of the Android devices.&lt;br /&gt;
# Rewrite some UI components in QML.&lt;br /&gt;
# Write a simpler timeline widget for Mobile workflows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C++/Qt/qml&#039;&#039;&#039; knowledge, and access to Android devices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Geoffrey/Hugo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Port to iOS ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;: &lt;br /&gt;
VLMC is now working on the desktop. It would be nice to port it also to the mobile world, also on iOS.&lt;br /&gt;
&lt;br /&gt;
This project would require to adapt to smaller screens, and simplify the UI to fit the iOS workflow.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Fix the VLMC build for iOS. As libVLC works fine on iOS, this is more focused on compiling the Qt part for iOS.&lt;br /&gt;
# Split more parts of the UI in components that are reusable on mobile.&lt;br /&gt;
# Change the components to fit the small resolutions of the iOS devices.&lt;br /&gt;
# Rewrite some UI components in QML.&lt;br /&gt;
# Write a simpler timeline widget for Mobile workflows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C++/Qt/qml&#039;&#039;&#039; knowledge, and access to iOS devices. Previous iOS development experience is preferred.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Felix/Hugo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Media Workflow rework ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLMC is now working on the desktop, but the media workflow is quite slow and is missing some common use cases.&lt;br /&gt;
&lt;br /&gt;
This should be fixed in [https://github.com/mltframework/mlt MLT] framework backend for libVLC and is the continuation from the work from the previous Summer of Code.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Understand the MLT libVLC backend codebase,&lt;br /&gt;
# Clean the backend and port it to a cleaner code state in C++,&lt;br /&gt;
# Benchmark the code and make it more efficient,&lt;br /&gt;
# Work to merge this backend upstream,&lt;br /&gt;
# Implement all the missing features in libVLC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C/C++&#039;&#039;&#039; knowledge, and understanding of multimedia concepts is a good positive point.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Hugo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Workflow audio filters ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLMC is now working on the desktop, but we need to have a good setup of audio filters to make it usable for most people.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Understand the VLMC and MLT codebase interactions,&lt;br /&gt;
# Add audio filters on the MLT framework backend using the [https://en.wikipedia.org/wiki/LADSPA LADSPA]/[http://lv2plug.in/ LV2] library or a similar open source library,&lt;br /&gt;
# Code the interface corresponding to those filters, and their options,&lt;br /&gt;
# Prepare visualizations, and notably for soundwave filters,&lt;br /&gt;
# Integrate those inside the timeline UI,&lt;br /&gt;
# Optimize.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C++/Qt/qml&#039;&#039;&#039; knowledge, and enough understanding of audio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: J-B&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Workflow video filters ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLMC is now working on the desktop, but we need to have a good setup of video filters to make it usable for most people.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Understand the VLMC and MLT codebase interactions,&lt;br /&gt;
# Add video filters on the MLT framework backend using the [https://git.sesse.net/?p=movit;a=summary movit] library or a similar open source library,&lt;br /&gt;
# Code the interface corresponding to those filters, and their options,&lt;br /&gt;
# Add transitions between clips&lt;br /&gt;
# Code the interface to manage those transitions,&lt;br /&gt;
# Optimize the code.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C/C++&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Felix&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Improve multiplatform support ==&lt;br /&gt;
VLMC is aiming at being fully cross platform, but drifted a bit from that goal. While most VLMC&#039;s code is cross platform, and can be easily built targeting platforms, some dependencies might prove more difficult to build or compose with VLMC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Fix MLT cross compilation for Windows (This will most likely require patching directly inside MLT, all contributions must be sent upstream). &lt;br /&gt;
# Fix medialibrary code &amp;amp; build process on macOS (and potentially iOS). The medialibrary misses some platform specific code to be able to list all connected drives (hard drives &amp;amp; USB removable storage, mostly) along with filesystem browsing&lt;br /&gt;
# Update the documentation along the way&lt;br /&gt;
# Create jenkins build configuration to have nightly builds on jenkins.videolan.org &amp;amp; nightlies.videolan.org for all supported platforms&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires buildsystems/toolchains knowledge, basic system programming on macOS &amp;amp; Windows&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Hugo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Remote UI ==&lt;br /&gt;
&lt;br /&gt;
We would like to have a way to use VLMC from a web browser. You can easily imagine having a nice, shiny &amp;amp; simple UI for minimal movie edition, which would go hand in hand with the cloud storage feature.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
This task aims toward the uncoupling of the rendering backend &amp;amp; UI, as the renderer will run server side, while the UI runs on the client side.&lt;br /&gt;
&lt;br /&gt;
The idea is to be able to have a UI interacting with the renderer without having to be in the same process, or even machine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C++&#039;&#039;&#039; and &#039;&#039;&#039;JS&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor&#039;&#039;: jb, chouquette, fkuehne&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Ideas for VLC dependencies =&lt;br /&gt;
&lt;br /&gt;
== libmicrodns refactoring ==&lt;br /&gt;
&lt;br /&gt;
Our current mDNS discoverer is working, but is not so respectful of the RFC.&lt;br /&gt;
Possible improvements include:&lt;br /&gt;
* Device TTL support&lt;br /&gt;
* Device removal detection&lt;br /&gt;
* Better request pacing&lt;br /&gt;
* Delegate socket interactions to the caller&lt;br /&gt;
* Unit testing&lt;br /&gt;
* Fuzzing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project require &#039;&#039;&#039;C&#039;&#039;&#039; knowledge, as well as system programming skills&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor&#039;&#039;: chouquette, tguillem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== dav1d ARM NEON optimization ==&lt;br /&gt;
&lt;br /&gt;
Improving the performance of the AV1 decoder is very important for VLC and the whole ecosystem.&lt;br /&gt;
&lt;br /&gt;
It requires to:&lt;br /&gt;
* Profiling to identify hotspots of the new libdav1d video decoder on arm64 across common test files&lt;br /&gt;
* Analysis of potential benefits of NEON SIMD for these hotspots&lt;br /&gt;
* Write arm64 NEON optimization using directly written assembly code&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;ASM&#039;&#039;&#039; knowledge, as well as system programming skills&lt;br /&gt;
&lt;br /&gt;
Contact &#039;j-b&#039;&lt;br /&gt;
&lt;br /&gt;
== dav1d GPU Compute Shaders ==&lt;br /&gt;
&lt;br /&gt;
Improving the performance of the AV1 decoder is very important for VLC and the whole ecosystem.&lt;br /&gt;
&lt;br /&gt;
This project requires to port one of the filter, like SGR or Wiener to one of the Shader languages. iPhones or Xbox One would be a good target.&lt;br /&gt;
&lt;br /&gt;
This is a tricky project, but is doable during the summer&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;GPU Shaders&#039;&#039;&#039; knowledge, as well as system programming skills&lt;br /&gt;
&lt;br /&gt;
Contact &#039;j-b&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== rav1e, the AV1 encoder in Rust ==&lt;br /&gt;
&lt;br /&gt;
The [https://github.com/xiph/rav1e rav1e] project aims to create a new AV1 encoder implementation in &lt;br /&gt;
Rust.&lt;br /&gt;
&lt;br /&gt;
To support this we need better AV1 analysis tools that give detailed information about AV1 streams including:&lt;br /&gt;
&lt;br /&gt;
* bit rate across the frame&lt;br /&gt;
* frame allocation within a scene&lt;br /&gt;
* display of frame data (block partitioning, mode decisions, motion vectors, etc)&lt;br /&gt;
* objective quality over time&lt;br /&gt;
* average rate (for streaming)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;Rust&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
Contact &#039;unlord&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== dav1d, the AV1 decoder ==&lt;br /&gt;
&lt;br /&gt;
The [https://code.videolan.org/videolan/dav1d dav1d] AV1 decoder is a new high performance AV1 decoder by &lt;br /&gt;
VideoLAN.&lt;br /&gt;
&lt;br /&gt;
Current open source tools for AV1 analysis use instrumentation in the reference decoder [https://aomedia.googlesource.com/aom libaom] to extract decode-time metadata for display and reporting, but support for sophisticated analysis is lacking.&lt;br /&gt;
&lt;br /&gt;
To speed development of AV1 tools like the rav1e, it would be helpful to add similar decoder metadata extraction APIs to the dav1d decoder so that rapid testing of encoder algorithms is easier.  This includes the ability to quickly produce statistics, visualizations and other &lt;br /&gt;
reporting that can be used for tuning encoder parameters or guiding development.  Advanced ideas include adding similar encoder metadata API to rav1e that add encode-time visualizations.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
Contact &#039;unlord&#039;&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;br /&gt;
&lt;br /&gt;
[[Category:SoC]]&lt;/div&gt;</summary>
		<author><name>Bubu</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2020&amp;diff=61998</id>
		<title>SoC 2020</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2020&amp;diff=61998"/>
		<updated>2020-02-05T15:25:38Z</updated>

		<summary type="html">&lt;p&gt;Bubu: Add projects templates from previous year&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Google Summer of Code 2020}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;float: right;&amp;quot;&amp;gt;&lt;br /&gt;
https://developers.google.com/open-source/gsoc/images/gsoc2016-sun-373x373.png&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This page summarizes the current list of ideas for VideoLAN project, for [https://summerofcode.withgoogle.com Google Summer Of Code 2020].&lt;br /&gt;
&lt;br /&gt;
The list is not exhaustive, and is not limitative. Feel free to apply with &#039;&#039;&#039;your own idea!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Introduction &amp;amp;amp; Information  ==&lt;br /&gt;
[[File:Asterix VLC.svg|frameless|right]]&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]], [[VLMC]] and [https://code.videolan.org/videolan/dav1d dav1d] (or the [[libVLC]] engine).&lt;br /&gt;
&lt;br /&gt;
We have projects in &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;C++&#039;&#039;&#039;, &#039;&#039;&#039;ASM&#039;&#039;&#039;, &#039;&#039;&#039;JS&#039;&#039;&#039;, &#039;&#039;&#039;Go&#039;&#039;&#039;, &#039;&#039;&#039;Obj-C&#039;&#039;&#039;, &#039;&#039;&#039;GPU Shaders&#039;&#039;&#039;, &#039;&#039;&#039;C#&#039;&#039;&#039;, &#039;&#039;&#039;Java/Kotlin&#039;&#039;&#039; and &#039;&#039;&#039;Swift&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code ===&lt;br /&gt;
&lt;br /&gt;
Google Summer of Code is a way for &#039;&#039;&#039;university students&#039;&#039;&#039; to have a paid &#039;&#039;&#039;internship&#039;&#039;&#039; by &#039;&#039;&#039;Google&#039;&#039;&#039; to work on open source projects and become top developers!&lt;br /&gt;
&lt;br /&gt;
[[VideoLAN]] was a &#039;&#039;Google Summer of Code&#039;&#039; mentoring organization in [[SoC 2007|2007]], [[SoC 2008|2008]], [[SoC 2009|2009]], [[SoC 2010|2010]], [[SoC 2011|2011]], [[SoC 2013|2013]], [[SoC 2016|2016]], [[SoC_2017|2017]], [[SoC_2018|2018]] and [[SoC_2019|2019]].&lt;br /&gt;
&lt;br /&gt;
This page lists some ideas for Summer of Code projects on VLMC, libVLC and {{VLC}}.&lt;br /&gt;
&lt;br /&gt;
=== VLC &amp;amp; libVLC  ===&lt;br /&gt;
&lt;br /&gt;
{{VLC}} is a cross-platform multimedia player, encoder and streamer application. It is one of the most successful open-source projects without any professional structure underneath. &lt;br /&gt;
&lt;br /&gt;
{{VLC}} is downloaded at an approximate monthly rate of 23 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;
The engine of VLC is &#039;&#039;&#039;libVLC&#039;&#039;&#039;, and is used by &#039;&#039;&#039;VLMC&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== VideoLAN Movie Creator ===&lt;br /&gt;
[[VLMC]] is a cross-platform non-linear video editing software based on libVLC technology. It was started as a final year student project at the French IT school [http://www.epitech.eu EPITECH].&lt;br /&gt;
&lt;br /&gt;
[[VLMC]] currently awaits a transition to the current libvlc API and it&#039;s actual 1.0 release!&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code  ===&lt;br /&gt;
&lt;br /&gt;
If selected and developed, SoC projects for VLMC and VLC will be included in later releases.&lt;br /&gt;
&lt;br /&gt;
All projects are covered by the GPL (v2+) or LGPL (v2.1+) licenses depending on the module.&lt;br /&gt;
&lt;br /&gt;
== How to Start ==&lt;br /&gt;
=== Find an idea ===&lt;br /&gt;
First, you need to find an idea.&lt;br /&gt;
&lt;br /&gt;
This current page gives you a list of ideas. Those ideas are &#039;&#039;&#039;NOT exhaustive&#039;&#039;&#039;: you can bring your own idea! Some of the best ideas we&#039;ve ever had were &#039;&#039;&#039;custom&#039;&#039;&#039; ideas!&lt;br /&gt;
&lt;br /&gt;
=== Submit your idea ===&lt;br /&gt;
You need to submit your idea on the &#039;&#039;Google Summer of Code&#039;&#039; platform.&lt;br /&gt;
&lt;br /&gt;
You should do so, very quickly, even before having finished compilation and the next steps, so that we can give you early feedback.&lt;br /&gt;
&lt;br /&gt;
=== Compile libVLC or VLMC ===&lt;br /&gt;
This may sound trivial, but it&#039;s harder than many expect. See https://wiki.videolan.org/Category:Building/ for more informations.&lt;br /&gt;
&lt;br /&gt;
You should come on [[IRC]] to get help to compile.&lt;br /&gt;
&lt;br /&gt;
=== Provide a small patch ===&lt;br /&gt;
To demonstrate your skills, share a small patch with us. This will let you become familiar with [[Git]], in case you don&#039;t know it already and our process on [[Sending Patches VLC|merging patches]].&lt;br /&gt;
&lt;br /&gt;
=== Let&#039;s get in touch ===&lt;br /&gt;
&lt;br /&gt;
If you have a doubt, are not sure about anything or want clarification, please get in touch with us.&lt;br /&gt;
&lt;br /&gt;
We have 3 major communication channels: Our [https://mailman.videolan.org/mailman/listinfo mailing-lists] to discuss patches and further development related topics. Furthermore, we have our [http://forum.videolan.org web forums] for VLC-related end-user support - a VLMC section will be created once the product is published. Finally, there is our IRC channel &#039;&#039;#videolan&#039;&#039; (for libVLC) and &#039;&#039;#vlmc&#039;&#039; on the &#039;&#039;Freenode&#039;&#039; network. It&#039;s open to any kind of discussion. Usage issues, questions how to compile VLC/VLMC, getting to know the fellow developers, etc.&lt;br /&gt;
&lt;br /&gt;
= Ideas for VLC &amp;amp; libVLC =&lt;br /&gt;
== Advanced Audio Filters ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
We are looking for a skilled audiophile that knows a lot about audio theory and practice to work on new audio filters for VLC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
* SRS WoW like or other 3D effects;&lt;br /&gt;
* channels mixing, notably upmixing, like Prologic-II;&lt;br /&gt;
* tracks mixing, and transitions;&lt;br /&gt;
* scriptable new audio filters in lua and enable users to create whatever audio filtering function they want in a Lua script;&lt;br /&gt;
* LADSPA or other libraries integration. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project needs some good audio knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Qualification task:&#039;&#039;&#039;&lt;br /&gt;
Port any audio filter from MPlayer&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: geal &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== VLC Qt interface redesign ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
The VLC interface is quite outdated on Linux and Windows. It has a lot of features, but some are not properly exposed.&lt;br /&gt;
&lt;br /&gt;
This project for the summer is to rework heavily this interface to make it beautiful and useful again.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scope of the tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
The idea is to get closer to what the WinRT/UWP interface looks like &#039;&#039;(search on google image to get an idea)&#039;&#039;, but other ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
The WinRT interface is simpler, more user friendly, and has a better &amp;quot;media center&amp;quot; feel into it.&lt;br /&gt;
&lt;br /&gt;
It would require integration with the media library and with the current interface.&lt;br /&gt;
&lt;br /&gt;
Qml is the preferred way of improving the current UI.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Qt/C++&#039;&#039;&#039; knowledge, and qml would be a nice plus.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Pierre&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== VLC macOS interface  redesign ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
The VLC interface is quite outdated on macOS and we are currently in the process of re-writing it to give it a modern feel, but also to integrate recent additions to libvlc regarding playback control and library management.&lt;br /&gt;
&lt;br /&gt;
This project for the summer is to rework heavily this interface to make it beautiful and useful again.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scope of the tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
There is a full design already done and tested. The major hurdle is to actually implement it the way we want it to be. The iOS/tvTV interface is simpler, more user friendly, and has a better &amp;quot;media center&amp;quot; feel into it, which influenced what we want to achieve on the Mac. Note that the objective is to use AppKit. UIKit (aka &amp;quot;Marzipan&amp;quot;) will not be part of this project.&lt;br /&gt;
&lt;br /&gt;
Iterating from the current UI and closely collaborating with the team currently working on it is a requirement.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Obj-C&#039;&#039;&#039; knowledge, a thorough understanding of OOP and proven previous Mac development experience. You cannot use swift for this project.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: David Fuhrmann, Felix Paul Kühne&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GPU shader filters ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLC is using OpenGL and Direct3D11 on modern machines. It is now possible to do all kinds of video processing that was done in the CPU directly in the GPU.&lt;br /&gt;
&lt;br /&gt;
This project for the summer is to port some of the existing CPU filters to the GPU using shaders.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scope of the tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
The first task will be to identify all the video filters in VLC and identify the ones that could be done as shaders. Then implement them. Either in OpenGL shaders, Direct3D11 shaders, both and maybe Vulkan.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;OpenGL&#039;&#039;&#039; or &#039;&#039;&#039;Direct3D11&#039;&#039;&#039; shaders knowledge as well as knowledge on video filters in general.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Steve Lhomme&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Integrate JS engine in VLC ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLC is scriptable today with the Lua programming language. While slim and efficient, it is a less known programming language than other, like JS.&lt;br /&gt;
&lt;br /&gt;
The goal is to create a PoC to get a small JS engine inside of VLC to program extensions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* Find the correct JS engine for VLC use-case&lt;br /&gt;
* Embed the engine in VLC&lt;br /&gt;
* Map the VLC calls to JS&lt;br /&gt;
* Write some extensions&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;C&#039;&#039;&#039; knowledge and &#039;&#039;&#039;JS&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Thomas Guillem&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== VLC on Android Testsuite ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLC on Android is the port of VLC on the Android platform. It is one of the most used version of VLC.&lt;br /&gt;
&lt;br /&gt;
Sadly it currently doesn&#039;t have any tests that ensure the stability of playback and deterministic behavior.&lt;br /&gt;
This can lead to regressions that are noticed too late and unexpected behavior that sometimes even make it into the Playstore, notably across Android versions.&lt;br /&gt;
&lt;br /&gt;
The project for this summer is to build a Testsuite around libvlc-onAndroid to ensure that the library becomes and stays stable and interface tests.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
*Get an overview of the current behavior of the Android version. &lt;br /&gt;
*Write a suite with different testtargets to ensure the correct behavior of the main UI views&lt;br /&gt;
*Use so called &amp;quot;stubbing&amp;quot; and &amp;quot;mocking&amp;quot; of classes for testing purposes&lt;br /&gt;
*Make sure that the testtarget runs once every day on gitlab to ensure that no regressions have been introduced.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Java&#039;&#039;&#039; and &#039;&#039;&#039;Kotlin&#039;&#039;&#039; knowledge and some development on Android.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Geoffrey Metais&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== VLCKit Testsuite ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLCKit is the wrapper framework around libvlc that powers VLC for iOS and the respective tvOS app.&lt;br /&gt;
The framework is furthermore used by thousands of Apps all over the world on iOS, tvOS and macOs and subject to everyday change. &lt;br /&gt;
&lt;br /&gt;
Sadly it currently only has a small amount of tests that ensure the stability of playback and deterministic behavior.&lt;br /&gt;
This frequently leads to regressions that are noticed too late and unexpected behavior that sometimes even makes it into the App Store. &lt;br /&gt;
&lt;br /&gt;
The project for this summer is to enhance the existing tests around VLCKit to ensure that the framework becomes and stays stable.&lt;br /&gt;
This indirectly has a huge impact on the stability of the macOS app since iOS and macOS share a code base.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
*Get an overview of the current behavior of the framework and existing tests&lt;br /&gt;
*Enhance the existing suite with different test targets to ensure the correct behavior of every single class&lt;br /&gt;
*Use so called &amp;quot;stubbing&amp;quot; and &amp;quot;mocking&amp;quot; of classes for testing purposes&lt;br /&gt;
*Make sure that the test target runs on every PR to ensure that no regressions have been introduced. &lt;br /&gt;
*Update and add Sample Apps to showcase usage of the framework or even build a test app that can be used to demonstrate recent changes in development &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Obj-C&#039;&#039;&#039; knowledge and ideally knowledge of writing tests for iOS but this can be learned.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Carola Nitz, Felix Paul Kühne&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== VLC iOS new UI ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
We&#039;re currently in the process of rewriting and updating the entire UI for VLC iOS &lt;br /&gt;
&lt;br /&gt;
There is a lot of components that need refactoring and need to get an updated UI. Like for example the core component of VLC which is the Movieplayer and related filters, sleep timer, channel selectors and other menu items, the first start screens that introduce new Users to the App and t the current upload via webbrowser experience.&lt;br /&gt;
Further more tests should be written for these components to ensure that we don&#039;t break features on old or new devices.&lt;br /&gt;
&lt;br /&gt;
The project for this summer is to write these components in Swift with updated UI and make sure the app becomes and stays stable.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
*Get an overview of the current App and components that need an update &lt;br /&gt;
*Refactor and give the following components a new look: MovieViewcontroller, Filterview, chapter, subtitle and audio track selection, sleep timer view  &lt;br /&gt;
*Writing tests for these components to ensure that functionality works on all supported devices&lt;br /&gt;
*Rewriting the first start screens &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Obj-C&#039;&#039;&#039; and &#039;&#039;&#039;Swift&#039;&#039;&#039; knowledge and ideally knowledge of writing tests for iOS but this can be learned.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Carola Nitz, Soomin Lee&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Open Source Fuzzing platform ==&lt;br /&gt;
&lt;br /&gt;
The idea of this project is to develop a new web platform to support fuzzing or code analysis, like oss_fuzz, but open source.&amp;lt;br /&amp;gt;&lt;br /&gt;
That would allow to see the defects, to be able to act on them.&lt;br /&gt;
&lt;br /&gt;
It should be adaptable for clang-analyser or other similar tools.&lt;br /&gt;
&lt;br /&gt;
It can be based on gitlab, if needed, but should be developed in Go.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Go&#039;&#039;&#039; knowledge and ideally knowledge of &#039;&#039;&#039;JS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Hugo Beauzée-Luyssen&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interactive movie support ==&lt;br /&gt;
&lt;br /&gt;
The idea is to add support for interactive movies inside VLC using the matroska.org mkv format. An interactive movie is like a gamebook but for movies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
* Extend the MKV spec to add support for titles, menus, that will be used by interactive movies&lt;br /&gt;
* Improve a MKV muxing tool (ffmpeg, mkvtoolnix) to support the extended spec&lt;br /&gt;
* Add interactive movies support inside VLC&#039;s MKV module&lt;br /&gt;
&lt;br /&gt;
Those will be done in &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;C++&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Thomas Guillem, Steve Lhomme&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Develop a MPD server inside VLC ==&lt;br /&gt;
&lt;br /&gt;
The idea is to add support for VLC to act as a MPD server.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
* study the MPD protocol&lt;br /&gt;
* code a MPD server as a control module&lt;br /&gt;
* connect to the medialibrary&lt;br /&gt;
* implement advanced MPD features&lt;br /&gt;
&lt;br /&gt;
Those will be done in &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;C++&#039;&#039;&#039;, and it requires familiarity with an MPD client&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Thomas Guillem&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Improve the web interface of VLC in Vue.js ==&lt;br /&gt;
&lt;br /&gt;
The idea is to improve the new web interface of VLC, that is currently in &#039;&#039;&#039;Vue.JS&#039;&#039;&#039;. It requires significant improvements&lt;br /&gt;
&lt;br /&gt;
* Review the current code&lt;br /&gt;
* Clean and improve the modularity&lt;br /&gt;
* Adapt to the new playlist code&lt;br /&gt;
* Connect to the new medialibrary&lt;br /&gt;
* Improve the look&lt;br /&gt;
&lt;br /&gt;
Those will be done in &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;C++&#039;&#039;&#039;, and it requires familiarity with an MPD client&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Gautam&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Improve VLCKit Objective-C - Swift interoperability == &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project description&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Currently VLCKit is not very &#039;&#039;&#039;Swift&#039;&#039;&#039; friendly.&lt;br /&gt;
Indeed, it will be beneficial for VLCKit to have a better &#039;&#039;&#039;Swift&#039;&#039;&#039; interoperability interface than one generated by default.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* Study exposed VLCKit methods&lt;br /&gt;
* Improve Objective-C - Swift interop&lt;br /&gt;
* Make a test Swift project to test the interoperability&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;Objective-C&#039;&#039;&#039; and &#039;&#039;&#039;Swift&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Proposed mentor&#039;&#039;&#039;: Carola Nitz, Soomin Lee&lt;br /&gt;
&lt;br /&gt;
== Other ideas for VLC &amp;amp; libVLC ==&lt;br /&gt;
&lt;br /&gt;
Those ideas are not detailed, but they are ideas that we could help to spring new ideas.&lt;br /&gt;
We can help work with you to make those more detailed.&lt;br /&gt;
&lt;br /&gt;
* Integrate &#039;&#039;&#039;Rust&#039;&#039;&#039; inside VLC, as a demuxer or a parser&lt;br /&gt;
* Improve Vulkan output for VLC, including HDR support&lt;br /&gt;
* Improve id3 tag and metadata handling in VLC&lt;br /&gt;
* Support NVDec decoding inside VLC&lt;br /&gt;
* Work on emscripten version of VLC, aka VLC.js&lt;br /&gt;
* Bridge module for GMI&#039;C or other video filters&lt;br /&gt;
* Automated Testing Environment like ffmpeg Fate (port ?) for demuxing, non-hw decoding&lt;br /&gt;
* Integrate libavfilter in VLC&lt;br /&gt;
* Improve the libVLCSharp bindings for VLC in &#039;&#039;&#039;C#&#039;&#039;&#039;&lt;br /&gt;
* Provide setups for popular streaming services / sout templates (ui ?)&lt;br /&gt;
&lt;br /&gt;
= Ideas for VLMC =&lt;br /&gt;
&lt;br /&gt;
== Port to Android ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;: &lt;br /&gt;
VLMC is now working on the desktop. It would be nice to port it also to the mobile world, starting by Android.&lt;br /&gt;
&lt;br /&gt;
This project would require to adapt to smaller screens, and simplify the UI to fit the Android workflow.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Fix the VLMC build for Android. As libVLC works fine on Android, this is more focused on compiling the Qt part for Android.&lt;br /&gt;
# Split more parts of the UI in components that are reusable on mobile.&lt;br /&gt;
# Change the components to fit the small resolutions of the Android devices.&lt;br /&gt;
# Rewrite some UI components in QML.&lt;br /&gt;
# Write a simpler timeline widget for Mobile workflows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C++/Qt/qml&#039;&#039;&#039; knowledge, and access to Android devices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Geoffrey/Hugo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Port to iOS ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;: &lt;br /&gt;
VLMC is now working on the desktop. It would be nice to port it also to the mobile world, also on iOS.&lt;br /&gt;
&lt;br /&gt;
This project would require to adapt to smaller screens, and simplify the UI to fit the iOS workflow.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Fix the VLMC build for iOS. As libVLC works fine on iOS, this is more focused on compiling the Qt part for iOS.&lt;br /&gt;
# Split more parts of the UI in components that are reusable on mobile.&lt;br /&gt;
# Change the components to fit the small resolutions of the iOS devices.&lt;br /&gt;
# Rewrite some UI components in QML.&lt;br /&gt;
# Write a simpler timeline widget for Mobile workflows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C++/Qt/qml&#039;&#039;&#039; knowledge, and access to iOS devices. Previous iOS development experience is preferred.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Felix/Hugo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Media Workflow rework ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLMC is now working on the desktop, but the media workflow is quite slow and is missing some common use cases.&lt;br /&gt;
&lt;br /&gt;
This should be fixed in [https://github.com/mltframework/mlt MLT] framework backend for libVLC and is the continuation from the work from the previous Summer of Code.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Understand the MLT libVLC backend codebase,&lt;br /&gt;
# Clean the backend and port it to a cleaner code state in C++,&lt;br /&gt;
# Benchmark the code and make it more efficient,&lt;br /&gt;
# Work to merge this backend upstream,&lt;br /&gt;
# Implement all the missing features in libVLC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C/C++&#039;&#039;&#039; knowledge, and understanding of multimedia concepts is a good positive point.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Hugo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Workflow audio filters ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLMC is now working on the desktop, but we need to have a good setup of audio filters to make it usable for most people.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Understand the VLMC and MLT codebase interactions,&lt;br /&gt;
# Add audio filters on the MLT framework backend using the [https://en.wikipedia.org/wiki/LADSPA LADSPA]/[http://lv2plug.in/ LV2] library or a similar open source library,&lt;br /&gt;
# Code the interface corresponding to those filters, and their options,&lt;br /&gt;
# Prepare visualizations, and notably for soundwave filters,&lt;br /&gt;
# Integrate those inside the timeline UI,&lt;br /&gt;
# Optimize.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C++/Qt/qml&#039;&#039;&#039; knowledge, and enough understanding of audio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: J-B&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Workflow video filters ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLMC is now working on the desktop, but we need to have a good setup of video filters to make it usable for most people.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Understand the VLMC and MLT codebase interactions,&lt;br /&gt;
# Add video filters on the MLT framework backend using the [https://git.sesse.net/?p=movit;a=summary movit] library or a similar open source library,&lt;br /&gt;
# Code the interface corresponding to those filters, and their options,&lt;br /&gt;
# Add transitions between clips&lt;br /&gt;
# Code the interface to manage those transitions,&lt;br /&gt;
# Optimize the code.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C/C++&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Felix&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Improve multiplatform support ==&lt;br /&gt;
VLMC is aiming at being fully cross platform, but drifted a bit from that goal. While most VLMC&#039;s code is cross platform, and can be easily built targeting platforms, some dependencies might prove more difficult to build or compose with VLMC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Fix MLT cross compilation for Windows (This will most likely require patching directly inside MLT, all contributions must be sent upstream). &lt;br /&gt;
# Fix medialibrary code &amp;amp; build process on macOS (and potentially iOS). The medialibrary misses some platform specific code to be able to list all connected drives (hard drives &amp;amp; USB removable storage, mostly) along with filesystem browsing&lt;br /&gt;
# Update the documentation along the way&lt;br /&gt;
# Create jenkins build configuration to have nightly builds on jenkins.videolan.org &amp;amp; nightlies.videolan.org for all supported platforms&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires buildsystems/toolchains knowledge, basic system programming on macOS &amp;amp; Windows&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Hugo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Remote UI ==&lt;br /&gt;
&lt;br /&gt;
We would like to have a way to use VLMC from a web browser. You can easily imagine having a nice, shiny &amp;amp; simple UI for minimal movie edition, which would go hand in hand with the cloud storage feature.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
This task aims toward the uncoupling of the rendering backend &amp;amp; UI, as the renderer will run server side, while the UI runs on the client side.&lt;br /&gt;
&lt;br /&gt;
The idea is to be able to have a UI interacting with the renderer without having to be in the same process, or even machine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C++&#039;&#039;&#039; and &#039;&#039;&#039;JS&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor&#039;&#039;: jb, chouquette, fkuehne&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Ideas for VLC dependencies =&lt;br /&gt;
&lt;br /&gt;
== libmicrodns refactoring ==&lt;br /&gt;
&lt;br /&gt;
Our current mDNS discoverer is working, but is not so respectful of the RFC.&lt;br /&gt;
Possible improvements include:&lt;br /&gt;
* Device TTL support&lt;br /&gt;
* Device removal detection&lt;br /&gt;
* Better request pacing&lt;br /&gt;
* Delegate socket interactions to the caller&lt;br /&gt;
* Unit testing&lt;br /&gt;
* Fuzzing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project require &#039;&#039;&#039;C&#039;&#039;&#039; knowledge, as well as system programming skills&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor&#039;&#039;: chouquette, tguillem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== dav1d ARM NEON optimization ==&lt;br /&gt;
&lt;br /&gt;
Improving the performance of the AV1 decoder is very important for VLC and the whole ecosystem.&lt;br /&gt;
&lt;br /&gt;
It requires to:&lt;br /&gt;
* Profiling to identify hotspots of the new libdav1d video decoder on arm64 across common test files&lt;br /&gt;
* Analysis of potential benefits of NEON SIMD for these hotspots&lt;br /&gt;
* Write arm64 NEON optimization using directly written assembly code&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;ASM&#039;&#039;&#039; knowledge, as well as system programming skills&lt;br /&gt;
&lt;br /&gt;
Contact &#039;j-b&#039;&lt;br /&gt;
&lt;br /&gt;
== dav1d GPU Compute Shaders ==&lt;br /&gt;
&lt;br /&gt;
Improving the performance of the AV1 decoder is very important for VLC and the whole ecosystem.&lt;br /&gt;
&lt;br /&gt;
This project requires to port one of the filter, like SGR or Wiener to one of the Shader languages. iPhones or Xbox One would be a good target.&lt;br /&gt;
&lt;br /&gt;
This is a tricky project, but is doable during the summer&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;GPU Shaders&#039;&#039;&#039; knowledge, as well as system programming skills&lt;br /&gt;
&lt;br /&gt;
Contact &#039;j-b&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== rav1e, the AV1 encoder in Rust ==&lt;br /&gt;
&lt;br /&gt;
The [https://github.com/xiph/rav1e rav1e] project aims to create a new AV1 encoder implementation in &lt;br /&gt;
Rust.&lt;br /&gt;
&lt;br /&gt;
To support this we need better AV1 analysis tools that give detailed information about AV1 streams including:&lt;br /&gt;
&lt;br /&gt;
* bit rate across the frame&lt;br /&gt;
* frame allocation within a scene&lt;br /&gt;
* display of frame data (block partitioning, mode decisions, motion vectors, etc)&lt;br /&gt;
* objective quality over time&lt;br /&gt;
* average rate (for streaming)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;Rust&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
Contact &#039;unlord&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== dav1d, the AV1 decoder ==&lt;br /&gt;
&lt;br /&gt;
The [https://code.videolan.org/videolan/dav1d dav1d] AV1 decoder is a new high performance AV1 decoder by &lt;br /&gt;
VideoLAN.&lt;br /&gt;
&lt;br /&gt;
Current open source tools for AV1 analysis use instrumentation in the reference decoder [https://aomedia.googlesource.com/aom libaom] to extract decode-time metadata for display and reporting, but support for sophisticated analysis is lacking.&lt;br /&gt;
&lt;br /&gt;
To speed development of AV1 tools like the rav1e, it would be helpful to add similar decoder metadata extraction APIs to the dav1d decoder so that rapid testing of encoder algorithms is easier.  This includes the ability to quickly produce statistics, visualizations and other &lt;br /&gt;
reporting that can be used for tuning encoder parameters or guiding development.  Advanced ideas include adding similar encoder metadata API to rav1e that add encode-time visualizations.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
Contact &#039;unlord&#039;&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;br /&gt;
&lt;br /&gt;
[[Category:SoC]]&lt;/div&gt;</summary>
		<author><name>Bubu</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Category:SoC&amp;diff=61997</id>
		<title>Category:SoC</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Category:SoC&amp;diff=61997"/>
		<updated>2020-02-05T14:58:27Z</updated>

		<summary type="html">&lt;p&gt;Bubu: Add missing SoC references&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Those pages covers [[VideoLAN]] work on [http://code.google.com/soc Google Summer of Code projects]&lt;br /&gt;
&lt;br /&gt;
* [[SoC_2020]] was what happened during the 2020 year, where VideoLAN was a mentoring association.&lt;br /&gt;
* [[SoC_2019]] was what happened during the 2019 year, where VideoLAN was a mentoring association.&lt;br /&gt;
* [[SoC_2018]] was what happened during the 2018 year, where VideoLAN was a mentoring association.&lt;br /&gt;
* [[SoC_2017]] was what happened during the 2017 year, where VideoLAN was a mentoring association.&lt;br /&gt;
* [[SoC_2016]] was what happened during the 2016 year, where VideoLAN was a mentoring association.&lt;br /&gt;
* [[SoC_2011]] was what happened during the 2011 year, where VideoLAN was a mentoring association.&lt;br /&gt;
* [[SoC_2010]] was what happened during the 2010 year, where VideoLAN was a mentoring association.&lt;br /&gt;
* [[SoC_2009]] was what happened during the 2009 year, where VideoLAN was a mentoring association.&lt;br /&gt;
* [[SoC_2008]] was what happened during the 2008 year, where VideoLAN was a mentoring association.&lt;br /&gt;
* [[SoC_2007]] was what happened during the 2007 year, where VideoLAN was a mentoring association.&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Mentorings]]&lt;/div&gt;</summary>
		<author><name>Bubu</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=GSoC_2020&amp;diff=61996</id>
		<title>GSoC 2020</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=GSoC_2020&amp;diff=61996"/>
		<updated>2020-02-05T14:35:53Z</updated>

		<summary type="html">&lt;p&gt;Bubu: Redirect to SoC 2020&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#redirect[[SoC_2020]]&lt;/div&gt;</summary>
		<author><name>Bubu</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2020&amp;diff=61995</id>
		<title>SoC 2020</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2020&amp;diff=61995"/>
		<updated>2020-02-05T14:29:26Z</updated>

		<summary type="html">&lt;p&gt;Bubu: Fix typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Google Summer of Code 2020}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;float: right;&amp;quot;&amp;gt;&lt;br /&gt;
https://developers.google.com/open-source/gsoc/images/gsoc2016-sun-373x373.png&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This page summarizes the current list of ideas for VideoLAN project, for [https://summerofcode.withgoogle.com Google Summer Of Code 2020].&lt;br /&gt;
&lt;br /&gt;
The list is not exhaustive, and is not limitative. Feel free to apply with &#039;&#039;&#039;your own idea!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Introduction &amp;amp;amp; Information  ==&lt;br /&gt;
[[File:Asterix VLC.svg|frameless|right]]&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]], [[VLMC]] and [https://code.videolan.org/videolan/dav1d dav1d] (or the [[libVLC]] engine).&lt;br /&gt;
&lt;br /&gt;
We have projects in &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;C++&#039;&#039;&#039;, &#039;&#039;&#039;ASM&#039;&#039;&#039;, &#039;&#039;&#039;JS&#039;&#039;&#039;, &#039;&#039;&#039;Go&#039;&#039;&#039;, &#039;&#039;&#039;Obj-C&#039;&#039;&#039;, &#039;&#039;&#039;GPU Shaders&#039;&#039;&#039;, &#039;&#039;&#039;C#&#039;&#039;&#039;, &#039;&#039;&#039;Java/Kotlin&#039;&#039;&#039; and &#039;&#039;&#039;Swift&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code ===&lt;br /&gt;
&lt;br /&gt;
Google Summer of Code is a way for &#039;&#039;&#039;university students&#039;&#039;&#039; to have a paid &#039;&#039;&#039;internship&#039;&#039;&#039; by &#039;&#039;&#039;Google&#039;&#039;&#039; to work on open source projects and become top developers!&lt;br /&gt;
&lt;br /&gt;
[[VideoLAN]] was a &#039;&#039;Google Summer of Code&#039;&#039; mentoring organization in [[SoC 2007|2007]], [[SoC 2008|2008]], [[SoC 2009|2009]], [[SoC 2010|2010]], [[SoC 2011|2011]], [[SoC 2013|2013]], [[SoC 2016|2016]], [[SoC_2017|2017]], [[SoC_2018|2018]] and [[SoC_2019|2019]].&lt;br /&gt;
&lt;br /&gt;
This page lists some ideas for Summer of Code projects on VLMC, libVLC and {{VLC}}.&lt;br /&gt;
&lt;br /&gt;
=== VLC &amp;amp; libVLC  ===&lt;br /&gt;
&lt;br /&gt;
{{VLC}} is a cross-platform multimedia player, encoder and streamer application. It is one of the most successful open-source projects without any professional structure underneath. &lt;br /&gt;
&lt;br /&gt;
{{VLC}} is downloaded at an approximate monthly rate of 23 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;
The engine of VLC is &#039;&#039;&#039;libVLC&#039;&#039;&#039;, and is used by &#039;&#039;&#039;VLMC&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== VideoLAN Movie Creator ===&lt;br /&gt;
[[VLMC]] is a cross-platform non-linear video editing software based on libVLC technology. It was started as a final year student project at the French IT school [http://www.epitech.eu EPITECH].&lt;br /&gt;
&lt;br /&gt;
[[VLMC]] currently awaits a transition to the current libvlc API and it&#039;s actual 1.0 release!&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code  ===&lt;br /&gt;
&lt;br /&gt;
If selected and developed, SoC projects for VLMC and VLC will be included in later releases.&lt;br /&gt;
&lt;br /&gt;
All projects are covered by the GPL (v2+) or LGPL (v2.1+) licenses depending on the module.&lt;br /&gt;
&lt;br /&gt;
== How to Start ==&lt;br /&gt;
=== Find an idea ===&lt;br /&gt;
First, you need to find an idea.&lt;br /&gt;
&lt;br /&gt;
This current page gives you a list of ideas. Those ideas are &#039;&#039;&#039;NOT exhaustive&#039;&#039;&#039;: you can bring your own idea! Some of the best ideas we&#039;ve ever had were &#039;&#039;&#039;custom&#039;&#039;&#039; ideas!&lt;br /&gt;
&lt;br /&gt;
=== Submit your idea ===&lt;br /&gt;
You need to submit your idea on the &#039;&#039;Google Summer of Code&#039;&#039; platform.&lt;br /&gt;
&lt;br /&gt;
You should do so, very quickly, even before having finished compilation and the next steps, so that we can give you early feedback.&lt;br /&gt;
&lt;br /&gt;
=== Compile libVLC or VLMC ===&lt;br /&gt;
This may sound trivial, but it&#039;s harder than many expect. See https://wiki.videolan.org/Category:Building/ for more informations.&lt;br /&gt;
&lt;br /&gt;
You should come on [[IRC]] to get help to compile.&lt;br /&gt;
&lt;br /&gt;
=== Provide a small patch ===&lt;br /&gt;
To demonstrate your skills, share a small patch with us. This will let you become familiar with [[Git]], in case you don&#039;t know it already and our process on [[Sending Patches VLC|merging patches]].&lt;br /&gt;
&lt;br /&gt;
=== Let&#039;s get in touch ===&lt;br /&gt;
&lt;br /&gt;
If you have a doubt, are not sure about anything or want clarification, please get in touch with us.&lt;br /&gt;
&lt;br /&gt;
We have 3 major communication channels: Our [https://mailman.videolan.org/mailman/listinfo mailing-lists] to discuss patches and further development related topics. Furthermore, we have our [http://forum.videolan.org web forums] for VLC-related end-user support - a VLMC section will be created once the product is published. Finally, there is our IRC channel &#039;&#039;#videolan&#039;&#039; (for libVLC) and &#039;&#039;#vlmc&#039;&#039; on the &#039;&#039;Freenode&#039;&#039; network. It&#039;s open to any kind of discussion. Usage issues, questions how to compile VLC/VLMC, getting to know the fellow developers, etc.&lt;br /&gt;
&lt;br /&gt;
= Ideas for VLC &amp;amp; libVLC =&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;br /&gt;
&lt;br /&gt;
[[Category:SoC]]&lt;/div&gt;</summary>
		<author><name>Bubu</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2020&amp;diff=61994</id>
		<title>SoC 2020</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2020&amp;diff=61994"/>
		<updated>2020-02-05T14:28:47Z</updated>

		<summary type="html">&lt;p&gt;Bubu: Add dav1d repository link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Google Summer of Code 2020}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;float: right;&amp;quot;&amp;gt;&lt;br /&gt;
https://developers.google.com/open-source/gsoc/images/gsoc2016-sun-373x373.png&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This page summarize the current list of ideas for VideoLAN project, for [https://summerofcode.withgoogle.com Google Summer Of Code 2020].&lt;br /&gt;
&lt;br /&gt;
The list is not exhaustive, and is not limitative. Feel free to apply with &#039;&#039;&#039;your own idea!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Introduction &amp;amp;amp; Information  ==&lt;br /&gt;
[[File:Asterix VLC.svg|frameless|right]]&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]], [[VLMC]] and [https://code.videolan.org/videolan/dav1d dav1d] (or the [[libVLC]] engine).&lt;br /&gt;
&lt;br /&gt;
We have projects in &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;C++&#039;&#039;&#039;, &#039;&#039;&#039;ASM&#039;&#039;&#039;, &#039;&#039;&#039;JS&#039;&#039;&#039;, &#039;&#039;&#039;Go&#039;&#039;&#039;, &#039;&#039;&#039;Obj-C&#039;&#039;&#039;, &#039;&#039;&#039;GPU Shaders&#039;&#039;&#039;, &#039;&#039;&#039;C#&#039;&#039;&#039;, &#039;&#039;&#039;Java/Kotlin&#039;&#039;&#039; and &#039;&#039;&#039;Swift&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code ===&lt;br /&gt;
&lt;br /&gt;
Google Summer of Code is a way for &#039;&#039;&#039;university students&#039;&#039;&#039; to have a paid &#039;&#039;&#039;internship&#039;&#039;&#039; by &#039;&#039;&#039;Google&#039;&#039;&#039; to work on open source projects and become top developers!&lt;br /&gt;
&lt;br /&gt;
[[VideoLAN]] was a &#039;&#039;Google Summer of Code&#039;&#039; mentoring organization in [[SoC 2007|2007]], [[SoC 2008|2008]], [[SoC 2009|2009]], [[SoC 2010|2010]], [[SoC 2011|2011]], [[SoC 2013|2013]], [[SoC 2016|2016]], [[SoC_2017|2017]], [[SoC_2018|2018]] and [[SoC_2019|2019]].&lt;br /&gt;
&lt;br /&gt;
This page lists some ideas for Summer of Code projects on VLMC, libVLC and {{VLC}}.&lt;br /&gt;
&lt;br /&gt;
=== VLC &amp;amp; libVLC  ===&lt;br /&gt;
&lt;br /&gt;
{{VLC}} is a cross-platform multimedia player, encoder and streamer application. It is one of the most successful open-source projects without any professional structure underneath. &lt;br /&gt;
&lt;br /&gt;
{{VLC}} is downloaded at an approximate monthly rate of 23 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;
The engine of VLC is &#039;&#039;&#039;libVLC&#039;&#039;&#039;, and is used by &#039;&#039;&#039;VLMC&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== VideoLAN Movie Creator ===&lt;br /&gt;
[[VLMC]] is a cross-platform non-linear video editing software based on libVLC technology. It was started as a final year student project at the French IT school [http://www.epitech.eu EPITECH].&lt;br /&gt;
&lt;br /&gt;
[[VLMC]] currently awaits a transition to the current libvlc API and it&#039;s actual 1.0 release!&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code  ===&lt;br /&gt;
&lt;br /&gt;
If selected and developed, SoC projects for VLMC and VLC will be included in later releases.&lt;br /&gt;
&lt;br /&gt;
All projects are covered by the GPL (v2+) or LGPL (v2.1+) licenses depending on the module.&lt;br /&gt;
&lt;br /&gt;
== How to Start ==&lt;br /&gt;
=== Find an idea ===&lt;br /&gt;
First, you need to find an idea.&lt;br /&gt;
&lt;br /&gt;
This current page gives you a list of ideas. Those ideas are &#039;&#039;&#039;NOT exhaustive&#039;&#039;&#039;: you can bring your own idea! Some of the best ideas we&#039;ve ever had were &#039;&#039;&#039;custom&#039;&#039;&#039; ideas!&lt;br /&gt;
&lt;br /&gt;
=== Submit your idea ===&lt;br /&gt;
You need to submit your idea on the &#039;&#039;Google Summer of Code&#039;&#039; platform.&lt;br /&gt;
&lt;br /&gt;
You should do so, very quickly, even before having finished compilation and the next steps, so that we can give you early feedback.&lt;br /&gt;
&lt;br /&gt;
=== Compile libVLC or VLMC ===&lt;br /&gt;
This may sound trivial, but it&#039;s harder than many expect. See https://wiki.videolan.org/Category:Building/ for more informations.&lt;br /&gt;
&lt;br /&gt;
You should come on [[IRC]] to get help to compile.&lt;br /&gt;
&lt;br /&gt;
=== Provide a small patch ===&lt;br /&gt;
To demonstrate your skills, share a small patch with us. This will let you become familiar with [[Git]], in case you don&#039;t know it already and our process on [[Sending Patches VLC|merging patches]].&lt;br /&gt;
&lt;br /&gt;
=== Let&#039;s get in touch ===&lt;br /&gt;
&lt;br /&gt;
If you have a doubt, are not sure about anything or want clarification, please get in touch with us.&lt;br /&gt;
&lt;br /&gt;
We have 3 major communication channels: Our [https://mailman.videolan.org/mailman/listinfo mailing-lists] to discuss patches and further development related topics. Furthermore, we have our [http://forum.videolan.org web forums] for VLC-related end-user support - a VLMC section will be created once the product is published. Finally, there is our IRC channel &#039;&#039;#videolan&#039;&#039; (for libVLC) and &#039;&#039;#vlmc&#039;&#039; on the &#039;&#039;Freenode&#039;&#039; network. It&#039;s open to any kind of discussion. Usage issues, questions how to compile VLC/VLMC, getting to know the fellow developers, etc.&lt;br /&gt;
&lt;br /&gt;
= Ideas for VLC &amp;amp; libVLC =&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;br /&gt;
&lt;br /&gt;
[[Category:SoC]]&lt;/div&gt;</summary>
		<author><name>Bubu</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2020&amp;diff=61993</id>
		<title>SoC 2020</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2020&amp;diff=61993"/>
		<updated>2020-02-05T14:26:57Z</updated>

		<summary type="html">&lt;p&gt;Bubu: Add SoC 2019 reference&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Google Summer of Code 2020}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;float: right;&amp;quot;&amp;gt;&lt;br /&gt;
https://developers.google.com/open-source/gsoc/images/gsoc2016-sun-373x373.png&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This page summarize the current list of ideas for VideoLAN project, for [https://summerofcode.withgoogle.com Google Summer Of Code 2020].&lt;br /&gt;
&lt;br /&gt;
The list is not exhaustive, and is not limitative. Feel free to apply with &#039;&#039;&#039;your own idea!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Introduction &amp;amp;amp; Information  ==&lt;br /&gt;
[[File:Asterix VLC.svg|frameless|right]]&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]], [[VLMC]] and &#039;&#039;&#039;dav1d&#039;&#039;&#039; (or the [[libVLC]] engine).&lt;br /&gt;
&lt;br /&gt;
We have projects in &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;C++&#039;&#039;&#039;, &#039;&#039;&#039;ASM&#039;&#039;&#039;, &#039;&#039;&#039;JS&#039;&#039;&#039;, &#039;&#039;&#039;Go&#039;&#039;&#039;, &#039;&#039;&#039;Obj-C&#039;&#039;&#039;, &#039;&#039;&#039;GPU Shaders&#039;&#039;&#039;, &#039;&#039;&#039;C#&#039;&#039;&#039;, &#039;&#039;&#039;Java/Kotlin&#039;&#039;&#039; and &#039;&#039;&#039;Swift&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code ===&lt;br /&gt;
&lt;br /&gt;
Google Summer of Code is a way for &#039;&#039;&#039;university students&#039;&#039;&#039; to have a paid &#039;&#039;&#039;internship&#039;&#039;&#039; by &#039;&#039;&#039;Google&#039;&#039;&#039; to work on open source projects and become top developers!&lt;br /&gt;
&lt;br /&gt;
[[VideoLAN]] was a &#039;&#039;Google Summer of Code&#039;&#039; mentoring organization in [[SoC 2007|2007]], [[SoC 2008|2008]], [[SoC 2009|2009]], [[SoC 2010|2010]], [[SoC 2011|2011]], [[SoC 2013|2013]], [[SoC 2016|2016]], [[SoC_2017|2017]], [[SoC_2018|2018]] and [[SoC_2019|2019]].&lt;br /&gt;
&lt;br /&gt;
This page lists some ideas for Summer of Code projects on VLMC, libVLC and {{VLC}}.&lt;br /&gt;
&lt;br /&gt;
=== VLC &amp;amp; libVLC  ===&lt;br /&gt;
&lt;br /&gt;
{{VLC}} is a cross-platform multimedia player, encoder and streamer application. It is one of the most successful open-source projects without any professional structure underneath. &lt;br /&gt;
&lt;br /&gt;
{{VLC}} is downloaded at an approximate monthly rate of 23 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;
The engine of VLC is &#039;&#039;&#039;libVLC&#039;&#039;&#039;, and is used by &#039;&#039;&#039;VLMC&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== VideoLAN Movie Creator ===&lt;br /&gt;
[[VLMC]] is a cross-platform non-linear video editing software based on libVLC technology. It was started as a final year student project at the French IT school [http://www.epitech.eu EPITECH].&lt;br /&gt;
&lt;br /&gt;
[[VLMC]] currently awaits a transition to the current libvlc API and it&#039;s actual 1.0 release!&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code  ===&lt;br /&gt;
&lt;br /&gt;
If selected and developed, SoC projects for VLMC and VLC will be included in later releases.&lt;br /&gt;
&lt;br /&gt;
All projects are covered by the GPL (v2+) or LGPL (v2.1+) licenses depending on the module.&lt;br /&gt;
&lt;br /&gt;
== How to Start ==&lt;br /&gt;
=== Find an idea ===&lt;br /&gt;
First, you need to find an idea.&lt;br /&gt;
&lt;br /&gt;
This current page gives you a list of ideas. Those ideas are &#039;&#039;&#039;NOT exhaustive&#039;&#039;&#039;: you can bring your own idea! Some of the best ideas we&#039;ve ever had were &#039;&#039;&#039;custom&#039;&#039;&#039; ideas!&lt;br /&gt;
&lt;br /&gt;
=== Submit your idea ===&lt;br /&gt;
You need to submit your idea on the &#039;&#039;Google Summer of Code&#039;&#039; platform.&lt;br /&gt;
&lt;br /&gt;
You should do so, very quickly, even before having finished compilation and the next steps, so that we can give you early feedback.&lt;br /&gt;
&lt;br /&gt;
=== Compile libVLC or VLMC ===&lt;br /&gt;
This may sound trivial, but it&#039;s harder than many expect. See https://wiki.videolan.org/Category:Building/ for more informations.&lt;br /&gt;
&lt;br /&gt;
You should come on [[IRC]] to get help to compile.&lt;br /&gt;
&lt;br /&gt;
=== Provide a small patch ===&lt;br /&gt;
To demonstrate your skills, share a small patch with us. This will let you become familiar with [[Git]], in case you don&#039;t know it already and our process on [[Sending Patches VLC|merging patches]].&lt;br /&gt;
&lt;br /&gt;
=== Let&#039;s get in touch ===&lt;br /&gt;
&lt;br /&gt;
If you have a doubt, are not sure about anything or want clarification, please get in touch with us.&lt;br /&gt;
&lt;br /&gt;
We have 3 major communication channels: Our [https://mailman.videolan.org/mailman/listinfo mailing-lists] to discuss patches and further development related topics. Furthermore, we have our [http://forum.videolan.org web forums] for VLC-related end-user support - a VLMC section will be created once the product is published. Finally, there is our IRC channel &#039;&#039;#videolan&#039;&#039; (for libVLC) and &#039;&#039;#vlmc&#039;&#039; on the &#039;&#039;Freenode&#039;&#039; network. It&#039;s open to any kind of discussion. Usage issues, questions how to compile VLC/VLMC, getting to know the fellow developers, etc.&lt;br /&gt;
&lt;br /&gt;
= Ideas for VLC &amp;amp; libVLC =&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;br /&gt;
&lt;br /&gt;
[[Category:SoC]]&lt;/div&gt;</summary>
		<author><name>Bubu</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2020&amp;diff=61992</id>
		<title>SoC 2020</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2020&amp;diff=61992"/>
		<updated>2020-02-05T14:26:02Z</updated>

		<summary type="html">&lt;p&gt;Bubu: Adapt to 2020&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Google Summer of Code 2020}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;float: right;&amp;quot;&amp;gt;&lt;br /&gt;
https://developers.google.com/open-source/gsoc/images/gsoc2016-sun-373x373.png&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This page summarize the current list of ideas for VideoLAN project, for [https://summerofcode.withgoogle.com Google Summer Of Code 2020].&lt;br /&gt;
&lt;br /&gt;
The list is not exhaustive, and is not limitative. Feel free to apply with &#039;&#039;&#039;your own idea!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Introduction &amp;amp;amp; Information  ==&lt;br /&gt;
[[File:Asterix VLC.svg|frameless|right]]&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]], [[VLMC]] and &#039;&#039;&#039;dav1d&#039;&#039;&#039; (or the [[libVLC]] engine).&lt;br /&gt;
&lt;br /&gt;
We have projects in &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;C++&#039;&#039;&#039;, &#039;&#039;&#039;ASM&#039;&#039;&#039;, &#039;&#039;&#039;JS&#039;&#039;&#039;, &#039;&#039;&#039;Go&#039;&#039;&#039;, &#039;&#039;&#039;Obj-C&#039;&#039;&#039;, &#039;&#039;&#039;GPU Shaders&#039;&#039;&#039;, &#039;&#039;&#039;C#&#039;&#039;&#039;, &#039;&#039;&#039;Java/Kotlin&#039;&#039;&#039; and &#039;&#039;&#039;Swift&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code ===&lt;br /&gt;
&lt;br /&gt;
Google Summer of Code is a way for &#039;&#039;&#039;university students&#039;&#039;&#039; to have a paid &#039;&#039;&#039;internship&#039;&#039;&#039; by &#039;&#039;&#039;Google&#039;&#039;&#039; to work on open source projects and become top developers!&lt;br /&gt;
&lt;br /&gt;
[[VideoLAN]] was a &#039;&#039;Google Summer of Code&#039;&#039; mentoring organization in [[SoC 2007|2007]], [[SoC 2008|2008]], [[SoC 2009|2009]], [[SoC 2010|2010]], [[SoC 2011|2011]], [[SoC 2013|2013]], [[SoC 2016|2016]], [[SoC_2017|2017]] and [[SoC_2018|2018]]. &lt;br /&gt;
&lt;br /&gt;
This page list some ideas for Summer of Code projects on VLMC, libVLC and {{VLC}}.&lt;br /&gt;
&lt;br /&gt;
=== VLC &amp;amp; libVLC  ===&lt;br /&gt;
&lt;br /&gt;
{{VLC}} is a cross-platform multimedia player, encoder and streamer application. It is one of the most successful open-source projects without any professional structure underneath. &lt;br /&gt;
&lt;br /&gt;
{{VLC}} is downloaded at an approximate monthly rate of 23 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;
The engine of VLC is &#039;&#039;&#039;libVLC&#039;&#039;&#039;, and is used by &#039;&#039;&#039;VLMC&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== VideoLAN Movie Creator ===&lt;br /&gt;
[[VLMC]] is a cross-platform non-linear video editing software based on libVLC technology. It was started as a final year student project at the French IT school [http://www.epitech.eu EPITECH].&lt;br /&gt;
&lt;br /&gt;
[[VLMC]] currently awaits a transition to the current libvlc API and it&#039;s actual 1.0 release!&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code  ===&lt;br /&gt;
&lt;br /&gt;
If selected and developed, SoC projects for VLMC and VLC will be included in later releases.&lt;br /&gt;
&lt;br /&gt;
All projects are covered by the GPL (v2+) or LGPL (v2.1+) licenses depending on the module.&lt;br /&gt;
&lt;br /&gt;
== How to Start ==&lt;br /&gt;
=== Find an idea ===&lt;br /&gt;
First, you need to find an idea.&lt;br /&gt;
&lt;br /&gt;
This current page gives you a list of ideas. Those ideas are &#039;&#039;&#039;NOT exhaustive&#039;&#039;&#039;: you can bring your own idea! Some of the best ideas we&#039;ve ever had were &#039;&#039;&#039;custom&#039;&#039;&#039; ideas!&lt;br /&gt;
&lt;br /&gt;
=== Submit your idea ===&lt;br /&gt;
You need to submit your idea on the &#039;&#039;Google Summer of Code&#039;&#039; platform.&lt;br /&gt;
&lt;br /&gt;
You should do so, very quickly, even before having finished compilation and the next steps, so that we can give you early feedback.&lt;br /&gt;
&lt;br /&gt;
=== Compile libVLC or VLMC ===&lt;br /&gt;
This may sound trivial, but it&#039;s harder than many expect. See https://wiki.videolan.org/Category:Building/ for more informations.&lt;br /&gt;
&lt;br /&gt;
You should come on [[IRC]] to get help to compile.&lt;br /&gt;
&lt;br /&gt;
=== Provide a small patch ===&lt;br /&gt;
To demonstrate your skills, share a small patch with us. This will let you become familiar with [[Git]], in case you don&#039;t know it already and our process on [[Sending Patches VLC|merging patches]].&lt;br /&gt;
&lt;br /&gt;
=== Let&#039;s get in touch ===&lt;br /&gt;
&lt;br /&gt;
If you have a doubt, are not sure about anything or want clarification, please get in touch with us.&lt;br /&gt;
&lt;br /&gt;
We have 3 major communication channels: Our [https://mailman.videolan.org/mailman/listinfo mailing-lists] to discuss patches and further development related topics. Furthermore, we have our [http://forum.videolan.org web forums] for VLC-related end-user support - a VLMC section will be created once the product is published. Finally, there is our IRC channel &#039;&#039;#videolan&#039;&#039; (for libVLC) and &#039;&#039;#vlmc&#039;&#039; on the &#039;&#039;Freenode&#039;&#039; network. It&#039;s open to any kind of discussion. Usage issues, questions how to compile VLC/VLMC, getting to know the fellow developers, etc.&lt;br /&gt;
&lt;br /&gt;
= Ideas for VLC &amp;amp; libVLC =&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;br /&gt;
&lt;br /&gt;
[[Category:SoC]]&lt;/div&gt;</summary>
		<author><name>Bubu</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2019&amp;diff=59404</id>
		<title>SoC 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2019&amp;diff=59404"/>
		<updated>2019-03-13T16:50:39Z</updated>

		<summary type="html">&lt;p&gt;Bubu: /* Improve VLCKit Objective-C - Swift interoperability */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Google Summer of Code 2019}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;float: right;&amp;quot;&amp;gt;&lt;br /&gt;
https://developers.google.com/open-source/gsoc/images/gsoc2016-sun-373x373.png&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This page summarize the current list of ideas for VideoLAN project, for [https://summerofcode.withgoogle.com Google Summer Of Code 2019].&lt;br /&gt;
&lt;br /&gt;
The list is not exhaustive, and is not limitative. Feel free to apply with &#039;&#039;&#039;your own idea!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Introduction &amp;amp;amp; Information  ==&lt;br /&gt;
[[File:Asterix VLC.svg|frameless|right]]&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]], [[VLMC]] and &#039;&#039;&#039;dav1d&#039;&#039;&#039; (or the [[libVLC]] engine).&lt;br /&gt;
&lt;br /&gt;
We have projects in &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;C++&#039;&#039;&#039;, &#039;&#039;&#039;ASM&#039;&#039;&#039;, &#039;&#039;&#039;JS&#039;&#039;&#039;, &#039;&#039;&#039;Go&#039;&#039;&#039;, &#039;&#039;&#039;Obj-C&#039;&#039;&#039;, &#039;&#039;&#039;GPU Shaders&#039;&#039;&#039;, &#039;&#039;&#039;C#&#039;&#039;&#039;, &#039;&#039;&#039;Java/Kotlin&#039;&#039;&#039; and &#039;&#039;&#039;Swift&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code ===&lt;br /&gt;
&lt;br /&gt;
Google Summer of Code is a way for &#039;&#039;&#039;university students&#039;&#039;&#039; to have a paid &#039;&#039;&#039;internship&#039;&#039;&#039; by &#039;&#039;&#039;Google&#039;&#039;&#039; to work on open source projects and become top developers!&lt;br /&gt;
&lt;br /&gt;
[[VideoLAN]] was a &#039;&#039;Google Summer of Code&#039;&#039; mentoring organization in [[SoC 2007|2007]], [[SoC 2008|2008]], [[SoC 2009|2009]], [[SoC 2010|2010]], [[SoC 2011|2011]], [[SoC 2013|2013]], [[SoC 2016|2016]], [[SoC_2017|2017]] and [[SoC_2018|2018]]. &lt;br /&gt;
&lt;br /&gt;
This page list some ideas for Summer of Code projects on VLMC, libVLC and {{VLC}}.&lt;br /&gt;
&lt;br /&gt;
=== VLC &amp;amp; libVLC  ===&lt;br /&gt;
&lt;br /&gt;
{{VLC}} is a cross-platform multimedia player, encoder and streamer application. It is one of the most successful open-source projects without any professional structure underneath. &lt;br /&gt;
&lt;br /&gt;
{{VLC}} is downloaded at an approximate monthly rate of 23 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;
The engine of VLC is &#039;&#039;&#039;libVLC&#039;&#039;&#039;, and is used by &#039;&#039;&#039;VLMC&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== VideoLAN Movie Creator ===&lt;br /&gt;
[[VLMC]] is a cross-platform non-linear video editing software based on libVLC technology. It was started as a final year student project at the French IT school [http://www.epitech.eu EPITECH].&lt;br /&gt;
&lt;br /&gt;
[[VLMC]] currently awaits a transition to the current libvlc API and it&#039;s actual 1.0 release!&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code  ===&lt;br /&gt;
&lt;br /&gt;
If selected and developed, SoC projects for VLMC and VLC will be included in later releases.&lt;br /&gt;
&lt;br /&gt;
All projects are covered by the GPL (v2+) or LGPL (v2.1+) licenses depending on the module.&lt;br /&gt;
&lt;br /&gt;
== How to Start ==&lt;br /&gt;
=== Find an idea ===&lt;br /&gt;
First, you need to find an idea.&lt;br /&gt;
&lt;br /&gt;
This current page gives you a list of ideas. Those ideas are &#039;&#039;&#039;NOT exhaustive&#039;&#039;&#039;: you can bring your own idea! Some of the best ideas we&#039;ve ever had were &#039;&#039;&#039;custom&#039;&#039;&#039; ideas!&lt;br /&gt;
&lt;br /&gt;
=== Submit your idea ===&lt;br /&gt;
You need to submit your idea on the &#039;&#039;Google Summer of Code&#039;&#039; platform.&lt;br /&gt;
&lt;br /&gt;
You should do so, very quickly, even before having finished compilation and the next steps, so that we can give you early feedback.&lt;br /&gt;
&lt;br /&gt;
=== Compile libVLC or VLMC ===&lt;br /&gt;
This may sound trivial, but it&#039;s harder than many expect. See https://wiki.videolan.org/Category:Building/ for more informations.&lt;br /&gt;
&lt;br /&gt;
You should come on [[IRC]] to get help to compile.&lt;br /&gt;
&lt;br /&gt;
=== Provide a small patch ===&lt;br /&gt;
To demonstrate your skills, share a small patch with us. This will let you become familiar with [[Git]], in case you don&#039;t know it already and our process on [[Sending Patches VLC|merging patches]].&lt;br /&gt;
&lt;br /&gt;
=== Let&#039;s get in touch ===&lt;br /&gt;
&lt;br /&gt;
If you have a doubt, are not sure about anything or want clarification, please get in touch with us.&lt;br /&gt;
&lt;br /&gt;
We have 3 major communication channels: Our [https://mailman.videolan.org/mailman/listinfo mailing-lists] to discuss patches and further development related topics. Furthermore, we have our [http://forum.videolan.org web forums] for VLC-related end-user support - a VLMC section will be created once the product is published. Finally, there is our IRC channel &#039;&#039;#videolan&#039;&#039; (for libVLC) and &#039;&#039;#vlmc&#039;&#039; on the &#039;&#039;Freenode&#039;&#039; network. It&#039;s open to any kind of discussion. Usage issues, questions how to compile VLC/VLMC, getting to know the fellow developers, etc.&lt;br /&gt;
&lt;br /&gt;
= Ideas for VLC &amp;amp; libVLC =&lt;br /&gt;
&lt;br /&gt;
== Advanced Audio Filters ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
We are looking for a skilled audiophile that knows a lot about audio theory and practice to work on new audio filters for VLC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
* SRS WoW like or other 3D effects;&lt;br /&gt;
* channels mixing, notably upmixing, like Prologic-II;&lt;br /&gt;
* tracks mixing, and transitions;&lt;br /&gt;
* scriptable new audio filters in lua and enable users to create whatever audio filtering function they want in a Lua script;&lt;br /&gt;
* LADSPA or other libraries integration. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project needs some good audio knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Qualification task:&#039;&#039;&#039;&lt;br /&gt;
Port any audio filter from MPlayer&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: geal &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== VLC Qt interface redesign ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
The VLC interface is quite outdated on Linux and Windows. It has a lot of features, but some are not properly exposed.&lt;br /&gt;
&lt;br /&gt;
This project for the summer is to rework heavily this interface to make it beautiful and useful again.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scope of the tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
The idea is to get closer to what the WinRT/UWP interface looks like &#039;&#039;(search on google image to get an idea)&#039;&#039;, but other ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
The WinRT interface is simpler, more user friendly, and has a better &amp;quot;media center&amp;quot; feel into it.&lt;br /&gt;
&lt;br /&gt;
It would require integration with the media library and with the current interface.&lt;br /&gt;
&lt;br /&gt;
Qml is the preferred way of improving the current UI.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Qt/C++&#039;&#039;&#039; knowledge, and qml would be a nice plus.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Pierre&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== VLC macOS interface  redesign ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
The VLC interface is quite outdated on macOS and we are currently in the process of re-writing it to give it a modern feel, but also to integrate recent additions to libvlc regarding playback control and library management.&lt;br /&gt;
&lt;br /&gt;
This project for the summer is to rework heavily this interface to make it beautiful and useful again.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scope of the tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
There is a full design already done and tested. The major hurdle is to actually implement it the way we want it to be. The iOS/tvTV interface is simpler, more user friendly, and has a better &amp;quot;media center&amp;quot; feel into it, which influenced what we want to achieve on the Mac. Note that the objective is to use AppKit. UIKit (aka &amp;quot;Marzipan&amp;quot;) will not be part of this project.&lt;br /&gt;
&lt;br /&gt;
Iterating from the current UI and closely collaborating with the team currently working on it is a requirement.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Obj-C&#039;&#039;&#039; knowledge, a thorough understanding of OOP and proven previous Mac development experience. You cannot use swift for this project.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: David Fuhrmann, Felix Paul Kühne&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GPU shader filters ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLC is using OpenGL and Direct3D11 on modern machines. It is now possible to do all kinds of video processing that was done in the CPU directly in the GPU.&lt;br /&gt;
&lt;br /&gt;
This project for the summer is to port some of the existing CPU filters to the GPU using shaders.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scope of the tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
The first task will be to identify all the video filters in VLC and identify the ones that could be done as shaders. Then implement them. Either in OpenGL shaders, Direct3D11 shaders, both and maybe Vulkan.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;OpenGL&#039;&#039;&#039; or &#039;&#039;&#039;Direct3D11&#039;&#039;&#039; shaders knowledge as well as knowledge on video filters in general.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Steve Lhomme&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Integrate JS engine in VLC ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLC is scriptable today with the Lua programming language. While slim and efficient, it is a less known programming language than other, like JS.&lt;br /&gt;
&lt;br /&gt;
The goal is to create a PoC to get a small JS engine inside of VLC to program extensions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* Find the correct JS engine for VLC use-case&lt;br /&gt;
* Embed the engine in VLC&lt;br /&gt;
* Map the VLC calls to JS&lt;br /&gt;
* Write some extensions&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;C&#039;&#039;&#039; knowledge and &#039;&#039;&#039;JS&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Thomas Guillem&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== VLC on Android Testsuite ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLC on Android is the port of VLC on the Android platform. It is one of the most used version of VLC.&lt;br /&gt;
&lt;br /&gt;
Sadly it currently doesn&#039;t have any tests that ensure the stability of playback and deterministic behavior.&lt;br /&gt;
This can lead to regressions that are noticed too late and unexpected behavior that sometimes even make it into the Playstore, notably across Android versions.&lt;br /&gt;
&lt;br /&gt;
The project for this summer is to build a Testsuite around libvlc-onAndroid to ensure that the library becomes and stays stable and interface tests.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
*Get an overview of the current behavior of the Android version. &lt;br /&gt;
*Write a suite with different testtargets to ensure the correct behavior of the main UI views&lt;br /&gt;
*Use so called &amp;quot;stubbing&amp;quot; and &amp;quot;mocking&amp;quot; of classes for testing purposes&lt;br /&gt;
*Make sure that the testtarget runs once every day on gitlab to ensure that no regressions have been introduced.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Java&#039;&#039;&#039; and &#039;&#039;&#039;Kotlin&#039;&#039;&#039; knowledge and some development on Android.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Geoffrey Metais&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== VLCKit Testsuite ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLCKit is the wrapper framework around libvlc that powers VLC for iOS and the respective tvOS app.&lt;br /&gt;
The framework is furthermore used by thousands of Apps all over the world on iOS, tvOS and macOs and subject to everyday change. &lt;br /&gt;
&lt;br /&gt;
Sadly it currently only has a small amount of tests that ensure the stability of playback and deterministic behavior.&lt;br /&gt;
This frequently leads to regressions that are noticed too late and unexpected behavior that sometimes even makes it into the App Store. &lt;br /&gt;
&lt;br /&gt;
The project for this summer is to enhance the existing tests around VLCKit to ensure that the framework becomes and stays stable.&lt;br /&gt;
This indirectly has a huge impact on the stability of the macOS app since iOS and macOS share a code base.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
*Get an overview of the current behavior of the framework and existing tests&lt;br /&gt;
*Enhance the existing suite with different test targets to ensure the correct behavior of every single class&lt;br /&gt;
*Use so called &amp;quot;stubbing&amp;quot; and &amp;quot;mocking&amp;quot; of classes for testing purposes&lt;br /&gt;
*Make sure that the test target runs on every PR to ensure that no regressions have been introduced. &lt;br /&gt;
*Update and add Sample Apps to showcase usage of the framework or even build a test app that can be used to demonstrate recent changes in development &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Obj-C&#039;&#039;&#039; knowledge and ideally knowledge of writing tests for iOS but this can be learned.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Carola Nitz, Felix Paul Kühne&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== VLC iOS new UI ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
We&#039;re currently in the process of rewriting and updating the entire UI for VLC iOS &lt;br /&gt;
&lt;br /&gt;
There is a lot of components that need refactoring and need to get an updated UI. Like for example the core component of VLC which is the Movieplayer and related filters, sleep timer, channel selectors and other menu items, the first start screens that introduce new Users to the App and t the current upload via webbrowser experience.&lt;br /&gt;
Further more tests should be written for these components to ensure that we don&#039;t break features on old or new devices.&lt;br /&gt;
&lt;br /&gt;
The project for this summer is to write these components in Swift with updated UI and make sure the app becomes and stays stable.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
*Get an overview of the current App and components that need an update &lt;br /&gt;
*Refactor and give the following components a new look: MovieViewcontroller, Filterview, chapter, subtitle and audio track selection, sleep timer view  &lt;br /&gt;
*Writing tests for these components to ensure that functionality works on all supported devices&lt;br /&gt;
*Rewriting the first start screens &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Obj-C&#039;&#039;&#039; and &#039;&#039;&#039;Swift&#039;&#039;&#039; knowledge and ideally knowledge of writing tests for iOS but this can be learned.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Carola Nitz, Soomin Lee&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Open Source Fuzzing platform ==&lt;br /&gt;
&lt;br /&gt;
The idea of this project is to develop a new web platform to support fuzzing or code analysis, like oss_fuzz, but open source.&amp;lt;br /&amp;gt;&lt;br /&gt;
That would allow to see the defects, to be able to act on them.&lt;br /&gt;
&lt;br /&gt;
It should be adaptable for clang-analyser or other similar tools.&lt;br /&gt;
&lt;br /&gt;
It can be based on gitlab, if needed, but should be developed in Go.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Go&#039;&#039;&#039; knowledge and ideally knowledge of &#039;&#039;&#039;JS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Hugo Beauzée-Luyssen&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interactive movie support ==&lt;br /&gt;
&lt;br /&gt;
The idea is to add support for interactive movies inside VLC using the matroska.org mkv format. An interactive movie is like a gamebook but for movies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
* Extend the MKV spec to add support for titles, menus, that will be used by interactive movies&lt;br /&gt;
* Improve a MKV muxing tool (ffmpeg, mkvtoolnix) to support the extended spec&lt;br /&gt;
* Add interactive movies support inside VLC&#039;s MKV module&lt;br /&gt;
&lt;br /&gt;
Those will be done in &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;C++&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Thomas Guillem, Steve Lhomme&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Develop a MPD server inside VLC ==&lt;br /&gt;
&lt;br /&gt;
The idea is to add support for VLC to act as a MPD server.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
* study the MPD protocol&lt;br /&gt;
* code a MPD server as a control module&lt;br /&gt;
* connect to the medialibrary&lt;br /&gt;
* implement advanced MPD features&lt;br /&gt;
&lt;br /&gt;
Those will be done in &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;C++&#039;&#039;&#039;, and it requires familiarity with an MPD client&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Thomas Guillem&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Improve the web interface of VLC in Vue.js ==&lt;br /&gt;
&lt;br /&gt;
The idea is to improve the new web interface of VLC, that is currently in &#039;&#039;&#039;Vue.JS&#039;&#039;&#039;. It requires significant improvements&lt;br /&gt;
&lt;br /&gt;
* Review the current code&lt;br /&gt;
* Clean and improve the modularity&lt;br /&gt;
* Adapt to the new playlist code&lt;br /&gt;
* Connect to the new medialibrary&lt;br /&gt;
* Improve the look&lt;br /&gt;
&lt;br /&gt;
Those will be done in &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;C++&#039;&#039;&#039;, and it requires familiarity with an MPD client&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Gautam&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Improve VLCKit Objective-C - Swift interoperability == &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project description&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Currently VLCKit is not very &#039;&#039;&#039;Swift&#039;&#039;&#039; friendly.&lt;br /&gt;
Indeed, it will be beneficial for VLCKit to have a better &#039;&#039;&#039;Swift&#039;&#039;&#039; interoperability interface than one generated by default.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* Study exposed VLCKit methods&lt;br /&gt;
* Improve Objective-C - Swift interop&lt;br /&gt;
* Make a test Swift project to test the interoperability&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;Objective-C&#039;&#039;&#039; and &#039;&#039;&#039;Swift&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Proposed mentor&#039;&#039;&#039;: Carola Nitz, Soomin Lee&lt;br /&gt;
&lt;br /&gt;
== Other ideas for VLC &amp;amp; libVLC ==&lt;br /&gt;
&lt;br /&gt;
Those ideas are not detailed, but they are ideas that we could help to spring new ideas.&lt;br /&gt;
We can help work with you to make those more detailed.&lt;br /&gt;
&lt;br /&gt;
* Integrate &#039;&#039;&#039;Rust&#039;&#039;&#039; inside VLC, as a demuxer or a parser&lt;br /&gt;
* Improve Vulkan output for VLC, including HDR support&lt;br /&gt;
* Improve id3 tag and metadata handling in VLC&lt;br /&gt;
* Support NVDec decoding inside VLC&lt;br /&gt;
* Work on emscripten version of VLC, aka VLC.js&lt;br /&gt;
* Bridge module for GMI&#039;C or other video filters&lt;br /&gt;
* Automated Testing Environment like ffmpeg Fate (port ?) for demuxing, non-hw decoding&lt;br /&gt;
* Integrate libavfilter in VLC&lt;br /&gt;
* Improve the libVLCSharp bindings for VLC in &#039;&#039;&#039;C#&#039;&#039;&#039;&lt;br /&gt;
* Provide setups for popular streaming services / sout templates (ui ?)&lt;br /&gt;
&lt;br /&gt;
= Ideas for VLMC =&lt;br /&gt;
&lt;br /&gt;
== Port to Android ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;: &lt;br /&gt;
VLMC is now working on the desktop. It would be nice to port it also to the mobile world, starting by Android.&lt;br /&gt;
&lt;br /&gt;
This project would require to adapt to smaller screens, and simplify the UI to fit the Android workflow.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Fix the VLMC build for Android. As libVLC works fine on Android, this is more focused on compiling the Qt part for Android.&lt;br /&gt;
# Split more parts of the UI in components that are reusable on mobile.&lt;br /&gt;
# Change the components to fit the small resolutions of the Android devices.&lt;br /&gt;
# Rewrite some UI components in QML.&lt;br /&gt;
# Write a simpler timeline widget for Mobile workflows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C++/Qt/qml&#039;&#039;&#039; knowledge, and access to Android devices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Geoffrey/Hugo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Port to iOS ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;: &lt;br /&gt;
VLMC is now working on the desktop. It would be nice to port it also to the mobile world, also on iOS.&lt;br /&gt;
&lt;br /&gt;
This project would require to adapt to smaller screens, and simplify the UI to fit the iOS workflow.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Fix the VLMC build for iOS. As libVLC works fine on iOS, this is more focused on compiling the Qt part for iOS.&lt;br /&gt;
# Split more parts of the UI in components that are reusable on mobile.&lt;br /&gt;
# Change the components to fit the small resolutions of the iOS devices.&lt;br /&gt;
# Rewrite some UI components in QML.&lt;br /&gt;
# Write a simpler timeline widget for Mobile workflows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C++/Qt/qml&#039;&#039;&#039; knowledge, and access to iOS devices. Previous iOS development experience is preferred.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Felix/Hugo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Media Workflow rework ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLMC is now working on the desktop, but the media workflow is quite slow and is missing some common use cases.&lt;br /&gt;
&lt;br /&gt;
This should be fixed in [https://github.com/mltframework/mlt MLT] framework backend for libVLC and is the continuation from the work from the previous Summer of Code.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Understand the MLT libVLC backend codebase,&lt;br /&gt;
# Clean the backend and port it to a cleaner code state in C++,&lt;br /&gt;
# Benchmark the code and make it more efficient,&lt;br /&gt;
# Work to merge this backend upstream,&lt;br /&gt;
# Implement all the missing features in libVLC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C/C++&#039;&#039;&#039; knowledge, and understanding of multimedia concepts is a good positive point.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Hugo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Workflow audio filters ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLMC is now working on the desktop, but we need to have a good setup of audio filters to make it usable for most people.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Understand the VLMC and MLT codebase interactions,&lt;br /&gt;
# Add audio filters on the MLT framework backend using the [https://en.wikipedia.org/wiki/LADSPA LADSPA]/[http://lv2plug.in/ LV2] library or a similar open source library,&lt;br /&gt;
# Code the interface corresponding to those filters, and their options,&lt;br /&gt;
# Prepare visualizations, and notably for soundwave filters,&lt;br /&gt;
# Integrate those inside the timeline UI,&lt;br /&gt;
# Optimize.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C++/Qt/qml&#039;&#039;&#039; knowledge, and enough understanding of audio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: J-B&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Workflow video filters ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLMC is now working on the desktop, but we need to have a good setup of video filters to make it usable for most people.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Understand the VLMC and MLT codebase interactions,&lt;br /&gt;
# Add video filters on the MLT framework backend using the [https://git.sesse.net/?p=movit;a=summary movit] library or a similar open source library,&lt;br /&gt;
# Code the interface corresponding to those filters, and their options,&lt;br /&gt;
# Add transitions between clips&lt;br /&gt;
# Code the interface to manage those transitions,&lt;br /&gt;
# Optimize the code.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C/C++&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Felix&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Improve multiplatform support ==&lt;br /&gt;
VLMC is aiming at being fully cross platform, but drifted a bit from that goal. While most VLMC&#039;s code is cross platform, and can be easily built targeting platforms, some dependencies might prove more difficult to build or compose with VLMC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Fix MLT cross compilation for Windows (This will most likely require patching directly inside MLT, all contributions must be sent upstream). &lt;br /&gt;
# Fix medialibrary code &amp;amp; build process on macOS (and potentially iOS). The medialibrary misses some platform specific code to be able to list all connected drives (hard drives &amp;amp; USB removable storage, mostly) along with filesystem browsing&lt;br /&gt;
# Update the documentation along the way&lt;br /&gt;
# Create jenkins build configuration to have nightly builds on jenkins.videolan.org &amp;amp; nightlies.videolan.org for all supported platforms&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires buildsystems/toolchains knowledge, basic system programming on macOS &amp;amp; Windows&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Hugo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Remote UI ==&lt;br /&gt;
&lt;br /&gt;
We would like to have a way to use VLMC from a web browser. You can easily imagine having a nice, shiny &amp;amp; simple UI for minimal movie edition, which would go hand in hand with the cloud storage feature.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
This task aims toward the uncoupling of the rendering backend &amp;amp; UI, as the renderer will run server side, while the UI runs on the client side.&lt;br /&gt;
&lt;br /&gt;
The idea is to be able to have a UI interacting with the renderer without having to be in the same process, or even machine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C++&#039;&#039;&#039; and &#039;&#039;&#039;JS&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor&#039;&#039;: jb, chouquette, fkuehne&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Ideas for VLC dependencies =&lt;br /&gt;
&lt;br /&gt;
== libmicrodns refactoring ==&lt;br /&gt;
&lt;br /&gt;
Our current mDNS discoverer is working, but is not so respectful of the RFC.&lt;br /&gt;
Possible improvements include:&lt;br /&gt;
* Device TTL support&lt;br /&gt;
* Device removal detection&lt;br /&gt;
* Better request pacing&lt;br /&gt;
* Delegate socket interactions to the caller&lt;br /&gt;
* Unit testing&lt;br /&gt;
* Fuzzing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project require &#039;&#039;&#039;C&#039;&#039;&#039; knowledge, as well as system programming skills&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor&#039;&#039;: chouquette, tguillem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== dav1d ARM NEON optimization ==&lt;br /&gt;
&lt;br /&gt;
Improving the performance of the AV1 decoder is very important for VLC and the whole ecosystem.&lt;br /&gt;
&lt;br /&gt;
It requires to:&lt;br /&gt;
* Profiling to identify hotspots of the new libdav1d video decoder on arm64 across common test files&lt;br /&gt;
* Analysis of potential benefits of NEON SIMD for these hotspots&lt;br /&gt;
* Write arm64 NEON optimization using directly written assembly code&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;ASM&#039;&#039;&#039; knowledge, as well as system programming skills&lt;br /&gt;
&lt;br /&gt;
Contact &#039;j-b&#039;&lt;br /&gt;
&lt;br /&gt;
== dav1d GPU Compute Shaders ==&lt;br /&gt;
&lt;br /&gt;
Improving the performance of the AV1 decoder is very important for VLC and the whole ecosystem.&lt;br /&gt;
&lt;br /&gt;
This project requires to port one of the filter, like SGR or Wiener to one of the Shader languages. iPhones or Xbox One would be a good target.&lt;br /&gt;
&lt;br /&gt;
This is a tricky project, but is doable during the summer&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;GPU Shaders&#039;&#039;&#039; knowledge, as well as system programming skills&lt;br /&gt;
&lt;br /&gt;
Contact &#039;j-b&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== rav1e, the AV1 encoder in Rust ==&lt;br /&gt;
&lt;br /&gt;
The [https://github.com/xiph/rav1e rav1e] project aims to create a new AV1 encoder implementation in &lt;br /&gt;
Rust.&lt;br /&gt;
&lt;br /&gt;
To support this we need better AV1 analysis tools that give detailed information about AV1 streams including:&lt;br /&gt;
&lt;br /&gt;
* bit rate across the frame&lt;br /&gt;
* frame allocation within a scene&lt;br /&gt;
* display of frame data (block partitioning, mode decisions, motion vectors, etc)&lt;br /&gt;
* objective quality over time&lt;br /&gt;
* average rate (for streaming)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;Rust&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
Contact &#039;unlord&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== dav1d, the AV1 decoder ==&lt;br /&gt;
&lt;br /&gt;
The [https://code.videolan.org/videolan/dav1d dav1d] AV1 decoder is a new high performance AV1 decoder by &lt;br /&gt;
VideoLAN.&lt;br /&gt;
&lt;br /&gt;
Current open source tools for AV1 analysis use instrumentation in the reference decoder [https://aomedia.googlesource.com/aom libaom] to extract decode-time metadata for display and reporting, but support for sophisticated analysis is lacking.&lt;br /&gt;
&lt;br /&gt;
To speed development of AV1 tools like the rav1e, it would be helpful to add similar decoder metadata extraction APIs to the dav1d decoder so that rapid testing of encoder algorithms is easier.  This includes the ability to quickly produce statistics, visualizations and other &lt;br /&gt;
reporting that can be used for tuning encoder parameters or guiding development.  Advanced ideas include adding similar encoder metadata API to rav1e that add encode-time visualizations.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
Contact &#039;unlord&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;br /&gt;
&lt;br /&gt;
[[Category:SoC]]&lt;/div&gt;</summary>
		<author><name>Bubu</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2019&amp;diff=59403</id>
		<title>SoC 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2019&amp;diff=59403"/>
		<updated>2019-03-13T16:50:07Z</updated>

		<summary type="html">&lt;p&gt;Bubu: /* Improve VLCKit Objective-C - Swift interoperability */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Google Summer of Code 2019}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;float: right;&amp;quot;&amp;gt;&lt;br /&gt;
https://developers.google.com/open-source/gsoc/images/gsoc2016-sun-373x373.png&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This page summarize the current list of ideas for VideoLAN project, for [https://summerofcode.withgoogle.com Google Summer Of Code 2019].&lt;br /&gt;
&lt;br /&gt;
The list is not exhaustive, and is not limitative. Feel free to apply with &#039;&#039;&#039;your own idea!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Introduction &amp;amp;amp; Information  ==&lt;br /&gt;
[[File:Asterix VLC.svg|frameless|right]]&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]], [[VLMC]] and &#039;&#039;&#039;dav1d&#039;&#039;&#039; (or the [[libVLC]] engine).&lt;br /&gt;
&lt;br /&gt;
We have projects in &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;C++&#039;&#039;&#039;, &#039;&#039;&#039;ASM&#039;&#039;&#039;, &#039;&#039;&#039;JS&#039;&#039;&#039;, &#039;&#039;&#039;Go&#039;&#039;&#039;, &#039;&#039;&#039;Obj-C&#039;&#039;&#039;, &#039;&#039;&#039;GPU Shaders&#039;&#039;&#039;, &#039;&#039;&#039;C#&#039;&#039;&#039;, &#039;&#039;&#039;Java/Kotlin&#039;&#039;&#039; and &#039;&#039;&#039;Swift&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code ===&lt;br /&gt;
&lt;br /&gt;
Google Summer of Code is a way for &#039;&#039;&#039;university students&#039;&#039;&#039; to have a paid &#039;&#039;&#039;internship&#039;&#039;&#039; by &#039;&#039;&#039;Google&#039;&#039;&#039; to work on open source projects and become top developers!&lt;br /&gt;
&lt;br /&gt;
[[VideoLAN]] was a &#039;&#039;Google Summer of Code&#039;&#039; mentoring organization in [[SoC 2007|2007]], [[SoC 2008|2008]], [[SoC 2009|2009]], [[SoC 2010|2010]], [[SoC 2011|2011]], [[SoC 2013|2013]], [[SoC 2016|2016]], [[SoC_2017|2017]] and [[SoC_2018|2018]]. &lt;br /&gt;
&lt;br /&gt;
This page list some ideas for Summer of Code projects on VLMC, libVLC and {{VLC}}.&lt;br /&gt;
&lt;br /&gt;
=== VLC &amp;amp; libVLC  ===&lt;br /&gt;
&lt;br /&gt;
{{VLC}} is a cross-platform multimedia player, encoder and streamer application. It is one of the most successful open-source projects without any professional structure underneath. &lt;br /&gt;
&lt;br /&gt;
{{VLC}} is downloaded at an approximate monthly rate of 23 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;
The engine of VLC is &#039;&#039;&#039;libVLC&#039;&#039;&#039;, and is used by &#039;&#039;&#039;VLMC&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== VideoLAN Movie Creator ===&lt;br /&gt;
[[VLMC]] is a cross-platform non-linear video editing software based on libVLC technology. It was started as a final year student project at the French IT school [http://www.epitech.eu EPITECH].&lt;br /&gt;
&lt;br /&gt;
[[VLMC]] currently awaits a transition to the current libvlc API and it&#039;s actual 1.0 release!&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code  ===&lt;br /&gt;
&lt;br /&gt;
If selected and developed, SoC projects for VLMC and VLC will be included in later releases.&lt;br /&gt;
&lt;br /&gt;
All projects are covered by the GPL (v2+) or LGPL (v2.1+) licenses depending on the module.&lt;br /&gt;
&lt;br /&gt;
== How to Start ==&lt;br /&gt;
=== Find an idea ===&lt;br /&gt;
First, you need to find an idea.&lt;br /&gt;
&lt;br /&gt;
This current page gives you a list of ideas. Those ideas are &#039;&#039;&#039;NOT exhaustive&#039;&#039;&#039;: you can bring your own idea! Some of the best ideas we&#039;ve ever had were &#039;&#039;&#039;custom&#039;&#039;&#039; ideas!&lt;br /&gt;
&lt;br /&gt;
=== Submit your idea ===&lt;br /&gt;
You need to submit your idea on the &#039;&#039;Google Summer of Code&#039;&#039; platform.&lt;br /&gt;
&lt;br /&gt;
You should do so, very quickly, even before having finished compilation and the next steps, so that we can give you early feedback.&lt;br /&gt;
&lt;br /&gt;
=== Compile libVLC or VLMC ===&lt;br /&gt;
This may sound trivial, but it&#039;s harder than many expect. See https://wiki.videolan.org/Category:Building/ for more informations.&lt;br /&gt;
&lt;br /&gt;
You should come on [[IRC]] to get help to compile.&lt;br /&gt;
&lt;br /&gt;
=== Provide a small patch ===&lt;br /&gt;
To demonstrate your skills, share a small patch with us. This will let you become familiar with [[Git]], in case you don&#039;t know it already and our process on [[Sending Patches VLC|merging patches]].&lt;br /&gt;
&lt;br /&gt;
=== Let&#039;s get in touch ===&lt;br /&gt;
&lt;br /&gt;
If you have a doubt, are not sure about anything or want clarification, please get in touch with us.&lt;br /&gt;
&lt;br /&gt;
We have 3 major communication channels: Our [https://mailman.videolan.org/mailman/listinfo mailing-lists] to discuss patches and further development related topics. Furthermore, we have our [http://forum.videolan.org web forums] for VLC-related end-user support - a VLMC section will be created once the product is published. Finally, there is our IRC channel &#039;&#039;#videolan&#039;&#039; (for libVLC) and &#039;&#039;#vlmc&#039;&#039; on the &#039;&#039;Freenode&#039;&#039; network. It&#039;s open to any kind of discussion. Usage issues, questions how to compile VLC/VLMC, getting to know the fellow developers, etc.&lt;br /&gt;
&lt;br /&gt;
= Ideas for VLC &amp;amp; libVLC =&lt;br /&gt;
&lt;br /&gt;
== Advanced Audio Filters ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
We are looking for a skilled audiophile that knows a lot about audio theory and practice to work on new audio filters for VLC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
* SRS WoW like or other 3D effects;&lt;br /&gt;
* channels mixing, notably upmixing, like Prologic-II;&lt;br /&gt;
* tracks mixing, and transitions;&lt;br /&gt;
* scriptable new audio filters in lua and enable users to create whatever audio filtering function they want in a Lua script;&lt;br /&gt;
* LADSPA or other libraries integration. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project needs some good audio knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Qualification task:&#039;&#039;&#039;&lt;br /&gt;
Port any audio filter from MPlayer&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: geal &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== VLC Qt interface redesign ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
The VLC interface is quite outdated on Linux and Windows. It has a lot of features, but some are not properly exposed.&lt;br /&gt;
&lt;br /&gt;
This project for the summer is to rework heavily this interface to make it beautiful and useful again.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scope of the tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
The idea is to get closer to what the WinRT/UWP interface looks like &#039;&#039;(search on google image to get an idea)&#039;&#039;, but other ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
The WinRT interface is simpler, more user friendly, and has a better &amp;quot;media center&amp;quot; feel into it.&lt;br /&gt;
&lt;br /&gt;
It would require integration with the media library and with the current interface.&lt;br /&gt;
&lt;br /&gt;
Qml is the preferred way of improving the current UI.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Qt/C++&#039;&#039;&#039; knowledge, and qml would be a nice plus.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Pierre&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== VLC macOS interface  redesign ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
The VLC interface is quite outdated on macOS and we are currently in the process of re-writing it to give it a modern feel, but also to integrate recent additions to libvlc regarding playback control and library management.&lt;br /&gt;
&lt;br /&gt;
This project for the summer is to rework heavily this interface to make it beautiful and useful again.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scope of the tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
There is a full design already done and tested. The major hurdle is to actually implement it the way we want it to be. The iOS/tvTV interface is simpler, more user friendly, and has a better &amp;quot;media center&amp;quot; feel into it, which influenced what we want to achieve on the Mac. Note that the objective is to use AppKit. UIKit (aka &amp;quot;Marzipan&amp;quot;) will not be part of this project.&lt;br /&gt;
&lt;br /&gt;
Iterating from the current UI and closely collaborating with the team currently working on it is a requirement.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Obj-C&#039;&#039;&#039; knowledge, a thorough understanding of OOP and proven previous Mac development experience. You cannot use swift for this project.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: David Fuhrmann, Felix Paul Kühne&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GPU shader filters ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLC is using OpenGL and Direct3D11 on modern machines. It is now possible to do all kinds of video processing that was done in the CPU directly in the GPU.&lt;br /&gt;
&lt;br /&gt;
This project for the summer is to port some of the existing CPU filters to the GPU using shaders.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scope of the tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
The first task will be to identify all the video filters in VLC and identify the ones that could be done as shaders. Then implement them. Either in OpenGL shaders, Direct3D11 shaders, both and maybe Vulkan.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;OpenGL&#039;&#039;&#039; or &#039;&#039;&#039;Direct3D11&#039;&#039;&#039; shaders knowledge as well as knowledge on video filters in general.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Steve Lhomme&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Integrate JS engine in VLC ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLC is scriptable today with the Lua programming language. While slim and efficient, it is a less known programming language than other, like JS.&lt;br /&gt;
&lt;br /&gt;
The goal is to create a PoC to get a small JS engine inside of VLC to program extensions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* Find the correct JS engine for VLC use-case&lt;br /&gt;
* Embed the engine in VLC&lt;br /&gt;
* Map the VLC calls to JS&lt;br /&gt;
* Write some extensions&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;C&#039;&#039;&#039; knowledge and &#039;&#039;&#039;JS&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Thomas Guillem&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== VLC on Android Testsuite ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLC on Android is the port of VLC on the Android platform. It is one of the most used version of VLC.&lt;br /&gt;
&lt;br /&gt;
Sadly it currently doesn&#039;t have any tests that ensure the stability of playback and deterministic behavior.&lt;br /&gt;
This can lead to regressions that are noticed too late and unexpected behavior that sometimes even make it into the Playstore, notably across Android versions.&lt;br /&gt;
&lt;br /&gt;
The project for this summer is to build a Testsuite around libvlc-onAndroid to ensure that the library becomes and stays stable and interface tests.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
*Get an overview of the current behavior of the Android version. &lt;br /&gt;
*Write a suite with different testtargets to ensure the correct behavior of the main UI views&lt;br /&gt;
*Use so called &amp;quot;stubbing&amp;quot; and &amp;quot;mocking&amp;quot; of classes for testing purposes&lt;br /&gt;
*Make sure that the testtarget runs once every day on gitlab to ensure that no regressions have been introduced.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Java&#039;&#039;&#039; and &#039;&#039;&#039;Kotlin&#039;&#039;&#039; knowledge and some development on Android.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Geoffrey Metais&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== VLCKit Testsuite ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLCKit is the wrapper framework around libvlc that powers VLC for iOS and the respective tvOS app.&lt;br /&gt;
The framework is furthermore used by thousands of Apps all over the world on iOS, tvOS and macOs and subject to everyday change. &lt;br /&gt;
&lt;br /&gt;
Sadly it currently only has a small amount of tests that ensure the stability of playback and deterministic behavior.&lt;br /&gt;
This frequently leads to regressions that are noticed too late and unexpected behavior that sometimes even makes it into the App Store. &lt;br /&gt;
&lt;br /&gt;
The project for this summer is to enhance the existing tests around VLCKit to ensure that the framework becomes and stays stable.&lt;br /&gt;
This indirectly has a huge impact on the stability of the macOS app since iOS and macOS share a code base.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
*Get an overview of the current behavior of the framework and existing tests&lt;br /&gt;
*Enhance the existing suite with different test targets to ensure the correct behavior of every single class&lt;br /&gt;
*Use so called &amp;quot;stubbing&amp;quot; and &amp;quot;mocking&amp;quot; of classes for testing purposes&lt;br /&gt;
*Make sure that the test target runs on every PR to ensure that no regressions have been introduced. &lt;br /&gt;
*Update and add Sample Apps to showcase usage of the framework or even build a test app that can be used to demonstrate recent changes in development &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Obj-C&#039;&#039;&#039; knowledge and ideally knowledge of writing tests for iOS but this can be learned.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Carola Nitz, Felix Paul Kühne&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== VLC iOS new UI ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
We&#039;re currently in the process of rewriting and updating the entire UI for VLC iOS &lt;br /&gt;
&lt;br /&gt;
There is a lot of components that need refactoring and need to get an updated UI. Like for example the core component of VLC which is the Movieplayer and related filters, sleep timer, channel selectors and other menu items, the first start screens that introduce new Users to the App and t the current upload via webbrowser experience.&lt;br /&gt;
Further more tests should be written for these components to ensure that we don&#039;t break features on old or new devices.&lt;br /&gt;
&lt;br /&gt;
The project for this summer is to write these components in Swift with updated UI and make sure the app becomes and stays stable.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
*Get an overview of the current App and components that need an update &lt;br /&gt;
*Refactor and give the following components a new look: MovieViewcontroller, Filterview, chapter, subtitle and audio track selection, sleep timer view  &lt;br /&gt;
*Writing tests for these components to ensure that functionality works on all supported devices&lt;br /&gt;
*Rewriting the first start screens &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Obj-C&#039;&#039;&#039; and &#039;&#039;&#039;Swift&#039;&#039;&#039; knowledge and ideally knowledge of writing tests for iOS but this can be learned.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Carola Nitz, Soomin Lee&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Open Source Fuzzing platform ==&lt;br /&gt;
&lt;br /&gt;
The idea of this project is to develop a new web platform to support fuzzing or code analysis, like oss_fuzz, but open source.&amp;lt;br /&amp;gt;&lt;br /&gt;
That would allow to see the defects, to be able to act on them.&lt;br /&gt;
&lt;br /&gt;
It should be adaptable for clang-analyser or other similar tools.&lt;br /&gt;
&lt;br /&gt;
It can be based on gitlab, if needed, but should be developed in Go.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Go&#039;&#039;&#039; knowledge and ideally knowledge of &#039;&#039;&#039;JS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Hugo Beauzée-Luyssen&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interactive movie support ==&lt;br /&gt;
&lt;br /&gt;
The idea is to add support for interactive movies inside VLC using the matroska.org mkv format. An interactive movie is like a gamebook but for movies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
* Extend the MKV spec to add support for titles, menus, that will be used by interactive movies&lt;br /&gt;
* Improve a MKV muxing tool (ffmpeg, mkvtoolnix) to support the extended spec&lt;br /&gt;
* Add interactive movies support inside VLC&#039;s MKV module&lt;br /&gt;
&lt;br /&gt;
Those will be done in &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;C++&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Thomas Guillem, Steve Lhomme&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Develop a MPD server inside VLC ==&lt;br /&gt;
&lt;br /&gt;
The idea is to add support for VLC to act as a MPD server.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
* study the MPD protocol&lt;br /&gt;
* code a MPD server as a control module&lt;br /&gt;
* connect to the medialibrary&lt;br /&gt;
* implement advanced MPD features&lt;br /&gt;
&lt;br /&gt;
Those will be done in &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;C++&#039;&#039;&#039;, and it requires familiarity with an MPD client&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Thomas Guillem&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Improve the web interface of VLC in Vue.js ==&lt;br /&gt;
&lt;br /&gt;
The idea is to improve the new web interface of VLC, that is currently in &#039;&#039;&#039;Vue.JS&#039;&#039;&#039;. It requires significant improvements&lt;br /&gt;
&lt;br /&gt;
* Review the current code&lt;br /&gt;
* Clean and improve the modularity&lt;br /&gt;
* Adapt to the new playlist code&lt;br /&gt;
* Connect to the new medialibrary&lt;br /&gt;
* Improve the look&lt;br /&gt;
&lt;br /&gt;
Those will be done in &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;C++&#039;&#039;&#039;, and it requires familiarity with an MPD client&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Gautam&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Improve VLCKit Objective-C - Swift interoperability == &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project description&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Currently VLCKit is not very Swift friendly.&lt;br /&gt;
Indeed, it will be beneficial for VLCKit to have a better Swift interoperability interface than one generated by default.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* Study exposed VLCKit methods&lt;br /&gt;
* Improve Objective-C - Swift interop&lt;br /&gt;
* Make a test Swift project to test the interoperability&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;Objective-C&#039;&#039;&#039; and &#039;&#039;&#039;Swift&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Proposed mentor&#039;&#039;&#039;: Carola Nitz, Soomin Lee&lt;br /&gt;
&lt;br /&gt;
== Other ideas for VLC &amp;amp; libVLC ==&lt;br /&gt;
&lt;br /&gt;
Those ideas are not detailed, but they are ideas that we could help to spring new ideas.&lt;br /&gt;
We can help work with you to make those more detailed.&lt;br /&gt;
&lt;br /&gt;
* Integrate &#039;&#039;&#039;Rust&#039;&#039;&#039; inside VLC, as a demuxer or a parser&lt;br /&gt;
* Improve Vulkan output for VLC, including HDR support&lt;br /&gt;
* Improve id3 tag and metadata handling in VLC&lt;br /&gt;
* Support NVDec decoding inside VLC&lt;br /&gt;
* Work on emscripten version of VLC, aka VLC.js&lt;br /&gt;
* Bridge module for GMI&#039;C or other video filters&lt;br /&gt;
* Automated Testing Environment like ffmpeg Fate (port ?) for demuxing, non-hw decoding&lt;br /&gt;
* Integrate libavfilter in VLC&lt;br /&gt;
* Improve the libVLCSharp bindings for VLC in &#039;&#039;&#039;C#&#039;&#039;&#039;&lt;br /&gt;
* Provide setups for popular streaming services / sout templates (ui ?)&lt;br /&gt;
&lt;br /&gt;
= Ideas for VLMC =&lt;br /&gt;
&lt;br /&gt;
== Port to Android ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;: &lt;br /&gt;
VLMC is now working on the desktop. It would be nice to port it also to the mobile world, starting by Android.&lt;br /&gt;
&lt;br /&gt;
This project would require to adapt to smaller screens, and simplify the UI to fit the Android workflow.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Fix the VLMC build for Android. As libVLC works fine on Android, this is more focused on compiling the Qt part for Android.&lt;br /&gt;
# Split more parts of the UI in components that are reusable on mobile.&lt;br /&gt;
# Change the components to fit the small resolutions of the Android devices.&lt;br /&gt;
# Rewrite some UI components in QML.&lt;br /&gt;
# Write a simpler timeline widget for Mobile workflows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C++/Qt/qml&#039;&#039;&#039; knowledge, and access to Android devices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Geoffrey/Hugo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Port to iOS ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;: &lt;br /&gt;
VLMC is now working on the desktop. It would be nice to port it also to the mobile world, also on iOS.&lt;br /&gt;
&lt;br /&gt;
This project would require to adapt to smaller screens, and simplify the UI to fit the iOS workflow.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Fix the VLMC build for iOS. As libVLC works fine on iOS, this is more focused on compiling the Qt part for iOS.&lt;br /&gt;
# Split more parts of the UI in components that are reusable on mobile.&lt;br /&gt;
# Change the components to fit the small resolutions of the iOS devices.&lt;br /&gt;
# Rewrite some UI components in QML.&lt;br /&gt;
# Write a simpler timeline widget for Mobile workflows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C++/Qt/qml&#039;&#039;&#039; knowledge, and access to iOS devices. Previous iOS development experience is preferred.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Felix/Hugo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Media Workflow rework ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLMC is now working on the desktop, but the media workflow is quite slow and is missing some common use cases.&lt;br /&gt;
&lt;br /&gt;
This should be fixed in [https://github.com/mltframework/mlt MLT] framework backend for libVLC and is the continuation from the work from the previous Summer of Code.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Understand the MLT libVLC backend codebase,&lt;br /&gt;
# Clean the backend and port it to a cleaner code state in C++,&lt;br /&gt;
# Benchmark the code and make it more efficient,&lt;br /&gt;
# Work to merge this backend upstream,&lt;br /&gt;
# Implement all the missing features in libVLC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C/C++&#039;&#039;&#039; knowledge, and understanding of multimedia concepts is a good positive point.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Hugo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Workflow audio filters ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLMC is now working on the desktop, but we need to have a good setup of audio filters to make it usable for most people.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Understand the VLMC and MLT codebase interactions,&lt;br /&gt;
# Add audio filters on the MLT framework backend using the [https://en.wikipedia.org/wiki/LADSPA LADSPA]/[http://lv2plug.in/ LV2] library or a similar open source library,&lt;br /&gt;
# Code the interface corresponding to those filters, and their options,&lt;br /&gt;
# Prepare visualizations, and notably for soundwave filters,&lt;br /&gt;
# Integrate those inside the timeline UI,&lt;br /&gt;
# Optimize.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C++/Qt/qml&#039;&#039;&#039; knowledge, and enough understanding of audio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: J-B&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Workflow video filters ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLMC is now working on the desktop, but we need to have a good setup of video filters to make it usable for most people.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Understand the VLMC and MLT codebase interactions,&lt;br /&gt;
# Add video filters on the MLT framework backend using the [https://git.sesse.net/?p=movit;a=summary movit] library or a similar open source library,&lt;br /&gt;
# Code the interface corresponding to those filters, and their options,&lt;br /&gt;
# Add transitions between clips&lt;br /&gt;
# Code the interface to manage those transitions,&lt;br /&gt;
# Optimize the code.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C/C++&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Felix&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Improve multiplatform support ==&lt;br /&gt;
VLMC is aiming at being fully cross platform, but drifted a bit from that goal. While most VLMC&#039;s code is cross platform, and can be easily built targeting platforms, some dependencies might prove more difficult to build or compose with VLMC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Fix MLT cross compilation for Windows (This will most likely require patching directly inside MLT, all contributions must be sent upstream). &lt;br /&gt;
# Fix medialibrary code &amp;amp; build process on macOS (and potentially iOS). The medialibrary misses some platform specific code to be able to list all connected drives (hard drives &amp;amp; USB removable storage, mostly) along with filesystem browsing&lt;br /&gt;
# Update the documentation along the way&lt;br /&gt;
# Create jenkins build configuration to have nightly builds on jenkins.videolan.org &amp;amp; nightlies.videolan.org for all supported platforms&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires buildsystems/toolchains knowledge, basic system programming on macOS &amp;amp; Windows&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Hugo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Remote UI ==&lt;br /&gt;
&lt;br /&gt;
We would like to have a way to use VLMC from a web browser. You can easily imagine having a nice, shiny &amp;amp; simple UI for minimal movie edition, which would go hand in hand with the cloud storage feature.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
This task aims toward the uncoupling of the rendering backend &amp;amp; UI, as the renderer will run server side, while the UI runs on the client side.&lt;br /&gt;
&lt;br /&gt;
The idea is to be able to have a UI interacting with the renderer without having to be in the same process, or even machine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C++&#039;&#039;&#039; and &#039;&#039;&#039;JS&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor&#039;&#039;: jb, chouquette, fkuehne&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Ideas for VLC dependencies =&lt;br /&gt;
&lt;br /&gt;
== libmicrodns refactoring ==&lt;br /&gt;
&lt;br /&gt;
Our current mDNS discoverer is working, but is not so respectful of the RFC.&lt;br /&gt;
Possible improvements include:&lt;br /&gt;
* Device TTL support&lt;br /&gt;
* Device removal detection&lt;br /&gt;
* Better request pacing&lt;br /&gt;
* Delegate socket interactions to the caller&lt;br /&gt;
* Unit testing&lt;br /&gt;
* Fuzzing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project require &#039;&#039;&#039;C&#039;&#039;&#039; knowledge, as well as system programming skills&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor&#039;&#039;: chouquette, tguillem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== dav1d ARM NEON optimization ==&lt;br /&gt;
&lt;br /&gt;
Improving the performance of the AV1 decoder is very important for VLC and the whole ecosystem.&lt;br /&gt;
&lt;br /&gt;
It requires to:&lt;br /&gt;
* Profiling to identify hotspots of the new libdav1d video decoder on arm64 across common test files&lt;br /&gt;
* Analysis of potential benefits of NEON SIMD for these hotspots&lt;br /&gt;
* Write arm64 NEON optimization using directly written assembly code&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;ASM&#039;&#039;&#039; knowledge, as well as system programming skills&lt;br /&gt;
&lt;br /&gt;
Contact &#039;j-b&#039;&lt;br /&gt;
&lt;br /&gt;
== dav1d GPU Compute Shaders ==&lt;br /&gt;
&lt;br /&gt;
Improving the performance of the AV1 decoder is very important for VLC and the whole ecosystem.&lt;br /&gt;
&lt;br /&gt;
This project requires to port one of the filter, like SGR or Wiener to one of the Shader languages. iPhones or Xbox One would be a good target.&lt;br /&gt;
&lt;br /&gt;
This is a tricky project, but is doable during the summer&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;GPU Shaders&#039;&#039;&#039; knowledge, as well as system programming skills&lt;br /&gt;
&lt;br /&gt;
Contact &#039;j-b&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== rav1e, the AV1 encoder in Rust ==&lt;br /&gt;
&lt;br /&gt;
The [https://github.com/xiph/rav1e rav1e] project aims to create a new AV1 encoder implementation in &lt;br /&gt;
Rust.&lt;br /&gt;
&lt;br /&gt;
To support this we need better AV1 analysis tools that give detailed information about AV1 streams including:&lt;br /&gt;
&lt;br /&gt;
* bit rate across the frame&lt;br /&gt;
* frame allocation within a scene&lt;br /&gt;
* display of frame data (block partitioning, mode decisions, motion vectors, etc)&lt;br /&gt;
* objective quality over time&lt;br /&gt;
* average rate (for streaming)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;Rust&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
Contact &#039;unlord&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== dav1d, the AV1 decoder ==&lt;br /&gt;
&lt;br /&gt;
The [https://code.videolan.org/videolan/dav1d dav1d] AV1 decoder is a new high performance AV1 decoder by &lt;br /&gt;
VideoLAN.&lt;br /&gt;
&lt;br /&gt;
Current open source tools for AV1 analysis use instrumentation in the reference decoder [https://aomedia.googlesource.com/aom libaom] to extract decode-time metadata for display and reporting, but support for sophisticated analysis is lacking.&lt;br /&gt;
&lt;br /&gt;
To speed development of AV1 tools like the rav1e, it would be helpful to add similar decoder metadata extraction APIs to the dav1d decoder so that rapid testing of encoder algorithms is easier.  This includes the ability to quickly produce statistics, visualizations and other &lt;br /&gt;
reporting that can be used for tuning encoder parameters or guiding development.  Advanced ideas include adding similar encoder metadata API to rav1e that add encode-time visualizations.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
Contact &#039;unlord&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;br /&gt;
&lt;br /&gt;
[[Category:SoC]]&lt;/div&gt;</summary>
		<author><name>Bubu</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2019&amp;diff=57173</id>
		<title>SoC 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2019&amp;diff=57173"/>
		<updated>2019-01-28T16:46:14Z</updated>

		<summary type="html">&lt;p&gt;Bubu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Google Summer of Code 2019}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;float: right;&amp;quot;&amp;gt;&lt;br /&gt;
https://developers.google.com/open-source/gsoc/images/gsoc2016-sun-373x373.png&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This page summarize the current list of ideas for VideoLAN project, for [https://summerofcode.withgoogle.com Google Summer Of Code 2019].&lt;br /&gt;
&lt;br /&gt;
The list is not exhaustive, and is not limitative. Feel free to apply with &#039;&#039;&#039;your own idea!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Introduction &amp;amp;amp; Information  ==&lt;br /&gt;
[[File:Asterix VLC.svg|frameless|right]]&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 [[VLMC]] and [[VLC]] (or the [[libVLC]] engine).&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code ===&lt;br /&gt;
&lt;br /&gt;
Google Summer of Code is a way for &#039;&#039;&#039;university students&#039;&#039;&#039; to have a paid &#039;&#039;&#039;internship&#039;&#039;&#039; by &#039;&#039;&#039;Google&#039;&#039;&#039; to work on open source projects and become top developers!&lt;br /&gt;
&lt;br /&gt;
[[VideoLAN]] was a &#039;&#039;Google Summer of Code&#039;&#039; mentoring organization in [[SoC 2007|2007]], [[SoC 2008|2008]], [[SoC 2009|2009]], [[SoC 2010|2010]], [[SoC 2011|2011]], [[SoC 2013|2013]], [[SoC 2016|2016]], [[SoC_2017|2017]] and [[SoC_2018|2018]]. &lt;br /&gt;
&lt;br /&gt;
This page list some ideas for Summer of Code projects on VLMC, libVLC and {{VLC}}.&lt;br /&gt;
&lt;br /&gt;
=== VLC &amp;amp; libVLC  ===&lt;br /&gt;
&lt;br /&gt;
{{VLC}} is a cross-platform multimedia player, encoder and streamer application. It is one of the most successful open-source projects without any professional structure underneath. &lt;br /&gt;
&lt;br /&gt;
{{VLC}} is downloaded at an approximate monthly rate of 23 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;
The engine of VLC is &#039;&#039;&#039;libVLC&#039;&#039;&#039;, and is used by &#039;&#039;&#039;VLMC&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== VideoLAN Movie Creator ===&lt;br /&gt;
[[VLMC]] is a cross-platform non-linear video editing software based on libVLC technology. It was started as a final year student project at the French IT school [http://www.epitech.eu EPITECH].&lt;br /&gt;
&lt;br /&gt;
[[VLMC]] currently awaits a transition to the current libvlc API and it&#039;s actual 1.0 release!&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code  ===&lt;br /&gt;
&lt;br /&gt;
If selected and developed, SoC projects for VLMC and VLC will be included in later releases.&lt;br /&gt;
&lt;br /&gt;
All projects are covered by the GPL (v2+) or LGPL (v2.1+) licenses depending on the module.&lt;br /&gt;
&lt;br /&gt;
== How to Start ==&lt;br /&gt;
=== Find an idea ===&lt;br /&gt;
First, you need to find an idea.&lt;br /&gt;
&lt;br /&gt;
This current page gives you a list of ideas. Those ideas are &#039;&#039;&#039;NOT exhaustive&#039;&#039;&#039;: you can bring your own idea! Some of the best ideas we&#039;ve ever had were &#039;&#039;&#039;custom&#039;&#039;&#039; ideas!&lt;br /&gt;
&lt;br /&gt;
=== Submit your idea ===&lt;br /&gt;
You need to submit your idea on the &#039;&#039;Google Summer of Code&#039;&#039; platform.&lt;br /&gt;
&lt;br /&gt;
You should do so, very quickly, even before having finished compilation and the next steps, so that we can give you early feedback.&lt;br /&gt;
&lt;br /&gt;
=== Compile libVLC or VLMC ===&lt;br /&gt;
This may sound trivial, but it&#039;s harder than many expect. See https://wiki.videolan.org/Category:Building/ for more informations.&lt;br /&gt;
&lt;br /&gt;
You should come on [[IRC]] to get help to compile.&lt;br /&gt;
&lt;br /&gt;
=== Provide a small patch ===&lt;br /&gt;
To demonstrate your skills, share a small patch with us. This will let you become familiar with [[Git]], in case you don&#039;t know it already and our process on [[Sending Patches VLC|merging patches]].&lt;br /&gt;
&lt;br /&gt;
=== Let&#039;s get in touch ===&lt;br /&gt;
&lt;br /&gt;
If you have a doubt, are not sure about anything or want clarification, please get in touch with us.&lt;br /&gt;
&lt;br /&gt;
We have 3 major communication channels: Our [https://mailman.videolan.org/mailman/listinfo mailing-lists] to discuss patches and further development related topics. Furthermore, we have our [http://forum.videolan.org web forums] for VLC-related end-user support - a VLMC section will be created once the product is published. Finally, there is our IRC channel &#039;&#039;#videolan&#039;&#039; (for libVLC) and &#039;&#039;#vlmc&#039;&#039; on the &#039;&#039;Freenode&#039;&#039; network. It&#039;s open to any kind of discussion. Usage issues, questions how to compile VLC/VLMC, getting to know the fellow developers, etc.&lt;br /&gt;
&lt;br /&gt;
= Ideas for VLC &amp;amp; libVLC =&lt;br /&gt;
&lt;br /&gt;
== Advanced Audio Filters ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
We are looking for a skilled audiophile that knows a lot about audio theory and practice to work on new audio filters for VLC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
* SRS WoW like or other 3D effects;&lt;br /&gt;
* channels mixing, notably upmixing, like Prologic-II;&lt;br /&gt;
* tracks mixing, and transitions;&lt;br /&gt;
* scriptable new audio filters in lua and enable users to create whatever audio filtering function they want in a Lua script;&lt;br /&gt;
* LADSPA or other libraries integration. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project needs some good audio knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Qualification task:&#039;&#039;&#039;&lt;br /&gt;
Port any audio filter from MPlayer&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: geal &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== VLC Qt interface redesign ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
The VLC interface is quite outdated on Linux and Windows. It has a lot of features, but some are not properly exposed.&lt;br /&gt;
&lt;br /&gt;
This project for the summer is to rework heavily this interface to make it beautiful and useful again.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scope of the tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
The idea is to get closer to what the WinRT/UWP interface looks like &#039;&#039;(search on google image to get an idea)&#039;&#039;, but other ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
The WinRT interface is simpler, more user friendly, and has a better &amp;quot;media center&amp;quot; feel into it.&lt;br /&gt;
&lt;br /&gt;
It would require integration with the media library and with the current interface.&lt;br /&gt;
&lt;br /&gt;
Qml is the preferred way of improving the current UI.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Qt/C++&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Pierre&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== VLC macOS interface  redesign ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
The VLC interface is quite outdated on macOS.&lt;br /&gt;
&lt;br /&gt;
This project for the summer is to rework heavily this interface to make it beautiful and useful again.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scope of the tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
The idea is to get closer to what the Apple TV/iOS interface looks like &#039;&#039;(search on google image to get an idea)&#039;&#039;, but other ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
The iOS/AppleTV interface is simpler, more user friendly, and has a better &amp;quot;media center&amp;quot; feel into it.&lt;br /&gt;
&lt;br /&gt;
It would require integration with the media library and with the current interface.&lt;br /&gt;
&lt;br /&gt;
Starting from the current UI is a requirement.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Obj-C&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: David Fuhrmann, Felix Paul Kühne&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== GPU shader filters ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLC is using OpenGL and Direct3D11 on modern machines. It is now possible to do all kinds of video processing that was done in the CPU directly in the GPU.&lt;br /&gt;
&lt;br /&gt;
This project for the summer is to port some of the existing CPU filters to the GPU using shaders.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scope of the tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
The first task will be to identify all the video filters in VLC and identify the ones that could be done as shaders. Then implement them. Either in OpenGL shaders, Direct3D11 shaders, both and maybe Vulkan.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;OpenGL&#039;&#039;&#039; or &#039;&#039;&#039;Direct3D11&#039;&#039;&#039; shaders knowledge as well as knowledge on video filters in general.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Steve Lhomme&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Integrate JS engine in VLC ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLC is scriptable today with the Lua programming language. While slim and efficient, it is a less known programming language than other, like JS.&lt;br /&gt;
&lt;br /&gt;
The goal is to create a PoC to get a small JS engine inside of VLC to program extensions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* Find the correct JS engine for VLC use-case&lt;br /&gt;
* Embed the engine in VLC&lt;br /&gt;
* Map the VLC calls to JS&lt;br /&gt;
* Write some extensions&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;C&#039;&#039;&#039; knowledge and &#039;&#039;&#039;JS&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Thomas Guillem&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== VLC on Android Testsuite ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLC on Android is the port of VLC on the Android platform. It is one of the most used version of VLC.&lt;br /&gt;
&lt;br /&gt;
Sadly it currently doesn&#039;t have any tests that ensure the stability of playback and deterministic behavior.&lt;br /&gt;
This can lead to regressions that are noticed too late and unexpected behavior that sometimes even make it into the Playstore, notably across Android versions.&lt;br /&gt;
&lt;br /&gt;
The project for this summer is to build a Testsuite around libvlc-onAndroid to ensure that the library becomes and stays stable and interface tests.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
*Get an overview of the current behavior of the Android version. &lt;br /&gt;
*Write a suite with different testtargets to ensure the correct behavior of the main UI views&lt;br /&gt;
*Use so called &amp;quot;stubbing&amp;quot; and &amp;quot;mocking&amp;quot; of classes for testing purposes&lt;br /&gt;
*Make sure that the testtarget runs once every day on gitlab to ensure that no regressions have been introduced.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Java&#039;&#039;&#039; and &#039;&#039;&#039;Kotlin&#039;&#039;&#039; knowledge and some development on Android.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Geoffrey Metais&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== VLCKit Testsuite ==&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLCKit is the wrapper framework around libvlc that powers VLC for iOS and the respective tvOS app.&lt;br /&gt;
The framework is furthermore used by thousands of Apps all over the world and subject to everyday change. &lt;br /&gt;
&lt;br /&gt;
Sadly it currently doesn&#039;t have any tests that ensure the stability of playback and deterministic behavior.&lt;br /&gt;
This frequently leads to regressions that are noticed too late and unexpected behavior that sometimes even make it into the Appstore. &lt;br /&gt;
&lt;br /&gt;
The project for this summer is to build a Testsuite around VLCKit to ensure that the framwork becomes and stays stable.&lt;br /&gt;
This indirectly has a huge impact on the stability of the macOS app since iOS and macOS share a code base.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
*Get an overview of the current behavior of the Framework. &lt;br /&gt;
*Write a suite with different testtargets to ensure the correct behavior of every single class&lt;br /&gt;
*Use so called &amp;quot;stubbing&amp;quot; and &amp;quot;mocking&amp;quot; of classes for testing purposes&lt;br /&gt;
*Make sure that the testtarget runs once every day on jenkins to ensure that no regressions have been introduced.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Obj-C&#039;&#039;&#039; knowledge and ideally knowledge of writing tests for iOS but this can be learned.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Carola Nitz, Felix Paul Kühne&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Open Source Fuzzing platform ==&lt;br /&gt;
&lt;br /&gt;
The idea of this project is to develop a new web platform to support fuzzing or code analysis, like oss_fuzz, but open source.&amp;lt;br /&amp;gt;&lt;br /&gt;
That would allow to see the defects, to be able to act on them.&lt;br /&gt;
&lt;br /&gt;
It should be adaptable for clang-analyser or other similar tools.&lt;br /&gt;
&lt;br /&gt;
It can be based on gitlab, if needed, but should be developed in Go.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: &lt;br /&gt;
This project requires &#039;&#039;&#039;Go&#039;&#039;&#039; knowledge and ideally knowledge of &#039;&#039;&#039;JS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: Hugo Beauzée-Luyssen&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other ideas for VLC &amp;amp; libVLC ==&lt;br /&gt;
&lt;br /&gt;
Those ideas are not detailed, but they are ideas that we could help to spring new ideas.&lt;br /&gt;
&lt;br /&gt;
* Integrate Rust inside VLC, as a demuxer or a parser&lt;br /&gt;
* Work on the Vulkan output for VLC&lt;br /&gt;
* MPD server inside VLC&lt;br /&gt;
* Improve fast-seek in MP4 and WMV demuxers&lt;br /&gt;
* Improve id3 tag parsing.&lt;br /&gt;
* Provide setups for popular streaming services / sout templates (ui ?)&lt;br /&gt;
* Bridge module for GMI&#039;C or other video filters&lt;br /&gt;
* Automated Testing Environment like ffmpeg Fate (port ?) for demuxing, non-hw decoding&lt;br /&gt;
&lt;br /&gt;
= Ideas for VLMC =&lt;br /&gt;
&lt;br /&gt;
== Port to Android ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;: &lt;br /&gt;
VLMC is now working on the desktop. It would be nice to port it also to the mobile world, starting by Android.&lt;br /&gt;
&lt;br /&gt;
This project would require to adapt to smaller screens, and simplify the UI to fit the Android workflow.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Fix the VLMC build for Android. As libVLC works fine on Android, this is more focused on compiling the Qt part for Android.&lt;br /&gt;
# Split more parts of the UI in components that are reusable on mobile.&lt;br /&gt;
# Change the components to fit the small resolutions of the Android devices.&lt;br /&gt;
# Rewrite some UI components in QML.&lt;br /&gt;
# Write a simpler timeline widget for Mobile workflows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C++/Qt/qml&#039;&#039;&#039; knowledge, and access to Android devices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Geoffrey/Hugo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Port to iOS ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;: &lt;br /&gt;
VLMC is now working on the desktop. It would be nice to port it also to the mobile world, also on iOS.&lt;br /&gt;
&lt;br /&gt;
This project would require to adapt to smaller screens, and simplify the UI to fit the iOS workflow.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Fix the VLMC build for iOS. As libVLC works fine on iOS, this is more focused on compiling the Qt part for iOS.&lt;br /&gt;
# Split more parts of the UI in components that are reusable on mobile.&lt;br /&gt;
# Change the components to fit the small resolutions of the iOS devices.&lt;br /&gt;
# Rewrite some UI components in QML.&lt;br /&gt;
# Write a simpler timeline widget for Mobile workflows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C++/Qt/qml&#039;&#039;&#039; knowledge, and access to Android devices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Felix/Hugo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Media Workflow rework ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLMC is now working on the desktop, but the media workflow is quite slow and is missing some common use cases.&lt;br /&gt;
&lt;br /&gt;
This should be fixed in [https://github.com/mltframework/mlt MLT] framework backend for libVLC and is the continuation from the work from the previous Summer of Code.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Understand the MLT libVLC backend codebase,&lt;br /&gt;
# Clean the backend and port it to a cleaner code state in C++,&lt;br /&gt;
# Benchmark the code and make it more efficient,&lt;br /&gt;
# Work to merge this backend upstream,&lt;br /&gt;
# Implement all the missing features in libVLC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C/C++&#039;&#039;&#039; knowledge, and understanding of multimedia concepts is a good positive point.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Hugo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Workflow audio filters ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLMC is now working on the desktop, but we need to have a good setup of audio filters to make it usable for most people.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Understand the VLMC and MLT codebase interactions,&lt;br /&gt;
# Add audio filters on the MLT framework backend using the [https://en.wikipedia.org/wiki/LADSPA LADSPA]/[http://lv2plug.in/ LV2] library or a similar open source library,&lt;br /&gt;
# Code the interface corresponding to those filters, and their options,&lt;br /&gt;
# Prepare visualizations, and notably for soundwave filters,&lt;br /&gt;
# Integrate those inside the timeline UI,&lt;br /&gt;
# Optimize.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C++/Qt/qml&#039;&#039;&#039; knowledge, and enough understanding of audio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: J-B&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Workflow video filters ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Description&#039;&#039;&#039;:&lt;br /&gt;
VLMC is now working on the desktop, but we need to have a good setup of video filters to make it usable for most people.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Understand the VLMC and MLT codebase interactions,&lt;br /&gt;
# Add video filters on the MLT framework backend using the [https://git.sesse.net/?p=movit;a=summary movit] library or a similar open source library,&lt;br /&gt;
# Code the interface corresponding to those filters, and their options,&lt;br /&gt;
# Add transitions between clips&lt;br /&gt;
# Code the interface to manage those transitions,&lt;br /&gt;
# Optimize the code.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C/C++&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Felix&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Improve multiplatform support ==&lt;br /&gt;
VLMC is aiming at being fully cross platform, but drifted a bit from that goal. While most VLMC&#039;s code is cross platform, and can be easily built targeting platforms, some dependencies might prove more difficult to build or compose with VLMC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
# Fix MLT cross compilation for Windows (This will most likely require patching directly inside MLT, all contributions must be sent upstream). &lt;br /&gt;
# Fix medialibrary code &amp;amp; build process on macOS (and potentially iOS). The medialibrary misses some platform specific code to be able to list all connected drives (hard drives &amp;amp; USB removable storage, mostly) along with filesystem browsing&lt;br /&gt;
# Update the documentation along the way&lt;br /&gt;
# Create jenkins build configuration to have nightly builds on jenkins.videolan.org &amp;amp; nightlies.videolan.org for all supported platforms&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires buildsystems/toolchains knowledge, basic system programming on macOS &amp;amp; Windows&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentors: Hugo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Remote UI ==&lt;br /&gt;
&lt;br /&gt;
We would like to have a way to use VLMC from a web browser. You can easily imagine having a nice, shiny &amp;amp; simple UI for minimal movie edition, which would go hand in hand with the cloud storage feature.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks to do&#039;&#039;&#039;:&lt;br /&gt;
This task aims toward the uncoupling of the rendering backend &amp;amp; UI, as the renderer will run server side, while the UI runs on the client side.&lt;br /&gt;
&lt;br /&gt;
The idea is to be able to have a UI interacting with the renderer without having to be in the same process, or even machine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project requires &#039;&#039;&#039;C++&#039;&#039;&#039; and &#039;&#039;&#039;JS&#039;&#039;&#039; knowledge.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor&#039;&#039;: jb, chouquette, fkuehne&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Ideas for VLC dependencies =&lt;br /&gt;
&lt;br /&gt;
== libmicrodns refactoring ==&lt;br /&gt;
&lt;br /&gt;
Our current mDNS discoverer is working, but is not so respectful of the RFC.&lt;br /&gt;
Possible improvements include:&lt;br /&gt;
* Device TTL support&lt;br /&gt;
* Device removal detection&lt;br /&gt;
* Better request pacing&lt;br /&gt;
* Delegate socket interactions to the caller&lt;br /&gt;
* Unit testing&lt;br /&gt;
* Fuzzing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;: This project require &#039;&#039;&#039;C&#039;&#039;&#039; knowledge, as well as system programming skills&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor&#039;&#039;: chouquette, tguillem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;/div&gt;</summary>
		<author><name>Bubu</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=VDD18&amp;diff=56467</id>
		<title>VDD18</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=VDD18&amp;diff=56467"/>
		<updated>2018-09-20T11:13:29Z</updated>

		<summary type="html">&lt;p&gt;Bubu: /* Internet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Welcome to VideoLAN Dev Days 2018 =&lt;br /&gt;
&lt;br /&gt;
For its tenth edition, people from the VideoLAN and open source multimedia communities will meet in Paris to discuss and work on the future of the open-source multimedia community!&lt;br /&gt;
&lt;br /&gt;
= Schedule =&lt;br /&gt;
&lt;br /&gt;
== Friday September 21st ==&lt;br /&gt;
&lt;br /&gt;
Community bonding day!&lt;br /&gt;
&lt;br /&gt;
=== Paris Exploration ===&lt;br /&gt;
&lt;br /&gt;
¯\_(ツ)_/¯&lt;br /&gt;
&lt;br /&gt;
=== Evening drinks ===&lt;br /&gt;
&lt;br /&gt;
19:30 Evening drinks at the [https://goo.gl/maps/tTTAPwjzHe62 King George pub].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sponsored by Mozilla.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(NB: food is not provided there)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Saturday September 22th ==&lt;br /&gt;
&lt;br /&gt;
=== Planning ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width: 10%;&amp;quot; | Time || Auditorium&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;08:30 - 09:00&#039;&#039;&#039; ||  style=&amp;quot;background: silver;&amp;quot; | Registration &amp;amp; Breakfast&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;09:00 - 09:25&#039;&#039;&#039; || &#039;&#039;&#039;Welcome words&#039;&#039;&#039; by Jean-Baptiste Kempf, VideoLAN&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;09:25 - 09:40&#039;&#039;&#039; || &#039;&#039;&#039;AV1: in the end, what got in?&#039;&#039;&#039; by Pascal Massimino, Google&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;09:40 - 10:05&#039;&#039;&#039; || &#039;&#039;&#039;Dav1d: a fast new AV1 decoder&#039;&#039;&#039; by Jean-Baptiste Kempf and Ronald Bultje&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;10:05 - 10:30&#039;&#039;&#039; || &#039;&#039;&#039;rav1e: the best rust AV1 encoder&#039;&#039;&#039; by Thomas Daede, Mozilla&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;10:30 - 10:50&#039;&#039;&#039; || style=&amp;quot;background: silver;&amp;quot; |  &#039;&#039;&#039;Coffee Break!&#039;&#039;&#039; by the Coffee committee&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;10:50 - 11:20&#039;&#039;&#039; || &#039;&#039;&#039;FFv2&#039;&#039;&#039; by Rostislav Pehlivanov, FFmpeg&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;11:30 - 12:00&#039;&#039;&#039; || &#039;&#039;&#039;x265: an update&#039;&#039;&#039; by Pradeep Ramachandran, MCW&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;12:00 - 12:30&#039;&#039;&#039; || &#039;&#039;&#039;VLC 4.0&#039;&#039;&#039; by Jean-Baptiste Kempf, VideoLAN&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;12:30 - 14:00&#039;&#039;&#039; || style=&amp;quot;background: silver;&amp;quot; |  &#039;&#039;&#039;Lunch break!&#039;&#039;&#039; by the Lunch committee&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Goodies distribution will start at 14:00&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width: 10%;&amp;quot; | Time&lt;br /&gt;
! &lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;14:00 - 18:00&#039;&#039;&#039; || &#039;&#039;&#039;Meetups&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;19:30 - ??:??&#039;&#039;&#039; ||  &#039;&#039;&#039;Community Dinner&#039;&#039;&#039; by the Dinner committee&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== VideoLAN community dinner ===&lt;br /&gt;
&lt;br /&gt;
Dinner will be at 19h30, located at Port de Javel Haut.&lt;br /&gt;
&lt;br /&gt;
== Sunday September 23rd ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;width: 10%;&amp;quot; | Time || Description&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;09:00 - 09:30&#039;&#039;&#039; || style=&amp;quot;background: silver;&amp;quot; | &#039;&#039;&#039;Breakfast&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;09:30 - 12:00&#039;&#039;&#039; || &#039;&#039;&#039;Lightning talks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An update about LLVM + Mingw (Martin Storsjo)&lt;br /&gt;
&lt;br /&gt;
Rust &amp;amp; Multimedia (Luca Barbato)&lt;br /&gt;
&lt;br /&gt;
TTML subtitles (Stefan Pöschel)&lt;br /&gt;
&lt;br /&gt;
HDR &amp;amp; placebo (Niklas Haas)&lt;br /&gt;
&lt;br /&gt;
FFv1 update (Dave Rice)&lt;br /&gt;
&lt;br /&gt;
Low-latency Dash streaming (Romain Bouqueau)&lt;br /&gt;
&lt;br /&gt;
Bro Talk Translation (Derek Buitenhuis)&lt;br /&gt;
&lt;br /&gt;
VLC multi-process (Alexandre Janni)&lt;br /&gt;
&lt;br /&gt;
Intel and FFmpeg (Vasily Aristarkhov)&lt;br /&gt;
&lt;br /&gt;
SubExponential Golomb Codes in AV1 (Luc Trudeau)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;12:00 - 14:00&#039;&#039;&#039; || style=&amp;quot;background: silver;&amp;quot; | &#039;&#039;&#039;Lunch&#039;&#039;&#039; by the Lunch Committee&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;14:00 - 18:00&#039;&#039;&#039; || &#039;&#039;&#039;Unconferences&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;20:00 - ??:??&#039;&#039;&#039; || style=&amp;quot;background: silver;&amp;quot; | &#039;&#039;&#039;Unofficial Dinner&#039;&#039;&#039; by the Unofficial Dinner Committee&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Unconference schedule ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Time&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;06:30 - 07:00&#039;&#039;&#039; || &#039;&#039;Beyond Breakfast Coffee&#039;&#039; by VideoLAN&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Practical information =&lt;br /&gt;
&lt;br /&gt;
== Location / main venue ==&lt;br /&gt;
The meeting is happening at [https://goo.gl/maps/cFDEKMHN8i82 Free.Fr/Iliad HQ]&lt;br /&gt;
&lt;br /&gt;
== Accomodation / Hotel ==&lt;br /&gt;
&lt;br /&gt;
Hotel Monsieur, 62 rue des Mathurins, Paris 8&lt;br /&gt;
&lt;br /&gt;
Mercure Paris Opéra Faubourg Montmartre, 5 Rue De Montyon, Paris 9&lt;br /&gt;
&lt;br /&gt;
== Transportation ==&lt;br /&gt;
&lt;br /&gt;
* Public transport: FIXME&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: VideoLAN does not refund taxi expenses nor car rentals.&lt;br /&gt;
&lt;br /&gt;
== Internet ==&lt;br /&gt;
&lt;br /&gt;
Please bring your own internet.&lt;br /&gt;
&lt;br /&gt;
= Contact =&lt;br /&gt;
&lt;br /&gt;
The VideoLAN Dev Days are organized by the board members of the VideoLAN non-profit organization, Jean-Baptiste Kempf, Denis Charmet, Konstantin Pavlov and Hugo Beauzée-Luyssen. You can reach us [mailto:board@videolan.org here].&lt;/div&gt;</summary>
		<author><name>Bubu</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=VDD18&amp;diff=56466</id>
		<title>VDD18</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=VDD18&amp;diff=56466"/>
		<updated>2018-09-20T08:54:52Z</updated>

		<summary type="html">&lt;p&gt;Bubu: /* Morning, Auditorium */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Welcome to VideoLAN Dev Days 2018 =&lt;br /&gt;
&lt;br /&gt;
For its tenth edition, people from the VideoLAN and open source multimedia communities will meet in Paris to discuss and work on the future of the open-source multimedia community!&lt;br /&gt;
&lt;br /&gt;
= Schedule =&lt;br /&gt;
&lt;br /&gt;
== Friday September 21st ==&lt;br /&gt;
&lt;br /&gt;
Community bonding day!&lt;br /&gt;
&lt;br /&gt;
=== Paris Exploration ===&lt;br /&gt;
&lt;br /&gt;
¯\_(ツ)_/¯&lt;br /&gt;
&lt;br /&gt;
=== Evening drinks ===&lt;br /&gt;
&lt;br /&gt;
19:30 Evening drinks at the [https://goo.gl/maps/tTTAPwjzHe62 King George pub].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sponsored by Mozilla.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(NB: food is not provided there)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Saturday September 22th ==&lt;br /&gt;
&lt;br /&gt;
=== Planning ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width: 10%;&amp;quot; | Time || Auditorium&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;08:30 - 09:00&#039;&#039;&#039; ||  style=&amp;quot;background: silver;&amp;quot; | Registration &amp;amp; Breakfast&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;09:00 - 09:25&#039;&#039;&#039; || &#039;&#039;&#039;Welcome words&#039;&#039;&#039; by Jean-Baptiste Kempf, VideoLAN&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;09:25 - 09:40&#039;&#039;&#039; || &#039;&#039;&#039;AV1: in the end, what got in?&#039;&#039;&#039; by Pascal Massimino, Google&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;09:40 - 10:05&#039;&#039;&#039; || &#039;&#039;&#039;Dav1d: a fast new AV1 decoder&#039;&#039;&#039; by Jean-Baptiste Kempf and Ronald Bultje&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;10:05 - 10:30&#039;&#039;&#039; || &#039;&#039;&#039;rav1e: the best rust AV1 encoder&#039;&#039;&#039; by Thomas Daede, Mozilla&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;10:30 - 10:50&#039;&#039;&#039; || style=&amp;quot;background: silver;&amp;quot; |  &#039;&#039;&#039;Coffee Break!&#039;&#039;&#039; by the Coffee committee&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;10:50 - 11:20&#039;&#039;&#039; || &#039;&#039;&#039;FFv2&#039;&#039;&#039; by Rostislav Pehlivanov, FFmpeg&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;11:30 - 12:00&#039;&#039;&#039; || &#039;&#039;&#039;x265: an update&#039;&#039;&#039; by Pradeep Ramachandran, MCW&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;12:00 - 12:30&#039;&#039;&#039; || &#039;&#039;&#039;VLC 4.0&#039;&#039;&#039; by Jean-Baptiste Kempf, VideoLAN&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;12:30 - 14:00&#039;&#039;&#039; || style=&amp;quot;background: silver;&amp;quot; |  &#039;&#039;&#039;Lunch break!&#039;&#039;&#039; by the Lunch committee&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Goodies distribution will start at 14:00&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width: 10%;&amp;quot; | Time&lt;br /&gt;
! &lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;14:00 - 18:00&#039;&#039;&#039; || &#039;&#039;&#039;Meetups&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;19:30 - ??:??&#039;&#039;&#039; ||  &#039;&#039;&#039;Community Dinner&#039;&#039;&#039; by the Dinner committee&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== VideoLAN community dinner ===&lt;br /&gt;
&lt;br /&gt;
Dinner will be at 19h30, located at Port de Javel Haut.&lt;br /&gt;
&lt;br /&gt;
== Sunday September 23rd ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;width: 10%;&amp;quot; | Time || Description&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;09:00 - 09:30&#039;&#039;&#039; || style=&amp;quot;background: silver;&amp;quot; | &#039;&#039;&#039;Breakfast&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;09:30 - 12:00&#039;&#039;&#039; || &#039;&#039;&#039;Lightning talks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An update about LLVM + Mingw (Martin Storsjo)&lt;br /&gt;
&lt;br /&gt;
Rust &amp;amp; Multimedia (Luca Barbato)&lt;br /&gt;
&lt;br /&gt;
TTML subtitles (Stefan Pöschel)&lt;br /&gt;
&lt;br /&gt;
HDR &amp;amp; placebo (Niklas Haas)&lt;br /&gt;
&lt;br /&gt;
FFv1 update (Dave Rice)&lt;br /&gt;
&lt;br /&gt;
Low-latency Dash streaming (Romain Bouqueau)&lt;br /&gt;
&lt;br /&gt;
Bro Talk Translation (Derek Buitenhuis)&lt;br /&gt;
&lt;br /&gt;
VLC multi-process (Alexandre Janni)&lt;br /&gt;
&lt;br /&gt;
Intel and FFmpeg (Vasily Aristarkhov)&lt;br /&gt;
&lt;br /&gt;
SubExponential Golomb Codes in AV1 (Luc Trudeau)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;12:00 - 14:00&#039;&#039;&#039; || style=&amp;quot;background: silver;&amp;quot; | &#039;&#039;&#039;Lunch&#039;&#039;&#039; by the Lunch Committee&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;14:00 - 18:00&#039;&#039;&#039; || &#039;&#039;&#039;Unconferences&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;20:00 - ??:??&#039;&#039;&#039; || style=&amp;quot;background: silver;&amp;quot; | &#039;&#039;&#039;Unofficial Dinner&#039;&#039;&#039; by the Unofficial Dinner Committee&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Unconference schedule ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Time&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;06:30 - 07:00&#039;&#039;&#039; || &#039;&#039;Beyond Breakfast Coffee&#039;&#039; by VideoLAN&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Practical information =&lt;br /&gt;
&lt;br /&gt;
== Location / main venue ==&lt;br /&gt;
The meeting is happening at [https://goo.gl/maps/cFDEKMHN8i82 Free.Fr/Iliad HQ]&lt;br /&gt;
&lt;br /&gt;
== Accomodation / Hotel ==&lt;br /&gt;
&lt;br /&gt;
Hotel Monsieur, 62 rue des Mathurins, Paris 8&lt;br /&gt;
&lt;br /&gt;
Mercure Paris Opéra Faubourg Montmartre, 5 Rue De Montyon, Paris 9&lt;br /&gt;
&lt;br /&gt;
== Transportation ==&lt;br /&gt;
&lt;br /&gt;
* Public transport: FIXME&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: VideoLAN does not refund taxi expenses nor car rentals.&lt;br /&gt;
&lt;br /&gt;
=== Internet ===&lt;br /&gt;
&lt;br /&gt;
Please bring your own internet.&lt;br /&gt;
&lt;br /&gt;
= Contact =&lt;br /&gt;
&lt;br /&gt;
The VideoLAN Dev Days are organized by the board members of the VideoLAN non-profit organization, Jean-Baptiste Kempf, Denis Charmet, Konstantin Pavlov and Hugo Beauzée-Luyssen. You can reach us [mailto:board@videolan.org here].&lt;/div&gt;</summary>
		<author><name>Bubu</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=VDD18&amp;diff=56465</id>
		<title>VDD18</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=VDD18&amp;diff=56465"/>
		<updated>2018-09-20T08:54:17Z</updated>

		<summary type="html">&lt;p&gt;Bubu: /* Sunday September 23rd */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Welcome to VideoLAN Dev Days 2018 =&lt;br /&gt;
&lt;br /&gt;
For its tenth edition, people from the VideoLAN and open source multimedia communities will meet in Paris to discuss and work on the future of the open-source multimedia community!&lt;br /&gt;
&lt;br /&gt;
= Schedule =&lt;br /&gt;
&lt;br /&gt;
== Friday September 21st ==&lt;br /&gt;
&lt;br /&gt;
Community bonding day!&lt;br /&gt;
&lt;br /&gt;
=== Paris Exploration ===&lt;br /&gt;
&lt;br /&gt;
¯\_(ツ)_/¯&lt;br /&gt;
&lt;br /&gt;
=== Evening drinks ===&lt;br /&gt;
&lt;br /&gt;
19:30 Evening drinks at the [https://goo.gl/maps/tTTAPwjzHe62 King George pub].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sponsored by Mozilla.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(NB: food is not provided there)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Saturday September 22th ==&lt;br /&gt;
&lt;br /&gt;
=== Planning ===&lt;br /&gt;
&lt;br /&gt;
==== Morning, Auditorium ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width: 10%;&amp;quot; | Time || Auditorium&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;08:30 - 09:00&#039;&#039;&#039; ||  style=&amp;quot;background: silver;&amp;quot; | Registration &amp;amp; Breakfast&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;09:00 - 09:25&#039;&#039;&#039; || &#039;&#039;&#039;Welcome words&#039;&#039;&#039; by Jean-Baptiste Kempf, VideoLAN&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;09:25 - 09:40&#039;&#039;&#039; || &#039;&#039;&#039;AV1: in the end, what got in?&#039;&#039;&#039; by Pascal Massimino, Google&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;09:40 - 10:05&#039;&#039;&#039; || &#039;&#039;&#039;Dav1d: a fast new AV1 decoder&#039;&#039;&#039; by Jean-Baptiste Kempf and Ronald Bultje&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;10:05 - 10:30&#039;&#039;&#039; || &#039;&#039;&#039;rav1e: the best rust AV1 encoder&#039;&#039;&#039; by Thomas Daede, Mozilla&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;10:30 - 10:50&#039;&#039;&#039; || style=&amp;quot;background: silver;&amp;quot; |  &#039;&#039;&#039;Coffee Break!&#039;&#039;&#039; by the Coffee committee&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;10:50 - 11:20&#039;&#039;&#039; || &#039;&#039;&#039;FFv2&#039;&#039;&#039; by Rostislav Pehlivanov, FFmpeg&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;11:30 - 12:00&#039;&#039;&#039; || &#039;&#039;&#039;x265: an update&#039;&#039;&#039; by Pradeep Ramachandran, MCW&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;12:00 - 12:30&#039;&#039;&#039; || &#039;&#039;&#039;VLC 4.0&#039;&#039;&#039; by Jean-Baptiste Kempf, VideoLAN&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;12:30 - 14:00&#039;&#039;&#039; || style=&amp;quot;background: silver;&amp;quot; |  &#039;&#039;&#039;Lunch break!&#039;&#039;&#039; by the Lunch committee&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Goodies distribution will start at 14:00&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width: 10%;&amp;quot; | Time&lt;br /&gt;
! &lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;14:00 - 18:00&#039;&#039;&#039; || &#039;&#039;&#039;Meetups&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;19:30 - ??:??&#039;&#039;&#039; ||  &#039;&#039;&#039;Community Dinner&#039;&#039;&#039; by the Dinner committee&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== VideoLAN community dinner ===&lt;br /&gt;
&lt;br /&gt;
Dinner will be at 19h30, located at Port de Javel Haut.&lt;br /&gt;
&lt;br /&gt;
== Sunday September 23rd ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;width: 10%;&amp;quot; | Time || Description&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;09:00 - 09:30&#039;&#039;&#039; || style=&amp;quot;background: silver;&amp;quot; | &#039;&#039;&#039;Breakfast&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;09:30 - 12:00&#039;&#039;&#039; || &#039;&#039;&#039;Lightning talks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An update about LLVM + Mingw (Martin Storsjo)&lt;br /&gt;
&lt;br /&gt;
Rust &amp;amp; Multimedia (Luca Barbato)&lt;br /&gt;
&lt;br /&gt;
TTML subtitles (Stefan Pöschel)&lt;br /&gt;
&lt;br /&gt;
HDR &amp;amp; placebo (Niklas Haas)&lt;br /&gt;
&lt;br /&gt;
FFv1 update (Dave Rice)&lt;br /&gt;
&lt;br /&gt;
Low-latency Dash streaming (Romain Bouqueau)&lt;br /&gt;
&lt;br /&gt;
Bro Talk Translation (Derek Buitenhuis)&lt;br /&gt;
&lt;br /&gt;
VLC multi-process (Alexandre Janni)&lt;br /&gt;
&lt;br /&gt;
Intel and FFmpeg (Vasily Aristarkhov)&lt;br /&gt;
&lt;br /&gt;
SubExponential Golomb Codes in AV1 (Luc Trudeau)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;12:00 - 14:00&#039;&#039;&#039; || style=&amp;quot;background: silver;&amp;quot; | &#039;&#039;&#039;Lunch&#039;&#039;&#039; by the Lunch Committee&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;14:00 - 18:00&#039;&#039;&#039; || &#039;&#039;&#039;Unconferences&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;20:00 - ??:??&#039;&#039;&#039; || style=&amp;quot;background: silver;&amp;quot; | &#039;&#039;&#039;Unofficial Dinner&#039;&#039;&#039; by the Unofficial Dinner Committee&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Unconference schedule ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Time&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;06:30 - 07:00&#039;&#039;&#039; || &#039;&#039;Beyond Breakfast Coffee&#039;&#039; by VideoLAN&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Practical information =&lt;br /&gt;
&lt;br /&gt;
== Location / main venue ==&lt;br /&gt;
The meeting is happening at [https://goo.gl/maps/cFDEKMHN8i82 Free.Fr/Iliad HQ]&lt;br /&gt;
&lt;br /&gt;
== Accomodation / Hotel ==&lt;br /&gt;
&lt;br /&gt;
Hotel Monsieur, 62 rue des Mathurins, Paris 8&lt;br /&gt;
&lt;br /&gt;
Mercure Paris Opéra Faubourg Montmartre, 5 Rue De Montyon, Paris 9&lt;br /&gt;
&lt;br /&gt;
== Transportation ==&lt;br /&gt;
&lt;br /&gt;
* Public transport: FIXME&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: VideoLAN does not refund taxi expenses nor car rentals.&lt;br /&gt;
&lt;br /&gt;
=== Internet ===&lt;br /&gt;
&lt;br /&gt;
Please bring your own internet.&lt;br /&gt;
&lt;br /&gt;
= Contact =&lt;br /&gt;
&lt;br /&gt;
The VideoLAN Dev Days are organized by the board members of the VideoLAN non-profit organization, Jean-Baptiste Kempf, Denis Charmet, Konstantin Pavlov and Hugo Beauzée-Luyssen. You can reach us [mailto:board@videolan.org here].&lt;/div&gt;</summary>
		<author><name>Bubu</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=VDD18&amp;diff=56464</id>
		<title>VDD18</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=VDD18&amp;diff=56464"/>
		<updated>2018-09-20T08:52:40Z</updated>

		<summary type="html">&lt;p&gt;Bubu: /* Morning, Auditorium */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Welcome to VideoLAN Dev Days 2018 =&lt;br /&gt;
&lt;br /&gt;
For its tenth edition, people from the VideoLAN and open source multimedia communities will meet in Paris to discuss and work on the future of the open-source multimedia community!&lt;br /&gt;
&lt;br /&gt;
= Schedule =&lt;br /&gt;
&lt;br /&gt;
== Friday September 21st ==&lt;br /&gt;
&lt;br /&gt;
Community bonding day!&lt;br /&gt;
&lt;br /&gt;
=== Paris Exploration ===&lt;br /&gt;
&lt;br /&gt;
¯\_(ツ)_/¯&lt;br /&gt;
&lt;br /&gt;
=== Evening drinks ===&lt;br /&gt;
&lt;br /&gt;
19:30 Evening drinks at the [https://goo.gl/maps/tTTAPwjzHe62 King George pub].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sponsored by Mozilla.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(NB: food is not provided there)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Saturday September 22th ==&lt;br /&gt;
&lt;br /&gt;
=== Planning ===&lt;br /&gt;
&lt;br /&gt;
==== Morning, Auditorium ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width: 10%;&amp;quot; | Time || Auditorium&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;08:30 - 09:00&#039;&#039;&#039; ||  style=&amp;quot;background: silver;&amp;quot; | Registration &amp;amp; Breakfast&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;09:00 - 09:25&#039;&#039;&#039; || &#039;&#039;&#039;Welcome words&#039;&#039;&#039; by Jean-Baptiste Kempf, VideoLAN&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;09:25 - 09:40&#039;&#039;&#039; || &#039;&#039;&#039;AV1: in the end, what got in?&#039;&#039;&#039; by Pascal Massimino, Google&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;09:40 - 10:05&#039;&#039;&#039; || &#039;&#039;&#039;Dav1d: a fast new AV1 decoder&#039;&#039;&#039; by Jean-Baptiste Kempf and Ronald Bultje&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;10:05 - 10:30&#039;&#039;&#039; || &#039;&#039;&#039;rav1e: the best rust AV1 encoder&#039;&#039;&#039; by Thomas Daede, Mozilla&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;10:30 - 10:50&#039;&#039;&#039; || style=&amp;quot;background: silver;&amp;quot; |  &#039;&#039;&#039;Coffee Break!&#039;&#039;&#039; by the Coffee committee&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;10:50 - 11:20&#039;&#039;&#039; || &#039;&#039;&#039;FFv2&#039;&#039;&#039; by Rostislav Pehlivanov, FFmpeg&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;11:30 - 12:00&#039;&#039;&#039; || &#039;&#039;&#039;x265: an update&#039;&#039;&#039; by Pradeep Ramachandran, MCW&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;12:00 - 12:30&#039;&#039;&#039; || &#039;&#039;&#039;VLC 4.0&#039;&#039;&#039; by Jean-Baptiste Kempf, VideoLAN&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;12:30 - 14:00&#039;&#039;&#039; || style=&amp;quot;background: silver;&amp;quot; |  &#039;&#039;&#039;Lunch break!&#039;&#039;&#039; by the Lunch committee&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Goodies distribution will start at 14:00&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width: 10%;&amp;quot; | Time&lt;br /&gt;
! &lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;14:00 - 18:00&#039;&#039;&#039; || &#039;&#039;&#039;Meetups&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;19:30 - ??:??&#039;&#039;&#039; ||  &#039;&#039;&#039;Community Dinner&#039;&#039;&#039; by the Dinner committee&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== VideoLAN community dinner ===&lt;br /&gt;
&lt;br /&gt;
Dinner will be at 19h30, located at Port de Javel Haut.&lt;br /&gt;
&lt;br /&gt;
== Sunday September 23rd ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Time&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;09:00 - 09:30&#039;&#039;&#039; || &#039;&#039;&#039;Breakfast&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;09:30 - 12:00&#039;&#039;&#039; || &#039;&#039;&#039;Lightning talks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An update about LLVM + Mingw (Martin Storsjo)&lt;br /&gt;
&lt;br /&gt;
Rust &amp;amp; Multimedia (Luca Barbato)&lt;br /&gt;
&lt;br /&gt;
TTML subtitles (Stefan Pöschel)&lt;br /&gt;
&lt;br /&gt;
HDR &amp;amp; placebo (Niklas Haas)&lt;br /&gt;
&lt;br /&gt;
FFv1 update (Dave Rice)&lt;br /&gt;
&lt;br /&gt;
Low-latency Dash streaming (Romain Bouqueau)&lt;br /&gt;
&lt;br /&gt;
Bro Talk Translation (Derek Buitenhuis)&lt;br /&gt;
&lt;br /&gt;
VLC multi-process (Alexandre Janni)&lt;br /&gt;
&lt;br /&gt;
Intel and FFmpeg (Vasily Aristarkhov)&lt;br /&gt;
&lt;br /&gt;
SubExponential Golomb Codes in AV1 (Luc Trudeau)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;12:00 - 14:00&#039;&#039;&#039; || &#039;&#039;&#039;Lunch&#039;&#039;&#039; by the Lunch Committee&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;14:00 - 18:00&#039;&#039;&#039; || &#039;&#039;&#039;Unconferences&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;20:00 - ??:??&#039;&#039;&#039; || &#039;&#039;&#039;Unofficial Dinner&#039;&#039;&#039; by the Unofficial Dinner Committee&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Unconference schedule ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Time&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;06:30 - 07:00&#039;&#039;&#039; || &#039;&#039;Beyond Breakfast Coffee&#039;&#039; by VideoLAN&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Practical information =&lt;br /&gt;
&lt;br /&gt;
== Location / main venue ==&lt;br /&gt;
The meeting is happening at [https://goo.gl/maps/cFDEKMHN8i82 Free.Fr/Iliad HQ]&lt;br /&gt;
&lt;br /&gt;
== Accomodation / Hotel ==&lt;br /&gt;
&lt;br /&gt;
Hotel Monsieur, 62 rue des Mathurins, Paris 8&lt;br /&gt;
&lt;br /&gt;
Mercure Paris Opéra Faubourg Montmartre, 5 Rue De Montyon, Paris 9&lt;br /&gt;
&lt;br /&gt;
== Transportation ==&lt;br /&gt;
&lt;br /&gt;
* Public transport: FIXME&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: VideoLAN does not refund taxi expenses nor car rentals.&lt;br /&gt;
&lt;br /&gt;
=== Internet ===&lt;br /&gt;
&lt;br /&gt;
Please bring your own internet.&lt;br /&gt;
&lt;br /&gt;
= Contact =&lt;br /&gt;
&lt;br /&gt;
The VideoLAN Dev Days are organized by the board members of the VideoLAN non-profit organization, Jean-Baptiste Kempf, Denis Charmet, Konstantin Pavlov and Hugo Beauzée-Luyssen. You can reach us [mailto:board@videolan.org here].&lt;/div&gt;</summary>
		<author><name>Bubu</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=VDD18&amp;diff=56463</id>
		<title>VDD18</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=VDD18&amp;diff=56463"/>
		<updated>2018-09-20T08:35:28Z</updated>

		<summary type="html">&lt;p&gt;Bubu: /* Saturday September 22th */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Welcome to VideoLAN Dev Days 2018 =&lt;br /&gt;
&lt;br /&gt;
For its tenth edition, people from the VideoLAN and open source multimedia communities will meet in Paris to discuss and work on the future of the open-source multimedia community!&lt;br /&gt;
&lt;br /&gt;
= Schedule =&lt;br /&gt;
&lt;br /&gt;
== Friday September 21st ==&lt;br /&gt;
&lt;br /&gt;
Community bonding day!&lt;br /&gt;
&lt;br /&gt;
=== Paris Exploration ===&lt;br /&gt;
&lt;br /&gt;
¯\_(ツ)_/¯&lt;br /&gt;
&lt;br /&gt;
=== Evening drinks ===&lt;br /&gt;
&lt;br /&gt;
19:30 Evening drinks at the [https://goo.gl/maps/tTTAPwjzHe62 King George pub].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sponsored by Mozilla.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(NB: food is not provided there)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Saturday September 22th ==&lt;br /&gt;
&lt;br /&gt;
=== Planning ===&lt;br /&gt;
&lt;br /&gt;
==== Morning, Auditorium ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Time&lt;br /&gt;
! Auditorium&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;08:30 - 09:00&#039;&#039;&#039; || Registration &amp;amp; Breakfast&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;09:00 - 09:25&#039;&#039;&#039; || &#039;&#039;&#039;Welcome words&#039;&#039;&#039; by Jean-Baptiste Kempf, VideoLAN&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;09:25 - 09:40&#039;&#039;&#039; || &#039;&#039;&#039;AV1: in the end, what got in?&#039;&#039;&#039; by Pascal Massimino, Google&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;09:40 - 10:05&#039;&#039;&#039; || &#039;&#039;&#039;Dav1d: a fast new AV1 decoder&#039;&#039;&#039; by Jean-Baptiste Kempf and Ronald Bultje&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;10:05 - 10:30&#039;&#039;&#039; || &#039;&#039;&#039;rav1e: the best rust AV1 encoder&#039;&#039;&#039; by Thomas Daede, Mozilla&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;10:30 - 10:50&#039;&#039;&#039; || &#039;&#039;&#039;Coffee Break!&#039;&#039;&#039; by the Coffee committee&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;10:50 - 11:20&#039;&#039;&#039; || &#039;&#039;&#039;FFv2&#039;&#039;&#039; by Rostislav Pehlivanov, FFmpeg&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;11:30 - 12:00&#039;&#039;&#039; || &#039;&#039;&#039;x265: an update&#039;&#039;&#039; by Pradeep Ramachandran, MCW&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;12:00 - 12:30&#039;&#039;&#039; || &#039;&#039;&#039;VLC 4.0&#039;&#039;&#039; by Jean-Baptiste Kempf, VideoLAN&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;12:30 - 14:00&#039;&#039;&#039; || &#039;&#039;&#039;Lunch break!&#039;&#039;&#039; by the Lunch committee&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Goodies distribution will start at 14:00&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Time&lt;br /&gt;
! &lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;14:00 - 18:00&#039;&#039;&#039; || &#039;&#039;&#039;Meetups&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;19:30 - ??:??&#039;&#039;&#039; || &#039;&#039;&#039;Community Dinner&#039;&#039;&#039; by the Dinner committee&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== VideoLAN community dinner ===&lt;br /&gt;
&lt;br /&gt;
Dinner will be at 19h30, located at Port de Javel Haut.&lt;br /&gt;
&lt;br /&gt;
== Sunday September 23rd ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Time&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;09:00 - 09:30&#039;&#039;&#039; || &#039;&#039;&#039;Breakfast&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;09:30 - 12:00&#039;&#039;&#039; || &#039;&#039;&#039;Lightning talks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An update about LLVM + Mingw (Martin Storsjo)&lt;br /&gt;
&lt;br /&gt;
Rust &amp;amp; Multimedia (Luca Barbato)&lt;br /&gt;
&lt;br /&gt;
TTML subtitles (Stefan Pöschel)&lt;br /&gt;
&lt;br /&gt;
HDR &amp;amp; placebo (Niklas Haas)&lt;br /&gt;
&lt;br /&gt;
FFv1 update (Dave Rice)&lt;br /&gt;
&lt;br /&gt;
Low-latency Dash streaming (Romain Bouqueau)&lt;br /&gt;
&lt;br /&gt;
Bro Talk Translation (Derek Buitenhuis)&lt;br /&gt;
&lt;br /&gt;
VLC multi-process (Alexandre Janni)&lt;br /&gt;
&lt;br /&gt;
Intel and FFmpeg (Vasily Aristarkhov)&lt;br /&gt;
&lt;br /&gt;
SubExponential Golomb Codes in AV1 (Luc Trudeau)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;12:00 - 14:00&#039;&#039;&#039; || &#039;&#039;&#039;Lunch&#039;&#039;&#039; by the Lunch Committee&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;14:00 - 18:00&#039;&#039;&#039; || &#039;&#039;&#039;Unconferences&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;20:00 - ??:??&#039;&#039;&#039; || &#039;&#039;&#039;Unofficial Dinner&#039;&#039;&#039; by the Unofficial Dinner Committee&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Unconference schedule ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Time&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;06:30 - 07:00&#039;&#039;&#039; || &#039;&#039;Beyond Breakfast Coffee&#039;&#039; by VideoLAN&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Practical information =&lt;br /&gt;
&lt;br /&gt;
== Location / main venue ==&lt;br /&gt;
The meeting is happening at [https://goo.gl/maps/cFDEKMHN8i82 Free.Fr/Iliad HQ]&lt;br /&gt;
&lt;br /&gt;
== Accomodation / Hotel ==&lt;br /&gt;
&lt;br /&gt;
Hotel Monsieur, 62 rue des Mathurins, Paris 8&lt;br /&gt;
&lt;br /&gt;
Mercure Paris Opéra Faubourg Montmartre, 5 Rue De Montyon, Paris 9&lt;br /&gt;
&lt;br /&gt;
== Transportation ==&lt;br /&gt;
&lt;br /&gt;
* Public transport: FIXME&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: VideoLAN does not refund taxi expenses nor car rentals.&lt;br /&gt;
&lt;br /&gt;
=== Internet ===&lt;br /&gt;
&lt;br /&gt;
Please bring your own internet.&lt;br /&gt;
&lt;br /&gt;
= Contact =&lt;br /&gt;
&lt;br /&gt;
The VideoLAN Dev Days are organized by the board members of the VideoLAN non-profit organization, Jean-Baptiste Kempf, Denis Charmet, Konstantin Pavlov and Hugo Beauzée-Luyssen. You can reach us [mailto:board@videolan.org here].&lt;/div&gt;</summary>
		<author><name>Bubu</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=VDD18&amp;diff=56462</id>
		<title>VDD18</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=VDD18&amp;diff=56462"/>
		<updated>2018-09-20T08:28:21Z</updated>

		<summary type="html">&lt;p&gt;Bubu: /* Sunday September 23rd */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Welcome to VideoLAN Dev Days 2018 =&lt;br /&gt;
&lt;br /&gt;
For its tenth edition, people from the VideoLAN and open source multimedia communities will meet in Paris to discuss and work on the future of the open-source multimedia community!&lt;br /&gt;
&lt;br /&gt;
= Schedule =&lt;br /&gt;
&lt;br /&gt;
== Friday September 21st ==&lt;br /&gt;
&lt;br /&gt;
Community bonding day!&lt;br /&gt;
&lt;br /&gt;
=== Paris Exploration ===&lt;br /&gt;
&lt;br /&gt;
¯\_(ツ)_/¯&lt;br /&gt;
&lt;br /&gt;
=== Evening drinks ===&lt;br /&gt;
&lt;br /&gt;
19:30 Evening drinks at the [https://goo.gl/maps/tTTAPwjzHe62 King George pub].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sponsored by Mozilla.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(NB: food is not provided there)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Saturday September 22th ==&lt;br /&gt;
&lt;br /&gt;
=== Planning ===&lt;br /&gt;
&lt;br /&gt;
==== Morning, Auditorium ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Time&lt;br /&gt;
! AUDITORIUM&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;08:30 - 09:00&#039;&#039;&#039; || Registration &amp;amp; &#039;&#039;&#039;Breakfast &#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;09:00 - 09:25&#039;&#039;&#039; || &#039;&#039;&#039;Welcome words&#039;&#039;&#039; by Jean-Baptiste Kempf, VideoLAN&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;09:25 - 09:40&#039;&#039;&#039; || &#039;&#039;&#039;AV1: in the end, what got in?&#039;&#039;&#039; by Pascal Massimino, Google&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;09:40 - 10:05&#039;&#039;&#039; || &#039;&#039;&#039;Dav1d: a fast new AV1 decoder&#039;&#039;&#039; by Jean-Baptiste Kempf and Ronald Bultje&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;10:05 - 10:30&#039;&#039;&#039; || &#039;&#039;&#039;rav1e: the best rust AV1 encoder&#039;&#039;&#039; by Thomas Daede, Mozilla&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;10:30 - 10:50&#039;&#039;&#039; || &#039;&#039;&#039;Coffee Break!&#039;&#039;&#039; by the Coffee committee&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;10:50 - 11:20&#039;&#039;&#039; || &#039;&#039;&#039;FFv2&#039;&#039;&#039; by Rostislav Pehlivanov, FFmpeg&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;11:30 - 12:00&#039;&#039;&#039; || &#039;&#039;&#039;x265: an update&#039;&#039;&#039; by Pradeep Ramachandran, MCW&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;12:00 - 12:30&#039;&#039;&#039; || &#039;&#039;&#039;VLC 4.0&#039;&#039;&#039; by Jean-Baptiste Kempf, VideoLAN&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;12:30 - 14:00&#039;&#039;&#039; || &#039;&#039;&#039;Lunch break!&#039;&#039;&#039; by the Lunch committee&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Goodies distribution will start at 14:00&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Time&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;14:00 - 18:00&#039;&#039;&#039; || &#039;&#039;&#039;Meetups&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;19:30 - ??:??&#039;&#039;&#039; || &#039;&#039;&#039;Community Dinner&#039;&#039;&#039; by the Dinner committee&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== VideoLAN community dinner ===&lt;br /&gt;
&lt;br /&gt;
Dinner will be at 19h30, located at Port de Javel Haut.&lt;br /&gt;
&lt;br /&gt;
== Sunday September 23rd ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Time&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;09:00 - 09:30&#039;&#039;&#039; || &#039;&#039;&#039;Breakfast&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;09:30 - 12:00&#039;&#039;&#039; || &#039;&#039;&#039;Lightning talks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An update about LLVM + Mingw (Martin Storsjo)&lt;br /&gt;
&lt;br /&gt;
Rust &amp;amp; Multimedia (Luca Barbato)&lt;br /&gt;
&lt;br /&gt;
TTML subtitles (Stefan Pöschel)&lt;br /&gt;
&lt;br /&gt;
HDR &amp;amp; placebo (Niklas Haas)&lt;br /&gt;
&lt;br /&gt;
FFv1 update (Dave Rice)&lt;br /&gt;
&lt;br /&gt;
Low-latency Dash streaming (Romain Bouqueau)&lt;br /&gt;
&lt;br /&gt;
Bro Talk Translation (Derek Buitenhuis)&lt;br /&gt;
&lt;br /&gt;
VLC multi-process (Alexandre Janni)&lt;br /&gt;
&lt;br /&gt;
Intel and FFmpeg (Vasily Aristarkhov)&lt;br /&gt;
&lt;br /&gt;
SubExponential Golomb Codes in AV1 (Luc Trudeau)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;12:00 - 14:00&#039;&#039;&#039; || &#039;&#039;&#039;Lunch&#039;&#039;&#039; by the Lunch Committee&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;14:00 - 18:00&#039;&#039;&#039; || &#039;&#039;&#039;Unconferences&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;20:00 - ??:??&#039;&#039;&#039; || &#039;&#039;&#039;Unofficial Dinner&#039;&#039;&#039; by the Unofficial Dinner Committee&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Unconference schedule ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Time&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;06:30 - 07:00&#039;&#039;&#039; || &#039;&#039;Beyond Breakfast Coffee&#039;&#039; by VideoLAN&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Practical information =&lt;br /&gt;
&lt;br /&gt;
== Location / main venue ==&lt;br /&gt;
The meeting is happening at [https://goo.gl/maps/cFDEKMHN8i82 Free.Fr/Iliad HQ]&lt;br /&gt;
&lt;br /&gt;
== Accomodation / Hotel ==&lt;br /&gt;
&lt;br /&gt;
Hotel Monsieur, 62 rue des Mathurins, Paris 8&lt;br /&gt;
&lt;br /&gt;
Mercure Paris Opéra Faubourg Montmartre, 5 Rue De Montyon, Paris 9&lt;br /&gt;
&lt;br /&gt;
== Transportation ==&lt;br /&gt;
&lt;br /&gt;
* Public transport: FIXME&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: VideoLAN does not refund taxi expenses nor car rentals.&lt;br /&gt;
&lt;br /&gt;
=== Internet ===&lt;br /&gt;
&lt;br /&gt;
Please bring your own internet.&lt;br /&gt;
&lt;br /&gt;
= Contact =&lt;br /&gt;
&lt;br /&gt;
The VideoLAN Dev Days are organized by the board members of the VideoLAN non-profit organization, Jean-Baptiste Kempf, Denis Charmet, Konstantin Pavlov and Hugo Beauzée-Luyssen. You can reach us [mailto:board@videolan.org here].&lt;/div&gt;</summary>
		<author><name>Bubu</name></author>
	</entry>
</feed>