Compartir a través de


estructura DXVADDI_DECODEBUFFERDESC (d3dumddi.h)

La estructura DXVADDI_DECODEBUFFERDESC describe un búfer que se pasa actualmente desde el descodificador del host al acelerador.

Sintaxis

typedef struct _DXVADDI_DECODEBUFFERDESC {
  [in] HANDLE            hBuffer;
  [in] D3DDDIFORMAT      CompressedBufferType;
  [in] UINT              BufferIndex;
  [in] UINT              DataOffset;
  [in] UINT              DataSize;
  [in] UINT              FirstMBaddress;
  [in] UINT              NumMBsInBuffer;
  [in] UINT              Width;
  [in] UINT              Height;
  [in] UINT              Stride;
  [in] UINT              ReservedBits;
  [in] DXVADDI_PVP_HW_IV *pCipherCounter;
} DXVADDI_DECODEBUFFERDESC;

Miembros

[in] hBuffer

Identificador del búfer.

[in] CompressedBufferType

Valor D3DDDIFORMATcon tipo que indica el formato de píxel del búfer.

[in] BufferIndex

Reservado. No use este miembro. Para obtener más información, vea la sección Comentarios.

[in] DataOffset

Desplazamiento de los datos pertinentes desde el principio del búfer, en bytes. El uso de este miembro está restringido actualmente al valor cero.

[in] DataSize

Cantidad de datos relevantes en el búfer, en bytes. La ubicación del último byte de contenido en el búfer es el valor de DataOffset más el valor de DataSize menos 1.

[in] FirstMBaddress

Dirección de macrobloqueo del primer bloque de macros del búfer que se pasa al acelerador. La dirección de macrobloqueo se da en orden de examen de trama. La dirección viene determinada por los miembros de la estructura DXVA_PictureParameters. En la tabla siguiente se muestran ejemplos de direcciones de macrobloqueo.

macrobloqueo dirección
Superior izquierda Cero
Superior derecha wPicWidthInMBminus1 de DXVA_PictureParameters.
Abajo a la izquierda wPicHeightInMBminus1 x (wPicWidthInMBminus1+1). Miembros de DXVA_PictureParameters.
Abajo a la derecha (wPicHeightInMBminus1+1) x (wPicWidthInMBminus1+1)-1. Miembros de DXVA_PictureParame

El miembro FirstMBaddress debe ser cero si el búfer de datos es uno de los siguientes tipos: parámetros de descodificación de imágenes, matriz de cuantificación inversa, control de segmento, datos de secuencia de bits, AYUV, IA44/AI44, DPXD, Highlight y DCCMD.

Si el búfer de datos es un búfer de datos de bloque de diferencia residual, FirstMBaddress debe tener el mismo valor que para el búfer de comandos de control de macrobloque correspondiente.

[in] NumMBsInBuffer

Número de macrobloqueos de datos en el búfer, incluidos los bloques de macro omitidos. Este miembro debe ser cero si el búfer de datos es uno de los siguientes tipos: parámetros de descodificación de imágenes, matriz de cuantificación inversa, AYUV, IA44/AI44, DPXD, Highlight o DCCMD.

El valor de NumMBsInBuffer depende del tipo de búfer de datos que se usa, como se muestra en la tabla siguiente.

tipo de búfer de valor de NumMBsInBuffer
Comando de control Macroblock Suma de todos los valores de MBskipsFollowing, agregados al número de comandos de control de macrobloqueo en el búfer de comandos de control de macrobloqueo.
Bloque de diferencia residual El mismo valor que para el búfer de comandos de control de macroblock correspondiente.
Comando Slice-control Valor del miembro wNumberMBsInSlice de la estructura DXVA_SliceInfo en el búfer de control de segmentos.
Bitstream El mismo valor que para el búfer de comandos de control de segmento correspondiente.

[in] Width

Reservado. No use este miembro. Para obtener más información, vea la sección Comentarios.

[in] Height

Reservado. No use este miembro. Para obtener más información, vea la sección Comentarios.

[in] Stride

Reservado. No use este miembro. Para obtener más información, vea la sección Comentarios.

[in] ReservedBits

Bits reservados que se usan para empaquetar y alinear. Este miembro debe ser cero.

[in] pCipherCounter

Puntero a una estructura de DXVADDI_PVP_HW_IV que contiene un valor de ruta de acceso de vídeo protegido (PVP) de 128 bits.

Observaciones

Una matriz de estructuras de DXVADDI_DECODEBUFFERDESC se conoce como una lista de descripción del búfer de . Cuando se envía un conjunto de búferes desde el descodificador de host al acelerador de hardware, se envía una lista de descripción del búfer para describir los búferes. La lista de descripción del búfer contiene una estructura DXVADDI_DECODEBUFFERDESC para cada búfer de este conjunto. La lista de descripción del búfer comienza con una estructura de DXVADDI_DECODEBUFFERDESC para el primer búfer del primer tipo, seguido de una estructura de DXVADDI_DECODEBUFFERDESC para el siguiente búfer del mismo tipo, etc. A continuación, la lista de descripción del búfer continúa con una estructura de DXVADDI_DECODEBUFFERDESC para el primer búfer del siguiente tipo, etc. Esta lista completa está contenida en una estructura D3DDDIARG_DECODEEXECUTE.

Dado que Microsoft DirectX Video Acceleration (VA) versión 2.0 usa superficies de Microsoft Direct3D en lugar de las superficies privadas que usa DirectX VA 1.0, el controlador de pantalla en modo de usuario obtiene valores para el índice, el ancho, el alto y el paso del tipo de búfer comprimido dado en lugar de los valores de la BufferIndex, Width, Height, y miembros de Stride. De hecho, el entorno de ejecución de Microsoft Direct3D establece estos miembros en cero.

Requisitos

Requisito Valor
cliente mínimo admitido Disponible en Windows Vista y versiones posteriores de los sistemas operativos Windows.
encabezado de d3dumddi.h (incluya D3dumddi.h)

Consulte también

D3DDDIARG_DECODEEXECUTE

DXVADDI_PVP_HW_IV

DXVA_PictureParameters

DXVA_SliceInfo