다음을 통해 공유


비디오 디코딩 기능 제공

비디오 디코딩 기능을 쿼리하는 방법

UMD(사용자 모드 표시 드라이버)의 비디오 디코딩 기능을 쿼리하기 위해 D3D 런타임은 GetCaps에 전달된 D3DDDIARG_GETCAPS 구조의 Type 멤버에 지정된 다음 요청 유형 중 하나를 사용하여 UMD의 GetCaps 함수를 호출합니다.

  • D3DDDICAPS_GETDECODEGUIDCOUNT
  • D3DDDICAPS_GETDECODEGUIDS
  • D3DDDICAPS_GETDECODERTFORMATCOUNT
  • D3DDDICAPS_GETDECODERTFORMATS
  • D3DDDICAPS_GETDECODECOMPRESSEDBUFFERINFOCOUNT
  • D3DDDICAPS_GETDECODECOMPRESSEDBUFFERINFO
  • D3DDDICAPS_GETDECODECONFIGURATIONCOUNT
  • D3DDDICAPS_GETDECODECONFIGURATIONS

GetCaps는 다음을 반환합니다.

  • D3DDDIARG_GETCAPSpData 멤버가 가리키는 버퍼의 요청 형식에 대한 UMD의 기능입니다. UMD는 기능을 보유할 수 있을 만큼 큰 버퍼를 할당해야 합니다.
  • DataSize의 기능을 포함하는 버퍼의 크기(바이트)입니다.

다음 하위 항목에는 가능한 요청 유형 및 관련 비디오 디코딩 기능이 나열되어 있습니다.

D3DDDICAPS_GETDECODEGUIDCOUNT 및 D3DDDICAPS_GETDECODEGUIDS 요청 유형

Direct3D 런타임은 GetCaps 를 호출하여 GUID 수를 요청한 다음 지원되는 GUID 목록에 대한 요청으로 GetCaps 를 다시 호출합니다. UMD는 VA(비디오 가속) 디코딩을 지원하는 다음 목록에서 숫자와 GUID 목록을 반환합니다. D3DDDIARG_GETCAPS. pInfo 멤버는 이러한 두 요청 유형 모두에 대해 NULL입니다.

DEFINE_GUID(DXVADDI_ModeMPEG2_MoComp, 0xe6a9f44b, 0x61b0, 0x4563,0x9e,0xa4,0x63,0xd2,0xa3,0xc6,0xfe,0x66);
DEFINE_GUID(DXVADDI_ModeMPEG2_IDCT,   0xbf22ad00, 0x03ea, 0x4690,0x80,0x77,0x47,0x33,0x46,0x20,0x9b,0x7e);
DEFINE_GUID(DXVADDI_ModeMPEG2_VLD,    0xee27417f, 0x5e28, 0x4e65,0xbe,0xea,0x1d,0x26,0xb5,0x08,0xad,0xc9);

DEFINE_GUID(DXVADDI_ModeH264_A,  0x1b81be64, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVADDI_ModeH264_B,  0x1b81be65, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVADDI_ModeH264_C,  0x1b81be66, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVADDI_ModeH264_D,  0x1b81be67, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVADDI_ModeH264_E,  0x1b81be68, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVADDI_ModeH264_F,  0x1b81be69, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);

DEFINE_GUID(DXVADDI_ModeWMV8_A,  0x1b81be80, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVADDI_ModeWMV8_B,  0x1b81be81, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);

DEFINE_GUID(DXVADDI_ModeWMV9_A,  0x1b81be90, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVADDI_ModeWMV9_B,  0x1b81be91, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVADDI_ModeWMV9_C,  0x1b81be94, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);

DEFINE_GUID(DXVADDI_ModeVC1_A,   0x1b81beA0, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVADDI_ModeVC1_B,   0x1b81beA1, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVADDI_ModeVC1_C,   0x1b81beA2, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVADDI_ModeVC1_D,   0x1b81beA3, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);

#define DXVADDI_ModeMPEG2_MOCOMP  DXVADDI_ModeMPEG2_MoComp

#define DXVADDI_ModeWMV8_PostProc  DXVADDI_ModeWMV8_A
#define DXVADDI_ModeWMV8_MoComp  DXVADDI_ModeWMV8_B

#define DXVADDI_ModeWMV9_PostProc  DXVADDI_ModeWMV9_A
#define DXVADDI_ModeWMV9_MoComp  DXVADDI_ModeWMV9_B
#define DXVADDI_ModeWMV9_IDCT  DXVADDI_ModeWMV9_C

#define DXVADDI_ModeVC1_PostProc  DXVADDI_ModeVC1_A
#define DXVADDI_ModeVC1_MoComp  DXVADDI_ModeVC1_B
#define DXVADDI_ModeVC1_IDCT  DXVADDI_ModeVC1_C
#define DXVADDI_ModeVC1_VLD  DXVADDI_ModeVC1_D

#define DXVADDI_ModeH264_MoComp_NoFGT  DXVADDI_ModeH264_A
#define DXVADDI_ModeH264_MoComp_FGT  DXVADDI_ModeH264_B
#define DXVADDI_ModeH264_IDCT_NoFGT  DXVADDI_ModeH264_C
#define DXVADDI_ModeH264_IDCT_FGT  DXVADDI_ModeH264_D
#define DXVADDI_ModeH264_VLD_NoFGT  DXVADDI_ModeH264_E
#define DXVADDI_ModeH264_VLD_FGT  DXVADDI_ModeH264_F

D3DDDICAPS_GETDECODERTFORMATCOUNT 및 D3DDDICAPS_GETDECODERTFORMATS 요청 유형

Direct3D 런타임은 D3DDDIARG_GETCAPSpInfo 멤버가 가리키는 변수의 특정 DirectX VA 디코딩 형식에 대한 GUID를 지정합니다. UMD는 숫자를 반환한 다음 특정 DirectX VA 디코딩 형식에 대해 지원하는 렌더링 대상 형식 목록을 반환합니다.

D3DDDICAPS_GETDECODECOMPRESSEDBUFFERINFOCOUNT 및 D3DDDICAPS_GETDECODECOMPRESSEDBUFFERINFO 요청 유형

Direct3D 런타임은 D3DDDIARG_GETCAPSpInfo 멤버가 가리키는 변수의 특정 DirectX VA 디코딩 형식에 대한 DXVADDI_DECODEINPUT 구조를 지정합니다. UMD는 비디오 디코딩을 가속화하는 데 필요한 압축된 버퍼 형식의 수와 정보를 반환합니다. UMD는 D3DDDIARG_GETCAPS pData 멤버가 지정하는 DXVADDI_DECODEBUFFERINFO 구조의 배열에서 압축된 버퍼 형식에 대한 정보를 반환합니다.

요청 유형 D3DDDICAPS_GETDECODECONFIGURATIONCOUNT 및 D3DDDICAPS_GETDECODECONFIGURATIONS

Direct3D 런타임은 D3DDDIARG_GETCAPSpInfo 멤버가 가리키는 변수의 특정 DirectX VA 디코딩 형식에 대한 DXVADDI_DECODEINPUT 구조를 지정합니다. UMD는 특정 DirectX VA 디코딩 형식에 대해 지원하는 가속 디코딩 구성의 수와 목록을 반환합니다. UMD는 D3DDDIARG_GETCAPS pData 멤버가 지정하는 DXVADDI_CONFIGPICTUREDECODE 구조의 배열에서 가속 디코딩 구성을 반환합니다.