<?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=Plouj</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=Plouj"/>
	<link rel="alternate" type="text/html" href="https://wiki.videolan.org/Special:Contributions/Plouj/"/>
	<updated>2026-11-04T15:42:31Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2008_projects&amp;diff=11338</id>
		<title>SoC 2008 projects</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2008_projects&amp;diff=11338"/>
		<updated>2008-04-22T19:19:35Z</updated>

		<summary type="html">&lt;p&gt;Plouj: /* WinCE Port */ name shouldn&amp;#039;t be a URL&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here is a list of the accepted projects for Google Summer of Code 2OO8.&lt;br /&gt;
&lt;br /&gt;
= List of current projects =&lt;br /&gt;
&lt;br /&gt;
== Panorama Viewing ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Project page: [[SoC 2008/PanoramaViewing]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Student&#039;&#039;&#039;: [[User:Plouj|Michael Ploujnikov]]&lt;br /&gt;
* &#039;&#039;&#039;Mentor&#039;&#039;&#039;: Yuval Levy, [[User:J-b|Jean-Baptiste Kempf]], [[User:Dionoea|Antoine Cellerier]]&lt;br /&gt;
* &#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
: The goal of this project is to make VLC a one-stop solution for viewing panoramas of various formats. Currently, FreePV is the best/only cross-platform, non-proprietary solution for viewing QuickTimeVR and plain image panoramas. However it suffers from a few drawbacks, which include difficult installation, browser plug-in conflicts and low popularity. The intent is to integrate the FreePV rendering code with VLC. This should not only automatically alleviate installation difficulty and plug-in conflicts, but also bring panorama viewing to a much larger audience. This project will initially focus on basic support for QTVR files and equirectangular images.&lt;br /&gt;
&lt;br /&gt;
== Qt improvements ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Project page: [[SoC 2008/Qt improvements]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Student&#039;&#039;&#039;: Lukas Durfina&lt;br /&gt;
* &#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:J-b|Jean-Baptiste Kempf]]&lt;br /&gt;
* &#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
: In my project I should do fullscreen controller, backend for Phonon and playlist improvements. FS controller have to be clickable, dragable with all VLC functionality. Phonon backend will help spread VLC and support its using by other developers. And finally I will upgrade playlist, fix and update DragAndDrop and other bugs.&lt;br /&gt;
&lt;br /&gt;
== Enhance PVR capabilities of VLC ==&lt;br /&gt;
* &#039;&#039;&#039;Project page: [[SoC 2008/Enhance PVR capabilities of VLC]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Student&#039;&#039;&#039;: [[User:Dylan|Dylan Yudaken]]&lt;br /&gt;
* &#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:Pdherbemont|Pierre d&#039;Herbemont]]&lt;br /&gt;
* &#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
: VLC has fast become one of the most common video players available for &#039;non-technical&#039; users. The ability to watch streams easily and efficiently is a huge advantage for VLC. The ability to timeshift streams has been added to the latest unstable builds, however it is vastly underfeatured and not nearly ready for release. The features would enhance VLC to a new level which would allow a new set of users to use it.&lt;br /&gt;
&lt;br /&gt;
: I propose to extend &amp;amp; improve the PVR capabilities of VLC. The current version is severely lacking in functionality and performance. There is a very basic timeshift capability already. To this I will add the ability to randomly seek through the buffer (fast forward, rewind, etc ). The ability to save buffers and continue recording to the new file will be added. These recordings will be in any chosen format. These features will help anyone who uses VLC to watch TV shows to easily turn their client into a MythTV/Media Centre style client.  &lt;br /&gt;
: I will tie the module in with the user interface properly so that the state of the buffer and the current position can be easily seen. &lt;br /&gt;
: I then plan to begin work on a framework that combines all of these features into a simple interface easily accessible with a remote control. The interface will combine VLM and the media library into a single easily accesible place. The interface will have the ability to &#039;talk&#039; to the server sending commands such as changing tv channel or switching input source.&lt;br /&gt;
&lt;br /&gt;
: With this and the completion of VLM and the playlist managing system VLC will have the capabilities to become a fully featured PVR system with the massive advantage of it being run off a streaming server if need be.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WinCE Port ==&lt;br /&gt;
* &#039;&#039;&#039;Project page: [[SoC 2008/WinCE Port]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Student&#039;&#039;&#039;: [[User:Geal|Geoffroy Couprie]]&lt;br /&gt;
* &#039;&#039;&#039;Mentor&#039;&#039;&#039;: Jérôme Decoodt&lt;br /&gt;
* &#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
:The VLC media player has been port to many different platforms, but it lacks Windows CE support since some versions. This project aims at making VLC work on a Windows CE platform, with a few features:&lt;br /&gt;
:*RTSP&lt;br /&gt;
:*H264&lt;br /&gt;
:*Snapshots&lt;br /&gt;
:*Playlist&lt;br /&gt;
:*Rebuild of interface to adapt it to small screens&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2008/WinCE_Port&amp;diff=11337</id>
		<title>SoC 2008/WinCE Port</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2008/WinCE_Port&amp;diff=11337"/>
		<updated>2008-04-22T19:18:35Z</updated>

		<summary type="html">&lt;p&gt;Plouj: added to category, and moved personal info to the userpage&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoCProject|year=2008|student=[[User:Geal|Geoffroy Couprie]]|mentor=Jérôme Decoodt}}&lt;br /&gt;
