Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Use the following example code to define the deinterlace bob device class:
// Deinterlace bob device class.
struct DXVA_DeinterlaceBobDeviceClass : public DXVA_DeviceBaseClass
{
DXVA_VideoDesc m_VideoDesc;
// Uses the base class's constructor.
DXVA_DeinterlaceBobDeviceClass(const GUID& guid, DXVA_DeviceType Type) :
DXVA_DeviceBaseClass(guid, Type)
{}
// The following functions are part of the
// Deinterlace DDI.
HRESULT DeinterlaceOpenStream(LPDXVA_VideoDesc lpVideoDescription);
HRESULT DeinterlaceCloseStream();
HRESULT DeinterlaceBlt(
REFERENCE_TIME rtTargetFrame,
LPRECT lprcDstRect,
LPDDSURFACE lpDDSDstSurface,
LPRECT lprcSrcRect,
LPDXVA_VideoSample lpDDSrcSurfaces,
DWORD dwNumSurfaces,
FLOAT fAlpha);
HRESULT DeinterlaceBltEx(
REFERENCE_TIME rtTargetFrame,
LPRECT lprcTargetRect,
DXVA_AYUVsample2 BackgroundColor,
DWORD dwDestinationFormat,
DWORD dwDestinationFlags,
LPDDSURFACE lpDDSDstSurface,
LPDXVA_VideoSample2 lpDDSrcSurfaces,
DWORD dwNumSurfaces,
FLOAT fAlpha);
};