Compartir a través de


estructura DXVADDI_CONFIGPICTUREDECODE (d3dumddi.h)

La estructura DXVADDI_CONFIGPICTUREDECODE describe la configuración para la descodificación de imágenes comprimidas.

Sintaxis

typedef struct _DXVADDI_CONFIGPICTUREDECODE {
  [in] GUID   guidConfigBitstreamEncryption;
  [in] GUID   guidConfigMBcontrolEncryption;
  [in] GUID   guidConfigResidDiffEncryption;
  [in] UINT   ConfigBitstreamRaw;
  [in] UINT   ConfigMBcontrolRasterOrder;
  [in] UINT   ConfigResidDiffHost;
  [in] UINT   ConfigSpatialResid8;
  [in] UINT   ConfigResid8Subtraction;
  [in] UINT   ConfigSpatialHost8or9Clipping;
  [in] UINT   ConfigSpatialResidInterleaved;
  [in] UINT   ConfigIntraResidUnsigned;
  [in] UINT   ConfigResidDiffAccelerator;
  [in] UINT   ConfigHostInverseScan;
  [in] UINT   ConfigSpecificIDCT;
  [in] UINT   Config4GroupedCoefs;
  [in] USHORT ConfigMinRenderTargetBuffCount;
  [in] USHORT ConfigDecoderSpecific;
} DXVADDI_CONFIGPICTUREDECODE;

Miembros

[in] guidConfigBitstreamEncryption

GUID de cifrado para configurar una secuencia de bits.

[in] guidConfigMBcontrolEncryption

Guid de cifrado para configurar el control de bloqueo de macros.

[in] guidConfigResidDiffEncryption

GUID de cifrado para configurar la descodificación de diferencia residual.

[in] ConfigBitstreamRaw

Indicador de procesamiento de secuencia de bits. Un valor de 1 en este miembro indica que los datos de imagen se envían en búferes de secuencia de bits como contenido de secuencia de bits sin procesar. Un valor de cero indica que los datos de imagen se envían mediante búferes de comandos de control de macroblock.

Establezca este miembro en cero si el miembro ConfigResidDiffHost o ConfigResidDiffAccelerator es 1. Un valor de cero en ConfigBitstreamRaw es el nivel básico de compatibilidad. Se prefiere el valor de 1.

[in] ConfigMBcontrolRasterOrder

Valor UINT que especifica si los comandos de control de macrobloqueo están en orden de examen ráster o en orden arbitrario. Un valor de 1 en este miembro especifica que los comandos de control de macroblock dentro de cada búfer de comandos de control de macroblock están en orden de examen de trama. Un valor de cero indica un orden arbitrario. Un controlador puede restringir la compatibilidad con el orden del examen ráster; Sin embargo, un controlador debe admitir el orden arbitrario y del examen de trama.

[in] ConfigResidDiffHost

Configuración de diferencia residual del host. Un valor de 1 en este miembro especifica que algunos datos de descodificación de diferencias residuales se envían posiblemente como bloques en el dominio espacial del host. Un valor de cero especifica que no se envían datos de dominio espacial. Establezca este miembro en cero si el miembro ConfigBitstreamRaw es 1. Un acelerador debe admitir cero y 1.

[in] ConfigSpatialResid8

Tamaño de palabra que se usa para representar bloques de dominio espacial de diferencia residual para imágenes predichos (nointra) al usar la descodificación de diferencia residual basada en host (es decir, cuando el miembro ConfigResidDiffHost está establecido en 1).

Si ConfigSpatialResid8 es 1 y ConfigResidDiffHost es 1, el host envía bloques de dominio espacial de diferencia residual para macrobloques que no son de macrobloques que usan muestras firmadas de 8 bits y para imágenes intra macrobloques en imágenes predichos (nointra) en un formato que depende del miembro ConfigIntraResidUnsigned de la siguiente manera:

  • Si ConfigIntraResidUnsigned es cero, los bloques de dominio espacial para los bloques intra macroblocks se envían como valores enteros con signo de 8 bits que son relativos a un valor de referencia constante de 128.

  • Si ConfigIntraResidUnsigned es 1, los bloques de dominio espacial para los bloqueos intra macrobloqueos se envían como valores enteros sin signo de 8 bits que son relativos a un valor de referencia constante de cero.

