<?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=MessiahAndrw</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=MessiahAndrw"/>
	<link rel="alternate" type="text/html" href="https://wiki.videolan.org/Special:Contributions/MessiahAndrw/"/>
	<updated>2026-11-04T16:11:54Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=AndroidCompile&amp;diff=21432</id>
		<title>AndroidCompile</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=AndroidCompile&amp;diff=21432"/>
		<updated>2012-01-31T00:35:14Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: /* Troubleshooting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is an introduction to compilation of VLC for Android on Linux. &lt;br /&gt;
&lt;br /&gt;
= Eclipse, SDK and NDK installation  =&lt;br /&gt;
&lt;br /&gt;
== Android SDK  ==&lt;br /&gt;
&lt;br /&gt;
#Create a working directory &#039;&#039;android&#039;&#039;. &lt;br /&gt;
#Go to [http://developer.android.com/sdk/index.html Android SDK page] and download android-sdk_r10-linux_x86.tgz. &lt;br /&gt;
#Decompress into &#039;&#039;android&#039;&#039; folder. &lt;br /&gt;
#Run &#039;&#039;tools/android&#039;&#039;. &lt;br /&gt;
#In the tool, install &#039;&#039;&#039;&amp;quot;SDK Platform Android 2.3, API 10&amp;quot;&#039;&#039;&#039;, and follow the instructions.&lt;br /&gt;
&lt;br /&gt;
You can have [http://developer.android.com/sdk/installing.html more details], if needed. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Android NDK  ==&lt;br /&gt;
&lt;br /&gt;
# Check that the SDK installation is correct. &lt;br /&gt;
# Go to [http://developer.android.com/sdk/ndk/index.html Android NDK page]. &lt;br /&gt;
# Download http://dl.google.com/android/ndk/android-ndk-r5b-linux-x86.tar.bz2. &lt;br /&gt;
# Decompress into &#039;&#039;android&#039;&#039; folder, next to your android-sdk-linux_x86 folder.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: If you use the Android v7 NDK, replace your /vlc-android/build.xml file as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;project name=&amp;quot;VLC&amp;quot; default=&amp;quot;help&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- The local.properties file is created and updated by the &#039;android&#039; tool.&lt;br /&gt;
         It contains the path to the SDK. It should *NOT* be checked into&lt;br /&gt;
         Version Control Systems. --&amp;gt;&lt;br /&gt;
    &amp;lt;loadproperties srcFile=&amp;quot;local.properties&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- The ant.properties file can be created by you. It is only edited by the&lt;br /&gt;
         &#039;android&#039; tool to add properties to it.&lt;br /&gt;
         This is the place to change some Ant specific build properties.&lt;br /&gt;
         Here are some properties you may want to change/update:&lt;br /&gt;
&lt;br /&gt;
         source.dir&lt;br /&gt;
             The name of the source directory. Default is &#039;src&#039;.&lt;br /&gt;
         out.dir&lt;br /&gt;
             The name of the output directory. Default is &#039;bin&#039;.&lt;br /&gt;
&lt;br /&gt;
         For other overridable properties, look at the beginning of the rules&lt;br /&gt;
         files in the SDK, at tools/ant/build.xml&lt;br /&gt;
&lt;br /&gt;
         Properties related to the SDK location or the project target should&lt;br /&gt;
         be updated using the &#039;android&#039; tool with the &#039;update&#039; action.&lt;br /&gt;
&lt;br /&gt;
         This file is an integral part of the build system for your&lt;br /&gt;
         application and should be checked into Version Control Systems.&lt;br /&gt;
&lt;br /&gt;
         --&amp;gt;&lt;br /&gt;
    &amp;lt;property file=&amp;quot;ant.properties&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- The project.properties file is created and updated by the &#039;android&#039;&lt;br /&gt;
         tool, as well as ADT.&lt;br /&gt;
&lt;br /&gt;
         This contains project specific properties such as project target, and library&lt;br /&gt;
         dependencies. Lower level build properties are stored in ant.properties&lt;br /&gt;
         (or in .classpath for Eclipse projects).&lt;br /&gt;
&lt;br /&gt;
         This file is an integral part of the build system for your&lt;br /&gt;
         application and should be checked into Version Control Systems. --&amp;gt;&lt;br /&gt;
    &amp;lt;loadproperties srcFile=&amp;quot;project.properties&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- quick check on sdk.dir --&amp;gt;&lt;br /&gt;
    &amp;lt;fail&lt;br /&gt;
            message=&amp;quot;sdk.dir is missing. Make sure to generate local.properties using &#039;android update project&#039;&amp;quot;&lt;br /&gt;
            unless=&amp;quot;sdk.dir&amp;quot;&lt;br /&gt;
    /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- extension targets. Uncomment the ones where you want to do custom work&lt;br /&gt;
     in between standard targets --&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
    &amp;lt;target name=&amp;quot;-pre-build&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;/target&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;-pre-compile&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;/target&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    /* This is typically used for code obfuscation.&lt;br /&gt;
       Compiled code location: ${out.classes.absolute.dir}&lt;br /&gt;
       If this is not done in place, override ${out.dex.input.absolute.dir} */&lt;br /&gt;
    &amp;lt;target name=&amp;quot;-post-compile&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;/target&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- Import the actual build file.&lt;br /&gt;
&lt;br /&gt;
         To customize existing targets, there are two options:&lt;br /&gt;
         - Customize only one target:&lt;br /&gt;
             - copy/paste the target into this file, *before* the&lt;br /&gt;
               &amp;lt;import&amp;gt; task.&lt;br /&gt;
             - customize it to your needs.&lt;br /&gt;
         - Customize the whole content of build.xml&lt;br /&gt;
             - copy/paste the content of the rules files (minus the top node)&lt;br /&gt;
               into this file, replacing the &amp;lt;import&amp;gt; task.&lt;br /&gt;
             - customize to your needs.&lt;br /&gt;
&lt;br /&gt;
         ***********************&lt;br /&gt;
         ****** IMPORTANT ******&lt;br /&gt;
         ***********************&lt;br /&gt;
         In all cases you must update the value of version-tag below to read &#039;custom&#039; instead of an integer,&lt;br /&gt;
         in order to avoid having your file be overridden by tools such as &amp;quot;android update project&amp;quot;&lt;br /&gt;
    --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- version-tag: 1 --&amp;gt;&lt;br /&gt;
    &amp;lt;import file=&amp;quot;${sdk.dir}/tools/ant/build.xml&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/project&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Eclipse  ==&lt;br /&gt;
&lt;br /&gt;
As used by your distribution, install eclipse with your package manager: &lt;br /&gt;
&lt;br /&gt;
 apt-get install eclipse (debian)&lt;br /&gt;
 yum install eclipse (Fedora)&lt;br /&gt;
 pacman -S eclipse (Arch)&lt;br /&gt;
 emerge -av eclipse-sdk (Gentoo)&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
