Ускорение видео DirectX
DirectX Video Acceleration ( DXVA ) — это спецификация Microsoft API для платформ Microsoft Windows и Xbox 360 , которая позволяет видео декодирование ускорять аппаратно . Конвейер ресурсоемкие операции , некоторые процессор такие как iDCT , компенсация движения и деинтерлейсинг позволяет переложить на графический . больше операций, включая видео операции захвата и обработки DXVA 2.0 позволяет также аппаратно ускорять .
DXVA работает совместно с моделью рендеринга видео, используемой видеокартой . DXVA 1.0, который был представлен как стандартизированный API в Windows 2000 ( DirectX 7 ) и в настоящее время доступен в 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 ] Он также включает три подспецификации: Deinterlacing DDI, COPP DDI и ProcAmp DDI. [ 4 ] Деинтерлейсинг DDI определяет обратные вызовы для операций деинтерлейсинга . Функции DDI COPP (сертифицированный протокол защиты вывода) позволяют защитить конвейер для носителей, защищенных DRM , путем указания функций шифрования . ProcAmp DDI используется для ускорения постобработки видео. Модуль драйвера ProcAmp находится между аппаратным средством рендеринга видео и драйвером дисплея и предоставляет функции для применения фильтров постобработки к распакованному видео.
Функции, предоставляемые DXVA DDI, недоступны напрямую клиенту DirectShow , но предоставляются в качестве функций обратного вызова средству визуализации видео. Таким образом, средство рендеринга играет очень важную роль в закреплении конвейера.
Поддержка DXVA для H.264 была добавлена в DirectX 9.0c .
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 ]
Программное обеспечение
[ редактировать ]- Adobe Flash v10.3 и более поздние версии
- Боксер
- CoreAVC v2.5.0 и более поздние версии [ 8 ]
- Даум ПотИгрок [ 9 ]
- DivX H.264 версии 1.2 и более поздних версий Декодер
- DVDFab Медиаплеер 3
- ffdshow-tryouts версии 3185 и новее
- Freemake Video Converter версии 2.2 и более поздних версий
- Что?
- Медиаплеер Классический домашний кинотеатр
- МедиаПортал
- MPV (только DXVA 2.0)
- Nero Multimedia Suite (Nero Kwik Media, Nero MediaHub, Nero Showtime)
- Плекс
- PowerDVD
- Медиаплеер VLC версии 1.1 и новее (только DXVA 2.0) [ 10 ]
- WinDVD
- Проигрыватель Windows Media версии 6.4 и более поздних версий [ 11 ]
- Проигрыватель Windows Media 11 ( только WMV3 )
- Проигрыватель Windows Media 12
- Ручной тормоз
См. также
[ редактировать ]- Унифицированный видеодекодер AMD
- Распределенный механизм кодеков
- Intel ясное видео
- Медиа Фонд
- NVIDIA PureVideo
- OpenMAX
- ВДПАУ
- API ускорения видео
- Ускорение битового потока X-Video
- Компенсация движения X-Video
Ссылки
[ редактировать ]- ^ Jump up to: а б с д и «Ускорение видео DirectX 2.0» . Проверено 24 октября 2007 г.
- ^ «Введение в DirectX VA» . Архивировано из оригинала 23 апреля 2008 г. Проверено 24 октября 2007 г.
- ^ «Поддержка ускорения видео Microsoft DirectX (DirectX VA)» . Проверено 24 октября 2007 г.
- ^ «Ускорение видео DirectX» . Архивировано из оригинала 8 апреля 2008 г. Проверено 24 октября 2007 г.
- ^ Jump up to: а б «Что нового в DirectShow» . Проверено 24 октября 2007 г.
- ^ «DXVA-HD (Windows)» . msdn.microsoft.com . Проверено 21 апреля 2018 г.
- ^ С., Ганеш Т. «Обзор высококачественного HTPC Vision 3D 252B от ASRock» . anandtech.com . Проверено 21 апреля 2018 г.
- ^ «Журнал изменений CoreAVC | CoreCodec» . Архивировано из оригинала 4 июля 2011 г. Проверено 9 апреля 2011 г.
- ^ «Даум ТВ» . tvpot.daum.net . Архивировано из оригинала 22 мая 2017 года . Проверено 21 апреля 2018 г.
- ^ «Декодирование VLC GPU — VideoLAN Wiki» . wiki.videolan.org . Проверено 21 апреля 2018 г.
- ^ «Как отключить аппаратное ускорение в проигрывателе Windows Media» .
Внешние ссылки
[ редактировать ]- Ускорение видео DirectX
- DXVAChecker , утилита, перечисляющая режимы DXVA, на которые способен данный компьютер.