Compartir a través de


enumeración D3D12DDI_VIDEO_DECODE_TIER_0020 (d3d12umddi.h)

Especifica el nivel de descodificación de vídeo. Los niveles de vídeo descodificación definen un conjunto de funcionalidades de hardware. Cuanto mayor sea el nivel, más capaz será el hardware.

Syntax

typedef enum D3D12DDI_VIDEO_DECODE_TIER_0020 {
  D3D12DDI_VIDEO_DECODE_TIER_0020_NOT_SUPPORTED,
  D3D12DDI_VIDEO_DECODE_TIER_0020_1,
  D3D12DDI_VIDEO_DECODE_TIER_0020_2,
  D3D12DDI_VIDEO_DECODE_TIER_0020_3
} ;

Constantes

 
D3D12DDI_VIDEO_DECODE_TIER_0020_NOT_SUPPORTED
No se admite el perfil de descodificación.
D3D12DDI_VIDEO_DECODE_TIER_0020_1
Descodificación de vídeo nivel 1. En el nivel de descodificación de vídeo 1, el hardware requiere descodificar texturas de salida y texturas de referencia para descodificar una secuencia para que sea físicamente contiguo cuando las operaciones de vídeo hacen referencia a ellas.

La aplicación asigna los recursos de referencia como una matriz de texturas D3D12. El controlador no recibe sugerencias explícitas de que los escenarios de vídeo de asignación se dirigen a y pueden asignar inicialmente memoria no físicamente contigua. Se espera que los controladores usen una nueva característica de propiedades de asignación de actualizaciones proporcionada por el administrador de memoria para programar una conversión a contigua físicamente al enviar el trabajo de vídeo que realmente requiere que sea físicamente contiguo.

Características de hardware que colocan el hardware en el nivel 1:

* El hardware de descodificación requiere memoria físicamente contigua para descodificar la salida y las referencias. Los búferes de entrada con la secuencia de bits comprimida también pueden requerir una conexión físicamente contigua.

* El hardware de descodificación puede tener un formato de mosaico especial u otra definición de diseño de memoria que no sea compatible con otros motores o operaciones de vídeo.

Requisitos de búfer de entrada comprimidos:

* Todos los segmentos de un marco determinado deben colocarse en orden y contiguos (sin huecos entre segmentos).

* Los controladores no deben realizar copias adicionales de los datos de secuencia de bits.

* El primer segmento debe comenzar en un límite de 128 bytes.

* El hardware debe admitir la descodificación de un búfer asignado desde D3D12DDI_MEMORY_POOL_L0 (siempre memoria del sistema).

* El hardware debe admitir la descodificación de D3D12DDI_MEMORY_POOL_L1 (grupo predeterminado) con D3D12DDI_CPU_PAGE_PROPERTY_NOT_AVAILABLE.
D3D12DDI_VIDEO_DECODE_TIER_0020_2
Descodificación de vídeo nivel 2. El nivel de descodificación 2 permite al autor de la llamada asignar texturas de referencia y salida como recursos de textura 2D independientes. La aplicación ya no es necesaria para asignar matrices de texturas, pero se debe admitir.

Descodificar el nivel 2 no tiene requisitos físicos contiguos. El hardware puede tener requisitos contiguos de VA (aceleración de descodificación de vídeo) en este nivel y las aplicaciones deben crear una matriz de texturas para admitir esto.

Para habilitar el nivel 2, los recursos reservados, también denominados recursos en mosaico o dispersos, deben ser compatibles con los formatos de referencia y salida admitidos por el controlador. Esto puede hacerse de dos maneras:

* Si el hardware tiene compatibilidad con va de GPU por proceso y tiene un patrón de mosaico que admite los requisitos de forma de mosaico de los recursos reservados, se puede usar el mecanismo de recursos en mosaico D3D12 existente.

* Si el hardware tiene compatibilidad con VA de GPU por proceso, pero el patrón de mosaico no cumple los requisitos de forma de mosaico de los recursos reservados, y el hardware puede admitir una asignación de mosaicos que asigna y desasigna iconos para un subrecurso completo, para cada plano de un recurso planar que es un subrecurso independiente en D3D12, el mecanismo requiere que se puedan asignar y asignar iconos de forma independiente. Tenga en cuenta que este mecanismo está en desarrollo, pero ofuscará la forma de mosaico en la API.

