Unfortunately this isn't actually working as stereo. This is similar to what I had working, but the problem is the top image of the over/under is being sent to both eyes.
In the shader, there's this code to determine which portion of the source video to render into each fragment.
if (_Layout == 0) // No 3D layout o.layout3DScaleAndOffset = float4(0,0,1,1); else if (_Layout == 1) // Side-by-Side 3D layout o.layout3DScaleAndOffset = float4(unity_StereoEyeIndex,0,0.5,1); else // Over-Under 3D layout o.layout3DScaleAndOffset = float4(0, 1-unity_StereoEyeIndex,1,0.5);
It's dependent on unity_StereoEyeIndex being either 1 or 0. In the SDK it appears to always be 0, no matter which eye the pixels are rendering to. It appears that both eyes are being sent the same half of the video.