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)

See also

DD_MOTIONCOMPCALLBACKS

DD_RENDERMOCOMPDATA

DeinterlaceQueryAvailableModes

DXVA_DeinterlaceQueryModeCaps

DXVA_DeinterlaceCaps

DXVA_VideoDesc