DXVA_DeinterlaceContainerDeviceClass::DeinterlaceQueryModeCaps method
The sample DeinterlaceQueryModeCaps function queries the driver to determine the input capabilities of a particular deinterlace mode and any additional video processing that might be supported on that mode.
Syntax
HRESULT DeinterlaceQueryModeCaps(
[in] LPGUID pGuidDeinterlaceMode,
[in] LPDXVA_VideoDesc lpVideoDescription,
[out] DXVA_DeinterlaceCaps *lpDeinterlaceCaps
);
Parameters
pGuidDeinterlaceMode [in] Supplies a pointer to the GUID used to specify the deinterlace mode.
lpVideoDescription [in] Supplies a pointer to a DXVA_VideoDesc structure that defines the type of video to be deinterlaced or rate-converted.
lpDeinterlaceCaps [out] Receives a pointer to a DXVA_DeinterlaceCaps structure that contains the capabilities of the deinterlace mode.
Return value
Returns zero (S_OK or DD_OK) if successful; otherwise, returns an error code. Refer to ddraw.h for a complete list of error codes.
Remarks
The driver is queried by the VMR for the capabilities of a deinterlace mode after the VMR has determined the deinterlace modes available for a particular video format. The driver returns available modes from a call to its DeinterlaceQueryAvailableModes function.
The DeinterlaceQueryModeCaps function reports the capabilities for a given mode in the DXVA_DeinterlaceCaps structure.
The lpVideoDescription parameter is passed to the driver so that the driver can support the resolution and format of the source video. For example, the driver might be able to perform a three-field adaptive deinterlace of 480i content, but it might only be able to bob 1080i content. For more information, see Video Content for Deinterlace and Frame-Rate Conversion.
All drivers should be able to support the bob mode using the existing bit-block transfer hardware.
Mapping RenderMoComp to DeinterlaceQueryModeCaps
The DeinterlaceQueryModeCaps function maps directly to a call to the RenderMoComp member of the DD_MOTIONCOMPCALLBACKS structure. The RenderMoComp member points to a display driver-supplied function that references the DD_RENDERMOCOMPDATA structure.
The RenderMoComp callback is called without the display driver-supplied BeginMoCompFrame or EndMoCompFrame function being called first.
The DD_RENDERMOCOMPDATA structure is filled as follows.
Member | Value |
---|---|
dwNumBuffers |
Zero. |
lpBufferInfo |
NULL. |
dwFunction |
DXVA_DeinterlaceQueryAvailableModesFnCode constant (defined in dxva.h). |
lpInputData |
Pointer to a DXVA_DeinterlaceQueryModeCaps structure. |
lpOutputData |
Pointer to a DXVA_DeinterlaceCaps structure. |
Requirements
Target platform |
Desktop |
Header |
N/A (Declared in a driver-supplied header file) |