MF_SA_D3D_AWARE 특성
MFT(Media Foundation 변환)가 DXVA(DirectX Video Acceleration)를 지원하는지 여부를 지정합니다. 이 특성은 비디오 MFT에만 적용됩니다.
데이터 형식
UINT32로 저장된 BOOL
설명
이 특성을 쿼리하려면 IMFTransform::GetAttributes 를 호출하여 MFT의 전역 특성 저장소를 가져옵니다. GetAttributes가 성공하면 IMFAttributes::GetUINT32를 호출합니다.
이 특성은 MFT가 Direct3D 9 비디오를 사용할 수 있는지 여부를 클라이언트에 알려줍니다.
- 특성이 0이 아닌 경우 클라이언트는 스트리밍이 시작되기 전에 MFT에 IDirect3DDeviceManager9 인터페이스에 대한 포인터를 제공할 수 있습니다. 이렇게 하려면 클라이언트는 MFT에 MFT_MESSAGE_SET_D3D_MANAGER 메시지를 보냅니다. 클라이언트는 이 메시지를 보낼 필요가 없습니다.
- 이 특성이 0(FALSE)인 경우 MFT는 Direct3D 9 비디오를 지원하지 않으며 클라이언트는 MFT에 MFT_MESSAGE_SET_D3D_MANAGER 메시지를 보내지 않아야 합니다.
이 특성의 기본값은 FALSE입니다. 이 특성을 읽기 전용으로 처리합니다. 값을 변경하지 마세요. MFT는 값에 대한 변경 내용을 무시합니다.
사용자 지정 MFT에서 이 특성을 구현하는 방법에 대한 자세한 내용은 Direct3D 인식 MFT를 참조하세요.
이 특성의 GUID 상수는 mfuuid.lib에서 내보냅니다.
예제
다음 코드는 MFT가 DXVA를 지원하는지 여부를 테스트합니다.
// Returns TRUE is an MFT supports DirectX Video Acceleration.
BOOL IsTransformD3DAware(IMFTransform *pMFT)
{
BOOL bD3DAware = FALSE;
IMFAttributes *pAttributes = NULL;
HRESULT hr = pMFT->GetAttributes(&pAttributes);
if (SUCCEEDED(hr))
{
bD3DAware = MFGetAttributeUINT32(pAttributes, MF_SA_D3D_AWARE, FALSE);
pAttributes->Release();
}
return bD3DAware;
}
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 |
Windows Vista [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 |
Windows Server 2008 [데스크톱 앱 | UWP 앱] |
헤더 |
|
추가 정보