DXVA_DeinterlaceBobDeviceClass::DeinterlaceOpenStream method

The sample DeinterlaceOpenStream function creates and opens a deinterlace stream object.

Syntax

HRESULT DeinterlaceOpenStream(
  [in] LPDXVA_VideoDesc lpVideoDescription
);

Parameters

lpVideoDescription [in] Supplies a pointer to a DXVA_VideoDesc structure that indicates the type of video to be deinterlaced or rate-converted. The pointer 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. All drivers should be able to support bob using the existing bit-block transfer hardware.

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

After a deinterlace mode GUID is found using the DeinterlaceQueryAvailableModes function, the deinterlace stream object can be created. This object allows a display driver to reserve any hardware resources that are required to perform the requested deinterlace operations.

For more information about how the driver performs deinterlace or frame-rate-conversion operations using the information supplied by the lpVideoDescription parameter, see Video Content for Deinterlace and Frame-Rate Conversion.

The sample DeinterlaceOpenStream function maps directly to the CreateMoComp member of the DD_MOTIONCOMPCALLBACKS structure, where the GUID is the deinterlace mode requested. The lpData member of the DD_CREATEMOCOMPDATA structure points to a DXVA_VideoDesc structure.

See also

DD_MOTIONCOMPCALLBACKS

DD_CREATEMOCOMPDATA

DeinterlaceQueryAvailableModes

DXVA_VideoDesc