Características de hardware que colocan el hardware en el nivel 2:

* No requiere memoria físicamente contigua.

* El hardware tiene un requisito de VA contiguo.

* El hardware de descodificación puede tener un formato de mosaico especial u otra definición de diseño de memoria que no sea compatible con otros motores o operaciones de vídeo.

Los requisitos de búfer de entrada comprimidos son los mismos que el nivel 1.
D3D12DDI_VIDEO_DECODE_TIER_0020_3
Descodificación de vídeo nivel 3. Este nivel se admite en WDDM 2.3.

Descodificar nivel 3 permite al autor de la llamada asignar texturas de referencia y salida como recursos de textura 2D estándar. La aplicación ya no es necesaria para asignar matrices de texturas, pero se debe admitir.

Descodificar el nivel 3 no requiere asignaciones físicamente contiguas. El hardware ya no debe requerir el D3D12DDI_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY, pero todavía debe admitirlo. Cuando se consulta, el miembro D3D12DDI_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY de la estructura D3D12DDI_VIDEO_DECODE_SUPPORT_DATA_0020 debe establecerse en FALSE.

Para habilitar el nivel 3, los recursos reservados (también denominados recursos en mosaico o dispersos) deben ser compatibles con los formatos de referencia y salida admitidos por el controlador. Esto puede suceder de dos maneras:

* Si el hardware tiene compatibilidad con va de GPU por proceso y tiene un patrón de mosaico que admite los requisitos de forma de mosaico de los recursos reservados, se puede usar el mecanismo de recursos en mosaico D3D12 existente.

* Si el hardware tiene compatibilidad con VA de GPU por proceso, pero el patrón de mosaico no cumple los requisitos de forma de mosaico de los recursos reservados, y el hardware puede admitir una asignación de mosaicos que asigna y desasigna iconos para un subrecurso completo, para cada plano de un recurso planar que es un subrecurso independiente en D3D12, el mecanismo requiere que se puedan asignar y asignar iconos de forma independiente. Tenga en cuenta que este mecanismo está en desarrollo, pero ofuscará la forma de mosaico en la API.

Los requisitos de búfer de entrada comprimidos son los mismos que el nivel 1.

Comentarios

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 D3D12DDI_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY en la estructura de D3D12DDI_VIDEO_DECODE_SUPPORT_DATA_0020 al consultar la compatibilidad con perfiles. Esta marca indica que la aplicación debe asignar referencias con la marca D3D12DDI_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY. Si la salida es necesaria como marco de referencia futuro, el marco de salida pasado a PFND3D12DDI_VIDEO_DECODE_FRAME es un recurso D3D12 que pueden consumir otras partes de la canalización y no debe tener la marca D3D12DDI_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY.

En la tabla siguiente se muestran las distintas funcionalidades de cada nivel:

Capacidad Nivel 1 Nivel 2 Nivel 3
Admite fotogramas de referencia y salida asignados individualmente. No No Requerido
Admite referencias y asignadas como una matriz de texturas. Obligatorio Obligatorio Obligatorio
Opcionalmente, puede requerir la marca de recurso REFERENCE_ONLY. Tenga en cuenta que todos los niveles son necesarios para trabajar con la marca presente, incluso cuando no es necesario. Opcionales Opcional No
Compatibilidad con referencias asignadas con REFERENCE_ONLY, incluso cuando los límites no lo requieren. Obligatorio Obligatorio Obligatorio
Admite recursos en mosaico o dispersos para referencias, entrada y salida. No Requerido Obligatorio
Los búferes de entrada de flujo de bits comprimidos se pueden asignar como L0 (memoria del sistema principal) o L1 (para dGPU, memoria de vídeo). Obligatorio Obligatorio Obligatorio
Requiere que los datos de secuencia de bits comprimidos para los segmentos se encuentren en una sola asignación de búfer sin espacios entre segmentos. Obligatorio Obligatorio Obligatorio
El desplazamiento al primer segmento del búfer de entrada comprimido debe estar alineado con 256 bytes. Obligatorio Obligatorio Obligatorio
Los controladores no deben realizar copias adicionales de los datos de secuencia de bits comprimidos. Obligatorio Obligatorio Obligatorio

Requisitos

Requisito Valor
Header d3d12umddi.h (incluya D3d12umddi.h)