Si ConfigSpatialResid8 es cero y ConfigResidDiffHost es 1, el host envía bloques de dominio espacial de diferencia residual de datos para macroblocks que no son de macrobloqueos que usan muestras firmadas de 16 bits y para los macrobloques dentro de imágenes predichos (nointra) en un formato que depende de ConfigIntraResidUnsigned de la siguiente manera:

  • Si ConfigIntraResidUnsigned es cero, los bloques de dominio espacial para los macrobloques intra macroblocks se envían como valores enteros con signo de 16 bits que son relativos a un valor de referencia constante de 2^(BPP-1), donde BPP es el número de bits por muestra para el vídeo sin comprimir (generalmente un valor de 8).

  • Si ConfigIntraResidUnsigned es 1, los bloques de dominio espacial para los bloqueos intra macrobloqueos se envían como valores enteros sin signo de 16 bits que son relativos a un valor de referencia constante de cero.

ConfigSpatialResid8 debe ser cero si ConfigResidDiffHost es cero. Si ConfigResidDiffHost es 1, ConfigSpatialResid8 puede ser cualquier valor.

Nota

Para imágenes intra con BPP igual a 8, los bloques de dominio espacial deben enviarse mediante muestras de 8 bits. Para imágenes intra con BPP superior a 8, los bloques de dominio espacial deben enviarse mediante muestras de 16 bits. Si ConfigIntraResidUnsigned es cero, estos ejemplos se envían como valores enteros con signo relativos a un valor de referencia constante de 2^(BPP-1). Si ConfigIntraResidUnsigned es 1, estos ejemplos se envían como valores enteros sin signo relativos a un valor de referencia constante de cero.

[in] ConfigResid8Subtraction

Valor UINT que especifica si se restan o agregan bloques de desbordamiento de diferencia de 8 bits. Si este miembro se establece en 1, los bloques de desbordamiento de diferencia de 8 bits se restan en lugar de agregarse. Este miembro debe ser cero a menos que ConfigSpatialResid8 sea 1. Si ConfigSpatialResid8 es 1, el valor preferido para ConfigResid8Subtraction es 1. La capacidad de restar diferencias en lugar de agregarlas permite que la descodificación de diferencia de 8 bits sea totalmente compatible con el intervalo comprendido entre -255 y +255 de valores que se requieren en las especificaciones del descodificador de vídeo. Esta capacidad permite el cumplimiento total porque no se puede representar +255 como adición de dos números de 8 bits con signo, pero cualquier número del intervalo comprendido entre -255 y +255 se puede representar como la diferencia entre dos números de 8 bits con signo (+255 es igual a +127 menos -128).

[in] ConfigSpatialHost8or9Clipping

Valor UINT que especifica si el host realiza el recorte. Si este miembro se establece en 1, los bloques de dominio espacial para los bloqueos intra macrobloqueos se recortan en un intervalo de 8 bits en los bloques host y de dominio espacial para los macroblocks que no son detraer se recortan en un intervalo de 9 bits en el host. Un valor de cero indica que el host no realiza este recorte. Este miembro debe ser cero a menos que ConfigSpatialResid8 esté establecido en cero y ConfigResidDiffHost esté establecido en 1. El valor preferido para ConfigSpatialHost8or9Clipping es cero.

[in] ConfigSpatialResidInterleaved

Valor UINT que especifica si los datos de diferencia residual de dominio espacial se envían en un formulario intercalado de cromoinancia. Si este miembro se establece en 1, cualquier dato de diferencia residual de dominio espacial se envía en una forma intercalada de cromoinancia que coincida con el patrón de intercalación de cromonancia de formato YUV. Este miembro debe ser cero a menos que ConfigResidDiffHost sea 1 y el formato YUV sea NV12 o NV21. El valor preferido para ConfigSpatialResidInterleaved es cero.

[in] ConfigIntraResidUnsigned

Método de representación de bloques de dominios espaciales de datos de diferencia residual para bloques intra al usar la descodificación de diferencias basada en host (es decir, cuando el miembro ConfigResidDiffHost es igual a 1).

Si ConfigIntraResidUnsigned está establecido en cero y ConfigResidDiffHost se establece en 1, los bloques de datos residuales de dominio espacial para los macrobloques intra macroblocks se envían de la siguiente manera:

  • En una imagen que no seatra si el miembro ConfigSpatialResid8 es cero, los bloques de datos de diferencia residual de dominio espacial para los bloques intra macrobloqueos se envían como valores enteros con signo de 16 bits que son relativos a un valor de referencia constante de 2^( BPP-1), donde BPP es el número de bits por muestra para el vídeo sin comprimir (generalmente un valor de 8).

  • En una imagen notra si ConfigSpatialResid8 es 1 y en una imagen intra si BPP es igual a 8 (independientemente del valor de ConfigSpatialResid8), los bloques de datos residuales del dominio espacial para los macrobloques intra macroblocks se envían como valores enteros con signo de 8 bits que son relativos a un valor de referencia constante de 128.

