ビデオ デコードの機能の提供
ビデオ デコード機能にクエリを実行する方法
ユーザー モード ディスプレイ ドライバー (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_GETCAPS の pData メンバーが指すバッファーに、その要求の種類に対する 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_GETCAPS の pInfo メンバーが指す変数に、特定の DirectX VA デコードの種類の GUID を指定します。 UMD は、特定の DirectX VA デコードの種類のためにサポートしているレンダー ターゲット形式の数の後にリストを返します。
D3DDDICAPS_GETDECODECOMPRESSEDBUFFERINFOCOUNT と D3DDDICAPS_GETDECODECOMPRESSEDBUFFERINFO 要求の種類
Direct3D ランタイムは、D3DDDIARG_GETCAPS の pInfo メンバーが指す変数に、特定の DirectX VA デコードの種類の DXVADDI_DECODEINPUT 構造体を指定します。 UMD は、ビデオ デコードを高速化するために必要な圧縮バッファーの種類の数と情報を返します。 UMD は、D3DDDIARG_GETCAPS の pData メンバーが指定する DXVADDI_DECODEBUFFERINFO 構造体の配列に、圧縮バッファーの種類に関する情報を返します。
D3DDDICAPS_GETDECODECONFIGURATIONCOUNT と D3DDDICAPS_GETDECODECONFIGURATIONS 要求の種類
Direct3D ランタイムは、D3DDDIARG_GETCAPS の pInfo メンバーが指す変数に、特定の DirectX VA デコードの種類の DXVADDI_DECODEINPUT 構造体を指定します。 UMD は、特定の DirectX VA デコードの種類ためにサポートしている高速デコード構成の数とリストを返します。 UMD は、D3DDDIARG_GETCAPS の pData メンバーが指定する DXVADDI_CONFIGPICTUREDECODE 構造体の配列に、高速デコード構成を返します。