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 retrieve DirectX VA devices. This code is an implementation of the DdMoCompGetGuids callback function. The GetMoCompGuids member of the DD_MOTIONCOMPCALLBACKS structure points to the callback function.
DWORD g_dwDXVANumSupportedGUIDs = 4;
const GUID* g_DXVASupportedGUIDs[4] = {
&DXVA_DeinterlaceContainerDevice,
&DXVA_ProcAmpControlDevice
&DXVA_DeinterlaceBobDevice
&DXVA_COPPDevice
};
DWORD APIENTRY
MOCOMPCB_GETGUIDS(
PDD_GETMOCOMPGUIDSDATA lpData
)
{
DWORD dwNumToCopy;
// If lpGuids == NULL, the driver must return the number of
// supported GUIDS in the dwNumGuids parameter. If non-NULL,
// the supported GUIDS must be copied into the buffer at lpGuids.
if (lpData->lpGuids) {
dwNumToCopy = min(g_dwDXVANumSupportedGUIDs, lpData->dwNumGuids);
for (DWORD i = 0; i < dwNumToCopy; i++) {
lpData->lpGuids[i] = *g_DXVASupportedGUIDs[i];
}
}
else {
dwNumToCopy = g_dwDXVANumSupportedGUIDs;
}
lpData->dwNumGuids = dwNumToCopy;
lpData->ddRVal = DD_OK;
return DDHAL_DRIVER_HANDLED;
}