Si ConfigIntraResidUnsigned se establece en 1 y ConfigResidDiffHost se establece en 1, los bloques de datos residuales de dominio espacial para los macroblocks intra macroblocks se envían de la siguiente manera:

  • En una imagen notra si ConfigSpatialResid8 es cero, los bloques de datos residuales de dominio espacial para los bloques de datos intra macroblocks se envían como valores enteros sin signo de 16 bits que son relativos a un valor de referencia constante de cero.

  • En una imagen notra si ConfigSpatialResid8 es 1 y en una imagen intra si BPP es igual a 8 (independientemente del valor de ConfigSpatialResid8), los bloques de datos residuales de dominio espacial para los bloques de datos intra macroblocks se envían como valores enteros sin signo de 8 bits que son relativos a un valor de referencia constante de cero.

ConfigIntraResidUnsigned debe ser cero a menos que ConfigResidDiffHost sea 1. El valor preferido para ConfigIntraResidUnsigned es cero.

[in] ConfigResidDiffAccelerator

Configuración de diferencia residual del acelerador. Un valor de 1 en este miembro indica que se pueden enviar bloques de dominio de transformación de datos de coeficiente desde el host para idCT basado en aceleradores. Un valor de cero indica que no se usa IDCT basado en aceleradores.

Si el miembro ConfigResidDiffHost y ConfigResidDiffAccelerator son 1, se realiza una descodificación de diferencia residual en el host y otros en el acelerador, como se indica en los comandos de control de nivel de macrobloque. ConfigResidDiffAccelerator debe ser cero si el miembro bConfigBitstreamRaw es 1.

El valor preferido para ConfigResidDiffAccelerator es 1.

Si ConfigResidDiffAccelerator y ConfigResidDiffHost se establecen en 1, la descodificación de diferencia residual se puede compartir entre el host y el acelerador en una macroblock. Este uso compartido es un nivel aún mayor de capacidad de aceleración que cuando ConfigResidDiffAccelerator está establecido en 1 y ConfigResidDiffHost está establecido en cero.

[in] ConfigHostInverseScan

Valor UINT que especifica si el examen inverso del procesamiento de bloques de dominio de transformación se realiza en el host o en el acelerador. Un valor de 1 en este miembro indica que el examen inverso del procesamiento de bloques de dominio de transformación se realiza en el host y los índices absolutos se envían en su lugar para cualquier coeficiente de transformación. Un valor de cero indica que el examen inverso se realiza en el acelerador. ConfigHostInverseScan debe ser cero si ConfigResidDiffAccelerator es cero o si el miembro Config4GroupedCoefs es 1.

El valor preferido para ConfigHostInverseScan es 1 si ConfigResidDiffAccelerator es 1.

[in] ConfigSpecificIDCT

Valor UINT que especifica el uso de un método IDCT específico para IDCT fuera del host. Un valor de 1 en este miembro indica el uso del IDCT que se especifica en el anexo W de la Recomendación H.263 de la UIT-T, que puede obtener información sobre el sitio web de la Unión Internacional de Telecomunicaciones . Un valor de cero indica que cualquier IDCT compatible se puede usar para el IDCT fuera del host. (Los valores distintos de cero y 1 están reservados).

ConfigSpecificIDCT debe ser cero si ConfigResidDiffAccelerator es cero, lo que indica la descodificación de diferencia residual basada en host.

Nota

ConfigSpecificIDCT no debe establecerse en 1 para su uso con vídeo MPEG-2.

[in] Config4GroupedCoefs

Valor UINT que especifica cómo se envían los coeficientes de transformación de IDCT fuera del host. Un valor de 1 en este miembro indica que los coeficientes de transformación de IDCT fuera del host se envían mediante la estructura de DXVA_TCoef4Group en lugar de la estructura de DXVA_TCoefSingle . Config4GroupedCoefs es cero si ConfigResidDiffAccelerator es cero o si ConfigHostInverseScan es 1.

El valor preferido para Config4GroupedCoefs es cero si ConfigResidDiffAccelerator es 1.

[in] ConfigMinRenderTargetBuffCount

Valor de USHORT que especifica el número mínimo de búferes de destino de representación.

[in] ConfigDecoderSpecific

Valor de USHORT que especifica características específicas del descodificador que se van a configurar. Para obtener información sobre las características de un descodificador, consulte la especificación de ese descodificador. Para obtener una lista de descodificadores, consulte Proporcionar funcionalidades para la descodificación de vídeo.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows Vista y versiones posteriores de los sistemas operativos Windows.
Encabezado d3dumddi.h (incluya D3dumddi.h)

Consulte también

D3DDDIARG_GETCAPS

D3DDDICAPS_TYPE

GetCaps