D3D11_VIDEO_PROCESSOR_STEREO_FORMAT enumeration (d3d11.h)

Specifies the layout in memory of a stereo 3D video frame.

Syntax

typedef enum D3D11_VIDEO_PROCESSOR_STEREO_FORMAT {
  D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO = 0,
  D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_HORIZONTAL = 1,
  D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_VERTICAL = 2,
  D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_SEPARATE = 3,
  D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO_OFFSET = 4,
  D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_ROW_INTERLEAVED = 5,
  D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_COLUMN_INTERLEAVED = 6,
  D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_CHECKERBOARD = 7
} ;

Constants

 
D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO
Value: 0
The sample does not contain stereo data. If the stereo format is not specified, this value is the default.
D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_HORIZONTAL
Value: 1
Frame 0 and frame 1 are packed side-by-side, as shown in the following diagram.

Side-by-side packing

All drivers that support stereo video must support this format.
D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_VERTICAL
Value: 2
Frame 0 and frame 1 are packed top-to-bottom, as shown in the following diagram.

Top-to-bottom packing

All drivers that support stereo video must support this format.
D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_SEPARATE
Value: 3
Frame 0 and frame 1 are placed in separate resources or in separate texture array elements within the same resource.

All drivers that support stereo video must support this format.
D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO_OFFSET
Value: 4
The sample contains non-stereo data. However, the driver should create a left/right output of this sample using a specified offset. The offset is specified in the MonoOffset parameter of the ID3D11VideoContext::VideoProcessorSetStreamStereoFormat method.

This format is primarily intended for subtitles and other subpicture data, where the entire sample is presented on the same plane.

Support for this stereo format is optional.
D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_ROW_INTERLEAVED
Value: 5
Frame 0 and frame 1 are packed into interleaved rows, as shown in the following diagram.

Interleaved rows

Support for this stereo format is optional.
D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_COLUMN_INTERLEAVED
Value: 6
Frame 0 and frame 1 are packed into interleaved columns, as shown in the following diagram.

Interleaved columns

Support for this stereo format is optional.
D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_CHECKERBOARD
Value: 7
Frame 0 and frame 1 are packed in a checkerboard format, as shown in the following diagram.

Checkerboard packing

Support for this stereo format is optional.

Remarks

This enumeration designates the two stereo views as "frame 0" and "frame 1". The LeftViewFrame0 parameter of the VideoProcessorSetStreamStereoFormat method specifies which view is the left view, and which is the right view.

For packed formats, if the source rectangle clips part of the surface, the driver interprets the rectangle in logical coordinates relative to the stereo view, rather than absolute pixel coordinates. The result is that frame 0 and frame 1 are clipped proportionately.

To query whether the device supports stereo 3D video, call ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps and check for the D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_STEREO flag in the FeatureCaps member of the D3D11_VIDEO_PROCESSOR_CAPS structure. If this capability flag is present, it means that the driver supports all of the stereo formats that are not listed as optional. To find out which optional formats are supported, call GetVideoProcessorCaps and check the StereoCaps member of the structure.

Requirements

Requirement Value
Minimum supported client Windows 8 [desktop apps | UWP apps]
Minimum supported server Windows Server 2012 [desktop apps | UWP apps]
Header d3d11.h

See also

Direct3D 11 Video Enumerations

ID3D11VideoContext::VideoProcessorSetStreamStereoFormat