共用方式為


提供視訊解碼的功能

如何查詢影片解碼功能

若要查詢使用者模式顯示驅動程式的視訊解碼功能, (UMD) ,D3D 執行時間會呼叫 UMD 的GetCaps函式,其中一個要求類型是在傳遞至GetCapsD3DDDIARG_GETCAPS結構的Type成員中指定的下列要求類型

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

GetCaps 會傳回下列內容:

  • 要求類型的 UMD 功能,位於D3DDDIARG_GETCAPS 的 pData成員所指向的緩衝區中。 UMD 必須配置足以容納功能的緩衝區。
  • 大小 (以位元組為單位,) 包含 DataSize功能之緩衝區的大小。

下列子主題列出可能的要求類型及其相關聯的視訊解碼功能。

D3DDDICAPS_GETDECODEGUIDCOUNT和D3DDDICAPS_GETDECODEGUIDS要求類型

Direct3D 執行時間會呼叫 GetCaps 來要求 GUID 數目,然後使用支援的 GUID 清單要求再次呼叫 GetCaps 。 UMD 會傳回號碼,然後從下列清單中傳回 GUID 清單,其支援視訊加速 (VA) 解碼。 D3DDDIARG_GETCAPSpInfo成員是這兩種要求類型的 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 執行時間會在 pInfo 成員 D3DDDIARG_GETCAPS指向 的變數中,指定特定 DirectX VA 解碼類型的 GUID。 UMD 會傳回數位,然後傳回它針對特定 DirectX VA 解碼類型所支援的轉譯目標格式清單。

D3DDDICAPS_GETDECODECOMPRESSEDBUFFERINFOCOUNT和D3DDDICAPS_GETDECODECOMPRESSEDBUFFERINFO要求類型

Direct3D 執行時間會指定特定 DirectX VA 解碼類型的 DXVADDI_DECODEINPUT 結構,該變數是 pInfo 成員 所指向D3DDDIARG_GETCAPS 。 UMD 會傳回壓縮緩衝區類型的數目和資訊,這些類型需要加速影片解碼。 UMD 會傳回D3DDDIARG_GETCAPS之pData成員所指定之DXVADDI_DECODEBUFFERINFO結構陣列中壓縮緩衝區類型的相關資訊。

D3DDDICAPS_GETDECODECONFIGURATIONCOUNT和D3DDDICAPS_GETDECODECONFIGURATIONS要求類型

Direct3D 執行時間會在pInfo成員 D3DDDIARG_GETCAPS指向的變數中,指定特定 DirectX VA 解碼類型的DXVADDI_DECODEINPUT結構。 UMD 會傳回它針對特定 DirectX VA 解碼類型所支援的加速解碼組態數目和清單。 UMD 會在p D3DDDIARG_GETCAPS Data成員所指定之 DXVADDI_CONFIGPICTUREDECODE結構的陣列中傳回加速解碼組態。