Compartir a través de


Proporcionar funcionalidades para la descodificación de vídeo

Cómo consultar las funcionalidades de descodificación de vídeo

Para consultar las funcionalidades de descodificación de vídeo de un controlador de visualización en modo de usuario (UMD), el tiempo de ejecución D3D llama a la función GetCaps de UMD con uno de los siguientes tipos de solicitud especificados en el miembro Type de la estructura de D3DDDIARG_GETCAPS pasado a GetCaps:

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

GetCaps devuelve lo siguiente:

  • Las funcionalidades de UMD para el tipo de solicitud, en el búfer al que apunta el miembro pData de D3DDDIARG_GETCAPS . El UMD debe asignar un búfer lo suficientemente grande como para contener las funcionalidades.
  • Tamaño (en bytes) del búfer que contiene las funcionalidades, en DataSize.

En los subtemas siguientes se enumeran los posibles tipos de solicitud y sus funcionalidades de descodificación de vídeo asociadas.

tipos de solicitud de D3DDDICAPS_GETDECODEGUIDCOUNT y D3DDDICAPS_GETDECODEGUIDS

El tiempo de ejecución de Direct3D llama a GetCaps para solicitar el número de GUID y, a continuación, llama a GetCaps de nuevo con una solicitud para la lista de GUID admitidos. UmD devuelve el número y, a continuación, una lista de GUID de la siguiente lista que admite para la descodificación de aceleración de vídeo (VA). El D3DDDIARG_GETCAPS. El miembro pInfo es NULL para ambos tipos de solicitud.

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

tipos de solicitud de D3DDDICAPS_GETDECODERTFORMATCOUNT y D3DDDICAPS_GETDECODERTFORMATS

El tiempo de ejecución de Direct3D especifica el GUID de un determinado tipo de descodificación de VA de DirectX en una variable a la que apunta el miembro pInfo de D3DDDIARG_GETCAPS . UmD devuelve el número y, a continuación, una lista de formatos de destino de representación que admite para un tipo de descodificación de DirectX VA determinado.

tipos de solicitud de D3DDDICAPS_GETDECODECOMPRESSEDBUFFERINFOCOUNT y D3DDDICAPS_GETDECODECOMPRESSEDBUFFERINFO

El tiempo de ejecución de Direct3D especifica una estructura de DXVADDI_DECODEINPUT para un determinado tipo de descodificación de DirectX VA en una variable a la que apunta el miembro pInfo de D3DDDIARG_GETCAPS . UmD devuelve el número de y la información sobre los tipos de búfer comprimidos necesarios para acelerar la descodificación de vídeo. El UMD devuelve información sobre los tipos de búfer comprimidos en una matriz de estructuras de DXVADDI_DECODEBUFFERINFO que especifica el miembro pData de D3DDDIARG_GETCAPS.

tipos de solicitud de D3DDDICAPS_GETDECODECONFIGURATIONCOUNT y D3DDDICAPS_GETDECODECONFIGURATIONS

El tiempo de ejecución de Direct3D especifica una estructura de DXVADDI_DECODEINPUT para un tipo de descodificación de DirectX VA determinado en una variable a la que apunta el miembro pInfo de D3DDDIARG_GETCAPS. UmD devuelve el número y una lista de configuraciones de descodificación aceleradas que admite para un tipo de descodificación de DirectX VA determinado. UmD devuelve configuraciones de descodificación aceleradas en una matriz de estructuras de DXVADDI_CONFIGPICTUREDECODE que especifica el miembro pData de D3DDDIARG_GETCAPS.