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

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

Разные графические процессоры 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, видео, драйвер, стерео


  • Комментарии
  • ВКонтакте
  • Facebook

Rambler's Top100 Рейтинг@Mail.ru