stringtranslate.com

Ускорение видео DirectX

DirectX Video Acceleration ( DXVA ) — это спецификация Microsoft API для платформ Microsoft Windows и Xbox 360 , которая позволяет аппаратно ускорять декодирование видео . Конвейер позволяет переложить на графический процессор некоторые ресурсоемкие операции , такие как iDCT , компенсация движения и деинтерлейсинг . DXVA 2.0 позволяет также аппаратно ускорять больше операций, включая операции захвата и обработки видео.

DXVA работает совместно с моделью рендеринга видео , используемой видеокартой . DXVA 1.0, который был представлен как стандартизированный API в Windows 2000 и в настоящее время доступен в Windows 98 или более поздних версиях, может использовать либо режим рендеринга наложения , либо VMR 7/9 . [1] DXVA 2.0, доступный только в ОС Windows Vista , Windows 7 , Windows 8 и более поздних версиях, интегрируется с Media Foundation (MF) и использует Enhanced Video Renderer (EVR), присутствующий в MF. [1]

Обзор

DXVA используется программными видеодекодерами для определения конкретного кодека конвейера для аппаратного ускорения декодирования и рендеринга кодека. Конвейер начинается с ЦП, который используется для анализа медиапотока и преобразования в структуры, совместимые с DXVA. DXVA определяет набор операций, которые могут быть ускорены аппаратно, и интерфейсы драйверов устройств (DDI), которые графический драйвер может реализовать для ускорения операций. Если кодеку необходимо выполнить какую-либо из определенных операций, он может использовать эти интерфейсы для доступа к реализации этих операций с аппаратным ускорением. Если графический драйвер не реализует один или несколько интерфейсов, кодек должен предоставить для него программный резерв. Декодированное видео передается аппаратному средству рендеринга видео, где к нему может быть применена дальнейшая постобработка видео перед его рендерингом на устройство. Полученный конвейер можно использовать в приложении, совместимом с DirectShow .

DXVA определяет DDI компенсации движения , который определяет интерфейсы для операций iDCT , кодирования Хаффмана , компенсации движения , альфа-смешивания , обратного квантования , преобразования цветового пространства и операций преобразования частоты кадров, среди прочего. [2] [3] Он также включает три подспецификации: деинтерлейсинг DDI, COPP DDI и ProcAmp DDI. [4] Деинтерлейсинг DDI определяет обратные вызовы для операций деинтерлейсинга . Функции DDI COPP (сертифицированный протокол защиты вывода) позволяют защитить конвейер для носителей, защищенных DRM , путем указания функций шифрования . ProcAmp DDI используется для ускорения постобработки видео. Модуль драйвера ProcAmp находится между аппаратным средством рендеринга видео и драйвером дисплея и предоставляет функции для применения фильтров постобработки к распакованному видео.

Функции, предоставляемые DXVA DDI, недоступны напрямую клиенту DirectShow , но предоставляются в качестве функций обратного вызова средству визуализации видео. Таким образом, средство рендеринга играет очень важную роль в закреплении конвейера.

DXVA в Windows Vista и более поздних версиях

DXVA 2.0 расширяет реализацию видеоконвейера и добавляет множество других DDI, включая Capture DDI для захвата видео. DDI, которые он использует совместно с DXVA 1.0, также расширены за счет возможности использовать аппаратное ускорение большего количества операций. Кроме того, функции DDI напрямую доступны вызывающим абонентам и не требуют участия средства рендеринга видео. [5] Таким образом, программа также может создать конвейер для простого декодирования мультимедиа (без рендеринга) или постобработки и рендеринга (без декодирования). Для этих функций требуются драйверы модели драйвера дисплея Windows , что ограничивает DXVA 2.0 Windows Vista , Windows Server 2008 , [1] [5] Windows 7 , Windows Server 2008 R2 и Windows 8 . В Windows XP и Windows 2000 программы могут использовать DXVA 1.0. DXVA 2.0 позволяет использовать Enhanced Video Renderer в качестве средства рендеринга видео только в Vista, Windows 7 и Windows 8. [1] (В Windows XP DXVA-рендеринг возможен с помощью VMR9 и известного Overlay Mixer.) DXVA интегрируется с Media Foundation . и позволяет представлять конвейеры DXVA как преобразования Media Foundation ( MFT ). Даже конвейеры декодера или конвейеры постобработки могут быть представлены как MFT, которые могут использоваться загрузчиком топологии Media Foundation для создания полного конвейера воспроизведения мультимедиа. DXVA 1.0 эмулируется с помощью DXVA 2.0. [1] DXVA 2.0 не включает COPP DDI, а использует PVP для защищенного контента. Windows 7 реализует DXVA-HD [6] , если драйвер соответствует WDDM 1.1.

Реализации DXVA2: встроенная и обратная копия.

Реализации DXVA2 представлены в двух вариантах: «родном» и с обратным копированием .

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

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

Собственный режим предпочтителен, если нет необходимости в индивидуальной обработке, поскольку дополнительные операции копирования увеличивают нагрузку на память графического процессора. [7]

Программное обеспечение

Смотрите также

Рекомендации

  1. ^ abcde «Ускорение видео DirectX 2.0» . Проверено 24 октября 2007 г.
  2. ^ «Введение в DirectX VA». Архивировано из оригинала 23 апреля 2008 г. Проверено 24 октября 2007 г.
  3. ^ «Поддержка ускорения видео Microsoft DirectX (DirectX VA)» . Проверено 24 октября 2007 г.
  4. ^ «Ускорение видео DirectX» . Архивировано из оригинала 8 апреля 2008 г. Проверено 24 октября 2007 г.
  5. ^ ab «Что нового в DirectShow» . Проверено 24 октября 2007 г.
  6. ^ «DXVA-HD (Windows)» . msdn.microsoft.com . Проверено 21 апреля 2018 г.
  7. ^ С, Ганеш Т. «Обзор High-End Vision 3D 252B HTPC от ASRock». anandtech.com . Проверено 21 апреля 2018 г.
  8. ^ «Журнал изменений CoreAVC | CoreCodec» . Архивировано из оригинала 4 июля 2011 г. Проверено 9 апреля 2011 г.
  9. ^ "Даум ТВ" . tvpot.daum.net . Архивировано из оригинала 22 мая 2017 года . Проверено 21 апреля 2018 г.
  10. ^ «Декодирование VLC GPU — VideoLAN Wiki» . wiki.videolan.org . Проверено 21 апреля 2018 г.
  11. ^ «Как отключить аппаратное ускорение в проигрывателе Windows Media» .

Внешние ссылки