enumeración D3D12_VIDEO_DECODE_TIER (d3d12video.h)

Especifica el nivel de descodificación de un descodificador de vídeo de hardware, que determina el formato necesario de texturas y búferes definidos por la aplicación.

Syntax

typedef enum D3D12_VIDEO_DECODE_TIER {
  D3D12_VIDEO_DECODE_TIER_NOT_SUPPORTED,
  D3D12_VIDEO_DECODE_TIER_1,
  D3D12_VIDEO_DECODE_TIER_2,
  D3D12_VIDEO_DECODE_TIER_3
} ;

Constantes

 
D3D12_VIDEO_DECODE_TIER_NOT_SUPPORTED
No se admite la descodificación de vídeo.
D3D12_VIDEO_DECODE_TIER_1
En el nivel 1, el descodificador de hardware requiere que la aplicación asigne texturas de referencia como una matriz de texturas. Esto es para adaptarse a los requisitos de hardware que las texturas se "cierran" en el espacio de direcciones porque el hardware no admite un puntero de tamaño completo para cada búfer de imagen individual. En su lugar, tiene un puntero y un desplazamiento de bits más limitado. Para obtener más información sobre las matrices de texturas, vea Introducción a las texturas en Direct3D 11.

Si el hardware del descodificador requiere un diseño de memoria único que no se admite para las operaciones en otros motores o operaciones de vídeo diferentes, el descodificador puede establecer la marca de configuración de D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_REFERENCE_ONLY_ALLOCATIONS_REQUIRED en la estructura de D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT cuando se consulta para obtener compatibilidad con perfiles. Esta marca indica que la aplicación debe asignar referencias con la marca D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY . La aplicación debe usar la estructura D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS para establecer una salida de solo referencia si la salida es necesaria como marco de referencia futuro. El marco de salida pasado a ID3D12VideoCommandList::D ecodeFrame es un recurso D3D12 que pueden consumir otras partes de la canalización y que no deben tener la marca D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY.

#### Requisitos de nivel 1 para los búferes de entrada comprimidos
- Todos los segmentos de un marco determinado deben colocarse en orden y deben ser contiguos, es decir, no debe haber espacios entre segmentos. Los búferes de control de segmento deben especificar parámetros de desplazamiento y tamaño que cumplan este requisito.
- El primer segmento debe comenzar en un límite de 128 bytes. El desplazamiento establecido en la estructura D3D12_VIDEO_DECODE_COMPRESSED_BITSTREAM debe ser un múltiplo de 128 Bytes.
- La descodificación se admite a partir de búferes asignados con D3D12_MEMORY_POOL_L0. Esta siempre es la memoria del sistema, pero sigue siendo un búfer D3D12.
- La descodificación se admite a partir de búferes asignados con D3D12_MEMORY_POOL_L1, el grupo predeterminado, incluidos los asignados con D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE.
D3D12_VIDEO_DECODE_TIER_2
En el nivel de descodificación 2, se puede hacer referencia a texturas como una matriz de texturas o como una matriz de recursos de textura 2D independientes (cada recurso que tiene un tamaño de matriz de 1). Esto es más flexible para el autor de la llamada y es importante en escenarios en los que la resolución cambia con frecuencia, como en el vídeo de streaming, porque una matriz de texturas solo se puede asignar y desasignar como una sola unidad, pero los recursos de textura 2D independientes se pueden asignar y desasignar individualmente.

Si el hardware descodificador requiere un formato de mosaico único que no se admite para las operaciones en otros motores o operaciones de vídeo diferentes, el descodificador puede establecer la marca de configuración de D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_REFERENCE_ONLY_ALLOCATIONS_REQUIRED en la estructura de D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT cuando se consulta para obtener compatibilidad con perfiles. Esta marca indica que la aplicación debe asignar referencias con la marca D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY . La aplicación debe usar la estructura D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS para establecer una salida de referencia solo si la salida es necesaria como marco de referencia futuro. El marco de salida pasado a ID3D12VideoCommandList::D ecodeFrame es un recurso D3D12 que pueden consumir otras partes de la canalización y que no deben tener la marca D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY.

Requisitos de nivel 2 de ### para los búferes de entrada comprimidos

Estos requisitos son idénticos a los requisitos de nivel 1.

- Todos los segmentos de un marco determinado deben colocarse en orden y deben ser contiguos, es decir, no debe haber espacios entre segmentos. Los búferes de control de segmento deben especificar parámetros de desplazamiento y tamaño que cumplan este requisito.
- El primer segmento debe comenzar en un límite de 128 bytes. El desplazamiento establecido en la estructura D3D12_VIDEO_DECODE_COMPRESSED_BITSTREAM debe ser un múltiplo de 128 Bytes.
- La descodificación se admite a partir de búferes asignados con D3D12_MEMORY_POOL_L0. Esta siempre es la memoria del sistema, pero sigue siendo un búfer D3D12.
- La descodificación se admite a partir de búferes asignados con D3D12_MEMORY_POOL_L1, el grupo predeterminado, incluidos los asignados con D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE.
-
D3D12_VIDEO_DECODE_TIER_3
Este campo está reservado.

Requisitos

Requisito Valor
Header d3d12video.h