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 앱]
헤더
Mftransform.h

추가 정보

미디어 파운데이션 특성의 사전순 목록

Direct3D 인식 MFT

Media Foundation에서 DXVA 2.0 지원

Media Foundation 변환

변환 특성

IMFAttributes::GetUINT32

IMFAttributes::SetUINT32

MF_TOPOLOGY_DXVA_MODE