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.
Sintaxis
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 1 de descodificación de vídeo, el hardware requiere descodificar texturas de salida y texturas de referencia para descodificar una secuencia para que sea físicamente contigua cuando las operaciones de vídeo las hagan referencia. La aplicación asigna los recursos de referencia como una matriz de texturaS D3D12. El controlador no recibe sugerencias explícitas de que la asignación tiene como destino escenarios de vídeo y puede asignar inicialmente memoria no físicamente contigua. Se espera que los controladores usen una nueva característica Actualizar propiedades de asignación proporcionada por el administrador de memoria, para programar una conversión a físicamente contigua al enviar el trabajo de vídeo que realmente requiere que sea físicamente contiguo. Características de hardware que colocan 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 incompatible 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 espacios 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. Descodificar el nivel 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 debe admitirse. Descodificar 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 admitirse para los formatos de referencia y salida admitidos por el controlador. Esto se puede hacer 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 iconos 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 mosaicos y desasignarse 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 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 incompatible con otros motores o operaciones de vídeo. Los requisitos de búfer de entrada comprimidos son los mismos que los del 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 debe admitirse. Descodificar 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 admitirse para los formatos de referencia y salida admitidos por el controlador. Esto puede ocurrir 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 iconos 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 mosaicos y desasignarse 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 los del nivel 1. |
Observaciones
Si el hardware descodificación 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 un 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 | Obligatorio |
Admite referencias y asignadas como una matriz de texturas. | Obligatorio | Obligatorio | Obligatorio |
Opcionalmente, puede requerir la marca de recursos REFERENCE_ONLY. Tenga en cuenta que todos los niveles son necesarios para trabajar con la marca presente, incluso cuando no es necesario. | Opcional | Opcional | No |
Compatibilidad con referencias asignadas con REFERENCE_ONLY, incluso cuando los límites no lo requieren. | Obligatorio | Obligatorio | Obligatorio |
Admite recursos con mosaicos o dispersos para referencias, entrada y salida. | No | Obligatorio | 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 |
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 |
---|---|
encabezado de | d3d12umddi.h (incluya D3d12umddi.h) |