9923986909;rectangle
7994420702;horizontal

DXVA Checker

Как использовать аппаратное ускорение видео, обеспечиваемое видеокартой? #

Разные графические процессоры NVIDIA обеспечивают разный уровень ускорения для декодирования видео для разных форматов видео. Посмотреть примерные возможности можно в cравнительных таблицах. Имеется три основных возможных уровня аппаратного ускорения:

MoComp — графический процессор осуществляет компенсацию движения — обработку векторов, описывающих перемещения блоков изображения между кадрами. В зависимости от контента (статичная или динамическая сцена), данная функция составляет до 30% необходимых вычислений для декодирования.

IDCT — графический процессор осуществляет восстановление элементов изображения из описывающей их матрицы коэффициентов. В зависимости от размера элемента и разрешения исходного изображения, данная функция составляет до 50% необходимых вычислений для декодирования. В одних API поддержка IDCT означает выполнение графическим процессором и компенсации движения, в других API эти функции разделены.

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

Следует отметить, что даже наличие аппаратного ускорения декодирования видео уровня VLD у видеокарты не означает 0% нагрузки на центральный процессор. В любом случае определенную нагрузку создают работа с носителем, декодирование и вывод звука (особенно многоканального), синхронизация звука и видео, вывод меню и субтитров, интерфейс и функции проигрывателя.

Функции аппаратного ускорения видео графических процессоров NVIDIA реализованы в виде ускорения вызовов API DXVA (Windows), XvMC и VDPAU (Unix). Любой декодер/проигрыватель, написанный с использованием этих API, может автоматически или после специальной настройки использовать графический процессор при воспроизведении видео. Вместе с тем, возможность использования аппаратного ускорения зависит от доступной видеопамяти (особенно для декодирования HD видео), разрешения видео, версий драйвера и библиотек API. Проверить поддерживаемые в конкретной системе форматы и разрешения видео для аппаратного декодирования, а также наличие совместимых декодеров можно с помощью утилит DXVAChecker в Windows и vdpauinfo в Linux. Ниже приведены некоторые рекомендации по декодированию видео в различных форматах:

MPEG-2 (DVD, HDTV): функции аппаратного ускорения декодирования через DXVA реализованы в декодерах проигрывателей PowerDVD, WinDVD и Nero ShowTime, а также в декодере, включенном в состав Windows Media Center, Windows Vista и 7. Поддержка ускорения декодирования в Unix через XvMC и VDPAU имеется в проигрывателе Mplayer. Для полного использования возможностей графических процессоров NV40 и более новых необходим драйвер версии 65.ХХ и выше, а PowerDVD и WinDVD должны иметь версии не ниже 7.0 и 8.0 соответственно. NVIDIA также разработала декодер NVIDIA PureVideo Decoder, позволяющий задействовать возможности процессоров GeForce 4 — 7X00 в любых проигрывателях. Декодер является платным, пробная 30-дневная версия доступна на сайте NVIDIA.

WMV, VC-1 (IPTV, Blu-Ray): поддержка аппаратного ускорения декодирования WMV содержится в декодерах Windows Media, устанавливающихся с Windows Media Player версии 10 с обновлением и более новых, и работает для всех проигрывателей, использующих эти декодеры. В Windows Media Player для использования аппаратного ускорения зайдите в меню «Сервис-Параметры-Быстродействие-Дополнительно», и убедитесь, что установлены флажки «Использовать микширование» и «Использовать режим высокого качества». В других проигрывателях необходимо настроить вывод видео через рендер VMR или EVR. Декодеры, поставляемые в составе Windows Media Player версий до 11 включительно могут использовать уровень ускорения максимум IDCT. Проигрыватель Media Player Classic - Home Cinema содержит декодер VC-1 с поддержкой аппаратного ускорения, но требует поддержку видеокартой уровня ускорения VLD.

H.264 (Blu-Ray, HDTV): функции аппаратного ускорения декодирования через DXVA реализованы в декодерах проигрывателей PowerDVD, начиная с версии 7.3, WinDVD, начиная с версии 9.0, Media Player Classic - Home Cinema (требуется поддержка видеокартой уровня ускорения VLD_NoFGT) и в декодере, включенном в состав Windows 7. Для использования возможностей видеопроцессоров NVIDIA по декодированию H.264 необходим драйвер версии 92.ХХ и выше (графических процессоров G84/G86 и более новых — версии 163.ХХ и выше). В проигрывателях необходимо настроить вывод видео через рендер VMR версии 9 или EVR. В Unix поддержку аппаратного ускорения через API VDPAU имеет проигрыватель Mplayer последних SVN версий.

MPEG-4 ASP (DivX): функции аппаратного ускорения реализованы пока только в Unix через API VDPAU (при условии поддержки видеокартой уровня VDPAU C). Поддержку ускорения имеет проигрыватель Mplayer последних SVN версий.

AVC MVC (Blu-Ray 3D): функции аппаратного ускорения через DXVA реализованы в декодерах проигрывателей Cyberlink PowerDVD 10 Ultra 3D Mark II и ArcSoft Total Media Theater 3 Platinum с дополнением 3D Plug-in. Поддержка ускорения доступна при использовании драйвера NVIDIA версии 260.хх или более новой. 

Ряд проигрывателей вместо использования DXVA использует функции Direct3D для ускорения. В настройках QuickTime в панели управления перейдите на закладку «Дополнительно» (Advanced) и поставьте флажок «Включить видеоускорение Direct3D». В проигрывателе Media Player Classic в настройках на закладке «Output» выберите рендер «VMR 9 (renderless)», в разделе «DirectX 7 & 9 settings» выберите «Use texture surfaces and render video in 3D», после чего в выпадающем списке выберите способ, соответствующий возможностям видеокарты. Плагин Adobe Flash, начиная с версии 9.0.115, также может использовать Direct3D (Windows) или OpenGL (Linux) для ускорения вывода видео, функция включена по-умолчанию.

Отдельное исключение составляет ряд видеокарт на базе Riva TNT/TNT2, на которые устанавливался внешний по отношению к видеочипу чип-декодер DVD, использовавшийся через отдельную программу. Такие карты выпускала, в частности, фирма ASUS.

Adobe, Asus, Blu-Ray, DirectX, DVD, DXVA Checker, Flash, Linux, Microsoft, OpenGL, Riva TNT, vdpauinfo, Windows 7, Windows Vista, видео, драйвер, стерео