Procesamiento de vídeo de alta definición de DXVA- VideoProcessing
Esta prueba manual ejecuta casos de prueba en los siguientes: IDXVAHD_VideoProcessor::SetVideoProcessBltState, IDXVAHD_VideoProcessor::GetVideoProcessBltState, IDXVAHD_VideoProcessor::SetVideoProcessStreamState, IDXVAHD_VideoProcessor::GetVideoProcessStreamState y IDXVAHD_VideoProcessor::VideoProcessBltHD.
Para obtener más información sobre todos los casos de prueba, consulte la sección "Información complementaria" a continuación. La mayoría de los casos de prueba están presentes en la pantalla mientras una utilidad procesa los fotogramas para la comparación. La mayoría de los casos de prueba aplican un > PSNR 20.0f entre fotogramas procesados de software y hardware. En algunos casos de prueba, el umbral se reduce debido a la falta de compatibilidad con algunos filtros y características en la implementación de software.
La prueba solo mostrará un recuento de errores de paso similar a una ventana similar a un tic y muestra qué variables de caso de prueba se iteran.
Detalles de las pruebas
Especificaciones |
|
Plataformas |
|
Versiones admitidas |
|
Tiempo de ejecución esperado (en minutos) | 2 |
Categoría | Compatibilidad |
Tiempo de espera (en minutos) | 120 |
Requiere reinicio | false |
Requiere una configuración especial | false |
Tipo | automatic |
Documentación adicional
Las pruebas de este área de características pueden tener documentación adicional, incluidos los requisitos previos, la configuración y la información de solución de problemas, que se pueden encontrar en los temas siguientes:
Ejecución de la prueba
Antes de ejecutar la prueba, complete la configuración de prueba como se describe en los requisitos de prueba: Requisitos previos de adaptador gráfico o pruebas de conjuntos de chips.
Además, esta prueba requiere el siguiente software:
Controlador de pantalla que admite D3DCAPS3_DXVAHD D3D9Caps.Caps3. Concretamente:
D3D9 admite la exposición de D3DCAPS3_DXVAHD.
Formatos de salida necesarios: D3DFMT_X8R8G8B8, D3DFMT_A8R8G8B8.
Formatos de entrada necesarios: D3DFMT_X8R8G8B8, D3DFMT_A8R8G8B8, D3DFMT_YUY2, D3DFMT_AYUV y los destinos de representación descodificados admitidos.
dxvahdsw.dll.
Solución de problemas
Para solucionar problemas genéricos de errores de prueba de HLK, consulte Solución de problemas de errores de prueba de HLK de Windows.
Para obtener información de solución de problemas, consulte Solución de problemas de Device.Graphics Testing.
Esta prueba solo mostrará en su mayor parte un recuento de errores de paso de incremento de ventana similar a ticker y se muestran las variables de caso de prueba en las que se iteran las variables de caso de prueba.
La prueba devolverá Pass o Fail. La prueba podría devolver SKIP si el controlador no expone D3DCAPS3_DXVAHD. Otros casos de prueba pueden omitirse en función de la compatibilidad con el estado de la secuencia, los caps telecines inversos, los límites de filtro, los límites de características y los formatos admitidos. Para revisar los detalles de la prueba, revise el registro de pruebas de DTM Studio.
Más información
Después de cada SetVideoProcessBltState, llame a getVideoProcessBltState correspondiente. La llamada garantiza la creación de informes adecuada y, a continuación, procesa y presenta fotogramas en comparación con los marcos de referencia para la precisión. La mayoría de los BltStates se recorren por cada ciclo completo de un BltState determinado y, a continuación, de nuevo para cada StreamState válido. Sin embargo, algunas permutaciones no son necesarias.
Compruebe que los tipos de datos no válidos pasados a SetVideoProcessBltState y GetVideoProcessBltState devuelvan E_INVALIDARG.
DXVAHD_BLT_STATE_TARGET_RECT_DATA
Compruebe que limitar los datos para corregir más pequeños que la superficie de salida da como resultado el escalado correcto.
Compruebe que un rect mayor que la superficie de salida da como resultado un marco expandido.
Compruebe cuándo se establecen los datos de rect de destino y Habilitar marcado como false, que se usa toda la superficie.
Procese un marco con datos de rectización de destino y Habilite establecido en false. A continuación, procese otro marco con datos de rect de destino reducidos, expandidos o movidos, y Enable es true. Compruebe que la superficie se escala o se mueve en consecuencia.
Compruebe que Default no data set da como resultado que se use toda la superficie.
DXVAHD_BLT_STATE_BACKGROUND_COLOR_DATA
Compruebe que Default es RGB Black.
Si YCbCr está establecido en true, compruebe que el intervalo de colores correcto para el fondo se presenta realmente.
Comprobar el color naranja RGB (255,165, 0) junto con el valor negro predeterminado con valores alfa para RGB e YcbCr
con DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE_DATA
- Compruebe que si se usa color de fondo de YCbCr y ColorSpaceData es de full RGB_Range, se omite el intervalo RGB de rango completo y se usa el intervalo limitado correcto según la configuración Matrix y xvYCC especificadas.
con DXVAHD_BLT_STATE_ALPHA_FILL
- Compruebe el valor alfa del color de fondo especificado cuando se use DXVAHD_ALPHA_FILL_MODE_BACKGROUND en diferentes colores de fondo.
DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE_DATA
Compruebe que uso predeterminado, RGB_Range, YCbCr_Matrix y YCbCr_xvYCC están establecidos en 0.
Compruebe Que limitar RGB_Range limitar correctamente el intervalo de colores a 16...235.
Compruebe que BT.709 aumenta correctamente luma y cromática en consecuencia.
xvYCC amplía correctamente el rango de colores. Esta validación es un caso especial, ya que el procesador de vídeo de referencia no admite ninguna superficie de salida distinta de XRGB. La validación de esto es difícil y el proceso se documentará más adelante.
Compruebe si DXVAHD_VPDEVCAPS. DeviceCaps no tiene DXVAHD_DEVICE_CAPS_xvYCC. Validar YCbCr_xvYCC no ajusta ninguna configuración y se omite realmente.
La tolerancia es flexible inicialmente, pero el porcentaje inicial de precisión de píxeles es de 90 por ciento de precisión.
DXVAHD_BLT_STATE_ALPHA_FILL_DATA
Compruebe que las superficies de salida no del formato Alfa no se modifiquen.
Compruebe que las superficies de salida del formato Alfa apliquen correctamente los valores alfa al color.
Compruebe que el modo predeterminado ajusta correctamente los valores alfa de fondo.
Pruebe la superficie de entrada del formato NonAlpha con una superficie de salida de Formato alfa. Valide la corrección alfa con una precisión flexible de nuevo, inicialmente con una precisión del 90 %.
DXVAHD_BLT_STATE_CONSTRICTION_DATA
Debido a la falta de soporte técnico en el controlador de referencia para el curso de constricción M2, los casos de prueba deben validarse fuera de la comparación directa de 1:1 para tamaños de muestreo inactivos válidos.
Compruebe el muestreo descendente correcto en la superficie de salida.
Si el tamaño es mayor que el de destino, compruebe que la restricción está limitada al tamaño de la rectación de destino.
Intente establecer tamaños en 0,* y *, 0 valide el valor devuelto E_INVALIDARG.
Si DXVAHD_VPDEVCAPS. FeatureCaps no expone DXVAHD_FEATURE_CAPS_CONSTRICTION y, a continuación, comprueba que se devuelve el error E_INVALIDARG cuando se intenta establecer Constriction.
Compruebe que el valor predeterminado representa deshabilitado. Si deshabilitado está marcado y se especifica un tamaño, se omite el valor de tamaño.
DXVAHD_BLT_STATE_PRIVATE_DATA
Pase guid, DataSize y pData no válidos. Valide que el controlador controla en consecuencia.
PData null recupera el tamaño correcto del estado blt privado.
Compruebe que los tipos de datos no válidos pasados a SetVideoProcessStreamState y GetVideoProcessStreamState devuelvan E_INVALIDARG.
DXVAHD_STREAM_STATE_D3DFORMAT_DATA
Valide todos los formatos admitidos notificados por GetVideoProcessorInputFormats.
Valide un formato no admitido en GetVideoProcessorInputFormats.
Valide que el formato D3DFORMAT predeterminado es D3DFMT_UNKNOWN.
DXVAHD_STREAM_STATE_FRAME_FORMAT_DATA
Compruebe que el valor predeterminado es Progresivo.
Compruebe que los formatos progresivos e entrelazados se presentan en consecuencia.
Si DXVAHD_INPUT_FORMAT_CAPS_RGB_INTERLACED no se notifica como compatible con DXVAHD_VPDEVCAPS. InputFormatCaps, compruebe que el uso de valores predeterminados de DXVAHD_FRAME_FORMAT_INTERLACED_* es el uso progresivo.
DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE_DATA
Compruebe los valores predeterminados.
Compruebe Que limitar RGB_Range limite correctamente el intervalo de colores a 16..235.
Si DXVAHD_VPDEVCAPS. InputFormatCaps no notifica compatibilidad con DXVAHD_INPUT_FORMAT_CAPS_RGB_LIMITED_RANGE, compruebe que cuando RGB_Range es 1, se omite y se usa FullRange.
- La validación de intervalo limitada no es posible con una comparación de 1:1 con la referencia. Es posible que algunas validaciones sueltas de blancos y negros puedan validar que el rango de colores se ha limitado en consecuencia.
Compruebe que BT.709 aumenta correctamente el muestreo luma y cromático.
xvYCC amplía correctamente el rango de colores.
Compruebe si DXVAHD_VPDEVCAPS. DeviceCaps no notifica compatibilidad con xvYCC.
Si es posible, y si se especifica el procesamiento, valide un mayor rendimiento de conversión de color.
Compruebe si DXVAHD_VPDEVCAPS. DeviceCaps no tiene DXVAHD_DEVICE_CAPS_xvYCC. Valide YCbCr_xvYCC no ajusta ninguna configuración y se omite realmente.
DXVAHD_STREAM_STATE_OUTPUT_RATE_DATA
Pruebe y valide los valores predeterminados (se produce específicamente la interpolación).
Pruebe NormalRate y HalfRate, comprobando que NormalRate está entrelazado de 2:1 a progresiva y HalfRate está entrelazado a progresivo.
Compruebe todas las CustomRates si GetVideoProcessorCustomRates expone alguno.
Especificar tarifas inversas de Telecine
- La compatibilidad con ITELECINE no estará disponible en el procesador de vídeo de referencia, por lo que la comparación directa es imposible. Para la validación, se genera un fotograma telecine y se pasa a la referencia. A continuación, el marco no telecine se procesa y se compara con el de los fotogramas proporcionados por el marco telecine.
Pruebe CustomRate no compatible, interpolado y repetido.
Pruebe CustomRate no admitido en NormalRate y HalfRate. Compruebe que se devuelve E_INVALIDARG de error.
Compruebe que customRates admitidos no se ha establecido correctamente a menos que se especifique DXVAHD_OUTPUT_RATE_CUSTOM.
DXVAHD_STREAM_STATE_SOURCE_RECT_DATA
Compruebe que limitar los datos para corregir más pequeños que la superficie de entrada da como resultado el escalado correcto.
Compruebe que una corrección mayor que la superficie de entrada da como resultado que las áreas recortadas sean transparentes.
Compruebe cuándo se establecen los datos de la corrección de origen y Habilitar marcado como false, se usa toda la superficie.
Una vez que se procesa un fotograma con datos de rectización de origen y Enable es false, se procesa un segundo fotograma con datos de rectización de origen y Enable es true, compruebe que la superficie está visible y se escala según el tamaño de corrección a la superficie de entrada.
Compruebe que Default no data set da como resultado que se use toda la superficie.
DXVAHD_STREAM_STATE_DESTINATION_RECT_DATA
Compruebe que limitar los datos para corregir más pequeños que la superficie de salida da como resultado el escalado correcto.
Compruebe que una corrección mayor que la superficie de salida da como resultado que se recortan las áreas recortadas.
Compruebe cuándo se establecen los datos de rectación de destino y Habilitar marcado como false, se usa toda la superficie.
Una vez que se procesa un fotograma con los datos de rectización de destino y Enable es false, se procesa un segundo fotograma con datos de rectización de destino y Enable es true, compruebe que la superficie de salida es visible y se escala según el tamaño de corrección a la superficie de salida.
Compruebe que Default no data set da como resultado que se use toda la superficie.
DXVAHD_STREAM_STATE_ALPHA_DATA
Todos los casos de prueba Alfa requieren más de una secuencia de vídeo, por lo tanto, multiplicando estos casos de prueba por dos.
Compruebe que los valores predeterminados alfa están deshabilitados.
Compruebe la combinación alfa de gama baja, media y alta y compruebe la transparencia.
Compruebe que se produce un error en el valor alfa flotante fuera del intervalo durante el procesamiento.
El nivel de tolerancia para la precisión de píxeles es del 10 %. La precisión debe ser mayor o igual que la precisión del 90 %.
DXVAHD_STREAM_STATE_PALETTE_DATA
Sin entradas de paleta establecidas, valide que el valor Null devuelve cero.
Con un número específico de entradas de paleta establecidas, compruebe que el valor Null devuelve el número esperado de entradas de paleta.
Pruebe los formatos fourCC de 4 y 8 bits.
Establezca arGB y la matriz mixta AYUV de entradas de paleta validan correctamente.
Compruebe que la mezcla correcta se produce cuando se usa con combinación alfa.
El nivel de tolerancia para la precisión de píxeles es del 10 %. La precisión debe ser mayor o igual que la precisión del 90 %.
DXVAHD_STREAM_STATE_CLEAR_RECT_DATA
Si DXVAHD_VPDEVCAPS. FeatureCaps no expone DXVAHD_FEATURE_CAPS_CLEAR_RECT, compruebe que se devuelve E_INVALIDARG de error cuando se produce un intento de usar ClearRects.
Compruebe que el estado CLEAR RECT predeterminado está deshabilitado y no está visible.
Compruebe CLEAR_RECT Fuera del destrect no está visible.
Compruebe que CLEAR_RECT Fuera del destrect se haya recortado correctamente.
DXVAHD_STREAM_STATE_LUMA_KEY_DATA
Si DXVAHD_VPDEVCAPS. FeatureCaps no expone DXVAHD_FEATURE_CAPS_LUMA_KEY, compruebe que se devuelve E_INVALIDARG de error.
Cuando se usa el flujo de entrada RGB y DXVAHD_VPDEVCAPS. FeatureCaps no expone DXVAHD_FEATURE_CAPS_RGB_LUMA_KEY, compruebe que no se omite ningún luma.
Compruebe si Enable está establecido en false, se omite luma.
Compruebe los valores fuera del intervalo para los resultados inferiores y superiores en caso de error durante el estado Set (E_INVALIDARG).
Compruebe que el valor predeterminado es Luma deshabilitado y que los valores de Inferior/Superior son 0.
El nivel de tolerancia para la precisión de píxeles es del 10 %. La precisión debe ser mayor o igual que la precisión del 90 %.
DXVAHD_STREAM_STATE_FILTER_DATA
Compruebe los valores predeterminados (Deshabilitado y DXVAHD_FILTER_RANGE_DATA. Valor predeterminado).
Compruebe si Habilitado y Nivel es Predeterminado que la secuencia presentada es la misma que cuando el filtro está habilitado.
Compruebe el nivel menor y mayor que GetVideoProcessorFilterRange notificado. Mayor que debe producir un error con E_INVALIDARG.
El nivel de tolerancia para la precisión de píxeles es del 10 %. La precisión debe ser mayor o igual que la precisión del 90 %.
DXVAHD_STREAM_STATE_PRIVATE_DATA
Pase guid, DataSize y pData no válidos. Valide que el controlador controla en consecuencia.
PData null recupera el tamaño correcto del estado blt privado.
Compruebe que VideoProcessBltHD en pOutputSurface de los tipos de superficie siguientes son correctos.
Surface predeterminado usado será una cadena de intercambio.
DXVAHD_SURFACE_TYPE_VIDEO_OUTPUT
RENDERTARGET
Una cadena de intercambio superpuesta.
Intercambiar cadenas de todos los demás tipos.
Formatos de píxeles de superficie de entrada y salida admitidos estándar, así como formatos de superficie de entrada y salida notificados como compatibles con el dispositivo especificado.
Compruebe un valor outputFrame de 1 o superior, antes de que se haya procesado el fotograma 0, da como resultado E_INVALIDARG.
Validar el procesamiento de OutputFrame 0 dos veces en una fila, sin cambios en los datos de flujo, da como resultado un fotograma en pausa.
Validar el procesamiento de OutputFrame 0 dos veces, con cambios en los datos de flujo, sigue provocando que se presenten los datos almacenados en caché (marco en pausa).
Compruebe que el procesamiento del número máximo, medio y mínimo de secuencias es correcto.
Compruebe StreamCount Mayor que o Menor que el número de pStreams da como resultado E_INVALIDARG.
Compruebe StreamCount de cero resultados en E_INVALIDARG.
DXVAHD_STREAM_DATA: Tasa normal/media progresiva, Progresiva a 2/1, Entrelazado a velocidad normal, Entrelazado a media velocidad, Entrelazado a media velocidad, Entrelazado a 4/5
Habilite una secuencia para comprobar el contenido presentado.
Dos secuencias, flujo principal habilitado con subproceso deshabilitado. Compruebe el contenido presentado.
Dos secuencias, flujo principal y subproceso habilitado. Compruebe el contenido presentado.
Tres secuencias, dos secuencias usadas para componer la secuencia principal habilitada y la tercera secuencia como subproceso deshabilitada. Compruebe el contenido presentado.
Tres secuencias, dos secuencias usadas para componer la secuencia principal una habilitada, y la tercera secuencia como subproceso deshabilitada. Compruebe el contenido presentado.
Tres secuencias, dos secuencias usadas para componer la secuencia principal habilitada, y la tercera, como la sub streaming habilitada también. Compruebe el contenido presentado.
Tres secuencias, dos secuencias usadas para componer la secuencia principal habilitada una habilitada, y una tercera secuencia como subproceso habilitada. Compruebe el contenido presentado.
PastFrames y FutureFrames fuera del intervalo.
PastFrames y FutureFrames no válidos, según pastsurfaces y FutureSurfaces dados.
PastSurfaces null y FutureSurfaces, con pastframes distintos de cero con FutureFrames.
Todas las permutaciones de DXVAHD_SURFACE_TYPE_VIDEO_INPUT, DXVAHD_SURFACE_TYPE_VIDEO_INPUT_PRIVATE, Decode RenderTarget y una superficie sin formato fuera de pantalla en ppPastSurfaces, pInputSurfaces, ppFutureSurfaces.
Valide que ppPastSurfaces, pInputSurfaces, ppFutureSurfaces de un SurfaceType no admitido devuelve E_INVALIDARG.
Valide superficies asignadas al grupo de memoria de tipo distinto de DXVAHD_VPDEVCAPS. InputPool da como resultado E_INVALIDARG.
Sintaxis de comandos
Opción de comando | Descripción |
---|---|
DXVAHDVideoProcessing VideoProcessing |
Sin ninguna opción, la prueba enumera todos pero algunos casos de prueba de argumentos no válidos extremos. |
TestPriority:[0, 1, 2] |
De forma predeterminada, las pruebas de un nivel de prioridad 1, sin embargo, la prioridad 2 probará cada permutación, incluidos los casos de prueba de argumentos no válidos extremos. 0 es para el nivel BVT. |
SoftwareOnly |
Prueba solo la implementación de software del procesador de vídeo. Esto se usó principalmente para las pruebas iniciales antes de que los controladores admita los casos de prueba. |
SaveAllFrames |
La prueba tiene el recuento de guardados codificados de forma rígida de fotogramas no válidos establecidos en 100 si desea que todos ellos se guarden, use esta marca. Adecuado para errores de casos de prueba de recuento de fotogramas altos. |
LogLevel:[0, 1, 2] |
La prueba tiene la capacidad de ser muy detallada en sus métodos de registro. De forma predeterminada, se establece el nivel 0, pero el nivel uno recopilará una mayor información de registro por casos de prueba, incluidos muchos estados de secuencia o conjuntos de estados blt. El nivel 2 recopilará todos los estados de flujo ajustados y los estados blt, así como cualquier información de configuración. |
Lista de archivos
Archivo | Ubicación |
---|---|
DXVAHDVideoProcessing.exe |
[testbinroot]\nttest\windowstest\graphics\d3d\func\ |
Dxvahdsw.dll |
[osbinroot]\nttest\windowstest\graphics\dxva\ |
Parámetros
Nombre de parámetro | Descripción de los parámetros |
---|---|
LLU_NetAccessOnly | LLU para el acceso neto |
ConfigDisplayCommandLine | Línea de comandos personalizada para ConfigDisplay. Valor predeterminado: logotipo |
MODIFIEDCMDLINE | Argumentos de línea de comandos adicionales para el ejecutable de prueba |