Export (0) Print
Expand All
Expand Minimize

DXVA2_VideoProcessorCaps structure

Describes the capabilities of a DirectX Video Acceleration (DVXA) video processor mode.

Syntax


typedef struct _DXVA2_VideoProcessorCaps {
  UINT    DeviceCaps;
  D3DPOOL InputPool;
  UINT    NumForwardRefSamples;
  UINT    NumBackwardRefSamples;
  UINT    Reserved;
  UINT    DeinterlaceTechnology;
  UINT    ProcAmpControlCaps;
  UINT    VideoProcessorOperations;
  UINT    NoiseFilterTechnology;
  UINT    DetailFilterTechnology;
} DXVA2_VideoProcessorCaps;

Members

DeviceCaps

Identifies the type of device. The following values are defined.

ValueMeaning
DXVA2_VPDev_EmulatedDXVA1

DXVA 2.0 video processing is emulated by using DXVA 1.0. An emulated device may be missing significant processing capabilities and have lower image quality and performance.

DXVA2_VPDev_HardwareDevice

Hardware device.

DXVA2_VPDev_SoftwareDevice

Software device.

 

InputPool

The Direct3D memory pool used by the device.

NumForwardRefSamples

Number of forward reference samples the device needs to perform deinterlacing. For the bob, progressive scan, and software devices, the value is zero.

NumBackwardRefSamples

Number of backward reference samples the device needs to perform deinterlacing. For the bob, progressive scan, and software devices, the value is zero.

Reserved

Reserved. Must be zero.

DeinterlaceTechnology

Identifies the deinteracing technique used by the device. This value is a bitwise OR of one or more of the following flags.

ValueMeaning
DXVA2_DeinterlaceTech_Unknown

The algorithm is unknown or proprietary.

DXVA2_DeinterlaceTech_BOBLineReplicate

The algorithm creates missing lines by repeating the line either above or below the missing line. This algorithm produces a jagged image and is not recommended.

DXVA2_DeinterlaceTech_BOBVerticalStretch

The algorithm creates missing lines by averaging two lines. Slight vertical adjustments are made so that the resulting image does not bob up and down.

DXVA2_DeinterlaceTech_BOBVerticalStretch4Tap

The algorithm creates missing lines by applying a [−1, 9, 9, −1]/16 filter across four lines. Slight vertical adjustments are made so that the resulting image does not bob up and down.

DXVA2_DeinterlaceTech_MedianFiltering

The algorithm uses median filtering to recreate the pixels in the missing lines.

DXVA2_DeinterlaceTech_EdgeFiltering

The algorithm uses an edge filter to create the missing lines. In this process, spatial directional filters are applied to determine the orientation of edges in the picture content. Missing pixels are created by filtering along (rather than across) the detected edges.

DXVA2_DeinterlaceTech_FieldAdaptive

The algorithm uses spatial or temporal interpolation, switching between the two on a field-by-field basis, depending on the amount of motion.

DXVA2_DeinterlaceTech_PixelAdaptive

The algorithm uses spatial or temporal interpolation, switching between the two on a pixel-by-pixel basis, depending on the amount of motion.

DXVA2_DeinterlaceTech_MotionVectorSteered

The algorithm identifies objects within a sequence of video fields. Before it recreates the missing pixels, it aligns the movement axes of the individual objects in the scene to make them parallel with the time axis.

DXVA2_DeinterlaceTech_InverseTelecine

The device can undo the 3:2 pulldown process used in telecine.

 

ProcAmpControlCaps

Specifies the available video processor (ProcAmp) operations. The value is a bitwise OR of ProcAmp Settings constants.

VideoProcessorOperations

Specifies operations that the device can perform concurrently with the IDirectXVideoProcessor::VideoProcessBlt operation. The value is a bitwise OR of the following flags.

ValueMeaning
DXVA2_VideoProcess_YUV2RGB

The device can convert the video from YUV color space to RGB color space, with at least 8 bits of precision for each RGB component.

DXVA2_VideoProcess_StretchX

The device can stretch or shrink the video horizontally. If this capability is present, aspect ratio correction can be performed at the same time as deinterlacing.

DXVA2_VideoProcess_StretchY