And run it, at least once, and then quit eclipse. &lt;br /&gt;
&lt;br /&gt;
=== ADT  ===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;ADT&#039;&#039;&#039; plugin is required to compile on Android. &lt;br /&gt;
&lt;br /&gt;
#Go to [http://developer.android.com/sdk/eclipse-adt.html#installing ADT page]. &lt;br /&gt;
#Start Eclipse, then select Help &amp;amp;gt; Install New Software.... &lt;br /&gt;
#Add the &amp;quot;ADT Plugin&amp;quot; repository with https://dl-ssl.google.com/android/eclipse/ as &#039;&#039;&#039;URL&#039;&#039;&#039; &lt;br /&gt;
#Validate and select the checkbox next to Developer Tools and click Next, Next, Finish. &lt;br /&gt;
#Restart Eclipse. &lt;br /&gt;
#Go to &#039;&#039;Menu&#039;&#039; &amp;amp;gt; &#039;&#039;Window&#039;&#039; &amp;amp;gt; &#039;&#039;Preferences...&#039;&#039; and then &#039;&#039;Android&#039;&#039; from the left pane. &lt;br /&gt;
#Point the SDK Location in to your downloaded SDK directory. &lt;br /&gt;
#Ok, and quit Eclipse.&lt;br /&gt;
&lt;br /&gt;
See [http://developer.android.com/sdk/eclipse-adt.html#troubleshooting extra information here]. &lt;br /&gt;
&lt;br /&gt;
== Environment setup  ==&lt;br /&gt;
&lt;br /&gt;
=== Linux and autotools ===&lt;br /&gt;
&lt;br /&gt;
You &#039;&#039;&#039;MUST&#039;&#039;&#039; be on Linux, and a recent one.&lt;br /&gt;
&lt;br /&gt;
You &#039;&#039;&#039;MUST&#039;&#039;&#039; have installed: &#039;&#039;apache-ant&#039;&#039;, &#039;&#039;autoconf&#039;&#039;, &#039;&#039;automake&#039;&#039;, &#039;&#039;libtool&#039;&#039;, &#039;&#039;gawk&#039;&#039; (or &#039;&#039;nawk&#039;&#039;), &#039;&#039;gcc&#039;&#039;, &#039;&#039;g++&#039;&#039;, &#039;&#039;pkg-config&#039;&#039;, &#039;&#039;cmake&#039;&#039;, &#039;&#039;patch&#039;&#039;, &#039;&#039;subversion&#039;&#039;. And very up-to-date versions of those tools.&lt;br /&gt;
&lt;br /&gt;
You &#039;&#039;&#039;MUST&#039;&#039;&#039; install: &#039;&#039;git&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Environment ===&lt;br /&gt;
&lt;br /&gt;
Set $ANDROID_SDK to point to your Android SDK directory &lt;br /&gt;
&lt;br /&gt;
 export ANDROID_SDK=/path/to/android-sdk&lt;br /&gt;
&lt;br /&gt;
Set $ANDROID_NDK to point to your Android NDK directory &lt;br /&gt;
&lt;br /&gt;
 export ANDROID_NDK=/path/to/android-ndk&lt;br /&gt;
&lt;br /&gt;
Add some useful binaries to your $PATH &lt;br /&gt;
&lt;br /&gt;
 export PATH=$PATH:$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools&lt;br /&gt;
&lt;br /&gt;
If you plan to use the emulator or if you have a phone that does not support NEON, you need a build without [[wikipedia:ARM_architecture#Advanced_SIMD_.28NEON.29|NEON]] &lt;br /&gt;
&lt;br /&gt;
 export NO_NEON=1&lt;br /&gt;
&lt;br /&gt;
Those exports must be set at all times, notably for the contribs and the configure.&lt;br /&gt;
&lt;br /&gt;
= Building =&lt;br /&gt;
== Get VLC Source  ==&lt;br /&gt;
&lt;br /&gt;
Use the VLC git repository to get the source! &lt;br /&gt;
&lt;br /&gt;
In your &#039;&#039;android&#039;&#039; folder, run: &lt;br /&gt;
&lt;br /&gt;
 git clone git://git.videolan.org/vlc-ports/android.git&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Compile ===&lt;br /&gt;
&#039;&#039;&#039;Read&#039;&#039;&#039; compile.sh first, as it contains some very useful important information. Then run it:&lt;br /&gt;
 sh compile.sh&lt;br /&gt;
&lt;br /&gt;
=== Package in eclipse  ===&lt;br /&gt;
# In Eclipse, create a new Android project from existing source by giving the vlc-android path. &lt;br /&gt;
# Compile your project using Eclipse.&lt;br /&gt;
&lt;br /&gt;
== Run  ==&lt;br /&gt;
&lt;br /&gt;
Run it and enjoy! &lt;br /&gt;
&lt;br /&gt;
= Debuging =&lt;br /&gt;
Here are some helpful links if you wish to debug VLC on Android:&lt;br /&gt;
* [http://developer.android.com/guide/developing/debugging/ddms.html DDMS] &lt;br /&gt;
* [http://developer.android.com/guide/developing/tools/logcat.html Logcat]&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting =&lt;br /&gt;
== Outdated Awk ==&lt;br /&gt;
If you receive the error message while building:&lt;br /&gt;
&lt;br /&gt;
 Android NDK: Host &#039;awk&#039; tool is outdated. Please define HOST_AWK to point to Gawk or Nawk !    &lt;br /&gt;
&lt;br /&gt;
The prebuilt version of Awk that comes with the Android NDK is outdated. Defining HOST_AWK in your environment does nothing as the system still tries to just the one that comes with the Android NDK. To get around this issue, simply rename or delete the Awk binary that comes with the Android NDK. For example to move it:&lt;br /&gt;
&lt;br /&gt;
 mv $ANDROID_NDK/prebuilt/linux-x86/bin/awk $ANDROID_NDK/prebuilt/linux-x86/bin/awk.old&lt;br /&gt;
&lt;br /&gt;
== Can&#039;t find Ant ==&lt;br /&gt;
If you&#039;re new to Ant, please be aware that some Linux distros don&#039;t install it in the usual spot as with other programs. Try checking to see if the directory /usr/share/java/apache-ant/bin exists and add it to your path.&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=AndroidCompile&amp;diff=21431</id>
		<title>AndroidCompile</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=AndroidCompile&amp;diff=21431"/>
		<updated>2012-01-31T00:29:43Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: fixed section indenting, started troubleshooting section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is an introduction to compilation of VLC for Android on Linux. &lt;br /&gt;
&lt;br /&gt;
= Eclipse, SDK and NDK installation  =&lt;br /&gt;
&lt;br /&gt;
== Android SDK  ==&lt;br /&gt;
&lt;br /&gt;
#Create a working directory &#039;&#039;android&#039;&#039;. &lt;br /&gt;
#Go to [http://developer.android.com/sdk/index.html Android SDK page] and download android-sdk_r10-linux_x86.tgz. &lt;br /&gt;
#Decompress into &#039;&#039;android&#039;&#039; folder. &lt;br /&gt;
#Run &#039;&#039;tools/android&#039;&#039;. &lt;br /&gt;
#In the tool, install &#039;&#039;&#039;&amp;quot;SDK Platform Android 2.3, API 10&amp;quot;&#039;&#039;&#039;, and follow the instructions.&lt;br /&gt;
&lt;br /&gt;
You can have [http://developer.android.com/sdk/installing.html more details], if needed. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Android NDK  ==&lt;br /&gt;
&lt;br /&gt;
# Check that the SDK installation is correct. &lt;br /&gt;
# Go to [http://developer.android.com/sdk/ndk/index.html Android NDK page]. &lt;br /&gt;
# Download http://dl.google.com/android/ndk/android-ndk-r5b-linux-x86.tar.bz2. &lt;br /&gt;
# Decompress into &#039;&#039;android&#039;&#039; folder, next to your android-sdk-linux_x86 folder.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: If you use the Android v7 NDK, replace your /vlc-android/build.xml file as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;project name=&amp;quot;VLC&amp;quot; default=&amp;quot;help&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- The local.properties file is created and updated by the &#039;android&#039; tool.&lt;br /&gt;
         It contains the path to the SDK. It should *NOT* be checked into&lt;br /&gt;
         Version Control Systems. --&amp;gt;&lt;br /&gt;
    &amp;lt;loadproperties srcFile=&amp;quot;local.properties&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- The ant.properties file can be created by you. It is only edited by the&lt;br /&gt;
         &#039;android&#039; tool to add properties to it.&lt;br /&gt;
         This is the place to change some Ant specific build properties.&lt;br /&gt;
         Here are some properties you may want to change/update:&lt;br /&gt;
&lt;br /&gt;
         source.dir&lt;br /&gt;
             The name of the source directory. Default is &#039;src&#039;.&lt;br /&gt;
         out.dir&lt;br /&gt;
             The name of the output directory. Default is &#039;bin&#039;.&lt;br /&gt;
&lt;br /&gt;
         For other overridable properties, look at the beginning of the rules&lt;br /&gt;
         files in the SDK, at tools/ant/build.xml&lt;br /&gt;
&lt;br /&gt;
         Properties related to the SDK location or the project target should&lt;br /&gt;
         be updated using the &#039;android&#039; tool with the &#039;update&#039; action.&lt;br /&gt;
&lt;br /&gt;
         This file is an integral part of the build system for your&lt;br /&gt;
         application and should be checked into Version Control Systems.&lt;br /&gt;
&lt;br /&gt;
         --&amp;gt;&lt;br /&gt;
    &amp;lt;property file=&amp;quot;ant.properties&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- The project.properties file is created and updated by the &#039;android&#039;&lt;br /&gt;
         tool, as well as ADT.&lt;br /&gt;
&lt;br /&gt;
         This contains project specific properties such as project target, and library&lt;br /&gt;
         dependencies. Lower level build properties are stored in ant.properties&lt;br /&gt;
         (or in .classpath for Eclipse projects).&lt;br /&gt;
&lt;br /&gt;
         This file is an integral part of the build system for your&lt;br /&gt;
         application and should be checked into Version Control Systems. --&amp;gt;&lt;br /&gt;
    &amp;lt;loadproperties srcFile=&amp;quot;project.properties&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- quick check on sdk.dir --&amp;gt;&lt;br /&gt;
    &amp;lt;fail&lt;br /&gt;
            message=&amp;quot;sdk.dir is missing. Make sure to generate local.properties using &#039;android update project&#039;&amp;quot;&lt;br /&gt;
            unless=&amp;quot;sdk.dir&amp;quot;&lt;br /&gt;
    /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- extension targets. Uncomment the ones where you want to do custom work&lt;br /&gt;
     in between standard targets --&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
    &amp;lt;target name=&amp;quot;-pre-build&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;/target&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;-pre-compile&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;/target&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    /* This is typically used for code obfuscation.&lt;br /&gt;
       Compiled code location: ${out.classes.absolute.dir}&lt;br /&gt;
       If this is not done in place, override ${out.dex.input.absolute.dir} */&lt;br /&gt;
    &amp;lt;target name=&amp;quot;-post-compile&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;/target&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- Import the actual build file.&lt;br /&gt;
&lt;br /&gt;
         To customize existing targets, there are two options:&lt;br /&gt;
         - Customize only one target:&lt;br /&gt;
             - copy/paste the target into this file, *before* the&lt;br /&gt;
               &amp;lt;import&amp;gt; task.&lt;br /&gt;
             - customize it to your needs.&lt;br /&gt;
         - Customize the whole content of build.xml&lt;br /&gt;
             - copy/paste the content of the rules files (minus the top node)&lt;br /&gt;
               into this file, replacing the &amp;lt;import&amp;gt; task.&lt;br /&gt;
             - customize to your needs.&lt;br /&gt;
&lt;br /&gt;
         ***********************&lt;br /&gt;
         ****** IMPORTANT ******&lt;br /&gt;
         ***********************&lt;br /&gt;
         In all cases you must update the value of version-tag below to read &#039;custom&#039; instead of an integer,&lt;br /&gt;
         in order to avoid having your file be overridden by tools such as &amp;quot;android update project&amp;quot;&lt;br /&gt;
    --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- version-tag: 1 --&amp;gt;&lt;br /&gt;
    &amp;lt;import file=&amp;quot;${sdk.dir}/tools/ant/build.xml&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/project&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Eclipse  ==&lt;br /&gt;
&lt;br /&gt;
As used by your distribution, install eclipse with your package manager: &lt;br /&gt;
&lt;br /&gt;
 apt-get install eclipse (debian)&lt;br /&gt;
 yum install eclipse (Fedora)&lt;br /&gt;
 pacman -S eclipse (Arch)&lt;br /&gt;
 emerge -av eclipse-sdk (Gentoo)&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
And run it, at least once, and then quit eclipse. &lt;br /&gt;
&lt;br /&gt;
=== ADT  ===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;ADT&#039;&#039;&#039; plugin is required to compile on Android. &lt;br /&gt;
&lt;br /&gt;
#Go to [http://developer.android.com/sdk/eclipse-adt.html#installing ADT page]. &lt;br /&gt;
#Start Eclipse, then select Help &amp;amp;gt; Install New Software.... &lt;br /&gt;
#Add the &amp;quot;ADT Plugin&amp;quot; repository with https://dl-ssl.google.com/android/eclipse/ as &#039;&#039;&#039;URL&#039;&#039;&#039; &lt;br /&gt;
#Validate and select the checkbox next to Developer Tools and click Next, Next, Finish. &lt;br /&gt;
#Restart Eclipse. &lt;br /&gt;
#Go to &#039;&#039;Menu&#039;&#039; &amp;amp;gt; &#039;&#039;Window&#039;&#039; &amp;amp;gt; &#039;&#039;Preferences...&#039;&#039; and then &#039;&#039;Android&#039;&#039; from the left pane. &lt;br /&gt;
#Point the SDK Location in to your downloaded SDK directory. &lt;br /&gt;
#Ok, and quit Eclipse.&lt;br /&gt;
&lt;br /&gt;
See [http://developer.android.com/sdk/eclipse-adt.html#troubleshooting extra information here]. &lt;br /&gt;
&lt;br /&gt;
== Environment setup  ==&lt;br /&gt;
&lt;br /&gt;
=== Linux and autotools ===&lt;br /&gt;
&lt;br /&gt;
You &#039;&#039;&#039;MUST&#039;&#039;&#039; be on Linux, and a recent one.&lt;br /&gt;
&lt;br /&gt;
You &#039;&#039;&#039;MUST&#039;&#039;&#039; have installed: &#039;&#039;apache-ant&#039;&#039;, &#039;&#039;autoconf&#039;&#039;, &#039;&#039;automake&#039;&#039;, &#039;&#039;libtool&#039;&#039;, &#039;&#039;gawk&#039;&#039; (or &#039;&#039;nawk&#039;&#039;), &#039;&#039;gcc&#039;&#039;, &#039;&#039;g++&#039;&#039;, &#039;&#039;pkg-config&#039;&#039;, &#039;&#039;cmake&#039;&#039;, &#039;&#039;patch&#039;&#039;, &#039;&#039;subversion&#039;&#039;. And very up-to-date versions of those tools.&lt;br /&gt;
&lt;br /&gt;
You &#039;&#039;&#039;MUST&#039;&#039;&#039; install: &#039;&#039;git&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Environment ===&lt;br /&gt;
&lt;br /&gt;
Set $ANDROID_SDK to point to your Android SDK directory &lt;br /&gt;
&lt;br /&gt;
 export ANDROID_SDK=/path/to/android-sdk&lt;br /&gt;
&lt;br /&gt;
Set $ANDROID_NDK to point to your Android NDK directory &lt;br /&gt;
&lt;br /&gt;
 export ANDROID_NDK=/path/to/android-ndk&lt;br /&gt;
&lt;br /&gt;
Add some useful binaries to your $PATH &lt;br /&gt;
&lt;br /&gt;
 export PATH=$PATH:$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools&lt;br /&gt;
&lt;br /&gt;
If you plan to use the emulator or if you have a phone that does not support NEON, you need a build without [[wikipedia:ARM_architecture#Advanced_SIMD_.28NEON.29|NEON]] &lt;br /&gt;
&lt;br /&gt;
 export NO_NEON=1&lt;br /&gt;
&lt;br /&gt;
Those exports must be set at all times, notably for the contribs and the configure.&lt;br /&gt;
&lt;br /&gt;
= Building =&lt;br /&gt;
== Get VLC Source  ==&lt;br /&gt;
&lt;br /&gt;
Use the VLC git repository to get the source! &lt;br /&gt;
&lt;br /&gt;
In your &#039;&#039;android&#039;&#039; folder, run: &lt;br /&gt;
&lt;br /&gt;
 git clone git://git.videolan.org/vlc-ports/android.git&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Compile ===&lt;br /&gt;
&#039;&#039;&#039;Read&#039;&#039;&#039; compile.sh first, as it contains some very useful important information. Then run it:&lt;br /&gt;
 sh compile.sh&lt;br /&gt;
&lt;br /&gt;
=== Package in eclipse  ===&lt;br /&gt;
# In Eclipse, create a new Android project from existing source by giving the vlc-android path. &lt;br /&gt;
# Compile your project using Eclipse.&lt;br /&gt;
&lt;br /&gt;
== Run  ==&lt;br /&gt;
&lt;br /&gt;
Run it and enjoy! &lt;br /&gt;
&lt;br /&gt;
= Debuging =&lt;br /&gt;
Here are some helpful links if you wish to debug VLC on Android:&lt;br /&gt;
* [http://developer.android.com/guide/developing/debugging/ddms.html DDMS] &lt;br /&gt;
* [http://developer.android.com/guide/developing/tools/logcat.html Logcat]&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting =&lt;br /&gt;
== Outdated Awk ==&lt;br /&gt;
If you receive the error message while building:&lt;br /&gt;
&lt;br /&gt;
 Android NDK: Host &#039;awk&#039; tool is outdated. Please define HOST_AWK to point to Gawk or Nawk !    &lt;br /&gt;
&lt;br /&gt;
The prebuilt version of Awk that comes with the Android NDK is outdated. Defining HOST_AWK in your environment does nothing as the system still tries to just the one that comes with the Android NDK. To get around this issue, simply rename or delete the Awk binary that comes with the Android NDK. For example to move it:&lt;br /&gt;
&lt;br /&gt;
 mv $ANDROID_NDK/prebuilt/linux-x86/bin/awk $ANDROID_NDK/prebuilt/linux-x86/bin/awk.old&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=AndroidCompile&amp;diff=21430</id>
		<title>AndroidCompile</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=AndroidCompile&amp;diff=21430"/>
		<updated>2012-01-31T00:22:03Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: /* Linux and autotools */  added ant to required tools&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is an introduction to compilation of VLC for Android on Linux. &lt;br /&gt;
&lt;br /&gt;
= Eclipse, SDK and NDK installation  =&lt;br /&gt;
&lt;br /&gt;
== Android SDK  ==&lt;br /&gt;
&lt;br /&gt;
#Create a working directory &#039;&#039;android&#039;&#039;. &lt;br /&gt;
#Go to [http://developer.android.com/sdk/index.html Android SDK page] and download android-sdk_r10-linux_x86.tgz. &lt;br /&gt;
#Decompress into &#039;&#039;android&#039;&#039; folder. &lt;br /&gt;
#Run &#039;&#039;tools/android&#039;&#039;. &lt;br /&gt;
#In the tool, install &#039;&#039;&#039;&amp;quot;SDK Platform Android 2.3, API 10&amp;quot;&#039;&#039;&#039;, and follow the instructions.&lt;br /&gt;
&lt;br /&gt;
You can have [http://developer.android.com/sdk/installing.html more details], if needed. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Android NDK  ==&lt;br /&gt;
&lt;br /&gt;
# Check that the SDK installation is correct. &lt;br /&gt;
# Go to [http://developer.android.com/sdk/ndk/index.html Android NDK page]. &lt;br /&gt;
# Download http://dl.google.com/android/ndk/android-ndk-r5b-linux-x86.tar.bz2. &lt;br /&gt;
# Decompress into &#039;&#039;android&#039;&#039; folder, next to your android-sdk-linux_x86 folder.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: If you use the Android v7 NDK, replace your /vlc-android/build.xml file as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;project name=&amp;quot;VLC&amp;quot; default=&amp;quot;help&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- The local.properties file is created and updated by the &#039;android&#039; tool.&lt;br /&gt;
         It contains the path to the SDK. It should *NOT* be checked into&lt;br /&gt;
         Version Control Systems. --&amp;gt;&lt;br /&gt;
    &amp;lt;loadproperties srcFile=&amp;quot;local.properties&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- The ant.properties file can be created by you. It is only edited by the&lt;br /&gt;
         &#039;android&#039; tool to add properties to it.&lt;br /&gt;
         This is the place to change some Ant specific build properties.&lt;br /&gt;
         Here are some properties you may want to change/update:&lt;br /&gt;
&lt;br /&gt;
         source.dir&lt;br /&gt;
             The name of the source directory. Default is &#039;src&#039;.&lt;br /&gt;
         out.dir&lt;br /&gt;
             The name of the output directory. Default is &#039;bin&#039;.&lt;br /&gt;
&lt;br /&gt;
         For other overridable properties, look at the beginning of the rules&lt;br /&gt;
         files in the SDK, at tools/ant/build.xml&lt;br /&gt;
&lt;br /&gt;
         Properties related to the SDK location or the project target should&lt;br /&gt;
         be updated using the &#039;android&#039; tool with the &#039;update&#039; action.&lt;br /&gt;
&lt;br /&gt;
         This file is an integral part of the build system for your&lt;br /&gt;
         application and should be checked into Version Control Systems.&lt;br /&gt;
&lt;br /&gt;
         --&amp;gt;&lt;br /&gt;
    &amp;lt;property file=&amp;quot;ant.properties&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- The project.properties file is created and updated by the &#039;android&#039;&lt;br /&gt;
         tool, as well as ADT.&lt;br /&gt;
&lt;br /&gt;
         This contains project specific properties such as project target, and library&lt;br /&gt;
         dependencies. Lower level build properties are stored in ant.properties&lt;br /&gt;
         (or in .classpath for Eclipse projects).&lt;br /&gt;
&lt;br /&gt;
         This file is an integral part of the build system for your&lt;br /&gt;
         application and should be checked into Version Control Systems. --&amp;gt;&lt;br /&gt;
    &amp;lt;loadproperties srcFile=&amp;quot;project.properties&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- quick check on sdk.dir --&amp;gt;&lt;br /&gt;
    &amp;lt;fail&lt;br /&gt;
            message=&amp;quot;sdk.dir is missing. Make sure to generate local.properties using &#039;android update project&#039;&amp;quot;&lt;br /&gt;
            unless=&amp;quot;sdk.dir&amp;quot;&lt;br /&gt;
    /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- extension targets. Uncomment the ones where you want to do custom work&lt;br /&gt;
     in between standard targets --&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
    &amp;lt;target name=&amp;quot;-pre-build&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;/target&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;-pre-compile&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;/target&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    /* This is typically used for code obfuscation.&lt;br /&gt;
       Compiled code location: ${out.classes.absolute.dir}&lt;br /&gt;
       If this is not done in place, override ${out.dex.input.absolute.dir} */&lt;br /&gt;
    &amp;lt;target name=&amp;quot;-post-compile&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;/target&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- Import the actual build file.&lt;br /&gt;
&lt;br /&gt;
         To customize existing targets, there are two options:&lt;br /&gt;
         - Customize only one target:&lt;br /&gt;
             - copy/paste the target into this file, *before* the&lt;br /&gt;
               &amp;lt;import&amp;gt; task.&lt;br /&gt;
             - customize it to your needs.&lt;br /&gt;
         - Customize the whole content of build.xml&lt;br /&gt;
             - copy/paste the content of the rules files (minus the top node)&lt;br /&gt;
               into this file, replacing the &amp;lt;import&amp;gt; task.&lt;br /&gt;
             - customize to your needs.&lt;br /&gt;
&lt;br /&gt;
         ***********************&lt;br /&gt;
         ****** IMPORTANT ******&lt;br /&gt;
         ***********************&lt;br /&gt;
         In all cases you must update the value of version-tag below to read &#039;custom&#039; instead of an integer,&lt;br /&gt;
         in order to avoid having your file be overridden by tools such as &amp;quot;android update project&amp;quot;&lt;br /&gt;
    --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- version-tag: 1 --&amp;gt;&lt;br /&gt;
    &amp;lt;import file=&amp;quot;${sdk.dir}/tools/ant/build.xml&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/project&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Eclipse  ==&lt;br /&gt;
&lt;br /&gt;
As used by your distribution, install eclipse with your package manager: &lt;br /&gt;
&lt;br /&gt;
 apt-get install eclipse (debian)&lt;br /&gt;
 yum install eclipse (Fedora)&lt;br /&gt;
 pacman -S eclipse (Arch)&lt;br /&gt;
 emerge -av eclipse-sdk (Gentoo)&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
And run it, at least once, and then quit eclipse. &lt;br /&gt;
&lt;br /&gt;
=== ADT  ===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;ADT&#039;&#039;&#039; plugin is required to compile on Android. &lt;br /&gt;
&lt;br /&gt;
#Go to [http://developer.android.com/sdk/eclipse-adt.html#installing ADT page]. &lt;br /&gt;
#Start Eclipse, then select Help &amp;amp;gt; Install New Software.... &lt;br /&gt;
#Add the &amp;quot;ADT Plugin&amp;quot; repository with https://dl-ssl.google.com/android/eclipse/ as &#039;&#039;&#039;URL&#039;&#039;&#039; &lt;br /&gt;
#Validate and select the checkbox next to Developer Tools and click Next, Next, Finish. &lt;br /&gt;
#Restart Eclipse. &lt;br /&gt;
#Go to &#039;&#039;Menu&#039;&#039; &amp;amp;gt; &#039;&#039;Window&#039;&#039; &amp;amp;gt; &#039;&#039;Preferences...&#039;&#039; and then &#039;&#039;Android&#039;&#039; from the left pane. &lt;br /&gt;
#Point the SDK Location in to your downloaded SDK directory. &lt;br /&gt;
#Ok, and quit Eclipse.&lt;br /&gt;
&lt;br /&gt;
See [http://developer.android.com/sdk/eclipse-adt.html#troubleshooting extra information here]. &lt;br /&gt;
&lt;br /&gt;
== Environment setup  ==&lt;br /&gt;
&lt;br /&gt;
=== Linux and autotools ===&lt;br /&gt;
&lt;br /&gt;
You &#039;&#039;&#039;MUST&#039;&#039;&#039; be on Linux, and a recent one.&lt;br /&gt;
&lt;br /&gt;
You &#039;&#039;&#039;MUST&#039;&#039;&#039; have installed: &#039;&#039;apache-ant&#039;&#039;, &#039;&#039;autoconf&#039;&#039;, &#039;&#039;automake&#039;&#039;, &#039;&#039;libtool&#039;&#039;, &#039;&#039;gcc&#039;&#039;, &#039;&#039;g++&#039;&#039;, &#039;&#039;pkg-config&#039;&#039;, &#039;&#039;cmake&#039;&#039;, &#039;&#039;patch&#039;&#039;, &#039;&#039;subversion&#039;&#039;. And very up-to-date versions of those tools.&lt;br /&gt;
&lt;br /&gt;
You &#039;&#039;&#039;MUST&#039;&#039;&#039; install: &#039;&#039;git&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Environment ===&lt;br /&gt;
&lt;br /&gt;
Set $ANDROID_SDK to point to your Android SDK directory &lt;br /&gt;
&lt;br /&gt;
 export ANDROID_SDK=/path/to/android-sdk&lt;br /&gt;
&lt;br /&gt;
Set $ANDROID_NDK to point to your Android NDK directory &lt;br /&gt;
&lt;br /&gt;
 export ANDROID_NDK=/path/to/android-ndk&lt;br /&gt;
&lt;br /&gt;
Add some useful binaries to your $PATH &lt;br /&gt;
&lt;br /&gt;
 export PATH=$PATH:$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools&lt;br /&gt;
&lt;br /&gt;
If you plan to use the emulator or if you have a phone that does not support NEON, you need a build without [[wikipedia:ARM_architecture#Advanced_SIMD_.28NEON.29|NEON]] &lt;br /&gt;
&lt;br /&gt;
 export NO_NEON=1&lt;br /&gt;
&lt;br /&gt;
Those exports must be set at all times, notably for the contribs and the configure.&lt;br /&gt;
&lt;br /&gt;
= Get VLC Source  =&lt;br /&gt;
&lt;br /&gt;
Use the VLC git repository to get the source! &lt;br /&gt;
&lt;br /&gt;
In your &#039;&#039;android&#039;&#039; folder, run: &lt;br /&gt;
&lt;br /&gt;
 git clone git://git.videolan.org/vlc-ports/android.git&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Compile ===&lt;br /&gt;
&#039;&#039;&#039;Read&#039;&#039;&#039; compile.sh first, as it contains some very useful important information. Then run it:&lt;br /&gt;
 sh compile.sh&lt;br /&gt;
&lt;br /&gt;
=== Package in eclipse  ===&lt;br /&gt;
# In Eclipse, create a new Android project from existing source by giving the vlc-android path. &lt;br /&gt;
# Compile your project using Eclipse.&lt;br /&gt;
&lt;br /&gt;
== Run  ==&lt;br /&gt;
&lt;br /&gt;
Run it and enjoy! &lt;br /&gt;
&lt;br /&gt;
== Debug ==&lt;br /&gt;
* [http://developer.android.com/guide/developing/debugging/ddms.html DDMS] &lt;br /&gt;
* [http://developer.android.com/guide/developing/tools/logcat.html Logcat]&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19672</id>
		<title>SoC 2011/Stereoscopic Video</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19672"/>
		<updated>2011-09-18T04:36:54Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: /* Donations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoCProject|year=2011|student=[[User:MessiahAndrw|Andrew Price]]|mentor=[[User:j-b|Jean-Baptiste Kempf]]}} &lt;br /&gt;
&lt;br /&gt;
Stereoscopic, or 3D, video support was implemented into the VLC Media Player as part of my Google Summer of Code project. It is currently experimental with a couple of bugs and I&#039;m still actively working on it. At present you must build it from source, and I&#039;m looking to soon merge it into the main tree.&lt;br /&gt;
&lt;br /&gt;
I&#039;m in need of hardware, if you would like to help out see [[#Donations|here]].&lt;br /&gt;
&lt;br /&gt;
== Building from Source ==&lt;br /&gt;
&lt;br /&gt;
At the present state you must acquire the source code of the stereoscopic 3D branch and build it yourself. https://github.com/MessiahAndrw/Stereoscopic-VLC&lt;br /&gt;
&lt;br /&gt;
A build (that my be out of date by the time you read this) is available here: http://streams.videolan.org/misc/stereo/vlc-1.2.0-git-stereoscopy.zip�&lt;br /&gt;
&lt;br /&gt;
There are build instructions in a file named &#039;STEREOSCOPY README&#039; but I&#039;ll also repeat the instructions here. &lt;br /&gt;
&lt;br /&gt;
=== Build Environment ===&lt;br /&gt;
&lt;br /&gt;
I use 32-bit MSYS/x86 Windows 7. To set up your build environment first follow through the instructions on [Win32CompileMSYSNew] to make sure you&#039;re able to build VLC successfully on your system. &lt;br /&gt;
&lt;br /&gt;
The following build instructions should work on any Windows system. &lt;br /&gt;
&lt;br /&gt;
=== Building ===&lt;br /&gt;
&lt;br /&gt;
Create a new empty directory somewhere, and at the MSYS terminal type: &lt;br /&gt;
&lt;br /&gt;
 git pull git://github.com/MessiahAndrw/Stereoscopic-VLC.git&lt;br /&gt;
&lt;br /&gt;
To bootstrap the build I use the following: &lt;br /&gt;
&lt;br /&gt;
 cd vlc&lt;br /&gt;
 cp -v /usr/win32/share/aclocal/* m4/&lt;br /&gt;
 cp -v /usr/share/aclocal/* m4/&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH ./bootstrap&lt;br /&gt;
&lt;br /&gt;
Then to configure: &lt;br /&gt;
&lt;br /&gt;
 sh extras/package/win32/configure-msys.sh&lt;br /&gt;
&lt;br /&gt;
Finally to build: &lt;br /&gt;
&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH make package-win32 -j6&lt;br /&gt;
&lt;br /&gt;
(The -j6 switch is optional and tells makefile to use 6 threads, it speeds up the build time on my 6-core machine.) &lt;br /&gt;
&lt;br /&gt;
&#039;make package-win32&#039; will exit with the following error but that&#039;s normal and VLC has still been built: &lt;br /&gt;
&lt;br /&gt;
 cp: cannot stat `./npapi-vlc/installed/lib/npvlc.dll&#039;: No such file or directory&lt;br /&gt;
&lt;br /&gt;
If everything else was successful you will now have built VLC with stereoscopic support! You will find this build in the directory &#039;vlc-1.2.0-git&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Note on 3D Vision support ===&lt;br /&gt;
&lt;br /&gt;
nVidia 3D Vision only activates for windowed-mode programs which are supported by the nVidia driver. At the present state VLC is not supported by the nVidia driver. However, the driver only performs a simple file-name check of the application, so as a workaround you can rename vlc.exe to the same file-name as a supported application. This can be done simply by: &lt;br /&gt;
&lt;br /&gt;
 cd vlc-1.2.0-git&lt;br /&gt;
 mv vlc.exe wow.exe&lt;br /&gt;
&lt;br /&gt;
== Splitting ==&lt;br /&gt;
&lt;br /&gt;
To play a stereoscopic 3D video you must tell the stereoscopy module how to get the image for each eye. The stereoscopic module is takes a 2D input picture, and produces 2 output pictures (one for the left eye, and one for the right eye). &lt;br /&gt;
&lt;br /&gt;
=== Command line ===&lt;br /&gt;
&lt;br /&gt;
To enable the stereoscopic module you should add the following command line parameters when you start vlc: &lt;br /&gt;
&lt;br /&gt;
 --video-filter=&amp;quot;stereoscopy&amp;quot; --stereoscopy-left=&amp;quot;&amp;amp;lt;left&amp;amp;gt;&amp;quot; --stereoscopy-right=&amp;quot;&amp;amp;lt;right&amp;amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Where &amp;amp;lt;left&amp;amp;gt; and &amp;amp;lt;right&amp;amp;gt; are valid input formats (see the table below). &lt;br /&gt;
&lt;br /&gt;
=== QT4 ===&lt;br /&gt;
&lt;br /&gt;
You can configure the stereoscopy module through the QT4 interface. To do this, open the &#039;Tools&#039; menu and click on &#039;Effects and Filters&#039;. In the &#039;Adjustments and Effects&#039; dialog that opens navigate to the &#039;Video Effects&#039; tab. Then find the sub-tab titled &#039;Stereoscopy&#039;. Check &#039;Split&#039; to enable the stereoscopy module to split the image into separate left and right frames. Select your video&#039;s input formats for the &#039;Left Eye and the &#039;Right Eye&#039;. &lt;br /&gt;
&lt;br /&gt;
[[File:StereoscopyoptionsQt4.png]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Input formats ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Source &lt;br /&gt;
| Extracted Image &lt;br /&gt;
| Format name &lt;br /&gt;
| Description&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightb.jpg]]&lt;br /&gt;
| blue&lt;br /&gt;
| The eye is encoded into the blue channel of the image and returned as a blue image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightc.jpg]]&lt;br /&gt;
| cyan&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image returned as a cyan image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
| [[File:StereoRightg.jpg]]&lt;br /&gt;
| green&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a green image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightm.jpg]]&lt;br /&gt;
| magenta&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image returned as a magenta image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoLeftr.jpg]]&lt;br /&gt;
| red&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned as a red image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRighty.jpg]]&lt;br /&gt;
| yellow&lt;br /&gt;
| The eye is encoded into the red and green channels of the image returned as a yellow image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightbg.jpg]]&lt;br /&gt;
| blue-gray&lt;br /&gt;
| The eye is encoded into the blue channel and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightcg.jpg]]&lt;br /&gt;
| cyan-gray&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
| [[File:StereoRightgg.jpg]]&lt;br /&gt;
| green-gray&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightmg.jpg]]&lt;br /&gt;
| magenta-gray&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoLeftrg.jpg]]&lt;br /&gt;
| red-gray&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRightyg.jpg]]&lt;br /&gt;
| yellow-gray&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightcf.jpg]]&lt;br /&gt;
| cyan-fill&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a full colour image. The missing red channel is filled in with the average of the blue and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightmf.jpg]]&lt;br /&gt;
| magenta-fill&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a full colour image. The missing green channel is filled in with the average of the red and blue channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRightyf.jpg]]&lt;br /&gt;
| yellow-fill&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a full colour image. The missing blue channel is filled in with the average of the red and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| left&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| right&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| top&lt;br /&gt;
| The eye is encoded into the right half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| bottom&lt;br /&gt;
| The eye is encoded into the bottom half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Developer notes ===&lt;br /&gt;
&lt;br /&gt;
picture_t contains a new field i_eye that is the eye the picture represents. Valid values at the moment are: &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| The picture is 2D.&lt;br /&gt;
|-&lt;br /&gt;
| 1 &lt;br /&gt;
| The picture is destined for the left eye.&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| The picture is destined for the right eye.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Flags:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| STEREO_WAIT_FOR_NEXT_FRAME_BIT&lt;br /&gt;
| Do not present straight away and instead wait for the next frame.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The default value for i_eye is 0, and all present video codecs output frames where i_eye is 0. It is up to the stereoscopy module to split it into left and right. But it&#039;s possible for someone to develop a video codec that output pictures where i_eye&amp;amp;gt;0, for example for a container format where the data is stored as separate left/right images. In this case the stereoscopy module does nothing, and forwards the pictures on as is.&lt;br /&gt;
&lt;br /&gt;
Mask i_eye by STEREO_EYE_MASK to get the eye number without any flags. It is possible that two images represent the same point in time (this is only untrue for field sequential video). If the STEREO_WAIT_FOR_NEXT_FRAME_BIT is set then the vout shouldn&#039;t present the frame straight away, but expect another picture immediately joining it representing the other eye at the same point of time, and display them together at once.&lt;br /&gt;
&lt;br /&gt;
== nVidia 3D Vision ==&lt;br /&gt;
The focus of the Google SoC project has been on nVidia 3D Vision. To use 3D Vision you require the following:&lt;br /&gt;
&lt;br /&gt;
* A compatible nVidia GPU&lt;br /&gt;
* nVidia 3D Vision Kit (the glasses you wear)&lt;br /&gt;
* A 120Hz LCD or 100Hz CRT monitor&lt;br /&gt;
* Windows&lt;br /&gt;
&lt;br /&gt;
You also have to rename &#039;vlc.exe&#039; since VLC isn&#039;t yet supported by the nVidia drivers. I&#039;d recommend &#039;wow.exe&#039; or &#039;googleearth.exe&#039;. Also, make sure you have 3D Vision enabled in the nVidia control panel.&lt;br /&gt;
&lt;br /&gt;
3D Vision will work straight out the box with the Direct3D (XP) vout. You don&#039;t need to do anything special, it&#039;ll activate as soon as the Direct3D vout starts receiving stereoscopic frames.&lt;br /&gt;
&lt;br /&gt;
== AMD HD3D ==&lt;br /&gt;
I would really love to start working on supporting AMD HD3D, but I need your help, see [[#Donations|here]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Quad Buffered OpenGL ==&lt;br /&gt;
There is some experimental code for quad-buffered OpenGL if you build from source. I highly doubt it will work since I currently lack the hardware needed to test it. Help speed up development, see [[#Donations|here]].&lt;br /&gt;
&lt;br /&gt;
== Other Planned Features ==&lt;br /&gt;
* &#039;&#039;A vout-independent anaglyph combining filter.&#039;&#039; This will combine the images for both eyes into a single anaglyph image before being passed to the vout. This will make it possible to display stereoscopic content with non-stereoscopic-aware vouts.&lt;br /&gt;
* &#039;&#039;3D TV output.&#039;&#039; Non-HDMI 1.4 3D outputs - e.g. outputting side-by-side checkerboard, row interleaved, etc.&lt;br /&gt;
* &#039;&#039;Other proprietary shutter glasses&#039;&#039;. For example e-Dimensional.&lt;br /&gt;
* &#039;&#039;More input formats&#039;&#039;. Column and row interleaved input sources.&lt;br /&gt;
&lt;br /&gt;
== Donations ==&lt;br /&gt;
The best way you can help me out is by donating hardware. Any hardware you donate will become my top priority to add support for. If you do wish to donate, please contact me by e-mail at messiahandrw-at-gmail-dot-com (my shipping address is in Australia). I&#039;ll accept any hardware that you wish to donate, however the following will be especially useful:&lt;br /&gt;
&lt;br /&gt;
* AMD Radeon HD 5xxx or 6xxx.&lt;br /&gt;
* AMD FirePro Vx800, Vx7x0&lt;br /&gt;
* HDMI 1.4 compliant 3D TVs&lt;br /&gt;
* 120Hz monitors&lt;br /&gt;
&lt;br /&gt;
If instead you&#039;d like to donate money for me to purchase the above hardware, see [http://pledgie.com/campaigns/16038 my pledge].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;amp; Support ==&lt;br /&gt;
There are several issues I am aware of. If you need support directly from me or have any enquiries then feel free to e-mail me directly at messiahandrw-at-gmail-dot-com (also mention Stereoscopic VLC in the subject so I don&#039;t mistake it for spam).&lt;br /&gt;
&lt;br /&gt;
=== VLC Crashes when I click stop ===&lt;br /&gt;
I know about this bug and I&#039;m trying to fix it, so stay tuned!&lt;br /&gt;
&lt;br /&gt;
=== The frame rate is too slow ===&lt;br /&gt;
The stereoscopy module is alternating outputting left and right frames, because VLC starts to drop frames when I start doubling the frame rate. I&#039;m working on a way around this (and if you&#039;re a developer I&#039;d love for some input on this!)&lt;br /&gt;
&lt;br /&gt;
=== My Video is black! ===&lt;br /&gt;
Either there&#039;s a bug I don&#039;t know about, or the stereoscopy module doesn&#039;t support your particular colour encoding. Check VLC&#039;s messages to see if anything is being reported (Tools &amp;gt; Messages). Either way, e-mail me and I&#039;ll get straight on to it!&lt;br /&gt;
&lt;br /&gt;
=== 3D Vision isn&#039;t working ===&lt;br /&gt;
This could be any number of things:&lt;br /&gt;
* 3D Vision is not enabled in the nVidia control panel.&lt;br /&gt;
* You haven&#039;t renamed vlc.exe (see above).&lt;br /&gt;
* You&#039;re not using the Direct3D vout.&lt;br /&gt;
* The stereoscopy module is turned off.&lt;br /&gt;
* You don&#039;t have the latest nVidia drivers.&lt;br /&gt;
&lt;br /&gt;
I&#039;d love to solve your issue, but please check VLC&#039;s messages for any warnings and errors before contacting me.&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19653</id>
		<title>SoC 2011/Stereoscopic Video</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19653"/>
		<updated>2011-09-15T12:17:54Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: /* Donations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoCProject|year=2011|student=[[User:MessiahAndrw|Andrew Price]]|mentor=[[User:j-b|Jean-Baptiste Kempf]]}} &lt;br /&gt;
&lt;br /&gt;
Stereoscopic, or 3D, video support was implemented into the VLC Media Player as part of my Google Summer of Code project. It is currently experimental with a couple of bugs and I&#039;m still actively working on it. At present you must build it from source, and I&#039;m looking to soon merge it into the main tree.&lt;br /&gt;
&lt;br /&gt;
I&#039;m in need of hardware, if you would like to help out see [[#Donations|here]].&lt;br /&gt;
&lt;br /&gt;
== Building from Source ==&lt;br /&gt;
&lt;br /&gt;
At the present state you must acquire the source code of the stereoscopic 3D branch and build it yourself. https://github.com/MessiahAndrw/Stereoscopic-VLC&lt;br /&gt;
&lt;br /&gt;
A build (that my be out of date by the time you read this) is available here: http://streams.videolan.org/misc/stereo/vlc-1.2.0-git-stereoscopy.zip�&lt;br /&gt;
&lt;br /&gt;
There are build instructions in a file named &#039;STEREOSCOPY README&#039; but I&#039;ll also repeat the instructions here. &lt;br /&gt;
&lt;br /&gt;
=== Build Environment ===&lt;br /&gt;
&lt;br /&gt;
I use 32-bit MSYS/x86 Windows 7. To set up your build environment first follow through the instructions on [Win32CompileMSYSNew] to make sure you&#039;re able to build VLC successfully on your system. &lt;br /&gt;
&lt;br /&gt;
The following build instructions should work on any Windows system. &lt;br /&gt;
&lt;br /&gt;
=== Building ===&lt;br /&gt;
&lt;br /&gt;
Create a new empty directory somewhere, and at the MSYS terminal type: &lt;br /&gt;
&lt;br /&gt;
 git pull git://github.com/MessiahAndrw/Stereoscopic-VLC.git&lt;br /&gt;
&lt;br /&gt;
To bootstrap the build I use the following: &lt;br /&gt;
&lt;br /&gt;
 cd vlc&lt;br /&gt;
 cp -v /usr/win32/share/aclocal/* m4/&lt;br /&gt;
 cp -v /usr/share/aclocal/* m4/&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH ./bootstrap&lt;br /&gt;
&lt;br /&gt;
Then to configure: &lt;br /&gt;
&lt;br /&gt;
 sh extras/package/win32/configure-msys.sh&lt;br /&gt;
&lt;br /&gt;
Finally to build: &lt;br /&gt;
&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH make package-win32 -j6&lt;br /&gt;
&lt;br /&gt;
(The -j6 switch is optional and tells makefile to use 6 threads, it speeds up the build time on my 6-core machine.) &lt;br /&gt;
&lt;br /&gt;
&#039;make package-win32&#039; will exit with the following error but that&#039;s normal and VLC has still been built: &lt;br /&gt;
&lt;br /&gt;
 cp: cannot stat `./npapi-vlc/installed/lib/npvlc.dll&#039;: No such file or directory&lt;br /&gt;
&lt;br /&gt;
If everything else was successful you will now have built VLC with stereoscopic support! You will find this build in the directory &#039;vlc-1.2.0-git&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Note on 3D Vision support ===&lt;br /&gt;
&lt;br /&gt;
nVidia 3D Vision only activates for windowed-mode programs which are supported by the nVidia driver. At the present state VLC is not supported by the nVidia driver. However, the driver only performs a simple file-name check of the application, so as a workaround you can rename vlc.exe to the same file-name as a supported application. This can be done simply by: &lt;br /&gt;
&lt;br /&gt;
 cd vlc-1.2.0-git&lt;br /&gt;
 mv vlc.exe wow.exe&lt;br /&gt;
&lt;br /&gt;
== Splitting ==&lt;br /&gt;
&lt;br /&gt;
To play a stereoscopic 3D video you must tell the stereoscopy module how to get the image for each eye. The stereoscopic module is takes a 2D input picture, and produces 2 output pictures (one for the left eye, and one for the right eye). &lt;br /&gt;
&lt;br /&gt;
=== Command line ===&lt;br /&gt;
&lt;br /&gt;
To enable the stereoscopic module you should add the following command line parameters when you start vlc: &lt;br /&gt;
&lt;br /&gt;
 --video-filter=&amp;quot;stereoscopy&amp;quot; --stereoscopy-left=&amp;quot;&amp;amp;lt;left&amp;amp;gt;&amp;quot; --stereoscopy-right=&amp;quot;&amp;amp;lt;right&amp;amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Where &amp;amp;lt;left&amp;amp;gt; and &amp;amp;lt;right&amp;amp;gt; are valid input formats (see the table below). &lt;br /&gt;
&lt;br /&gt;
=== QT4 ===&lt;br /&gt;
&lt;br /&gt;
You can configure the stereoscopy module through the QT4 interface. To do this, open the &#039;Tools&#039; menu and click on &#039;Effects and Filters&#039;. In the &#039;Adjustments and Effects&#039; dialog that opens navigate to the &#039;Video Effects&#039; tab. Then find the sub-tab titled &#039;Stereoscopy&#039;. Check &#039;Split&#039; to enable the stereoscopy module to split the image into separate left and right frames. Select your video&#039;s input formats for the &#039;Left Eye and the &#039;Right Eye&#039;. &lt;br /&gt;
&lt;br /&gt;
[[File:StereoscopyoptionsQt4.png]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Input formats ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Source &lt;br /&gt;
| Extracted Image &lt;br /&gt;
| Format name &lt;br /&gt;
| Description&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightb.jpg]]&lt;br /&gt;
| blue&lt;br /&gt;
| The eye is encoded into the blue channel of the image and returned as a blue image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightc.jpg]]&lt;br /&gt;
| cyan&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image returned as a cyan image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
| [[File:StereoRightg.jpg]]&lt;br /&gt;
| green&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a green image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightm.jpg]]&lt;br /&gt;
| magenta&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image returned as a magenta image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoLeftr.jpg]]&lt;br /&gt;
| red&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned as a red image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRighty.jpg]]&lt;br /&gt;
| yellow&lt;br /&gt;
| The eye is encoded into the red and green channels of the image returned as a yellow image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightbg.jpg]]&lt;br /&gt;
| blue-gray&lt;br /&gt;
| The eye is encoded into the blue channel and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightcg.jpg]]&lt;br /&gt;
| cyan-gray&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
| [[File:StereoRightgg.jpg]]&lt;br /&gt;
| green-gray&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightmg.jpg]]&lt;br /&gt;
| magenta-gray&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoLeftrg.jpg]]&lt;br /&gt;
| red-gray&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRightyg.jpg]]&lt;br /&gt;
| yellow-gray&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightcf.jpg]]&lt;br /&gt;
| cyan-fill&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a full colour image. The missing red channel is filled in with the average of the blue and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightmf.jpg]]&lt;br /&gt;
| magenta-fill&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a full colour image. The missing green channel is filled in with the average of the red and blue channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRightyf.jpg]]&lt;br /&gt;
| yellow-fill&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a full colour image. The missing blue channel is filled in with the average of the red and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| left&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| right&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| top&lt;br /&gt;
| The eye is encoded into the right half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| bottom&lt;br /&gt;
| The eye is encoded into the bottom half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Developer notes ===&lt;br /&gt;
&lt;br /&gt;
picture_t contains a new field i_eye that is the eye the picture represents. Valid values at the moment are: &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| The picture is 2D.&lt;br /&gt;
|-&lt;br /&gt;
| 1 &lt;br /&gt;
| The picture is destined for the left eye.&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| The picture is destined for the right eye.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Flags:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| STEREO_WAIT_FOR_NEXT_FRAME_BIT&lt;br /&gt;
| Do not present straight away and instead wait for the next frame.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The default value for i_eye is 0, and all present video codecs output frames where i_eye is 0. It is up to the stereoscopy module to split it into left and right. But it&#039;s possible for someone to develop a video codec that output pictures where i_eye&amp;amp;gt;0, for example for a container format where the data is stored as separate left/right images. In this case the stereoscopy module does nothing, and forwards the pictures on as is.&lt;br /&gt;
&lt;br /&gt;
Mask i_eye by STEREO_EYE_MASK to get the eye number without any flags. It is possible that two images represent the same point in time (this is only untrue for field sequential video). If the STEREO_WAIT_FOR_NEXT_FRAME_BIT is set then the vout shouldn&#039;t present the frame straight away, but expect another picture immediately joining it representing the other eye at the same point of time, and display them together at once.&lt;br /&gt;
&lt;br /&gt;
== nVidia 3D Vision ==&lt;br /&gt;
The focus of the Google SoC project has been on nVidia 3D Vision. To use 3D Vision you require the following:&lt;br /&gt;
&lt;br /&gt;
* A compatible nVidia GPU&lt;br /&gt;
* nVidia 3D Vision Kit (the glasses you wear)&lt;br /&gt;
* A 120Hz LCD or 100Hz CRT monitor&lt;br /&gt;
* Windows&lt;br /&gt;
&lt;br /&gt;
You also have to rename &#039;vlc.exe&#039; since VLC isn&#039;t yet supported by the nVidia drivers. I&#039;d recommend &#039;wow.exe&#039; or &#039;googleearth.exe&#039;. Also, make sure you have 3D Vision enabled in the nVidia control panel.&lt;br /&gt;
&lt;br /&gt;
3D Vision will work straight out the box with the Direct3D (XP) vout. You don&#039;t need to do anything special, it&#039;ll activate as soon as the Direct3D vout starts receiving stereoscopic frames.&lt;br /&gt;
&lt;br /&gt;
== AMD HD3D ==&lt;br /&gt;
I would really love to start working on supporting AMD HD3D, but I need your help, see [[#Donations|here]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Quad Buffered OpenGL ==&lt;br /&gt;
There is some experimental code for quad-buffered OpenGL if you build from source. I highly doubt it will work since I currently lack the hardware needed to test it. Help speed up development, see [[#Donations|here]].&lt;br /&gt;
&lt;br /&gt;
== Other Planned Features ==&lt;br /&gt;
* &#039;&#039;A vout-independent anaglyph combining filter.&#039;&#039; This will combine the images for both eyes into a single anaglyph image before being passed to the vout. This will make it possible to display stereoscopic content with non-stereoscopic-aware vouts.&lt;br /&gt;
* &#039;&#039;3D TV output.&#039;&#039; Non-HDMI 1.4 3D outputs - e.g. outputting side-by-side checkerboard, row interleaved, etc.&lt;br /&gt;
* &#039;&#039;Other proprietary shutter glasses&#039;&#039;. For example e-Dimensional.&lt;br /&gt;
* &#039;&#039;More input formats&#039;&#039;. Column and row interleaved input sources.&lt;br /&gt;
&lt;br /&gt;
== Donations ==&lt;br /&gt;
The best way you can help me out is by donating hardware. Any hardware you donate will become my top priority to add support for. If you do wish to donate, please contact me by e-mail at messiahandrw-at-gmail-dot-com (my shipping address is in Australia). I&#039;ll accept any hardware that you wish to donate, however the following will be especially useful:&lt;br /&gt;
&lt;br /&gt;
* AMD Radeon HD 5xxx or 6xxx.&lt;br /&gt;
* AMD FirePro Vx800, Vx7x0&lt;br /&gt;
* HDMI 1.4 compliant 3D TVs&lt;br /&gt;
* 120Hz monitors&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;amp; Support ==&lt;br /&gt;
There are several issues I am aware of. If you need support directly from me or have any enquiries then feel free to e-mail me directly at messiahandrw-at-gmail-dot-com (also mention Stereoscopic VLC in the subject so I don&#039;t mistake it for spam).&lt;br /&gt;
&lt;br /&gt;
=== VLC Crashes when I click stop ===&lt;br /&gt;
I know about this bug and I&#039;m trying to fix it, so stay tuned!&lt;br /&gt;
&lt;br /&gt;
=== The frame rate is too slow ===&lt;br /&gt;
The stereoscopy module is alternating outputting left and right frames, because VLC starts to drop frames when I start doubling the frame rate. I&#039;m working on a way around this (and if you&#039;re a developer I&#039;d love for some input on this!)&lt;br /&gt;
&lt;br /&gt;
=== My Video is black! ===&lt;br /&gt;
Either there&#039;s a bug I don&#039;t know about, or the stereoscopy module doesn&#039;t support your particular colour encoding. Check VLC&#039;s messages to see if anything is being reported (Tools &amp;gt; Messages). Either way, e-mail me and I&#039;ll get straight on to it!&lt;br /&gt;
&lt;br /&gt;
=== 3D Vision isn&#039;t working ===&lt;br /&gt;
This could be any number of things:&lt;br /&gt;
* 3D Vision is not enabled in the nVidia control panel.&lt;br /&gt;
* You haven&#039;t renamed vlc.exe (see above).&lt;br /&gt;
* You&#039;re not using the Direct3D vout.&lt;br /&gt;
* The stereoscopy module is turned off.&lt;br /&gt;
* You don&#039;t have the latest nVidia drivers.&lt;br /&gt;
&lt;br /&gt;
I&#039;d love to solve your issue, but please check VLC&#039;s messages for any warnings and errors before contacting me.&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19644</id>
		<title>SoC 2011/Stereoscopic Video</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19644"/>
		<updated>2011-09-15T12:06:15Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: /* Donations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoCProject|year=2011|student=[[User:MessiahAndrw|Andrew Price]]|mentor=[[User:j-b|Jean-Baptiste Kempf]]}} &lt;br /&gt;
&lt;br /&gt;
Stereoscopic, or 3D, video support was implemented into the VLC Media Player as part of my Google Summer of Code project. It is currently experimental with a couple of bugs and I&#039;m still actively working on it. At present you must build it from source, and I&#039;m looking to soon merge it into the main tree.&lt;br /&gt;
&lt;br /&gt;
I&#039;m in need of hardware, if you would like to help out see [[#Donations|here]].&lt;br /&gt;
&lt;br /&gt;
== Building from Source ==&lt;br /&gt;
&lt;br /&gt;
At the present state you must acquire the source code of the stereoscopic 3D branch and build it yourself. https://github.com/MessiahAndrw/Stereoscopic-VLC&lt;br /&gt;
&lt;br /&gt;
A build (that my be out of date by the time you read this) is available here: http://streams.videolan.org/misc/stereo/vlc-1.2.0-git-stereoscopy.zip�&lt;br /&gt;
&lt;br /&gt;
There are build instructions in a file named &#039;STEREOSCOPY README&#039; but I&#039;ll also repeat the instructions here. &lt;br /&gt;
&lt;br /&gt;
=== Build Environment ===&lt;br /&gt;
&lt;br /&gt;
I use 32-bit MSYS/x86 Windows 7. To set up your build environment first follow through the instructions on [Win32CompileMSYSNew] to make sure you&#039;re able to build VLC successfully on your system. &lt;br /&gt;
&lt;br /&gt;
The following build instructions should work on any Windows system. &lt;br /&gt;
&lt;br /&gt;
=== Building ===&lt;br /&gt;
&lt;br /&gt;
Create a new empty directory somewhere, and at the MSYS terminal type: &lt;br /&gt;
&lt;br /&gt;
 git pull git://github.com/MessiahAndrw/Stereoscopic-VLC.git&lt;br /&gt;
&lt;br /&gt;
To bootstrap the build I use the following: &lt;br /&gt;
&lt;br /&gt;
 cd vlc&lt;br /&gt;
 cp -v /usr/win32/share/aclocal/* m4/&lt;br /&gt;
 cp -v /usr/share/aclocal/* m4/&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH ./bootstrap&lt;br /&gt;
&lt;br /&gt;
Then to configure: &lt;br /&gt;
&lt;br /&gt;
 sh extras/package/win32/configure-msys.sh&lt;br /&gt;
&lt;br /&gt;
Finally to build: &lt;br /&gt;
&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH make package-win32 -j6&lt;br /&gt;
&lt;br /&gt;
(The -j6 switch is optional and tells makefile to use 6 threads, it speeds up the build time on my 6-core machine.) &lt;br /&gt;
&lt;br /&gt;
&#039;make package-win32&#039; will exit with the following error but that&#039;s normal and VLC has still been built: &lt;br /&gt;
&lt;br /&gt;
 cp: cannot stat `./npapi-vlc/installed/lib/npvlc.dll&#039;: No such file or directory&lt;br /&gt;
&lt;br /&gt;
If everything else was successful you will now have built VLC with stereoscopic support! You will find this build in the directory &#039;vlc-1.2.0-git&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Note on 3D Vision support ===&lt;br /&gt;
&lt;br /&gt;
nVidia 3D Vision only activates for windowed-mode programs which are supported by the nVidia driver. At the present state VLC is not supported by the nVidia driver. However, the driver only performs a simple file-name check of the application, so as a workaround you can rename vlc.exe to the same file-name as a supported application. This can be done simply by: &lt;br /&gt;
&lt;br /&gt;
 cd vlc-1.2.0-git&lt;br /&gt;
 mv vlc.exe wow.exe&lt;br /&gt;
&lt;br /&gt;
== Splitting ==&lt;br /&gt;
&lt;br /&gt;
To play a stereoscopic 3D video you must tell the stereoscopy module how to get the image for each eye. The stereoscopic module is takes a 2D input picture, and produces 2 output pictures (one for the left eye, and one for the right eye). &lt;br /&gt;
&lt;br /&gt;
=== Command line ===&lt;br /&gt;
&lt;br /&gt;
To enable the stereoscopic module you should add the following command line parameters when you start vlc: &lt;br /&gt;
&lt;br /&gt;
 --video-filter=&amp;quot;stereoscopy&amp;quot; --stereoscopy-left=&amp;quot;&amp;amp;lt;left&amp;amp;gt;&amp;quot; --stereoscopy-right=&amp;quot;&amp;amp;lt;right&amp;amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Where &amp;amp;lt;left&amp;amp;gt; and &amp;amp;lt;right&amp;amp;gt; are valid input formats (see the table below). &lt;br /&gt;
&lt;br /&gt;
=== QT4 ===&lt;br /&gt;
&lt;br /&gt;
You can configure the stereoscopy module through the QT4 interface. To do this, open the &#039;Tools&#039; menu and click on &#039;Effects and Filters&#039;. In the &#039;Adjustments and Effects&#039; dialog that opens navigate to the &#039;Video Effects&#039; tab. Then find the sub-tab titled &#039;Stereoscopy&#039;. Check &#039;Split&#039; to enable the stereoscopy module to split the image into separate left and right frames. Select your video&#039;s input formats for the &#039;Left Eye and the &#039;Right Eye&#039;. &lt;br /&gt;
&lt;br /&gt;
[[File:StereoscopyoptionsQt4.png]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Input formats ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Source &lt;br /&gt;
| Extracted Image &lt;br /&gt;
| Format name &lt;br /&gt;
| Description&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightb.jpg]]&lt;br /&gt;
| blue&lt;br /&gt;
| The eye is encoded into the blue channel of the image and returned as a blue image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightc.jpg]]&lt;br /&gt;
| cyan&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image returned as a cyan image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
| [[File:StereoRightg.jpg]]&lt;br /&gt;
| green&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a green image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightm.jpg]]&lt;br /&gt;
| magenta&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image returned as a magenta image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoLeftr.jpg]]&lt;br /&gt;
| red&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned as a red image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRighty.jpg]]&lt;br /&gt;
| yellow&lt;br /&gt;
| The eye is encoded into the red and green channels of the image returned as a yellow image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightbg.jpg]]&lt;br /&gt;
| blue-gray&lt;br /&gt;
| The eye is encoded into the blue channel and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightcg.jpg]]&lt;br /&gt;
| cyan-gray&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
| [[File:StereoRightgg.jpg]]&lt;br /&gt;
| green-gray&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightmg.jpg]]&lt;br /&gt;
| magenta-gray&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoLeftrg.jpg]]&lt;br /&gt;
| red-gray&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRightyg.jpg]]&lt;br /&gt;
| yellow-gray&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightcf.jpg]]&lt;br /&gt;
| cyan-fill&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a full colour image. The missing red channel is filled in with the average of the blue and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightmf.jpg]]&lt;br /&gt;
| magenta-fill&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a full colour image. The missing green channel is filled in with the average of the red and blue channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRightyf.jpg]]&lt;br /&gt;
| yellow-fill&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a full colour image. The missing blue channel is filled in with the average of the red and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| left&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| right&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| top&lt;br /&gt;
| The eye is encoded into the right half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| bottom&lt;br /&gt;
| The eye is encoded into the bottom half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Developer notes ===&lt;br /&gt;
&lt;br /&gt;
picture_t contains a new field i_eye that is the eye the picture represents. Valid values at the moment are: &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| The picture is 2D.&lt;br /&gt;
|-&lt;br /&gt;
| 1 &lt;br /&gt;
| The picture is destined for the left eye.&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| The picture is destined for the right eye.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Flags:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| STEREO_WAIT_FOR_NEXT_FRAME_BIT&lt;br /&gt;
| Do not present straight away and instead wait for the next frame.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The default value for i_eye is 0, and all present video codecs output frames where i_eye is 0. It is up to the stereoscopy module to split it into left and right. But it&#039;s possible for someone to develop a video codec that output pictures where i_eye&amp;amp;gt;0, for example for a container format where the data is stored as separate left/right images. In this case the stereoscopy module does nothing, and forwards the pictures on as is.&lt;br /&gt;
&lt;br /&gt;
Mask i_eye by STEREO_EYE_MASK to get the eye number without any flags. It is possible that two images represent the same point in time (this is only untrue for field sequential video). If the STEREO_WAIT_FOR_NEXT_FRAME_BIT is set then the vout shouldn&#039;t present the frame straight away, but expect another picture immediately joining it representing the other eye at the same point of time, and display them together at once.&lt;br /&gt;
&lt;br /&gt;
== nVidia 3D Vision ==&lt;br /&gt;
The focus of the Google SoC project has been on nVidia 3D Vision. To use 3D Vision you require the following:&lt;br /&gt;
&lt;br /&gt;
* A compatible nVidia GPU&lt;br /&gt;
* nVidia 3D Vision Kit (the glasses you wear)&lt;br /&gt;
* A 120Hz LCD or 100Hz CRT monitor&lt;br /&gt;
* Windows&lt;br /&gt;
&lt;br /&gt;
You also have to rename &#039;vlc.exe&#039; since VLC isn&#039;t yet supported by the nVidia drivers. I&#039;d recommend &#039;wow.exe&#039; or &#039;googleearth.exe&#039;. Also, make sure you have 3D Vision enabled in the nVidia control panel.&lt;br /&gt;
&lt;br /&gt;
3D Vision will work straight out the box with the Direct3D (XP) vout. You don&#039;t need to do anything special, it&#039;ll activate as soon as the Direct3D vout starts receiving stereoscopic frames.&lt;br /&gt;
&lt;br /&gt;
== AMD HD3D ==&lt;br /&gt;
I would really love to start working on supporting AMD HD3D, but I need your help, see [[#Donations|here]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Quad Buffered OpenGL ==&lt;br /&gt;
There is some experimental code for quad-buffered OpenGL if you build from source. I highly doubt it will work since I currently lack the hardware needed to test it. Help speed up development, see [[#Donations|here]].&lt;br /&gt;
&lt;br /&gt;
== Other Planned Features ==&lt;br /&gt;
* &#039;&#039;A vout-independent anaglyph combining filter.&#039;&#039; This will combine the images for both eyes into a single anaglyph image before being passed to the vout. This will make it possible to display stereoscopic content with non-stereoscopic-aware vouts.&lt;br /&gt;
* &#039;&#039;3D TV output.&#039;&#039; Non-HDMI 1.4 3D outputs - e.g. outputting side-by-side checkerboard, row interleaved, etc.&lt;br /&gt;
* &#039;&#039;Other proprietary shutter glasses&#039;&#039;. For example e-Dimensional.&lt;br /&gt;
* &#039;&#039;More input formats&#039;&#039;. Column and row interleaved input sources.&lt;br /&gt;
&lt;br /&gt;
== Donations ==&lt;br /&gt;
The best way you can help me out is by donating hardware. Any hardware you donate will become my top priority to add support for. If you do wish to donate, please contact me by e-mail at messiahandrw-at-gmail-dot-com (my shipping address is in Australia). I&#039;ll accept any hardware that you wish to donate, however the following will be especially useful:&lt;br /&gt;
&lt;br /&gt;
* AMD Radeon HD 5xxx or 6xxx.&lt;br /&gt;
* AMD FirePro Vx800, Vx7x0&lt;br /&gt;
* 3D TVs&lt;br /&gt;
* 120Hz monitors&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;amp; Support ==&lt;br /&gt;
There are several issues I am aware of. If you need support directly from me or have any enquiries then feel free to e-mail me directly at messiahandrw-at-gmail-dot-com (also mention Stereoscopic VLC in the subject so I don&#039;t mistake it for spam).&lt;br /&gt;
&lt;br /&gt;
=== VLC Crashes when I click stop ===&lt;br /&gt;
I know about this bug and I&#039;m trying to fix it, so stay tuned!&lt;br /&gt;
&lt;br /&gt;
=== The frame rate is too slow ===&lt;br /&gt;
The stereoscopy module is alternating outputting left and right frames, because VLC starts to drop frames when I start doubling the frame rate. I&#039;m working on a way around this (and if you&#039;re a developer I&#039;d love for some input on this!)&lt;br /&gt;
&lt;br /&gt;
=== My Video is black! ===&lt;br /&gt;
Either there&#039;s a bug I don&#039;t know about, or the stereoscopy module doesn&#039;t support your particular colour encoding. Check VLC&#039;s messages to see if anything is being reported (Tools &amp;gt; Messages). Either way, e-mail me and I&#039;ll get straight on to it!&lt;br /&gt;
&lt;br /&gt;
=== 3D Vision isn&#039;t working ===&lt;br /&gt;
This could be any number of things:&lt;br /&gt;
* 3D Vision is not enabled in the nVidia control panel.&lt;br /&gt;
* You haven&#039;t renamed vlc.exe (see above).&lt;br /&gt;
* You&#039;re not using the Direct3D vout.&lt;br /&gt;
* The stereoscopy module is turned off.&lt;br /&gt;
* You don&#039;t have the latest nVidia drivers.&lt;br /&gt;
&lt;br /&gt;
I&#039;d love to solve your issue, but please check VLC&#039;s messages for any warnings and errors before contacting me.&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19643</id>
		<title>SoC 2011/Stereoscopic Video</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19643"/>
		<updated>2011-09-15T12:01:07Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoCProject|year=2011|student=[[User:MessiahAndrw|Andrew Price]]|mentor=[[User:j-b|Jean-Baptiste Kempf]]}} &lt;br /&gt;
&lt;br /&gt;
Stereoscopic, or 3D, video support was implemented into the VLC Media Player as part of my Google Summer of Code project. It is currently experimental with a couple of bugs and I&#039;m still actively working on it. At present you must build it from source, and I&#039;m looking to soon merge it into the main tree.&lt;br /&gt;
&lt;br /&gt;
I&#039;m in need of hardware, if you would like to help out see [[#Donations|here]].&lt;br /&gt;
&lt;br /&gt;
== Building from Source ==&lt;br /&gt;
&lt;br /&gt;
At the present state you must acquire the source code of the stereoscopic 3D branch and build it yourself. https://github.com/MessiahAndrw/Stereoscopic-VLC&lt;br /&gt;
&lt;br /&gt;
A build (that my be out of date by the time you read this) is available here: http://streams.videolan.org/misc/stereo/vlc-1.2.0-git-stereoscopy.zip�&lt;br /&gt;
&lt;br /&gt;
There are build instructions in a file named &#039;STEREOSCOPY README&#039; but I&#039;ll also repeat the instructions here. &lt;br /&gt;
&lt;br /&gt;
=== Build Environment ===&lt;br /&gt;
&lt;br /&gt;
I use 32-bit MSYS/x86 Windows 7. To set up your build environment first follow through the instructions on [Win32CompileMSYSNew] to make sure you&#039;re able to build VLC successfully on your system. &lt;br /&gt;
&lt;br /&gt;
The following build instructions should work on any Windows system. &lt;br /&gt;
&lt;br /&gt;
=== Building ===&lt;br /&gt;
&lt;br /&gt;
Create a new empty directory somewhere, and at the MSYS terminal type: &lt;br /&gt;
&lt;br /&gt;
 git pull git://github.com/MessiahAndrw/Stereoscopic-VLC.git&lt;br /&gt;
&lt;br /&gt;
To bootstrap the build I use the following: &lt;br /&gt;
&lt;br /&gt;
 cd vlc&lt;br /&gt;
 cp -v /usr/win32/share/aclocal/* m4/&lt;br /&gt;
 cp -v /usr/share/aclocal/* m4/&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH ./bootstrap&lt;br /&gt;
&lt;br /&gt;
Then to configure: &lt;br /&gt;
&lt;br /&gt;
 sh extras/package/win32/configure-msys.sh&lt;br /&gt;
&lt;br /&gt;
Finally to build: &lt;br /&gt;
&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH make package-win32 -j6&lt;br /&gt;
&lt;br /&gt;
(The -j6 switch is optional and tells makefile to use 6 threads, it speeds up the build time on my 6-core machine.) &lt;br /&gt;
&lt;br /&gt;
&#039;make package-win32&#039; will exit with the following error but that&#039;s normal and VLC has still been built: &lt;br /&gt;
&lt;br /&gt;
 cp: cannot stat `./npapi-vlc/installed/lib/npvlc.dll&#039;: No such file or directory&lt;br /&gt;
&lt;br /&gt;
If everything else was successful you will now have built VLC with stereoscopic support! You will find this build in the directory &#039;vlc-1.2.0-git&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Note on 3D Vision support ===&lt;br /&gt;
&lt;br /&gt;
nVidia 3D Vision only activates for windowed-mode programs which are supported by the nVidia driver. At the present state VLC is not supported by the nVidia driver. However, the driver only performs a simple file-name check of the application, so as a workaround you can rename vlc.exe to the same file-name as a supported application. This can be done simply by: &lt;br /&gt;
&lt;br /&gt;
 cd vlc-1.2.0-git&lt;br /&gt;
 mv vlc.exe wow.exe&lt;br /&gt;
&lt;br /&gt;
== Splitting ==&lt;br /&gt;
&lt;br /&gt;
To play a stereoscopic 3D video you must tell the stereoscopy module how to get the image for each eye. The stereoscopic module is takes a 2D input picture, and produces 2 output pictures (one for the left eye, and one for the right eye). &lt;br /&gt;
&lt;br /&gt;
=== Command line ===&lt;br /&gt;
&lt;br /&gt;
To enable the stereoscopic module you should add the following command line parameters when you start vlc: &lt;br /&gt;
&lt;br /&gt;
 --video-filter=&amp;quot;stereoscopy&amp;quot; --stereoscopy-left=&amp;quot;&amp;amp;lt;left&amp;amp;gt;&amp;quot; --stereoscopy-right=&amp;quot;&amp;amp;lt;right&amp;amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Where &amp;amp;lt;left&amp;amp;gt; and &amp;amp;lt;right&amp;amp;gt; are valid input formats (see the table below). &lt;br /&gt;
&lt;br /&gt;
=== QT4 ===&lt;br /&gt;
&lt;br /&gt;
You can configure the stereoscopy module through the QT4 interface. To do this, open the &#039;Tools&#039; menu and click on &#039;Effects and Filters&#039;. In the &#039;Adjustments and Effects&#039; dialog that opens navigate to the &#039;Video Effects&#039; tab. Then find the sub-tab titled &#039;Stereoscopy&#039;. Check &#039;Split&#039; to enable the stereoscopy module to split the image into separate left and right frames. Select your video&#039;s input formats for the &#039;Left Eye and the &#039;Right Eye&#039;. &lt;br /&gt;
&lt;br /&gt;
[[File:StereoscopyoptionsQt4.png]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Input formats ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Source &lt;br /&gt;
| Extracted Image &lt;br /&gt;
| Format name &lt;br /&gt;
| Description&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightb.jpg]]&lt;br /&gt;
| blue&lt;br /&gt;
| The eye is encoded into the blue channel of the image and returned as a blue image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightc.jpg]]&lt;br /&gt;
| cyan&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image returned as a cyan image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
| [[File:StereoRightg.jpg]]&lt;br /&gt;
| green&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a green image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightm.jpg]]&lt;br /&gt;
| magenta&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image returned as a magenta image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoLeftr.jpg]]&lt;br /&gt;
| red&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned as a red image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRighty.jpg]]&lt;br /&gt;
| yellow&lt;br /&gt;
| The eye is encoded into the red and green channels of the image returned as a yellow image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightbg.jpg]]&lt;br /&gt;
| blue-gray&lt;br /&gt;
| The eye is encoded into the blue channel and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightcg.jpg]]&lt;br /&gt;
| cyan-gray&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
| [[File:StereoRightgg.jpg]]&lt;br /&gt;
| green-gray&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightmg.jpg]]&lt;br /&gt;
| magenta-gray&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoLeftrg.jpg]]&lt;br /&gt;
| red-gray&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRightyg.jpg]]&lt;br /&gt;
| yellow-gray&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightcf.jpg]]&lt;br /&gt;
| cyan-fill&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a full colour image. The missing red channel is filled in with the average of the blue and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightmf.jpg]]&lt;br /&gt;
| magenta-fill&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a full colour image. The missing green channel is filled in with the average of the red and blue channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRightyf.jpg]]&lt;br /&gt;
| yellow-fill&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a full colour image. The missing blue channel is filled in with the average of the red and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| left&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| right&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| top&lt;br /&gt;
| The eye is encoded into the right half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| bottom&lt;br /&gt;
| The eye is encoded into the bottom half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Developer notes ===&lt;br /&gt;
&lt;br /&gt;
picture_t contains a new field i_eye that is the eye the picture represents. Valid values at the moment are: &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| The picture is 2D.&lt;br /&gt;
|-&lt;br /&gt;
| 1 &lt;br /&gt;
| The picture is destined for the left eye.&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| The picture is destined for the right eye.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Flags:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| STEREO_WAIT_FOR_NEXT_FRAME_BIT&lt;br /&gt;
| Do not present straight away and instead wait for the next frame.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The default value for i_eye is 0, and all present video codecs output frames where i_eye is 0. It is up to the stereoscopy module to split it into left and right. But it&#039;s possible for someone to develop a video codec that output pictures where i_eye&amp;amp;gt;0, for example for a container format where the data is stored as separate left/right images. In this case the stereoscopy module does nothing, and forwards the pictures on as is.&lt;br /&gt;
&lt;br /&gt;
Mask i_eye by STEREO_EYE_MASK to get the eye number without any flags. It is possible that two images represent the same point in time (this is only untrue for field sequential video). If the STEREO_WAIT_FOR_NEXT_FRAME_BIT is set then the vout shouldn&#039;t present the frame straight away, but expect another picture immediately joining it representing the other eye at the same point of time, and display them together at once.&lt;br /&gt;
&lt;br /&gt;
== nVidia 3D Vision ==&lt;br /&gt;
The focus of the Google SoC project has been on nVidia 3D Vision. To use 3D Vision you require the following:&lt;br /&gt;
&lt;br /&gt;
* A compatible nVidia GPU&lt;br /&gt;
* nVidia 3D Vision Kit (the glasses you wear)&lt;br /&gt;
* A 120Hz LCD or 100Hz CRT monitor&lt;br /&gt;
* Windows&lt;br /&gt;
&lt;br /&gt;
You also have to rename &#039;vlc.exe&#039; since VLC isn&#039;t yet supported by the nVidia drivers. I&#039;d recommend &#039;wow.exe&#039; or &#039;googleearth.exe&#039;. Also, make sure you have 3D Vision enabled in the nVidia control panel.&lt;br /&gt;
&lt;br /&gt;
3D Vision will work straight out the box with the Direct3D (XP) vout. You don&#039;t need to do anything special, it&#039;ll activate as soon as the Direct3D vout starts receiving stereoscopic frames.&lt;br /&gt;
&lt;br /&gt;
== AMD HD3D ==&lt;br /&gt;
I would really love to start working on supporting AMD HD3D, but I need your help, see [[#Donations|here]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Quad Buffered OpenGL ==&lt;br /&gt;
There is some experimental code for quad-buffered OpenGL if you build from source. I highly doubt it will work since I currently lack the hardware needed to test it. Help speed up development, see [[#Donations|here]].&lt;br /&gt;
&lt;br /&gt;
== Other Planned Features ==&lt;br /&gt;
* &#039;&#039;A vout-independent anaglyph combining filter.&#039;&#039; This will combine the images for both eyes into a single anaglyph image before being passed to the vout. This will make it possible to display stereoscopic content with non-stereoscopic-aware vouts.&lt;br /&gt;
* &#039;&#039;3D TV output.&#039;&#039; Non-HDMI 1.4 3D outputs - e.g. outputting side-by-side checkerboard, row interleaved, etc.&lt;br /&gt;
* &#039;&#039;Other proprietary shutter glasses&#039;&#039;. For example e-Dimensional.&lt;br /&gt;
* &#039;&#039;More input formats&#039;&#039;. Column and row interleaved input sources.&lt;br /&gt;
&lt;br /&gt;
== Donations ==&lt;br /&gt;
The best way you can help me out is by donating hardware. Any hardware you donate will become my top priority to add support for. If you do wish to donate, please contact me by e-mail messiahandrw-at-gmail-dot-com (my shipping address is in Australia). I&#039;ll accept any hardware that you wish to donate, however the following will be especially useful:&lt;br /&gt;
&lt;br /&gt;
* AMD Radeon HD 5xxx or 6xxx.&lt;br /&gt;
* AMD FirePro Vx800, Vx7x0&lt;br /&gt;
* 3D TVs&lt;br /&gt;
* 120Hz monitors&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;amp; Support ==&lt;br /&gt;
There are several issues I am aware of. If you need support directly from me or have any enquiries then feel free to e-mail me directly at messiahandrw-at-gmail-dot-com (also mention Stereoscopic VLC in the subject so I don&#039;t mistake it for spam).&lt;br /&gt;
&lt;br /&gt;
=== VLC Crashes when I click stop ===&lt;br /&gt;
I know about this bug and I&#039;m trying to fix it, so stay tuned!&lt;br /&gt;
&lt;br /&gt;
=== The frame rate is too slow ===&lt;br /&gt;
The stereoscopy module is alternating outputting left and right frames, because VLC starts to drop frames when I start doubling the frame rate. I&#039;m working on a way around this (and if you&#039;re a developer I&#039;d love for some input on this!)&lt;br /&gt;
&lt;br /&gt;
=== My Video is black! ===&lt;br /&gt;
Either there&#039;s a bug I don&#039;t know about, or the stereoscopy module doesn&#039;t support your particular colour encoding. Check VLC&#039;s messages to see if anything is being reported (Tools &amp;gt; Messages). Either way, e-mail me and I&#039;ll get straight on to it!&lt;br /&gt;
&lt;br /&gt;
=== 3D Vision isn&#039;t working ===&lt;br /&gt;
This could be any number of things:&lt;br /&gt;
* 3D Vision is not enabled in the nVidia control panel.&lt;br /&gt;
* You haven&#039;t renamed vlc.exe (see above).&lt;br /&gt;
* You&#039;re not using the Direct3D vout.&lt;br /&gt;
* The stereoscopy module is turned off.&lt;br /&gt;
* You don&#039;t have the latest nVidia drivers.&lt;br /&gt;
&lt;br /&gt;
I&#039;d love to solve your issue, but please check VLC&#039;s messages for any warnings and errors before contacting me.&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19642</id>
		<title>SoC 2011/Stereoscopic Video</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19642"/>
		<updated>2011-09-15T11:58:09Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoCProject|year=2011|student=[[User:MessiahAndrw|Andrew Price]]|mentor=[[User:j-b|Jean-Baptiste Kempf]]}} &lt;br /&gt;
&lt;br /&gt;
Stereoscopic, or 3D, video support was implemented into the VLC Media Player as part of my Google Summer of Code project. It is currently experimental with a couple of bugs and I&#039;m still actively working on it. At present you must build it from source, and I&#039;m looking to soon merge it into the main tree.&lt;br /&gt;
&lt;br /&gt;
== Building from Source ==&lt;br /&gt;
&lt;br /&gt;
At the present state you must acquire the source code of the stereoscopic 3D branch and build it yourself. https://github.com/MessiahAndrw/Stereoscopic-VLC&lt;br /&gt;
&lt;br /&gt;
A build (that my be out of date by the time you read this) is available here: http://streams.videolan.org/misc/stereo/vlc-1.2.0-git-stereoscopy.zip�&lt;br /&gt;
&lt;br /&gt;
There are build instructions in a file named &#039;STEREOSCOPY README&#039; but I&#039;ll also repeat the instructions here. &lt;br /&gt;
&lt;br /&gt;
=== Build Environment ===&lt;br /&gt;
&lt;br /&gt;
I use 32-bit MSYS/x86 Windows 7. To set up your build environment first follow through the instructions on [Win32CompileMSYSNew] to make sure you&#039;re able to build VLC successfully on your system. &lt;br /&gt;
&lt;br /&gt;
The following build instructions should work on any Windows system. &lt;br /&gt;
&lt;br /&gt;
=== Building ===&lt;br /&gt;
&lt;br /&gt;
Create a new empty directory somewhere, and at the MSYS terminal type: &lt;br /&gt;
&lt;br /&gt;
 git pull git://github.com/MessiahAndrw/Stereoscopic-VLC.git&lt;br /&gt;
&lt;br /&gt;
To bootstrap the build I use the following: &lt;br /&gt;
&lt;br /&gt;
 cd vlc&lt;br /&gt;
 cp -v /usr/win32/share/aclocal/* m4/&lt;br /&gt;
 cp -v /usr/share/aclocal/* m4/&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH ./bootstrap&lt;br /&gt;
&lt;br /&gt;
Then to configure: &lt;br /&gt;
&lt;br /&gt;
 sh extras/package/win32/configure-msys.sh&lt;br /&gt;
&lt;br /&gt;
Finally to build: &lt;br /&gt;
&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH make package-win32 -j6&lt;br /&gt;
&lt;br /&gt;
(The -j6 switch is optional and tells makefile to use 6 threads, it speeds up the build time on my 6-core machine.) &lt;br /&gt;
&lt;br /&gt;
&#039;make package-win32&#039; will exit with the following error but that&#039;s normal and VLC has still been built: &lt;br /&gt;
&lt;br /&gt;
 cp: cannot stat `./npapi-vlc/installed/lib/npvlc.dll&#039;: No such file or directory&lt;br /&gt;
&lt;br /&gt;
If everything else was successful you will now have built VLC with stereoscopic support! You will find this build in the directory &#039;vlc-1.2.0-git&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Note on 3D Vision support ===&lt;br /&gt;
&lt;br /&gt;
nVidia 3D Vision only activates for windowed-mode programs which are supported by the nVidia driver. At the present state VLC is not supported by the nVidia driver. However, the driver only performs a simple file-name check of the application, so as a workaround you can rename vlc.exe to the same file-name as a supported application. This can be done simply by: &lt;br /&gt;
&lt;br /&gt;
 cd vlc-1.2.0-git&lt;br /&gt;
 mv vlc.exe wow.exe&lt;br /&gt;
&lt;br /&gt;
== Splitting ==&lt;br /&gt;
&lt;br /&gt;
To play a stereoscopic 3D video you must tell the stereoscopy module how to get the image for each eye. The stereoscopic module is takes a 2D input picture, and produces 2 output pictures (one for the left eye, and one for the right eye). &lt;br /&gt;
&lt;br /&gt;
=== Command line ===&lt;br /&gt;
&lt;br /&gt;
To enable the stereoscopic module you should add the following command line parameters when you start vlc: &lt;br /&gt;
&lt;br /&gt;
 --video-filter=&amp;quot;stereoscopy&amp;quot; --stereoscopy-left=&amp;quot;&amp;amp;lt;left&amp;amp;gt;&amp;quot; --stereoscopy-right=&amp;quot;&amp;amp;lt;right&amp;amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Where &amp;amp;lt;left&amp;amp;gt; and &amp;amp;lt;right&amp;amp;gt; are valid input formats (see the table below). &lt;br /&gt;
&lt;br /&gt;
=== QT4 ===&lt;br /&gt;
&lt;br /&gt;
You can configure the stereoscopy module through the QT4 interface. To do this, open the &#039;Tools&#039; menu and click on &#039;Effects and Filters&#039;. In the &#039;Adjustments and Effects&#039; dialog that opens navigate to the &#039;Video Effects&#039; tab. Then find the sub-tab titled &#039;Stereoscopy&#039;. Check &#039;Split&#039; to enable the stereoscopy module to split the image into separate left and right frames. Select your video&#039;s input formats for the &#039;Left Eye and the &#039;Right Eye&#039;. &lt;br /&gt;
&lt;br /&gt;
[[File:StereoscopyoptionsQt4.png]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Input formats ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Source &lt;br /&gt;
| Extracted Image &lt;br /&gt;
| Format name &lt;br /&gt;
| Description&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightb.jpg]]&lt;br /&gt;
| blue&lt;br /&gt;
| The eye is encoded into the blue channel of the image and returned as a blue image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightc.jpg]]&lt;br /&gt;
| cyan&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image returned as a cyan image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
| [[File:StereoRightg.jpg]]&lt;br /&gt;
| green&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a green image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightm.jpg]]&lt;br /&gt;
| magenta&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image returned as a magenta image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoLeftr.jpg]]&lt;br /&gt;
| red&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned as a red image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRighty.jpg]]&lt;br /&gt;
| yellow&lt;br /&gt;
| The eye is encoded into the red and green channels of the image returned as a yellow image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightbg.jpg]]&lt;br /&gt;
| blue-gray&lt;br /&gt;
| The eye is encoded into the blue channel and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightcg.jpg]]&lt;br /&gt;
| cyan-gray&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
| [[File:StereoRightgg.jpg]]&lt;br /&gt;
| green-gray&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightmg.jpg]]&lt;br /&gt;
| magenta-gray&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoLeftrg.jpg]]&lt;br /&gt;
| red-gray&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRightyg.jpg]]&lt;br /&gt;
| yellow-gray&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightcf.jpg]]&lt;br /&gt;
| cyan-fill&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a full colour image. The missing red channel is filled in with the average of the blue and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightmf.jpg]]&lt;br /&gt;
| magenta-fill&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a full colour image. The missing green channel is filled in with the average of the red and blue channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRightyf.jpg]]&lt;br /&gt;
| yellow-fill&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a full colour image. The missing blue channel is filled in with the average of the red and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| left&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| right&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| top&lt;br /&gt;
| The eye is encoded into the right half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| bottom&lt;br /&gt;
| The eye is encoded into the bottom half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Developer notes ===&lt;br /&gt;
&lt;br /&gt;
picture_t contains a new field i_eye that is the eye the picture represents. Valid values at the moment are: &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| The picture is 2D.&lt;br /&gt;
|-&lt;br /&gt;
| 1 &lt;br /&gt;
| The picture is destined for the left eye.&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| The picture is destined for the right eye.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Flags:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| STEREO_WAIT_FOR_NEXT_FRAME_BIT&lt;br /&gt;
| Do not present straight away and instead wait for the next frame.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The default value for i_eye is 0, and all present video codecs output frames where i_eye is 0. It is up to the stereoscopy module to split it into left and right. But it&#039;s possible for someone to develop a video codec that output pictures where i_eye&amp;amp;gt;0, for example for a container format where the data is stored as separate left/right images. In this case the stereoscopy module does nothing, and forwards the pictures on as is.&lt;br /&gt;
&lt;br /&gt;
Mask i_eye by STEREO_EYE_MASK to get the eye number without any flags. It is possible that two images represent the same point in time (this is only untrue for field sequential video). If the STEREO_WAIT_FOR_NEXT_FRAME_BIT is set then the vout shouldn&#039;t present the frame straight away, but expect another picture immediately joining it representing the other eye at the same point of time, and display them together at once.&lt;br /&gt;
&lt;br /&gt;
== nVidia 3D Vision ==&lt;br /&gt;
The focus of the Google SoC project has been on nVidia 3D Vision. To use 3D Vision you require the following:&lt;br /&gt;
&lt;br /&gt;
* A compatible nVidia GPU&lt;br /&gt;
* nVidia 3D Vision Kit (the glasses you wear)&lt;br /&gt;
* A 120Hz LCD or 100Hz CRT monitor&lt;br /&gt;
* Windows&lt;br /&gt;
&lt;br /&gt;
You also have to rename &#039;vlc.exe&#039; since VLC isn&#039;t yet supported by the nVidia drivers. I&#039;d recommend &#039;wow.exe&#039; or &#039;googleearth.exe&#039;. Also, make sure you have 3D Vision enabled in the nVidia control panel.&lt;br /&gt;
&lt;br /&gt;
3D Vision will work straight out the box with the Direct3D (XP) vout. You don&#039;t need to do anything special, it&#039;ll activate as soon as the Direct3D vout starts receiving stereoscopic frames.&lt;br /&gt;
&lt;br /&gt;
== AMD HD3D ==&lt;br /&gt;
I would really love to start working on supporting AMD HD3D, but I need your help, see [[#Donations|here]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Quad Buffered OpenGL ==&lt;br /&gt;
There is some experimental code for quad-buffered OpenGL if you build from source. I highly doubt it will work since I currently lack the hardware needed to test it. Help speed up development, see [[#Donations|here]].&lt;br /&gt;
&lt;br /&gt;
== Other Planned Features ==&lt;br /&gt;
* &#039;&#039;A vout-independent anaglyph combining filter.&#039;&#039; This will combine the images for both eyes into a single anaglyph image before being passed to the vout. This will make it possible to display stereoscopic content with non-stereoscopic-aware vouts.&lt;br /&gt;
* &#039;&#039;3D TV output.&#039;&#039; Non-HDMI 1.4 3D outputs - e.g. outputting side-by-side checkerboard, row interleaved, etc.&lt;br /&gt;
* &#039;&#039;Other proprietary shutter glasses&#039;&#039;. For example e-Dimensional.&lt;br /&gt;
* &#039;&#039;More input formats&#039;&#039;. Column and row interleaved input sources.&lt;br /&gt;
&lt;br /&gt;
== Donations ==&lt;br /&gt;
The best way you can help me out is by donating hardware. Any hardware you donate will become my top priority to add support for. If you do wish to donate, please contact me by e-mail messiahandrw-at-gmail-dot-com (my shipping address is in Australia). I&#039;ll accept any hardware that you wish to donate, however the following will be especially useful:&lt;br /&gt;
&lt;br /&gt;
* AMD Radeon HD 5xxx or 6xxx.&lt;br /&gt;
* AMD FirePro Vx800, Vx7x0&lt;br /&gt;
* 3D TVs&lt;br /&gt;
* 120Hz monitors&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;amp; Support ==&lt;br /&gt;
There are several issues I am aware of. If you need support directly from me or have any enquiries then feel free to e-mail me directly at messiahandrw-at-gmail-dot-com (also mention Stereoscopic VLC in the subject so I don&#039;t mistake it for spam).&lt;br /&gt;
&lt;br /&gt;
=== VLC Crashes when I click stop ===&lt;br /&gt;
I know about this bug and I&#039;m trying to fix it, so stay tuned!&lt;br /&gt;
&lt;br /&gt;
=== The frame rate is too slow ===&lt;br /&gt;
The stereoscopy module is alternating outputting left and right frames, because VLC starts to drop frames when I start doubling the frame rate. I&#039;m working on a way around this (and if you&#039;re a developer I&#039;d love for some input on this!)&lt;br /&gt;
&lt;br /&gt;
=== My Video is black! ===&lt;br /&gt;
Either there&#039;s a bug I don&#039;t know about, or the stereoscopy module doesn&#039;t support your particular colour encoding. Check VLC&#039;s messages to see if anything is being reported (Tools &amp;gt; Messages). Either way, e-mail me and I&#039;ll get straight on to it!&lt;br /&gt;
&lt;br /&gt;
=== 3D Vision isn&#039;t working ===&lt;br /&gt;
This could be any number of things:&lt;br /&gt;
* 3D Vision is not enabled in the nVidia control panel.&lt;br /&gt;
* You haven&#039;t renamed vlc.exe (see above).&lt;br /&gt;
* You&#039;re not using the Direct3D vout.&lt;br /&gt;
* The stereoscopy module is turned off.&lt;br /&gt;
* You don&#039;t have the latest nVidia drivers.&lt;br /&gt;
&lt;br /&gt;
I&#039;d love to solve your issue, but please check VLC&#039;s messages for any warnings and errors before contacting me.&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19641</id>
		<title>SoC 2011/Stereoscopic Video</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19641"/>
		<updated>2011-09-15T11:37:31Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: /* Planned Features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoCProject|year=2011|student=[[User:MessiahAndrw|Andrew Price]]|mentor=[[User:j-b|Jean-Baptiste Kempf]]}} &lt;br /&gt;
&lt;br /&gt;
Stereoscopic, or 3D, video support was implemented into the VLC Media Player as part of my Google Summer of Code project. It is currently experimental with a couple of bugs and I&#039;m still actively working on it. At present you must build it from source, and I&#039;m looking to soon merge it into the main tree.&lt;br /&gt;
&lt;br /&gt;
== Building from Source ==&lt;br /&gt;
&lt;br /&gt;
At the present state you must acquire the source code of the stereoscopic 3D branch and build it yourself. https://github.com/MessiahAndrw/Stereoscopic-VLC&lt;br /&gt;
&lt;br /&gt;
A build (that my be out of date by the time you read this) is available here: http://streams.videolan.org/misc/stereo/vlc-1.2.0-git-stereoscopy.zip�&lt;br /&gt;
&lt;br /&gt;
There are build instructions in a file named &#039;STEREOSCOPY README&#039; but I&#039;ll also repeat the instructions here. &lt;br /&gt;
&lt;br /&gt;
=== Build Environment ===&lt;br /&gt;
&lt;br /&gt;
I use 32-bit MSYS/x86 Windows 7. To set up your build environment first follow through the instructions on [Win32CompileMSYSNew] to make sure you&#039;re able to build VLC successfully on your system. &lt;br /&gt;
&lt;br /&gt;
The following build instructions should work on any Windows system. &lt;br /&gt;
&lt;br /&gt;
=== Building ===&lt;br /&gt;
&lt;br /&gt;
Create a new empty directory somewhere, and at the MSYS terminal type: &lt;br /&gt;
&lt;br /&gt;
 git pull git://github.com/MessiahAndrw/Stereoscopic-VLC.git&lt;br /&gt;
&lt;br /&gt;
To bootstrap the build I use the following: &lt;br /&gt;
&lt;br /&gt;
 cd vlc&lt;br /&gt;
 cp -v /usr/win32/share/aclocal/* m4/&lt;br /&gt;
 cp -v /usr/share/aclocal/* m4/&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH ./bootstrap&lt;br /&gt;
&lt;br /&gt;
Then to configure: &lt;br /&gt;
&lt;br /&gt;
 sh extras/package/win32/configure-msys.sh&lt;br /&gt;
&lt;br /&gt;
Finally to build: &lt;br /&gt;
&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH make package-win32 -j6&lt;br /&gt;
&lt;br /&gt;
(The -j6 switch is optional and tells makefile to use 6 threads, it speeds up the build time on my 6-core machine.) &lt;br /&gt;
&lt;br /&gt;
&#039;make package-win32&#039; will exit with the following error but that&#039;s normal and VLC has still been built: &lt;br /&gt;
&lt;br /&gt;
 cp: cannot stat `./npapi-vlc/installed/lib/npvlc.dll&#039;: No such file or directory&lt;br /&gt;
&lt;br /&gt;
If everything else was successful you will now have built VLC with stereoscopic support! You will find this build in the directory &#039;vlc-1.2.0-git&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Note on 3D Vision support ===&lt;br /&gt;
&lt;br /&gt;
nVidia 3D Vision only activates for windowed-mode programs which are supported by the nVidia driver. At the present state VLC is not supported by the nVidia driver. However, the driver only performs a simple file-name check of the application, so as a workaround you can rename vlc.exe to the same file-name as a supported application. This can be done simply by: &lt;br /&gt;
&lt;br /&gt;
 cd vlc-1.2.0-git&lt;br /&gt;
 mv vlc.exe wow.exe&lt;br /&gt;
&lt;br /&gt;
== Splitting ==&lt;br /&gt;
&lt;br /&gt;
To play a stereoscopic 3D video you must tell the stereoscopy module how to get the image for each eye. The stereoscopic module is takes a 2D input picture, and produces 2 output pictures (one for the left eye, and one for the right eye). &lt;br /&gt;
&lt;br /&gt;
=== Command line ===&lt;br /&gt;
&lt;br /&gt;
To enable the stereoscopic module you should add the following command line parameters when you start vlc: &lt;br /&gt;
&lt;br /&gt;
 --video-filter=&amp;quot;stereoscopy&amp;quot; --stereoscopy-left=&amp;quot;&amp;amp;lt;left&amp;amp;gt;&amp;quot; --stereoscopy-right=&amp;quot;&amp;amp;lt;right&amp;amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Where &amp;amp;lt;left&amp;amp;gt; and &amp;amp;lt;right&amp;amp;gt; are valid input formats (see the table below). &lt;br /&gt;
&lt;br /&gt;
=== QT4 ===&lt;br /&gt;
&lt;br /&gt;
You can configure the stereoscopy module through the QT4 interface. To do this, open the &#039;Tools&#039; menu and click on &#039;Effects and Filters&#039;. In the &#039;Adjustments and Effects&#039; dialog that opens navigate to the &#039;Video Effects&#039; tab. Then find the sub-tab titled &#039;Stereoscopy&#039;. Check &#039;Split&#039; to enable the stereoscopy module to split the image into separate left and right frames. Select your video&#039;s input formats for the &#039;Left Eye and the &#039;Right Eye&#039;. &lt;br /&gt;
&lt;br /&gt;
[[File:StereoscopyoptionsQt4.png]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Input formats ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Source &lt;br /&gt;
| Extracted Image &lt;br /&gt;
| Format name &lt;br /&gt;
| Description&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightb.jpg]]&lt;br /&gt;
| blue&lt;br /&gt;
| The eye is encoded into the blue channel of the image and returned as a blue image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightc.jpg]]&lt;br /&gt;
| cyan&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image returned as a cyan image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
| [[File:StereoRightg.jpg]]&lt;br /&gt;
| green&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a green image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightm.jpg]]&lt;br /&gt;
| magenta&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image returned as a magenta image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoLeftr.jpg]]&lt;br /&gt;
| red&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned as a red image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRighty.jpg]]&lt;br /&gt;
| yellow&lt;br /&gt;
| The eye is encoded into the red and green channels of the image returned as a yellow image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightbg.jpg]]&lt;br /&gt;
| blue-gray&lt;br /&gt;
| The eye is encoded into the blue channel and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightcg.jpg]]&lt;br /&gt;
| cyan-gray&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
| [[File:StereoRightgg.jpg]]&lt;br /&gt;
| green-gray&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightmg.jpg]]&lt;br /&gt;
| magenta-gray&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoLeftrg.jpg]]&lt;br /&gt;
| red-gray&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRightyg.jpg]]&lt;br /&gt;
| yellow-gray&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightcf.jpg]]&lt;br /&gt;
| cyan-fill&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a full colour image. The missing red channel is filled in with the average of the blue and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightmf.jpg]]&lt;br /&gt;
| magenta-fill&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a full colour image. The missing green channel is filled in with the average of the red and blue channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRightyf.jpg]]&lt;br /&gt;
| yellow-fill&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a full colour image. The missing blue channel is filled in with the average of the red and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| left&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| right&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| top&lt;br /&gt;
| The eye is encoded into the right half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| bottom&lt;br /&gt;
| The eye is encoded into the bottom half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Developer notes ===&lt;br /&gt;
&lt;br /&gt;
picture_t contains a new field i_eye that is the eye the picture represents. Valid values at the moment are: &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| The picture is 2D.&lt;br /&gt;
|-&lt;br /&gt;
| 1 &lt;br /&gt;
| The picture is destined for the left eye.&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| The picture is destined for the right eye.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Flags:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| STEREO_WAIT_FOR_NEXT_FRAME_BIT&lt;br /&gt;
| Do not present straight away and instead wait for the next frame.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The default value for i_eye is 0, and all present video codecs output frames where i_eye is 0. It is up to the stereoscopy module to split it into left and right. But it&#039;s possible for someone to develop a video codec that output pictures where i_eye&amp;amp;gt;0, for example for a container format where the data is stored as separate left/right images. In this case the stereoscopy module does nothing, and forwards the pictures on as is.&lt;br /&gt;
&lt;br /&gt;
Mask i_eye by STEREO_EYE_MASK to get the eye number without any flags. It is possible that two images represent the same point in time (this is only untrue for field sequential video). If the STEREO_WAIT_FOR_NEXT_FRAME_BIT is set then the vout shouldn&#039;t present the frame straight away, but expect another picture immediately joining it representing the other eye at the same point of time, and display them together at once.&lt;br /&gt;
&lt;br /&gt;
== nVidia 3D Vision ==&lt;br /&gt;
The focus of the Google SoC project has been on nVidia 3D Vision. To use 3D Vision you require the following:&lt;br /&gt;
&lt;br /&gt;
* A compatible nVidia GPU&lt;br /&gt;
* nVidia 3D Vision Kit (the glasses you wear)&lt;br /&gt;
* A 120Hz LCD or 100Hz CRT monitor&lt;br /&gt;
* Windows&lt;br /&gt;
&lt;br /&gt;
You also have to rename &#039;vlc.exe&#039; since VLC isn&#039;t yet supported by the nVidia drivers. I&#039;d recommend &#039;wow.exe&#039; or &#039;googleearth.exe&#039;. Also, make sure you have 3D Vision enabled in the nVidia control panel.&lt;br /&gt;
&lt;br /&gt;
3D Vision will work straight out the box with the Direct3D (XP) vout. You don&#039;t need to do anything special, it&#039;ll activate as soon as the Direct3D vout starts receiving stereoscopic frames.&lt;br /&gt;
&lt;br /&gt;
== Quad Buffered OpenGL ==&lt;br /&gt;
There is some experimental code for quad-buffered OpenGL if you build from source. I highly doubt it will work since I lack the hardware needed to test it - either a compatible nVidia Quadro or AMD Firepro and monitor - donations welcomed. :)&lt;br /&gt;
&lt;br /&gt;
== Planned Features ==&lt;br /&gt;
* &#039;&#039;AMD HD3D&#039;&#039;. AMD&#039;s quad buffered Direct3D solution for Windows.&lt;br /&gt;
* &#039;&#039;A vout-independent anaglyph combining filter.&#039;&#039; This will combine the images for both eyes into a single anaglyph image before being passed to the vout. This will make it possible to display stereoscopic content with non-stereoscopic-aware vouts.&lt;br /&gt;
* &#039;&#039;3D over HDMI.&#039;&#039; I will need to investigate this and experiment (nVidia 3DTV Play, AMD, non-Windows platforms).&lt;br /&gt;
* &#039;&#039;3D TV output.&#039;&#039; Non-HDMI 1.4 3D outputs - e.g. outputting side-by-side checkerboard, row interleaved, etc.&lt;br /&gt;
* &#039;&#039;Other proprietary shutter glasses&#039;&#039;. For example e-Dimensional.&lt;br /&gt;
* &#039;&#039;More input features&#039;&#039;. Column and row interleaved input sources.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;amp; Support ==&lt;br /&gt;
There are several issues I am aware of. If you need support directly from me or have any enquiries then feel free to e-mail me directly at messiahandrw-at-gmail-dot-com (also mention Stereoscopic VLC in the subject so I don&#039;t mistake it for spam).&lt;br /&gt;
&lt;br /&gt;
=== VLC Crashes when I click stop ===&lt;br /&gt;
I know about this bug and I&#039;m trying to fix it, so stay tuned!&lt;br /&gt;
&lt;br /&gt;
=== The frame rate is too slow ===&lt;br /&gt;
The stereoscopy module is alternating outputting left and right frames, because VLC starts to drop frames when I start doubling the frame rate. I&#039;m working on a way around this (and if you&#039;re a developer I&#039;d love for some input on this!)&lt;br /&gt;
&lt;br /&gt;
=== My Video is black! ===&lt;br /&gt;
Either there&#039;s a bug I don&#039;t know about, or the stereoscopy module doesn&#039;t support your particular colour encoding. Check VLC&#039;s messages to see if anything is being reported (Tools &amp;gt; Messages). Either way, e-mail me and I&#039;ll get straight on to it!&lt;br /&gt;
&lt;br /&gt;
=== 3D Vision isn&#039;t working ===&lt;br /&gt;
This could be any number of things:&lt;br /&gt;
* 3D Vision is not enabled in the nVidia control panel.&lt;br /&gt;
* You haven&#039;t renamed vlc.exe (see above).&lt;br /&gt;
* You&#039;re not using the Direct3D vout.&lt;br /&gt;
* The stereoscopy module is turned off.&lt;br /&gt;
* You don&#039;t have the latest nVidia drivers.&lt;br /&gt;
&lt;br /&gt;
I&#039;d love to solve your issue, but please check VLC&#039;s messages for any warnings and errors before contacting me.&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19609</id>
		<title>SoC 2011/Stereoscopic Video</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19609"/>
		<updated>2011-09-12T17:18:58Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: mentioned quad buffered opengl&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoCProject|year=2011|student=[[User:MessiahAndrw|Andrew Price]]|mentor=[[User:j-b|Jean-Baptiste Kempf]]}} &lt;br /&gt;
&lt;br /&gt;
Stereoscopic, or 3D, video support was implemented into the VLC Media Player as part of my Google Summer of Code project. It is currently experimental with a couple of bugs and I&#039;m still actively working on it. At present you must build it from source, and I&#039;m looking to soon merge it into the main tree.&lt;br /&gt;
&lt;br /&gt;
== Building from Source ==&lt;br /&gt;
&lt;br /&gt;
At the present state you must acquire the source code of the stereoscopic 3D branch and build it yourself. https://github.com/MessiahAndrw/Stereoscopic-VLC&lt;br /&gt;
&lt;br /&gt;
A build (that my be out of date by the time you read this) is available here: http://streams.videolan.org/misc/stereo/vlc-1.2.0-git-stereoscopy.zip�&lt;br /&gt;
&lt;br /&gt;
There are build instructions in a file named &#039;STEREOSCOPY README&#039; but I&#039;ll also repeat the instructions here. &lt;br /&gt;
&lt;br /&gt;
=== Build Environment ===&lt;br /&gt;
&lt;br /&gt;
I use 32-bit MSYS/x86 Windows 7. To set up your build environment first follow through the instructions on [Win32CompileMSYSNew] to make sure you&#039;re able to build VLC successfully on your system. &lt;br /&gt;
&lt;br /&gt;
The following build instructions should work on any Windows system. &lt;br /&gt;
&lt;br /&gt;
=== Building ===&lt;br /&gt;
&lt;br /&gt;
Create a new empty directory somewhere, and at the MSYS terminal type: &lt;br /&gt;
&lt;br /&gt;
 git pull git://github.com/MessiahAndrw/Stereoscopic-VLC.git&lt;br /&gt;
&lt;br /&gt;
To bootstrap the build I use the following: &lt;br /&gt;
&lt;br /&gt;
 cd vlc&lt;br /&gt;
 cp -v /usr/win32/share/aclocal/* m4/&lt;br /&gt;
 cp -v /usr/share/aclocal/* m4/&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH ./bootstrap&lt;br /&gt;
&lt;br /&gt;
Then to configure: &lt;br /&gt;
&lt;br /&gt;
 sh extras/package/win32/configure-msys.sh&lt;br /&gt;
&lt;br /&gt;
Finally to build: &lt;br /&gt;
&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH make package-win32 -j6&lt;br /&gt;
&lt;br /&gt;
(The -j6 switch is optional and tells makefile to use 6 threads, it speeds up the build time on my 6-core machine.) &lt;br /&gt;
&lt;br /&gt;
&#039;make package-win32&#039; will exit with the following error but that&#039;s normal and VLC has still been built: &lt;br /&gt;
&lt;br /&gt;
 cp: cannot stat `./npapi-vlc/installed/lib/npvlc.dll&#039;: No such file or directory&lt;br /&gt;
&lt;br /&gt;
If everything else was successful you will now have built VLC with stereoscopic support! You will find this build in the directory &#039;vlc-1.2.0-git&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Note on 3D Vision support ===&lt;br /&gt;
&lt;br /&gt;
nVidia 3D Vision only activates for windowed-mode programs which are supported by the nVidia driver. At the present state VLC is not supported by the nVidia driver. However, the driver only performs a simple file-name check of the application, so as a workaround you can rename vlc.exe to the same file-name as a supported application. This can be done simply by: &lt;br /&gt;
&lt;br /&gt;
 cd vlc-1.2.0-git&lt;br /&gt;
 mv vlc.exe wow.exe&lt;br /&gt;
&lt;br /&gt;
== Splitting ==&lt;br /&gt;
&lt;br /&gt;
To play a stereoscopic 3D video you must tell the stereoscopy module how to get the image for each eye. The stereoscopic module is takes a 2D input picture, and produces 2 output pictures (one for the left eye, and one for the right eye). &lt;br /&gt;
&lt;br /&gt;
=== Command line ===&lt;br /&gt;
&lt;br /&gt;
To enable the stereoscopic module you should add the following command line parameters when you start vlc: &lt;br /&gt;
&lt;br /&gt;
 --video-filter=&amp;quot;stereoscopy&amp;quot; --stereoscopy-left=&amp;quot;&amp;amp;lt;left&amp;amp;gt;&amp;quot; --stereoscopy-right=&amp;quot;&amp;amp;lt;right&amp;amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Where &amp;amp;lt;left&amp;amp;gt; and &amp;amp;lt;right&amp;amp;gt; are valid input formats (see the table below). &lt;br /&gt;
&lt;br /&gt;
=== QT4 ===&lt;br /&gt;
&lt;br /&gt;
You can configure the stereoscopy module through the QT4 interface. To do this, open the &#039;Tools&#039; menu and click on &#039;Effects and Filters&#039;. In the &#039;Adjustments and Effects&#039; dialog that opens navigate to the &#039;Video Effects&#039; tab. Then find the sub-tab titled &#039;Stereoscopy&#039;. Check &#039;Split&#039; to enable the stereoscopy module to split the image into separate left and right frames. Select your video&#039;s input formats for the &#039;Left Eye and the &#039;Right Eye&#039;. &lt;br /&gt;
&lt;br /&gt;
[[File:StereoscopyoptionsQt4.png]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Input formats ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Source &lt;br /&gt;
| Extracted Image &lt;br /&gt;
| Format name &lt;br /&gt;
| Description&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightb.jpg]]&lt;br /&gt;
| blue&lt;br /&gt;
| The eye is encoded into the blue channel of the image and returned as a blue image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightc.jpg]]&lt;br /&gt;
| cyan&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image returned as a cyan image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
| [[File:StereoRightg.jpg]]&lt;br /&gt;
| green&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a green image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightm.jpg]]&lt;br /&gt;
| magenta&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image returned as a magenta image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoLeftr.jpg]]&lt;br /&gt;
| red&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned as a red image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRighty.jpg]]&lt;br /&gt;
| yellow&lt;br /&gt;
| The eye is encoded into the red and green channels of the image returned as a yellow image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightbg.jpg]]&lt;br /&gt;
| blue-gray&lt;br /&gt;
| The eye is encoded into the blue channel and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightcg.jpg]]&lt;br /&gt;
| cyan-gray&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
| [[File:StereoRightgg.jpg]]&lt;br /&gt;
| green-gray&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightmg.jpg]]&lt;br /&gt;
| magenta-gray&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoLeftrg.jpg]]&lt;br /&gt;
| red-gray&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRightyg.jpg]]&lt;br /&gt;
| yellow-gray&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightcf.jpg]]&lt;br /&gt;
| cyan-fill&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a full colour image. The missing red channel is filled in with the average of the blue and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightmf.jpg]]&lt;br /&gt;
| magenta-fill&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a full colour image. The missing green channel is filled in with the average of the red and blue channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRightyf.jpg]]&lt;br /&gt;
| yellow-fill&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a full colour image. The missing blue channel is filled in with the average of the red and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| left&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| right&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| top&lt;br /&gt;
| The eye is encoded into the right half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| bottom&lt;br /&gt;
| The eye is encoded into the bottom half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Developer notes ===&lt;br /&gt;
&lt;br /&gt;
picture_t contains a new field i_eye that is the eye the picture represents. Valid values at the moment are: &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| The picture is 2D.&lt;br /&gt;
|-&lt;br /&gt;
| 1 &lt;br /&gt;
| The picture is destined for the left eye.&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| The picture is destined for the right eye.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Flags:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| STEREO_WAIT_FOR_NEXT_FRAME_BIT&lt;br /&gt;
| Do not present straight away and instead wait for the next frame.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The default value for i_eye is 0, and all present video codecs output frames where i_eye is 0. It is up to the stereoscopy module to split it into left and right. But it&#039;s possible for someone to develop a video codec that output pictures where i_eye&amp;amp;gt;0, for example for a container format where the data is stored as separate left/right images. In this case the stereoscopy module does nothing, and forwards the pictures on as is.&lt;br /&gt;
&lt;br /&gt;
Mask i_eye by STEREO_EYE_MASK to get the eye number without any flags. It is possible that two images represent the same point in time (this is only untrue for field sequential video). If the STEREO_WAIT_FOR_NEXT_FRAME_BIT is set then the vout shouldn&#039;t present the frame straight away, but expect another picture immediately joining it representing the other eye at the same point of time, and display them together at once.&lt;br /&gt;
&lt;br /&gt;
== nVidia 3D Vision ==&lt;br /&gt;
The focus of the Google SoC project has been on nVidia 3D Vision. To use 3D Vision you require the following:&lt;br /&gt;
&lt;br /&gt;
* A compatible nVidia GPU&lt;br /&gt;
* nVidia 3D Vision Kit (the glasses you wear)&lt;br /&gt;
* A 120Hz LCD or 100Hz CRT monitor&lt;br /&gt;
* Windows&lt;br /&gt;
&lt;br /&gt;
You also have to rename &#039;vlc.exe&#039; since VLC isn&#039;t yet supported by the nVidia drivers. I&#039;d recommend &#039;wow.exe&#039; or &#039;googleearth.exe&#039;. Also, make sure you have 3D Vision enabled in the nVidia control panel.&lt;br /&gt;
&lt;br /&gt;
3D Vision will work straight out the box with the Direct3D (XP) vout. You don&#039;t need to do anything special, it&#039;ll activate as soon as the Direct3D vout starts receiving stereoscopic frames.&lt;br /&gt;
&lt;br /&gt;
== Quad Buffered OpenGL ==&lt;br /&gt;
There is some experimental code for quad-buffered OpenGL if you build from source. I highly doubt it will work since I lack the hardware needed to test it - either a compatible nVidia Quadro or AMD Firepro and monitor - donations welcomed. :)&lt;br /&gt;
&lt;br /&gt;
== Planned Features ==&lt;br /&gt;
* &#039;&#039;A vout-independent anaglyph combining filter.&#039;&#039; This will combine the images for both eyes into a single anaglyph image before being passed to the vout. This will make it possible to display stereoscopic content with non-stereoscopic-aware vouts.&lt;br /&gt;
* &#039;&#039;3D over HDMI.&#039;&#039; I will need to investigate this and experiment (nVidia 3DTV Play, AMD, non-Windows platforms).&lt;br /&gt;
* &#039;&#039;3D TV output.&#039;&#039; Non-HDMI 1.4 3D outputs - e.g. outputting side-by-side checkerboard, row interleaved, etc.&lt;br /&gt;
* &#039;&#039;Other proprietary shutter glasses&#039;&#039;. For example e-Dimensional.&lt;br /&gt;
* &#039;&#039;More input features&#039;&#039;. Column and row interleaved input sources.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;amp; Support ==&lt;br /&gt;
There are several issues I am aware of. If you need support directly from me or have any enquiries then feel free to e-mail me directly at messiahandrw-at-gmail-dot-com (also mention Stereoscopic VLC in the subject so I don&#039;t mistake it for spam).&lt;br /&gt;
&lt;br /&gt;
=== VLC Crashes when I click stop ===&lt;br /&gt;
I know about this bug and I&#039;m trying to fix it, so stay tuned!&lt;br /&gt;
&lt;br /&gt;
=== The frame rate is too slow ===&lt;br /&gt;
The stereoscopy module is alternating outputting left and right frames, because VLC starts to drop frames when I start doubling the frame rate. I&#039;m working on a way around this (and if you&#039;re a developer I&#039;d love for some input on this!)&lt;br /&gt;
&lt;br /&gt;
=== My Video is black! ===&lt;br /&gt;
Either there&#039;s a bug I don&#039;t know about, or the stereoscopy module doesn&#039;t support your particular colour encoding. Check VLC&#039;s messages to see if anything is being reported (Tools &amp;gt; Messages). Either way, e-mail me and I&#039;ll get straight on to it!&lt;br /&gt;
&lt;br /&gt;
=== 3D Vision isn&#039;t working ===&lt;br /&gt;
This could be any number of things:&lt;br /&gt;
* 3D Vision is not enabled in the nVidia control panel.&lt;br /&gt;
* You haven&#039;t renamed vlc.exe (see above).&lt;br /&gt;
* You&#039;re not using the Direct3D vout.&lt;br /&gt;
* The stereoscopy module is turned off.&lt;br /&gt;
* You don&#039;t have the latest nVidia drivers.&lt;br /&gt;
&lt;br /&gt;
I&#039;d love to solve your issue, but please check VLC&#039;s messages for any warnings and errors before contacting me.&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19595</id>
		<title>SoC 2011/Stereoscopic Video</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19595"/>
		<updated>2011-09-05T00:50:04Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: /* Developer notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoCProject|year=2011|student=[[User:MessiahAndrw|Andrew Price]]|mentor=[[User:j-b|Jean-Baptiste Kempf]]}} &lt;br /&gt;
&lt;br /&gt;
Stereoscopic, or 3D, video support was implemented into the VLC Media Player as part of my Google Summer of Code project. It is currently experimental with a couple of bugs and I&#039;m still actively working on it. At present you must build it from source, and I&#039;m looking to soon merge it into the main tree.&lt;br /&gt;
&lt;br /&gt;
== Building from Source ==&lt;br /&gt;
&lt;br /&gt;
At the present state you must acquire the source code of the stereoscopic 3D branch and build it yourself. https://github.com/MessiahAndrw/Stereoscopic-VLC&lt;br /&gt;
&lt;br /&gt;
A build (that my be out of date by the time you read this) is available here: http://streams.videolan.org/misc/stereo/vlc-1.2.0-git-stereoscopy.zip�&lt;br /&gt;
&lt;br /&gt;
There are build instructions in a file named &#039;STEREOSCOPY README&#039; but I&#039;ll also repeat the instructions here. &lt;br /&gt;
&lt;br /&gt;
=== Build Environment ===&lt;br /&gt;
&lt;br /&gt;
I use 32-bit MSYS/x86 Windows 7. To set up your build environment first follow through the instructions on [Win32CompileMSYSNew] to make sure you&#039;re able to build VLC successfully on your system. &lt;br /&gt;
&lt;br /&gt;
The following build instructions should work on any Windows system. &lt;br /&gt;
&lt;br /&gt;
=== Building ===&lt;br /&gt;
&lt;br /&gt;
Create a new empty directory somewhere, and at the MSYS terminal type: &lt;br /&gt;
&lt;br /&gt;
 git pull git://github.com/MessiahAndrw/Stereoscopic-VLC.git&lt;br /&gt;
&lt;br /&gt;
To bootstrap the build I use the following: &lt;br /&gt;
&lt;br /&gt;
 cd vlc&lt;br /&gt;
 cp -v /usr/win32/share/aclocal/* m4/&lt;br /&gt;
 cp -v /usr/share/aclocal/* m4/&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH ./bootstrap&lt;br /&gt;
&lt;br /&gt;
Then to configure: &lt;br /&gt;
&lt;br /&gt;
 sh extras/package/win32/configure-msys.sh&lt;br /&gt;
&lt;br /&gt;
Finally to build: &lt;br /&gt;
&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH make package-win32 -j6&lt;br /&gt;
&lt;br /&gt;
(The -j6 switch is optional and tells makefile to use 6 threads, it speeds up the build time on my 6-core machine.) &lt;br /&gt;
&lt;br /&gt;
&#039;make package-win32&#039; will exit with the following error but that&#039;s normal and VLC has still been built: &lt;br /&gt;
&lt;br /&gt;
 cp: cannot stat `./npapi-vlc/installed/lib/npvlc.dll&#039;: No such file or directory&lt;br /&gt;
&lt;br /&gt;
If everything else was successful you will now have built VLC with stereoscopic support! You will find this build in the directory &#039;vlc-1.2.0-git&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Note on 3D Vision support ===&lt;br /&gt;
&lt;br /&gt;
nVidia 3D Vision only activates for windowed-mode programs which are supported by the nVidia driver. At the present state VLC is not supported by the nVidia driver. However, the driver only performs a simple file-name check of the application, so as a workaround you can rename vlc.exe to the same file-name as a supported application. This can be done simply by: &lt;br /&gt;
&lt;br /&gt;
 cd vlc-1.2.0-git&lt;br /&gt;
 mv vlc.exe wow.exe&lt;br /&gt;
&lt;br /&gt;
== Splitting ==&lt;br /&gt;
&lt;br /&gt;
To play a stereoscopic 3D video you must tell the stereoscopy module how to get the image for each eye. The stereoscopic module is takes a 2D input picture, and produces 2 output pictures (one for the left eye, and one for the right eye). &lt;br /&gt;
&lt;br /&gt;
=== Command line ===&lt;br /&gt;
&lt;br /&gt;
To enable the stereoscopic module you should add the following command line parameters when you start vlc: &lt;br /&gt;
&lt;br /&gt;
 --video-filter=&amp;quot;stereoscopy&amp;quot; --stereoscopy-left=&amp;quot;&amp;amp;lt;left&amp;amp;gt;&amp;quot; --stereoscopy-right=&amp;quot;&amp;amp;lt;right&amp;amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Where &amp;amp;lt;left&amp;amp;gt; and &amp;amp;lt;right&amp;amp;gt; are valid input formats (see the table below). &lt;br /&gt;
&lt;br /&gt;
=== QT4 ===&lt;br /&gt;
&lt;br /&gt;
You can configure the stereoscopy module through the QT4 interface. To do this, open the &#039;Tools&#039; menu and click on &#039;Effects and Filters&#039;. In the &#039;Adjustments and Effects&#039; dialog that opens navigate to the &#039;Video Effects&#039; tab. Then find the sub-tab titled &#039;Stereoscopy&#039;. Check &#039;Split&#039; to enable the stereoscopy module to split the image into separate left and right frames. Select your video&#039;s input formats for the &#039;Left Eye and the &#039;Right Eye&#039;. &lt;br /&gt;
&lt;br /&gt;
[[File:StereoscopyoptionsQt4.png]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Input formats ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Source &lt;br /&gt;
| Extracted Image &lt;br /&gt;
| Format name &lt;br /&gt;
| Description&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightb.jpg]]&lt;br /&gt;
| blue&lt;br /&gt;
| The eye is encoded into the blue channel of the image and returned as a blue image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightc.jpg]]&lt;br /&gt;
| cyan&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image returned as a cyan image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
| [[File:StereoRightg.jpg]]&lt;br /&gt;
| green&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a green image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightm.jpg]]&lt;br /&gt;
| magenta&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image returned as a magenta image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoLeftr.jpg]]&lt;br /&gt;
| red&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned as a red image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRighty.jpg]]&lt;br /&gt;
| yellow&lt;br /&gt;
| The eye is encoded into the red and green channels of the image returned as a yellow image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightbg.jpg]]&lt;br /&gt;
| blue-gray&lt;br /&gt;
| The eye is encoded into the blue channel and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightcg.jpg]]&lt;br /&gt;
| cyan-gray&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
| [[File:StereoRightgg.jpg]]&lt;br /&gt;
| green-gray&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightmg.jpg]]&lt;br /&gt;
| magenta-gray&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoLeftrg.jpg]]&lt;br /&gt;
| red-gray&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRightyg.jpg]]&lt;br /&gt;
| yellow-gray&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightcf.jpg]]&lt;br /&gt;
| cyan-fill&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a full colour image. The missing red channel is filled in with the average of the blue and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightmf.jpg]]&lt;br /&gt;
| magenta-fill&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a full colour image. The missing green channel is filled in with the average of the red and blue channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRightyf.jpg]]&lt;br /&gt;
| yellow-fill&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a full colour image. The missing blue channel is filled in with the average of the red and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| left&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| right&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| top&lt;br /&gt;
| The eye is encoded into the right half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| bottom&lt;br /&gt;
| The eye is encoded into the bottom half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Developer notes ===&lt;br /&gt;
&lt;br /&gt;
picture_t contains a new field i_eye that is the eye the picture represents. Valid values at the moment are: &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| The picture is 2D.&lt;br /&gt;
|-&lt;br /&gt;
| 1 &lt;br /&gt;
| The picture is destined for the left eye.&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| The picture is destined for the right eye.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Flags:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| STEREO_WAIT_FOR_NEXT_FRAME_BIT&lt;br /&gt;
| Do not present straight away and instead wait for the next frame.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The default value for i_eye is 0, and all present video codecs output frames where i_eye is 0. It is up to the stereoscopy module to split it into left and right. But it&#039;s possible for someone to develop a video codec that output pictures where i_eye&amp;amp;gt;0, for example for a container format where the data is stored as separate left/right images. In this case the stereoscopy module does nothing, and forwards the pictures on as is.&lt;br /&gt;
&lt;br /&gt;
Mask i_eye by STEREO_EYE_MASK to get the eye number without any flags. It is possible that two images represent the same point in time (this is only untrue for field sequential video). If the STEREO_WAIT_FOR_NEXT_FRAME_BIT is set then the vout shouldn&#039;t present the frame straight away, but expect another picture immediately joining it representing the other eye at the same point of time, and display them together at once.&lt;br /&gt;
&lt;br /&gt;
== nVidia 3D Vision ==&lt;br /&gt;
The focus of the Google SoC project has been on nVidia 3D Vision. To use 3D Vision you require the following:&lt;br /&gt;
&lt;br /&gt;
* A compatible nVidia GPU&lt;br /&gt;
* nVidia 3D Vision Kit (the glasses you wear)&lt;br /&gt;
* A 120Hz LCD or 100Hz CRT monitor&lt;br /&gt;
* Windows&lt;br /&gt;
&lt;br /&gt;
You also have to rename &#039;vlc.exe&#039; since VLC isn&#039;t yet supported by the nVidia drivers. I&#039;d recommend &#039;wow.exe&#039; or &#039;googleearth.exe&#039;. Also, make sure you have 3D Vision enabled in the nVidia control panel.&lt;br /&gt;
&lt;br /&gt;
3D Vision will work straight out the box with the Direct3D (XP) vout. You don&#039;t need to do anything special, it&#039;ll activate as soon as the Direct3D vout starts receiving stereoscopic frames.&lt;br /&gt;
&lt;br /&gt;
== Planned Features ==&lt;br /&gt;
* &#039;&#039;A vout-independent anaglyph combining filter.&#039;&#039; This will combine the images for both eyes into a single anaglyph image before being passed to the vout. This will make it possible to display stereoscopic content with non-stereoscopic-aware vouts.&lt;br /&gt;
* &#039;&#039;Quad-buffered OpenGL.&#039;&#039; This seems trivial enough to implement but I&#039;ll need a supporting video card!&lt;br /&gt;
* &#039;&#039;3D over HDMI.&#039;&#039; I will need to investigate this and experiment (nVidia 3DTV Play, AMD, non-Windows platforms).&lt;br /&gt;
* &#039;&#039;3D TV output.&#039;&#039; Non-HDMI 1.4 3D outputs - e.g. outputting side-by-side checkerboard, row interleaved, etc.&lt;br /&gt;
* &#039;&#039;Other proprietary shutter glasses&#039;&#039;. For example e-Dimensional.&lt;br /&gt;
* &#039;&#039;More input features&#039;&#039;. Column and row interleaved input sources.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;amp; Support ==&lt;br /&gt;
There are several issues I am aware of. If you need support directly from me or have any enquiries then feel free to e-mail me directly at messiahandrw-at-gmail-dot-com (also mention Stereoscopic VLC in the subject so I don&#039;t mistake it for spam).&lt;br /&gt;
&lt;br /&gt;
=== VLC Crashes when I click stop ===&lt;br /&gt;
I know about this bug and I&#039;m trying to fix it, so stay tuned!&lt;br /&gt;
&lt;br /&gt;
=== The frame rate is too slow ===&lt;br /&gt;
The stereoscopy module is alternating outputting left and right frames, because VLC starts to drop frames when I start doubling the frame rate. I&#039;m working on a way around this (and if you&#039;re a developer I&#039;d love for some input on this!)&lt;br /&gt;
&lt;br /&gt;
=== My Video is black! ===&lt;br /&gt;
Either there&#039;s a bug I don&#039;t know about, or the stereoscopy module doesn&#039;t support your particular colour encoding. Check VLC&#039;s messages to see if anything is being reported (Tools &amp;gt; Messages). Either way, e-mail me and I&#039;ll get straight on to it!&lt;br /&gt;
&lt;br /&gt;
=== 3D Vision isn&#039;t working ===&lt;br /&gt;
This could be any number of things:&lt;br /&gt;
* 3D Vision is not enabled in the nVidia control panel.&lt;br /&gt;
* You haven&#039;t renamed vlc.exe (see above).&lt;br /&gt;
* You&#039;re not using the Direct3D vout.&lt;br /&gt;
* The stereoscopy module is turned off.&lt;br /&gt;
* You don&#039;t have the latest nVidia drivers.&lt;br /&gt;
&lt;br /&gt;
I&#039;d love to solve your issue, but please check VLC&#039;s messages for any warnings and errors before contacting me.&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19594</id>
		<title>SoC 2011/Stereoscopic Video</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19594"/>
		<updated>2011-09-05T00:49:44Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: /* Developer notes */  mentioned about syncing with STEREO_WAIT_FOR_NEXT_FRAME_BIT&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoCProject|year=2011|student=[[User:MessiahAndrw|Andrew Price]]|mentor=[[User:j-b|Jean-Baptiste Kempf]]}} &lt;br /&gt;
&lt;br /&gt;
Stereoscopic, or 3D, video support was implemented into the VLC Media Player as part of my Google Summer of Code project. It is currently experimental with a couple of bugs and I&#039;m still actively working on it. At present you must build it from source, and I&#039;m looking to soon merge it into the main tree.&lt;br /&gt;
&lt;br /&gt;
== Building from Source ==&lt;br /&gt;
&lt;br /&gt;
At the present state you must acquire the source code of the stereoscopic 3D branch and build it yourself. https://github.com/MessiahAndrw/Stereoscopic-VLC&lt;br /&gt;
&lt;br /&gt;
A build (that my be out of date by the time you read this) is available here: http://streams.videolan.org/misc/stereo/vlc-1.2.0-git-stereoscopy.zip�&lt;br /&gt;
&lt;br /&gt;
There are build instructions in a file named &#039;STEREOSCOPY README&#039; but I&#039;ll also repeat the instructions here. &lt;br /&gt;
&lt;br /&gt;
=== Build Environment ===&lt;br /&gt;
&lt;br /&gt;
I use 32-bit MSYS/x86 Windows 7. To set up your build environment first follow through the instructions on [Win32CompileMSYSNew] to make sure you&#039;re able to build VLC successfully on your system. &lt;br /&gt;
&lt;br /&gt;
The following build instructions should work on any Windows system. &lt;br /&gt;
&lt;br /&gt;
=== Building ===&lt;br /&gt;
&lt;br /&gt;
Create a new empty directory somewhere, and at the MSYS terminal type: &lt;br /&gt;
&lt;br /&gt;
 git pull git://github.com/MessiahAndrw/Stereoscopic-VLC.git&lt;br /&gt;
&lt;br /&gt;
To bootstrap the build I use the following: &lt;br /&gt;
&lt;br /&gt;
 cd vlc&lt;br /&gt;
 cp -v /usr/win32/share/aclocal/* m4/&lt;br /&gt;
 cp -v /usr/share/aclocal/* m4/&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH ./bootstrap&lt;br /&gt;
&lt;br /&gt;
Then to configure: &lt;br /&gt;
&lt;br /&gt;
 sh extras/package/win32/configure-msys.sh&lt;br /&gt;
&lt;br /&gt;
Finally to build: &lt;br /&gt;
&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH make package-win32 -j6&lt;br /&gt;
&lt;br /&gt;
(The -j6 switch is optional and tells makefile to use 6 threads, it speeds up the build time on my 6-core machine.) &lt;br /&gt;
&lt;br /&gt;
&#039;make package-win32&#039; will exit with the following error but that&#039;s normal and VLC has still been built: &lt;br /&gt;
&lt;br /&gt;
 cp: cannot stat `./npapi-vlc/installed/lib/npvlc.dll&#039;: No such file or directory&lt;br /&gt;
&lt;br /&gt;
If everything else was successful you will now have built VLC with stereoscopic support! You will find this build in the directory &#039;vlc-1.2.0-git&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Note on 3D Vision support ===&lt;br /&gt;
&lt;br /&gt;
nVidia 3D Vision only activates for windowed-mode programs which are supported by the nVidia driver. At the present state VLC is not supported by the nVidia driver. However, the driver only performs a simple file-name check of the application, so as a workaround you can rename vlc.exe to the same file-name as a supported application. This can be done simply by: &lt;br /&gt;
&lt;br /&gt;
 cd vlc-1.2.0-git&lt;br /&gt;
 mv vlc.exe wow.exe&lt;br /&gt;
&lt;br /&gt;
== Splitting ==&lt;br /&gt;
&lt;br /&gt;
To play a stereoscopic 3D video you must tell the stereoscopy module how to get the image for each eye. The stereoscopic module is takes a 2D input picture, and produces 2 output pictures (one for the left eye, and one for the right eye). &lt;br /&gt;
&lt;br /&gt;
=== Command line ===&lt;br /&gt;
&lt;br /&gt;
To enable the stereoscopic module you should add the following command line parameters when you start vlc: &lt;br /&gt;
&lt;br /&gt;
 --video-filter=&amp;quot;stereoscopy&amp;quot; --stereoscopy-left=&amp;quot;&amp;amp;lt;left&amp;amp;gt;&amp;quot; --stereoscopy-right=&amp;quot;&amp;amp;lt;right&amp;amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Where &amp;amp;lt;left&amp;amp;gt; and &amp;amp;lt;right&amp;amp;gt; are valid input formats (see the table below). &lt;br /&gt;
&lt;br /&gt;
=== QT4 ===&lt;br /&gt;
&lt;br /&gt;
You can configure the stereoscopy module through the QT4 interface. To do this, open the &#039;Tools&#039; menu and click on &#039;Effects and Filters&#039;. In the &#039;Adjustments and Effects&#039; dialog that opens navigate to the &#039;Video Effects&#039; tab. Then find the sub-tab titled &#039;Stereoscopy&#039;. Check &#039;Split&#039; to enable the stereoscopy module to split the image into separate left and right frames. Select your video&#039;s input formats for the &#039;Left Eye and the &#039;Right Eye&#039;. &lt;br /&gt;
&lt;br /&gt;
[[File:StereoscopyoptionsQt4.png]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Input formats ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Source &lt;br /&gt;
| Extracted Image &lt;br /&gt;
| Format name &lt;br /&gt;
| Description&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightb.jpg]]&lt;br /&gt;
| blue&lt;br /&gt;
| The eye is encoded into the blue channel of the image and returned as a blue image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightc.jpg]]&lt;br /&gt;
| cyan&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image returned as a cyan image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
| [[File:StereoRightg.jpg]]&lt;br /&gt;
| green&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a green image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightm.jpg]]&lt;br /&gt;
| magenta&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image returned as a magenta image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoLeftr.jpg]]&lt;br /&gt;
| red&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned as a red image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRighty.jpg]]&lt;br /&gt;
| yellow&lt;br /&gt;
| The eye is encoded into the red and green channels of the image returned as a yellow image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightbg.jpg]]&lt;br /&gt;
| blue-gray&lt;br /&gt;
| The eye is encoded into the blue channel and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightcg.jpg]]&lt;br /&gt;
| cyan-gray&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
| [[File:StereoRightgg.jpg]]&lt;br /&gt;
| green-gray&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightmg.jpg]]&lt;br /&gt;
| magenta-gray&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoLeftrg.jpg]]&lt;br /&gt;
| red-gray&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRightyg.jpg]]&lt;br /&gt;
| yellow-gray&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightcf.jpg]]&lt;br /&gt;
| cyan-fill&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a full colour image. The missing red channel is filled in with the average of the blue and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightmf.jpg]]&lt;br /&gt;
| magenta-fill&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a full colour image. The missing green channel is filled in with the average of the red and blue channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRightyf.jpg]]&lt;br /&gt;
| yellow-fill&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a full colour image. The missing blue channel is filled in with the average of the red and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| left&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| right&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| top&lt;br /&gt;
| The eye is encoded into the right half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| bottom&lt;br /&gt;
| The eye is encoded into the bottom half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Developer notes ===&lt;br /&gt;
&lt;br /&gt;
picture_t contains a new field i_eye that is the eye the picture represents. Valid values at the moment are: &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| The picture is 2D.&lt;br /&gt;
|-&lt;br /&gt;
| 1 &lt;br /&gt;
| The picture is destined for the left eye.&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| The picture is destined for the right eye.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Flags:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| STEREO_WAIT_FOR_NEXT_FRAME_BIT&lt;br /&gt;
| Do not present straight away and instead wait for the next frame.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The default value for i_eye is 0, and all present video codecs output frames where i_eye is 0. It is up to the stereoscopy module to split it into left and right. But it&#039;s possible for someone to develop a video codec that output pictures where i_eye&amp;amp;gt;0, for example for a container format where the data is stored as separate left/right images. In this case the stereoscopy module does nothing, and forwards the pictures on as is.&lt;br /&gt;
&lt;br /&gt;
Mask i_eye by STEREO_EYE_MASK to get the eye number without any flags. It is possible that two images represent the same point in time (this is only untrue for field sequential video). If the STEREO_WAIT_FOR_NEXT_FRAME_BIT is set then the vout shouldn&#039;t present the frame straight away, but expect another picture immediately joining it representing the other eye at the same point of time, and display them together at once.&lt;br /&gt;
&lt;br /&gt;
== nVidia 3D Vision ==&lt;br /&gt;
The focus of the Google SoC project has been on nVidia 3D Vision. To use 3D Vision you require the following:&lt;br /&gt;
&lt;br /&gt;
* A compatible nVidia GPU&lt;br /&gt;
* nVidia 3D Vision Kit (the glasses you wear)&lt;br /&gt;
* A 120Hz LCD or 100Hz CRT monitor&lt;br /&gt;
* Windows&lt;br /&gt;
&lt;br /&gt;
You also have to rename &#039;vlc.exe&#039; since VLC isn&#039;t yet supported by the nVidia drivers. I&#039;d recommend &#039;wow.exe&#039; or &#039;googleearth.exe&#039;. Also, make sure you have 3D Vision enabled in the nVidia control panel.&lt;br /&gt;
&lt;br /&gt;
3D Vision will work straight out the box with the Direct3D (XP) vout. You don&#039;t need to do anything special, it&#039;ll activate as soon as the Direct3D vout starts receiving stereoscopic frames.&lt;br /&gt;
&lt;br /&gt;
== Planned Features ==&lt;br /&gt;
* &#039;&#039;A vout-independent anaglyph combining filter.&#039;&#039; This will combine the images for both eyes into a single anaglyph image before being passed to the vout. This will make it possible to display stereoscopic content with non-stereoscopic-aware vouts.&lt;br /&gt;
* &#039;&#039;Quad-buffered OpenGL.&#039;&#039; This seems trivial enough to implement but I&#039;ll need a supporting video card!&lt;br /&gt;
* &#039;&#039;3D over HDMI.&#039;&#039; I will need to investigate this and experiment (nVidia 3DTV Play, AMD, non-Windows platforms).&lt;br /&gt;
* &#039;&#039;3D TV output.&#039;&#039; Non-HDMI 1.4 3D outputs - e.g. outputting side-by-side checkerboard, row interleaved, etc.&lt;br /&gt;
* &#039;&#039;Other proprietary shutter glasses&#039;&#039;. For example e-Dimensional.&lt;br /&gt;
* &#039;&#039;More input features&#039;&#039;. Column and row interleaved input sources.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;amp; Support ==&lt;br /&gt;
There are several issues I am aware of. If you need support directly from me or have any enquiries then feel free to e-mail me directly at messiahandrw-at-gmail-dot-com (also mention Stereoscopic VLC in the subject so I don&#039;t mistake it for spam).&lt;br /&gt;
&lt;br /&gt;
=== VLC Crashes when I click stop ===&lt;br /&gt;
I know about this bug and I&#039;m trying to fix it, so stay tuned!&lt;br /&gt;
&lt;br /&gt;
=== The frame rate is too slow ===&lt;br /&gt;
The stereoscopy module is alternating outputting left and right frames, because VLC starts to drop frames when I start doubling the frame rate. I&#039;m working on a way around this (and if you&#039;re a developer I&#039;d love for some input on this!)&lt;br /&gt;
&lt;br /&gt;
=== My Video is black! ===&lt;br /&gt;
Either there&#039;s a bug I don&#039;t know about, or the stereoscopy module doesn&#039;t support your particular colour encoding. Check VLC&#039;s messages to see if anything is being reported (Tools &amp;gt; Messages). Either way, e-mail me and I&#039;ll get straight on to it!&lt;br /&gt;
&lt;br /&gt;
=== 3D Vision isn&#039;t working ===&lt;br /&gt;
This could be any number of things:&lt;br /&gt;
* 3D Vision is not enabled in the nVidia control panel.&lt;br /&gt;
* You haven&#039;t renamed vlc.exe (see above).&lt;br /&gt;
* You&#039;re not using the Direct3D vout.&lt;br /&gt;
* The stereoscopy module is turned off.&lt;br /&gt;
* You don&#039;t have the latest nVidia drivers.&lt;br /&gt;
&lt;br /&gt;
I&#039;d love to solve your issue, but please check VLC&#039;s messages for any warnings and errors before contacting me.&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19593</id>
		<title>SoC 2011/Stereoscopic Video</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19593"/>
		<updated>2011-09-04T03:17:06Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoCProject|year=2011|student=[[User:MessiahAndrw|Andrew Price]]|mentor=[[User:j-b|Jean-Baptiste Kempf]]}} &lt;br /&gt;
&lt;br /&gt;
Stereoscopic, or 3D, video support was implemented into the VLC Media Player as part of my Google Summer of Code project. It is currently experimental with a couple of bugs and I&#039;m still actively working on it. At present you must build it from source, and I&#039;m looking to soon merge it into the main tree.&lt;br /&gt;
&lt;br /&gt;
== Building from Source ==&lt;br /&gt;
&lt;br /&gt;
At the present state you must acquire the source code of the stereoscopic 3D branch and build it yourself. https://github.com/MessiahAndrw/Stereoscopic-VLC&lt;br /&gt;
&lt;br /&gt;
A build (that my be out of date by the time you read this) is available here: http://streams.videolan.org/misc/stereo/vlc-1.2.0-git-stereoscopy.zip�&lt;br /&gt;
&lt;br /&gt;
There are build instructions in a file named &#039;STEREOSCOPY README&#039; but I&#039;ll also repeat the instructions here. &lt;br /&gt;
&lt;br /&gt;
=== Build Environment ===&lt;br /&gt;
&lt;br /&gt;
I use 32-bit MSYS/x86 Windows 7. To set up your build environment first follow through the instructions on [Win32CompileMSYSNew] to make sure you&#039;re able to build VLC successfully on your system. &lt;br /&gt;
&lt;br /&gt;
The following build instructions should work on any Windows system. &lt;br /&gt;
&lt;br /&gt;
=== Building ===&lt;br /&gt;
&lt;br /&gt;
Create a new empty directory somewhere, and at the MSYS terminal type: &lt;br /&gt;
&lt;br /&gt;
 git pull git://github.com/MessiahAndrw/Stereoscopic-VLC.git&lt;br /&gt;
&lt;br /&gt;
To bootstrap the build I use the following: &lt;br /&gt;
&lt;br /&gt;
 cd vlc&lt;br /&gt;
 cp -v /usr/win32/share/aclocal/* m4/&lt;br /&gt;
 cp -v /usr/share/aclocal/* m4/&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH ./bootstrap&lt;br /&gt;
&lt;br /&gt;
Then to configure: &lt;br /&gt;
&lt;br /&gt;
 sh extras/package/win32/configure-msys.sh&lt;br /&gt;
&lt;br /&gt;
Finally to build: &lt;br /&gt;
&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH make package-win32 -j6&lt;br /&gt;
&lt;br /&gt;
(The -j6 switch is optional and tells makefile to use 6 threads, it speeds up the build time on my 6-core machine.) &lt;br /&gt;
&lt;br /&gt;
&#039;make package-win32&#039; will exit with the following error but that&#039;s normal and VLC has still been built: &lt;br /&gt;
&lt;br /&gt;
 cp: cannot stat `./npapi-vlc/installed/lib/npvlc.dll&#039;: No such file or directory&lt;br /&gt;
&lt;br /&gt;
If everything else was successful you will now have built VLC with stereoscopic support! You will find this build in the directory &#039;vlc-1.2.0-git&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Note on 3D Vision support ===&lt;br /&gt;
&lt;br /&gt;
nVidia 3D Vision only activates for windowed-mode programs which are supported by the nVidia driver. At the present state VLC is not supported by the nVidia driver. However, the driver only performs a simple file-name check of the application, so as a workaround you can rename vlc.exe to the same file-name as a supported application. This can be done simply by: &lt;br /&gt;
&lt;br /&gt;
 cd vlc-1.2.0-git&lt;br /&gt;
 mv vlc.exe wow.exe&lt;br /&gt;
&lt;br /&gt;
== Splitting ==&lt;br /&gt;
&lt;br /&gt;
To play a stereoscopic 3D video you must tell the stereoscopy module how to get the image for each eye. The stereoscopic module is takes a 2D input picture, and produces 2 output pictures (one for the left eye, and one for the right eye). &lt;br /&gt;
&lt;br /&gt;
=== Command line ===&lt;br /&gt;
&lt;br /&gt;
To enable the stereoscopic module you should add the following command line parameters when you start vlc: &lt;br /&gt;
&lt;br /&gt;
 --video-filter=&amp;quot;stereoscopy&amp;quot; --stereoscopy-left=&amp;quot;&amp;amp;lt;left&amp;amp;gt;&amp;quot; --stereoscopy-right=&amp;quot;&amp;amp;lt;right&amp;amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Where &amp;amp;lt;left&amp;amp;gt; and &amp;amp;lt;right&amp;amp;gt; are valid input formats (see the table below). &lt;br /&gt;
&lt;br /&gt;
=== QT4 ===&lt;br /&gt;
&lt;br /&gt;
You can configure the stereoscopy module through the QT4 interface. To do this, open the &#039;Tools&#039; menu and click on &#039;Effects and Filters&#039;. In the &#039;Adjustments and Effects&#039; dialog that opens navigate to the &#039;Video Effects&#039; tab. Then find the sub-tab titled &#039;Stereoscopy&#039;. Check &#039;Split&#039; to enable the stereoscopy module to split the image into separate left and right frames. Select your video&#039;s input formats for the &#039;Left Eye and the &#039;Right Eye&#039;. &lt;br /&gt;
&lt;br /&gt;
[[File:StereoscopyoptionsQt4.png]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Input formats ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Source &lt;br /&gt;
| Extracted Image &lt;br /&gt;
| Format name &lt;br /&gt;
| Description&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightb.jpg]]&lt;br /&gt;
| blue&lt;br /&gt;
| The eye is encoded into the blue channel of the image and returned as a blue image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightc.jpg]]&lt;br /&gt;
| cyan&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image returned as a cyan image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
| [[File:StereoRightg.jpg]]&lt;br /&gt;
| green&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a green image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightm.jpg]]&lt;br /&gt;
| magenta&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image returned as a magenta image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoLeftr.jpg]]&lt;br /&gt;
| red&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned as a red image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRighty.jpg]]&lt;br /&gt;
| yellow&lt;br /&gt;
| The eye is encoded into the red and green channels of the image returned as a yellow image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightbg.jpg]]&lt;br /&gt;
| blue-gray&lt;br /&gt;
| The eye is encoded into the blue channel and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightcg.jpg]]&lt;br /&gt;
| cyan-gray&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
| [[File:StereoRightgg.jpg]]&lt;br /&gt;
| green-gray&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightmg.jpg]]&lt;br /&gt;
| magenta-gray&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoLeftrg.jpg]]&lt;br /&gt;
| red-gray&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRightyg.jpg]]&lt;br /&gt;
| yellow-gray&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightcf.jpg]]&lt;br /&gt;
| cyan-fill&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a full colour image. The missing red channel is filled in with the average of the blue and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightmf.jpg]]&lt;br /&gt;
| magenta-fill&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a full colour image. The missing green channel is filled in with the average of the red and blue channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRightyf.jpg]]&lt;br /&gt;
| yellow-fill&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a full colour image. The missing blue channel is filled in with the average of the red and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| left&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| right&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| top&lt;br /&gt;
| The eye is encoded into the right half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| bottom&lt;br /&gt;
| The eye is encoded into the bottom half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Developer notes ===&lt;br /&gt;
&lt;br /&gt;
picture_t contains a new field i_eye that is the eye the picture represents. Valid values at the moment are: &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| The picture is 2D.&lt;br /&gt;
|-&lt;br /&gt;
| 1 &lt;br /&gt;
| The picture is destined for the left eye.&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| The picture is destined for the right eye.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The default value for i_eye is 0, and all present video codecs output frames where i_eye is 0. It is up to the stereoscopy module to split it into left and right. But it&#039;s possible for someone to develop a video codec that output pictures where i_eye&amp;amp;gt;0, for example for a container format where the data is stored as separate left/right images. In this case the stereoscopy module does nothing, and forwards the pictures on as is. &lt;br /&gt;
&lt;br /&gt;
== nVidia 3D Vision ==&lt;br /&gt;
The focus of the Google SoC project has been on nVidia 3D Vision. To use 3D Vision you require the following:&lt;br /&gt;
&lt;br /&gt;
* A compatible nVidia GPU&lt;br /&gt;
* nVidia 3D Vision Kit (the glasses you wear)&lt;br /&gt;
* A 120Hz LCD or 100Hz CRT monitor&lt;br /&gt;
* Windows&lt;br /&gt;
&lt;br /&gt;
You also have to rename &#039;vlc.exe&#039; since VLC isn&#039;t yet supported by the nVidia drivers. I&#039;d recommend &#039;wow.exe&#039; or &#039;googleearth.exe&#039;. Also, make sure you have 3D Vision enabled in the nVidia control panel.&lt;br /&gt;
&lt;br /&gt;
3D Vision will work straight out the box with the Direct3D (XP) vout. You don&#039;t need to do anything special, it&#039;ll activate as soon as the Direct3D vout starts receiving stereoscopic frames.&lt;br /&gt;
&lt;br /&gt;
== Planned Features ==&lt;br /&gt;
* &#039;&#039;A vout-independent anaglyph combining filter.&#039;&#039; This will combine the images for both eyes into a single anaglyph image before being passed to the vout. This will make it possible to display stereoscopic content with non-stereoscopic-aware vouts.&lt;br /&gt;
* &#039;&#039;Quad-buffered OpenGL.&#039;&#039; This seems trivial enough to implement but I&#039;ll need a supporting video card!&lt;br /&gt;
* &#039;&#039;3D over HDMI.&#039;&#039; I will need to investigate this and experiment (nVidia 3DTV Play, AMD, non-Windows platforms).&lt;br /&gt;
* &#039;&#039;3D TV output.&#039;&#039; Non-HDMI 1.4 3D outputs - e.g. outputting side-by-side checkerboard, row interleaved, etc.&lt;br /&gt;
* &#039;&#039;Other proprietary shutter glasses&#039;&#039;. For example e-Dimensional.&lt;br /&gt;
* &#039;&#039;More input features&#039;&#039;. Column and row interleaved input sources.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;amp; Support ==&lt;br /&gt;
There are several issues I am aware of. If you need support directly from me or have any enquiries then feel free to e-mail me directly at messiahandrw-at-gmail-dot-com (also mention Stereoscopic VLC in the subject so I don&#039;t mistake it for spam).&lt;br /&gt;
&lt;br /&gt;
=== VLC Crashes when I click stop ===&lt;br /&gt;
I know about this bug and I&#039;m trying to fix it, so stay tuned!&lt;br /&gt;
&lt;br /&gt;
=== The frame rate is too slow ===&lt;br /&gt;
The stereoscopy module is alternating outputting left and right frames, because VLC starts to drop frames when I start doubling the frame rate. I&#039;m working on a way around this (and if you&#039;re a developer I&#039;d love for some input on this!)&lt;br /&gt;
&lt;br /&gt;
=== My Video is black! ===&lt;br /&gt;
Either there&#039;s a bug I don&#039;t know about, or the stereoscopy module doesn&#039;t support your particular colour encoding. Check VLC&#039;s messages to see if anything is being reported (Tools &amp;gt; Messages). Either way, e-mail me and I&#039;ll get straight on to it!&lt;br /&gt;
&lt;br /&gt;
=== 3D Vision isn&#039;t working ===&lt;br /&gt;
This could be any number of things:&lt;br /&gt;
* 3D Vision is not enabled in the nVidia control panel.&lt;br /&gt;
* You haven&#039;t renamed vlc.exe (see above).&lt;br /&gt;
* You&#039;re not using the Direct3D vout.&lt;br /&gt;
* The stereoscopy module is turned off.&lt;br /&gt;
* You don&#039;t have the latest nVidia drivers.&lt;br /&gt;
&lt;br /&gt;
I&#039;d love to solve your issue, but please check VLC&#039;s messages for any warnings and errors before contacting me.&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19585</id>
		<title>SoC 2011/Stereoscopic Video</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19585"/>
		<updated>2011-08-27T14:24:28Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: /* nVidia 3D Vision */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoCProject|year=2011|student=[[User:MessiahAndrw|Andrew Price]]|mentor=[[User:j-b|Jean-Baptiste Kempf]]}} &lt;br /&gt;
&lt;br /&gt;
Stereoscopic, or 3D, video support was implemented into the VLC Media Player as part of my Google Summer of Code project. It is currently experimental with a couple of bugs and I&#039;m still actively working on it. At present you must build it from source, and I&#039;m looking to soon merge it into the main tree.&lt;br /&gt;
&lt;br /&gt;
== Building from Source ==&lt;br /&gt;
&lt;br /&gt;
At the present state you must acquire the source code of the stereoscopic 3D branch and build it yourself. https://github.com/MessiahAndrw/Stereoscopic-VLC&lt;br /&gt;
&lt;br /&gt;
A build (that my be out of date by the time you read this) is available here: http://streams.videolan.org/misc/stereo/vlc-1.2.0-git-stereoscopy.zip�&lt;br /&gt;
&lt;br /&gt;
There are build instructions in a file named &#039;STEREOSCOPY README&#039; but I&#039;ll also repeat the instructions here. &lt;br /&gt;
&lt;br /&gt;
=== Build Environment ===&lt;br /&gt;
&lt;br /&gt;
I use 32-bit MSYS/x86 Windows 7. To set up your build environment first follow through the instructions on [Win32CompileMSYSNew] to make sure you&#039;re able to build VLC successfully on your system. &lt;br /&gt;
&lt;br /&gt;
The following build instructions should work on any Windows system. &lt;br /&gt;
&lt;br /&gt;
=== Building ===&lt;br /&gt;
&lt;br /&gt;
Create a new empty directory somewhere, and at the MSYS terminal type: &lt;br /&gt;
&lt;br /&gt;
 git pull git://github.com/MessiahAndrw/Stereoscopic-VLC.git&lt;br /&gt;
&lt;br /&gt;
To bootstrap the build I use the following: &lt;br /&gt;
&lt;br /&gt;
 cd vlc&lt;br /&gt;
 cp -v /usr/win32/share/aclocal/* m4/&lt;br /&gt;
 cp -v /usr/share/aclocal/* m4/&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH ./bootstrap&lt;br /&gt;
&lt;br /&gt;
Then to configure: &lt;br /&gt;
&lt;br /&gt;
 sh extras/package/win32/configure-msys.sh&lt;br /&gt;
&lt;br /&gt;
Finally to build: &lt;br /&gt;
&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH make package-win32 -j6&lt;br /&gt;
&lt;br /&gt;
(The -j6 switch is optional and tells makefile to use 6 threads, it speeds up the build time on my 6-core machine.) &lt;br /&gt;
&lt;br /&gt;
&#039;make package-win32&#039; will exit with the following error but that&#039;s normal and VLC has still been built: &lt;br /&gt;
&lt;br /&gt;
 cp: cannot stat `./npapi-vlc/installed/lib/npvlc.dll&#039;: No such file or directory&lt;br /&gt;
&lt;br /&gt;
If everything else was successful you will now have built VLC with stereoscopic support! You will find this build in the directory &#039;vlc-1.2.0-git&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Note on 3D Vision support ===&lt;br /&gt;
&lt;br /&gt;
nVidia 3D Vision only activates for windowed-mode programs which are supported by the nVidia driver. At the present state VLC is not supported by the nVidia driver. However, the driver only performs a simple file-name check of the application, so as a workaround you can rename vlc.exe to the same file-name as a supported application. This can be done simply by: &lt;br /&gt;
&lt;br /&gt;
 cd vlc-1.2.0-git&lt;br /&gt;
 mv vlc.exe wow.exe&lt;br /&gt;
&lt;br /&gt;
== Splitting ==&lt;br /&gt;
&lt;br /&gt;
To play a stereoscopic 3D video you must tell the stereoscopy module how to get the image for each eye. The stereoscopic module is takes a 2D input picture, and produces 2 output pictures (one for the left eye, and one for the right eye). &lt;br /&gt;
&lt;br /&gt;
=== Command line ===&lt;br /&gt;
&lt;br /&gt;
To enable the stereoscopic module you should add the following command line parameters when you start vlc: &lt;br /&gt;
&lt;br /&gt;
 --video-filter=&amp;quot;stereoscopy&amp;quot; --stereoscopy-left=&amp;quot;&amp;amp;lt;left&amp;amp;gt;&amp;quot; --stereoscopy-right=&amp;quot;&amp;amp;lt;right&amp;amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Where &amp;amp;lt;left&amp;amp;gt; and &amp;amp;lt;right&amp;amp;gt; are valid input formats (see the table below). &lt;br /&gt;
&lt;br /&gt;
=== QT4 ===&lt;br /&gt;
&lt;br /&gt;
You can configure the stereoscopy module through the QT4 interface. To do this, open the &#039;Tools&#039; menu and click on &#039;Effects and Filters&#039;. In the &#039;Adjustments and Effects&#039; dialog that opens navigate to the &#039;Video Effects&#039; tab. Then find the sub-tab titled &#039;Stereoscopy&#039;. Check &#039;Split&#039; to enable the stereoscopy module to split the image into separate left and right frames. Select your video&#039;s input formats for the &#039;Left Eye and the &#039;Right Eye&#039;. &lt;br /&gt;
&lt;br /&gt;
[[File:StereoscopyoptionsQt4.png]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Input formats ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Source &lt;br /&gt;
| Extracted Image &lt;br /&gt;
| Format name &lt;br /&gt;
| Description&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightb.jpg]]&lt;br /&gt;
| blue&lt;br /&gt;
| The eye is encoded into the blue channel of the image and returned as a blue image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightc.jpg]]&lt;br /&gt;
| cyan&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image returned as a cyan image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
| [[File:StereoRightg.jpg]]&lt;br /&gt;
| green&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a green image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightm.jpg]]&lt;br /&gt;
| magenta&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image returned as a magenta image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoLeftr.jpg]]&lt;br /&gt;
| red&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned as a red image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRighty.jpg]]&lt;br /&gt;
| yellow&lt;br /&gt;
| The eye is encoded into the red and green channels of the image returned as a yellow image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightbg.jpg]]&lt;br /&gt;
| blue-gray&lt;br /&gt;
| The eye is encoded into the blue channel and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightcg.jpg]]&lt;br /&gt;
| cyan-gray&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
| [[File:StereoRightgg.jpg]]&lt;br /&gt;
| green-gray&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightmg.jpg]]&lt;br /&gt;
| magenta-gray&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoLeftrg.jpg]]&lt;br /&gt;
| red-gray&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRightyg.jpg]]&lt;br /&gt;
| yellow-gray&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightcf.jpg]]&lt;br /&gt;
| cyan-fill&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a full colour image. The missing red channel is filled in with the average of the blue and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightmf.jpg]]&lt;br /&gt;
| magenta-fill&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a full colour image. The missing green channel is filled in with the average of the red and blue channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRightyf.jpg]]&lt;br /&gt;
| yellow-fill&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a full colour image. The missing blue channel is filled in with the average of the red and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| left&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| right&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| top&lt;br /&gt;
| The eye is encoded into the right half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| bottom&lt;br /&gt;
| The eye is encoded into the bottom half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Developer notes ===&lt;br /&gt;
&lt;br /&gt;
picture_t contains a new field i_eye that is the eye the picture represents. Valid values at the moment are: &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| The picture is 2D.&lt;br /&gt;
|-&lt;br /&gt;
| 1 &lt;br /&gt;
| The picture is destined for the left eye.&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| The picture is destined for the right eye.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The default value for i_eye is 0, and all present video codecs output frames where i_eye is 0. It is up to the stereoscopy module to split it into left and right. But it&#039;s possible for someone to develop a video codec that output pictures where i_eye&amp;amp;gt;0, for example for a container format where the data is stored as separate left/right images. In this case the stereoscopy module does nothing, and forwards the pictures on as is. &lt;br /&gt;
&lt;br /&gt;
== nVidia 3D Vision ==&lt;br /&gt;
The focus of the Google SoC project has been on nVidia 3D Vision. To use 3D Vision you require the following:&lt;br /&gt;
&lt;br /&gt;
* A compatible nVidia GPU&lt;br /&gt;
* nVidia 3D Vision Kit (the glasses you wear)&lt;br /&gt;
* A 120Hz LCD or 100Hz CRT monitor&lt;br /&gt;
* Windows&lt;br /&gt;
&lt;br /&gt;
You also have to rename &#039;vlc.exe&#039; since VLC isn&#039;t yet supported by the nVidia drivers. I&#039;d recommend &#039;wow.exe&#039; or &#039;googleearth.exe&#039;. Also, make sure you have 3D Vision enabled in the nVidia control panel.&lt;br /&gt;
&lt;br /&gt;
3D Vision will work straight out the box with the Direct3D (XP) vout. You don&#039;t need to do anything special, it&#039;ll activate as soon as the Direct3D vout starts receiving stereoscopic frames.&lt;br /&gt;
&lt;br /&gt;
== Planned Features ==&lt;br /&gt;
* &#039;&#039;A vout-independent anaglyph combining filter.&#039;&#039; This will combine the images for both eyes into a single anaglyph image before being passed to the vout. This will make it possible to display stereoscopic content with non-stereoscopic-aware vouts.&lt;br /&gt;
* &#039;&#039;Quad-buffered OpenGL.&#039;&#039; This seems trivial enough to implement but I&#039;ll need a supporting video card!&lt;br /&gt;
* &#039;&#039;3D over HDMI.&#039;&#039; I will need to investigate this and experiment (nVidia 3DTV Play, AMD, non-Windows platforms).&lt;br /&gt;
* &#039;&#039;Other proprietary shutter glasses&#039;. For example e-Dimensional.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;amp; Support ==&lt;br /&gt;
There are several issues I am aware of. If you need support directly from me or have any enquiries then feel free to e-mail me directly at messiahandrw-at-gmail-dot-com (also mention Stereoscopic VLC in the subject so I don&#039;t mistake it for spam).&lt;br /&gt;
&lt;br /&gt;
=== VLC Crashes when I click stop ===&lt;br /&gt;
I know about this bug and I&#039;m trying to fix it, so stay tuned!&lt;br /&gt;
&lt;br /&gt;
=== The frame rate is too slow ===&lt;br /&gt;
The stereoscopy module is alternating outputting left and right frames, because VLC starts to drop frames when I start doubling the frame rate. I&#039;m working on a way around this (and if you&#039;re a developer I&#039;d love for some input on this!)&lt;br /&gt;
&lt;br /&gt;
=== My Video is black! ===&lt;br /&gt;
Either there&#039;s a bug I don&#039;t know about, or the stereoscopy module doesn&#039;t support your particular colour encoding. Check VLC&#039;s messages to see if anything is being reported (Tools &amp;gt; Messages). Either way, e-mail me and I&#039;ll get straight on to it!&lt;br /&gt;
&lt;br /&gt;
=== 3D Vision isn&#039;t working ===&lt;br /&gt;
This could be any number of things:&lt;br /&gt;
* 3D Vision is not enabled in the nVidia control panel.&lt;br /&gt;
* You haven&#039;t renamed vlc.exe (see above).&lt;br /&gt;
* You&#039;re not using the Direct3D vout.&lt;br /&gt;
* The stereoscopy module is turned off.&lt;br /&gt;
* You don&#039;t have the latest nVidia drivers.&lt;br /&gt;
&lt;br /&gt;
I&#039;d love to solve your issue, but please check VLC&#039;s messages for any warnings and errors before contacting me.&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19584</id>
		<title>SoC 2011/Stereoscopic Video</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19584"/>
		<updated>2011-08-26T15:18:58Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoCProject|year=2011|student=[[User:MessiahAndrw|Andrew Price]]|mentor=[[User:j-b|Jean-Baptiste Kempf]]}} &lt;br /&gt;
&lt;br /&gt;
Stereoscopic, or 3D, video support was implemented into the VLC Media Player as part of my Google Summer of Code project. It is currently experimental with a couple of bugs and I&#039;m still actively working on it. At present you must build it from source, and I&#039;m looking to soon merge it into the main tree.&lt;br /&gt;
&lt;br /&gt;
== Building from Source ==&lt;br /&gt;
&lt;br /&gt;
At the present state you must acquire the source code of the stereoscopic 3D branch and build it yourself. https://github.com/MessiahAndrw/Stereoscopic-VLC&lt;br /&gt;
&lt;br /&gt;
A build (that my be out of date by the time you read this) is available here: http://streams.videolan.org/misc/stereo/vlc-1.2.0-git-stereoscopy.zip�&lt;br /&gt;
&lt;br /&gt;
There are build instructions in a file named &#039;STEREOSCOPY README&#039; but I&#039;ll also repeat the instructions here. &lt;br /&gt;
&lt;br /&gt;
=== Build Environment ===&lt;br /&gt;
&lt;br /&gt;
I use 32-bit MSYS/x86 Windows 7. To set up your build environment first follow through the instructions on [Win32CompileMSYSNew] to make sure you&#039;re able to build VLC successfully on your system. &lt;br /&gt;
&lt;br /&gt;
The following build instructions should work on any Windows system. &lt;br /&gt;
&lt;br /&gt;
=== Building ===&lt;br /&gt;
&lt;br /&gt;
Create a new empty directory somewhere, and at the MSYS terminal type: &lt;br /&gt;
&lt;br /&gt;
 git pull git://github.com/MessiahAndrw/Stereoscopic-VLC.git&lt;br /&gt;
&lt;br /&gt;
To bootstrap the build I use the following: &lt;br /&gt;
&lt;br /&gt;
 cd vlc&lt;br /&gt;
 cp -v /usr/win32/share/aclocal/* m4/&lt;br /&gt;
 cp -v /usr/share/aclocal/* m4/&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH ./bootstrap&lt;br /&gt;
&lt;br /&gt;
Then to configure: &lt;br /&gt;
&lt;br /&gt;
 sh extras/package/win32/configure-msys.sh&lt;br /&gt;
&lt;br /&gt;
Finally to build: &lt;br /&gt;
&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH make package-win32 -j6&lt;br /&gt;
&lt;br /&gt;
(The -j6 switch is optional and tells makefile to use 6 threads, it speeds up the build time on my 6-core machine.) &lt;br /&gt;
&lt;br /&gt;
&#039;make package-win32&#039; will exit with the following error but that&#039;s normal and VLC has still been built: &lt;br /&gt;
&lt;br /&gt;
 cp: cannot stat `./npapi-vlc/installed/lib/npvlc.dll&#039;: No such file or directory&lt;br /&gt;
&lt;br /&gt;
If everything else was successful you will now have built VLC with stereoscopic support! You will find this build in the directory &#039;vlc-1.2.0-git&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Note on 3D Vision support ===&lt;br /&gt;
&lt;br /&gt;
nVidia 3D Vision only activates for windowed-mode programs which are supported by the nVidia driver. At the present state VLC is not supported by the nVidia driver. However, the driver only performs a simple file-name check of the application, so as a workaround you can rename vlc.exe to the same file-name as a supported application. This can be done simply by: &lt;br /&gt;
&lt;br /&gt;
 cd vlc-1.2.0-git&lt;br /&gt;
 mv vlc.exe wow.exe&lt;br /&gt;
&lt;br /&gt;
== Splitting ==&lt;br /&gt;
&lt;br /&gt;
To play a stereoscopic 3D video you must tell the stereoscopy module how to get the image for each eye. The stereoscopic module is takes a 2D input picture, and produces 2 output pictures (one for the left eye, and one for the right eye). &lt;br /&gt;
&lt;br /&gt;
=== Command line ===&lt;br /&gt;
&lt;br /&gt;
To enable the stereoscopic module you should add the following command line parameters when you start vlc: &lt;br /&gt;
&lt;br /&gt;
 --video-filter=&amp;quot;stereoscopy&amp;quot; --stereoscopy-left=&amp;quot;&amp;amp;lt;left&amp;amp;gt;&amp;quot; --stereoscopy-right=&amp;quot;&amp;amp;lt;right&amp;amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Where &amp;amp;lt;left&amp;amp;gt; and &amp;amp;lt;right&amp;amp;gt; are valid input formats (see the table below). &lt;br /&gt;
&lt;br /&gt;
=== QT4 ===&lt;br /&gt;
&lt;br /&gt;
You can configure the stereoscopy module through the QT4 interface. To do this, open the &#039;Tools&#039; menu and click on &#039;Effects and Filters&#039;. In the &#039;Adjustments and Effects&#039; dialog that opens navigate to the &#039;Video Effects&#039; tab. Then find the sub-tab titled &#039;Stereoscopy&#039;. Check &#039;Split&#039; to enable the stereoscopy module to split the image into separate left and right frames. Select your video&#039;s input formats for the &#039;Left Eye and the &#039;Right Eye&#039;. &lt;br /&gt;
&lt;br /&gt;
[[File:StereoscopyoptionsQt4.png]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Input formats ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Source &lt;br /&gt;
| Extracted Image &lt;br /&gt;
| Format name &lt;br /&gt;
| Description&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightb.jpg]]&lt;br /&gt;
| blue&lt;br /&gt;
| The eye is encoded into the blue channel of the image and returned as a blue image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightc.jpg]]&lt;br /&gt;
| cyan&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image returned as a cyan image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
| [[File:StereoRightg.jpg]]&lt;br /&gt;
| green&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a green image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightm.jpg]]&lt;br /&gt;
| magenta&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image returned as a magenta image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoLeftr.jpg]]&lt;br /&gt;
| red&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned as a red image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRighty.jpg]]&lt;br /&gt;
| yellow&lt;br /&gt;
| The eye is encoded into the red and green channels of the image returned as a yellow image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightbg.jpg]]&lt;br /&gt;
| blue-gray&lt;br /&gt;
| The eye is encoded into the blue channel and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightcg.jpg]]&lt;br /&gt;
| cyan-gray&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
| [[File:StereoRightgg.jpg]]&lt;br /&gt;
| green-gray&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightmg.jpg]]&lt;br /&gt;
| magenta-gray&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoLeftrg.jpg]]&lt;br /&gt;
| red-gray&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRightyg.jpg]]&lt;br /&gt;
| yellow-gray&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightcf.jpg]]&lt;br /&gt;
| cyan-fill&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a full colour image. The missing red channel is filled in with the average of the blue and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightmf.jpg]]&lt;br /&gt;
| magenta-fill&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a full colour image. The missing green channel is filled in with the average of the red and blue channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRightyf.jpg]]&lt;br /&gt;
| yellow-fill&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a full colour image. The missing blue channel is filled in with the average of the red and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| left&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| right&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| top&lt;br /&gt;
| The eye is encoded into the right half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| bottom&lt;br /&gt;
| The eye is encoded into the bottom half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Developer notes ===&lt;br /&gt;
&lt;br /&gt;
picture_t contains a new field i_eye that is the eye the picture represents. Valid values at the moment are: &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| The picture is 2D.&lt;br /&gt;
|-&lt;br /&gt;
| 1 &lt;br /&gt;
| The picture is destined for the left eye.&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| The picture is destined for the right eye.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The default value for i_eye is 0, and all present video codecs output frames where i_eye is 0. It is up to the stereoscopy module to split it into left and right. But it&#039;s possible for someone to develop a video codec that output pictures where i_eye&amp;amp;gt;0, for example for a container format where the data is stored as separate left/right images. In this case the stereoscopy module does nothing, and forwards the pictures on as is. &lt;br /&gt;
&lt;br /&gt;
== nVidia 3D Vision ==&lt;br /&gt;
The focus of the Google SoC project has been on nVidia 3D Vision. To use 3D Vision you require the following:&lt;br /&gt;
&lt;br /&gt;
* A compatible nVidia GPU&lt;br /&gt;
* nVidia 3D Vision Kit (the glasses you wear)&lt;br /&gt;
* A 120Hz LCD or 100Hz CRT monitor&lt;br /&gt;
* Windows&lt;br /&gt;
&lt;br /&gt;
You also have to rename &#039;vlc.exe&#039; since VLC isn&#039;t yet supported by the nVidia drivers. I&#039;d recommend &#039;wow.exe&#039; or &#039;googleearth.exe&#039;. Also, make sure you have 3D Vision enabled in the nVidia control panel.&lt;br /&gt;
&lt;br /&gt;
3D Vision will work straight out the box with the Direct3D vout. You don&#039;t need to do anything special, it&#039;ll activate as soon as the Direct3D vout starts receiving stereoscopic frames.&lt;br /&gt;
&lt;br /&gt;
== Planned Features ==&lt;br /&gt;
* &#039;&#039;A vout-independent anaglyph combining filter.&#039;&#039; This will combine the images for both eyes into a single anaglyph image before being passed to the vout. This will make it possible to display stereoscopic content with non-stereoscopic-aware vouts.&lt;br /&gt;
* &#039;&#039;Quad-buffered OpenGL.&#039;&#039; This seems trivial enough to implement but I&#039;ll need a supporting video card!&lt;br /&gt;
* &#039;&#039;3D over HDMI.&#039;&#039; I will need to investigate this and experiment (nVidia 3DTV Play, AMD, non-Windows platforms).&lt;br /&gt;
* &#039;&#039;Other proprietary shutter glasses&#039;. For example e-Dimensional.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;amp; Support ==&lt;br /&gt;
There are several issues I am aware of. If you need support directly from me or have any enquiries then feel free to e-mail me directly at messiahandrw-at-gmail-dot-com (also mention Stereoscopic VLC in the subject so I don&#039;t mistake it for spam).&lt;br /&gt;
&lt;br /&gt;
=== VLC Crashes when I click stop ===&lt;br /&gt;
I know about this bug and I&#039;m trying to fix it, so stay tuned!&lt;br /&gt;
&lt;br /&gt;
=== The frame rate is too slow ===&lt;br /&gt;
The stereoscopy module is alternating outputting left and right frames, because VLC starts to drop frames when I start doubling the frame rate. I&#039;m working on a way around this (and if you&#039;re a developer I&#039;d love for some input on this!)&lt;br /&gt;
&lt;br /&gt;
=== My Video is black! ===&lt;br /&gt;
Either there&#039;s a bug I don&#039;t know about, or the stereoscopy module doesn&#039;t support your particular colour encoding. Check VLC&#039;s messages to see if anything is being reported (Tools &amp;gt; Messages). Either way, e-mail me and I&#039;ll get straight on to it!&lt;br /&gt;
&lt;br /&gt;
=== 3D Vision isn&#039;t working ===&lt;br /&gt;
This could be any number of things:&lt;br /&gt;
* 3D Vision is not enabled in the nVidia control panel.&lt;br /&gt;
* You haven&#039;t renamed vlc.exe (see above).&lt;br /&gt;
* You&#039;re not using the Direct3D vout.&lt;br /&gt;
* The stereoscopy module is turned off.&lt;br /&gt;
* You don&#039;t have the latest nVidia drivers.&lt;br /&gt;
&lt;br /&gt;
I&#039;d love to solve your issue, but please check VLC&#039;s messages for any warnings and errors before contacting me.&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19583</id>
		<title>SoC 2011/Stereoscopic Video</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19583"/>
		<updated>2011-08-26T14:38:57Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: Introduction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoCProject|year=2011|student=[[User:MessiahAndrw|Andrew Price]]|mentor=[[User:j-b|Jean-Baptiste Kempf]]}} &lt;br /&gt;
&lt;br /&gt;
Stereoscopic, or 3D, video support was implemented into the VLC Media Player as part of my Google Summer of Code project. It is currently experimental with a couple of bugs and I&#039;m still actively working on it. At present you must build it from source, and I&#039;m looking to soon merge it into the main tree.&lt;br /&gt;
&lt;br /&gt;
== Building from Source ==&lt;br /&gt;
&lt;br /&gt;
At the present state you must acquire the source code of the stereoscopic 3D branch and build it yourself. [https://github.com/MessiahAndrw/Stereoscopic-VLC] &lt;br /&gt;
&lt;br /&gt;
There are build instructions in a file named &#039;STEREOSCOPY README&#039; but I&#039;ll also repeat the instructions here. &lt;br /&gt;
&lt;br /&gt;
=== Build Environment ===&lt;br /&gt;
&lt;br /&gt;
I use 32-bit MSYS/x86 Windows 7. To set up your build environment first follow through the instructions on [Win32CompileMSYSNew] to make sure you&#039;re able to build VLC successfully on your system. &lt;br /&gt;
&lt;br /&gt;
The following build instructions should work on any Windows system. &lt;br /&gt;
&lt;br /&gt;
=== Building ===&lt;br /&gt;
&lt;br /&gt;
Create a new empty directory somewhere, and at the MSYS terminal type: &lt;br /&gt;
&lt;br /&gt;
 git pull git://github.com/MessiahAndrw/Stereoscopic-VLC.git&lt;br /&gt;
&lt;br /&gt;
To bootstrap the build I use the following: &lt;br /&gt;
&lt;br /&gt;
 cd vlc&lt;br /&gt;
 cp -v /usr/win32/share/aclocal/* m4/&lt;br /&gt;
 cp -v /usr/share/aclocal/* m4/&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH ./bootstrap&lt;br /&gt;
&lt;br /&gt;
Then to configure: &lt;br /&gt;
&lt;br /&gt;
 sh extras/package/win32/configure-msys.sh&lt;br /&gt;
&lt;br /&gt;
Finally to build: &lt;br /&gt;
&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH make package-win32 -j6&lt;br /&gt;
&lt;br /&gt;
(The -j6 switch is optional and tells makefile to use 6 threads, it speeds up the build time on my 6-core machine.) &lt;br /&gt;
&lt;br /&gt;
&#039;make package-win32&#039; will exit with the following error but that&#039;s normal and VLC has still been built: &lt;br /&gt;
&lt;br /&gt;
 cp: cannot stat `./npapi-vlc/installed/lib/npvlc.dll&#039;: No such file or directory&lt;br /&gt;
&lt;br /&gt;
If everything else was successful you will now have built VLC with stereoscopic support! You will find this build in the directory &#039;vlc-1.2.0-git&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Note on 3D Vision support ===&lt;br /&gt;
&lt;br /&gt;
nVidia 3D Vision only activates for windowed-mode programs which are supported by the nVidia driver. At the present state VLC is not supported by the nVidia driver. However, the driver only performs a simple file-name check of the application, so as a workaround you can rename vlc.exe to the same file-name as a supported application. This can be done simply by: &lt;br /&gt;
&lt;br /&gt;
 cd vlc-1.2.0-git&lt;br /&gt;
 mv vlc.exe wow.exe&lt;br /&gt;
&lt;br /&gt;
== Splitting ==&lt;br /&gt;
&lt;br /&gt;
To play a stereoscopic 3D video you must tell the stereoscopy module how to get the image for each eye. The stereoscopic module is takes a 2D input picture, and produces 2 output pictures (one for the left eye, and one for the right eye). &lt;br /&gt;
&lt;br /&gt;
=== Command line ===&lt;br /&gt;
&lt;br /&gt;
To enable the stereoscopic module you should add the following command line parameters when you start vlc: &lt;br /&gt;
&lt;br /&gt;
 --video-filter=&amp;quot;stereoscopy&amp;quot; --stereoscopy-left=&amp;quot;&amp;amp;lt;left&amp;amp;gt;&amp;quot; --stereoscopy-right=&amp;quot;&amp;amp;lt;right&amp;amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Where &amp;amp;lt;left&amp;amp;gt; and &amp;amp;lt;right&amp;amp;gt; are valid input formats (see the table below). &lt;br /&gt;
&lt;br /&gt;
=== QT4 ===&lt;br /&gt;
&lt;br /&gt;
You can configure the stereoscopy module through the QT4 interface. To do this, open the &#039;Tools&#039; menu and click on &#039;Effects and Filters&#039;. In the &#039;Adjustments and Effects&#039; dialog that opens navigate to the &#039;Video Effects&#039; tab. Then find the sub-tab titled &#039;Stereoscopy&#039;. Check &#039;Split&#039; to enable the stereoscopy module to split the image into separate left and right frames. Select your video&#039;s input formats for the &#039;Left Eye and the &#039;Right Eye&#039;. &lt;br /&gt;
&lt;br /&gt;
[[File:StereoscopyoptionsQt4.png]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Input formats ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Source &lt;br /&gt;
| Extracted Image &lt;br /&gt;
| Format name &lt;br /&gt;
| Description&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightb.jpg]]&lt;br /&gt;
| blue&lt;br /&gt;
| The eye is encoded into the blue channel of the image and returned as a blue image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightc.jpg]]&lt;br /&gt;
| cyan&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image returned as a cyan image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
| [[File:StereoRightg.jpg]]&lt;br /&gt;
| green&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a green image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightm.jpg]]&lt;br /&gt;
| magenta&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image returned as a magenta image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoLeftr.jpg]]&lt;br /&gt;
| red&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned as a red image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRighty.jpg]]&lt;br /&gt;
| yellow&lt;br /&gt;
| The eye is encoded into the red and green channels of the image returned as a yellow image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightbg.jpg]]&lt;br /&gt;
| blue-gray&lt;br /&gt;
| The eye is encoded into the blue channel and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightcg.jpg]]&lt;br /&gt;
| cyan-gray&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
| [[File:StereoRightgg.jpg]]&lt;br /&gt;
| green-gray&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightmg.jpg]]&lt;br /&gt;
| magenta-gray&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoLeftrg.jpg]]&lt;br /&gt;
| red-gray&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRightyg.jpg]]&lt;br /&gt;
| yellow-gray&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightcf.jpg]]&lt;br /&gt;
| cyan-fill&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a full colour image. The missing red channel is filled in with the average of the blue and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightmf.jpg]]&lt;br /&gt;
| magenta-fill&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a full colour image. The missing green channel is filled in with the average of the red and blue channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRightyf.jpg]]&lt;br /&gt;
| yellow-fill&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a full colour image. The missing blue channel is filled in with the average of the red and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| left&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| right&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| top&lt;br /&gt;
| The eye is encoded into the right half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| bottom&lt;br /&gt;
| The eye is encoded into the bottom half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Developer notes ===&lt;br /&gt;
&lt;br /&gt;
picture_t contains a new field i_eye that is the eye the picture represents. Valid values at the moment are: &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| The picture is 2D.&lt;br /&gt;
|-&lt;br /&gt;
| 1 &lt;br /&gt;
| The picture is destined for the left eye.&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| The picture is destined for the right eye.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The default value for i_eye is 0, and all present video codecs output frames where i_eye is 0. It is up to the stereoscopy module to split it into left and right. But it&#039;s possible for someone to develop a video codec that output pictures where i_eye&amp;amp;gt;0, for example for a container format where the data is stored as separate left/right images. In this case the stereoscopy module does nothing, and forwards the pictures on as is. &lt;br /&gt;
&lt;br /&gt;
== nVidia 3D Vision ==&lt;br /&gt;
The focus of the Google SoC project has been on nVidia 3D Vision. To use 3D Vision you require the following:&lt;br /&gt;
&lt;br /&gt;
* A compatible nVidia GPU&lt;br /&gt;
* nVidia 3D Vision Kit (the glasses you wear)&lt;br /&gt;
* A 120Hz LCD or 100Hz CRT monitor&lt;br /&gt;
* Windows&lt;br /&gt;
&lt;br /&gt;
You also have to rename &#039;vlc.exe&#039; since VLC isn&#039;t yet supported by the nVidia drivers. I&#039;d recommend &#039;wow.exe&#039; or &#039;googleearth.exe&#039;. Also, make sure you have 3D Vision enabled in the nVidia control panel.&lt;br /&gt;
&lt;br /&gt;
3D Vision will work straight out the box with the Direct3D vout. You don&#039;t need to do anything special, it&#039;ll activate as soon as the Direct3D vout starts receiving stereoscopic frames.&lt;br /&gt;
&lt;br /&gt;
== Planned Features ==&lt;br /&gt;
* &#039;&#039;A vout-independent anaglyph combining filter.&#039;&#039; This will combine the images for both eyes into a single anaglyph image before being passed to the vout. This will make it possible to display stereoscopic content with non-stereoscopic-aware vouts.&lt;br /&gt;
* &#039;&#039;Quad-buffered OpenGL.&#039;&#039; This seems trivial enough to implement but I&#039;ll need a supporting video card!&lt;br /&gt;
* &#039;&#039;3D over HDMI.&#039;&#039; I will need to investigate this and experiment (nVidia 3DTV Play, AMD, non-Windows platforms).&lt;br /&gt;
* &#039;&#039;Other proprietary shutter glasses&#039;. For example e-Dimensional.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;amp; Support ==&lt;br /&gt;
There are several issues I am aware of. If you need support directly from me or have any enquiries then feel free to e-mail me directly at messiahandrw-at-gmail-dot-com (also mention Stereoscopic VLC in the subject so I don&#039;t mistake it for spam).&lt;br /&gt;
&lt;br /&gt;
=== VLC Crashes when I click stop ===&lt;br /&gt;
I know about this bug and I&#039;m trying to fix it, so stay tuned!&lt;br /&gt;
&lt;br /&gt;
=== The frame rate is too slow ===&lt;br /&gt;
The stereoscopy module is alternating outputting left and right frames, because VLC starts to drop frames when I start doubling the frame rate. I&#039;m working on a way around this (and if you&#039;re a developer I&#039;d love for some input on this!)&lt;br /&gt;
&lt;br /&gt;
=== My Video is black! ===&lt;br /&gt;
Either there&#039;s a bug I don&#039;t know about, or the stereoscopy module doesn&#039;t support your particular colour encoding. Check VLC&#039;s messages to see if anything is being reported (Tools &amp;gt; Messages). Either way, e-mail me and I&#039;ll get straight on to it!&lt;br /&gt;
&lt;br /&gt;
=== 3D Vision isn&#039;t working ===&lt;br /&gt;
This could be any number of things:&lt;br /&gt;
* 3D Vision is not enabled in the nVidia control panel.&lt;br /&gt;
* You haven&#039;t renamed vlc.exe (see above).&lt;br /&gt;
* You&#039;re not using the Direct3D vout.&lt;br /&gt;
* The stereoscopy module is turned off.&lt;br /&gt;
* You don&#039;t have the latest nVidia drivers.&lt;br /&gt;
&lt;br /&gt;
I&#039;d love to solve your issue, but please check VLC&#039;s messages for any warnings and errors before contacting me.&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19582</id>
		<title>SoC 2011/Stereoscopic Video</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19582"/>
		<updated>2011-08-26T14:30:53Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: planned features, 3d vision&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoCProject|year=2011|student=[[User:MessiahAndrw|Andrew Price]]|mentor=[[User:j-b|Jean-Baptiste Kempf]]}} &lt;br /&gt;
&lt;br /&gt;
== Building from Source ==&lt;br /&gt;
&lt;br /&gt;
At the present state you must acquire the source code of the stereoscopic 3D branch and build it yourself. [https://github.com/MessiahAndrw/Stereoscopic-VLC] &lt;br /&gt;
&lt;br /&gt;
There are build instructions in a file named &#039;STEREOSCOPY README&#039; but I&#039;ll also repeat the instructions here. &lt;br /&gt;
&lt;br /&gt;
=== Build Environment ===&lt;br /&gt;
&lt;br /&gt;
I use 32-bit MSYS/x86 Windows 7. To set up your build environment first follow through the instructions on [Win32CompileMSYSNew] to make sure you&#039;re able to build VLC successfully on your system. &lt;br /&gt;
&lt;br /&gt;
The following build instructions should work on any Windows system. &lt;br /&gt;
&lt;br /&gt;
=== Building ===&lt;br /&gt;
&lt;br /&gt;
Create a new empty directory somewhere, and at the MSYS terminal type: &lt;br /&gt;
&lt;br /&gt;
 git pull git://github.com/MessiahAndrw/Stereoscopic-VLC.git&lt;br /&gt;
&lt;br /&gt;
To bootstrap the build I use the following: &lt;br /&gt;
&lt;br /&gt;
 cd vlc&lt;br /&gt;
 cp -v /usr/win32/share/aclocal/* m4/&lt;br /&gt;
 cp -v /usr/share/aclocal/* m4/&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH ./bootstrap&lt;br /&gt;
&lt;br /&gt;
Then to configure: &lt;br /&gt;
&lt;br /&gt;
 sh extras/package/win32/configure-msys.sh&lt;br /&gt;
&lt;br /&gt;
Finally to build: &lt;br /&gt;
&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH make package-win32 -j6&lt;br /&gt;
&lt;br /&gt;
(The -j6 switch is optional and tells makefile to use 6 threads, it speeds up the build time on my 6-core machine.) &lt;br /&gt;
&lt;br /&gt;
&#039;make package-win32&#039; will exit with the following error but that&#039;s normal and VLC has still been built: &lt;br /&gt;
&lt;br /&gt;
 cp: cannot stat `./npapi-vlc/installed/lib/npvlc.dll&#039;: No such file or directory&lt;br /&gt;
&lt;br /&gt;
If everything else was successful you will now have built VLC with stereoscopic support! You will find this build in the directory &#039;vlc-1.2.0-git&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Note on 3D Vision support ===&lt;br /&gt;
&lt;br /&gt;
nVidia 3D Vision only activates for windowed-mode programs which are supported by the nVidia driver. At the present state VLC is not supported by the nVidia driver. However, the driver only performs a simple file-name check of the application, so as a workaround you can rename vlc.exe to the same file-name as a supported application. This can be done simply by: &lt;br /&gt;
&lt;br /&gt;
 cd vlc-1.2.0-git&lt;br /&gt;
 mv vlc.exe wow.exe&lt;br /&gt;
&lt;br /&gt;
== Splitting ==&lt;br /&gt;
&lt;br /&gt;
To play a stereoscopic 3D video you must tell the stereoscopy module how to get the image for each eye. The stereoscopic module is takes a 2D input picture, and produces 2 output pictures (one for the left eye, and one for the right eye). &lt;br /&gt;
&lt;br /&gt;
=== Command line ===&lt;br /&gt;
&lt;br /&gt;
To enable the stereoscopic module you should add the following command line parameters when you start vlc: &lt;br /&gt;
&lt;br /&gt;
 --video-filter=&amp;quot;stereoscopy&amp;quot; --stereoscopy-left=&amp;quot;&amp;amp;lt;left&amp;amp;gt;&amp;quot; --stereoscopy-right=&amp;quot;&amp;amp;lt;right&amp;amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Where &amp;amp;lt;left&amp;amp;gt; and &amp;amp;lt;right&amp;amp;gt; are valid input formats (see the table below). &lt;br /&gt;
&lt;br /&gt;
=== QT4 ===&lt;br /&gt;
&lt;br /&gt;
You can configure the stereoscopy module through the QT4 interface. To do this, open the &#039;Tools&#039; menu and click on &#039;Effects and Filters&#039;. In the &#039;Adjustments and Effects&#039; dialog that opens navigate to the &#039;Video Effects&#039; tab. Then find the sub-tab titled &#039;Stereoscopy&#039;. Check &#039;Split&#039; to enable the stereoscopy module to split the image into separate left and right frames. Select your video&#039;s input formats for the &#039;Left Eye and the &#039;Right Eye&#039;. &lt;br /&gt;
&lt;br /&gt;
[[File:StereoscopyoptionsQt4.png]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Input formats ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Source &lt;br /&gt;
| Extracted Image &lt;br /&gt;
| Format name &lt;br /&gt;
| Description&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightb.jpg]]&lt;br /&gt;
| blue&lt;br /&gt;
| The eye is encoded into the blue channel of the image and returned as a blue image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightc.jpg]]&lt;br /&gt;
| cyan&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image returned as a cyan image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
| [[File:StereoRightg.jpg]]&lt;br /&gt;
| green&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a green image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightm.jpg]]&lt;br /&gt;
| magenta&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image returned as a magenta image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoLeftr.jpg]]&lt;br /&gt;
| red&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned as a red image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRighty.jpg]]&lt;br /&gt;
| yellow&lt;br /&gt;
| The eye is encoded into the red and green channels of the image returned as a yellow image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightbg.jpg]]&lt;br /&gt;
| blue-gray&lt;br /&gt;
| The eye is encoded into the blue channel and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightcg.jpg]]&lt;br /&gt;
| cyan-gray&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
| [[File:StereoRightgg.jpg]]&lt;br /&gt;
| green-gray&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightmg.jpg]]&lt;br /&gt;
| magenta-gray&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoLeftrg.jpg]]&lt;br /&gt;
| red-gray&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRightyg.jpg]]&lt;br /&gt;
| yellow-gray&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightcf.jpg]]&lt;br /&gt;
| cyan-fill&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a full colour image. The missing red channel is filled in with the average of the blue and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightmf.jpg]]&lt;br /&gt;
| magenta-fill&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a full colour image. The missing green channel is filled in with the average of the red and blue channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRightyf.jpg]]&lt;br /&gt;
| yellow-fill&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a full colour image. The missing blue channel is filled in with the average of the red and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| left&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| right&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| top&lt;br /&gt;
| The eye is encoded into the right half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| bottom&lt;br /&gt;
| The eye is encoded into the bottom half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Developer notes ===&lt;br /&gt;
&lt;br /&gt;
picture_t contains a new field i_eye that is the eye the picture represents. Valid values at the moment are: &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| The picture is 2D.&lt;br /&gt;
|-&lt;br /&gt;
| 1 &lt;br /&gt;
| The picture is destined for the left eye.&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| The picture is destined for the right eye.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The default value for i_eye is 0, and all present video codecs output frames where i_eye is 0. It is up to the stereoscopy module to split it into left and right. But it&#039;s possible for someone to develop a video codec that output pictures where i_eye&amp;amp;gt;0, for example for a container format where the data is stored as separate left/right images. In this case the stereoscopy module does nothing, and forwards the pictures on as is. &lt;br /&gt;
&lt;br /&gt;
== nVidia 3D Vision ==&lt;br /&gt;
The focus of the Google SoC project has been on nVidia 3D Vision. To use 3D Vision you require the following:&lt;br /&gt;
&lt;br /&gt;
* A compatible nVidia GPU&lt;br /&gt;
* nVidia 3D Vision Kit (the glasses you wear)&lt;br /&gt;
* A 120Hz LCD or 100Hz CRT monitor&lt;br /&gt;
* Windows&lt;br /&gt;
&lt;br /&gt;
You also have to rename &#039;vlc.exe&#039; since VLC isn&#039;t yet supported by the nVidia drivers. I&#039;d recommend &#039;wow.exe&#039; or &#039;googleearth.exe&#039;. Also, make sure you have 3D Vision enabled in the nVidia control panel.&lt;br /&gt;
&lt;br /&gt;
3D Vision will work straight out the box with the Direct3D vout. You don&#039;t need to do anything special, it&#039;ll activate as soon as the Direct3D vout starts receiving stereoscopic frames.&lt;br /&gt;
&lt;br /&gt;
== Planned Features ==&lt;br /&gt;
* &#039;&#039;A vout-independent anaglyph combining filter.&#039;&#039; This will combine the images for both eyes into a single anaglyph image before being passed to the vout. This will make it possible to display stereoscopic content with non-stereoscopic-aware vouts.&lt;br /&gt;
* &#039;&#039;Quad-buffered OpenGL.&#039;&#039; This seems trivial enough to implement but I&#039;ll need a supporting video card!&lt;br /&gt;
* &#039;&#039;3D over HDMI.&#039;&#039; I will need to investigate this and experiment (nVidia 3DTV Play, AMD, non-Windows platforms).&lt;br /&gt;
* &#039;&#039;Other proprietary shutter glasses&#039;. For example e-Dimensional.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;amp; Support ==&lt;br /&gt;
There are several issues I am aware of. If you need support directly from me or have any enquiries then feel free to e-mail me directly at messiahandrw-at-gmail-dot-com (also mention Stereoscopic VLC in the subject so I don&#039;t mistake it for spam).&lt;br /&gt;
&lt;br /&gt;
=== VLC Crashes when I click stop ===&lt;br /&gt;
I know about this bug and I&#039;m trying to fix it, so stay tuned!&lt;br /&gt;
&lt;br /&gt;
=== The frame rate is too slow ===&lt;br /&gt;
The stereoscopy module is alternating outputting left and right frames, because VLC starts to drop frames when I start doubling the frame rate. I&#039;m working on a way around this (and if you&#039;re a developer I&#039;d love for some input on this!)&lt;br /&gt;
&lt;br /&gt;
=== My Video is black! ===&lt;br /&gt;
Either there&#039;s a bug I don&#039;t know about, or the stereoscopy module doesn&#039;t support your particular colour encoding. Check VLC&#039;s messages to see if anything is being reported (Tools &amp;gt; Messages). Either way, e-mail me and I&#039;ll get straight on to it!&lt;br /&gt;
&lt;br /&gt;
=== 3D Vision isn&#039;t working ===&lt;br /&gt;
This could be any number of things:&lt;br /&gt;
* 3D Vision is not enabled in the nVidia control panel.&lt;br /&gt;
* You haven&#039;t renamed vlc.exe (see above).&lt;br /&gt;
* You&#039;re not using the Direct3D vout.&lt;br /&gt;
* The stereoscopy module is turned off.&lt;br /&gt;
* You don&#039;t have the latest nVidia drivers.&lt;br /&gt;
&lt;br /&gt;
I&#039;d love to solve your issue, but please check VLC&#039;s messages for any warnings and errors before contacting me.&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19581</id>
		<title>SoC 2011/Stereoscopic Video</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19581"/>
		<updated>2011-08-26T14:01:06Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: /* Trouble shooting= */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoCProject|year=2011|student=[[User:MessiahAndrw|Andrew Price]]|mentor=[[User:j-b|Jean-Baptiste Kempf]]}} &lt;br /&gt;
&lt;br /&gt;
== Building from Source ==&lt;br /&gt;
&lt;br /&gt;
At the present state you must acquire the source code of the stereoscopic 3D branch and build it yourself. [https://github.com/MessiahAndrw/Stereoscopic-VLC] &lt;br /&gt;
&lt;br /&gt;
There are build instructions in a file named &#039;STEREOSCOPY README&#039; but I&#039;ll also repeat the instructions here. &lt;br /&gt;
&lt;br /&gt;
=== Build Environment ===&lt;br /&gt;
&lt;br /&gt;
I use 32-bit MSYS/x86 Windows 7. To set up your build environment first follow through the instructions on [Win32CompileMSYSNew] to make sure you&#039;re able to build VLC successfully on your system. &lt;br /&gt;
&lt;br /&gt;
The following build instructions should work on any Windows system. &lt;br /&gt;
&lt;br /&gt;
=== Building ===&lt;br /&gt;
&lt;br /&gt;
Create a new empty directory somewhere, and at the MSYS terminal type: &lt;br /&gt;
&lt;br /&gt;
 git pull git://github.com/MessiahAndrw/Stereoscopic-VLC.git&lt;br /&gt;
&lt;br /&gt;
To bootstrap the build I use the following: &lt;br /&gt;
&lt;br /&gt;
 cd vlc&lt;br /&gt;
 cp -v /usr/win32/share/aclocal/* m4/&lt;br /&gt;
 cp -v /usr/share/aclocal/* m4/&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH ./bootstrap&lt;br /&gt;
&lt;br /&gt;
Then to configure: &lt;br /&gt;
&lt;br /&gt;
 sh extras/package/win32/configure-msys.sh&lt;br /&gt;
&lt;br /&gt;
Finally to build: &lt;br /&gt;
&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH make package-win32 -j6&lt;br /&gt;
&lt;br /&gt;
(The -j6 switch is optional and tells makefile to use 6 threads, it speeds up the build time on my 6-core machine.) &lt;br /&gt;
&lt;br /&gt;
&#039;make package-win32&#039; will exit with the following error but that&#039;s normal and VLC has still been built: &lt;br /&gt;
&lt;br /&gt;
 cp: cannot stat `./npapi-vlc/installed/lib/npvlc.dll&#039;: No such file or directory&lt;br /&gt;
&lt;br /&gt;
If everything else was successful you will now have built VLC with stereoscopic support! You will find this build in the directory &#039;vlc-1.2.0-git&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Note on 3D Vision support ===&lt;br /&gt;
&lt;br /&gt;
nVidia 3D Vision only activates for windowed-mode programs which are supported by the nVidia driver. At the present state VLC is not supported by the nVidia driver. However, the driver only performs a simple file-name check of the application, so as a workaround you can rename vlc.exe to the same file-name as a supported application. This can be done simply by: &lt;br /&gt;
&lt;br /&gt;
 cd vlc-1.2.0-git&lt;br /&gt;
 mv vlc.exe wow.exe&lt;br /&gt;
&lt;br /&gt;
== Splitting ==&lt;br /&gt;
&lt;br /&gt;
To play a stereoscopic 3D video you must tell the stereoscopy module how to get the image for each eye. The stereoscopic module is takes a 2D input picture, and produces 2 output pictures (one for the left eye, and one for the right eye). &lt;br /&gt;
&lt;br /&gt;
=== Command line ===&lt;br /&gt;
&lt;br /&gt;
To enable the stereoscopic module you should add the following command line parameters when you start vlc: &lt;br /&gt;
&lt;br /&gt;
 --video-filter=&amp;quot;stereoscopy&amp;quot; --stereoscopy-left=&amp;quot;&amp;amp;lt;left&amp;amp;gt;&amp;quot; --stereoscopy-right=&amp;quot;&amp;amp;lt;right&amp;amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Where &amp;amp;lt;left&amp;amp;gt; and &amp;amp;lt;right&amp;amp;gt; are valid input formats (see the table below). &lt;br /&gt;
&lt;br /&gt;
=== QT4 ===&lt;br /&gt;
&lt;br /&gt;
You can configure the stereoscopy module through the QT4 interface. To do this, open the &#039;Tools&#039; menu and click on &#039;Effects and Filters&#039;. In the &#039;Adjustments and Effects&#039; dialog that opens navigate to the &#039;Video Effects&#039; tab. Then find the sub-tab titled &#039;Stereoscopy&#039;. Check &#039;Split&#039; to enable the stereoscopy module to split the image into separate left and right frames. Select your video&#039;s input formats for the &#039;Left Eye and the &#039;Right Eye&#039;. &lt;br /&gt;
&lt;br /&gt;
[[File:StereoscopyoptionsQt4.png]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Input formats ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Source &lt;br /&gt;
| Extracted Image &lt;br /&gt;
| Format name &lt;br /&gt;
| Description&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightb.jpg]]&lt;br /&gt;
| blue&lt;br /&gt;
| The eye is encoded into the blue channel of the image and returned as a blue image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightc.jpg]]&lt;br /&gt;
| cyan&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image returned as a cyan image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
| [[File:StereoRightg.jpg]]&lt;br /&gt;
| green&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a green image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightm.jpg]]&lt;br /&gt;
| magenta&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image returned as a magenta image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoLeftr.jpg]]&lt;br /&gt;
| red&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned as a red image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRighty.jpg]]&lt;br /&gt;
| yellow&lt;br /&gt;
| The eye is encoded into the red and green channels of the image returned as a yellow image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightbg.jpg]]&lt;br /&gt;
| blue-gray&lt;br /&gt;
| The eye is encoded into the blue channel and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightcg.jpg]]&lt;br /&gt;
| cyan-gray&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
| [[File:StereoRightgg.jpg]]&lt;br /&gt;
| green-gray&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightmg.jpg]]&lt;br /&gt;
| magenta-gray&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoLeftrg.jpg]]&lt;br /&gt;
| red-gray&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRightyg.jpg]]&lt;br /&gt;
| yellow-gray&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightcf.jpg]]&lt;br /&gt;
| cyan-fill&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a full colour image. The missing red channel is filled in with the average of the blue and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightmf.jpg]]&lt;br /&gt;
| magenta-fill&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a full colour image. The missing green channel is filled in with the average of the red and blue channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRightyf.jpg]]&lt;br /&gt;
| yellow-fill&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a full colour image. The missing blue channel is filled in with the average of the red and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| left&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| right&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| top&lt;br /&gt;
| The eye is encoded into the right half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| bottom&lt;br /&gt;
| The eye is encoded into the bottom half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Developer notes ===&lt;br /&gt;
&lt;br /&gt;
picture_t contains a new field i_eye that is the eye the picture represents. Valid values at the moment are: &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| The picture is 2D.&lt;br /&gt;
|-&lt;br /&gt;
| 1 &lt;br /&gt;
| The picture is destined for the left eye.&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| The picture is destined for the right eye.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The default value for i_eye is 0, and all present video codecs output frames where i_eye is 0. It is up to the stereoscopy module to split it into left and right. But it&#039;s possible for someone to develop a video codec that output pictures where i_eye&amp;amp;gt;0, for example for a container format where the data is stored as separate left/right images. In this case the stereoscopy module does nothing, and forwards the pictures on as is. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== nVidia 3D Vision ==&lt;br /&gt;
&lt;br /&gt;
== non-nVidia 3D Vision ==&lt;br /&gt;
&lt;br /&gt;
== Coming Soon ==&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;amp; Support ==&lt;br /&gt;
There are several issues I am aware of. If you need support directly from me or have any enquiries then feel free to e-mail me directly at messiahandrw-at-gmail-dot-com (also mention Stereoscopic VLC in the subject so I don&#039;t mistake it for spam).&lt;br /&gt;
&lt;br /&gt;
=== VLC Crashes when I click stop ===&lt;br /&gt;
I know about this bug and I&#039;m trying to fix it, so stay tuned!&lt;br /&gt;
&lt;br /&gt;
=== The frame rate is too slow ===&lt;br /&gt;
The stereoscopy module is alternating outputting left and right frames, because VLC starts to drop frames when I start doubling the frame rate. I&#039;m working on a way around this (and if you&#039;re a developer I&#039;d love for some input on this!)&lt;br /&gt;
&lt;br /&gt;
=== My Video is black! ===&lt;br /&gt;
Either there&#039;s a bug I don&#039;t know about, or the stereoscopy module doesn&#039;t support your particular colour encoding. Check VLC&#039;s messages to see if anything is being reported (Tools &amp;gt; Messages). Either way, e-mail me and I&#039;ll get straight on to it!&lt;br /&gt;
&lt;br /&gt;
=== 3D Vision isn&#039;t working ===&lt;br /&gt;
This could be any number of things:&lt;br /&gt;
* 3D Vision is not enabled in the nVidia control panel.&lt;br /&gt;
* You haven&#039;t renamed vlc.exe (see above).&lt;br /&gt;
* You&#039;re not using the Direct3D vout.&lt;br /&gt;
* The stereoscopy module is turned off.&lt;br /&gt;
&lt;br /&gt;
I&#039;d love to solve your issue, but please check VLC&#039;s messages for any warnings and errors before contacting me.&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19580</id>
		<title>SoC 2011/Stereoscopic Video</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19580"/>
		<updated>2011-08-26T11:02:02Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: /* Input formats */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoCProject|year=2011|student=[[User:MessiahAndrw|Andrew Price]]|mentor=[[User:j-b|Jean-Baptiste Kempf]]}} &lt;br /&gt;
&lt;br /&gt;
== Building from Source ==&lt;br /&gt;
&lt;br /&gt;
At the present state you must acquire the source code of the stereoscopic 3D branch and build it yourself. [https://github.com/MessiahAndrw/Stereoscopic-VLC] &lt;br /&gt;
&lt;br /&gt;
There are build instructions in a file named &#039;STEREOSCOPY README&#039; but I&#039;ll also repeat the instructions here. &lt;br /&gt;
&lt;br /&gt;
=== Build Environment ===&lt;br /&gt;
&lt;br /&gt;
I use 32-bit MSYS/x86 Windows 7. To set up your build environment first follow through the instructions on [Win32CompileMSYSNew] to make sure you&#039;re able to build VLC successfully on your system. &lt;br /&gt;
&lt;br /&gt;
The following build instructions should work on any Windows system. &lt;br /&gt;
&lt;br /&gt;
=== Building ===&lt;br /&gt;
&lt;br /&gt;
Create a new empty directory somewhere, and at the MSYS terminal type: &lt;br /&gt;
&lt;br /&gt;
 git pull git://github.com/MessiahAndrw/Stereoscopic-VLC.git&lt;br /&gt;
&lt;br /&gt;
To bootstrap the build I use the following: &lt;br /&gt;
&lt;br /&gt;
 cd vlc&lt;br /&gt;
 cp -v /usr/win32/share/aclocal/* m4/&lt;br /&gt;
 cp -v /usr/share/aclocal/* m4/&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH ./bootstrap&lt;br /&gt;
&lt;br /&gt;
Then to configure: &lt;br /&gt;
&lt;br /&gt;
 sh extras/package/win32/configure-msys.sh&lt;br /&gt;
&lt;br /&gt;
Finally to build: &lt;br /&gt;
&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH make package-win32 -j6&lt;br /&gt;
&lt;br /&gt;
(The -j6 switch is optional and tells makefile to use 6 threads, it speeds up the build time on my 6-core machine.) &lt;br /&gt;
&lt;br /&gt;
&#039;make package-win32&#039; will exit with the following error but that&#039;s normal and VLC has still been built: &lt;br /&gt;
&lt;br /&gt;
 cp: cannot stat `./npapi-vlc/installed/lib/npvlc.dll&#039;: No such file or directory&lt;br /&gt;
&lt;br /&gt;
If everything else was successful you will now have built VLC with stereoscopic support! You will find this build in the directory &#039;vlc-1.2.0-git&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Note on 3D Vision support ===&lt;br /&gt;
&lt;br /&gt;
nVidia 3D Vision only activates for windowed-mode programs which are supported by the nVidia driver. At the present state VLC is not supported by the nVidia driver. However, the driver only performs a simple file-name check of the application, so as a workaround you can rename vlc.exe to the same file-name as a supported application. This can be done simply by: &lt;br /&gt;
&lt;br /&gt;
 cd vlc-1.2.0-git&lt;br /&gt;
 mv vlc.exe wow.exe&lt;br /&gt;
&lt;br /&gt;
== Splitting ==&lt;br /&gt;
&lt;br /&gt;
To play a stereoscopic 3D video you must tell the stereoscopy module how to get the image for each eye. The stereoscopic module is takes a 2D input picture, and produces 2 output pictures (one for the left eye, and one for the right eye). &lt;br /&gt;
&lt;br /&gt;
=== Command line ===&lt;br /&gt;
&lt;br /&gt;
To enable the stereoscopic module you should add the following command line parameters when you start vlc: &lt;br /&gt;
&lt;br /&gt;
 --video-filter=&amp;quot;stereoscopy&amp;quot; --stereoscopy-left=&amp;quot;&amp;amp;lt;left&amp;amp;gt;&amp;quot; --stereoscopy-right=&amp;quot;&amp;amp;lt;right&amp;amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Where &amp;amp;lt;left&amp;amp;gt; and &amp;amp;lt;right&amp;amp;gt; are valid input formats (see the table below). &lt;br /&gt;
&lt;br /&gt;
=== QT4 ===&lt;br /&gt;
&lt;br /&gt;
You can configure the stereoscopy module through the QT4 interface. To do this, open the &#039;Tools&#039; menu and click on &#039;Effects and Filters&#039;. In the &#039;Adjustments and Effects&#039; dialog that opens navigate to the &#039;Video Effects&#039; tab. Then find the sub-tab titled &#039;Stereoscopy&#039;. Check &#039;Split&#039; to enable the stereoscopy module to split the image into separate left and right frames. Select your video&#039;s input formats for the &#039;Left Eye and the &#039;Right Eye&#039;. &lt;br /&gt;
&lt;br /&gt;
[[File:StereoscopyoptionsQt4.png]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Input formats ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Source &lt;br /&gt;
| Extracted Image &lt;br /&gt;
| Format name &lt;br /&gt;
| Description&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightb.jpg]]&lt;br /&gt;
| blue&lt;br /&gt;
| The eye is encoded into the blue channel of the image and returned as a blue image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightc.jpg]]&lt;br /&gt;
| cyan&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image returned as a cyan image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
| [[File:StereoRightg.jpg]]&lt;br /&gt;
| green&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a green image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightm.jpg]]&lt;br /&gt;
| magenta&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image returned as a magenta image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoLeftr.jpg]]&lt;br /&gt;
| red&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned as a red image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRighty.jpg]]&lt;br /&gt;
| yellow&lt;br /&gt;
| The eye is encoded into the red and green channels of the image returned as a yellow image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightbg.jpg]]&lt;br /&gt;
| blue-gray&lt;br /&gt;
| The eye is encoded into the blue channel and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightcg.jpg]]&lt;br /&gt;
| cyan-gray&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
| [[File:StereoRightgg.jpg]]&lt;br /&gt;
| green-gray&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightmg.jpg]]&lt;br /&gt;
| magenta-gray&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoLeftrg.jpg]]&lt;br /&gt;
| red-gray&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRightyg.jpg]]&lt;br /&gt;
| yellow-gray&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightcf.jpg]]&lt;br /&gt;
| cyan-fill&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a full colour image. The missing red channel is filled in with the average of the blue and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightmf.jpg]]&lt;br /&gt;
| magenta-fill&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a full colour image. The missing green channel is filled in with the average of the red and blue channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRightyf.jpg]]&lt;br /&gt;
| yellow-fill&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a full colour image. The missing blue channel is filled in with the average of the red and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| left&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| right&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| top&lt;br /&gt;
| The eye is encoded into the right half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| bottom&lt;br /&gt;
| The eye is encoded into the bottom half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Developer notes ===&lt;br /&gt;
&lt;br /&gt;
picture_t contains a new field i_eye that is the eye the picture represents. Valid values at the moment are: &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| The picture is 2D.&lt;br /&gt;
|-&lt;br /&gt;
| 1 &lt;br /&gt;
| The picture is destined for the left eye.&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| The picture is destined for the right eye.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The default value for i_eye is 0, and all present video codecs output frames where i_eye is 0. It is up to the stereoscopy module to split it into left and right. But it&#039;s possible for someone to develop a video codec that output pictures where i_eye&amp;amp;gt;0, for example for a container format where the data is stored as separate left/right images. In this case the stereoscopy module does nothing, and forwards the pictures on as is. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== nVidia 3D Vision ==&lt;br /&gt;
&lt;br /&gt;
== non-nVidia 3D Vision ==&lt;br /&gt;
&lt;br /&gt;
== Coming Soon ==&lt;br /&gt;
&lt;br /&gt;
== Trouble shooting= ==&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=File:StereoRightmf.jpg&amp;diff=19579</id>
		<title>File:StereoRightmf.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=File:StereoRightmf.jpg&amp;diff=19579"/>
		<updated>2011-08-26T11:01:50Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=File:StereoRightyf.jpg&amp;diff=19578</id>
		<title>File:StereoRightyf.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=File:StereoRightyf.jpg&amp;diff=19578"/>
		<updated>2011-08-26T10:59:47Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=File:StereoRightcf.jpg&amp;diff=19577</id>
		<title>File:StereoRightcf.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=File:StereoRightcf.jpg&amp;diff=19577"/>
		<updated>2011-08-26T10:58:41Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19576</id>
		<title>SoC 2011/Stereoscopic Video</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19576"/>
		<updated>2011-08-26T10:55:16Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: /* Input formats */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoCProject|year=2011|student=[[User:MessiahAndrw|Andrew Price]]|mentor=[[User:j-b|Jean-Baptiste Kempf]]}} &lt;br /&gt;
&lt;br /&gt;
== Building from Source ==&lt;br /&gt;
&lt;br /&gt;
At the present state you must acquire the source code of the stereoscopic 3D branch and build it yourself. [https://github.com/MessiahAndrw/Stereoscopic-VLC] &lt;br /&gt;
&lt;br /&gt;
There are build instructions in a file named &#039;STEREOSCOPY README&#039; but I&#039;ll also repeat the instructions here. &lt;br /&gt;
&lt;br /&gt;
=== Build Environment ===&lt;br /&gt;
&lt;br /&gt;
I use 32-bit MSYS/x86 Windows 7. To set up your build environment first follow through the instructions on [Win32CompileMSYSNew] to make sure you&#039;re able to build VLC successfully on your system. &lt;br /&gt;
&lt;br /&gt;
The following build instructions should work on any Windows system. &lt;br /&gt;
&lt;br /&gt;
=== Building ===&lt;br /&gt;
&lt;br /&gt;
Create a new empty directory somewhere, and at the MSYS terminal type: &lt;br /&gt;
&lt;br /&gt;
 git pull git://github.com/MessiahAndrw/Stereoscopic-VLC.git&lt;br /&gt;
&lt;br /&gt;
To bootstrap the build I use the following: &lt;br /&gt;
&lt;br /&gt;
 cd vlc&lt;br /&gt;
 cp -v /usr/win32/share/aclocal/* m4/&lt;br /&gt;
 cp -v /usr/share/aclocal/* m4/&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH ./bootstrap&lt;br /&gt;
&lt;br /&gt;
Then to configure: &lt;br /&gt;
&lt;br /&gt;
 sh extras/package/win32/configure-msys.sh&lt;br /&gt;
&lt;br /&gt;
Finally to build: &lt;br /&gt;
&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH make package-win32 -j6&lt;br /&gt;
&lt;br /&gt;
(The -j6 switch is optional and tells makefile to use 6 threads, it speeds up the build time on my 6-core machine.) &lt;br /&gt;
&lt;br /&gt;
&#039;make package-win32&#039; will exit with the following error but that&#039;s normal and VLC has still been built: &lt;br /&gt;
&lt;br /&gt;
 cp: cannot stat `./npapi-vlc/installed/lib/npvlc.dll&#039;: No such file or directory&lt;br /&gt;
&lt;br /&gt;
If everything else was successful you will now have built VLC with stereoscopic support! You will find this build in the directory &#039;vlc-1.2.0-git&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Note on 3D Vision support ===&lt;br /&gt;
&lt;br /&gt;
nVidia 3D Vision only activates for windowed-mode programs which are supported by the nVidia driver. At the present state VLC is not supported by the nVidia driver. However, the driver only performs a simple file-name check of the application, so as a workaround you can rename vlc.exe to the same file-name as a supported application. This can be done simply by: &lt;br /&gt;
&lt;br /&gt;
 cd vlc-1.2.0-git&lt;br /&gt;
 mv vlc.exe wow.exe&lt;br /&gt;
&lt;br /&gt;
== Splitting ==&lt;br /&gt;
&lt;br /&gt;
To play a stereoscopic 3D video you must tell the stereoscopy module how to get the image for each eye. The stereoscopic module is takes a 2D input picture, and produces 2 output pictures (one for the left eye, and one for the right eye). &lt;br /&gt;
&lt;br /&gt;
=== Command line ===&lt;br /&gt;
&lt;br /&gt;
To enable the stereoscopic module you should add the following command line parameters when you start vlc: &lt;br /&gt;
&lt;br /&gt;
 --video-filter=&amp;quot;stereoscopy&amp;quot; --stereoscopy-left=&amp;quot;&amp;amp;lt;left&amp;amp;gt;&amp;quot; --stereoscopy-right=&amp;quot;&amp;amp;lt;right&amp;amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Where &amp;amp;lt;left&amp;amp;gt; and &amp;amp;lt;right&amp;amp;gt; are valid input formats (see the table below). &lt;br /&gt;
&lt;br /&gt;
=== QT4 ===&lt;br /&gt;
&lt;br /&gt;
You can configure the stereoscopy module through the QT4 interface. To do this, open the &#039;Tools&#039; menu and click on &#039;Effects and Filters&#039;. In the &#039;Adjustments and Effects&#039; dialog that opens navigate to the &#039;Video Effects&#039; tab. Then find the sub-tab titled &#039;Stereoscopy&#039;. Check &#039;Split&#039; to enable the stereoscopy module to split the image into separate left and right frames. Select your video&#039;s input formats for the &#039;Left Eye and the &#039;Right Eye&#039;. &lt;br /&gt;
&lt;br /&gt;
[[File:StereoscopyoptionsQt4.png]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Input formats ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Source &lt;br /&gt;
| Extracted Image &lt;br /&gt;
| Format name &lt;br /&gt;
| Description&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightb.jpg]]&lt;br /&gt;
| blue&lt;br /&gt;
| The eye is encoded into the blue channel of the image and returned as a blue image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightc.jpg]]&lt;br /&gt;
| cyan&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image returned as a cyan image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
| [[File:StereoRightg.jpg]]&lt;br /&gt;
| green&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a green image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightm.jpg]]&lt;br /&gt;
| magenta&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image returned as a magenta image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoLeftr.jpg]]&lt;br /&gt;
| red&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned as a red image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRighty.jpg]]&lt;br /&gt;
| yellow&lt;br /&gt;
| The eye is encoded into the red and green channels of the image returned as a yellow image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightbg.jpg]]&lt;br /&gt;
| blue-gray&lt;br /&gt;
| The eye is encoded into the blue channel and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightcg.jpg]]&lt;br /&gt;
| cyan-gray&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
| [[File:StereoRightgg.jpg]]&lt;br /&gt;
| green-gray&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightmg.jpg]]&lt;br /&gt;
| magenta-gray&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoLeftrg.jpg]]&lt;br /&gt;
| red-gray&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| yellow-gray&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightyg.jpg]]&lt;br /&gt;
| cyan-fill&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a full colour image. The missing red channel is filled in with the average of the blue and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| magenta-fill&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a full colour image. The missing green channel is filled in with the average of the red and blue channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| yellow-fill&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a full colour image. The missing blue channel is filled in with the average of the red and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| left&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| right&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| top&lt;br /&gt;
| The eye is encoded into the right half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| bottom&lt;br /&gt;
| The eye is encoded into the bottom half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Developer notes ===&lt;br /&gt;
&lt;br /&gt;
picture_t contains a new field i_eye that is the eye the picture represents. Valid values at the moment are: &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| The picture is 2D.&lt;br /&gt;
|-&lt;br /&gt;
| 1 &lt;br /&gt;
| The picture is destined for the left eye.&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| The picture is destined for the right eye.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The default value for i_eye is 0, and all present video codecs output frames where i_eye is 0. It is up to the stereoscopy module to split it into left and right. But it&#039;s possible for someone to develop a video codec that output pictures where i_eye&amp;amp;gt;0, for example for a container format where the data is stored as separate left/right images. In this case the stereoscopy module does nothing, and forwards the pictures on as is. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== nVidia 3D Vision ==&lt;br /&gt;
&lt;br /&gt;
== non-nVidia 3D Vision ==&lt;br /&gt;
&lt;br /&gt;
== Coming Soon ==&lt;br /&gt;
&lt;br /&gt;
== Trouble shooting= ==&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=File:StereoRightyg.jpg&amp;diff=19575</id>
		<title>File:StereoRightyg.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=File:StereoRightyg.jpg&amp;diff=19575"/>
		<updated>2011-08-26T10:55:02Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=File:StereoLeftrg.jpg&amp;diff=19574</id>
		<title>File:StereoLeftrg.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=File:StereoLeftrg.jpg&amp;diff=19574"/>
		<updated>2011-08-26T10:53:04Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=File:StereoRightmg.jpg&amp;diff=19573</id>
		<title>File:StereoRightmg.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=File:StereoRightmg.jpg&amp;diff=19573"/>
		<updated>2011-08-26T10:50:50Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=File:StereoRightgg.jpg&amp;diff=19572</id>
		<title>File:StereoRightgg.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=File:StereoRightgg.jpg&amp;diff=19572"/>
		<updated>2011-08-26T10:48:13Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=File:StereoRightcg.jpg&amp;diff=19571</id>
		<title>File:StereoRightcg.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=File:StereoRightcg.jpg&amp;diff=19571"/>
		<updated>2011-08-26T10:38:28Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=File:StereoRightbg.jpg&amp;diff=19570</id>
		<title>File:StereoRightbg.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=File:StereoRightbg.jpg&amp;diff=19570"/>
		<updated>2011-08-26T10:31:57Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19569</id>
		<title>SoC 2011/Stereoscopic Video</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19569"/>
		<updated>2011-08-26T10:28:56Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: /* Input formats */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoCProject|year=2011|student=[[User:MessiahAndrw|Andrew Price]]|mentor=[[User:j-b|Jean-Baptiste Kempf]]}} &lt;br /&gt;
&lt;br /&gt;
== Building from Source ==&lt;br /&gt;
&lt;br /&gt;
At the present state you must acquire the source code of the stereoscopic 3D branch and build it yourself. [https://github.com/MessiahAndrw/Stereoscopic-VLC] &lt;br /&gt;
&lt;br /&gt;
There are build instructions in a file named &#039;STEREOSCOPY README&#039; but I&#039;ll also repeat the instructions here. &lt;br /&gt;
&lt;br /&gt;
=== Build Environment ===&lt;br /&gt;
&lt;br /&gt;
I use 32-bit MSYS/x86 Windows 7. To set up your build environment first follow through the instructions on [Win32CompileMSYSNew] to make sure you&#039;re able to build VLC successfully on your system. &lt;br /&gt;
&lt;br /&gt;
The following build instructions should work on any Windows system. &lt;br /&gt;
&lt;br /&gt;
=== Building ===&lt;br /&gt;
&lt;br /&gt;
Create a new empty directory somewhere, and at the MSYS terminal type: &lt;br /&gt;
&lt;br /&gt;
 git pull git://github.com/MessiahAndrw/Stereoscopic-VLC.git&lt;br /&gt;
&lt;br /&gt;
To bootstrap the build I use the following: &lt;br /&gt;
&lt;br /&gt;
 cd vlc&lt;br /&gt;
 cp -v /usr/win32/share/aclocal/* m4/&lt;br /&gt;
 cp -v /usr/share/aclocal/* m4/&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH ./bootstrap&lt;br /&gt;
&lt;br /&gt;
Then to configure: &lt;br /&gt;
&lt;br /&gt;
 sh extras/package/win32/configure-msys.sh&lt;br /&gt;
&lt;br /&gt;
Finally to build: &lt;br /&gt;
&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH make package-win32 -j6&lt;br /&gt;
&lt;br /&gt;
(The -j6 switch is optional and tells makefile to use 6 threads, it speeds up the build time on my 6-core machine.) &lt;br /&gt;
&lt;br /&gt;
&#039;make package-win32&#039; will exit with the following error but that&#039;s normal and VLC has still been built: &lt;br /&gt;
&lt;br /&gt;
 cp: cannot stat `./npapi-vlc/installed/lib/npvlc.dll&#039;: No such file or directory&lt;br /&gt;
&lt;br /&gt;
If everything else was successful you will now have built VLC with stereoscopic support! You will find this build in the directory &#039;vlc-1.2.0-git&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Note on 3D Vision support ===&lt;br /&gt;
&lt;br /&gt;
nVidia 3D Vision only activates for windowed-mode programs which are supported by the nVidia driver. At the present state VLC is not supported by the nVidia driver. However, the driver only performs a simple file-name check of the application, so as a workaround you can rename vlc.exe to the same file-name as a supported application. This can be done simply by: &lt;br /&gt;
&lt;br /&gt;
 cd vlc-1.2.0-git&lt;br /&gt;
 mv vlc.exe wow.exe&lt;br /&gt;
&lt;br /&gt;
== Splitting ==&lt;br /&gt;
&lt;br /&gt;
To play a stereoscopic 3D video you must tell the stereoscopy module how to get the image for each eye. The stereoscopic module is takes a 2D input picture, and produces 2 output pictures (one for the left eye, and one for the right eye). &lt;br /&gt;
&lt;br /&gt;
=== Command line ===&lt;br /&gt;
&lt;br /&gt;
To enable the stereoscopic module you should add the following command line parameters when you start vlc: &lt;br /&gt;
&lt;br /&gt;
 --video-filter=&amp;quot;stereoscopy&amp;quot; --stereoscopy-left=&amp;quot;&amp;amp;lt;left&amp;amp;gt;&amp;quot; --stereoscopy-right=&amp;quot;&amp;amp;lt;right&amp;amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Where &amp;amp;lt;left&amp;amp;gt; and &amp;amp;lt;right&amp;amp;gt; are valid input formats (see the table below). &lt;br /&gt;
&lt;br /&gt;
=== QT4 ===&lt;br /&gt;
&lt;br /&gt;
You can configure the stereoscopy module through the QT4 interface. To do this, open the &#039;Tools&#039; menu and click on &#039;Effects and Filters&#039;. In the &#039;Adjustments and Effects&#039; dialog that opens navigate to the &#039;Video Effects&#039; tab. Then find the sub-tab titled &#039;Stereoscopy&#039;. Check &#039;Split&#039; to enable the stereoscopy module to split the image into separate left and right frames. Select your video&#039;s input formats for the &#039;Left Eye and the &#039;Right Eye&#039;. &lt;br /&gt;
&lt;br /&gt;
[[File:StereoscopyoptionsQt4.png]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Input formats ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Source &lt;br /&gt;
| Extracted Image &lt;br /&gt;
| Format name &lt;br /&gt;
| Description&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightb.jpg]]&lt;br /&gt;
| blue&lt;br /&gt;
| The eye is encoded into the blue channel of the image and returned as a blue image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoRightc.jpg]]&lt;br /&gt;
| cyan&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image returned as a cyan image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
| [[File:StereoRightg.jpg]]&lt;br /&gt;
| green&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a green image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
| [[File:StereoRightm.jpg]]&lt;br /&gt;
| magenta&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image returned as a magenta image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
| [[File:StereoLeftr.jpg]]&lt;br /&gt;
| red&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned as a red image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
| [[File:StereoRighty.jpg]]&lt;br /&gt;
| yellow&lt;br /&gt;
| The eye is encoded into the red and green channels of the image returned as a yellow image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| blue-gray&lt;br /&gt;
| The eye is encoded into the blue channel and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| cyan-gray&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| green-gray&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| magenta-gray&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| red-gray&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| yellow-gray&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| cyan-fill&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a full colour image. The missing red channel is filled in with the average of the blue and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| magenta-fill&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a full colour image. The missing green channel is filled in with the average of the red and blue channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| yellow-fill&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a full colour image. The missing blue channel is filled in with the average of the red and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| left&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| right&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| top&lt;br /&gt;
| The eye is encoded into the right half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| bottom&lt;br /&gt;
| The eye is encoded into the bottom half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Developer notes ===&lt;br /&gt;
&lt;br /&gt;
picture_t contains a new field i_eye that is the eye the picture represents. Valid values at the moment are: &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| The picture is 2D.&lt;br /&gt;
|-&lt;br /&gt;
| 1 &lt;br /&gt;
| The picture is destined for the left eye.&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| The picture is destined for the right eye.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The default value for i_eye is 0, and all present video codecs output frames where i_eye is 0. It is up to the stereoscopy module to split it into left and right. But it&#039;s possible for someone to develop a video codec that output pictures where i_eye&amp;amp;gt;0, for example for a container format where the data is stored as separate left/right images. In this case the stereoscopy module does nothing, and forwards the pictures on as is. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== nVidia 3D Vision ==&lt;br /&gt;
&lt;br /&gt;
== non-nVidia 3D Vision ==&lt;br /&gt;
&lt;br /&gt;
== Coming Soon ==&lt;br /&gt;
&lt;br /&gt;
== Trouble shooting= ==&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=File:StereoRighty.jpg&amp;diff=19568</id>
		<title>File:StereoRighty.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=File:StereoRighty.jpg&amp;diff=19568"/>
		<updated>2011-08-26T10:28:42Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=File:StereoLeftr.jpg&amp;diff=19567</id>
		<title>File:StereoLeftr.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=File:StereoLeftr.jpg&amp;diff=19567"/>
		<updated>2011-08-26T10:26:45Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=File:StereoRightm.jpg&amp;diff=19566</id>
		<title>File:StereoRightm.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=File:StereoRightm.jpg&amp;diff=19566"/>
		<updated>2011-08-26T10:25:53Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=File:StereoRightg.jpg&amp;diff=19565</id>
		<title>File:StereoRightg.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=File:StereoRightg.jpg&amp;diff=19565"/>
		<updated>2011-08-26T10:24:57Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=File:StereoRightc.jpg&amp;diff=19564</id>
		<title>File:StereoRightc.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=File:StereoRightc.jpg&amp;diff=19564"/>
		<updated>2011-08-26T10:23:05Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19563</id>
		<title>SoC 2011/Stereoscopic Video</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19563"/>
		<updated>2011-08-26T07:28:17Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: /* Input formats */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoCProject|year=2011|student=[[User:MessiahAndrw|Andrew Price]]|mentor=[[User:j-b|Jean-Baptiste Kempf]]}} &lt;br /&gt;
&lt;br /&gt;
== Building from Source ==&lt;br /&gt;
&lt;br /&gt;
At the present state you must acquire the source code of the stereoscopic 3D branch and build it yourself. [https://github.com/MessiahAndrw/Stereoscopic-VLC] &lt;br /&gt;
&lt;br /&gt;
There are build instructions in a file named &#039;STEREOSCOPY README&#039; but I&#039;ll also repeat the instructions here. &lt;br /&gt;
&lt;br /&gt;
=== Build Environment ===&lt;br /&gt;
&lt;br /&gt;
I use 32-bit MSYS/x86 Windows 7. To set up your build environment first follow through the instructions on [Win32CompileMSYSNew] to make sure you&#039;re able to build VLC successfully on your system. &lt;br /&gt;
&lt;br /&gt;
The following build instructions should work on any Windows system. &lt;br /&gt;
&lt;br /&gt;
=== Building ===&lt;br /&gt;
&lt;br /&gt;
Create a new empty directory somewhere, and at the MSYS terminal type: &lt;br /&gt;
&lt;br /&gt;
 git pull git://github.com/MessiahAndrw/Stereoscopic-VLC.git&lt;br /&gt;
&lt;br /&gt;
To bootstrap the build I use the following: &lt;br /&gt;
&lt;br /&gt;
 cd vlc&lt;br /&gt;
 cp -v /usr/win32/share/aclocal/* m4/&lt;br /&gt;
 cp -v /usr/share/aclocal/* m4/&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH ./bootstrap&lt;br /&gt;
&lt;br /&gt;
Then to configure: &lt;br /&gt;
&lt;br /&gt;
 sh extras/package/win32/configure-msys.sh&lt;br /&gt;
&lt;br /&gt;
Finally to build: &lt;br /&gt;
&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH make package-win32 -j6&lt;br /&gt;
&lt;br /&gt;
(The -j6 switch is optional and tells makefile to use 6 threads, it speeds up the build time on my 6-core machine.) &lt;br /&gt;
&lt;br /&gt;
&#039;make package-win32&#039; will exit with the following error but that&#039;s normal and VLC has still been built: &lt;br /&gt;
&lt;br /&gt;
 cp: cannot stat `./npapi-vlc/installed/lib/npvlc.dll&#039;: No such file or directory&lt;br /&gt;
&lt;br /&gt;
If everything else was successful you will now have built VLC with stereoscopic support! You will find this build in the directory &#039;vlc-1.2.0-git&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Note on 3D Vision support ===&lt;br /&gt;
&lt;br /&gt;
nVidia 3D Vision only activates for windowed-mode programs which are supported by the nVidia driver. At the present state VLC is not supported by the nVidia driver. However, the driver only performs a simple file-name check of the application, so as a workaround you can rename vlc.exe to the same file-name as a supported application. This can be done simply by: &lt;br /&gt;
&lt;br /&gt;
 cd vlc-1.2.0-git&lt;br /&gt;
 mv vlc.exe wow.exe&lt;br /&gt;
&lt;br /&gt;
== Splitting ==&lt;br /&gt;
&lt;br /&gt;
To play a stereoscopic 3D video you must tell the stereoscopy module how to get the image for each eye. The stereoscopic module is takes a 2D input picture, and produces 2 output pictures (one for the left eye, and one for the right eye). &lt;br /&gt;
&lt;br /&gt;
=== Command line ===&lt;br /&gt;
&lt;br /&gt;
To enable the stereoscopic module you should add the following command line parameters when you start vlc: &lt;br /&gt;
&lt;br /&gt;
 --video-filter=&amp;quot;stereoscopy&amp;quot; --stereoscopy-left=&amp;quot;&amp;amp;lt;left&amp;amp;gt;&amp;quot; --stereoscopy-right=&amp;quot;&amp;amp;lt;right&amp;amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Where &amp;amp;lt;left&amp;amp;gt; and &amp;amp;lt;right&amp;amp;gt; are valid input formats (see the table below). &lt;br /&gt;
&lt;br /&gt;
=== QT4 ===&lt;br /&gt;
&lt;br /&gt;
You can configure the stereoscopy module through the QT4 interface. To do this, open the &#039;Tools&#039; menu and click on &#039;Effects and Filters&#039;. In the &#039;Adjustments and Effects&#039; dialog that opens navigate to the &#039;Video Effects&#039; tab. Then find the sub-tab titled &#039;Stereoscopy&#039;. Check &#039;Split&#039; to enable the stereoscopy module to split the image into separate left and right frames. Select your video&#039;s input formats for the &#039;Left Eye and the &#039;Right Eye&#039;. &lt;br /&gt;
&lt;br /&gt;
[[File:StereoscopyoptionsQt4.png]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Input formats ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Source &lt;br /&gt;
| Extracted Image &lt;br /&gt;
| Format name &lt;br /&gt;
| Description&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
| [[File:StereoRightb.jpg]]&lt;br /&gt;
| blue&lt;br /&gt;
| The eye is encoded into the blue channel of the image and returned as a blue image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| cyan&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image returned as a cyan image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| green&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a green image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| magenta&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image returned as a magenta image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| red&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned as a red image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| yellow&lt;br /&gt;
| The eye is encoded into the red and green channels of the image returned as a yellow image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| blue-gray&lt;br /&gt;
| The eye is encoded into the blue channel and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| cyan-gray&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| green-gray&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| magenta-gray&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| red-gray&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| yellow-gray&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| cyan-fill&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a full colour image. The missing red channel is filled in with the average of the blue and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| magenta-fill&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a full colour image. The missing green channel is filled in with the average of the red and blue channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| yellow-fill&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a full colour image. The missing blue channel is filled in with the average of the red and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| left&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| right&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| top&lt;br /&gt;
| The eye is encoded into the right half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| bottom&lt;br /&gt;
| The eye is encoded into the bottom half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Developer notes ===&lt;br /&gt;
&lt;br /&gt;
picture_t contains a new field i_eye that is the eye the picture represents. Valid values at the moment are: &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| The picture is 2D.&lt;br /&gt;
|-&lt;br /&gt;
| 1 &lt;br /&gt;
| The picture is destined for the left eye.&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| The picture is destined for the right eye.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The default value for i_eye is 0, and all present video codecs output frames where i_eye is 0. It is up to the stereoscopy module to split it into left and right. But it&#039;s possible for someone to develop a video codec that output pictures where i_eye&amp;amp;gt;0, for example for a container format where the data is stored as separate left/right images. In this case the stereoscopy module does nothing, and forwards the pictures on as is. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== nVidia 3D Vision ==&lt;br /&gt;
&lt;br /&gt;
== non-nVidia 3D Vision ==&lt;br /&gt;
&lt;br /&gt;
== Coming Soon ==&lt;br /&gt;
&lt;br /&gt;
== Trouble shooting= ==&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=File:StereoRightb.jpg&amp;diff=19562</id>
		<title>File:StereoRightb.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=File:StereoRightb.jpg&amp;diff=19562"/>
		<updated>2011-08-26T07:27:38Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19561</id>
		<title>SoC 2011/Stereoscopic Video</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19561"/>
		<updated>2011-08-26T07:25:51Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: /* Input formats */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoCProject|year=2011|student=[[User:MessiahAndrw|Andrew Price]]|mentor=[[User:j-b|Jean-Baptiste Kempf]]}} &lt;br /&gt;
&lt;br /&gt;
== Building from Source ==&lt;br /&gt;
&lt;br /&gt;
At the present state you must acquire the source code of the stereoscopic 3D branch and build it yourself. [https://github.com/MessiahAndrw/Stereoscopic-VLC] &lt;br /&gt;
&lt;br /&gt;
There are build instructions in a file named &#039;STEREOSCOPY README&#039; but I&#039;ll also repeat the instructions here. &lt;br /&gt;
&lt;br /&gt;
=== Build Environment ===&lt;br /&gt;
&lt;br /&gt;
I use 32-bit MSYS/x86 Windows 7. To set up your build environment first follow through the instructions on [Win32CompileMSYSNew] to make sure you&#039;re able to build VLC successfully on your system. &lt;br /&gt;
&lt;br /&gt;
The following build instructions should work on any Windows system. &lt;br /&gt;
&lt;br /&gt;
=== Building ===&lt;br /&gt;
&lt;br /&gt;
Create a new empty directory somewhere, and at the MSYS terminal type: &lt;br /&gt;
&lt;br /&gt;
 git pull git://github.com/MessiahAndrw/Stereoscopic-VLC.git&lt;br /&gt;
&lt;br /&gt;
To bootstrap the build I use the following: &lt;br /&gt;
&lt;br /&gt;
 cd vlc&lt;br /&gt;
 cp -v /usr/win32/share/aclocal/* m4/&lt;br /&gt;
 cp -v /usr/share/aclocal/* m4/&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH ./bootstrap&lt;br /&gt;
&lt;br /&gt;
Then to configure: &lt;br /&gt;
&lt;br /&gt;
 sh extras/package/win32/configure-msys.sh&lt;br /&gt;
&lt;br /&gt;
Finally to build: &lt;br /&gt;
&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH make package-win32 -j6&lt;br /&gt;
&lt;br /&gt;
(The -j6 switch is optional and tells makefile to use 6 threads, it speeds up the build time on my 6-core machine.) &lt;br /&gt;
&lt;br /&gt;
&#039;make package-win32&#039; will exit with the following error but that&#039;s normal and VLC has still been built: &lt;br /&gt;
&lt;br /&gt;
 cp: cannot stat `./npapi-vlc/installed/lib/npvlc.dll&#039;: No such file or directory&lt;br /&gt;
&lt;br /&gt;
If everything else was successful you will now have built VLC with stereoscopic support! You will find this build in the directory &#039;vlc-1.2.0-git&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Note on 3D Vision support ===&lt;br /&gt;
&lt;br /&gt;
nVidia 3D Vision only activates for windowed-mode programs which are supported by the nVidia driver. At the present state VLC is not supported by the nVidia driver. However, the driver only performs a simple file-name check of the application, so as a workaround you can rename vlc.exe to the same file-name as a supported application. This can be done simply by: &lt;br /&gt;
&lt;br /&gt;
 cd vlc-1.2.0-git&lt;br /&gt;
 mv vlc.exe wow.exe&lt;br /&gt;
&lt;br /&gt;
== Splitting ==&lt;br /&gt;
&lt;br /&gt;
To play a stereoscopic 3D video you must tell the stereoscopy module how to get the image for each eye. The stereoscopic module is takes a 2D input picture, and produces 2 output pictures (one for the left eye, and one for the right eye). &lt;br /&gt;
&lt;br /&gt;
=== Command line ===&lt;br /&gt;
&lt;br /&gt;
To enable the stereoscopic module you should add the following command line parameters when you start vlc: &lt;br /&gt;
&lt;br /&gt;
 --video-filter=&amp;quot;stereoscopy&amp;quot; --stereoscopy-left=&amp;quot;&amp;amp;lt;left&amp;amp;gt;&amp;quot; --stereoscopy-right=&amp;quot;&amp;amp;lt;right&amp;amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Where &amp;amp;lt;left&amp;amp;gt; and &amp;amp;lt;right&amp;amp;gt; are valid input formats (see the table below). &lt;br /&gt;
&lt;br /&gt;
=== QT4 ===&lt;br /&gt;
&lt;br /&gt;
You can configure the stereoscopy module through the QT4 interface. To do this, open the &#039;Tools&#039; menu and click on &#039;Effects and Filters&#039;. In the &#039;Adjustments and Effects&#039; dialog that opens navigate to the &#039;Video Effects&#039; tab. Then find the sub-tab titled &#039;Stereoscopy&#039;. Check &#039;Split&#039; to enable the stereoscopy module to split the image into separate left and right frames. Select your video&#039;s input formats for the &#039;Left Eye and the &#039;Right Eye&#039;. &lt;br /&gt;
&lt;br /&gt;
[[File:StereoscopyoptionsQt4.png]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Input formats ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Source &lt;br /&gt;
| Extracted Image &lt;br /&gt;
| Format name &lt;br /&gt;
| Description&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| blue&lt;br /&gt;
| The eye is encoded into the blue channel of the image and returned as a blue image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| cyan&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image returned as a cyan image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| green&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a green image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| magenta&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image returned as a magenta image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| red&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned as a red image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| yellow&lt;br /&gt;
| The eye is encoded into the red and green channels of the image returned as a yellow image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRb.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| blue-gray&lt;br /&gt;
| The eye is encoded into the blue channel and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| cyan-gray&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRg.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| green-gray&lt;br /&gt;
| The eye is encoded into the green channel of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| magenta-gray&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| red-gray&lt;br /&gt;
| The eye is encoded into the red channel of the image and returned a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| yellow-gray&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a grayscale image.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoRc.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| cyan-fill&lt;br /&gt;
| The eye is encoded into the blue and green channels of the image and returned as a full colour image. The missing red channel is filled in with the average of the blue and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoGm.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| magenta-fill&lt;br /&gt;
| The eye is encoded into the red and blue channels of the image and returned as a full colour image. The missing green channel is filled in with the average of the red and blue channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoBy.jpg]]&lt;br /&gt;
|&lt;br /&gt;
| yellow-fill&lt;br /&gt;
| The eye is encoded into the red and green channels of the image and returned as a full colour image. The missing blue channel is filled in with the average of the red and green channels.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| left&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoLr.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| right&lt;br /&gt;
| The eye is encoded into the left half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoLeft.jpg]]&lt;br /&gt;
| top&lt;br /&gt;
| The eye is encoded into the right half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:StereoTb.jpg]]&lt;br /&gt;
| [[File:StereoRight.jpg]]&lt;br /&gt;
| bottom&lt;br /&gt;
| The eye is encoded into the bottom half of the image. Assumes the source is half-SBS but the aspect ratio will need to be halved for full-SBS.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Developer notes ===&lt;br /&gt;
&lt;br /&gt;
picture_t contains a new field i_eye that is the eye the picture represents. Valid values at the moment are: &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| The picture is 2D.&lt;br /&gt;
|-&lt;br /&gt;
| 1 &lt;br /&gt;
| The picture is destined for the left eye.&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| The picture is destined for the right eye.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The default value for i_eye is 0, and all present video codecs output frames where i_eye is 0. It is up to the stereoscopy module to split it into left and right. But it&#039;s possible for someone to develop a video codec that output pictures where i_eye&amp;amp;gt;0, for example for a container format where the data is stored as separate left/right images. In this case the stereoscopy module does nothing, and forwards the pictures on as is. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== nVidia 3D Vision ==&lt;br /&gt;
&lt;br /&gt;
== non-nVidia 3D Vision ==&lt;br /&gt;
&lt;br /&gt;
== Coming Soon ==&lt;br /&gt;
&lt;br /&gt;
== Trouble shooting= ==&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=File:StereoTb.jpg&amp;diff=19560</id>
		<title>File:StereoTb.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=File:StereoTb.jpg&amp;diff=19560"/>
		<updated>2011-08-26T07:25:28Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=File:StereoLr.jpg&amp;diff=19559</id>
		<title>File:StereoLr.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=File:StereoLr.jpg&amp;diff=19559"/>
		<updated>2011-08-26T07:23:46Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=File:StereoRight.jpg&amp;diff=19558</id>
		<title>File:StereoRight.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=File:StereoRight.jpg&amp;diff=19558"/>
		<updated>2011-08-26T07:23:32Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=File:StereoLeft.jpg&amp;diff=19557</id>
		<title>File:StereoLeft.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=File:StereoLeft.jpg&amp;diff=19557"/>
		<updated>2011-08-26T07:21:58Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=File:StereoBy.jpg&amp;diff=19556</id>
		<title>File:StereoBy.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=File:StereoBy.jpg&amp;diff=19556"/>
		<updated>2011-08-26T07:15:29Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=File:StereoGm.jpg&amp;diff=19555</id>
		<title>File:StereoGm.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=File:StereoGm.jpg&amp;diff=19555"/>
		<updated>2011-08-26T07:14:14Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=File:StereoRg.jpg&amp;diff=19554</id>
		<title>File:StereoRg.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=File:StereoRg.jpg&amp;diff=19554"/>
		<updated>2011-08-26T07:13:19Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=File:StereoRc.jpg&amp;diff=19553</id>
		<title>File:StereoRc.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=File:StereoRc.jpg&amp;diff=19553"/>
		<updated>2011-08-26T07:12:40Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=File:StereoRb.jpg&amp;diff=19552</id>
		<title>File:StereoRb.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=File:StereoRb.jpg&amp;diff=19552"/>
		<updated>2011-08-26T07:12:05Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19551</id>
		<title>SoC 2011/Stereoscopic Video</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=SoC_2011/Stereoscopic_Video&amp;diff=19551"/>
		<updated>2011-08-26T07:07:02Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SoCProject|year=2011|student=[[User:MessiahAndrw|Andrew Price]]|mentor=[[User:j-b|Jean-Baptiste Kempf]]}} &lt;br /&gt;
&lt;br /&gt;
== Building from Source ==&lt;br /&gt;
&lt;br /&gt;
At the present state you must acquire the source code of the stereoscopic 3D branch and build it yourself. [https://github.com/MessiahAndrw/Stereoscopic-VLC] &lt;br /&gt;
&lt;br /&gt;
There are build instructions in a file named &#039;STEREOSCOPY README&#039; but I&#039;ll also repeat the instructions here. &lt;br /&gt;
&lt;br /&gt;
=== Build Environment ===&lt;br /&gt;
&lt;br /&gt;
I use 32-bit MSYS/x86 Windows 7. To set up your build environment first follow through the instructions on [Win32CompileMSYSNew] to make sure you&#039;re able to build VLC successfully on your system. &lt;br /&gt;
&lt;br /&gt;
The following build instructions should work on any Windows system. &lt;br /&gt;
&lt;br /&gt;
=== Building ===&lt;br /&gt;
&lt;br /&gt;
Create a new empty directory somewhere, and at the MSYS terminal type: &lt;br /&gt;
&lt;br /&gt;
 git pull git://github.com/MessiahAndrw/Stereoscopic-VLC.git&lt;br /&gt;
&lt;br /&gt;
To bootstrap the build I use the following: &lt;br /&gt;
&lt;br /&gt;
 cd vlc&lt;br /&gt;
 cp -v /usr/win32/share/aclocal/* m4/&lt;br /&gt;
 cp -v /usr/share/aclocal/* m4/&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH ./bootstrap&lt;br /&gt;
&lt;br /&gt;
Then to configure: &lt;br /&gt;
&lt;br /&gt;
 sh extras/package/win32/configure-msys.sh&lt;br /&gt;
&lt;br /&gt;
Finally to build: &lt;br /&gt;
&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH make package-win32 -j6&lt;br /&gt;
&lt;br /&gt;
(The -j6 switch is optional and tells makefile to use 6 threads, it speeds up the build time on my 6-core machine.) &lt;br /&gt;
&lt;br /&gt;
&#039;make package-win32&#039; will exit with the following error but that&#039;s normal and VLC has still been built: &lt;br /&gt;
&lt;br /&gt;
 cp: cannot stat `./npapi-vlc/installed/lib/npvlc.dll&#039;: No such file or directory&lt;br /&gt;
&lt;br /&gt;
If everything else was successful you will now have built VLC with stereoscopic support! You will find this build in the directory &#039;vlc-1.2.0-git&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Note on 3D Vision support ===&lt;br /&gt;
&lt;br /&gt;
nVidia 3D Vision only activates for windowed-mode programs which are supported by the nVidia driver. At the present state VLC is not supported by the nVidia driver. However, the driver only performs a simple file-name check of the application, so as a workaround you can rename vlc.exe to the same file-name as a supported application. This can be done simply by: &lt;br /&gt;
&lt;br /&gt;
 cd vlc-1.2.0-git&lt;br /&gt;
 mv vlc.exe wow.exe&lt;br /&gt;
&lt;br /&gt;
== Splitting ==&lt;br /&gt;
&lt;br /&gt;
To play a stereoscopic 3D video you must tell the stereoscopy module how to get the image for each eye. The stereoscopic module is takes a 2D input picture, and produces 2 output pictures (one for the left eye, and one for the right eye). &lt;br /&gt;
&lt;br /&gt;
=== Command line ===&lt;br /&gt;
&lt;br /&gt;
To enable the stereoscopic module you should add the following command line parameters when you start vlc: &lt;br /&gt;
&lt;br /&gt;
 --video-filter=&amp;quot;stereoscopy&amp;quot; --stereoscopy-left=&amp;quot;&amp;amp;lt;left&amp;amp;gt;&amp;quot; --stereoscopy-right=&amp;quot;&amp;amp;lt;right&amp;amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Where &amp;amp;lt;left&amp;amp;gt; and &amp;amp;lt;right&amp;amp;gt; are valid input formats (see the table below). &lt;br /&gt;
&lt;br /&gt;
=== QT4 ===&lt;br /&gt;
&lt;br /&gt;
You can configure the stereoscopy module through the QT4 interface. To do this, open the &#039;Tools&#039; menu and click on &#039;Effects and Filters&#039;. In the &#039;Adjustments and Effects&#039; dialog that opens navigate to the &#039;Video Effects&#039; tab. Then find the sub-tab titled &#039;Stereoscopy&#039;. Check &#039;Split&#039; to enable the stereoscopy module to split the image into separate left and right frames. Select your video&#039;s input formats for the &#039;Left Eye and the &#039;Right Eye&#039;. &lt;br /&gt;
&lt;br /&gt;
[[File:StereoscopyoptionsQt4.png]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Input formats ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Source &lt;br /&gt;
| Extracted Image &lt;br /&gt;
| Format name &lt;br /&gt;
| Description&lt;br /&gt;
|-&lt;br /&gt;
| 1 &lt;br /&gt;
| The picture is destined for the left eye.&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| The picture is destined for the right eye.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Developer notes ===&lt;br /&gt;
&lt;br /&gt;
picture_t contains a new field i_eye that is the eye the picture represents. Valid values at the moment are: &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
| The picture is 2D.&lt;br /&gt;
|-&lt;br /&gt;
| 1 &lt;br /&gt;
| The picture is destined for the left eye.&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| The picture is destined for the right eye.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The default value for i_eye is 0, and all present video codecs output frames where i_eye is 0. It is up to the stereoscopy module to split it into left and right. But it&#039;s possible for someone to develop a video codec that output pictures where i_eye&amp;amp;gt;0, for example for a container format where the data is stored as separate left/right images. In this case the stereoscopy module does nothing, and forwards the pictures on as is. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== nVidia 3D Vision ==&lt;br /&gt;
&lt;br /&gt;
== non-nVidia 3D Vision ==&lt;br /&gt;
&lt;br /&gt;
== Coming Soon ==&lt;br /&gt;
&lt;br /&gt;
== Trouble shooting= ==&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=File:StereoscopyoptionsQt4.png&amp;diff=19550</id>
		<title>File:StereoscopyoptionsQt4.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=File:StereoscopyoptionsQt4.png&amp;diff=19550"/>
		<updated>2011-08-26T07:05:38Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: The stereoscopy options for the QT4 gui.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The stereoscopy options for the QT4 gui.&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=3D&amp;diff=19549</id>
		<title>3D</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=3D&amp;diff=19549"/>
		<updated>2011-08-26T06:25:33Z</updated>

		<summary type="html">&lt;p&gt;MessiahAndrw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The intention of this page is to describe how to use VLC to watch 3D video. Please add to it if you can.&lt;br /&gt;
&lt;br /&gt;
==3D Display Technologies==&lt;br /&gt;
&lt;br /&gt;
Generally there are three widely use 3D display technologies, all based on the principles of stereoscopic projection:&lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Anaglyph_image Anaglyph] - red/green or red/blue images with glasses filtering out one colour or the other&lt;br /&gt;
* Polarisation - technique used in cinemas, with two images projected with different polarisations, a silvered screen and polarised glasses&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Liquid_crystal_shutter_glasses Shutter Glasses] - technique used by the new 3D televisions, where each alternating frame represent the left or right views.&lt;br /&gt;
&lt;br /&gt;
==Video formats supporting 3D==&lt;br /&gt;
&lt;br /&gt;
to do&lt;br /&gt;
&lt;br /&gt;
==How to view 3D videos in VLC==&lt;br /&gt;
&lt;br /&gt;
See [[SoC 2011/Stereoscopic Video]].&lt;br /&gt;
&lt;br /&gt;
==Related Pages==&lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Multiview_Video_Coding Multiview Video Coding]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Stereoscopy Stereoscopy]&lt;br /&gt;
* [http://netblender.ning.com/forum/topics/bluray-3d-sample-disc-encoded Blu-ray 3D sample disc encoded and authored with DoStudio]&lt;br /&gt;
* [http://www.avsforum.com/avs-vb/showthread.php?t=1176599 BD 3D details start to trickle out...] - forum posting&lt;br /&gt;
* [http://www.youtube.com/watch?v=5ANcspdYh_U YouTube in 3D]&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>MessiahAndrw</name></author>
	</entry>
</feed>