Share via


Funzionalità per la decodifica video

Come eseguire query sulle funzionalità di decodifica video

Per eseguire query sulle funzionalità di decodifica video di un driver di visualizzazione in modalità utente (UMD), il runtime D3D chiama la funzione GetCaps dell'UMD con uno dei tipi di richiesta seguenti specificati nel membro Type della struttura D3DDDIARG_GETCAPS passata a GetCaps:

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

GetCaps restituisce quanto segue:

  • Le funzionalità di UMD per il tipo di richiesta, nel buffer a cui punta il membro pData di D3DDDIARG_GETCAPS . L'UMD deve allocare un buffer abbastanza grande per contenere le funzionalità.
  • Dimensioni (in byte) del buffer contenente le funzionalità, in DataSize.

I sottopics seguenti elencano i possibili tipi di richiesta e le relative funzionalità di decodifica video associate.

D3DDDICAPS_GETDECODEGUIDCOUNT e D3DDDICAPS_GETDECODEGUIDS tipi di richiesta

Il runtime Direct3D chiama GetCaps per richiedere il numero di GUID, quindi chiama di nuovo GetCaps con una richiesta per l'elenco di GUID supportati. L'UMD restituisce il numero e quindi un elenco di GUID dall'elenco seguente che supporta la decodifica dell'accelerazione video (VA). D3DDDIARG_GETCAPS.il membro pInfo è NULL per entrambi questi tipi di richiesta.

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 e tipi di richiesta D3DDDICAPS_GETDECODERTFORMATS

Il runtime Direct3D specifica il GUID per un determinato tipo di decodifica DirectX VA in una variabile a cui punta il membro pInfo di D3DDDIARG_GETCAPS . L'UMD restituisce il numero e quindi un elenco di formati di destinazione di rendering supportati per un determinato tipo di decodifica DirectX VA.

D3DDDICAPS_GETDECODECOMPRESSEDBUFFERINFOCOUNT e D3DDDICAPS_GETDECODECOMPRESSEDBUFFERINFO tipi di richiesta

Il runtime Direct3D specifica una struttura DXVADDI_DECODEINPUT per un determinato tipo di decodifica DirectX VA in una variabile a cui punta il membro pInfo di D3DDDIARG_GETCAPS . UMD restituisce il numero di e informazioni sui tipi di buffer compressi necessari per accelerare il decodifica video. L'UMD restituisce informazioni sui tipi di buffer compressi in una matrice di strutture DXVADDI_DECODEBUFFERINFO che il membro pData di D3DDDIARG_GETCAPS specifica.

D3DDDICAPS_GETDECODECONFIGURATIONCOUNT e tipi di richiesta D3DDDICAPS_GETDECODECONFIGURATIONS

Il runtime Direct3D specifica una struttura DXVADDI_DECODEINPUT per un determinato tipo di decodifica DirectX VA in una variabile a cui punta il membro pInfo di D3DDDIARG_GETCAPS. L'UMD restituisce il numero e un elenco di configurazioni di decodifica accelerata supportate per un determinato tipo di decodifica DirectX VA. L'UMD restituisce configurazioni di decodifica accelerate in una matrice di strutture DXVADDI_CONFIGPICTUREDECODE che il membro pData di D3DDDIARG_GETCAPS specifica.