DirectX Video Acceleration ( DXVA ) является Microsoft API спецификации для Microsoft Windows и 360 Xbox платформы , которая позволяет видео декодирования быть аппаратным ускорением . Трубопровод позволяет определенным CPU -intensive операции , такие как IDCT , компенсации движения и деинтерлейса быть выгружены на GPU . 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) и использует улучшенный видеорендерер (EVR), присутствующий в MF. [1]
Обзор
DXVA используется программными видеодекодерами для определения специфичного для кодека конвейера для аппаратного ускорения декодирования и рендеринга кодека. Конвейер начинается с ЦП, который используется для анализа медиапотока и преобразования в DXVA-совместимые структуры. DXVA определяет набор операций, которые могут быть ускорены аппаратно, и интерфейсы драйверов устройств (DDI), которые графический драйвер может реализовать для ускорения операций. Если кодеку необходимо выполнить какую-либо из определенных операций, он может использовать эти интерфейсы для доступа к реализации этих операций с аппаратным ускорением. Если графический драйвер не реализует один или несколько интерфейсов, кодек должен предоставить для него программный откат. Декодированное видео передается аппаратному устройству рендеринга видео, где к нему может быть применена дополнительная постобработка видео перед его рендерингом на устройство. Полученный конвейер можно использовать в приложении, совместимом с DirectShow .
DXVA определяет DDI компенсации движения , который , среди прочего , определяет интерфейсы для операций iDCT , кодирования Хаффмана , компенсации движения , альфа-смешивания , обратного квантования , преобразования цветового пространства и преобразования частоты кадров. [2] [3] Он также включает три дополнительных спецификации: DDI деинтерлейсинга, DDI COPP и DDI ProcAmp. [4] Деинтерлейсинг DDI определяет обратные вызовы для деинтерлейса операций. Функции DDI COPP (Certified Output Protection Protocol) позволяют защитить конвейер для носителей с 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 Transforms ( 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 и новее
- Boxee
- CoreAVC v2.5.0 и новее [8]
- Даум ПотПлеер [9]
- DivX H.264 Decoder v1.2 и новее
- DVDFab Media Player 3
- Плагин Elecard MPEG-2 для WMP и MPEG Player
- ffdshow-tryouts ревизия 3185 и новее
- Freemake Video Converter v2.2 и новее
- Коди
- Медиа-плеер Классический домашний кинотеатр
- МедиаПортал
- mpv (только DXVA 2.0)
- Nero Multimedia Suite (Nero Kwik Media, Nero MediaHub, Nero Showtime)
- Plex
- PowerDVD
- VLC media player v1.1 и новее (только DXVA 2.0) [10]
- WinDVD
- Windows Media Player 11 ( только WMV3 )
- Проигрыватель Windows Media 12
- Ручной тормоз
Смотрите также
- Унифицированный видеодекодер AMD
- Распределенный движок кодеков
- Intel Clear Video
- Медиа Фонд
- Nvidia PureVideo
- OpenMAX
- ВДПАУ
- Video Acceleration API
- X-Video Bitstream Acceleration
- Компенсация движения X-Video
Рекомендации
- ^ a b c d e "DirectX Video Acceleration 2.0" . Проверено 24 октября 2007 .
- ^ «Введение в DirectX VA» . Архивировано из оригинала на 2008-04-23 . Проверено 24 октября 2007 .
- ^ «Поддержка Microsoft DirectX Video Acceleration (DirectX VA)» . Проверено 24 октября 2007 .
- ^ «Ускорение видео DirectX» . Архивировано из оригинала на 2008-04-08 . Проверено 24 октября 2007 .
- ^ а б «Что нового в DirectShow» . Проверено 24 октября 2007 .
- ^ «DXVA-HD (Windows)» . msdn.microsoft.com . Проверено 21 апреля 2018 года .
- ^ С., Ганеш Т. "Обзор ASRock High-End Vision 3D 252B HTPC" . anandtech.com . Проверено 21 апреля 2018 года .
- ^ «Архивная копия» . Архивировано из оригинала на 2011-07-04 . Проверено 9 апреля 2011 .CS1 maint: заархивированная копия как заголовок ( ссылка )
- ^ «Даум тв 팟» . tvpot.daum.net . Архивировано из оригинального 22 мая 2017 года . Проверено 21 апреля 2018 года .
- ^ «Декодирование VLC GPU - VideoLAN Wiki» . wiki.videolan.org . Проверено 21 апреля 2018 года .
Внешние ссылки
- Ускорение видео DirectX
- DXVAChecker , утилита, отображающая режимы DXVA, на которые способен данный компьютер.