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 container device class:
// Deinterlace container device class.
struct DXVA_DeinterlaceContainerDeviceClass : public DXVA_DeviceBaseClass
{
// Uses the base class's constructor.
DXVA_DeinterlaceContainerDeviceClass(const GUID& guid, DXVA_DeviceType Type) :
DXVA_DeviceBaseClass(guid, Type)
{}
// Part of the Deinterlace DDI.
HRESULT DeinterlaceQueryAvailableModes(
LPDXVA_VideoDesc lpVideoDescription,
LPDWORD lpdwNumModesSupported,
LPGUID pGuidsDeinterlaceModes
);
// Part of the Deinterlace DDI.
HRESULT DeinterlaceQueryModeCaps(
LPGUID pGuidDeinterlaceMode,
LPDXVA_VideoDesc lpVideoDescription,
LPDXVA_DeinterlaceCaps lpDeinterlaceCaps
);
// Part of the ProcAmp Control DDI.
HRESULT ProcAmpControlQueryCaps(
LPDXVA_VideoDesc lpVideoDescription,
LPDXVA_ProcAmpControlCaps lpProcAmpControlCaps
);
// Part of the ProcAmp Control DDI.
HRESULT ProcAmpControlQueryRange(
DWORD VideoProperty,
LPDXVA_VideoDesc lpVideoDescription,
LPDXVA_VideoPropertyRange lpProcAmpControlRange
);
};