DXVAHDDDI_VPCAPS structure (d3dumddi.h)
The DXVAHDDDI_VPCAPS structure describes a video processor and its capabilities.
Syntax
typedef struct _DXVAHDDDI_VPCAPS {
[out] GUID VPGuid;
[out] UINT PastFrames;
[out] UINT FutureFrames;
[out] UINT ProcessorCaps;
[out] UINT ITelecineCaps;
[out] UINT CustomRateCount;
} DXVAHDDDI_VPCAPS;
Members
[out] VPGuid
A GUID that identifies the video processor.
[out] PastFrames
The number of past reference frames that are required to perform the optimal video processing.
[out] FutureFrames
The number of future reference frames that are required to perform the optimal video processing.
[out] ProcessorCaps
A bitwise OR of the following values from the DXVAHDDDI_PROCESSOR_CAPS enumeration to indicate video processor-specific capabilities.
Value | Meaning |
---|---|
DXVAHDDDI_PROCESSOR_CAPS_DEINTERLACE_BLEND (0x1) | The driver can perform blend deinterlacing where the two fields in an interlaced frame are blended. The driver uses this deinterlacing type when it deinterlaces at half rate. For more information about half rate, see DXVAHDDDI_OUTPUT_RATE. |
DXVAHDDDI_PROCESSOR_CAPS_DEINTERLACE_BOB (0x2) | The driver can perform Bob deinterlacing where missing scan lines are created from the lines above and below the missing line. The 4tap filter ([–1,9,9,–1]/16) produces slightly better results. The driver uses this deinterlacing type when not enough reference frames are provided for adaptive deinterlacing. |
DXVAHDDDI_PROCESSOR_CAPS_DEINTERLACE_ADAPTIVE (0x4) | The driver can perform adaptive deinterlacing where missing scan lines are created from either spatial or temporal interpolation by switching between the two interpolation types, depending on the pixel or field motion. |
DXVAHDDDI_PROCESSOR_CAPS_DEINTERLACE_MOTION_COMPENSATION (0x8) | The driver can perform motion-compensated deinterlacing where missing scan lines are created by using the motion vectors. This deinterlacing type is the most advanced deinterlacing that is implemented by using a proprietary algorithm. |
DXVAHDDDI_PROCESSOR_CAPS_INVERSE_TELECINE (0x10) | The driver can convert from the interlaced frames to original progressive frames by reversing the telecine. For more information about reversing the telecine, see the ITelecineCaps member. |
DXVAHDDDI_PROCESSOR_CAPS_FRAME_RATE_CONVERSION (0x20) | The driver can convert the frame rate by interpolating the frames. |
The driver should not require any reference frames if it uses the deinterlacing types that are associated with DXVAHDDDI_PROCESSOR_CAPS_DEINTERLACE_BLEND and DXVAHDDDI_PROCESSOR_CAPS_DEINTERLACE_BOB.
When the driver uses inverse telecine with normal rate de-interlacing, because the telecined interlaced frames become fewer progressive frames, the driver maintains the frame rate by repeating the frames. If the same video processor supports the frame rate conversion, the driver might interpolate the frames rather than repeating while reversing the telecine. DXVAHDDDI_STREAM_STATE_OUTPUT_RATE_DATA can control this interpolation.
For more information about blend and Bob de-interlacing, see DXVAHDDDI_STREAM_DATA.
[out] ITelecineCaps
A bitwise OR of the following values from the DXVAHDDDI_ITELECINE_CAPS enumeration to indicate inverse telecine-specific capabilities.
Value | Meaning |
---|---|
DXVAHDDDI_ITELECINE_CAPS_32 (0x1) | The driver can perform reverse 3:2 telecine, NTSC(60i) -> Film(24p). |
DXVAHDDDI_ITELECINE_CAPS_22 (0x2) | The driver can perform reverse 2:2 telecine, PAL(50i) -> Film(25p:4% faster) and NTSC(60i) -> CG(30p). |
DXVAHDDDI_ITELECINE_CAPS_2224 (0x4) | The driver can perform reverse 2:2:2:4 telecine, NTSC(60i) -> DVCAM(24p). |
DXVAHDDDI_ITELECINE_CAPS_2332 (0x8) | The driver can perform reverse 2:3:3:2 telecine, NTSC(60i) -> DVCAM(24p). |
DXVAHDDDI_ITELECINE_CAPS_32322 (0x10) | The driver can perform reverse 3:2:3:2:2 telecine, NTSC(60i) -> Film(25p:4% faster). |
DXVAHDDDI_ITELECINE_CAPS_55 (0x20) | The driver can perform reverse 5:5 telecine, NTSC(60i) -> Animation(12p). |
DXVAHDDDI_ITELECINE_CAPS_64 (0x40) | The driver can perform reverse 6:4 telecine, NTSC(60i) -> Animation(12p). |
DXVAHDDDI_ITELECINE_CAPS_87 (0x80) | The driver can perform reverse 8:7 telecine, NTSC(60i) -> Anime(8p). |
DXVAHDDDI_ITELECINE_CAPS_222222222223 (0x100) | The driver can perform reverse 2:2:2:2:2:2:2:2:2:2:2:3 telecine, PAL(50i) -> Film(24p). |
DXVAHDDDI_ITELECINE_CAPS_OTHER (0x80000000) | The driver can perform reverse non-standard telecine. |
[out] CustomRateCount
The number of supported custom output rates. The driver returns an array of DXVAHDDDI_CUSTOM_RATE_DATA structures for the custom output rates that the video processor supports when the driver's GetCaps function is called with the D3DDDICAPS_DXVAHD_GETVPCUSTOMRATES value set.
Remarks
The user-mode display driver returns a pointer to a populated DXVAHDDDI_VPCAPS structure in the pData member of the D3DDDIARG_GETCAPS structure when its GetCaps function is called with the D3DDDICAPS_DXVAHD_GETVPCAPS value set in the Type member of D3DDDIARG_GETCAPS.
Requirements
Requirement | Value |
---|---|
Minimum supported client | DXVAHDDDI_VPCAPS is supported beginning with the Windows 7 operating system. |
Header | d3dumddi.h (include D3dumddi.h) |