Обработка видео с высоким разрешением DXVA — CreateVideoSurface

Этот автоматический тест вызывает GetVideoProcessorDeviceCaps. Затем, используя эти ограничения, он создает несколько тестовых случаев на основе размера пула памяти по умолчанию для содержимого созданного устройства dxvahd.

Тестовый случай также проверяет поддерживаемые форматы входных и выходных данных каждого устройства. Он проверяет, можно ли создать поверхность для каждой входной и выходной поверхностей, а также подтверждает, что неизвестные форматы завершаются ошибкой. Тестовый случай также проверяет создание нескольких поверхностей для каждого формата.

Тест будет в большинстве случаев просто показывать тикером, например количество неудачных проходов приращения окна и показывает, какие переменные тестового случая выполняются итерации.

Тест может вернуть SKIP, если драйвер не предоставляет D3DCAPS3_DXVAHD. В некоторых случаях он может пропустить, если некоторые форматы поверхности не поддерживаются.

Сведения о тесте

   
Характеристики
  • Device.Graphics.WDDM11.Render.DXVAHD.DXVAHD
  • Device.Graphics.AdapterRender.YUVSupport
Платформы
  • Windows 10, клиентские выпуски (x86)
  • Windows 10, клиентские выпуски (x64)
  • Windows Server 2016 (x64)
  • Windows 10, клиентские выпуски (Arm64)
Поддерживаемые выпуски
  • Windows 10
  • Windows 10 версии 1511
  • Windows 10, версия 1607
  • Windows 10 версии 1703
  • Windows 10 версии 1709
  • Windows 10 версии 1803
  • Windows 10, версия 1809
  • Windows 10 версии 1903
  • Следующее обновление до Windows 10
Ожидаемое время выполнения (в минутах) 2
Категория Совместимость
Время ожидания (в минутах) 120
Требуется перезагрузка false
Требуется специальная конфигурация false
Тип automatic

 

Дополнительная документация

Тесты в этой области функций могут содержать дополнительную документацию, включая предварительные требования, сведения о настройке и устранении неполадок, которые можно найти в следующих разделах:

Запуск теста

Перед запуском теста завершите настройку теста, как описано в разделе Требования к тестированию: Предварительные требования к тестированию графического адаптера или набора микросхем.

Кроме того, для этого теста требуется следующее программное обеспечение:

  • Драйвер дисплея, поддерживающий D3D9Caps.Caps3 D3DCAPS3_DXVAHD, в частности:

    • D3D9 поддерживает предоставление D3DCAPS3_DXVAHD.

    • Обязательные форматы вывода: D3DFMT_X8R8G8B8, D3DFMT_A8R8G8B8.

    • Обязательные форматы входных данных: поддерживаемые целевые объекты D3DFMT_X8R8G8B8, D3DFMT_A8R8G8B8, D3DFMT_YUY2, D3DFMT_AYUV и любой декодирование.

  • dxvahdsw.dll.

Устранение неполадок

Общие сведения об устранении неполадок при тестировании HLK см. в статье Устранение неполадок тестов HLK в Windows.

Сведения об устранении неполадок см. в разделе Устранение неполадок с тестированием Device.Graphics.

Дополнительные сведения