&lt;br /&gt;
=WinCE Port of VLC=&lt;br /&gt;
&lt;br /&gt;
==Abstract==&lt;br /&gt;
&lt;br /&gt;
The VLC media player has been port to many different platforms, but it lacks Windows CE support since some versions. This project aims at making VLC work on a Windows CE platform, with a few features:&lt;br /&gt;
*RTSP&lt;br /&gt;
*H264&lt;br /&gt;
*Snapshots&lt;br /&gt;
*Playlist&lt;br /&gt;
*Rebuild of interface to adapt it to small screens&lt;br /&gt;
&lt;br /&gt;
==Calendar==&lt;br /&gt;
&#039;&#039;&#039;May 26 :&#039;&#039;&#039; Beginning of SoC&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;May 27 :&#039;&#039;&#039; Beginning of holidays&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;July 14 :&#039;&#039;&#039; Mid-term evaluations deadline&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;September 1 :&#039;&#039;&#039; Final evaluation deadline&lt;br /&gt;
&lt;br /&gt;
==What will be used==&lt;br /&gt;
This is the list of the tools that will be used to achieve this project:&lt;br /&gt;
*[http://www.cygwin.com/| Cygwin], a Linux-like environment for Windows&lt;br /&gt;
*[http://cegcc.sourceforge.net/| CeGCC], a cross-compiler for Windows CE based devices&lt;br /&gt;
*[http://msdn2.microsoft.com/fr-fr/vstudio/default.aspx| Microsoft Visual Studio 2008] as IDE&lt;br /&gt;
*[http://msdn2.microsoft.com/fr-fr/library/aa188148.aspx| Microsoft Device Emulator], an emulator for Windows CE and Windows Mobile devices&lt;br /&gt;
*a [http://www.htc.com/FR/Product.aspx?id=16394| HTC P3600 Trinity], for the tests on real hardware&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=User:Geal&amp;diff=11336</id>
		<title>User:Geal</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=User:Geal&amp;diff=11336"/>
		<updated>2008-04-22T19:17:47Z</updated>

		<summary type="html">&lt;p&gt;Plouj: New page: &amp;#039;&amp;#039;&amp;#039;Name :&amp;#039;&amp;#039;&amp;#039; Geoffroy Couprie  &amp;#039;&amp;#039;&amp;#039;Country :&amp;#039;&amp;#039;&amp;#039; France  &amp;#039;&amp;#039;&amp;#039;University :&amp;#039;&amp;#039;&amp;#039; Ecole Centrale de Lille&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Name :&#039;&#039;&#039; Geoffroy Couprie&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Country :&#039;&#039;&#039; France&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;University :&#039;&#039;&#039; Ecole Centrale de Lille&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2008/Qt_improvements&amp;diff=11335</id>
		<title>SoC 2008/Qt improvements</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2008/Qt_improvements&amp;diff=11335"/>
		<updated>2008-04-22T19:13:10Z</updated>

		<summary type="html">&lt;p&gt;Plouj: added to category, and moved personal info to the userpage&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoCProject|year=2008|student=[[User:Lukas.durfina|Lukas Durfina]]|mentor=[[User:J-b|Jean-Baptiste Kempf]]}}&lt;br /&gt;
&lt;br /&gt;
== GSoC - QT improvements ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Goals of my project:&lt;br /&gt;
   Fullscreen controller for Linux and Windows&lt;br /&gt;
   make VLC interface for Phonon to provide it as backend&lt;br /&gt;
   playlist enhancements&lt;br /&gt;
&lt;br /&gt;
== Work timetable ==&lt;br /&gt;
Start working: middle of May (probably 19th)&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=User:Lukas.durfina&amp;diff=11334</id>
		<title>User:Lukas.durfina</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=User:Lukas.durfina&amp;diff=11334"/>
		<updated>2008-04-22T19:12:31Z</updated>

		<summary type="html">&lt;p&gt;Plouj: New page: My name is Lukas Durfina, on IRC _lukas.  I am from Slovakia and 21 years old.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My name is Lukas Durfina, on IRC _lukas.&lt;br /&gt;
&lt;br /&gt;
I am from Slovakia and 21 years old.&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11333</id>
		<title>SoC 2008/PanoramaViewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11333"/>
		<updated>2008-04-22T19:09:38Z</updated>

		<summary type="html">&lt;p&gt;Plouj: added to category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoCProject|year=2008|student=[[User:Plouj|Michael Plounikov]]|mentor=[[User:Dionoea|Antoine Cellerier]]}}&lt;br /&gt;
&lt;br /&gt;
= Google Summer of Code 2008 =&lt;br /&gt;
== Panorama Viewing ==&lt;br /&gt;
=== Abstract ===&lt;br /&gt;
The goal of this project is to make VLC a one-stop solution for viewing panoramas of various formats. Currently, FreePV is the best/only cross-platform, non-proprietary solution for viewing QuickTimeVR and plain image panoramas. However it suffers from a few drawbacks, which include difficult installation, browser plug-in conflicts and low popularity. The intent is to integrate the FreePV rendering code with VLC. This should not only automatically alleviate installation difficulty and plug-in conflicts, but also bring panorama viewing to a much larger audience.&lt;br /&gt;
This project will initially focus on basic support for QTVR files and equirectangular images.&lt;br /&gt;
&lt;br /&gt;
=== Detailed Description ===&lt;br /&gt;
The way I see it, based on rudimentary knowledge of the VLC internals, is that technically this project is about writing a codec to handle QTVR and an output module for viewing frames projected onto the inside of a rotatable OpenGL sphere.&lt;br /&gt;
&lt;br /&gt;
==== My Commitment ====&lt;br /&gt;
I&#039;m committed to work at least 40 hours per week for the duration of the GSoC on this project except for one week (to be determined) when I will be gone on vacation.&lt;br /&gt;
&lt;br /&gt;
==== Collaboration with the FreePV dev team ====&lt;br /&gt;
Since this project was born out of an explicit idea[http://thread.gmane.org/gmane.comp.video.videolan.vlc.devel/35336] from the FreePV developers and because they promised it in a private e-mail I am certain that they are willing to help me in this project as best they can.&lt;br /&gt;
&lt;br /&gt;
==== Plan ====&lt;br /&gt;
This plan is based on the dates in the [http://code.google.com/opensource/gsoc/2008/faqs.html#0.1_timeline GSoC 2008 timeline]&lt;br /&gt;
* &#039;&#039;&#039;March 31&#039;&#039;&#039; - week 1&lt;br /&gt;
* write e-mails to the hugin and vlc-devel mailing lists asking for suggestions/ideas&lt;br /&gt;
* &#039;&#039;&#039;April 7&#039;&#039;&#039; - week 2&lt;br /&gt;
* study for exams and finish school assignments&lt;br /&gt;
* write a patch for VLC&lt;br /&gt;
* &#039;&#039;&#039;April 14&#039;&#039;&#039; - week 3&lt;br /&gt;
* &#039;&#039;&#039;April 21&#039;&#039;&#039; - week 4&lt;br /&gt;
* figure out the interaction requirements for panorama viewing and how this will affect VLC as a whole&lt;br /&gt;
* decide (along with other developers) how FreePV can be turned into a stand-alone, (separately developed or as part of the VLC projects) library that can be used by VLC to display panoramas&lt;br /&gt;
* think about how panorama viewing fits in with VLC. Maybe it should act as a codec for QTVR files, but it should also be able to use any 2d images/frames for panoramas (act as an output module?).&lt;br /&gt;
* make a list of QTVR functionality present in FreePV - aim to replicate this list in VLC&lt;br /&gt;
* identify which parts of FreePV can be used as a VLC module&lt;br /&gt;
* &#039;&#039;&#039;April 28&#039;&#039;&#039; - week 5&lt;br /&gt;
* learn to write a codec/demuxer module&lt;br /&gt;
* write a plant of what will need to be changed/added in/to VLC&lt;br /&gt;
* by now I should have a good idea of how things fit together&lt;br /&gt;
* &#039;&#039;&#039;May 5&#039;&#039;&#039; - week 6&lt;br /&gt;
* get an understanding of the QTVR format (possible start: http://developer.apple.com/documentation/QuickTime/InsideQT_QTVR/6Chap/chapter_6_section_1.html and the [http://freepv.sourceforge.net/ FreePV] code)&lt;br /&gt;
* &#039;&#039;&#039;May 12&#039;&#039;&#039; - week 7&lt;br /&gt;
* &#039;&#039;&#039;May 19&#039;&#039;&#039; - week 8&lt;br /&gt;
* &#039;&#039;&#039;May 26&#039;&#039;&#039; - week 9 - Students begin coding for their GSoC projects;&lt;br /&gt;
* &#039;&#039;&#039;June 2&#039;&#039;&#039; - week 10&lt;br /&gt;
* &#039;&#039;&#039;June 9&#039;&#039;&#039; - week 11&lt;br /&gt;
* &#039;&#039;&#039;June 16&#039;&#039;&#039; - week 12&lt;br /&gt;
* &#039;&#039;&#039;June 23&#039;&#039;&#039; - week 13&lt;br /&gt;
* libfreepv should exist and be usable in VLC&lt;br /&gt;
* &#039;&#039;&#039;June 30&#039;&#039;&#039; - week 14&lt;br /&gt;
* simple QTVRs should be viewable by now&lt;br /&gt;
* &#039;&#039;&#039;July 7&#039;&#039;&#039; - week 15&lt;br /&gt;
* &#039;&#039;&#039;July 14&#039;&#039;&#039; - week 16 - Mid-term evaluations deadline;&lt;br /&gt;
* &#039;&#039;&#039;July 21&#039;&#039;&#039; - week 17&lt;br /&gt;
* should be able to view image (.PNG, .JPG,...) panoramas&lt;br /&gt;
* &#039;&#039;&#039;July 28&#039;&#039;&#039; - week 18&lt;br /&gt;
* should support a number of different projections and do everything that FreePV can with QTVR&lt;br /&gt;
* &#039;&#039;&#039;August 4&#039;&#039;&#039; - week 19&lt;br /&gt;
* &#039;&#039;&#039;August 11&#039;&#039;&#039; - week 20&lt;br /&gt;
* &#039;&#039;&#039;August 18&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Module Options ====&lt;br /&gt;
* type of panorama: equirectangular,cylindrical,littleplanet,cubic...&lt;br /&gt;
* default FOV aka zoom&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2008_projects&amp;diff=11332</id>
		<title>SoC 2008 projects</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2008_projects&amp;diff=11332"/>
		<updated>2008-04-22T19:03:58Z</updated>

		<summary type="html">&lt;p&gt;Plouj: /* Qt improvements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here is a list of the accepted projects for Google Summer of Code 2OO8.&lt;br /&gt;
&lt;br /&gt;
= List of current projects =&lt;br /&gt;
&lt;br /&gt;
== Panorama Viewing ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Project page: [[SoC 2008/PanoramaViewing]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Student&#039;&#039;&#039;: [[User:Plouj|Michael Ploujnikov]]&lt;br /&gt;
* &#039;&#039;&#039;Mentor&#039;&#039;&#039;: Yuval Levy, [[User:J-b|Jean-Baptiste Kempf]], [[User:Dionoea|Antoine Cellerier]]&lt;br /&gt;
* &#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
: The goal of this project is to make VLC a one-stop solution for viewing panoramas of various formats. Currently, FreePV is the best/only cross-platform, non-proprietary solution for viewing QuickTimeVR and plain image panoramas. However it suffers from a few drawbacks, which include difficult installation, browser plug-in conflicts and low popularity. The intent is to integrate the FreePV rendering code with VLC. This should not only automatically alleviate installation difficulty and plug-in conflicts, but also bring panorama viewing to a much larger audience. This project will initially focus on basic support for QTVR files and equirectangular images.&lt;br /&gt;
&lt;br /&gt;
== Qt improvements ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Project page: [[SoC 2008/Qt improvements]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Student&#039;&#039;&#039;: Lukas Durfina&lt;br /&gt;
* &#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:J-b|Jean-Baptiste Kempf]]&lt;br /&gt;
* &#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
: In my project I should do fullscreen controller, backend for Phonon and playlist improvements. FS controller have to be clickable, dragable with all VLC functionality. Phonon backend will help spread VLC and support its using by other developers. And finally I will upgrade playlist, fix and update DragAndDrop and other bugs.&lt;br /&gt;
&lt;br /&gt;
== Enhance PVR capabilities of VLC ==&lt;br /&gt;
* &#039;&#039;&#039;Project page: [[SoC 2008/Enhance PVR capabilities of VLC]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Student&#039;&#039;&#039;: [[User:Dylan|Dylan Yudaken]]&lt;br /&gt;
* &#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:Pdherbemont|Pierre d&#039;Herbemont]]&lt;br /&gt;
* &#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
: VLC has fast become one of the most common video players available for &#039;non-technical&#039; users. The ability to watch streams easily and efficiently is a huge advantage for VLC. The ability to timeshift streams has been added to the latest unstable builds, however it is vastly underfeatured and not nearly ready for release. The features would enhance VLC to a new level which would allow a new set of users to use it.&lt;br /&gt;
&lt;br /&gt;
: I propose to extend &amp;amp; improve the PVR capabilities of VLC. The current version is severely lacking in functionality and performance. There is a very basic timeshift capability already. To this I will add the ability to randomly seek through the buffer (fast forward, rewind, etc ). The ability to save buffers and continue recording to the new file will be added. These recordings will be in any chosen format. These features will help anyone who uses VLC to watch TV shows to easily turn their client into a MythTV/Media Centre style client.  &lt;br /&gt;
: I will tie the module in with the user interface properly so that the state of the buffer and the current position can be easily seen. &lt;br /&gt;
: I then plan to begin work on a framework that combines all of these features into a simple interface easily accessible with a remote control. The interface will combine VLM and the media library into a single easily accesible place. The interface will have the ability to &#039;talk&#039; to the server sending commands such as changing tv channel or switching input source.&lt;br /&gt;
&lt;br /&gt;
: With this and the completion of VLM and the playlist managing system VLC will have the capabilities to become a fully featured PVR system with the massive advantage of it being run off a streaming server if need be.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WinCE Port ==&lt;br /&gt;
* &#039;&#039;&#039;Project page: [[SoC 2008/WinCE Port]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Student&#039;&#039;&#039;: [[User:Geal|Geoffroy Couprie]]&lt;br /&gt;
* &#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[Jérôme Decoodt]]&lt;br /&gt;
* &#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
:The VLC media player has been port to many different platforms, but it lacks Windows CE support since some versions. This project aims at making VLC work on a Windows CE platform, with a few features:&lt;br /&gt;
:*RTSP&lt;br /&gt;
:*H264&lt;br /&gt;
:*Snapshots&lt;br /&gt;
:*Playlist&lt;br /&gt;
:*Rebuild of interface to adapt it to small screens&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2008_projects&amp;diff=11331</id>
		<title>SoC 2008 projects</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2008_projects&amp;diff=11331"/>
		<updated>2008-04-22T19:03:30Z</updated>

		<summary type="html">&lt;p&gt;Plouj: /* List of current projects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here is a list of the accepted projects for Google Summer of Code 2OO8.&lt;br /&gt;
&lt;br /&gt;
= List of current projects =&lt;br /&gt;
&lt;br /&gt;
== Panorama Viewing ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Project page: [[SoC 2008/PanoramaViewing]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Student&#039;&#039;&#039;: [[User:Plouj|Michael Ploujnikov]]&lt;br /&gt;
* &#039;&#039;&#039;Mentor&#039;&#039;&#039;: Yuval Levy, [[User:J-b|Jean-Baptiste Kempf]], [[User:Dionoea|Antoine Cellerier]]&lt;br /&gt;
* &#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
: The goal of this project is to make VLC a one-stop solution for viewing panoramas of various formats. Currently, FreePV is the best/only cross-platform, non-proprietary solution for viewing QuickTimeVR and plain image panoramas. However it suffers from a few drawbacks, which include difficult installation, browser plug-in conflicts and low popularity. The intent is to integrate the FreePV rendering code with VLC. This should not only automatically alleviate installation difficulty and plug-in conflicts, but also bring panorama viewing to a much larger audience. This project will initially focus on basic support for QTVR files and equirectangular images.&lt;br /&gt;
&lt;br /&gt;
== Qt improvements ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Project page: [[SoC_2008/Qt_improvements]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Student&#039;&#039;&#039;: Lukas Durfina&lt;br /&gt;
* &#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:J-b|Jean-Baptiste Kempf]]&lt;br /&gt;
* &#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
: In my project I should do fullscreen controller, backend for Phonon and playlist improvements. FS controller have to be clickable, dragable with all VLC functionality. Phonon backend will help spread VLC and support its using by other developers. And finally I will upgrade playlist, fix and update DragAndDrop and other bugs.&lt;br /&gt;
&lt;br /&gt;
== Enhance PVR capabilities of VLC ==&lt;br /&gt;
* &#039;&#039;&#039;Project page: [[SoC 2008/Enhance PVR capabilities of VLC]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Student&#039;&#039;&#039;: [[User:Dylan|Dylan Yudaken]]&lt;br /&gt;
* &#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:Pdherbemont|Pierre d&#039;Herbemont]]&lt;br /&gt;
* &#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
: VLC has fast become one of the most common video players available for &#039;non-technical&#039; users. The ability to watch streams easily and efficiently is a huge advantage for VLC. The ability to timeshift streams has been added to the latest unstable builds, however it is vastly underfeatured and not nearly ready for release. The features would enhance VLC to a new level which would allow a new set of users to use it.&lt;br /&gt;
&lt;br /&gt;
: I propose to extend &amp;amp; improve the PVR capabilities of VLC. The current version is severely lacking in functionality and performance. There is a very basic timeshift capability already. To this I will add the ability to randomly seek through the buffer (fast forward, rewind, etc ). The ability to save buffers and continue recording to the new file will be added. These recordings will be in any chosen format. These features will help anyone who uses VLC to watch TV shows to easily turn their client into a MythTV/Media Centre style client.  &lt;br /&gt;
: I will tie the module in with the user interface properly so that the state of the buffer and the current position can be easily seen. &lt;br /&gt;
: I then plan to begin work on a framework that combines all of these features into a simple interface easily accessible with a remote control. The interface will combine VLM and the media library into a single easily accesible place. The interface will have the ability to &#039;talk&#039; to the server sending commands such as changing tv channel or switching input source.&lt;br /&gt;
&lt;br /&gt;
: With this and the completion of VLM and the playlist managing system VLC will have the capabilities to become a fully featured PVR system with the massive advantage of it being run off a streaming server if need be.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WinCE Port ==&lt;br /&gt;
* &#039;&#039;&#039;Project page: [[SoC 2008/WinCE Port]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Student&#039;&#039;&#039;: [[User:Geal|Geoffroy Couprie]]&lt;br /&gt;
* &#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[Jérôme Decoodt]]&lt;br /&gt;
* &#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
:The VLC media player has been port to many different platforms, but it lacks Windows CE support since some versions. This project aims at making VLC work on a Windows CE platform, with a few features:&lt;br /&gt;
:*RTSP&lt;br /&gt;
:*H264&lt;br /&gt;
:*Snapshots&lt;br /&gt;
:*Playlist&lt;br /&gt;
:*Rebuild of interface to adapt it to small screens&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2008_projects/WinCE_Port&amp;diff=11330</id>
		<title>SoC 2008 projects/WinCE Port</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2008_projects/WinCE_Port&amp;diff=11330"/>
		<updated>2008-04-22T18:59:08Z</updated>

		<summary type="html">&lt;p&gt;Plouj: SoC 2008 projects/WinCE Port moved to SoC 2008/WinCE Port: to match other pages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[SoC 2008/WinCE Port]]&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2008/WinCE_Port&amp;diff=11329</id>
		<title>SoC 2008/WinCE Port</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2008/WinCE_Port&amp;diff=11329"/>
		<updated>2008-04-22T18:59:08Z</updated>

		<summary type="html">&lt;p&gt;Plouj: SoC 2008 projects/WinCE Port moved to SoC 2008/WinCE Port: to match other pages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=WinCE Port of VLC=&lt;br /&gt;
&lt;br /&gt;
==Abstract==&lt;br /&gt;
&lt;br /&gt;
The VLC media player has been port to many different platforms, but it lacks Windows CE support since some versions. This project aims at making VLC work on a Windows CE platform, with a few features:&lt;br /&gt;
*RTSP&lt;br /&gt;
*H264&lt;br /&gt;
*Snapshots&lt;br /&gt;
*Playlist&lt;br /&gt;
*Rebuild of interface to adapt it to small screens&lt;br /&gt;
&lt;br /&gt;
==Student==&lt;br /&gt;
&#039;&#039;&#039;Name :&#039;&#039;&#039; [[User:Geal|Geoffroy Couprie]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Country :&#039;&#039;&#039; France&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;University :&#039;&#039;&#039; Ecole Centrale de Lille&lt;br /&gt;
&lt;br /&gt;
==Mentor==&lt;br /&gt;
&#039;&#039;&#039;Name :&#039;&#039;&#039; Jérôme Decoodt&lt;br /&gt;
&lt;br /&gt;
==Calendar==&lt;br /&gt;
&#039;&#039;&#039;May 26 :&#039;&#039;&#039; Beginning of SoC&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;May 27 :&#039;&#039;&#039; Beginning of holidays&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;July 14 :&#039;&#039;&#039; Mid-term evaluations deadline&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;September 1 :&#039;&#039;&#039; Final evaluation deadline&lt;br /&gt;
&lt;br /&gt;
==What will be used==&lt;br /&gt;
This is the list of the tools that will be used to achieve this project:&lt;br /&gt;
*[http://www.cygwin.com/| Cygwin], a Linux-like environment for Windows&lt;br /&gt;
*[http://cegcc.sourceforge.net/| CeGCC], a cross-compiler for Windows CE based devices&lt;br /&gt;
*[http://msdn2.microsoft.com/fr-fr/vstudio/default.aspx| Microsoft Visual Studio 2008] as IDE&lt;br /&gt;
*[http://msdn2.microsoft.com/fr-fr/library/aa188148.aspx| Microsoft Device Emulator], an emulator for Windows CE and Windows Mobile devices&lt;br /&gt;
*a [http://www.htc.com/FR/Product.aspx?id=16394| HTC P3600 Trinity], for the tests on real hardware&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2008_projects&amp;diff=11328</id>
		<title>SoC 2008 projects</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2008_projects&amp;diff=11328"/>
		<updated>2008-04-22T18:57:42Z</updated>

		<summary type="html">&lt;p&gt;Plouj: /* Panorama Viewing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here is a list of the accepted projects for Google Summer of Code 2OO8.&lt;br /&gt;
&lt;br /&gt;
= List of current projects =&lt;br /&gt;
&lt;br /&gt;
== Panorama Viewing ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Project page: [[SoC 2008/PanoramaViewing]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Student&#039;&#039;&#039;: [[User:Plouj|Michael Ploujnikov]]&lt;br /&gt;
* &#039;&#039;&#039;Mentor&#039;&#039;&#039;: Yuval Levy, [[User:J-b|Jean-Baptiste Kempf]], [[User:Dionoea|Antoine Cellerier]]&lt;br /&gt;
* &#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
: The goal of this project is to make VLC a one-stop solution for viewing panoramas of various formats. Currently, FreePV is the best/only cross-platform, non-proprietary solution for viewing QuickTimeVR and plain image panoramas. However it suffers from a few drawbacks, which include difficult installation, browser plug-in conflicts and low popularity. The intent is to integrate the FreePV rendering code with VLC. This should not only automatically alleviate installation difficulty and plug-in conflicts, but also bring panorama viewing to a much larger audience. This project will initially focus on basic support for QTVR files and equirectangular images.&lt;br /&gt;
&lt;br /&gt;
== Qt improvements ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Project page: [[SoC_2008/Qt_improvements]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Student&#039;&#039;&#039;: Lukas Durfina&lt;br /&gt;
* &#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:J-b|Jean-Baptiste Kempf]]&lt;br /&gt;
* &#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
: In my project I should do fullscreen controller, backend for Phonon and playlist improvements. FS controller have to be clickable, dragable with all VLC functionality. Phonon backend will help spread VLC and support its using by other developers. And finally I will upgrade playlist, fix and update DragAndDrop and other bugs.&lt;br /&gt;
&lt;br /&gt;
== Enhance PVR capabilities of VLC ==&lt;br /&gt;
* &#039;&#039;&#039;Project page: [[SoC 2008/Enhance PVR capabilities of VLC]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Student&#039;&#039;&#039;: [[User:Dylan|Dylan Yudaken]]&lt;br /&gt;
* &#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:Pdherbemont|Pierre d&#039;Herbemont]]&lt;br /&gt;
* &#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
: VLC has fast become one of the most common video players available for &#039;non-technical&#039; users. The ability to watch streams easily and efficiently is a huge advantage for VLC. The ability to timeshift streams has been added to the latest unstable builds, however it is vastly underfeatured and not nearly ready for release. The features would enhance VLC to a new level which would allow a new set of users to use it.&lt;br /&gt;
&lt;br /&gt;
: I propose to extend &amp;amp; improve the PVR capabilities of VLC. The current version is severely lacking in functionality and performance. There is a very basic timeshift capability already. To this I will add the ability to randomly seek through the buffer (fast forward, rewind, etc ). The ability to save buffers and continue recording to the new file will be added. These recordings will be in any chosen format. These features will help anyone who uses VLC to watch TV shows to easily turn their client into a MythTV/Media Centre style client.  &lt;br /&gt;
: I will tie the module in with the user interface properly so that the state of the buffer and the current position can be easily seen. &lt;br /&gt;
: I then plan to begin work on a framework that combines all of these features into a simple interface easily accessible with a remote control. The interface will combine VLM and the media library into a single easily accesible place. The interface will have the ability to &#039;talk&#039; to the server sending commands such as changing tv channel or switching input source.&lt;br /&gt;
&lt;br /&gt;
: With this and the completion of VLM and the playlist managing system VLC will have the capabilities to become a fully featured PVR system with the massive advantage of it being run off a streaming server if need be.&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2008_projects/PanoramaViewing&amp;diff=11327</id>
		<title>SoC 2008 projects/PanoramaViewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2008_projects/PanoramaViewing&amp;diff=11327"/>
		<updated>2008-04-22T18:57:06Z</updated>

		<summary type="html">&lt;p&gt;Plouj: SoC 2008 projects/PanoramaViewing moved to SoC 2008/PanoramaViewing: to match the other pages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[SoC 2008/PanoramaViewing]]&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11326</id>
		<title>SoC 2008/PanoramaViewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11326"/>
		<updated>2008-04-22T18:57:06Z</updated>

		<summary type="html">&lt;p&gt;Plouj: SoC 2008 projects/PanoramaViewing moved to SoC 2008/PanoramaViewing: to match the other pages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Google Summer of Code 2008 =&lt;br /&gt;
== Panorama Viewing ==&lt;br /&gt;
=== Abstract ===&lt;br /&gt;
The goal of this project is to make VLC a one-stop solution for viewing panoramas of various formats. Currently, FreePV is the best/only cross-platform, non-proprietary solution for viewing QuickTimeVR and plain image panoramas. However it suffers from a few drawbacks, which include difficult installation, browser plug-in conflicts and low popularity. The intent is to integrate the FreePV rendering code with VLC. This should not only automatically alleviate installation difficulty and plug-in conflicts, but also bring panorama viewing to a much larger audience.&lt;br /&gt;
This project will initially focus on basic support for QTVR files and equirectangular images.&lt;br /&gt;
&lt;br /&gt;
=== Detailed Description ===&lt;br /&gt;
The way I see it, based on rudimentary knowledge of the VLC internals, is that technically this project is about writing a codec to handle QTVR and an output module for viewing frames projected onto the inside of a rotatable OpenGL sphere.&lt;br /&gt;
&lt;br /&gt;
==== My Commitment ====&lt;br /&gt;
I&#039;m committed to work at least 40 hours per week for the duration of the GSoC on this project except for one week (to be determined) when I will be gone on vacation.&lt;br /&gt;
&lt;br /&gt;
==== Collaboration with the FreePV dev team ====&lt;br /&gt;
Since this project was born out of an explicit idea[http://thread.gmane.org/gmane.comp.video.videolan.vlc.devel/35336] from the FreePV developers and because they promised it in a private e-mail I am certain that they are willing to help me in this project as best they can.&lt;br /&gt;
&lt;br /&gt;
==== Plan ====&lt;br /&gt;
This plan is based on the dates in the [http://code.google.com/opensource/gsoc/2008/faqs.html#0.1_timeline GSoC 2008 timeline]&lt;br /&gt;
* &#039;&#039;&#039;March 31&#039;&#039;&#039; - week 1&lt;br /&gt;
* write e-mails to the hugin and vlc-devel mailing lists asking for suggestions/ideas&lt;br /&gt;
* &#039;&#039;&#039;April 7&#039;&#039;&#039; - week 2&lt;br /&gt;
* study for exams and finish school assignments&lt;br /&gt;
* write a patch for VLC&lt;br /&gt;
* &#039;&#039;&#039;April 14&#039;&#039;&#039; - week 3&lt;br /&gt;
* &#039;&#039;&#039;April 21&#039;&#039;&#039; - week 4&lt;br /&gt;
* figure out the interaction requirements for panorama viewing and how this will affect VLC as a whole&lt;br /&gt;
* decide (along with other developers) how FreePV can be turned into a stand-alone, (separately developed or as part of the VLC projects) library that can be used by VLC to display panoramas&lt;br /&gt;
* think about how panorama viewing fits in with VLC. Maybe it should act as a codec for QTVR files, but it should also be able to use any 2d images/frames for panoramas (act as an output module?).&lt;br /&gt;
* make a list of QTVR functionality present in FreePV - aim to replicate this list in VLC&lt;br /&gt;
* identify which parts of FreePV can be used as a VLC module&lt;br /&gt;
* &#039;&#039;&#039;April 28&#039;&#039;&#039; - week 5&lt;br /&gt;
* learn to write a codec/demuxer module&lt;br /&gt;
* write a plant of what will need to be changed/added in/to VLC&lt;br /&gt;
* by now I should have a good idea of how things fit together&lt;br /&gt;
* &#039;&#039;&#039;May 5&#039;&#039;&#039; - week 6&lt;br /&gt;
* get an understanding of the QTVR format (possible start: http://developer.apple.com/documentation/QuickTime/InsideQT_QTVR/6Chap/chapter_6_section_1.html and the [http://freepv.sourceforge.net/ FreePV] code)&lt;br /&gt;
* &#039;&#039;&#039;May 12&#039;&#039;&#039; - week 7&lt;br /&gt;
* &#039;&#039;&#039;May 19&#039;&#039;&#039; - week 8&lt;br /&gt;
* &#039;&#039;&#039;May 26&#039;&#039;&#039; - week 9 - Students begin coding for their GSoC projects;&lt;br /&gt;
* &#039;&#039;&#039;June 2&#039;&#039;&#039; - week 10&lt;br /&gt;
* &#039;&#039;&#039;June 9&#039;&#039;&#039; - week 11&lt;br /&gt;
* &#039;&#039;&#039;June 16&#039;&#039;&#039; - week 12&lt;br /&gt;
* &#039;&#039;&#039;June 23&#039;&#039;&#039; - week 13&lt;br /&gt;
* libfreepv should exist and be usable in VLC&lt;br /&gt;
* &#039;&#039;&#039;June 30&#039;&#039;&#039; - week 14&lt;br /&gt;
* simple QTVRs should be viewable by now&lt;br /&gt;
* &#039;&#039;&#039;July 7&#039;&#039;&#039; - week 15&lt;br /&gt;
* &#039;&#039;&#039;July 14&#039;&#039;&#039; - week 16 - Mid-term evaluations deadline;&lt;br /&gt;
* &#039;&#039;&#039;July 21&#039;&#039;&#039; - week 17&lt;br /&gt;
* should be able to view image (.PNG, .JPG,...) panoramas&lt;br /&gt;
* &#039;&#039;&#039;July 28&#039;&#039;&#039; - week 18&lt;br /&gt;
* should support a number of different projections and do everything that FreePV can with QTVR&lt;br /&gt;
* &#039;&#039;&#039;August 4&#039;&#039;&#039; - week 19&lt;br /&gt;
* &#039;&#039;&#039;August 11&#039;&#039;&#039; - week 20&lt;br /&gt;
* &#039;&#039;&#039;August 18&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Module Options ====&lt;br /&gt;
* type of panorama: equirectangular,cylindrical,littleplanet,cubic...&lt;br /&gt;
* default FOV aka zoom&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2008_projects&amp;diff=11325</id>
		<title>SoC 2008 projects</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2008_projects&amp;diff=11325"/>
		<updated>2008-04-22T18:56:06Z</updated>

		<summary type="html">&lt;p&gt;Plouj: /* List of current projects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here is a list of the accepted projects for Google Summer of Code 2OO8.&lt;br /&gt;
&lt;br /&gt;
= List of current projects =&lt;br /&gt;
&lt;br /&gt;
== Panorama Viewing ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Project page: [[SoC 2008 projects/PanoramaViewing]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Student&#039;&#039;&#039;: [[User:Plouj|Michael Ploujnikov]]&lt;br /&gt;
* &#039;&#039;&#039;Mentor&#039;&#039;&#039;: Yuval Levy, [[User:J-b|Jean-Baptiste Kempf]], [[User:Dionoea|Antoine Cellerier]]&lt;br /&gt;
* &#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
: The goal of this project is to make VLC a one-stop solution for viewing panoramas of various formats. Currently, FreePV is the best/only cross-platform, non-proprietary solution for viewing QuickTimeVR and plain image panoramas. However it suffers from a few drawbacks, which include difficult installation, browser plug-in conflicts and low popularity. The intent is to integrate the FreePV rendering code with VLC. This should not only automatically alleviate installation difficulty and plug-in conflicts, but also bring panorama viewing to a much larger audience. This project will initially focus on basic support for QTVR files and equirectangular images.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Qt improvements ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Project page: [[SoC_2008/Qt_improvements]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Student&#039;&#039;&#039;: Lukas Durfina&lt;br /&gt;
* &#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:J-b|Jean-Baptiste Kempf]]&lt;br /&gt;
* &#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
: In my project I should do fullscreen controller, backend for Phonon and playlist improvements. FS controller have to be clickable, dragable with all VLC functionality. Phonon backend will help spread VLC and support its using by other developers. And finally I will upgrade playlist, fix and update DragAndDrop and other bugs.&lt;br /&gt;
&lt;br /&gt;
== Enhance PVR capabilities of VLC ==&lt;br /&gt;
* &#039;&#039;&#039;Project page: [[SoC 2008/Enhance PVR capabilities of VLC]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Student&#039;&#039;&#039;: [[User:Dylan|Dylan Yudaken]]&lt;br /&gt;
* &#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:Pdherbemont|Pierre d&#039;Herbemont]]&lt;br /&gt;
* &#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
: VLC has fast become one of the most common video players available for &#039;non-technical&#039; users. The ability to watch streams easily and efficiently is a huge advantage for VLC. The ability to timeshift streams has been added to the latest unstable builds, however it is vastly underfeatured and not nearly ready for release. The features would enhance VLC to a new level which would allow a new set of users to use it.&lt;br /&gt;
&lt;br /&gt;
: I propose to extend &amp;amp; improve the PVR capabilities of VLC. The current version is severely lacking in functionality and performance. There is a very basic timeshift capability already. To this I will add the ability to randomly seek through the buffer (fast forward, rewind, etc ). The ability to save buffers and continue recording to the new file will be added. These recordings will be in any chosen format. These features will help anyone who uses VLC to watch TV shows to easily turn their client into a MythTV/Media Centre style client.  &lt;br /&gt;
: I will tie the module in with the user interface properly so that the state of the buffer and the current position can be easily seen. &lt;br /&gt;
: I then plan to begin work on a framework that combines all of these features into a simple interface easily accessible with a remote control. The interface will combine VLM and the media library into a single easily accesible place. The interface will have the ability to &#039;talk&#039; to the server sending commands such as changing tv channel or switching input source.&lt;br /&gt;
&lt;br /&gt;
: With this and the completion of VLM and the playlist managing system VLC will have the capabilities to become a fully featured PVR system with the massive advantage of it being run off a streaming server if need be.&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=User:Plouj&amp;diff=11323</id>
		<title>User:Plouj</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=User:Plouj&amp;diff=11323"/>
		<updated>2008-04-22T18:48:08Z</updated>

		<summary type="html">&lt;p&gt;Plouj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My name is Michael Ploujnikov and I am currently a student at the [http://www.yorku.ca/ York University of Canada].&lt;br /&gt;
&lt;br /&gt;
My personal website is http://plouj.com/&lt;br /&gt;
&lt;br /&gt;
[[SoC 2008 projects/PanoramaViewing]]&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2008_projects&amp;diff=11307</id>
		<title>SoC 2008 projects</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2008_projects&amp;diff=11307"/>
		<updated>2008-04-22T14:14:41Z</updated>

		<summary type="html">&lt;p&gt;Plouj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here is a list of the accepted projects for Google Summer of Code 2OO8.&lt;br /&gt;
&lt;br /&gt;
= List of current projects =&lt;br /&gt;
&lt;br /&gt;
== Panorama Viewing ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Project page: [[SoC 2008 projects/PanoramaViewing]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Student&#039;&#039;&#039;: [[User:Plouj|Michael Ploujnikov]]&lt;br /&gt;
* &#039;&#039;&#039;Mentor&#039;&#039;&#039;: Yuval Levy, [[User:J-b|Jean-Baptiste Kempf]], [[User:Dionoea|Antoine Cellerier]]&lt;br /&gt;
* &#039;&#039;&#039;Abstract&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
: The goal of this project is to make VLC a one-stop solution for viewing panoramas of various formats. Currently, FreePV is the best/only cross-platform, non-proprietary solution for viewing QuickTimeVR and plain image panoramas. However it suffers from a few drawbacks, which include difficult installation, browser plug-in conflicts and low popularity. The intent is to integrate the FreePV rendering code with VLC. This should not only automatically alleviate installation difficulty and plug-in conflicts, but also bring panorama viewing to a much larger audience. This project will initially focus on basic support for QTVR files and equirectangular images.&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2008_projects/PanoramaViewer&amp;diff=11305</id>
		<title>SoC 2008 projects/PanoramaViewer</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2008_projects/PanoramaViewer&amp;diff=11305"/>
		<updated>2008-04-22T14:04:53Z</updated>

		<summary type="html">&lt;p&gt;Plouj: SoC 2008 projects/PanoramaViewer moved to SoC 2008 projects/PanoramaViewing: better title&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[SoC 2008 projects/PanoramaViewing]]&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11304</id>
		<title>SoC 2008/PanoramaViewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11304"/>
		<updated>2008-04-22T14:04:52Z</updated>

		<summary type="html">&lt;p&gt;Plouj: SoC 2008 projects/PanoramaViewer moved to SoC 2008 projects/PanoramaViewing: better title&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Google Summer of Code 2008 =&lt;br /&gt;
== Panorama Viewing ==&lt;br /&gt;
=== Abstract ===&lt;br /&gt;
The goal of this project is to make VLC a one-stop solution for viewing panoramas of various formats. Currently, FreePV is the best/only cross-platform, non-proprietary solution for viewing QuickTimeVR and plain image panoramas. However it suffers from a few drawbacks, which include difficult installation, browser plug-in conflicts and low popularity. The intent is to integrate the FreePV rendering code with VLC. This should not only automatically alleviate installation difficulty and plug-in conflicts, but also bring panorama viewing to a much larger audience.&lt;br /&gt;
This project will initially focus on basic support for QTVR files and equirectangular images.&lt;br /&gt;
&lt;br /&gt;
=== Detailed Description ===&lt;br /&gt;
The way I see it, based on rudimentary knowledge of the VLC internals, is that technically this project is about writing a codec to handle QTVR and an output module for viewing frames projected onto the inside of a rotatable OpenGL sphere.&lt;br /&gt;
&lt;br /&gt;
==== My Commitment ====&lt;br /&gt;
I&#039;m committed to work at least 40 hours per week for the duration of the GSoC on this project except for one week (to be determined) when I will be gone on vacation.&lt;br /&gt;
&lt;br /&gt;
==== Collaboration with the FreePV dev team ====&lt;br /&gt;
Since this project was born out of an explicit idea[http://thread.gmane.org/gmane.comp.video.videolan.vlc.devel/35336] from the FreePV developers and because they promised it in a private e-mail I am certain that they are willing to help me in this project as best they can.&lt;br /&gt;
&lt;br /&gt;
==== Plan ====&lt;br /&gt;
This plan is based on the dates in the [http://code.google.com/opensource/gsoc/2008/faqs.html#0.1_timeline GSoC 2008 timeline]&lt;br /&gt;
* &#039;&#039;&#039;March 31&#039;&#039;&#039; - week 1&lt;br /&gt;
* write e-mails to the hugin and vlc-devel mailing lists asking for suggestions/ideas&lt;br /&gt;
* &#039;&#039;&#039;April 7&#039;&#039;&#039; - week 2&lt;br /&gt;
* study for exams and finish school assignments&lt;br /&gt;
* write a patch for VLC&lt;br /&gt;
* &#039;&#039;&#039;April 14&#039;&#039;&#039; - week 3&lt;br /&gt;
* &#039;&#039;&#039;April 21&#039;&#039;&#039; - week 4&lt;br /&gt;
* figure out the interaction requirements for panorama viewing and how this will affect VLC as a whole&lt;br /&gt;
* decide (along with other developers) how FreePV can be turned into a stand-alone, (separately developed or as part of the VLC projects) library that can be used by VLC to display panoramas&lt;br /&gt;
* think about how panorama viewing fits in with VLC. Maybe it should act as a codec for QTVR files, but it should also be able to use any 2d images/frames for panoramas (act as an output module?).&lt;br /&gt;
* make a list of QTVR functionality present in FreePV - aim to replicate this list in VLC&lt;br /&gt;
* identify which parts of FreePV can be used as a VLC module&lt;br /&gt;
* &#039;&#039;&#039;April 28&#039;&#039;&#039; - week 5&lt;br /&gt;
* learn to write a codec/demuxer module&lt;br /&gt;
* write a plant of what will need to be changed/added in/to VLC&lt;br /&gt;
* by now I should have a good idea of how things fit together&lt;br /&gt;
* &#039;&#039;&#039;May 5&#039;&#039;&#039; - week 6&lt;br /&gt;
* get an understanding of the QTVR format (possible start: http://developer.apple.com/documentation/QuickTime/InsideQT_QTVR/6Chap/chapter_6_section_1.html and the [http://freepv.sourceforge.net/ FreePV] code)&lt;br /&gt;
* &#039;&#039;&#039;May 12&#039;&#039;&#039; - week 7&lt;br /&gt;
* &#039;&#039;&#039;May 19&#039;&#039;&#039; - week 8&lt;br /&gt;
* &#039;&#039;&#039;May 26&#039;&#039;&#039; - week 9 - Students begin coding for their GSoC projects;&lt;br /&gt;
* &#039;&#039;&#039;June 2&#039;&#039;&#039; - week 10&lt;br /&gt;
* &#039;&#039;&#039;June 9&#039;&#039;&#039; - week 11&lt;br /&gt;
* &#039;&#039;&#039;June 16&#039;&#039;&#039; - week 12&lt;br /&gt;
* &#039;&#039;&#039;June 23&#039;&#039;&#039; - week 13&lt;br /&gt;
* libfreepv should exist and be usable in VLC&lt;br /&gt;
* &#039;&#039;&#039;June 30&#039;&#039;&#039; - week 14&lt;br /&gt;
* simple QTVRs should be viewable by now&lt;br /&gt;
* &#039;&#039;&#039;July 7&#039;&#039;&#039; - week 15&lt;br /&gt;
* &#039;&#039;&#039;July 14&#039;&#039;&#039; - week 16 - Mid-term evaluations deadline;&lt;br /&gt;
* &#039;&#039;&#039;July 21&#039;&#039;&#039; - week 17&lt;br /&gt;
* should be able to view image (.PNG, .JPG,...) panoramas&lt;br /&gt;
* &#039;&#039;&#039;July 28&#039;&#039;&#039; - week 18&lt;br /&gt;
* should support a number of different projections and do everything that FreePV can with QTVR&lt;br /&gt;
* &#039;&#039;&#039;August 4&#039;&#039;&#039; - week 19&lt;br /&gt;
* &#039;&#039;&#039;August 11&#039;&#039;&#039; - week 20&lt;br /&gt;
* &#039;&#039;&#039;August 18&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Module Options ====&lt;br /&gt;
* type of panorama: equirectangular,cylindrical,littleplanet,cubic...&lt;br /&gt;
* default FOV aka zoom&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11301</id>
		<title>SoC 2008/PanoramaViewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11301"/>
		<updated>2008-04-22T13:58:05Z</updated>

		<summary type="html">&lt;p&gt;Plouj: User talk:Plouj moved to SoC 2008 projects/PanoramaViewer: more appropriate title&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Google Summer of Code 2008 =&lt;br /&gt;
== Panorama Viewing ==&lt;br /&gt;
=== Abstract ===&lt;br /&gt;
The goal of this project is to make VLC a one-stop solution for viewing panoramas of various formats. Currently, FreePV is the best/only cross-platform, non-proprietary solution for viewing QuickTimeVR and plain image panoramas. However it suffers from a few drawbacks, which include difficult installation, browser plug-in conflicts and low popularity. The intent is to integrate the FreePV rendering code with VLC. This should not only automatically alleviate installation difficulty and plug-in conflicts, but also bring panorama viewing to a much larger audience.&lt;br /&gt;
This project will initially focus on basic support for QTVR files and equirectangular images.&lt;br /&gt;
&lt;br /&gt;
=== Detailed Description ===&lt;br /&gt;
The way I see it, based on rudimentary knowledge of the VLC internals, is that technically this project is about writing a codec to handle QTVR and an output module for viewing frames projected onto the inside of a rotatable OpenGL sphere.&lt;br /&gt;
&lt;br /&gt;
==== My Commitment ====&lt;br /&gt;
I&#039;m committed to work at least 40 hours per week for the duration of the GSoC on this project except for one week (to be determined) when I will be gone on vacation.&lt;br /&gt;
&lt;br /&gt;
==== Collaboration with the FreePV dev team ====&lt;br /&gt;
Since this project was born out of an explicit idea[http://thread.gmane.org/gmane.comp.video.videolan.vlc.devel/35336] from the FreePV developers and because they promised it in a private e-mail I am certain that they are willing to help me in this project as best they can.&lt;br /&gt;
&lt;br /&gt;
==== Plan ====&lt;br /&gt;
This plan is based on the dates in the [http://code.google.com/opensource/gsoc/2008/faqs.html#0.1_timeline GSoC 2008 timeline]&lt;br /&gt;
* &#039;&#039;&#039;March 31&#039;&#039;&#039; - week 1&lt;br /&gt;
* write e-mails to the hugin and vlc-devel mailing lists asking for suggestions/ideas&lt;br /&gt;
* &#039;&#039;&#039;April 7&#039;&#039;&#039; - week 2&lt;br /&gt;
* study for exams and finish school assignments&lt;br /&gt;
* write a patch for VLC&lt;br /&gt;
* &#039;&#039;&#039;April 14&#039;&#039;&#039; - week 3&lt;br /&gt;
* &#039;&#039;&#039;April 21&#039;&#039;&#039; - week 4&lt;br /&gt;
* figure out the interaction requirements for panorama viewing and how this will affect VLC as a whole&lt;br /&gt;
* decide (along with other developers) how FreePV can be turned into a stand-alone, (separately developed or as part of the VLC projects) library that can be used by VLC to display panoramas&lt;br /&gt;
* think about how panorama viewing fits in with VLC. Maybe it should act as a codec for QTVR files, but it should also be able to use any 2d images/frames for panoramas (act as an output module?).&lt;br /&gt;
* make a list of QTVR functionality present in FreePV - aim to replicate this list in VLC&lt;br /&gt;
* identify which parts of FreePV can be used as a VLC module&lt;br /&gt;
* &#039;&#039;&#039;April 28&#039;&#039;&#039; - week 5&lt;br /&gt;
* learn to write a codec/demuxer module&lt;br /&gt;
* write a plant of what will need to be changed/added in/to VLC&lt;br /&gt;
* by now I should have a good idea of how things fit together&lt;br /&gt;
* &#039;&#039;&#039;May 5&#039;&#039;&#039; - week 6&lt;br /&gt;
* get an understanding of the QTVR format (possible start: http://developer.apple.com/documentation/QuickTime/InsideQT_QTVR/6Chap/chapter_6_section_1.html and the [http://freepv.sourceforge.net/ FreePV] code)&lt;br /&gt;
* &#039;&#039;&#039;May 12&#039;&#039;&#039; - week 7&lt;br /&gt;
* &#039;&#039;&#039;May 19&#039;&#039;&#039; - week 8&lt;br /&gt;
* &#039;&#039;&#039;May 26&#039;&#039;&#039; - week 9 - Students begin coding for their GSoC projects;&lt;br /&gt;
* &#039;&#039;&#039;June 2&#039;&#039;&#039; - week 10&lt;br /&gt;
* &#039;&#039;&#039;June 9&#039;&#039;&#039; - week 11&lt;br /&gt;
* &#039;&#039;&#039;June 16&#039;&#039;&#039; - week 12&lt;br /&gt;
* &#039;&#039;&#039;June 23&#039;&#039;&#039; - week 13&lt;br /&gt;
* libfreepv should exist and be usable in VLC&lt;br /&gt;
* &#039;&#039;&#039;June 30&#039;&#039;&#039; - week 14&lt;br /&gt;
* simple QTVRs should be viewable by now&lt;br /&gt;
* &#039;&#039;&#039;July 7&#039;&#039;&#039; - week 15&lt;br /&gt;
* &#039;&#039;&#039;July 14&#039;&#039;&#039; - week 16 - Mid-term evaluations deadline;&lt;br /&gt;
* &#039;&#039;&#039;July 21&#039;&#039;&#039; - week 17&lt;br /&gt;
* should be able to view image (.PNG, .JPG,...) panoramas&lt;br /&gt;
* &#039;&#039;&#039;July 28&#039;&#039;&#039; - week 18&lt;br /&gt;
* should support a number of different projections and do everything that FreePV can with QTVR&lt;br /&gt;
* &#039;&#039;&#039;August 4&#039;&#039;&#039; - week 19&lt;br /&gt;
* &#039;&#039;&#039;August 11&#039;&#039;&#039; - week 20&lt;br /&gt;
* &#039;&#039;&#039;August 18&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Module Options ====&lt;br /&gt;
* type of panorama: equirectangular,cylindrical,littleplanet,cubic...&lt;br /&gt;
* default FOV aka zoom&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11242</id>
		<title>SoC 2008/PanoramaViewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11242"/>
		<updated>2008-04-15T19:19:58Z</updated>

		<summary type="html">&lt;p&gt;Plouj: /* Plan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Google Summer of Code 2008 =&lt;br /&gt;
== Panorama Viewing ==&lt;br /&gt;
=== Abstract ===&lt;br /&gt;
The goal of this project is to make VLC a one-stop solution for viewing panoramas of various formats. Currently, FreePV is the best/only cross-platform, non-proprietary solution for viewing QuickTimeVR and plain image panoramas. However it suffers from a few drawbacks, which include difficult installation, browser plug-in conflicts and low popularity. The intent is to integrate the FreePV rendering code with VLC. This should not only automatically alleviate installation difficulty and plug-in conflicts, but also bring panorama viewing to a much larger audience.&lt;br /&gt;
This project will initially focus on basic support for QTVR files and equirectangular images.&lt;br /&gt;
&lt;br /&gt;
=== Detailed Description ===&lt;br /&gt;
The way I see it, based on rudimentary knowledge of the VLC internals, is that technically this project is about writing a codec to handle QTVR and an output module for viewing frames projected onto the inside of a rotatable OpenGL sphere.&lt;br /&gt;
&lt;br /&gt;
==== My Commitment ====&lt;br /&gt;
I&#039;m committed to work at least 40 hours per week for the duration of the GSoC on this project except for one week (to be determined) when I will be gone on vacation.&lt;br /&gt;
&lt;br /&gt;
==== Collaboration with the FreePV dev team ====&lt;br /&gt;
Since this project was born out of an explicit idea[http://thread.gmane.org/gmane.comp.video.videolan.vlc.devel/35336] from the FreePV developers and because they promised it in a private e-mail I am certain that they are willing to help me in this project as best they can.&lt;br /&gt;
&lt;br /&gt;
==== Plan ====&lt;br /&gt;
This plan is based on the dates in the [http://code.google.com/opensource/gsoc/2008/faqs.html#0.1_timeline GSoC 2008 timeline]&lt;br /&gt;
* &#039;&#039;&#039;March 31&#039;&#039;&#039; - week 1&lt;br /&gt;
* write e-mails to the hugin and vlc-devel mailing lists asking for suggestions/ideas&lt;br /&gt;
* &#039;&#039;&#039;April 7&#039;&#039;&#039; - week 2&lt;br /&gt;
* study for exams and finish school assignments&lt;br /&gt;
* write a patch for VLC&lt;br /&gt;
* &#039;&#039;&#039;April 14&#039;&#039;&#039; - week 3&lt;br /&gt;
* &#039;&#039;&#039;April 21&#039;&#039;&#039; - week 4&lt;br /&gt;
* figure out the interaction requirements for panorama viewing and how this will affect VLC as a whole&lt;br /&gt;
* decide (along with other developers) how FreePV can be turned into a stand-alone, (separately developed or as part of the VLC projects) library that can be used by VLC to display panoramas&lt;br /&gt;
* think about how panorama viewing fits in with VLC. Maybe it should act as a codec for QTVR files, but it should also be able to use any 2d images/frames for panoramas (act as an output module?).&lt;br /&gt;
* make a list of QTVR functionality present in FreePV - aim to replicate this list in VLC&lt;br /&gt;
* identify which parts of FreePV can be used as a VLC module&lt;br /&gt;
* &#039;&#039;&#039;April 28&#039;&#039;&#039; - week 5&lt;br /&gt;
* learn to write a codec/demuxer module&lt;br /&gt;
* write a plant of what will need to be changed/added in/to VLC&lt;br /&gt;
* by now I should have a good idea of how things fit together&lt;br /&gt;
* &#039;&#039;&#039;May 5&#039;&#039;&#039; - week 6&lt;br /&gt;
* get an understanding of the QTVR format (possible start: http://developer.apple.com/documentation/QuickTime/InsideQT_QTVR/6Chap/chapter_6_section_1.html and the [http://freepv.sourceforge.net/ FreePV] code)&lt;br /&gt;
* &#039;&#039;&#039;May 12&#039;&#039;&#039; - week 7&lt;br /&gt;
* &#039;&#039;&#039;May 19&#039;&#039;&#039; - week 8&lt;br /&gt;
* &#039;&#039;&#039;May 26&#039;&#039;&#039; - week 9 - Students begin coding for their GSoC projects;&lt;br /&gt;
* &#039;&#039;&#039;June 2&#039;&#039;&#039; - week 10&lt;br /&gt;
* &#039;&#039;&#039;June 9&#039;&#039;&#039; - week 11&lt;br /&gt;
* &#039;&#039;&#039;June 16&#039;&#039;&#039; - week 12&lt;br /&gt;
* &#039;&#039;&#039;June 23&#039;&#039;&#039; - week 13&lt;br /&gt;
* libfreepv should exist and be usable in VLC&lt;br /&gt;
* &#039;&#039;&#039;June 30&#039;&#039;&#039; - week 14&lt;br /&gt;
* simple QTVRs should be viewable by now&lt;br /&gt;
* &#039;&#039;&#039;July 7&#039;&#039;&#039; - week 15&lt;br /&gt;
* &#039;&#039;&#039;July 14&#039;&#039;&#039; - week 16 - Mid-term evaluations deadline;&lt;br /&gt;
* &#039;&#039;&#039;July 21&#039;&#039;&#039; - week 17&lt;br /&gt;
* should be able to view image (.PNG, .JPG,...) panoramas&lt;br /&gt;
* &#039;&#039;&#039;July 28&#039;&#039;&#039; - week 18&lt;br /&gt;
* should support a number of different projections and do everything that FreePV can with QTVR&lt;br /&gt;
* &#039;&#039;&#039;August 4&#039;&#039;&#039; - week 19&lt;br /&gt;
* &#039;&#039;&#039;August 11&#039;&#039;&#039; - week 20&lt;br /&gt;
* &#039;&#039;&#039;August 18&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Module Options ====&lt;br /&gt;
* type of panorama: equirectangular,cylindrical,littleplanet,cubic...&lt;br /&gt;
* default FOV aka zoom&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Qt4StringsReview&amp;diff=11240</id>
		<title>Qt4StringsReview</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Qt4StringsReview&amp;diff=11240"/>
		<updated>2008-04-15T18:37:51Z</updated>

		<summary type="html">&lt;p&gt;Plouj: /* /modules/gui/qt4/dialogs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is the central coordination point of the 0.9.0 QT4 Strings review campaign, part of [[QtIntfTODO|Things to be done for the QT Interface]]&lt;br /&gt;
&lt;br /&gt;
See the [http://trac.videolan.org/vlc/ticket/1214 ticket on trac].  &lt;br /&gt;
== People interested ==&lt;br /&gt;
Please sign with three tildes &amp;lt;nowiki&amp;gt;(~~~)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* [[User:Tonsofpcs|tonsofpcs]]&lt;br /&gt;
* [[User:J-b|jb]]&lt;br /&gt;
* [[User:Plouj|Plouj]]&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
We have a new QT4 interface and it needs to be in English.  Discuss any issues here.&lt;br /&gt;
* Check the English of all strings.  Fix it.  Have someone else do it again to be sure you didn&#039;t mess something up or make something too ambiguous.  &lt;br /&gt;
* There is no need to change error-output strings, as it is probably best that they remain in their original form so that they can still be found easily.  If you find any repeated error-outputs (same text for different events), inform a developer.  &lt;br /&gt;
* If you find any code being sent to stderr via fprintf(stderr) rather than msg_Error, inform a developer (unless you know how to fix it).  &lt;br /&gt;
&lt;br /&gt;
=== Subversion ===&lt;br /&gt;
* subversion command for checking out just the QT4 code: &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
svn checkout svn://svn.videolan.org/vlc/trunk/modules/gui/qt4 QT4Strings&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nightlies ===&lt;br /&gt;
* You can also use a nightly build to spot errors&lt;br /&gt;
&lt;br /&gt;
=== What to do ===&lt;br /&gt;
&lt;br /&gt;
* [[User:J-b|jb]] says dialogs are free to work on at this point.  --[[User:Tonsofpcs|tonsofpcs]] 01:17, 27 June 2007 (CEST)&lt;br /&gt;
&lt;br /&gt;
* Menus and systray Menu too. [[User:J-b|jb]] 08:11, 27 June 2007 (CEST)&lt;br /&gt;
&lt;br /&gt;
* Menus, then main interface, then tooltips, then anything remaining.  --[[User:Tonsofpcs|tonsofpcs]] 02:34, 25 October 2007 (CEST) (via j-b on IRC)&lt;br /&gt;
&lt;br /&gt;
== Progress ==&lt;br /&gt;
* When you begin working on a file, if necessary add it to the table, then assign your name to it.  Once you finish it, mark it appropriately.  &lt;br /&gt;
&lt;br /&gt;
=== /modules/gui/qt4/dialogs ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
! File || First reviewer ||Done?|| Second reviewer ||Done?|| Current status&lt;br /&gt;
|-&lt;br /&gt;
|errors.cpp|| [[User:Tonsofpcs|tonsofpcs]] ||FX|| [[User:Plouj|Plouj]] ||F || 1 string, changed --[[User:Tonsofpcs|tonsofpcs]] 01:58, 27 June 2007 (CEST)&lt;br /&gt;
|-&lt;br /&gt;
|errors.hpp|| [[User:Tonsofpcs|tonsofpcs]] ||*||*||*|| No strings --[[User:Tonsofpcs|tonsofpcs]] 01:58, 27 June 2007 (CEST)&lt;br /&gt;
|-&lt;br /&gt;
|extended.cpp|| [[User:Tonsofpcs|tonsofpcs]] ||FX|| [[User:Plouj|Plouj]] ||FX || 3 Strings, 1 change (&amp;quot;Synchro.&amp;quot;-&amp;gt;&amp;quot;Synchronisation&amp;quot;) [[User:Plouj|Plouj]] 04:14, 13 Apr 2008 (CEST)&lt;br /&gt;
|-&lt;br /&gt;
|extended.hpp|| [[User:Tonsofpcs|tonsofpcs]] ||*||*||*|| No strings --[[User:Tonsofpcs|tonsofpcs]] 02:06, 27 June 2007 (CEST)&lt;br /&gt;
|-&lt;br /&gt;
|gototime.cpp|| [[User:Tonsofpcs|tonsofpcs]] ||FX|| [[User:Plouj|Plouj]] ||F || 6 strings, 3 left, 2 changed (&amp;quot;Go to time:&amp;quot; instead of long sentence, lowercase &amp;quot;time&amp;quot; in title), 1 removed (name of &#039;groupbox&#039; is redundant) --[[User:Tonsofpcs|tonsofpcs]] 02:12, 27 June 2007 (CEST)&lt;br /&gt;
|-&lt;br /&gt;
|gototime.hpp|| [[User:Tonsofpcs|tonsofpcs]] ||*||*||*|| No strings --[[User:Tonsofpcs|tonsofpcs]] 02:13, 27 June 2007 (CEST)&lt;br /&gt;
|-&lt;br /&gt;
|help.cpp|| [[User:Tonsofpcs|tonsofpcs]] ||PX|| [[User:Plouj|Plouj]] ||FX || 11 strings, 2 are paths, 4 changes [[User:Plouj|Plouj]] 04:14, 13 Apr 2008 (CEST)&lt;br /&gt;
|-&lt;br /&gt;
|help.hpp|| [[User:Tonsofpcs|tonsofpcs]] ||*||*||*|| No strings [[User:Tonsofpcs|tonsofpcs]] 17:27, 13 July 2007 (CEST)&lt;br /&gt;
|-&lt;br /&gt;
|interaction.cpp|| [[User:Tonsofpcs|tonsofpcs]] ||PX|| [[User:Plouj|Plouj]] ||F || 4 strings (2 were error), &amp;lt;del&amp;gt;changed Login &amp;gt;&amp;gt; Username&amp;lt;/del&amp;gt;, replaced a fprintf(stderr) with a msg_Error [[User:Tonsofpcs|tonsofpcs]] 17:47, 13 July 2007 (CEST)&lt;br /&gt;
|-&lt;br /&gt;
|interaction.hpp|| [[User:Tonsofpcs|tonsofpcs]] ||*||*||*||&lt;br /&gt;
&amp;lt;!-- EXAMPLE LINE:&lt;br /&gt;
|-&lt;br /&gt;
|filename.Xpp|| ~~~ || ||  || ||&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For the done columns:&lt;br /&gt;
:L = Done locally, not submitted&lt;br /&gt;
:S = SVN Checked in&lt;br /&gt;
:P = patch submitted&lt;br /&gt;
:F = entire file submitted (in other words, no changes were needed)&lt;br /&gt;
:PX = Patch submitted, checked in&lt;br /&gt;
:FX = File submitted, checked in&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; No strings, nothing to do&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11236</id>
		<title>SoC 2008/PanoramaViewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11236"/>
		<updated>2008-04-14T22:43:21Z</updated>

		<summary type="html">&lt;p&gt;Plouj: /* Plan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Google Summer of Code 2008 =&lt;br /&gt;
== Panorama Viewing ==&lt;br /&gt;
=== Abstract ===&lt;br /&gt;
The goal of this project is to make VLC a one-stop solution for viewing panoramas of various formats. Currently, FreePV is the best/only cross-platform, non-proprietary solution for viewing QuickTimeVR and plain image panoramas. However it suffers from a few drawbacks, which include difficult installation, browser plug-in conflicts and low popularity. The intent is to integrate the FreePV rendering code with VLC. This should not only automatically alleviate installation difficulty and plug-in conflicts, but also bring panorama viewing to a much larger audience.&lt;br /&gt;
This project will initially focus on basic support for QTVR files and equirectangular images.&lt;br /&gt;
&lt;br /&gt;
=== Detailed Description ===&lt;br /&gt;
The way I see it, based on rudimentary knowledge of the VLC internals, is that technically this project is about writing a codec to handle QTVR and an output module for viewing frames projected onto the inside of a rotatable OpenGL sphere.&lt;br /&gt;
&lt;br /&gt;
==== My Commitment ====&lt;br /&gt;
I&#039;m committed to work at least 40 hours per week for the duration of the GSoC on this project except for one week (to be determined) when I will be gone on vacation.&lt;br /&gt;
&lt;br /&gt;
==== Collaboration with the FreePV dev team ====&lt;br /&gt;
Since this project was born out of an explicit idea[http://thread.gmane.org/gmane.comp.video.videolan.vlc.devel/35336] from the FreePV developers and because they promised it in a private e-mail I am certain that they are willing to help me in this project as best they can.&lt;br /&gt;
&lt;br /&gt;
==== Plan ====&lt;br /&gt;
This plan is based on the dates in the [http://code.google.com/opensource/gsoc/2008/faqs.html#0.1_timeline GSoC 2008 timeline]&lt;br /&gt;
* &#039;&#039;&#039;March 31&#039;&#039;&#039; - week 1&lt;br /&gt;
* write e-mails to the hugin and vlc-devel mailing lists asking for suggestions/ideas&lt;br /&gt;
* &#039;&#039;&#039;April 7&#039;&#039;&#039; - week 2&lt;br /&gt;
* study for exams and finish school assignments&lt;br /&gt;
* write a patch for VLC&lt;br /&gt;
* &#039;&#039;&#039;April 14&#039;&#039;&#039; - week 3&lt;br /&gt;
* &#039;&#039;&#039;April 21&#039;&#039;&#039; - week 4&lt;br /&gt;
* figure out the interaction requirements for panorama viewing and how this will affect VLC as a whole&lt;br /&gt;
* decide (along with other developers) how FreePV can be turned into a stand-alone, (separately developed or as part of the VLC projects) library that can be used by VLC to display panoramas&lt;br /&gt;
* think about how panorama viewing fits in with VLC. It should act as a codec for QTVR files, but it should also be able to use any 2d images/frames for panoramas (act as an output module?).&lt;br /&gt;
* make a list of QTVR functionality present in FreePV - aim to replicate this list in VLC&lt;br /&gt;
* identify which parts of FreePV can be used as a VLC module&lt;br /&gt;
* &#039;&#039;&#039;April 28&#039;&#039;&#039; - week 5&lt;br /&gt;
* learn to write a codec/demuxer module&lt;br /&gt;
* write a plant of what will need to be changed/added in/to VLC&lt;br /&gt;
* by now I should have a good idea of how things fit together&lt;br /&gt;
* &#039;&#039;&#039;May 5&#039;&#039;&#039; - week 6&lt;br /&gt;
* get an understanding of the QTVR format (possible start: http://developer.apple.com/documentation/QuickTime/InsideQT_QTVR/6Chap/chapter_6_section_1.html and the [http://freepv.sourceforge.net/ FreePV] code)&lt;br /&gt;
* &#039;&#039;&#039;May 12&#039;&#039;&#039; - week 7&lt;br /&gt;
* &#039;&#039;&#039;May 19&#039;&#039;&#039; - week 8&lt;br /&gt;
* &#039;&#039;&#039;May 26&#039;&#039;&#039; - week 9 - Students begin coding for their GSoC projects;&lt;br /&gt;
* &#039;&#039;&#039;June 2&#039;&#039;&#039; - week 10&lt;br /&gt;
* &#039;&#039;&#039;June 9&#039;&#039;&#039; - week 11&lt;br /&gt;
* &#039;&#039;&#039;June 16&#039;&#039;&#039; - week 12&lt;br /&gt;
* &#039;&#039;&#039;June 23&#039;&#039;&#039; - week 13&lt;br /&gt;
* libfreepv should exist and be usable in VLC&lt;br /&gt;
* &#039;&#039;&#039;June 30&#039;&#039;&#039; - week 14&lt;br /&gt;
* simple QTVRs should be viewable by now&lt;br /&gt;
* &#039;&#039;&#039;July 7&#039;&#039;&#039; - week 15&lt;br /&gt;
* &#039;&#039;&#039;July 14&#039;&#039;&#039; - week 16 - Mid-term evaluations deadline;&lt;br /&gt;
* &#039;&#039;&#039;July 21&#039;&#039;&#039; - week 17&lt;br /&gt;
* should be able to view image (.PNG, .JPG,...) panoramas&lt;br /&gt;
* &#039;&#039;&#039;July 28&#039;&#039;&#039; - week 18&lt;br /&gt;
* should support a number of different projections and do everything that FreePV can with QTVR&lt;br /&gt;
* &#039;&#039;&#039;August 4&#039;&#039;&#039; - week 19&lt;br /&gt;
* &#039;&#039;&#039;August 11&#039;&#039;&#039; - week 20&lt;br /&gt;
* &#039;&#039;&#039;August 18&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Module Options ====&lt;br /&gt;
* type of panorama: equirectangular,cylindrical,littleplanet,cubic...&lt;br /&gt;
* default FOV aka zoom&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11235</id>
		<title>SoC 2008/PanoramaViewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11235"/>
		<updated>2008-04-14T22:39:47Z</updated>

		<summary type="html">&lt;p&gt;Plouj: /* My Commitment */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Google Summer of Code 2008 =&lt;br /&gt;
== Panorama Viewing ==&lt;br /&gt;
=== Abstract ===&lt;br /&gt;
The goal of this project is to make VLC a one-stop solution for viewing panoramas of various formats. Currently, FreePV is the best/only cross-platform, non-proprietary solution for viewing QuickTimeVR and plain image panoramas. However it suffers from a few drawbacks, which include difficult installation, browser plug-in conflicts and low popularity. The intent is to integrate the FreePV rendering code with VLC. This should not only automatically alleviate installation difficulty and plug-in conflicts, but also bring panorama viewing to a much larger audience.&lt;br /&gt;
This project will initially focus on basic support for QTVR files and equirectangular images.&lt;br /&gt;
&lt;br /&gt;
=== Detailed Description ===&lt;br /&gt;
The way I see it, based on rudimentary knowledge of the VLC internals, is that technically this project is about writing a codec to handle QTVR and an output module for viewing frames projected onto the inside of a rotatable OpenGL sphere.&lt;br /&gt;
&lt;br /&gt;
==== My Commitment ====&lt;br /&gt;
I&#039;m committed to work at least 40 hours per week for the duration of the GSoC on this project except for one week (to be determined) when I will be gone on vacation.&lt;br /&gt;
&lt;br /&gt;
==== Collaboration with the FreePV dev team ====&lt;br /&gt;
Since this project was born out of an explicit idea[http://thread.gmane.org/gmane.comp.video.videolan.vlc.devel/35336] from the FreePV developers and because they promised it in a private e-mail I am certain that they are willing to help me in this project as best they can.&lt;br /&gt;
&lt;br /&gt;
==== Plan ====&lt;br /&gt;
This plan is based on the dates in the [http://code.google.com/opensource/gsoc/2008/faqs.html#0.1_timeline GSoC 2008 timeline]&lt;br /&gt;
* &#039;&#039;&#039;March 31&#039;&#039;&#039; - week 1&lt;br /&gt;
* write e-mails to the hugin and vlc-devel mailing lists asking for suggestions/ideas&lt;br /&gt;
* &#039;&#039;&#039;April 7&#039;&#039;&#039; - week 2&lt;br /&gt;
* study for exams and finish school assignments&lt;br /&gt;
* write a patch for VLC&lt;br /&gt;
* &#039;&#039;&#039;April 14&#039;&#039;&#039; - week 3&lt;br /&gt;
* &#039;&#039;&#039;April 21&#039;&#039;&#039; - week 4&lt;br /&gt;
* figure out the interaction requirements for panorama viewing and how this will affect VLC as a whole&lt;br /&gt;
* decide (along with other developers) whether FreePV can be turned into a stand-alone, separately developed library that can be used by VLC to display panoramas&lt;br /&gt;
* think about how panorama viewing fits in with VLC. It should act as a codec for QTVR files, but it should also be able to use any 2d images/frames for panoramas (act as an output module?).&lt;br /&gt;
* make a list of QTVR functionality present in FreePV - aim to replicate this list in VLC&lt;br /&gt;
* identify which parts of FreePV can be used as a VLC module&lt;br /&gt;
* &#039;&#039;&#039;April 28&#039;&#039;&#039; - week 5&lt;br /&gt;
* learn to write a codec/demuxer module&lt;br /&gt;
* write a plant of what will need to be changed/added in/to VLC&lt;br /&gt;
* by now I should have a good idea of how things fit together&lt;br /&gt;
* &#039;&#039;&#039;May 5&#039;&#039;&#039; - week 6&lt;br /&gt;
* get an understanding of the QTVR format (possible start: http://developer.apple.com/documentation/QuickTime/InsideQT_QTVR/6Chap/chapter_6_section_1.html and the [http://freepv.sourceforge.net/ FreePV] code)&lt;br /&gt;
* &#039;&#039;&#039;May 12&#039;&#039;&#039; - week 7&lt;br /&gt;
* &#039;&#039;&#039;May 19&#039;&#039;&#039; - week 8&lt;br /&gt;
* &#039;&#039;&#039;May 26&#039;&#039;&#039; - week 9 - Students begin coding for their GSoC projects;&lt;br /&gt;
* &#039;&#039;&#039;June 2&#039;&#039;&#039; - week 10&lt;br /&gt;
* &#039;&#039;&#039;June 9&#039;&#039;&#039; - week 11&lt;br /&gt;
* &#039;&#039;&#039;June 16&#039;&#039;&#039; - week 12&lt;br /&gt;
* &#039;&#039;&#039;June 23&#039;&#039;&#039; - week 13&lt;br /&gt;
* libfreepv should exist and be usable in VLC&lt;br /&gt;
* &#039;&#039;&#039;June 30&#039;&#039;&#039; - week 14&lt;br /&gt;
* simple QTVRs should be viewable by now&lt;br /&gt;
* &#039;&#039;&#039;July 7&#039;&#039;&#039; - week 15&lt;br /&gt;
* &#039;&#039;&#039;July 14&#039;&#039;&#039; - week 16 - Mid-term evaluations deadline;&lt;br /&gt;
* &#039;&#039;&#039;July 21&#039;&#039;&#039; - week 17&lt;br /&gt;
* should be able to view image (.PNG, .JPG,...) panoramas&lt;br /&gt;
* &#039;&#039;&#039;July 28&#039;&#039;&#039; - week 18&lt;br /&gt;
* should support a number of different projections and do everything that FreePV can with QTVR&lt;br /&gt;
* &#039;&#039;&#039;August 4&#039;&#039;&#039; - week 19&lt;br /&gt;
* &#039;&#039;&#039;August 11&#039;&#039;&#039; - week 20&lt;br /&gt;
* &#039;&#039;&#039;August 18&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Module Options ====&lt;br /&gt;
* type of panorama: equirectangular,cylindrical,littleplanet,cubic...&lt;br /&gt;
* default FOV aka zoom&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11234</id>
		<title>SoC 2008/PanoramaViewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11234"/>
		<updated>2008-04-14T01:46:00Z</updated>

		<summary type="html">&lt;p&gt;Plouj: /* Plan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Google Summer of Code 2008 =&lt;br /&gt;
== Panorama Viewing ==&lt;br /&gt;
=== Abstract ===&lt;br /&gt;
The goal of this project is to make VLC a one-stop solution for viewing panoramas of various formats. Currently, FreePV is the best/only cross-platform, non-proprietary solution for viewing QuickTimeVR and plain image panoramas. However it suffers from a few drawbacks, which include difficult installation, browser plug-in conflicts and low popularity. The intent is to integrate the FreePV rendering code with VLC. This should not only automatically alleviate installation difficulty and plug-in conflicts, but also bring panorama viewing to a much larger audience.&lt;br /&gt;
This project will initially focus on basic support for QTVR files and equirectangular images.&lt;br /&gt;
&lt;br /&gt;
=== Detailed Description ===&lt;br /&gt;
The way I see it, based on rudimentary knowledge of the VLC internals, is that technically this project is about writing a codec to handle QTVR and an output module for viewing frames projected onto the inside of a rotatable OpenGL sphere.&lt;br /&gt;
&lt;br /&gt;
==== My Commitment ====&lt;br /&gt;
I&#039;m committed to work at least 40 hours per week for the duration of the GSoC on this project except for the first week in April when I will be busy with final exams, and another one week (to be determined) when I will be gone on vacation.&lt;br /&gt;
&lt;br /&gt;
==== Collaboration with the FreePV dev team ====&lt;br /&gt;
Since this project was born out of an explicit idea[http://thread.gmane.org/gmane.comp.video.videolan.vlc.devel/35336] from the FreePV developers and because they promised it in a private e-mail I am certain that they are willing to help me in this project as best they can.&lt;br /&gt;
&lt;br /&gt;
==== Plan ====&lt;br /&gt;
This plan is based on the dates in the [http://code.google.com/opensource/gsoc/2008/faqs.html#0.1_timeline GSoC 2008 timeline]&lt;br /&gt;
* &#039;&#039;&#039;March 31&#039;&#039;&#039; - week 1&lt;br /&gt;
* write e-mails to the hugin and vlc-devel mailing lists asking for suggestions/ideas&lt;br /&gt;
* &#039;&#039;&#039;April 7&#039;&#039;&#039; - week 2&lt;br /&gt;
* study for exams and finish school assignments&lt;br /&gt;
* write a patch for VLC&lt;br /&gt;
* &#039;&#039;&#039;April 14&#039;&#039;&#039; - week 3&lt;br /&gt;
* &#039;&#039;&#039;April 21&#039;&#039;&#039; - week 4&lt;br /&gt;
* figure out the interaction requirements for panorama viewing and how this will affect VLC as a whole&lt;br /&gt;
* decide (along with other developers) whether FreePV can be turned into a stand-alone, separately developed library that can be used by VLC to display panoramas&lt;br /&gt;
* think about how panorama viewing fits in with VLC. It should act as a codec for QTVR files, but it should also be able to use any 2d images/frames for panoramas (act as an output module?).&lt;br /&gt;
* make a list of QTVR functionality present in FreePV - aim to replicate this list in VLC&lt;br /&gt;
* identify which parts of FreePV can be used as a VLC module&lt;br /&gt;
* &#039;&#039;&#039;April 28&#039;&#039;&#039; - week 5&lt;br /&gt;
* learn to write a codec/demuxer module&lt;br /&gt;
* write a plant of what will need to be changed/added in/to VLC&lt;br /&gt;
* by now I should have a good idea of how things fit together&lt;br /&gt;
* &#039;&#039;&#039;May 5&#039;&#039;&#039; - week 6&lt;br /&gt;
* get an understanding of the QTVR format (possible start: http://developer.apple.com/documentation/QuickTime/InsideQT_QTVR/6Chap/chapter_6_section_1.html and the [http://freepv.sourceforge.net/ FreePV] code)&lt;br /&gt;
* &#039;&#039;&#039;May 12&#039;&#039;&#039; - week 7&lt;br /&gt;
* &#039;&#039;&#039;May 19&#039;&#039;&#039; - week 8&lt;br /&gt;
* &#039;&#039;&#039;May 26&#039;&#039;&#039; - week 9 - Students begin coding for their GSoC projects;&lt;br /&gt;
* &#039;&#039;&#039;June 2&#039;&#039;&#039; - week 10&lt;br /&gt;
* &#039;&#039;&#039;June 9&#039;&#039;&#039; - week 11&lt;br /&gt;
* &#039;&#039;&#039;June 16&#039;&#039;&#039; - week 12&lt;br /&gt;
* &#039;&#039;&#039;June 23&#039;&#039;&#039; - week 13&lt;br /&gt;
* libfreepv should exist and be usable in VLC&lt;br /&gt;
* &#039;&#039;&#039;June 30&#039;&#039;&#039; - week 14&lt;br /&gt;
* simple QTVRs should be viewable by now&lt;br /&gt;
* &#039;&#039;&#039;July 7&#039;&#039;&#039; - week 15&lt;br /&gt;
* &#039;&#039;&#039;July 14&#039;&#039;&#039; - week 16 - Mid-term evaluations deadline;&lt;br /&gt;
* &#039;&#039;&#039;July 21&#039;&#039;&#039; - week 17&lt;br /&gt;
* should be able to view image (.PNG, .JPG,...) panoramas&lt;br /&gt;
* &#039;&#039;&#039;July 28&#039;&#039;&#039; - week 18&lt;br /&gt;
* should support a number of different projections and do everything that FreePV can with QTVR&lt;br /&gt;
* &#039;&#039;&#039;August 4&#039;&#039;&#039; - week 19&lt;br /&gt;
* &#039;&#039;&#039;August 11&#039;&#039;&#039; - week 20&lt;br /&gt;
* &#039;&#039;&#039;August 18&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Module Options ====&lt;br /&gt;
* type of panorama: equirectangular,cylindrical,littleplanet,cubic...&lt;br /&gt;
* default FOV aka zoom&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Qt4StringsReview&amp;diff=11233</id>
		<title>Qt4StringsReview</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Qt4StringsReview&amp;diff=11233"/>
		<updated>2008-04-14T00:05:09Z</updated>

		<summary type="html">&lt;p&gt;Plouj: /* /modules/gui/qt4/dialogs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is the central coordination point of the 0.9.0 QT4 Strings review campaign, part of [[QtIntfTODO|Things to be done for the QT Interface]]&lt;br /&gt;
&lt;br /&gt;
See the [http://trac.videolan.org/vlc/ticket/1214 ticket on trac].  &lt;br /&gt;
== People interested ==&lt;br /&gt;
Please sign with three tildes &amp;lt;nowiki&amp;gt;(~~~)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* [[User:Tonsofpcs|tonsofpcs]]&lt;br /&gt;
* [[User:J-b|jb]]&lt;br /&gt;
* [[User:Plouj|Plouj]]&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
We have a new QT4 interface and it needs to be in English.  Discuss any issues here.&lt;br /&gt;
* Check the English of all strings.  Fix it.  Have someone else do it again to be sure you didn&#039;t mess something up or make something too ambiguous.  &lt;br /&gt;
* There is no need to change error-output strings, as it is probably best that they remain in their original form so that they can still be found easily.  If you find any repeated error-outputs (same text for different events), inform a developer.  &lt;br /&gt;
* If you find any code being sent to stderr via fprintf(stderr) rather than msg_Error, inform a developer (unless you know how to fix it).  &lt;br /&gt;
&lt;br /&gt;
=== Subversion ===&lt;br /&gt;
* subversion command for checking out just the QT4 code: &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
svn checkout svn://svn.videolan.org/vlc/trunk/modules/gui/qt4 QT4Strings&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nightlies ===&lt;br /&gt;
* You can also use a nightly build to spot errors&lt;br /&gt;
&lt;br /&gt;
=== What to do ===&lt;br /&gt;
&lt;br /&gt;
* [[User:J-b|jb]] says dialogs are free to work on at this point.  --[[User:Tonsofpcs|tonsofpcs]] 01:17, 27 June 2007 (CEST)&lt;br /&gt;
&lt;br /&gt;
* Menus and systray Menu too. [[User:J-b|jb]] 08:11, 27 June 2007 (CEST)&lt;br /&gt;
&lt;br /&gt;
* Menus, then main interface, then tooltips, then anything remaining.  --[[User:Tonsofpcs|tonsofpcs]] 02:34, 25 October 2007 (CEST) (via j-b on IRC)&lt;br /&gt;
&lt;br /&gt;
== Progress ==&lt;br /&gt;
* When you begin working on a file, if necessary add it to the table, then assign your name to it.  Once you finish it, mark it appropriately.  &lt;br /&gt;
&lt;br /&gt;
=== /modules/gui/qt4/dialogs ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
! File || First reviewer ||Done?|| Second reviewer ||Done?|| Current status&lt;br /&gt;
|-&lt;br /&gt;
|errors.cpp|| [[User:Tonsofpcs|tonsofpcs]] ||FX|| [[User:Plouj|Plouj]] ||F || 1 string, changed --[[User:Tonsofpcs|tonsofpcs]] 01:58, 27 June 2007 (CEST)&lt;br /&gt;
|-&lt;br /&gt;
|errors.hpp|| [[User:Tonsofpcs|tonsofpcs]] ||*||*||*|| No strings --[[User:Tonsofpcs|tonsofpcs]] 01:58, 27 June 2007 (CEST)&lt;br /&gt;
|-&lt;br /&gt;
|extended.cpp|| [[User:Tonsofpcs|tonsofpcs]] ||FX|| [[User:Plouj|Plouj]] ||FX || 3 Strings, 1 change (&amp;quot;Synchro.&amp;quot;-&amp;gt;&amp;quot;Synchronisation&amp;quot;) [[User:Plouj|Plouj]] 04:14, 13 Apr 2008 (CEST)&lt;br /&gt;
|-&lt;br /&gt;
|extended.hpp|| [[User:Tonsofpcs|tonsofpcs]] ||*||*||*|| No strings --[[User:Tonsofpcs|tonsofpcs]] 02:06, 27 June 2007 (CEST)&lt;br /&gt;
|-&lt;br /&gt;
|gototime.cpp|| [[User:Tonsofpcs|tonsofpcs]] ||FX|| [[User:Plouj|Plouj]] ||F || 6 strings, 3 left, 2 changed (&amp;quot;Go to time:&amp;quot; instead of long sentence, lowercase &amp;quot;time&amp;quot; in title), 1 removed (name of &#039;groupbox&#039; is redundant) --[[User:Tonsofpcs|tonsofpcs]] 02:12, 27 June 2007 (CEST)&lt;br /&gt;
|-&lt;br /&gt;
|gototime.hpp|| [[User:Tonsofpcs|tonsofpcs]] ||*||*||*|| No strings --[[User:Tonsofpcs|tonsofpcs]] 02:13, 27 June 2007 (CEST)&lt;br /&gt;
|-&lt;br /&gt;
|help.cpp|| [[User:Tonsofpcs|tonsofpcs]] ||PX|| [[User:Plouj|Plouj]] ||FX || 11 strings, 2 are paths, 4 changes [[User:Plouj|Plouj]] 04:14, 13 Apr 2008 (CEST)&lt;br /&gt;
|-&lt;br /&gt;
|help.hpp|| [[User:Tonsofpcs|tonsofpcs]] ||*||*||*|| No strings [[User:Tonsofpcs|tonsofpcs]] 17:27, 13 July 2007 (CEST)&lt;br /&gt;
|-&lt;br /&gt;
|interaction.cpp|| [[User:Tonsofpcs|tonsofpcs]] ||PX|| [[User:Plouj|Plouj]] ||F || 4 strings (2 were error), &amp;lt;del&amp;gt;changed Login &amp;gt;&amp;gt; Username&amp;lt;/del&amp;gt;, replaced a fprintf(stderr) with a msg_Error [[User:Tonsofpcs|tonsofpcs]] 17:47, 13 July 2007 (CEST)&lt;br /&gt;
|-&lt;br /&gt;
|interaction.hpp|| [[User:Tonsofpcs|tonsofpcs]] ||*||*||*||&lt;br /&gt;
&amp;lt;!-- EXAMPLE LINE:&lt;br /&gt;
|-&lt;br /&gt;
|filename.Xpp|| ~~~ || ||  || ||&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For the done columns:&lt;br /&gt;
:L = Done locally, not submitted&lt;br /&gt;
:S = SVN Checked in&lt;br /&gt;
:P = patch submitted&lt;br /&gt;
:F = entire file submitted&lt;br /&gt;
:PX = Patch submitted, checked in&lt;br /&gt;
:FX = File submitted, checked in&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; No strings, nothing to do&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Qt4StringsReview&amp;diff=11229</id>
		<title>Qt4StringsReview</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Qt4StringsReview&amp;diff=11229"/>
		<updated>2008-04-13T00:35:49Z</updated>

		<summary type="html">&lt;p&gt;Plouj: /* People interested */ added myself&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is the central coordination point of the 0.9.0 QT4 Strings review campaign, part of [[QtIntfTODO|Things to be done for the QT Interface]]&lt;br /&gt;
&lt;br /&gt;
See the [http://trac.videolan.org/vlc/ticket/1214 ticket on trac].  &lt;br /&gt;
== People interested ==&lt;br /&gt;
Please sign with three tildes &amp;lt;nowiki&amp;gt;(~~~)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* [[User:Tonsofpcs|tonsofpcs]]&lt;br /&gt;
* [[User:J-b|jb]]&lt;br /&gt;
* [[User:Plouj|Plouj]]&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
We have a new QT4 interface and it needs to be in English.  Discuss any issues here.&lt;br /&gt;
* Check the English of all strings.  Fix it.  Have someone else do it again to be sure you didn&#039;t mess something up or make something too ambiguous.  &lt;br /&gt;
* There is no need to change error-output strings, as it is probably best that they remain in their original form so that they can still be found easily.  If you find any repeated error-outputs (same text for different events), inform a developer.  &lt;br /&gt;
* If you find any code being sent to stderr via fprintf(stderr) rather than msg_Error, inform a developer (unless you know how to fix it).  &lt;br /&gt;
&lt;br /&gt;
=== Subversion ===&lt;br /&gt;
* subversion command for checking out just the QT4 code: &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
svn checkout svn://svn.videolan.org/vlc/trunk/modules/gui/qt4 QT4Strings&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nightlies ===&lt;br /&gt;
* You can also use a nightly build to spot errors&lt;br /&gt;
&lt;br /&gt;
=== What to do ===&lt;br /&gt;
&lt;br /&gt;
* [[User:J-b|jb]] says dialogs are free to work on at this point.  --[[User:Tonsofpcs|tonsofpcs]] 01:17, 27 June 2007 (CEST)&lt;br /&gt;
&lt;br /&gt;
* Menus and systray Menu too. [[User:J-b|jb]] 08:11, 27 June 2007 (CEST)&lt;br /&gt;
&lt;br /&gt;
* Menus, then main interface, then tooltips, then anything remaining.  --[[User:Tonsofpcs|tonsofpcs]] 02:34, 25 October 2007 (CEST) (via j-b on IRC)&lt;br /&gt;
&lt;br /&gt;
== Progress ==&lt;br /&gt;
* When you begin working on a file, if necessary add it to the table, then assign your name to it.  Once you finish it, mark it appropriately.  &lt;br /&gt;
&lt;br /&gt;
=== /modules/gui/qt4/dialogs ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
! File || First reviewer ||Done?|| Second reviewer ||Done?|| Current status&lt;br /&gt;
|-&lt;br /&gt;
|errors.cpp|| [[User:Tonsofpcs|tonsofpcs]] ||FX||  || || 1 string, changed --[[User:Tonsofpcs|tonsofpcs]] 01:58, 27 June 2007 (CEST)&lt;br /&gt;
|-&lt;br /&gt;
|errors.hpp|| [[User:Tonsofpcs|tonsofpcs]] ||*||*||*|| No strings --[[User:Tonsofpcs|tonsofpcs]] 01:58, 27 June 2007 (CEST)&lt;br /&gt;
|-&lt;br /&gt;
|extended.cpp|| [[User:Tonsofpcs|tonsofpcs]] ||FX||  || || 3 Strings, 3 changes --[[User:Tonsofpcs|tonsofpcs]] 02:04, 27 June 2007 (CEST)&lt;br /&gt;
|-&lt;br /&gt;
|extended.hpp|| [[User:Tonsofpcs|tonsofpcs]] ||*||*||*|| No strings --[[User:Tonsofpcs|tonsofpcs]] 02:06, 27 June 2007 (CEST)&lt;br /&gt;
|-&lt;br /&gt;
|gototime.cpp|| [[User:Tonsofpcs|tonsofpcs]] ||FX||  || || 6 strings, 3 left, 2 changed (&amp;quot;Go to time:&amp;quot; instead of long sentence, lowercase &amp;quot;time&amp;quot; in title), 1 removed (name of &#039;groupbox&#039; is redundant) --[[User:Tonsofpcs|tonsofpcs]] 02:12, 27 June 2007 (CEST)&lt;br /&gt;
|-&lt;br /&gt;
|gototime.hpp|| [[User:Tonsofpcs|tonsofpcs]] ||*||*||*|| No strings --[[User:Tonsofpcs|tonsofpcs]] 02:13, 27 June 2007 (CEST)&lt;br /&gt;
|-&lt;br /&gt;
|help.cpp|| [[User:Tonsofpcs|tonsofpcs]] ||PX||  || || 11 strings, 2 are paths, 2 changes (Infos about &amp;gt;&amp;gt; Information about, Information [tab] &amp;gt;&amp;gt; General Info) [[User:Tonsofpcs|tonsofpcs]] 17:27, 13 July 2007 (CEST)&lt;br /&gt;
|-&lt;br /&gt;
|help.hpp|| [[User:Tonsofpcs|tonsofpcs]] ||*||*||*|| No strings [[User:Tonsofpcs|tonsofpcs]] 17:27, 13 July 2007 (CEST)&lt;br /&gt;
|-&lt;br /&gt;
|interaction.cpp|| [[User:Tonsofpcs|tonsofpcs]] ||PX||  || || 4 strings (2 were error), &amp;lt;del&amp;gt;changed Login &amp;gt;&amp;gt; Username&amp;lt;/del&amp;gt;, replaced a fprintf(stderr) with a msg_Error [[User:Tonsofpcs|tonsofpcs]] 17:47, 13 July 2007 (CEST)&lt;br /&gt;
|-&lt;br /&gt;
|interaction.hpp|| [[User:Tonsofpcs|tonsofpcs]] ||*||*||*||&lt;br /&gt;
&amp;lt;!-- EXAMPLE LINE:&lt;br /&gt;
|-&lt;br /&gt;
|filename.Xpp|| ~~~ || ||  || ||&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For the done columns:&lt;br /&gt;
:L = Done locally, not submitted&lt;br /&gt;
:S = SVN Checked in&lt;br /&gt;
:P = patch submitted&lt;br /&gt;
:F = entire file submitted&lt;br /&gt;
:PX = Patch submitted, checked in&lt;br /&gt;
:FX = File submitted, checked in&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; No strings, nothing to do&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Sending_Patches_VLC&amp;diff=11228</id>
		<title>Sending Patches VLC</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Sending_Patches_VLC&amp;diff=11228"/>
		<updated>2008-04-12T23:43:15Z</updated>

		<summary type="html">&lt;p&gt;Plouj: /* Sending it to the vlc-devel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How to produce a Patch ==&lt;br /&gt;
* Get the latest [[Git]] revision&lt;br /&gt;
* Make your changes and commit them&lt;br /&gt;
* Produce a patch according to [[Git#Submitting_patches_to_the_vlc-devel|the Git page]], &#039;&#039;&#039;don&#039;t send it yet&#039;&#039;&#039;, read the following before sending.&lt;br /&gt;
&lt;br /&gt;
== Writing an appropriate description ==&lt;br /&gt;
* The patch email&#039;s subject should be prefixed by &amp;quot;[PATCH]&amp;quot;.&lt;br /&gt;
* You should include a description that will be the commit log message of your patch&lt;br /&gt;
* A more &#039;&#039;&#039;exhaustive explanation&#039;&#039;&#039; is also welcomed along with your patch. This should be the &#039;&#039;&#039;second paragraph&#039;&#039;&#039; of your commit log.&lt;br /&gt;
&lt;br /&gt;
== Check List ==&lt;br /&gt;
When you send a patch make sure that:&lt;br /&gt;
* it mostly &#039;&#039;&#039;complies&#039;&#039;&#039; to the [[Code Conventions]]&lt;br /&gt;
* Make sure that it does not add more failure to &#039;&#039;&#039;`make check`&#039;&#039;&#039;&lt;br /&gt;
* Make sure that your patch is produced against the latest &#039;&#039;&#039;master branch&#039;&#039;&#039; and not 0.8.6-bugfix. [1]&lt;br /&gt;
* Make sure your patch doesn&#039;t introduce &#039;&#039;&#039;trailing spaces&#039;&#039;&#039; (&#039;&#039;git show --colored&#039;&#039; show them in red)&lt;br /&gt;
* Make sure &#039;&#039;&#039;your name is correctly set&#039;&#039;&#039;. That is, that you are using your fullname, which is correctly capitalized and so on.&lt;br /&gt;
* Read your patch one more time using &#039;&#039;&#039;&#039;&#039;git show&#039;&#039;&#039;&#039;&#039;, and check that it looks ok&lt;br /&gt;
&lt;br /&gt;
[1] Most of the time patches are against branches version such as 0.8.6 series which is not a development version. If this is a bugfix it may be backported to 0.8.6-bugfix, but should go in master branch first.&lt;br /&gt;
&lt;br /&gt;
== Sending it to the vlc-devel ==&lt;br /&gt;
Now you can send it to the [http://mailman.videolan.org/listinfo/vlc-devel vlc-devel]. Please subscribe to it before sending your patch, or else it may not got through the list&#039;s spam filters. You will be able to unsubscribe later easily if needed.&lt;br /&gt;
&lt;br /&gt;
== Getting your patch merged ==&lt;br /&gt;
* Don&#039;t hesitate to ask for review if after a week there is no replies.&lt;br /&gt;
* If there are comments, please answer to those and eventually correct your patch if possible.&lt;br /&gt;
That should ensure that your patch gets merged.&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Hacker_Guide/Object_Management&amp;diff=11227</id>
		<title>Hacker Guide/Object Management</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Hacker_Guide/Object_Management&amp;diff=11227"/>
		<updated>2008-04-12T23:36:27Z</updated>

		<summary type="html">&lt;p&gt;Plouj: /* Threads */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== VLC Object Management ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
&lt;br /&gt;
This paper will discuss VLC objects and the general object oriented practices involved in developing and extending libvlc.&lt;br /&gt;
&lt;br /&gt;
=== Object Creation ===&lt;br /&gt;
&lt;br /&gt;
In VLC everything is an object. Each object can have a parent and multiple children. The following functions are used for creating an object and attaching to parents and children. Note that this list may not be complete.  For reference see the file [http://www.videolan.org/developers/vlc/doc/doxygen/html/vlc__objects_8h.html include/vlc_objects.h].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_object_create()&#039;&#039; - create an object and set its refcount to 0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_object_destroy()&#039;&#039; - de-allocate an object iff its refcount = 0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_object_attach()&#039;&#039; - bidirectionally link an object with its parent&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_object_detach()&#039;&#039; - remove all links between an object and its parent&lt;br /&gt;
&lt;br /&gt;
=== Inheritance ===&lt;br /&gt;
&lt;br /&gt;
Objects can have multiple levels of inheritance. Each object is represented by the type &#039;&#039;vlc_object_t&#039;&#039; . Every object inherits from this type and can be cast to it. Inheritance is achieved in the C language by embedding a macro of common structure elements (VLC_COMMON_MEMBERS) inside each inherited object structure. For example, a libvlc instance of type &#039;&#039;libvlc_int_t&#039;&#039; inherits from &#039;&#039;vlc_object_t&#039;&#039; by embedding the VLC_COMMON_MEMBERS inside the &#039;&#039;libvlc_int_t structure&#039;&#039; as seen in example 1 below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Example 1:&amp;lt;/u&amp;gt; libvlc_int_t : vlc_object_t&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
struct libvlc_int_t &lt;br /&gt;
{&lt;br /&gt;
    VLC_COMMON_MEMBERS&lt;br /&gt;
&lt;br /&gt;
    /* Everything Else */&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Reference Counts ===&lt;br /&gt;
&lt;br /&gt;
In order to simplify garbage collection, every object has a reference count. When an object is created (malloc()&#039;d) its reference count is set to 0. Anytime the object is acquired for use by a caller that caller must increase its reference count by 1.  When the caller is done using the object it must decrease the object&#039;s reference count by 1. Luckily, most of this is handled by internal object management acquisition and removal functions. In order to destroy (free()) the object the reference count of the object must be 0. The following functions are used to manipulate object reference counts. Note that this list may not be complete.  For reference see the file [http://www.videolan.org/developers/vlc/doc/doxygen/html/vlc__objects_8h.html include/vlc_objects.h].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_object_yield()&#039;&#039; - increase the refcount of an object by 1. This function should only be used in object management functions! Careless usage will lead to memory leaks!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_object_release()&#039;&#039; - decrease the refcount of an object by 1. This function should only be used in object management functions! Careless usage can lead to early object destruction, while the object may still be in use!&lt;br /&gt;
&lt;br /&gt;
=== Threads ===&lt;br /&gt;
&lt;br /&gt;
VLC is a multithreaded application. Thread handling is performed by the following functions. See [http://www.videolan.org/developers/vlc/doc/doxygen/html/vlc__threads__funcs_8h.html include/vlc_threads_funcs.h].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_thread_create()&#039;&#039; - spawn a new thread&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_thread_set_priority()&#039;&#039; - set the priority of a thread&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_thread_ready()&#039;&#039; - alert the parent that we were successfully spawned&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_thread_join()&#039;&#039; - wait for a thread to exit&lt;br /&gt;
&lt;br /&gt;
=== Mutexes ===&lt;br /&gt;
&lt;br /&gt;
VLC is a shared-state multithreaded program and as such it requires objects to be protected from concurrency related issues such as race conditions. In order to protect objects a mutex object is used. The mutex is of type vlc_mutex_t and contains a pointer to the object that the mutex is protecting as well as an OS level mutex primitive. See Example 2 below for a sample declaration of &#039;&#039;vlc_mutex_t&#039;&#039; under Linux using pthreads. Actual implementations for your OS can be found in [http://www.videolan.org/developers/vlc/doc/doxygen/html/vlc__threads_8h.html include/vlc_threads.h].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Example 2:&amp;lt;/u&amp;gt; vlc_mutex_t&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
typedef struct&lt;br /&gt;
{&lt;br /&gt;
    pthread_mutex_t mutex;  /* OS primitive */&lt;br /&gt;
    vlc_object_t * p_this;  /* pointer to object that mutex protects */&lt;br /&gt;
}  vlc_mutex_t;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Operations on &#039;&#039;vlc_mutex_t&#039;&#039; objects are wrapped by VLC to enhance portability. Below is a list of operations on mutex objects. This list is incomplete. See [http://www.videolan.org/developers/vlc/doc/doxygen/html/vlc__threads__funcs_8h.html include/vlc_threads_funcs.h].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_mutex_init()&#039;&#039; - initialize a mutex&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_mutex_lock()&#039;&#039; - lock an object&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_mutex_unlock()&#039;&#039; - unlock an object&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_mutex_end()&#039;&#039; - deinitialize a mutex&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Hacker_Guide/Object_Management&amp;diff=11226</id>
		<title>Hacker Guide/Object Management</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Hacker_Guide/Object_Management&amp;diff=11226"/>
		<updated>2008-04-12T23:35:45Z</updated>

		<summary type="html">&lt;p&gt;Plouj: /* Mutexes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== VLC Object Management ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
&lt;br /&gt;
This paper will discuss VLC objects and the general object oriented practices involved in developing and extending libvlc.&lt;br /&gt;
&lt;br /&gt;
=== Object Creation ===&lt;br /&gt;
&lt;br /&gt;
In VLC everything is an object. Each object can have a parent and multiple children. The following functions are used for creating an object and attaching to parents and children. Note that this list may not be complete.  For reference see the file [http://www.videolan.org/developers/vlc/doc/doxygen/html/vlc__objects_8h.html include/vlc_objects.h].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_object_create()&#039;&#039; - create an object and set its refcount to 0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_object_destroy()&#039;&#039; - de-allocate an object iff its refcount = 0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_object_attach()&#039;&#039; - bidirectionally link an object with its parent&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_object_detach()&#039;&#039; - remove all links between an object and its parent&lt;br /&gt;
&lt;br /&gt;
=== Inheritance ===&lt;br /&gt;
&lt;br /&gt;
Objects can have multiple levels of inheritance. Each object is represented by the type &#039;&#039;vlc_object_t&#039;&#039; . Every object inherits from this type and can be cast to it. Inheritance is achieved in the C language by embedding a macro of common structure elements (VLC_COMMON_MEMBERS) inside each inherited object structure. For example, a libvlc instance of type &#039;&#039;libvlc_int_t&#039;&#039; inherits from &#039;&#039;vlc_object_t&#039;&#039; by embedding the VLC_COMMON_MEMBERS inside the &#039;&#039;libvlc_int_t structure&#039;&#039; as seen in example 1 below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Example 1:&amp;lt;/u&amp;gt; libvlc_int_t : vlc_object_t&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
struct libvlc_int_t &lt;br /&gt;
{&lt;br /&gt;
    VLC_COMMON_MEMBERS&lt;br /&gt;
&lt;br /&gt;
    /* Everything Else */&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Reference Counts ===&lt;br /&gt;
&lt;br /&gt;
In order to simplify garbage collection, every object has a reference count. When an object is created (malloc()&#039;d) its reference count is set to 0. Anytime the object is acquired for use by a caller that caller must increase its reference count by 1.  When the caller is done using the object it must decrease the object&#039;s reference count by 1. Luckily, most of this is handled by internal object management acquisition and removal functions. In order to destroy (free()) the object the reference count of the object must be 0. The following functions are used to manipulate object reference counts. Note that this list may not be complete.  For reference see the file [http://www.videolan.org/developers/vlc/doc/doxygen/html/vlc__objects_8h.html include/vlc_objects.h].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_object_yield()&#039;&#039; - increase the refcount of an object by 1. This function should only be used in object management functions! Careless usage will lead to memory leaks!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_object_release()&#039;&#039; - decrease the refcount of an object by 1. This function should only be used in object management functions! Careless usage can lead to early object destruction, while the object may still be in use!&lt;br /&gt;
&lt;br /&gt;
=== Threads ===&lt;br /&gt;
&lt;br /&gt;
VLC is a multithreaded application. Thread handling is performed by the following functions. See &#039;&#039;include/vlc_threads_funcs.h&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_thread_create()&#039;&#039; - spawn a new thread&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_thread_set_priority()&#039;&#039; - set the priority of a thread&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_thread_ready()&#039;&#039; - alert the parent that we were successfully spawned&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_thread_join()&#039;&#039; - wait for a thread to exit&lt;br /&gt;
&lt;br /&gt;
=== Mutexes ===&lt;br /&gt;
&lt;br /&gt;
VLC is a shared-state multithreaded program and as such it requires objects to be protected from concurrency related issues such as race conditions. In order to protect objects a mutex object is used. The mutex is of type vlc_mutex_t and contains a pointer to the object that the mutex is protecting as well as an OS level mutex primitive. See Example 2 below for a sample declaration of &#039;&#039;vlc_mutex_t&#039;&#039; under Linux using pthreads. Actual implementations for your OS can be found in [http://www.videolan.org/developers/vlc/doc/doxygen/html/vlc__threads_8h.html include/vlc_threads.h].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Example 2:&amp;lt;/u&amp;gt; vlc_mutex_t&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
typedef struct&lt;br /&gt;
{&lt;br /&gt;
    pthread_mutex_t mutex;  /* OS primitive */&lt;br /&gt;
    vlc_object_t * p_this;  /* pointer to object that mutex protects */&lt;br /&gt;
}  vlc_mutex_t;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Operations on &#039;&#039;vlc_mutex_t&#039;&#039; objects are wrapped by VLC to enhance portability. Below is a list of operations on mutex objects. This list is incomplete. See [http://www.videolan.org/developers/vlc/doc/doxygen/html/vlc__threads__funcs_8h.html include/vlc_threads_funcs.h].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_mutex_init()&#039;&#039; - initialize a mutex&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_mutex_lock()&#039;&#039; - lock an object&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_mutex_unlock()&#039;&#039; - unlock an object&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_mutex_end()&#039;&#039; - deinitialize a mutex&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Hacker_Guide/Object_Management&amp;diff=11225</id>
		<title>Hacker Guide/Object Management</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Hacker_Guide/Object_Management&amp;diff=11225"/>
		<updated>2008-04-12T23:31:45Z</updated>

		<summary type="html">&lt;p&gt;Plouj: /* VLC Object Management */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== VLC Object Management ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
&lt;br /&gt;
This paper will discuss VLC objects and the general object oriented practices involved in developing and extending libvlc.&lt;br /&gt;
&lt;br /&gt;
=== Object Creation ===&lt;br /&gt;
&lt;br /&gt;
In VLC everything is an object. Each object can have a parent and multiple children. The following functions are used for creating an object and attaching to parents and children. Note that this list may not be complete.  For reference see the file [http://www.videolan.org/developers/vlc/doc/doxygen/html/vlc__objects_8h.html include/vlc_objects.h].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_object_create()&#039;&#039; - create an object and set its refcount to 0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_object_destroy()&#039;&#039; - de-allocate an object iff its refcount = 0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_object_attach()&#039;&#039; - bidirectionally link an object with its parent&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_object_detach()&#039;&#039; - remove all links between an object and its parent&lt;br /&gt;
&lt;br /&gt;
=== Inheritance ===&lt;br /&gt;
&lt;br /&gt;
Objects can have multiple levels of inheritance. Each object is represented by the type &#039;&#039;vlc_object_t&#039;&#039; . Every object inherits from this type and can be cast to it. Inheritance is achieved in the C language by embedding a macro of common structure elements (VLC_COMMON_MEMBERS) inside each inherited object structure. For example, a libvlc instance of type &#039;&#039;libvlc_int_t&#039;&#039; inherits from &#039;&#039;vlc_object_t&#039;&#039; by embedding the VLC_COMMON_MEMBERS inside the &#039;&#039;libvlc_int_t structure&#039;&#039; as seen in example 1 below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Example 1:&amp;lt;/u&amp;gt; libvlc_int_t : vlc_object_t&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
struct libvlc_int_t &lt;br /&gt;
{&lt;br /&gt;
    VLC_COMMON_MEMBERS&lt;br /&gt;
&lt;br /&gt;
    /* Everything Else */&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Reference Counts ===&lt;br /&gt;
&lt;br /&gt;
In order to simplify garbage collection, every object has a reference count. When an object is created (malloc()&#039;d) its reference count is set to 0. Anytime the object is acquired for use by a caller that caller must increase its reference count by 1.  When the caller is done using the object it must decrease the object&#039;s reference count by 1. Luckily, most of this is handled by internal object management acquisition and removal functions. In order to destroy (free()) the object the reference count of the object must be 0. The following functions are used to manipulate object reference counts. Note that this list may not be complete.  For reference see the file [http://www.videolan.org/developers/vlc/doc/doxygen/html/vlc__objects_8h.html include/vlc_objects.h].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_object_yield()&#039;&#039; - increase the refcount of an object by 1. This function should only be used in object management functions! Careless usage will lead to memory leaks!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_object_release()&#039;&#039; - decrease the refcount of an object by 1. This function should only be used in object management functions! Careless usage can lead to early object destruction, while the object may still be in use!&lt;br /&gt;
&lt;br /&gt;
=== Threads ===&lt;br /&gt;
&lt;br /&gt;
VLC is a multithreaded application. Thread handling is performed by the following functions. See &#039;&#039;include/vlc_threads_funcs.h&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_thread_create()&#039;&#039; - spawn a new thread&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_thread_set_priority()&#039;&#039; - set the priority of a thread&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_thread_ready()&#039;&#039; - alert the parent that we were successfully spawned&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_thread_join()&#039;&#039; - wait for a thread to exit&lt;br /&gt;
&lt;br /&gt;
=== Mutexes ===&lt;br /&gt;
&lt;br /&gt;
VLC is a multithreaded program and as such it requires objects to be protected from concurrency related issues such as race conditions. In order to protect objects a mutex object is used. The mutex is of type vlc_mutex_t and contains a pointer to the object that the mutex is protecting as well as an OS level mutex primitive. See Example 2 below for a sample declaration of &#039;&#039;vlc_mutex_t&#039;&#039; under Linux using pthreads. Actual implementations for your OS can be found in &#039;&#039;include/vlc_threads.h&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Example 2:&amp;lt;/u&amp;gt; vlc_mutex_t&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
typedef struct&lt;br /&gt;
{&lt;br /&gt;
    pthread_mutex_t mutex;  /* OS primitive */&lt;br /&gt;
    vlc_object_t * p_this;  /* pointer to object that mutex protects */&lt;br /&gt;
}  vlc_mutex_t;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Operations on &#039;&#039;vlc_mutex_t&#039;&#039; objects are wrapped by VLC to enhance portability. Below is a list of operations on mutex objects. This list is incomplete. See &#039;&#039;include/vlc_threads_funcs.h&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_mutex_init()&#039;&#039; - initialize a mutex&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_mutex_lock()&#039;&#039; - lock an object&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_mutex_unlock()&#039;&#039; - unlock an object&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_mutex_end()&#039;&#039; - deinitialize a mutex&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Hacker_Guide/Object_Management&amp;diff=11224</id>
		<title>Hacker Guide/Object Management</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Hacker_Guide/Object_Management&amp;diff=11224"/>
		<updated>2008-04-12T23:27:03Z</updated>

		<summary type="html">&lt;p&gt;Plouj: /* VLC Object Management */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== VLC Object Management ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Introduction&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This paper will discuss VLC objects and the general object oriented practices involved in developing and extending libvlc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Object Creation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In VLC everything is an object. Each object can have a parent and multiple children. The following functions are used for creating an object and attaching to parents and children. Note that this list may not be complete.  For reference see the file [http://www.videolan.org/developers/vlc/doc/doxygen/html/vlc__objects_8h.html include/vlc_objects.h].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_object_create()&#039;&#039; - create an object and set its refcount to 0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_object_destroy()&#039;&#039; - de-allocate an object iff its refcount = 0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_object_attach()&#039;&#039; - bidirectionally link an object with its parent&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_object_detach()&#039;&#039; - remove all links between an object and its parent&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inheritance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Objects can have multiple levels of inheritance. Each object is represented by the type &#039;&#039;vlc_object_t&#039;&#039; . Every object inherits from this type and can be cast to it. Inheritance is achieved in the C language by embedding a macro of common structure elements (VLC_COMMON_MEMBERS) inside each inherited object structure. For example, a libvlc instance of type &#039;&#039;libvlc_int_t&#039;&#039; inherits from &#039;&#039;vlc_object_t&#039;&#039; by embedding the VLC_COMMON_MEMBERS inside the &#039;&#039;libvlc_int_t structure&#039;&#039; as seen in example 1 below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Example 1: libvlc_int_t : vlc_object_t&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
struct libvlc_int_t &lt;br /&gt;
{&lt;br /&gt;
    VLC_COMMON_MEMBERS&lt;br /&gt;
&lt;br /&gt;
    /* Everything Else */&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reference Counts&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In order to simplify garbage collection, every object has a reference count. When an object is created (malloc()&#039;d) its reference count is set to 0. Anytime the object is acquired for use by a caller that caller must increase its reference count by 1.  When the caller is done using the object it must decrease the object&#039;s reference count by 1. Luckily, most of this is handled by internal object management acquisition and removal functions. In order to destroy (free()) the object the reference count of the object must be 0. The following functions are used to manipulate object reference counts. Note that this list may not be complete.  For reference see the file &#039;&#039;include/vlc_objects.h&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_object_yield()&#039;&#039; - increase the refcount of an object by 1. This function should only be used in object management functions! Careless usage will lead to memory leaks!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_object_release()&#039;&#039; - decrease the refcount of an object by 1. This function should only be used in object management functions! Careless usage can lead to early object destruction, while the object may still be in use!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Threads&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
VLC is a multithreaded application. Thread handling is performed by the following functions. See &#039;&#039;include/vlc_threads_funcs.h&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_thread_create()&#039;&#039; - spawn a new thread&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_thread_set_priority()&#039;&#039; - set the priority of a thread&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_thread_ready()&#039;&#039; - alert the parent that we were successfully spawned&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_thread_join()&#039;&#039; - wait for a thread to exit&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mutexes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
VLC is a multithreaded program and as such it requires objects to be protected from concurrency related issues such as race conditions. In order to protect objects a mutex object is used. The mutex is of type vlc_mutex_t and contains a pointer to the object that the mutex is protecting as well as an OS level mutex primitive. See Example 2 below for a sample declaration of &#039;&#039;vlc_mutex_t&#039;&#039; under Linux using pthreads. Actual implementations for your OS can be found in &#039;&#039;include/vlc_threads.h&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Example 2: vlc_mutex_t&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
typedef struct&lt;br /&gt;
{&lt;br /&gt;
    pthread_mutex_t mutex;  /* OS primitive */&lt;br /&gt;
    vlc_object_t * p_this;  /* pointer to object that mutex protects */&lt;br /&gt;
}  vlc_mutex_t;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Operations on &#039;&#039;vlc_mutex_t&#039;&#039; objects are wrapped by VLC to enhance portability. Below is a list of operations on mutex objects. This list is incomplete. See &#039;&#039;include/vlc_threads_funcs.h&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_mutex_init()&#039;&#039; - initialize a mutex&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_mutex_lock()&#039;&#039; - lock an object&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_mutex_unlock()&#039;&#039; - unlock an object&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;vlc_mutex_end()&#039;&#039; - deinitialize a mutex&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Playlist&amp;diff=11223</id>
		<title>Playlist</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Playlist&amp;diff=11223"/>
		<updated>2008-04-12T23:10:41Z</updated>

		<summary type="html">&lt;p&gt;Plouj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Playlists are files that contain information on which files to play. Usually they are plain text files with paths to the files to play. Example:&lt;br /&gt;
&lt;br /&gt;
 rock.mp3&lt;br /&gt;
 classical.mp3&lt;br /&gt;
 OTHER\new.mp3&lt;br /&gt;
&lt;br /&gt;
This file would instruct the player to first play the file rock.mp3, then classical.mp3 and lastly the file new.mp3 which is in the directory OTHER.&lt;br /&gt;
&lt;br /&gt;
* [[M3U]]&lt;br /&gt;
* [[PLS]]&lt;br /&gt;
* [[ASX]]&lt;br /&gt;
* [[XSPF]]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* &#039;&#039;&#039;See also [[:Category:Playlist]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Playlist]]&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11208</id>
		<title>SoC 2008/PanoramaViewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11208"/>
		<updated>2008-04-11T15:54:16Z</updated>

		<summary type="html">&lt;p&gt;Plouj: /* Panorama Viewing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Google Summer of Code 2008 =&lt;br /&gt;
== Panorama Viewing ==&lt;br /&gt;
=== Abstract ===&lt;br /&gt;
The goal of this project is to make VLC a one-stop solution for viewing panoramas of various formats. Currently, FreePV is the best/only cross-platform, non-proprietary solution for viewing QuickTimeVR and plain image panoramas. However it suffers from a few drawbacks, which include difficult installation, browser plug-in conflicts and low popularity. The intent is to integrate the FreePV rendering code with VLC. This should not only automatically alleviate installation difficulty and plug-in conflicts, but also bring panorama viewing to a much larger audience.&lt;br /&gt;
This project will initially focus on basic support for QTVR files and equirectangular images.&lt;br /&gt;
&lt;br /&gt;
=== Detailed Description ===&lt;br /&gt;
The way I see it, based on rudimentary knowledge of the VLC internals, is that technically this project is about writing a codec to handle QTVR and an output module for viewing frames projected onto the inside of a rotatable OpenGL sphere.&lt;br /&gt;
&lt;br /&gt;
==== My Commitment ====&lt;br /&gt;
I&#039;m committed to work at least 40 hours per week for the duration of the GSoC on this project except for the first week in April when I will be busy with final exams, and another one week (to be determined) when I will be gone on vacation.&lt;br /&gt;
&lt;br /&gt;
==== Collaboration with the FreePV dev team ====&lt;br /&gt;
Since this project was born out of an explicit idea[http://thread.gmane.org/gmane.comp.video.videolan.vlc.devel/35336] from the FreePV developers and because they promised it in a private e-mail I am certain that they are willing to help me in this project as best they can.&lt;br /&gt;
&lt;br /&gt;
==== Plan ====&lt;br /&gt;
This plan is based on the dates in the [http://code.google.com/opensource/gsoc/2008/faqs.html#0.1_timeline GSoC 2008 timeline]&lt;br /&gt;
* &#039;&#039;&#039;March 31&#039;&#039;&#039; - week 1&lt;br /&gt;
* write e-mails to the hugin and vlc-devel mailing lists asking for suggestions/ideas&lt;br /&gt;
* &#039;&#039;&#039;April 7&#039;&#039;&#039; - week 2&lt;br /&gt;
* study for exams and finish school assignments&lt;br /&gt;
* write a patch for VLC&lt;br /&gt;
* &#039;&#039;&#039;April 14&#039;&#039;&#039; - week 3&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;April 21&#039;&#039;&#039; - week 4&lt;br /&gt;
* figure out the interaction requirements for panorama viewing and how this will affect VLC as a whole&lt;br /&gt;
* decide (along with other developers) whether FreePV can be turned into a stand-alone, separately developed library that can be used by VLC to display panoramas&lt;br /&gt;
* think about how panorama viewing fits in with VLC. It should act as a codec for QTVR files, but it should also be able to use any 2d images/frames for panoramas (act as an output module?).&lt;br /&gt;
* make a list of QTVR functionality present in FreePV - aim to replicate this list in VLC&lt;br /&gt;
* identify which parts of FreePV can be used as a VLC module&lt;br /&gt;
* &#039;&#039;&#039;April 28&#039;&#039;&#039; - week 5&lt;br /&gt;
* write a plant of what will need to be changed/added in/to VLC&lt;br /&gt;
* by now I should have a good idea of how things fit together&lt;br /&gt;
* &#039;&#039;&#039;May 5&#039;&#039;&#039; - week 6&lt;br /&gt;
* learn to write a codec/demuxer module to handle QTVRs&lt;br /&gt;
* get an understanding of the QTVR format (possible start: http://developer.apple.com/documentation/QuickTime/InsideQT_QTVR/6Chap/chapter_6_section_1.html and the [http://freepv.sourceforge.net/ FreePV] code)&lt;br /&gt;
* &#039;&#039;&#039;May 12&#039;&#039;&#039; - week 7&lt;br /&gt;
* &#039;&#039;&#039;May 19&#039;&#039;&#039; - week 8&lt;br /&gt;
* &#039;&#039;&#039;May 26&#039;&#039;&#039; - week 9 - Students begin coding for their GSoC projects;&lt;br /&gt;
* &#039;&#039;&#039;June 2&#039;&#039;&#039; - week 10&lt;br /&gt;
* &#039;&#039;&#039;June 9&#039;&#039;&#039; - week 11&lt;br /&gt;
* &#039;&#039;&#039;June 16&#039;&#039;&#039; - week 12&lt;br /&gt;
* should be able to view image panoramas&lt;br /&gt;
* &#039;&#039;&#039;June 23&#039;&#039;&#039; - week 13&lt;br /&gt;
* &#039;&#039;&#039;June 30&#039;&#039;&#039; - week 14&lt;br /&gt;
* &#039;&#039;&#039;July 7&#039;&#039;&#039; - week 15&lt;br /&gt;
* simple QTVRs should be viewable by now&lt;br /&gt;
* &#039;&#039;&#039;July 14&#039;&#039;&#039; - week 16 - Mid-term evaluations deadline;&lt;br /&gt;
* &#039;&#039;&#039;July 21&#039;&#039;&#039; - week 17&lt;br /&gt;
* &#039;&#039;&#039;July 28&#039;&#039;&#039; - week 18&lt;br /&gt;
* should support a number of different projections and do everything that FreePV can with QTVR&lt;br /&gt;
* &#039;&#039;&#039;August 4&#039;&#039;&#039; - week 19&lt;br /&gt;
* &#039;&#039;&#039;August 11&#039;&#039;&#039; - week 20&lt;br /&gt;
* &#039;&#039;&#039;August 18&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Module Options ====&lt;br /&gt;
* type of panorama: equirectangular,cylindrical,littleplanet,cubic...&lt;br /&gt;
* default FOV aka zoom&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11155</id>
		<title>SoC 2008/PanoramaViewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11155"/>
		<updated>2008-03-30T12:44:45Z</updated>

		<summary type="html">&lt;p&gt;Plouj: /* Panorama Viewing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Google Summer of Code 2008 =&lt;br /&gt;
== Panorama Viewing ==&lt;br /&gt;
=== Abstract ===&lt;br /&gt;
The goal of this project is to make VLC a one-stop solution for viewing panoramas of various formats. Currently, FreePV is the best/only cross-platform, non-proprietary solution for viewing QuickTimeVR and plain image panoramas. However it suffers from a few drawbacks, which include difficult installation, browser plug-in conflicts and low popularity. The intent is to integrate the FreePV rendering code with VLC. This should not only automatically alleviate installation difficulty and plug-in conflicts, but also bring panorama viewing to a much larger audience.&lt;br /&gt;
This project will initially focus on basic support for QTVR files and equirectangular images.&lt;br /&gt;
&lt;br /&gt;
=== Detailed Description ===&lt;br /&gt;
The way I see it, based on rudimentary knowledge of the VLC internals, is that technically this project is about writing a codec to handle QTVR and an output module for viewing frames projected onto the inside of a rotatable OpenGL sphere.&lt;br /&gt;
&lt;br /&gt;
==== My Commitment ====&lt;br /&gt;
I&#039;m committed to work at least 40 hours per week for the duration of the GSoC on this project except for the first week in April when I will be busy with final exams, and another one week (to be determined) when I will be gone on vacation.&lt;br /&gt;
&lt;br /&gt;
==== Collaboration with the FreePV dev team ====&lt;br /&gt;
Since this project was born out of an explicit idea[http://thread.gmane.org/gmane.comp.video.videolan.vlc.devel/35336] from the FreePV developers and because they promised it in a private e-mail I am certain that they are willing to help me in this project as best they can.&lt;br /&gt;
&lt;br /&gt;
==== Plan ====&lt;br /&gt;
This plan is based on the dates in the [http://code.google.com/opensource/gsoc/2008/faqs.html#0.1_timeline GSoC 2008 timeline]&lt;br /&gt;
* &#039;&#039;&#039;March 31&#039;&#039;&#039; - week 1&lt;br /&gt;
* write e-mails to the hugin and vlc-devel mailing lists asking for suggestions/ideas&lt;br /&gt;
* think about how panorama viewing fits in with VLC. It should act as a codec for QTVR files, but it should also be able to use any 2d images/frames for panoramas (act as an output module?).&lt;br /&gt;
* study for exams and finish school assignments&lt;br /&gt;
* &#039;&#039;&#039;April 7&#039;&#039;&#039; - week 2&lt;br /&gt;
* figure out the interaction requirements for panorama viewing and how this will affect VLC as a whole&lt;br /&gt;
* learn to write a codec/demuxer module to handle QTVRs&lt;br /&gt;
* decide (along with other developers) whether FreePV can be turned into a stand-alone, separately developed library that can be used by VLC to display panoramas&lt;br /&gt;
* &#039;&#039;&#039;April 14&#039;&#039;&#039; - week 3&lt;br /&gt;
* learn to write output modules for VLC&lt;br /&gt;
* &#039;&#039;&#039;April 21&#039;&#039;&#039; - week 4&lt;br /&gt;
* get an understanding of the QTVR format (possible start: http://developer.apple.com/documentation/QuickTime/InsideQT_QTVR/6Chap/chapter_6_section_1.html and the [http://freepv.sourceforge.net/ FreePV] code)&lt;br /&gt;
* &#039;&#039;&#039;April 28&#039;&#039;&#039; - week 5&lt;br /&gt;
* make a list of QTVR functionality present in FreePV - aim to replicate this list in VLC&lt;br /&gt;
* identify which parts of FreePV can be used as a VLC module&lt;br /&gt;
* by now I should have a good idea of how things fit together&lt;br /&gt;
* &#039;&#039;&#039;May 5&#039;&#039;&#039; - week 6&lt;br /&gt;
* &#039;&#039;&#039;May 12&#039;&#039;&#039; - week 7&lt;br /&gt;
* &#039;&#039;&#039;May 19&#039;&#039;&#039; - week 8&lt;br /&gt;
* &#039;&#039;&#039;May 26&#039;&#039;&#039; - week 9 - Students begin coding for their GSoC projects;&lt;br /&gt;
* &#039;&#039;&#039;June 2&#039;&#039;&#039; - week 10&lt;br /&gt;
* &#039;&#039;&#039;June 9&#039;&#039;&#039; - week 11&lt;br /&gt;
* &#039;&#039;&#039;June 16&#039;&#039;&#039; - week 12&lt;br /&gt;
* should be able to view image panoramas&lt;br /&gt;
* &#039;&#039;&#039;June 23&#039;&#039;&#039; - week 13&lt;br /&gt;
* &#039;&#039;&#039;June 30&#039;&#039;&#039; - week 14&lt;br /&gt;
* &#039;&#039;&#039;July 7&#039;&#039;&#039; - week 15&lt;br /&gt;
* simple QTVRs should be viewable by now&lt;br /&gt;
* &#039;&#039;&#039;July 14&#039;&#039;&#039; - week 16 - Mid-term evaluations deadline;&lt;br /&gt;
* &#039;&#039;&#039;July 21&#039;&#039;&#039; - week 17&lt;br /&gt;
* &#039;&#039;&#039;July 28&#039;&#039;&#039; - week 18&lt;br /&gt;
* should support a number of different projections and do everything that FreePV can with QTVR&lt;br /&gt;
* &#039;&#039;&#039;August 4&#039;&#039;&#039; - week 19&lt;br /&gt;
* &#039;&#039;&#039;August 11&#039;&#039;&#039; - week 20&lt;br /&gt;
* &#039;&#039;&#039;August 18&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Module Options ====&lt;br /&gt;
* type of panorama: equirectangular,cylindrical,littleplanet,cubic...&lt;br /&gt;
* default FOV aka zoom&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Test_Suite&amp;diff=11153</id>
		<title>Test Suite</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Test_Suite&amp;diff=11153"/>
		<updated>2008-03-30T02:59:05Z</updated>

		<summary type="html">&lt;p&gt;Plouj: /* What exists */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Intro ==&lt;br /&gt;
We need a better test suite&lt;br /&gt;
&lt;br /&gt;
== What exists ==&lt;br /&gt;
&lt;br /&gt;
=== autotools test suite ===&lt;br /&gt;
Currently you can run the following command to run the vlc tests&lt;br /&gt;
 $ make check&lt;br /&gt;
&lt;br /&gt;
=== /tests ===&lt;br /&gt;
To run these tests just use the driver shell script in that directory:&lt;br /&gt;
 $ ./test.sh&lt;br /&gt;
&lt;br /&gt;
There are more tests in /modules/misc/tests.  -- &#039;&#039;How to run them?&#039;&#039; [[User:Pdherbemont|Pdherbemont]] 10:37, 27 February 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
* Core tests: Make sure the regular operation from VLC&#039;s core don&#039;t crash.&lt;br /&gt;
* API tests: Make sure the regular operation from VLC&#039;s core don&#039;t crash.&lt;br /&gt;
* General stability tests: Run some every day operation and see if it crashes.&lt;br /&gt;
* Codec/muxer/modules test: Perform tests on modules to see if they actually works, that means see if their output is what there are ought to be&lt;br /&gt;
* Interface tests: Run some every day gui operation and see if it crashes.&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11148</id>
		<title>SoC 2008/PanoramaViewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11148"/>
		<updated>2008-03-29T23:43:17Z</updated>

		<summary type="html">&lt;p&gt;Plouj: /* Panorama Viewing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Google Summer of Code 2008 =&lt;br /&gt;
== Panorama Viewing ==&lt;br /&gt;
=== Abstract ===&lt;br /&gt;
The goal of this project is to make VLC a one-stop solution for viewing panoramas of various formats. Currently, FreePV is the best/only cross-platform, non-proprietary solution for viewing QuickTimeVR and plain image panoramas. However it suffers from a few drawbacks, which include difficult installation, browser plug-in conflicts and low popularity. The intent is to integrate the FreePV rendering code with VLC. This should not only automatically alleviate installation difficulty and plug-in conflicts, but also bring panorama viewing to a much larger audience.&lt;br /&gt;
This project will initially focus on basic support for QTVR files and equirectangular images.&lt;br /&gt;
&lt;br /&gt;
=== Detailed Description ===&lt;br /&gt;
The way I see it, based on rudimentary knowledge of the VLC internals, is that technically this project is about writing a codec to handle QTVR and an output module for viewing frames projected onto the inside of a rotatable OpenGL sphere.&lt;br /&gt;
&lt;br /&gt;
==== My Commitment ====&lt;br /&gt;
I&#039;m committed to work at least 40 hours per week for the duration of the GSoC on this project except for the first week in April when I will be busy with final exams, and another one week (to be determined) when I will be gone on vacation.&lt;br /&gt;
&lt;br /&gt;
=== Collaboration with the FreePV dev team ===&lt;br /&gt;
Since this project was born out of an explicit idea[http://thread.gmane.org/gmane.comp.video.videolan.vlc.devel/35336] from the FreePV developers and because they promised it in a private e-mail I am certain that they are willing to help me in this project as best they can.&lt;br /&gt;
&lt;br /&gt;
==== Plan ====&lt;br /&gt;
This plan is based on the dates in the [http://code.google.com/opensource/gsoc/2008/faqs.html#0.1_timeline GSoC 2008 timeline]&lt;br /&gt;
* &#039;&#039;&#039;March 31&#039;&#039;&#039; - week 1&lt;br /&gt;
* write e-mails to the hugin and vlc-devel mailing lists asking for suggestions/ideas&lt;br /&gt;
* think about how panorama viewing fits in with VLC. It should act as a codec for QTVR files, but it should also be able to use any 2d images/frames for panoramas (act as an output module?).&lt;br /&gt;
* study for exams and finish school assignments&lt;br /&gt;
* &#039;&#039;&#039;April 7&#039;&#039;&#039; - week 2&lt;br /&gt;
* figure out the interaction requirements for panorama viewing and how this will affect VLC as a whole&lt;br /&gt;
* learn to write a codec/demuxer module to handle QTVRs&lt;br /&gt;
* decide (along with other developers) whether FreePV can be turned into a stand-alone, separately developed library that can be used by VLC to display panoramas&lt;br /&gt;
* &#039;&#039;&#039;April 14&#039;&#039;&#039; - week 3&lt;br /&gt;
* learn to write output modules for VLC&lt;br /&gt;
* &#039;&#039;&#039;April 21&#039;&#039;&#039; - week 4&lt;br /&gt;
* get an understanding of the QTVR format (possible start: http://developer.apple.com/documentation/QuickTime/InsideQT_QTVR/6Chap/chapter_6_section_1.html and the [http://freepv.sourceforge.net/ FreePV] code)&lt;br /&gt;
* &#039;&#039;&#039;April 28&#039;&#039;&#039; - week 5&lt;br /&gt;
* make a list of QTVR functionality present in FreePV - aim to replicate this list in VLC&lt;br /&gt;
* identify which parts of FreePV can be used as a VLC module&lt;br /&gt;
* by now I should have a good idea of how things fit together&lt;br /&gt;
* &#039;&#039;&#039;May 5&#039;&#039;&#039; - week 6&lt;br /&gt;
* &#039;&#039;&#039;May 12&#039;&#039;&#039; - week 7&lt;br /&gt;
* &#039;&#039;&#039;May 19&#039;&#039;&#039; - week 8&lt;br /&gt;
* &#039;&#039;&#039;May 26&#039;&#039;&#039; - week 9 - Students begin coding for their GSoC projects;&lt;br /&gt;
* &#039;&#039;&#039;June 2&#039;&#039;&#039; - week 10&lt;br /&gt;
* &#039;&#039;&#039;June 9&#039;&#039;&#039; - week 11&lt;br /&gt;
* &#039;&#039;&#039;June 16&#039;&#039;&#039; - week 12&lt;br /&gt;
* should be able to view image panoramas&lt;br /&gt;
* &#039;&#039;&#039;June 23&#039;&#039;&#039; - week 13&lt;br /&gt;
* &#039;&#039;&#039;June 30&#039;&#039;&#039; - week 14&lt;br /&gt;
* &#039;&#039;&#039;July 7&#039;&#039;&#039; - week 15&lt;br /&gt;
* simple QTVRs should be viewable by now&lt;br /&gt;
* &#039;&#039;&#039;July 14&#039;&#039;&#039; - week 16 - Mid-term evaluations deadline;&lt;br /&gt;
* &#039;&#039;&#039;July 21&#039;&#039;&#039; - week 17&lt;br /&gt;
* &#039;&#039;&#039;July 28&#039;&#039;&#039; - week 18&lt;br /&gt;
* should support a number of different projections and do everything that FreePV can with QTVR&lt;br /&gt;
* &#039;&#039;&#039;August 4&#039;&#039;&#039; - week 19&lt;br /&gt;
* &#039;&#039;&#039;August 11&#039;&#039;&#039; - week 20&lt;br /&gt;
* &#039;&#039;&#039;August 18&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Module Options ====&lt;br /&gt;
* type of panorama: equirectangular,cylindrical,littleplanet,cubic...&lt;br /&gt;
* default FOV aka zoom&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11130</id>
		<title>SoC 2008/PanoramaViewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11130"/>
		<updated>2008-03-27T15:18:27Z</updated>

		<summary type="html">&lt;p&gt;Plouj: /* My Commitment */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Google Summer of Code 2008 =&lt;br /&gt;
== Panorama Viewing ==&lt;br /&gt;
=== Abstract ===&lt;br /&gt;
The goal of this project is to make VLC a one-stop solution for viewing panoramas of various formats. Currently, FreePV is the best/only cross-platform, non-proprietary solution for viewing QuickTimeVR and plain image panoramas. However it suffers from a few drawbacks, which include difficult installation, browser plug-in conflicts and low popularity. The intent is to integrate the FreePV rendering code with VLC. This should not only automatically alleviate installation difficulty and plug-in conflicts, but also bring panorama viewing to a much larger audience.&lt;br /&gt;
This project will initially focus on basic support for QTVR files and equirectangular images.&lt;br /&gt;
&lt;br /&gt;
=== Detailed Description ===&lt;br /&gt;
The way I see it, based on rudimentary knowledge of the VLC internals, is that technically this project is about writing a codec to handle QTVR and an output module for viewing frames projected onto the inside of a rotatable OpenGL sphere.&lt;br /&gt;
==== My Commitment ====&lt;br /&gt;
I&#039;m committed to work at least 40 hours per week for the duration of the GSoC on this project except for the first week in April when I will be busy with final exams, and another one week (to be determined) when I will be gone on vacation.&lt;br /&gt;
&lt;br /&gt;
==== Plan ====&lt;br /&gt;
This plan is based on the dates in the [http://code.google.com/opensource/gsoc/2008/faqs.html#0.1_timeline GSoC 2008 timeline]&lt;br /&gt;
* &#039;&#039;&#039;March 31&#039;&#039;&#039; - week 1&lt;br /&gt;
* write e-mails to the hugin and vlc-devel mailing lists asking for suggestions/ideas&lt;br /&gt;
* think about how panorama viewing fits in with VLC. It should act as a codec for QTVR files, but it should also be able to use any 2d images/frames for panoramas (act as an output module?).&lt;br /&gt;
* study for exams and finish school assignments&lt;br /&gt;
* &#039;&#039;&#039;April 7&#039;&#039;&#039; - week 2&lt;br /&gt;
* learn to write a codec/demuxer module to handle QTVRs&lt;br /&gt;
* decide (along with other developers) whether FreePV can be turned into a stand-alone, separately developed library that can be used by VLC to display panoramas&lt;br /&gt;
* &#039;&#039;&#039;April 14&#039;&#039;&#039; - week 3&lt;br /&gt;
* learn to write output modules for VLC&lt;br /&gt;
* &#039;&#039;&#039;April 21&#039;&#039;&#039; - week 4&lt;br /&gt;
* get an understanding of the QTVR format (possible start: http://developer.apple.com/documentation/QuickTime/InsideQT_QTVR/6Chap/chapter_6_section_1.html and the [http://freepv.sourceforge.net/ FreePV] code)&lt;br /&gt;
* &#039;&#039;&#039;April 28&#039;&#039;&#039; - week 5&lt;br /&gt;
* make a list of QTVR functionality present in FreePV - aim to replicate this list in VLC&lt;br /&gt;
* identify which parts of FreePV can be used as a VLC module&lt;br /&gt;
* by now I should have a good idea of how things fit together&lt;br /&gt;
* &#039;&#039;&#039;May 5&#039;&#039;&#039; - week 6&lt;br /&gt;
* &#039;&#039;&#039;May 12&#039;&#039;&#039; - week 7&lt;br /&gt;
* &#039;&#039;&#039;May 19&#039;&#039;&#039; - week 8&lt;br /&gt;
* &#039;&#039;&#039;May 26&#039;&#039;&#039; - week 9 - Students begin coding for their GSoC projects;&lt;br /&gt;
* &#039;&#039;&#039;June 2&#039;&#039;&#039; - week 10&lt;br /&gt;
* &#039;&#039;&#039;June 9&#039;&#039;&#039; - week 11&lt;br /&gt;
* &#039;&#039;&#039;June 16&#039;&#039;&#039; - week 12&lt;br /&gt;
* should be able to view image panoramas&lt;br /&gt;
* &#039;&#039;&#039;June 23&#039;&#039;&#039; - week 13&lt;br /&gt;
* &#039;&#039;&#039;June 30&#039;&#039;&#039; - week 14&lt;br /&gt;
* &#039;&#039;&#039;July 7&#039;&#039;&#039; - week 15&lt;br /&gt;
* simple QTVRs should be viewable by now&lt;br /&gt;
* &#039;&#039;&#039;July 14&#039;&#039;&#039; - week 16 - Mid-term evaluations deadline;&lt;br /&gt;
* &#039;&#039;&#039;July 21&#039;&#039;&#039; - week 17&lt;br /&gt;
* &#039;&#039;&#039;July 28&#039;&#039;&#039; - week 18&lt;br /&gt;
* should support a number of different projections and do everything that FreePV can with QTVR&lt;br /&gt;
* &#039;&#039;&#039;August 4&#039;&#039;&#039; - week 19&lt;br /&gt;
* &#039;&#039;&#039;August 11&#039;&#039;&#039; - week 20&lt;br /&gt;
* &#039;&#039;&#039;August 18&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Module Options ====&lt;br /&gt;
* type of panorama: equirectangular,cylindrical,littleplanet,cubic...&lt;br /&gt;
* default FOV aka zoom&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11119</id>
		<title>SoC 2008/PanoramaViewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11119"/>
		<updated>2008-03-26T17:01:23Z</updated>

		<summary type="html">&lt;p&gt;Plouj: /* Panorama Viewing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Google Summer of Code 2008 =&lt;br /&gt;
== Panorama Viewing ==&lt;br /&gt;
=== Abstract ===&lt;br /&gt;
The goal of this project is to make VLC a one-stop solution for viewing panoramas of various formats. Currently, FreePV is the best/only cross-platform, non-proprietary solution for viewing QuickTimeVR and plain image panoramas. However it suffers from a few drawbacks, which include difficult installation, browser plug-in conflicts and low popularity. The intent is to integrate the FreePV rendering code with VLC. This should not only automatically alleviate installation difficulty and plug-in conflicts, but also bring panorama viewing to a much larger audience.&lt;br /&gt;
This project will initially focus on basic support for QTVR files and equirectangular images.&lt;br /&gt;
&lt;br /&gt;
=== Detailed Description ===&lt;br /&gt;
The way I see it, based on rudimentary knowledge of the VLC internals, is that technically this project is about writing a codec to handle QTVR and an output module for viewing frames projected onto the inside of a rotatable OpenGL sphere.&lt;br /&gt;
==== My Commitment ====&lt;br /&gt;
I&#039;m committed to work at least 40 hours per week for the duration of the GSoC on this project except for the first week in April when I will be busy with final exams.&lt;br /&gt;
&lt;br /&gt;
==== Plan ====&lt;br /&gt;
This plan is based on the dates in the [http://code.google.com/opensource/gsoc/2008/faqs.html#0.1_timeline GSoC 2008 timeline]&lt;br /&gt;
* &#039;&#039;&#039;March 31&#039;&#039;&#039; - week 1&lt;br /&gt;
* write e-mails to the hugin and vlc-devel mailing lists asking for suggestions/ideas&lt;br /&gt;
* think about how panorama viewing fits in with VLC. It should act as a codec for QTVR files, but it should also be able to use any 2d images/frames for panoramas (act as an output module?).&lt;br /&gt;
* study for exams and finish school assignments&lt;br /&gt;
* &#039;&#039;&#039;April 7&#039;&#039;&#039; - week 2&lt;br /&gt;
* learn to write a codec/demuxer module to handle QTVRs&lt;br /&gt;
* decide (along with other developers) whether FreePV can be turned into a stand-alone, separately developed library that can be used by VLC to display panoramas&lt;br /&gt;
* &#039;&#039;&#039;April 14&#039;&#039;&#039; - week 3&lt;br /&gt;
* learn to write output modules for VLC&lt;br /&gt;
* &#039;&#039;&#039;April 21&#039;&#039;&#039; - week 4&lt;br /&gt;
* get an understanding of the QTVR format (possible start: http://developer.apple.com/documentation/QuickTime/InsideQT_QTVR/6Chap/chapter_6_section_1.html and the [http://freepv.sourceforge.net/ FreePV] code)&lt;br /&gt;
* &#039;&#039;&#039;April 28&#039;&#039;&#039; - week 5&lt;br /&gt;
* make a list of QTVR functionality present in FreePV - aim to replicate this list in VLC&lt;br /&gt;
* identify which parts of FreePV can be used as a VLC module&lt;br /&gt;
* by now I should have a good idea of how things fit together&lt;br /&gt;
* &#039;&#039;&#039;May 5&#039;&#039;&#039; - week 6&lt;br /&gt;
* &#039;&#039;&#039;May 12&#039;&#039;&#039; - week 7&lt;br /&gt;
* &#039;&#039;&#039;May 19&#039;&#039;&#039; - week 8&lt;br /&gt;
* &#039;&#039;&#039;May 26&#039;&#039;&#039; - week 9 - Students begin coding for their GSoC projects;&lt;br /&gt;
* &#039;&#039;&#039;June 2&#039;&#039;&#039; - week 10&lt;br /&gt;
* &#039;&#039;&#039;June 9&#039;&#039;&#039; - week 11&lt;br /&gt;
* &#039;&#039;&#039;June 16&#039;&#039;&#039; - week 12&lt;br /&gt;
* should be able to view image panoramas&lt;br /&gt;
* &#039;&#039;&#039;June 23&#039;&#039;&#039; - week 13&lt;br /&gt;
* &#039;&#039;&#039;June 30&#039;&#039;&#039; - week 14&lt;br /&gt;
* &#039;&#039;&#039;July 7&#039;&#039;&#039; - week 15&lt;br /&gt;
* simple QTVRs should be viewable by now&lt;br /&gt;
* &#039;&#039;&#039;July 14&#039;&#039;&#039; - week 16 - Mid-term evaluations deadline;&lt;br /&gt;
* &#039;&#039;&#039;July 21&#039;&#039;&#039; - week 17&lt;br /&gt;
* &#039;&#039;&#039;July 28&#039;&#039;&#039; - week 18&lt;br /&gt;
* should support a number of different projections and do everything that FreePV can with QTVR&lt;br /&gt;
* &#039;&#039;&#039;August 4&#039;&#039;&#039; - week 19&lt;br /&gt;
* &#039;&#039;&#039;August 11&#039;&#039;&#039; - week 20&lt;br /&gt;
* &#039;&#039;&#039;August 18&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Module Options ====&lt;br /&gt;
* type of panorama: equirectangular,cylindrical,littleplanet,cubic...&lt;br /&gt;
* default FOV aka zoom&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=VLC_Dev_Projects&amp;diff=11118</id>
		<title>VLC Dev Projects</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=VLC_Dev_Projects&amp;diff=11118"/>
		<updated>2008-03-25T22:09:53Z</updated>

		<summary type="html">&lt;p&gt;Plouj: /* Video Filters */ trac -&amp;gt; gitweb&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of small independent improvements to {{VLC}} for which we are looking for interested developers, because we simply don&#039;t have enough time.&lt;br /&gt;
&lt;br /&gt;
These do not require advanced knowledge of VLC internals but they can still vastly improve many parts of VLC&lt;br /&gt;
&lt;br /&gt;
For each project, we list a contact person, who knows the subject best and who will be able to assist you if you are interested in working on these. We generally are very often present on irc.videolan.org, chan #videolan, so please don&#039;t hesitate to drop by or to send a mail if you are interested in a given problem (our mail adresses are generally &amp;lt;nick&amp;gt;@videolan.org).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Be careful, some projects may be unrelated, or deprecated, because of fast evolving software! Ask before !&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Easy projects =&lt;br /&gt;
&lt;br /&gt;
These projects are junior projects, the most easy ones to do, that require minimum knowledge of VLC.&lt;br /&gt;
&lt;br /&gt;
We also have a number of &amp;quot;easy&amp;quot; bugs. You can check them out [http://trac.videolan.org/vlc/query?status=new&amp;amp;status=assigned&amp;amp;status=reopened&amp;amp;difficulty=easy&amp;amp;order=priority` here]&lt;br /&gt;
&lt;br /&gt;
== Code Janitorial ==&lt;br /&gt;
It basically means to clean the code, it is helpful for all programmers. It helps to find bugs, and is a good way to learn about VLC&#039;s internals.&lt;br /&gt;
&lt;br /&gt;
It is covered in the [[Code Janitorial]] section.&lt;br /&gt;
&lt;br /&gt;
if you feel confortable with english language, be sure to have a look to  [[QT4StringsReview|the QT4 Strings Review]].&lt;br /&gt;
&lt;br /&gt;
== Video Filters ==&lt;br /&gt;
You can do video filters for {{VLC}}.&lt;br /&gt;
&lt;br /&gt;
You can inspire yourself on this &lt;br /&gt;
[http://movavi.com/enhancemovie/filters.html list of filters] from a commercial product.&lt;br /&gt;
&lt;br /&gt;
You can start the code [http://git.videolan.org/?p=vlc.git;a=tree;f=modules/video_filter here].&lt;br /&gt;
&lt;br /&gt;
== LastFM radios ==&lt;br /&gt;
&lt;br /&gt;
http://gabistapler.de/blog/index.php?/archives/268-Play-last.fm-streams-without-the-player.html&lt;br /&gt;
&lt;br /&gt;
Talk to dionoea or funman&lt;br /&gt;
&lt;br /&gt;
= Network = &lt;br /&gt;
&lt;br /&gt;
== Performant VLC streaming server ==&lt;br /&gt;
&lt;br /&gt;
There are many bottlenecks currently limiting the performance and scalability of VLC as a streaming server:&lt;br /&gt;
* The I/O blocks are linear, which implies lots of avoidable memory copying and dynamic memory allocations (particularly in the streaming output).&lt;br /&gt;
* mdate() (the timestamping function) is invoked in too many places to count them; but it is not a cheap operation on modern systems and should be avoided on the fast path. Ideally, a single thread would only need to call mdate() at most once per wake-up. In some case, mdate() is only used for debugging purpose which is really inefficient.&lt;br /&gt;
* The HTTP/RTSP core is single-threaded. This prevents scaling to SMP systems (which are the norm on server-side nowadays) properly. This also implies not very scalable I/O event polling. Finally, this gets problematic if one HTTP/RTSP client triggers a computationally intensive operation (such as establishing a TLS context if HTTP/SSL is used).&lt;br /&gt;
* There are many dynamic memory allocations that could be avoided. Video filters and codecs are very careful about this, but the stream output plugins are not. In many case, a stack-based buffer can be used (stack buffer, has constant time fast lock-less allocation, and needs not be freed explicitly) instead.&lt;br /&gt;
* The messaging subsystems might be adding more locking (needs checking); this should be avoided particularly if the message is anyway ignord (e.g. debug message in non-debug mode).&lt;br /&gt;
&lt;br /&gt;
Other improvements that would be particularly benefitial on the server side:&lt;br /&gt;
&lt;br /&gt;
* Memory allocation failure are not always duly handled. In some cases, that could potentially be leveraged by a client to crash a VLC server by causing a very large allocation attempt.&lt;br /&gt;
* Rewrite and revive the root wrapper to allow VLC to bind to the RTSP (554) port while not retaining root privileges.&lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Courmisch|Courmisch]]&lt;br /&gt;
&lt;br /&gt;
= Inputs =&lt;br /&gt;
&lt;br /&gt;
== Windows Media Center (WMC) IR Remote Control ==&lt;br /&gt;
&lt;br /&gt;
Basic Controls work (e.g. Volume, Mute etc), but I would like to get Play/Pause/Stop/DVD Menu etc to work!&lt;br /&gt;
&lt;br /&gt;
Contact: [[User:some1|some1]]&lt;br /&gt;
&lt;br /&gt;
= Video = &lt;br /&gt;
&lt;br /&gt;
== DirectX 9 video output ==&lt;br /&gt;
&lt;br /&gt;
DirectX 9 features some improvements that we could use in our video output&lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Quovodis|Quovodis]]&lt;br /&gt;
&lt;br /&gt;
== Improvements to the X11 video output ==&lt;br /&gt;
&lt;br /&gt;
Fullscreen support to improve .&lt;br /&gt;
&lt;br /&gt;
== Pixel shaders in OpenGL video output ==&lt;br /&gt;
&lt;br /&gt;
It would be nice to have a small proof of concept video output which takes care of chroma conversion using pixel shaders.&lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Dionoea|dionoea]]&lt;br /&gt;
&lt;br /&gt;
= Interfaces = &lt;br /&gt;
&lt;br /&gt;
== Streaming profiles == &lt;br /&gt;
&lt;br /&gt;
This is a big subject, that has barely started. Interested persons will need to work closely with existing developers to implement this.&lt;br /&gt;
Not much information is available yet. The idea is to make streaming very easy, and yet powerful by using parametrable profiles. These could be used either by the graphical interfaces or through HTTP/command line interfaces&lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Zorglub|Zorglub]]&lt;br /&gt;
&lt;br /&gt;
== VLC.app rewrite using the Mac OS X Framework == &lt;br /&gt;
&lt;br /&gt;
See [[Mac_OS_X_Framework_VLC_app_Rewrite]]&lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Pdherbemont|Pdherbemont]]&lt;br /&gt;
&lt;br /&gt;
= Playlist = &lt;br /&gt;
&lt;br /&gt;
== Improved Podcast support ==&lt;br /&gt;
&lt;br /&gt;
Our current podcast support is very weak. We can read them, but that&#039;s all. We need a real infrastructure to handle them correctly. This will require some changes to the playlist code, so you will need to work closely with existing developers.&lt;br /&gt;
&lt;br /&gt;
Contacts: [[User:Dionoea|Dionoea]] [[User:Zorglub|Zorglub]]&lt;br /&gt;
&lt;br /&gt;
== Improved ASX support ==&lt;br /&gt;
&lt;br /&gt;
ASX is a playlist format used by Microsoft stuff. We can read it but we could do much better. More information is available at &lt;br /&gt;
https://trac.videolan.org/vlc/ticket/20&lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Dnumgis|Dnumgis]]&lt;br /&gt;
&lt;br /&gt;
== Disc probing ==&lt;br /&gt;
&lt;br /&gt;
We currently have some miscellaneous code to detect discs (DVDs, Audio CDs, ...) but it&#039;s a bit scattered and it could be used much better in the playlist.&lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Zorglub|Zorglub]]&lt;br /&gt;
&lt;br /&gt;
== Live folders == &lt;br /&gt;
&lt;br /&gt;
Some programs support so-called live folders. You add a folder to the playlist, and if the files in the folder are changed, the changes are copied to the playlist.&lt;br /&gt;
&lt;br /&gt;
Having this would of course be great :)&lt;br /&gt;
&lt;br /&gt;
It might require some work to be able to do this in Linux, Windows and OS X, but the current developers will of course be able to help on these.&lt;br /&gt;
&lt;br /&gt;
Contacts: [[User:Zorglub|Zorglub]] [[User:The DJ|The DJ]]&lt;br /&gt;
&lt;br /&gt;
=== Hint MP4/MOV Files ===&lt;br /&gt;
&lt;br /&gt;
Add video and audio hint tracks as the output file is muxed. Resulting files can be streamed from RTSP server with trickplay, like DSS/QTSS. Probably requires use of GPAC libraries.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Projects running = &lt;br /&gt;
&lt;br /&gt;
== Subtitles improvements ==&lt;br /&gt;
{{VLC}} does not support all the styles for a lot of subtitles type.&lt;br /&gt;
Take a look at [http://trac.videolan.org/vlc/browser/trunk/modules/codec/subtitles/subsdec.c here] to start coding.&lt;br /&gt;
&lt;br /&gt;
Contact bitmap&lt;br /&gt;
&lt;br /&gt;
= Finished projects =&lt;br /&gt;
&lt;br /&gt;
==Audioscrobbler==	 &lt;br /&gt;
		 &lt;br /&gt;
A [http://www.audioscrobbler.net/ Audioscrobbler] VLC Plug-in for the social music network [http://www.last.fm Last.Fm]&amp;lt;br /&amp;gt;	 &lt;br /&gt;
			&lt;br /&gt;
Plugin is finished, now part of vlc 0.9.0 (development version). Done by [[User:funman|funman]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DVB support for Windows / BDA Drivers ==	 &lt;br /&gt;
	 &lt;br /&gt;
DVB is the norm for :	 &lt;br /&gt;
* Digital Terrestrial TV (aka DVB-T)	 &lt;br /&gt;
* Digital Cable TV (aka DVB-C)	 &lt;br /&gt;
* Digital Satellite TV (aka DVB-S)	 &lt;br /&gt;
	 &lt;br /&gt;
Several DVB input cards exist. We support these on Linux, but not on Windows. For Windows, we need to support so-called BDA drivers.	 &lt;br /&gt;
	 &lt;br /&gt;
The problem is that we don&#039;t have both the time and the required hardware on Windows comps.	 &lt;br /&gt;
	 &lt;br /&gt;
This project is probably not terribly complex, but you need the hardware.&lt;br /&gt;
&lt;br /&gt;
Plugin is done and availabe in the current Git version. Code by kenS	 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DBus Integration ==&lt;br /&gt;
&lt;br /&gt;
[[DBus]] is a communication mechanism for Linux (mainly).&lt;br /&gt;
&lt;br /&gt;
We would like VLC to be able to use it so that other programs can interact with vlc (start/stop, know what is being played, ...)&lt;br /&gt;
&lt;br /&gt;
Work is well advanced, see [[DBus]], by funman and Mr_Mirsal&lt;br /&gt;
&lt;br /&gt;
Contact: [[User:Xtophe|Xtophe]], [[User:funman|funman]]&lt;br /&gt;
&lt;br /&gt;
== V4L2 support ==&lt;br /&gt;
&lt;br /&gt;
VLC currently has a pvr module and a v4l (video for linux) module.&lt;br /&gt;
However &lt;br /&gt;
* some cards are only supported in the new v4l2 API&lt;br /&gt;
* The linux kernel will soon drop v4l support&lt;br /&gt;
&lt;br /&gt;
So if someone could update VLC&#039;s current modules to work with V4L2 and the new ivtv api, this would be a welcome addition.&lt;br /&gt;
This is not a very difficult project, but you will need to have the hardware to test against.&lt;br /&gt;
The code has been began, so it should not be too difficult.&lt;br /&gt;
&lt;br /&gt;
Plugin is done and available in the current Git version. Code by Richard Hosking, [[User:dionoea|dionoea]] and Dennis Lou.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RTCP support ==&lt;br /&gt;
&lt;br /&gt;
Our RTSP implementation (for broadcasting and video on demand) does not support the RTCP protocol. This is a must to have a real support for RTSP.&lt;br /&gt;
Some work has already been started, but there is still much to do.&lt;br /&gt;
&lt;br /&gt;
Contact: [[User:JPSaman|JPSaman]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Coding]] [[Category:Activities]]&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11115</id>
		<title>SoC 2008/PanoramaViewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11115"/>
		<updated>2008-03-25T14:04:19Z</updated>

		<summary type="html">&lt;p&gt;Plouj: /* Panorama Viewing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Google Summer of Code 2008 =&lt;br /&gt;
== Panorama Viewing ==&lt;br /&gt;
=== Abstract ===&lt;br /&gt;
The goal of this project is to make VLC a one-stop solution for viewing panoramic images (and possibly videos) of various formats. Currently, FreePV is the best/only cross-platform, non-proprietary solution for viewing QuickTimeVR and plain image panoramas. However it suffers from a few drawbacks, which include difficult installation, browser plug-in conflicts and low popularity. The intent is to integrate the FreePV rendering code with VLC. This should not only automatically alleviate installation difficulty and plug-in conflicts, but also bring panorama viewing to a much larger audience.&lt;br /&gt;
This project will initially focus on basic support for QTVR files and equirectangular images.&lt;br /&gt;
&lt;br /&gt;
=== Detailed Description ===&lt;br /&gt;
Technically this project is about writing an output module for viewing frames projected onto the inside of an OpenGL with the added possibility of user manipulation of the viewpoint.&lt;br /&gt;
==== My Commitment ====&lt;br /&gt;
I&#039;m committed to work at least 40 hours per week for the duration of the GSoC on this project except for the first week in April when I will be busy with final exams.&lt;br /&gt;
&lt;br /&gt;
==== Plan ====&lt;br /&gt;
This plan is based on the dates in the [http://code.google.com/opensource/gsoc/2008/faqs.html#0.1_timeline GSoC 2008 timeline]&lt;br /&gt;
* &#039;&#039;&#039;March 31&#039;&#039;&#039; - week 1&lt;br /&gt;
* think about how panorama viewing fits in with VLC. It should act as a codec for QTVR files, but it should also be able to use any 2d images/frames for panoramas (act as an output module?).&lt;br /&gt;
* study for exams and finish school assignments&lt;br /&gt;
* &#039;&#039;&#039;April 7&#039;&#039;&#039; - week 2&lt;br /&gt;
* look into modifying VLC to detect QTVRs&lt;br /&gt;
* &#039;&#039;&#039;April 14&#039;&#039;&#039; - week 3&lt;br /&gt;
* look into writing output modules for VLC&lt;br /&gt;
* &#039;&#039;&#039;April 21&#039;&#039;&#039; - week 4&lt;br /&gt;
* get an understanding of the QTVR format (possible start: http://developer.apple.com/documentation/QuickTime/InsideQT_QTVR/6Chap/chapter_6_section_1.html and the [http://freepv.sourceforge.net/ FreePV] code)&lt;br /&gt;
* &#039;&#039;&#039;April 28&#039;&#039;&#039; - week 5&lt;br /&gt;
* make a list of QTVR functionality present in FreePV - aim to replicate this list in VLC&lt;br /&gt;
* identify which parts of FreePV can be used as a VLC module&lt;br /&gt;
* by now I should have a good idea of how things fit together&lt;br /&gt;
* &#039;&#039;&#039;May 5&#039;&#039;&#039; - week 6&lt;br /&gt;
* &#039;&#039;&#039;May 12&#039;&#039;&#039; - week 7&lt;br /&gt;
* &#039;&#039;&#039;May 19&#039;&#039;&#039; - week 8&lt;br /&gt;
* &#039;&#039;&#039;May 26&#039;&#039;&#039; - week 9 - Students begin coding for their GSoC projects;&lt;br /&gt;
* &#039;&#039;&#039;June 2&#039;&#039;&#039; - week 10&lt;br /&gt;
* &#039;&#039;&#039;June 9&#039;&#039;&#039; - week 11&lt;br /&gt;
* &#039;&#039;&#039;June 16&#039;&#039;&#039; - week 12&lt;br /&gt;
* simple QTVRs should be viewable by now&lt;br /&gt;
* &#039;&#039;&#039;June 23&#039;&#039;&#039; - week 13&lt;br /&gt;
* &#039;&#039;&#039;June 30&#039;&#039;&#039; - week 14&lt;br /&gt;
* &#039;&#039;&#039;July 7&#039;&#039;&#039; - week 15&lt;br /&gt;
* should be able to view image panoramas&lt;br /&gt;
* &#039;&#039;&#039;July 14&#039;&#039;&#039; - week 16 - Mid-term evaluations deadline;&lt;br /&gt;
* &#039;&#039;&#039;July 21&#039;&#039;&#039; - week 17&lt;br /&gt;
* &#039;&#039;&#039;July 28&#039;&#039;&#039; - week 18&lt;br /&gt;
* should support a number of different projections and do everything that FreePV can with QTVR&lt;br /&gt;
* &#039;&#039;&#039;August 4&#039;&#039;&#039; - week 19&lt;br /&gt;
* &#039;&#039;&#039;August 11&#039;&#039;&#039; - week 20&lt;br /&gt;
* &#039;&#039;&#039;August 18&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Module Options ====&lt;br /&gt;
* type of panorama: equirectangular,cylindrical,littleplanet,cubic...&lt;br /&gt;
* default FOV aka zoom&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11103</id>
		<title>SoC 2008/PanoramaViewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11103"/>
		<updated>2008-03-25T03:58:16Z</updated>

		<summary type="html">&lt;p&gt;Plouj: /* Panorama Viewing */ added an abstract&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Google Summer of Code 2008 =&lt;br /&gt;
== Panorama Viewing ==&lt;br /&gt;
=== Abstract ===&lt;br /&gt;
The goal of this project is to make VLC a one-stop solution for viewing panoramic images (and possibly videos) of various formats. Currently, FreePV is the best/only cross-platform, non-proprietary solution for viewing QuickTimeVR and plain image panoramas. However it suffers from a few drawbacks, which include difficult installation, browser plug-in conflicts and low popularity. The intent is to integrate the FreePV rendering code with VLC. This should not only automatically alleviate installation difficulty and plug-in conflicts, but also bring panorama viewing to a much larger audience.&lt;br /&gt;
This project will initially focus on basic support for QTVR files and equirectangular images.&lt;br /&gt;
&lt;br /&gt;
=== Detailed Description ===&lt;br /&gt;
Technically this project is about writing an output module for viewing frames projected onto the inside of an OpenGL with the added possibility of user manipulation of the viewpoint.&lt;br /&gt;
==== My Commitment ====&lt;br /&gt;
I&#039;m committed to work at least 40 hours per week for the duration of the GSoC on this project except for the first week in April when I will be busy with final exams.&lt;br /&gt;
&lt;br /&gt;
==== Plan ====&lt;br /&gt;
This plan is based on the dates in the [http://code.google.com/opensource/gsoc/2008/faqs.html#0.1_timeline GSoC 2008 timeline]&lt;br /&gt;
* &#039;&#039;&#039;March 31&#039;&#039;&#039; - week 1&lt;br /&gt;
* study for exams and finish school assignments&lt;br /&gt;
* look into modifying VLC to detect QTVRs&lt;br /&gt;
* look into writing output modules for VLC&lt;br /&gt;
* &#039;&#039;&#039;April 7&#039;&#039;&#039; - week 2&lt;br /&gt;
* get an understanding of the QTVR format (possible start: http://developer.apple.com/documentation/QuickTime/InsideQT_QTVR/6Chap/chapter_6_section_1.html and the [http://freepv.sourceforge.net/ FreePV] code)&lt;br /&gt;
* make a list of QTVR functionality present in FreePV - aim to replicate this list in VLC&lt;br /&gt;
* identify which parts of FreePV can be used as a VLC module&lt;br /&gt;
* by now I should have a good idea of how things fit together&lt;br /&gt;
* &#039;&#039;&#039;April 14&#039;&#039;&#039; week 3&lt;br /&gt;
* &#039;&#039;&#039;April 21&#039;&#039;&#039; - week 4&lt;br /&gt;
* write a module that would render &amp;quot;frames&amp;quot; onto an OpenGL sphere&lt;br /&gt;
* add user interaction&lt;br /&gt;
* &#039;&#039;&#039;April 28&#039;&#039;&#039; - week 5&lt;br /&gt;
* implement proper equirectangular projection&lt;br /&gt;
* &#039;&#039;&#039;May 5&#039;&#039;&#039; - week 6&lt;br /&gt;
* &#039;&#039;&#039;May 12&#039;&#039;&#039; - week 7&lt;br /&gt;
* &#039;&#039;&#039;May 19&#039;&#039;&#039; - week 8&lt;br /&gt;
* &#039;&#039;&#039;May 26&#039;&#039;&#039; - week 9&lt;br /&gt;
* start support for simple QTVRs&lt;br /&gt;
* &#039;&#039;&#039;June 2&#039;&#039;&#039; - week 10&lt;br /&gt;
* &#039;&#039;&#039;June 9&#039;&#039;&#039; - week 11&lt;br /&gt;
* &#039;&#039;&#039;June 16&#039;&#039;&#039; - week 12&lt;br /&gt;
* &#039;&#039;&#039;June 23&#039;&#039;&#039; - week 13&lt;br /&gt;
* &#039;&#039;&#039;June 30&#039;&#039;&#039; - week 14&lt;br /&gt;
* &#039;&#039;&#039;July 7&#039;&#039;&#039; - week 15&lt;br /&gt;
* &#039;&#039;&#039;July 14&#039;&#039;&#039; - week 16 - Mid-term evaluations deadline;&lt;br /&gt;
* &#039;&#039;&#039;July 21&#039;&#039;&#039; - week 17&lt;br /&gt;
* &#039;&#039;&#039;July 28&#039;&#039;&#039; - week 18&lt;br /&gt;
* &#039;&#039;&#039;August 4&#039;&#039;&#039; - week 19&lt;br /&gt;
* &#039;&#039;&#039;August 11&#039;&#039;&#039; - week 20&lt;br /&gt;
* &#039;&#039;&#039;August 18&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Module Options ====&lt;br /&gt;
* type of panorama: equirectangular,cylindrical,littleplanet,cubic...&lt;br /&gt;
* default FOV aka zoom&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11102</id>
		<title>SoC 2008/PanoramaViewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11102"/>
		<updated>2008-03-25T03:54:02Z</updated>

		<summary type="html">&lt;p&gt;Plouj: /* Panorama Viewing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Google Summer of Code 2008 =&lt;br /&gt;
== Panorama Viewing ==&lt;br /&gt;
Also on this wiki: [[SoC_2008#QuickTimeVR_Playing]]&lt;br /&gt;
&lt;br /&gt;
Technically this project is about writing an output module for viewing frames projected onto the inside of an OpenGL with the added possibility of user manipulation of the viewpoint.&lt;br /&gt;
=== My Commitment ===&lt;br /&gt;
I&#039;m committed to work at least 40 hours per week for the duration of the GSoC on this project except for the first week in April when I will be busy with final exams.&lt;br /&gt;
&lt;br /&gt;
=== Plan ===&lt;br /&gt;
This plan is based on the dates in the [http://code.google.com/opensource/gsoc/2008/faqs.html#0.1_timeline GSoC 2008 timeline]&lt;br /&gt;
* &#039;&#039;&#039;March 31&#039;&#039;&#039; - week 1&lt;br /&gt;
* study for exams and finish school assignments&lt;br /&gt;
* look into modifying VLC to detect QTVRs&lt;br /&gt;
* look into writing output modules for VLC&lt;br /&gt;
* &#039;&#039;&#039;April 7&#039;&#039;&#039; - week 2&lt;br /&gt;
* get an understanding of the QTVR format (possible start: http://developer.apple.com/documentation/QuickTime/InsideQT_QTVR/6Chap/chapter_6_section_1.html and the [http://freepv.sourceforge.net/ FreePV] code)&lt;br /&gt;
* make a list of QTVR functionality present in FreePV - aim to replicate this list in VLC&lt;br /&gt;
* identify which parts of FreePV can be used as a VLC module&lt;br /&gt;
* by now I should have a good idea of how things fit together&lt;br /&gt;
* &#039;&#039;&#039;April 14&#039;&#039;&#039; week 3&lt;br /&gt;
* &#039;&#039;&#039;April 21&#039;&#039;&#039; - week 4&lt;br /&gt;
* write a module that would render &amp;quot;frames&amp;quot; onto an OpenGL sphere&lt;br /&gt;
* add user interaction&lt;br /&gt;
* &#039;&#039;&#039;April 28&#039;&#039;&#039; - week 5&lt;br /&gt;
* implement proper equirectangular projection&lt;br /&gt;
* &#039;&#039;&#039;May 5&#039;&#039;&#039; - week 6&lt;br /&gt;
* &#039;&#039;&#039;May 12&#039;&#039;&#039; - week 7&lt;br /&gt;
* &#039;&#039;&#039;May 19&#039;&#039;&#039; - week 8&lt;br /&gt;
* &#039;&#039;&#039;May 26&#039;&#039;&#039; - week 9&lt;br /&gt;
* start support for simple QTVRs&lt;br /&gt;
* &#039;&#039;&#039;June 2&#039;&#039;&#039; - week 10&lt;br /&gt;
* &#039;&#039;&#039;June 9&#039;&#039;&#039; - week 11&lt;br /&gt;
* &#039;&#039;&#039;June 16&#039;&#039;&#039; - week 12&lt;br /&gt;
* &#039;&#039;&#039;June 23&#039;&#039;&#039; - week 13&lt;br /&gt;
* &#039;&#039;&#039;June 30&#039;&#039;&#039; - week 14&lt;br /&gt;
* &#039;&#039;&#039;July 7&#039;&#039;&#039; - week 15&lt;br /&gt;
* &#039;&#039;&#039;July 14&#039;&#039;&#039; - week 16 - Mid-term evaluations deadline;&lt;br /&gt;
* &#039;&#039;&#039;July 21&#039;&#039;&#039; - week 17&lt;br /&gt;
* &#039;&#039;&#039;July 28&#039;&#039;&#039; - week 18&lt;br /&gt;
* &#039;&#039;&#039;August 4&#039;&#039;&#039; - week 19&lt;br /&gt;
* &#039;&#039;&#039;August 11&#039;&#039;&#039; - week 20&lt;br /&gt;
* &#039;&#039;&#039;August 18&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Module Options ===&lt;br /&gt;
* type of panorama: equirectangular,cylindrical,littleplanet,cubic...&lt;br /&gt;
* default FOV aka zoom&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11101</id>
		<title>SoC 2008/PanoramaViewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11101"/>
		<updated>2008-03-25T03:53:00Z</updated>

		<summary type="html">&lt;p&gt;Plouj: /* My Commitment */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Google Summer of Code 2008 =&lt;br /&gt;
== Panorama Viewing ==&lt;br /&gt;
Also on this wiki: [[SoC_2008#QuickTimeVR_Playing]]&lt;br /&gt;
Technically this project is about writing an output module for viewing frames projected onto the inside of an OpenGL with the added possibility of user manipulation of the viewpoint.&lt;br /&gt;
=== My Commitment ===&lt;br /&gt;
I&#039;m committed to work at least 40 hours per week for the duration of the GSoC on this project except for the first week in April when I will be busy with final exams.&lt;br /&gt;
&lt;br /&gt;
=== Plan ===&lt;br /&gt;
This plan is based on the dates in the [http://code.google.com/opensource/gsoc/2008/faqs.html#0.1_timeline GSoC 2008 timeline]&lt;br /&gt;
* &#039;&#039;&#039;March 31&#039;&#039;&#039; - week 1&lt;br /&gt;
* study for exams and finish school assignments&lt;br /&gt;
* look into modifying VLC to detect QTVRs&lt;br /&gt;
* look into writing output modules for VLC&lt;br /&gt;
* &#039;&#039;&#039;April 7&#039;&#039;&#039; - week 2&lt;br /&gt;
* get an understanding of the QTVR format (possible start: http://developer.apple.com/documentation/QuickTime/InsideQT_QTVR/6Chap/chapter_6_section_1.html and the [http://freepv.sourceforge.net/ FreePV] code)&lt;br /&gt;
* make a list of QTVR functionality present in FreePV - aim to replicate this list in VLC&lt;br /&gt;
* identify which parts of FreePV can be used as a VLC module&lt;br /&gt;
* by now I should have a good idea of how things fit together&lt;br /&gt;
* &#039;&#039;&#039;April 14&#039;&#039;&#039; week 3&lt;br /&gt;
* &#039;&#039;&#039;April 21&#039;&#039;&#039; - week 4&lt;br /&gt;
* write a module that would render &amp;quot;frames&amp;quot; onto an OpenGL sphere&lt;br /&gt;
* add user interaction&lt;br /&gt;
* &#039;&#039;&#039;April 28&#039;&#039;&#039; - week 5&lt;br /&gt;
* implement proper equirectangular projection&lt;br /&gt;
* &#039;&#039;&#039;May 5&#039;&#039;&#039; - week 6&lt;br /&gt;
* &#039;&#039;&#039;May 12&#039;&#039;&#039; - week 7&lt;br /&gt;
* &#039;&#039;&#039;May 19&#039;&#039;&#039; - week 8&lt;br /&gt;
* &#039;&#039;&#039;May 26&#039;&#039;&#039; - week 9&lt;br /&gt;
* start support for simple QTVRs&lt;br /&gt;
* &#039;&#039;&#039;June 2&#039;&#039;&#039; - week 10&lt;br /&gt;
* &#039;&#039;&#039;June 9&#039;&#039;&#039; - week 11&lt;br /&gt;
* &#039;&#039;&#039;June 16&#039;&#039;&#039; - week 12&lt;br /&gt;
* &#039;&#039;&#039;June 23&#039;&#039;&#039; - week 13&lt;br /&gt;
* &#039;&#039;&#039;June 30&#039;&#039;&#039; - week 14&lt;br /&gt;
* &#039;&#039;&#039;July 7&#039;&#039;&#039; - week 15&lt;br /&gt;
* &#039;&#039;&#039;July 14&#039;&#039;&#039; - week 16 - Mid-term evaluations deadline;&lt;br /&gt;
* &#039;&#039;&#039;July 21&#039;&#039;&#039; - week 17&lt;br /&gt;
* &#039;&#039;&#039;July 28&#039;&#039;&#039; - week 18&lt;br /&gt;
* &#039;&#039;&#039;August 4&#039;&#039;&#039; - week 19&lt;br /&gt;
* &#039;&#039;&#039;August 11&#039;&#039;&#039; - week 20&lt;br /&gt;
* &#039;&#039;&#039;August 18&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Module Options ===&lt;br /&gt;
* type of panorama: equirectangular,cylindrical,littleplanet,cubic...&lt;br /&gt;
* default FOV aka zoom&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11100</id>
		<title>SoC 2008/PanoramaViewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11100"/>
		<updated>2008-03-25T03:51:30Z</updated>

		<summary type="html">&lt;p&gt;Plouj: /* Panorama Viewing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Google Summer of Code 2008 =&lt;br /&gt;
== Panorama Viewing ==&lt;br /&gt;
Also on this wiki: [[SoC_2008#QuickTimeVR_Playing]]&lt;br /&gt;
Technically this project is about writing an output module for viewing frames projected onto the inside of an OpenGL with the added possibility of user manipulation of the viewpoint.&lt;br /&gt;
=== My Commitment ===&lt;br /&gt;
I&#039;m committed to work at least 40 hours per week for 3 months on this project except for the first week in April when I will be busy with final exams.&lt;br /&gt;
&lt;br /&gt;
=== Plan ===&lt;br /&gt;
This plan is based on the dates in the [http://code.google.com/opensource/gsoc/2008/faqs.html#0.1_timeline GSoC 2008 timeline]&lt;br /&gt;
* &#039;&#039;&#039;March 31&#039;&#039;&#039; - week 1&lt;br /&gt;
* study for exams and finish school assignments&lt;br /&gt;
* look into modifying VLC to detect QTVRs&lt;br /&gt;
* look into writing output modules for VLC&lt;br /&gt;
* &#039;&#039;&#039;April 7&#039;&#039;&#039; - week 2&lt;br /&gt;
* get an understanding of the QTVR format (possible start: http://developer.apple.com/documentation/QuickTime/InsideQT_QTVR/6Chap/chapter_6_section_1.html and the [http://freepv.sourceforge.net/ FreePV] code)&lt;br /&gt;
* make a list of QTVR functionality present in FreePV - aim to replicate this list in VLC&lt;br /&gt;
* identify which parts of FreePV can be used as a VLC module&lt;br /&gt;
* by now I should have a good idea of how things fit together&lt;br /&gt;
* &#039;&#039;&#039;April 14&#039;&#039;&#039; week 3&lt;br /&gt;
* &#039;&#039;&#039;April 21&#039;&#039;&#039; - week 4&lt;br /&gt;
* write a module that would render &amp;quot;frames&amp;quot; onto an OpenGL sphere&lt;br /&gt;
* add user interaction&lt;br /&gt;
* &#039;&#039;&#039;April 28&#039;&#039;&#039; - week 5&lt;br /&gt;
* implement proper equirectangular projection&lt;br /&gt;
* &#039;&#039;&#039;May 5&#039;&#039;&#039; - week 6&lt;br /&gt;
* &#039;&#039;&#039;May 12&#039;&#039;&#039; - week 7&lt;br /&gt;
* &#039;&#039;&#039;May 19&#039;&#039;&#039; - week 8&lt;br /&gt;
* &#039;&#039;&#039;May 26&#039;&#039;&#039; - week 9&lt;br /&gt;
* start support for simple QTVRs&lt;br /&gt;
* &#039;&#039;&#039;June 2&#039;&#039;&#039; - week 10&lt;br /&gt;
* &#039;&#039;&#039;June 9&#039;&#039;&#039; - week 11&lt;br /&gt;
* &#039;&#039;&#039;June 16&#039;&#039;&#039; - week 12&lt;br /&gt;
* &#039;&#039;&#039;June 23&#039;&#039;&#039; - week 13&lt;br /&gt;
* &#039;&#039;&#039;June 30&#039;&#039;&#039; - week 14&lt;br /&gt;
* &#039;&#039;&#039;July 7&#039;&#039;&#039; - week 15&lt;br /&gt;
* &#039;&#039;&#039;July 14&#039;&#039;&#039; - week 16 - Mid-term evaluations deadline;&lt;br /&gt;
* &#039;&#039;&#039;July 21&#039;&#039;&#039; - week 17&lt;br /&gt;
* &#039;&#039;&#039;July 28&#039;&#039;&#039; - week 18&lt;br /&gt;
* &#039;&#039;&#039;August 4&#039;&#039;&#039; - week 19&lt;br /&gt;
* &#039;&#039;&#039;August 11&#039;&#039;&#039; - week 20&lt;br /&gt;
* &#039;&#039;&#039;August 18&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Module Options ===&lt;br /&gt;
* type of panorama: equirectangular,cylindrical,littleplanet,cubic...&lt;br /&gt;
* default FOV aka zoom&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11099</id>
		<title>SoC 2008/PanoramaViewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11099"/>
		<updated>2008-03-25T03:50:49Z</updated>

		<summary type="html">&lt;p&gt;Plouj: /* Panorama Viewing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Google Summer of Code 2008 =&lt;br /&gt;
== Panorama Viewing ==&lt;br /&gt;
Also on this wiki: [[SoC_2008#QuickTimeVR_Playing]]&lt;br /&gt;
Technically this project is about writing an output module for viewing frames projected onto the inside of an OpenGL with the added possibility of user manipulation of the viewpoint.&lt;br /&gt;
=== My Commitment ===&lt;br /&gt;
I&#039;m committed to work at least 40 hours per week for 3 months on this project except for the first week in April when I will be busy with final exams.&lt;br /&gt;
&lt;br /&gt;
=== Plan ===&lt;br /&gt;
This plan is based on the dates in the [http://code.google.com/opensource/gsoc/2008/faqs.html#0.1_timeline GSoC 2008 timeline]&lt;br /&gt;
* &#039;&#039;&#039;March 31&#039;&#039;&#039; - week 1&lt;br /&gt;
* study for exams and finish school assignments&lt;br /&gt;
** look into modifying VLC to detect QTVRs&lt;br /&gt;
** look into writing output modules for VLC&lt;br /&gt;
* &#039;&#039;&#039;April 7&#039;&#039;&#039; - week 2&lt;br /&gt;
* get an understanding of the QTVR format (possible start: http://developer.apple.com/documentation/QuickTime/InsideQT_QTVR/6Chap/chapter_6_section_1.html and the [http://freepv.sourceforge.net/ FreePV] code)&lt;br /&gt;
* make a list of QTVR functionality present in FreePV - aim to replicate this list in VLC&lt;br /&gt;
* identify which parts of FreePV can be used as a VLC module&lt;br /&gt;
* by now I should have a good idea of how things fit together&lt;br /&gt;
* &#039;&#039;&#039;April 14&#039;&#039;&#039; week 3&lt;br /&gt;
* &#039;&#039;&#039;April 21&#039;&#039;&#039; - week 4&lt;br /&gt;
* write a module that would render &amp;quot;frames&amp;quot; onto an OpenGL sphere&lt;br /&gt;
* add user interaction&lt;br /&gt;
* &#039;&#039;&#039;April 28&#039;&#039;&#039; - week 5&lt;br /&gt;
* implement proper equirectangular projection&lt;br /&gt;
* &#039;&#039;&#039;May 5&#039;&#039;&#039; - week 6&lt;br /&gt;
* &#039;&#039;&#039;May 12&#039;&#039;&#039; - week 7&lt;br /&gt;
* &#039;&#039;&#039;May 19&#039;&#039;&#039; - week 8&lt;br /&gt;
* &#039;&#039;&#039;May 26&#039;&#039;&#039; - week 9&lt;br /&gt;
* start support for simple QTVRs&lt;br /&gt;
* &#039;&#039;&#039;June 2&#039;&#039;&#039; - week 10&lt;br /&gt;
* &#039;&#039;&#039;June 9&#039;&#039;&#039; - week 11&lt;br /&gt;
* &#039;&#039;&#039;June 16&#039;&#039;&#039; - week 12&lt;br /&gt;
* &#039;&#039;&#039;June 23&#039;&#039;&#039; - week 13&lt;br /&gt;
* &#039;&#039;&#039;June 30&#039;&#039;&#039; - week 14&lt;br /&gt;
* &#039;&#039;&#039;July 7&#039;&#039;&#039; - week 15&lt;br /&gt;
* &#039;&#039;&#039;July 14&#039;&#039;&#039; - week 16 - Mid-term evaluations deadline;&lt;br /&gt;
* &#039;&#039;&#039;July 21&#039;&#039;&#039; - week 17&lt;br /&gt;
* &#039;&#039;&#039;July 28&#039;&#039;&#039; - week 18&lt;br /&gt;
* &#039;&#039;&#039;August 4&#039;&#039;&#039; - week 19&lt;br /&gt;
* &#039;&#039;&#039;August 11&#039;&#039;&#039; - week 20&lt;br /&gt;
* &#039;&#039;&#039;August 18&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Module Options ===&lt;br /&gt;
* type of panorama: equirectangular,cylindrical,littleplanet,cubic...&lt;br /&gt;
* default FOV aka zoom&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11098</id>
		<title>SoC 2008/PanoramaViewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11098"/>
		<updated>2008-03-25T02:50:53Z</updated>

		<summary type="html">&lt;p&gt;Plouj: /* QuickTime VR (panorama) Viewing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Google Summer of Code 2008 =&lt;br /&gt;
== Panorama Viewing ==&lt;br /&gt;
Also on this wiki: [[SoC_2008#QuickTimeVR_Playing]]&lt;br /&gt;
=== My Commitment ===&lt;br /&gt;
I&#039;m committed to work at least 40 hours per week for 3 months on this project except for the first week in April when I will be busy with final exams.&lt;br /&gt;
&lt;br /&gt;
=== Plan ===&lt;br /&gt;
This plan is based on the dates in the [http://code.google.com/opensource/gsoc/2008/faqs.html#0.1_timeline GSoC 2008 timeline]&lt;br /&gt;
* &#039;&#039;&#039;March 31&#039;&#039;&#039;&lt;br /&gt;
* figure out what needs to be done&lt;br /&gt;
** how to modify VLC to detect QTVRs&lt;br /&gt;
** what needs to change in VLC to display QTVRs&lt;br /&gt;
** figure out how to write codecs for VLC&lt;br /&gt;
*** [[User:dionoea]] mentioned that image handling modifications are required&lt;br /&gt;
* get an understanding of the QTVR format (possible start: http://developer.apple.com/documentation/QuickTime/InsideQT_QTVR/6Chap/chapter_6_section_1.html and the [http://freepv.sourceforge.net/ FreePV] code)&lt;br /&gt;
* see how much of the FreePV code can be used&lt;br /&gt;
* make a list of QTVR functionality in the order of importance to organize the implementation steps&lt;br /&gt;
* think about turning FreePV into a library that can be used in VLC&lt;br /&gt;
* by now I should have a good idea of how things fit together&lt;br /&gt;
* write a bare-minimum OpenGL QTVR viewer for VLC&lt;br /&gt;
* &#039;&#039;&#039;July 14&#039;&#039;&#039;&lt;br /&gt;
* do some testing&lt;br /&gt;
* get feedback&lt;br /&gt;
* keep extending the basic functionality until time runs out&lt;br /&gt;
* &#039;&#039;&#039;August 18&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== What to do about plain image (JPG, PNG) panoramas? ===&lt;br /&gt;
* can&#039;t really detect that an image is a panorama without any hints&lt;br /&gt;
** command line: let the user specify what type of panorama the supplied image(s) is(are) using a --panorama={equirectangular,cylindrical,littleplanet,...} switch&lt;br /&gt;
** GUI a special open dialog for loading panoramas - the user specifies what type of panorama is expected using a drop down box&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11097</id>
		<title>SoC 2008/PanoramaViewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11097"/>
		<updated>2008-03-25T02:50:26Z</updated>

		<summary type="html">&lt;p&gt;Plouj: /* Plan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Google Summer of Code 2008 =&lt;br /&gt;
== QuickTime VR (panorama) Viewing ==&lt;br /&gt;
Also on this wiki: [[SoC_2008#QuickTimeVR_Playing]]&lt;br /&gt;
=== My Commitment ===&lt;br /&gt;
I&#039;m committed to work at least 40 hours per week for 3 months on this project except for the first week in April when I will be busy with final exams.&lt;br /&gt;
&lt;br /&gt;
=== Plan ===&lt;br /&gt;
This plan is based on the dates in the [http://code.google.com/opensource/gsoc/2008/faqs.html#0.1_timeline GSoC 2008 timeline]&lt;br /&gt;
* &#039;&#039;&#039;March 31&#039;&#039;&#039;&lt;br /&gt;
* figure out what needs to be done&lt;br /&gt;
** how to modify VLC to detect QTVRs&lt;br /&gt;
** what needs to change in VLC to display QTVRs&lt;br /&gt;
** figure out how to write codecs for VLC&lt;br /&gt;
*** [[User:dionoea]] mentioned that image handling modifications are required&lt;br /&gt;
* get an understanding of the QTVR format (possible start: http://developer.apple.com/documentation/QuickTime/InsideQT_QTVR/6Chap/chapter_6_section_1.html and the [http://freepv.sourceforge.net/ FreePV] code)&lt;br /&gt;
* see how much of the FreePV code can be used&lt;br /&gt;
* make a list of QTVR functionality in the order of importance to organize the implementation steps&lt;br /&gt;
* think about turning FreePV into a library that can be used in VLC&lt;br /&gt;
* by now I should have a good idea of how things fit together&lt;br /&gt;
* write a bare-minimum OpenGL QTVR viewer for VLC&lt;br /&gt;
* &#039;&#039;&#039;July 14&#039;&#039;&#039;&lt;br /&gt;
* do some testing&lt;br /&gt;
* get feedback&lt;br /&gt;
* keep extending the basic functionality until time runs out&lt;br /&gt;
* &#039;&#039;&#039;August 18&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== What to do about plain image (JPG, PNG) panoramas? ===&lt;br /&gt;
* can&#039;t really detect that an image is a panorama without any hints&lt;br /&gt;
** command line: let the user specify what type of panorama the supplied image(s) is(are) using a --panorama={equirectangular,cylindrical,littleplanet,...} switch&lt;br /&gt;
** GUI a special open dialog for loading panoramas - the user specifies what type of panorama is expected using a drop down box&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11089</id>
		<title>SoC 2008/PanoramaViewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2008/PanoramaViewing&amp;diff=11089"/>
		<updated>2008-03-24T17:53:28Z</updated>

		<summary type="html">&lt;p&gt;Plouj: /* My Commitment */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Google Summer of Code 2008 =&lt;br /&gt;
== QuickTime VR (panorama) Viewing ==&lt;br /&gt;
Also on this wiki: [[SoC_2008#QuickTimeVR_Playing]]&lt;br /&gt;
=== My Commitment ===&lt;br /&gt;
I&#039;m committed to work at least 40 hours per week for 3 months on this project except for the first week in April when I will be busy with final exams.&lt;br /&gt;
&lt;br /&gt;
=== Plan ===&lt;br /&gt;
Based on the [http://code.google.com/opensource/gsoc/2008/faqs.html#0.1_timeline GSoC 2008 timeline]&lt;br /&gt;
* &#039;&#039;&#039;March 31&#039;&#039;&#039;&lt;br /&gt;
* figure out what needs to be done&lt;br /&gt;
** how to modify VLC to detect QTVRs&lt;br /&gt;
** what needs to change in VLC to display QTVRs&lt;br /&gt;
** figure out how to write codecs for VLC&lt;br /&gt;
*** [[User:dionoea]] mentioned that image handling modifications are required&lt;br /&gt;
* get an understanding of the QTVR format (possible start: http://developer.apple.com/documentation/QuickTime/InsideQT_QTVR/6Chap/chapter_6_section_1.html and the [http://freepv.sourceforge.net/ FreePV] code)&lt;br /&gt;
* see how much of the FreePV code can be used&lt;br /&gt;
* make a list of QTVR functionality in the order of importance to organize the implementation steps&lt;br /&gt;
* think about turning FreePV into a library that can be used in VLC&lt;br /&gt;
* by now I should have a good idea of how things fit together&lt;br /&gt;
* write a bare-minimum OpenGL QTVR viewer for VLC&lt;br /&gt;
* &#039;&#039;&#039;July 14&#039;&#039;&#039;&lt;br /&gt;
* do some testing&lt;br /&gt;
* get feedback&lt;br /&gt;
* keep extending the basic functionality until time runs out&lt;br /&gt;
* &#039;&#039;&#039;August 18&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== What to do about plain image (JPG, PNG) panoramas? ===&lt;br /&gt;
* can&#039;t really detect that an image is a panorama without any hints&lt;br /&gt;
** command line: let the user specify what type of panorama the supplied image(s) is(are) using a --panorama={equirectangular,cylindrical,littleplanet,...} switch&lt;br /&gt;
** GUI a special open dialog for loading panoramas - the user specifies what type of panorama is expected using a drop down box&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=User:Plouj&amp;diff=11088</id>
		<title>User:Plouj</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=User:Plouj&amp;diff=11088"/>
		<updated>2008-03-24T16:47:10Z</updated>

		<summary type="html">&lt;p&gt;Plouj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My name is Michael Ploujnikov and I am currently a student at the [http://www.yorku.ca/ York University of Canada].&lt;br /&gt;
&lt;br /&gt;
My personal website is http://plouj.com/&lt;br /&gt;
&lt;br /&gt;
[[User_talk:Plouj#Google_Summer_of_Code_2008| GSoC2008]]&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2008&amp;diff=11087</id>
		<title>SoC 2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2008&amp;diff=11087"/>
		<updated>2008-03-24T16:45:53Z</updated>

		<summary type="html">&lt;p&gt;Plouj: /* QuickTimeVR Playing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Google Summer of Code 2008.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;VideoLAN is an official mentoring organization&#039;&#039; for {{VLC}} and [[x264]] for Google Summer of Code 2008.&lt;br /&gt;
&lt;br /&gt;
== Introduction &amp;amp; Information ==&lt;br /&gt;
&lt;br /&gt;
This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [http://code.google.com/soc/ Google Summer of Code], in order to improve {{VLC}} and [[x264]], the H.264 video encoder.&lt;br /&gt;
&lt;br /&gt;
* This page list the ideas for VLC.&lt;br /&gt;
* There is also a separate page for project ideas for the [[x264]]: [[SoC x264]].&lt;br /&gt;
&lt;br /&gt;
If you are a &#039;&#039;&#039;student&#039;&#039;&#039;, please read the [[SoC_2008_Rules|rules]] and [[SoC_2008_Rules#Advices|advices]].&lt;br /&gt;
&lt;br /&gt;
=== VLC media player ===&lt;br /&gt;
{{VLC}} is a cross-platform Multimedia player, and encoding and streaming application.&lt;br /&gt;
It is one of the most successful open-source projects without any professional structure underneath.&lt;br /&gt;
&lt;br /&gt;
{{VLC}} is downloaded at an approximate monthly rate of 4 millions from the main website (not including third-party distributions (Linux)), which means about 30 million people have downloaded VLC 0.8.5 from the main website!&lt;br /&gt;
&lt;br /&gt;
You can find more information on [http://en.wikipedia.org/wiki/VLC_media_player VLC on Wikipedia] or on this [[Main_Page|wiki]].&lt;br /&gt;
&lt;br /&gt;
=== Summer of Code ===&lt;br /&gt;
&lt;br /&gt;
If selected and developed, SoC ideas will be included in the VLC 0.9.1 or any later version release, and covered by the GPL licence.&lt;br /&gt;
&lt;br /&gt;
=== Ideas ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Read this&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We (the VideoLAN team, and [[User:J-b|jb]], the author of this page) have split this page in three lists of ideas:&lt;br /&gt;
* The &#039;&#039;main ideas&#039;&#039; are the ones we would like to focus on, and seem to be key projects for VLC and a lot more &#039;&#039;thrilling&#039;&#039; than the other ones; we have assigned a potential mentor to each of these.&lt;br /&gt;
* The other ideas are less detailed but could be good ideas too.&lt;br /&gt;
* Original good ideas will be valued. Last year, half of the ideas were given by students. [[Mini_Projects]] has some ideas too.&lt;br /&gt;
&lt;br /&gt;
We don&#039;t want to impose anything. This is free and Open Source software. Last year, many projects were external ideas.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to apply for SoC but want other ideas to develop on, check the [[Mini Projects]] page!&lt;br /&gt;
&lt;br /&gt;
And on IRC channel, you can have even more ideas.&lt;br /&gt;
&lt;br /&gt;
===x264===&lt;br /&gt;
For x264 ideas, please see [[SoC_x264]].&lt;br /&gt;
&lt;br /&gt;
== Main ideas ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Test Suite ===&lt;br /&gt;
This project aims at making automatic tests to improve VLC quality.&lt;br /&gt;
&lt;br /&gt;
* Write a series of tests for vlc-internal&lt;br /&gt;
* Integrate a framework for automated plugins testing with the automake build system&lt;br /&gt;
* Automate the different codec playback/mux/etc tests&lt;br /&gt;
* Automate the subtitles tests&lt;br /&gt;
* Write tests for the different bindings: Mac OS X Framework/Python Bindings... etc.&lt;br /&gt;
&lt;br /&gt;
This project is a code project, require some knowledge of C&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:Pdherbemont]]&#039;&#039; (backup: courmisch)&lt;br /&gt;
&lt;br /&gt;
=== MTP Device Service Discovery ===&lt;br /&gt;
This projects consists of adding support for finding and reading content from attached USB MTP (Media Transfer Protocol) devices,&lt;br /&gt;
such as the Apple iPod, as a Service Discovery and input plugins for VLC.&lt;br /&gt;
&lt;br /&gt;
This project might need improvements in the Service Discovery subsystem for hotplug.&lt;br /&gt;
&lt;br /&gt;
This project needs a student to have a MP3 player device...&lt;br /&gt;
&lt;br /&gt;
You should have a look at [http://libmtp.sf.net libmtp library] and at [http://blog.songbirdnest.com/2008/02/29/mtp-device-support-for-windows/ Songbird MTP implementation].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: funman&#039;&#039; (backup jb)&lt;br /&gt;
&lt;br /&gt;
=== QuickTimeVR Playing ===&lt;br /&gt;
This project deals with integration QuickTimeVR inside VLC using work from [http://libfreepv.sf.net FreePV] (SoC 2007).&lt;br /&gt;
&lt;br /&gt;
This project will require some modification on image handling inside VLC, before starting.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: dionoea&#039;&#039; (backup Yuval Levy)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Interested students:&#039;&#039; [[User:Plouj]]&lt;br /&gt;
&lt;br /&gt;
=== UPnP media service ===&lt;br /&gt;
This project involves adding support for advertizing the stream on the LAN using Universal Plug&#039;n&#039;Play A/V  / DLNA.&lt;br /&gt;
&lt;br /&gt;
Streaming to the PS3 can be one achievement of it.&lt;br /&gt;
&lt;br /&gt;
Using [http://libdlna.geexbox.org/ libdlna] might be a good idea.&lt;br /&gt;
&lt;br /&gt;
Having a cross platform solution is almost a must.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: funman&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===  GUI interfaces for the browsers plug-ins ===&lt;br /&gt;
This project focuses on adding interfaces to our browser plug-ins, in order to have, in the web pages embedded mode, buttons to control {{VLC}} as in WMP or Youtube player. These buttons need to be cross-platform and cross-browsers.&lt;br /&gt;
&lt;br /&gt;
The second part of this project aims to provide a replacement for all preconfigured media players embedded in web pages, if possible.&lt;br /&gt;
 &lt;br /&gt;
For example, when a webpage asks for WMP embedded plugin, youtube player, quicktime player or any other, VLC would detect the stream and display it. This would mean less CPU needed than Flash based players...&lt;br /&gt;
&lt;br /&gt;
This project may need to work in concert with some improvements on the cache handling module access.&lt;br /&gt;
&lt;br /&gt;
The look of the interface should not be a problem (it can be added later on).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: dionoea&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Fullscreen Controller ===&lt;br /&gt;
This project is easy to describe, it would provide a fullscreen controller for Linux/Unix and Windows, as {{VLC}} already has on Mac OS X version since 0.8.6.&lt;br /&gt;
&lt;br /&gt;
It should:&lt;br /&gt;
* be draggable, &lt;br /&gt;
* be clickable,&lt;br /&gt;
* support the classical control buttons to control VLC playback in fullscreen mode,&lt;br /&gt;
* have all the VLC functionalities in it.&lt;br /&gt;
&lt;br /&gt;
With this project, which is not too long, there should be some related work on Vout (Making sure the video output does not close and reopen between files for example...)&lt;br /&gt;
&lt;br /&gt;
This project needs basic C++ knowledge. Qt knowledge would be a plus.&lt;br /&gt;
&lt;br /&gt;
This project should be doable by any serious student in a summer.&lt;br /&gt;
&lt;br /&gt;
Aim: [http://download.videolan.org/vlc/screenshots/0.8.6/VLC-mac-Fullscreen.jpg VLC on Mac fullscreen controller]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: [[User:J-b|jb]]&#039;&#039; (backup atmo)&lt;br /&gt;
&lt;br /&gt;
== More Ideas ==&lt;br /&gt;
&lt;br /&gt;
=== QTKit access ===&lt;br /&gt;
This project means to deal with building a QTKit-based access module for OS X (allowing input from USB / FireWire cameras, audio devices, camcorders, tape recorders [, ...your favourite here] ). &lt;br /&gt;
&lt;br /&gt;
This project needs also GUI Integration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: BigBen&#039;&#039; (backup feepk)&lt;br /&gt;
&lt;br /&gt;
=== Leopard integration ===&lt;br /&gt;
* a QuickLook-plugin for OS X Leopard &lt;br /&gt;
* Video Output animations&lt;br /&gt;
* VLC_app (VLCKit based) improvements.&lt;br /&gt;
* VLCKit oneclick-Streaming Server implementation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: pdherbemont, feepk&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== iPhone / iPod touch port ===&lt;br /&gt;
Port VLC to the iPhone / iPod touch platform. &lt;br /&gt;
&lt;br /&gt;
This project does not necessarily require the student to own such a device due to the availability of a simulator as part of the official SDK, although it is probably helpful.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: pdherbemont&#039;&#039; (backup feepk)&lt;br /&gt;
&lt;br /&gt;
=== Vista acceleration and DirectX improvements ===&lt;br /&gt;
Current versions of {{VLC}} have a lot of problems on Windows Vista (check the forums for specifics).&lt;br /&gt;
&lt;br /&gt;
We need support for the new EVR (enhanced video renderer) in Windows Vista, and make it the default Video Output module for that OS.&lt;br /&gt;
&lt;br /&gt;
See [http://download.microsoft.com/download/5/b/9/5b97017b-e28a-4bae-ba48-174cf47d23cd/MED134_WH06.ppt Windows Vista Video Pipeline Architecture And Implementation] and [http://msdn2.microsoft.com/en-us/library/ms788119.aspx DirectShow Improvements in Vista]&lt;br /&gt;
&lt;br /&gt;
Some rework and enhancements of the DirectX and Direct3D Video Output modules may also be necessary.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: atmo&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Automated threading error detection ===&lt;br /&gt;
VLC is heavily multithreaded.&lt;br /&gt;
&lt;br /&gt;
This project would involve extending the VLC threading APIs to provide better run-time consistency checks, and possibly proof of correctness.&lt;br /&gt;
&lt;br /&gt;
This could be similar to the lock consistency checking in the Linux kernel, albeit more simple - VLC does not have to deal with interruptions neither atomic operation and has fewer thread and synchronisation constructs.&lt;br /&gt;
&lt;br /&gt;
This project requires working knowledge of the C programming language and POSIX threads.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;mentoring would be done by courmisch&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Assembly optimizations in VLC ===&lt;br /&gt;
&lt;br /&gt;
If you are fond of writing ASM and you are fluent in MMX/SSE2, there are many interesting things in VLC to speed up.&lt;br /&gt;
* memcpy implementations in SSE2&lt;br /&gt;
* video filters ASM speedups&lt;br /&gt;
* audio filters ASM speedups&lt;br /&gt;
* Porting other ASM video filters to VLC.&lt;br /&gt;
* Profiling VLC.&lt;br /&gt;
&lt;br /&gt;
This project needs some good ASM knowledge and good C experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: jb, Dark_Shikari&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Matroska (mkv) muxing ===&lt;br /&gt;
&lt;br /&gt;
This project is about writing a mkv muxer for VLC with advanced support (chapters, multiple audio and multiple subtitles, etc...) like when you need to rip or archive a DVD.&lt;br /&gt;
&lt;br /&gt;
FFMPEG project has a similar project, and we could use the libavformat muxer and adapt ourselves, but we are not sure if we will be able to use therefore all the advanced features.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;robUx4 can do the mentoring. He has already wrote the demux and has worked for matroska, so knows it very well.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== WinCE port ===&lt;br /&gt;
The WinCE port has been broken for some time now before 0.8.4. Repairing the builds of all the external libraries build and making VLC build and work should take some time :D&lt;br /&gt;
&lt;br /&gt;
Then a rework of the interface should happen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: djc.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Skins improvements ===&lt;br /&gt;
&lt;br /&gt;
Better video output integration.&lt;br /&gt;
&lt;br /&gt;
Better skin support.&lt;br /&gt;
&lt;br /&gt;
See with [[User:J-b|jb]]&lt;br /&gt;
&lt;br /&gt;
=== SVCD handling ===&lt;br /&gt;
&lt;br /&gt;
Make SVCD&#039;s work. Menu selection, navigation and hot spots. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Proposed mentor: rockyb.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Mini Projects - More ideas ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Original&#039;&#039;&#039; ideas will be &#039;&#039;&#039;rewarded.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We have a more general page for ideas for Project in {{VLC}}, that could give you ideas: [[Mini_Projects]].&lt;br /&gt;
&lt;br /&gt;
* Visualisation improvements (libprojectM implementation ? )&lt;br /&gt;
* Video rework.&lt;br /&gt;
&lt;br /&gt;
== Questions? Contact us? ==&lt;br /&gt;
If you need to contact us for any questions, you can:&lt;br /&gt;
* use this [[Talk:SoC_2008| Talk page]], &lt;br /&gt;
* use the [http://www.videolan.org/developers/lists.html vlc-devel] mailing list,&lt;br /&gt;
* come on IRC irc://irc.videolan.org #videolan&lt;br /&gt;
* contact one of the mentors or the backup mentors,&lt;br /&gt;
* or contact [[User:J-b| Jean-Baptiste Kempf]]&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
The proposed mentors are:&lt;br /&gt;
* courmisch,&lt;br /&gt;
* dionoea,&lt;br /&gt;
* djc&lt;br /&gt;
* feepk,&lt;br /&gt;
* pdherbemont,&lt;br /&gt;
* jb,&lt;br /&gt;
* funman,&lt;br /&gt;
* robUx4,&lt;br /&gt;
* BigBen&lt;br /&gt;
* rockyb (for VCD/SVCD)&lt;br /&gt;
&lt;br /&gt;
=== Administrators ===&lt;br /&gt;
* jb&lt;br /&gt;
* xtophe&lt;br /&gt;
&lt;br /&gt;
[[Category:Activities]]&lt;/div&gt;</summary>
		<author><name>Plouj</name></author>
	</entry>
</feed>