Jak włączyć obsługę sprzętowej akceleracji wideo VDPAU dla kart innych niż Nvidia?

8

Czytałem o VDPAU i tym, jak umożliwia mplayerowi przyspieszenie sprzętowe. Ale czytam też, że dotyczy to tylko kart Nvidii

Jak mogę włączyć to na karcie innej niż Nvidia (moja to AMD, ale chciałbym włączyć to również w netbooku Intela)? i czy to zadziała w przypadku innych odtwarzaczy wideo?

Uri Herrera
źródło
VDPAU afaik jest
techniką
Czy AMD ma coś takiego dla swoich kart?
Uri Herrera
Ati ma XVBA, ale nigdy nie słyszałem o tym od 2008 roku
Amith KK

Odpowiedzi:

6

VDPAU to interfejs programistyczny (API), który umożliwia odciążenie renderowania grafiki na chipsecie graficznym zamiast obsługi samego procesora.

Jest to program typu open source - początkowo produkowany przez samą Nvidię i obsługiwany przez większość obecnych kart graficznych.

Wikipedia ma doskonały artykuł na ten temat:

S3 Graphics dodała obsługę VDPAU do sterowników Linux dla swoich kart graficznych Chrome 400 od wersji 14.02.17 sterownika urządzenia dla Linux, obsługuje S3 Chrome 430 GT, S3 Chrome 440 GTX, S3 Chrome 530 GT i S3 Chrome 540 Sprzęt GTX.

Intel i ATI obecnie nie oferują wsparcia dla VDPAU. Nvidia ma nadzieję, że projektanci GPU będą wspierać bibliotekę VDPAU typu open source i dostarczać sterownikom akcelerację VDPAU, wymieniając przykładowe nazwy sterowników specyficznych dla sprzętu dla Intel i ATI: libvdpau_intel.so i libvdpau_ati.so.

Intel obsługuje obecnie własny rywalizujący interfejs API o nazwie VA-API .

ATI / Radeon koncentrują swoje wysiłki na swoich sterownikach Catalyst - znowu mają swój własny interfejs API o nazwie XVBA, ale obsługiwany jest tylko przez sterowniki Catalyst.

Phoronix w ciągu ostatnich kilku miesięcy donosił o opracowaniu innego API o nazwie Gallium 3D State Tracker - ma on na celu ujednolicenie głównych chipsetów - Intel, ATI / Radeon i NVidia. Mówiąc najprościej (o ile rozumiem) - próbuje nałożyć API na VA-API, VDPAU itp. W ten sposób programujesz do Gallium API i przetłumaczy to na konkurencyjne API dla ciebie.

Duża część tego jest najnowocześniejszym kodem - niestabilnym i często będziesz musiał skompilować kod itp., Aby nadążyć za najnowszymi osiągnięciami. X-Edgers PPA jest dobrym źródłem najnowszych osiągnięć - w tym artykule opisano instalację sterownika radeon opensource i wymuszenie użycia Gallium3D.

Powrót do tematu ... jak widać, grafika w systemie Linux jest obecnie zepsuta (niektórzy nazywają to bałaganem!) - dlatego najlepszym rozwiązaniem w tej chwili jest użycie odtwarzaczy multimedialnych, które próbują zaimplementować konkurencyjne interfejsy API, takie jak MPlayer.


AKTUALIZACJA

Powyższy była przeszłość ... 2011 Obecnie 2015 VDPAU jest wspierany przez inteli amdjak archWiki statystyki strona

Powinieneś zainstalować następujący pakiet dla intel

sudo apt-get install libvdpau-va-gl1 i965-va-driver

ale wygląda na to, że jest otwarty błąd w Ubuntu 14.04 i 14.10 , więc lib nie został znaleziony ... tak na przykład. vlc przez następujący błąd:

Failed to open VDPAU backend i965_drv_video.so: cannot open shared object file: No such file or directory

Na stronie błędu znajduje się obejście, nie kopiuję go tutaj, ponieważ nawet jeśli go zastosuję, wideo nie będzie odtwarzane w VLC (wygląda na to, że biblioteka jest zepsuta)

fossfreedom
źródło
5

przez długi czas cierpiałem na złą wydajność odtwarzacza flash na moim notebooku opartym na danych wywiadowczych. Po pewnym czasie postanowiłem włożyć w to trochę wysiłku i stworzyłem bibliotekę opakowań, która implementuje interfejs VDPAU za pomocą OpenGL. W systemach z dostępnym interfejsem VA-API (jak ten, który mam) przyspiesza także dekodowanie wideo. Zaimplementowano połowę lub jedną trzecią całej funkcjonalności VDPAU, ale to wystarczy, aby zarówno Flash Player, jak i MPlayer działały.

Możesz znaleźć kod na github: https://github.com/i-rinat/libvdpau-va-gl

Rinat Ibragimov
źródło