Этот тест проверяет следующие требования:

  • Проверьте успешность, указав допустимый указатель на DXVAHD_VPDEVCAPS.

    • Убедитесь, что значения OutputFormat и InputFormat являются правильными и правильно работают со связанными подпрограммами получения.

    • Убедитесь, что VideoProcessorCount правильно сопоставляется с количеством видеопроцессоров.

    • Убедитесь, что maxInputStreams больше нуля.

    • Убедитесь, что MaxStreamStates больше нуля.

  • Проверка успешности при DXVAHD_VPDEVCAPS. Используется InputFormatCount.

  • Проверьте сбой, если используется значение меньше и больше InputFormatCount.

  • Убедитесь, что D3DFMT_X8R8G8B8 поддерживается.

  • Проверка успешности при DXVAHD_VPDEVCAPS. Используется InputFormatCount.

  • Проверьте сбой, если используется значение меньше и больше InputFormatCount.

  • Убедитесь, что D3DFMT_X8R8G8B8, D3DFMT_A8R8G8B8, D3DFMT_YUY2 и AYUV (FourCC) считаются поддерживаемыми.

  • Убедитесь, что все форматы декодирования отрисовки также поддерживаются.

  • Создайте surface с высотой ширины, указанной в описании содержимого, высотой входной ширины.

  • Создайте Surface с высотой ширины, отличающийся как большей, так и меньшей высотой входной ширины описания содержимого.

  • Создайте Surface с типом D3DPOOL из DXVAHD_VPDEVCAPS. Входной пул. Затем, используя другой входной пул, убедитесь, что во время обработки VPBltHD возвращает E_INVALIDCALL.

  • Убедитесь, что любое значение использования, отличное от 0, приводит к возвращаемому значению (E_INVALIDARG).

  • Создайте поверхность DXVAHD_SURFACE_TYPE_VIDEO_INPUT и попытайтесь манипулировать ею с помощью API D3D9. Проверка успешности. (Неэкранный режим.)

    • Выполните итерацию по всем поддерживаемым входным форматам D3D, полученным IDXVAHD_Device::GetVideoProcessorInputFormats. Затем проверка неподдерживаемый формат D3D.
  • Создайте поверхность DXVAHD_SURFACE_TYPE_VIDEO_INPUT_PRIVATE. Убедитесь, что обработка через API D3D 9 завершается ошибкой. (Неэкранный режим.)

    • Выполните итерацию по всем поддерживаемым входным форматам D3D, полученным IDXVAHD_Device::GetVideoProcessorInputFormats. Затем проверка неподдерживаемый формат D3D.
  • Создайте поверхность DXVAHD_SURFACE_TYPE_VIDEO_OUTPUT и проверьте как целевой объект отрисовки.

    • Выполните итерацию по всем поддерживаемым входным форматам D3D, полученным IDXVAHD_Device::GetVideoProcessorOutputFormats. Затем проверка неподдерживаемый формат D3D.
  • Попробуйте создать одну поверхность, а затем убедитесь, что ppSurfaces содержит только одну поверхность.

  • Создайте несколько поверхностей и убедитесь, что количество поверхностей равно количеству поверхностей, представленных переданными numSurfaces.

  • Убедитесь, что неисправные значения ppSurface имеют значение NULL.

Синтаксис команды

Параметр команды Описание

DXVAHDVideoProcessing CreateVideoSurface

Без каких-либо параметров тест перечисляет все тестовые случаи, кроме крайне недопустимых аргументов.

TestPriority:[0, 1, 2]

По умолчанию тесты на уровне приоритета 1; однако приоритет 2 будет проверять каждую перестановку, включая крайне недопустимые тестовые случаи аргументов. 0 — для уровня BVT.

SoftwareOnly

Проверяет только программную реализацию видеопроцессоров. Он в основном использовался для первоначального тестирования до того, как драйверы поддерживали тестовые случаи.

SaveAllFrames

В тесте имеется жестко закодированное число сохранения недопустимых кадров, для которого задано значение 100. Я хочу, чтобы все они были сохранены, а затем использовать этот флаг. Хорошо подходит для сбоев тестового случая с высоким числом кадров.

LogLevel:[0, 1, 2]

Тест может быть очень подробным в методах ведения журнала. Однако по умолчанию задан уровень 0; Уровень 1 будет собирать дополнительные сведения о ведении журнала для тестовых случаев, включая множество состояний потока или blt состояний. Уровень 2 будет собирать все скорректированные состояния потока и состояния blt, а также все сведения о конфигурации.

 

Список файлов

Файл Расположение

DXVAHDVideoProcessing.exe

[testbinroot]\nttest\windowstest\graphics\d3d\func\

Dxvahdsw.dll

[osbinroot]\nttest\windowstest\graphics\dxva\

 

Параметры

Имя параметра Описание параметра
LLU_NetAccessOnly LLU для сетевого доступа
ConfigDisplayCommandLine Настраиваемая командная строка для ConfigDisplay. По умолчанию: логотип
MODIFIEDCMDLINE Дополнительные аргументы командной строки для тестового исполняемого файла