The device can stretch or shrink the video vertically. If this capability is present, image resizing and aspect ratio correction can be performed at the same time.

DXVA2_VideoProcess_AlphaBlend

The device can alpha blend the video.

DXVA2_VideoProcess_SubRects

The device can operate on a subrectangle of the video frame. If this capability is present, source images can be cropped before further processing occurs.

DXVA2_VideoProcess_SubStreams

The device can accept substreams in addition to the primary video stream, and can composite them.

DXVA2_VideoProcess_SubStreamsExtended

The device can perform color adjustments on the primary video stream and substreams, at the same time that it deinterlaces the video and composites the substreams. The destination color space is defined in the DestFormat member of the DXVA2_VideoProcessBltParams structure. The source color space for each stream is defined in the SampleFormat member of the DXVA2_VideoSample structure.

DXVA2_VideoProcess_YUV2RGBExtended

The device can convert the video from YUV to RGB color space when it writes the deinterlaced and composited pixels to the destination surface.

An RGB destination surface could be an off-screen surface, texture, Direct3D render target, or combined texture/render target surface. An RGB destination surface must use at least 8 bits for each color channel.

DXVA2_VideoProcess_AlphaBlendExtended

The device can perform an alpha blend operation with the destination surface when it writes the deinterlaced and composited pixels to the destination surface.

DXVA2_VideoProcess_Constriction

The device can downsample the output frame, as specified by the ConstrictionSize member of the DXVA2_VideoProcessBltParams structure.

DXVA2_VideoProcess_NoiseFilter

The device can perform noise filtering.

DXVA2_VideoProcess_DetailFilter

The device can perform detail filtering.

DXVA2_VideoProcess_PlanarAlpha

The device can perform a constant alpha blend to the entire video stream when it composites the video stream and substreams.

DXVA2_VideoProcess_LinearScaling

The device can perform accurate linear RGB scaling, rather than performing them in nonlinear gamma space.

DXVA2_VideoProcess_GammaCompensated

The device can correct the image to compensate for artifacts introduced when performing scaling in nonlinear gamma space.

DXVA2_VideoProcess_MaintainsOriginalFieldData

The deinterlacing algorithm preserves the original field lines from the interlaced field picture, unless scaling is also applied.

For example, in deinterlacing algorithms such as bob and median filtering, the device copies the original field into every other scan line and then applies a filter to reconstruct the missing scan lines. As a result, the original field can be recovered by discarding the scan lines that were interpolated.

If the image is scaled vertically, however, the original field lines cannot be recovered. If the image is scaled horizontally (but not vertically), the resulting field lines will be equivalent to scaling the original field picture. (In other words, discarding the interpolated scan lines will yield the same result as stretching the original picture without deinterlacing.)

 

NoiseFilterTechnology

Specifies the supported noise filters. The value is a bitwise OR of the following flags.

ValueMeaning
DXVA2_NoiseFilterTech_Unsupported

Noise filtering is not supported.

DXVA2_NoiseFilterTech_Unknown

Unknown or proprietary filter.

DXVA2_NoiseFilterTech_Median

Median filter.

DXVA2_NoiseFilterTech_Temporal

Temporal filter.

DXVA2_NoiseFilterTech_BlockNoise

Block noise filter.

DXVA2_NoiseFilterTech_MosquitoNoise

Mosquito noise filter.

 

DetailFilterTechnology

Specifies the supported detail filters. The value is a bitwise OR of the following flags.

ValueMeaning
DXVA2_DetailFilterTech_Unsupported

Detail filtering is not supported.

DXVA2_DetailFilterTech_Unknown

Unknown or proprietary filter.

DXVA2_DetailFilterTech_Edge

Edge filter.

DXVA2_DetailFilterTech_Sharpening

Sharpen filter.

 

Requirements

Minimum supported client

Windows Vista [desktop apps only]

Minimum supported server

Windows Server 2008 [desktop apps only]

Header

Dxva2api.h

See also

IDirectXVideoProcessor::GetVideoProcessorCaps
IDirectXVideoProcessorService::GetVideoProcessorCaps
IMFVideoProcessor::GetVideoProcessorCaps
Media Foundation Structures

 

 

Community Additions

ADD
Show:
© 2014 Microsoft