Portál AbcLinuxu, 30. dubna 2025 10:28

A new success has come... aneb Gentoo, XvBA a VA-API v akci

25.4.2011 23:30 | Přečteno: 1976× | Gentoo | Výběrový blog | poslední úprava: 27.4.2011 13:30

Tak a jsem zpátky u Gentoo :-) To moje předchozí nadšení z Archu se ukázalo jako velice předčasné, neboť jsem poznal, co to znamená kompilace ze zdrojáku s pomocí AUR. Když jsem si totiž chtěl nějaký SW rozšířit o nějakou funkci, jež nebyla příliš standardní, nastaly tuny a tuny nepříjemností, ale které přesně, na to jsem už za ten půlrok zapomněl... :-)

Ale co tady rozebírám Arch... Pořád jsem gentoob. I když jsem zradil. :-D

Zjišťuju totiž, že Gentoo mi nabízí tak jednoduchý systém kompilací, jaký je už snad jen u BSD systémů (a ty vůbec neznám). Přidání nějaké funkce u programu není z velké části problém a nejdelší čas zabere kompilace. Za pár měsíců jsem si Gentoo tak nějak vyladil, že chyby už neháže a updaty jsou bezbolestné, ale nedávno nastala nová výzva:

Ovladače ATI Radeon.

Upřímně, čekal jsem tunu problémů. Ale když vynechám (bezproblémové) nastavení pomocí aticonfig, fungovaly hned po instalaci, až se mi tomu nechtělo věřit, a to vše s mojí HD5670. Emerge kecalo něco o zapnutém DRI a že s 3D akcelerací "to nespolupracuje". Z nějakého důvodu ale zatím fungují jak hry, tak akcelerace videa s pomocí VA-API, o které se teď budu bavit.

XvBA <--> VA-API

XvBA (X-Video Bitstream Acceleration) je rozhraní pro akceleraci videa pomocí GPU vytvořené AMD/ATI pro grafiky Radeon HD - a opět je nekompatibilní s celým okolním světem. :-D Z AMD sice vyšla jistá dokumentace XvBA API, jenže to bylo docela nedávno a před tím se nikomu nechtělo tento druh akcelerace moc implementovat.

Ale i tak (za spolupráce AMD a Splitted Desktop Systems) vznikl xvba-video projekt - je to vlastně XvBA back-end pro VA-API. Jeho existence pak umožňuje využít síly GPU k akceleraci H.264 a VC-1 Advanced videí v aplikacích, které využijí VA-API.

Existuje zatím několik omezení (a možná je jich ještě víc). Ve Windows (od Vist) tato omezení (pokud vím) už nejsou.

I tak je ale pořád o co stát. Pojďme se podívat...

Jak se to dělá?

Uvádím zde postup pro systém Gentoo, neboť v něm pracuji. Nicméně u Archistů se balíček xvba-video nachází v AURu.

ÚPRAVA: Scarabeus přidal xvba-video ebuild do hlavního stromu Gentoo a ještě ho vylepšil, takže za to mu patří dík.
Čili jediný krok, který zbývá, je kompilace přehrávače - já teda používám mplayer - s USE flagem vaapi, jenže konkrétně mplayer standardně v Gentoo tento flag nemá. Je nutné použít verzi z xhub overlaye. Nastavit se to dá přes layman.
A pak se samozřejmě musí nainstalovat i náš ebuild.

$ layman -a xhub
$ USE="vaapi" emerge -av mplayer
$ emerge -v xvba-video
Zároveň by se měly nainstalovat všechny potřebné závislosti pro fungování VA-API.
Přehrávač VLC s VA-API také funguje bezproblémově, postačí pouze zapnout vaapi flag a posléze aktivovat GPU dekódování v nastavení.

S trochou štěstí by nyní měl být funkční podobný příkaz:

$ mplayer -va vaapi -vo vaapi /media/Data/Videa/Test\ videa/Champion_D_1080.mov

A pod článkem najdete XvBA v celé své kráse.
Chudák Celine je trošku roztrhaná, VSync mi ještě nějak nefunguje, ale na to snad přijdu. Doufám, že jsem nic podstatného nevynechal a rád si přečtu názory v komentářích! :-)

       

Hodnocení: 100 %

        špatnédobré        

Obrázky

A new success has come... aneb Gentoo, XvBA a VA-API v akci, obrázek 1

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

Luboš Doležel (Doli) avatar 25.4.2011 23:33 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: A new success has come... aneb Gentoo, XvBA a VA-API v akci
Odpovědět | Sbalit | Link | Blokovat | Admin
A jak to jde ve VLC? Moje zkušenost s VDPAU a VLC při přehrávání prokládaného videa je taková, že to v SW režimu žere míň CPU než v HW. Čuchám nějakou nekalost.
PaulosV avatar 25.4.2011 23:36 PaulosV | skóre: 10 | blog: dentoob
Rozbalit Rozbalit vše Re: A new success has come... aneb Gentoo, XvBA a VA-API v akci
Přiznám se bez mučení, VLC jsem zatím netestoval, stejně tak žádnou jinou VA-API aplikaci, ale právě teď kompiluji a dostavím se s výsledky - snad už brzy :-) VDPAU v MPlayeru fungovalo bezchybně, VLC nemám příliš v lásce, u mě nebylo ani zkompilované, u VA-API nicméně nevím.
PaulosV avatar 25.4.2011 23:37 PaulosV | skóre: 10 | blog: dentoob
Rozbalit Rozbalit vše Re: A new success has come... aneb Gentoo, XvBA a VA-API v akci
Aha, tak tady jde o prokládané video. Ba ne, na to řešení opravdu nemám. VDPAU u MPlayeru nepodporoval přídavné filtry, čili něco jako deinterlace použít nešlo. Ale u VLC si něčím takovým fakt nejsem jistý.
Luboš Doležel (Doli) avatar 26.4.2011 12:10 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: A new success has come... aneb Gentoo, XvBA a VA-API v akci
Právě že deinterlace se má taky dělat v HW (VDPAU to umí) a čuchám neplechu, že VLC nechá GPU udělat jen dekompresi, pak si načte data zpět, udělá deinterlace a zase je pošle do GPU.

V MPlayeru stačilo přidat extra vdpau parametr a deinterlace jelo krásně.
Grunt avatar 26.4.2011 13:45 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
Rozbalit Rozbalit vše Re: A new success has come... aneb Gentoo, XvBA a VA-API v akci
Právě že deinterlace se má taky dělat v HW
Tak to ani omylem. A jestli to teda VDPAU dělá tak o tom nic nevím a spíš bych to počítal jako malé bezvýznamné plus. Jinak si ale spíš myslím, že to prostě a jednoduše skrze nějaký GPU offloading nejde (posílání dekódovaného obrazu funguje u DSPček od TI a je s tím mnohem víc babrání, IMHO VDPAU to přímo prezentuje a pokud nemůže, tak vypoví činnost, protože se mi nechce věřit že by to po sběrnicích tahalo takové množství dat).
V MPlayeru
Nejsem si úplně jistý, ale myslím si že tohle v VLC, Mplayeru, Gstreameru i FFMPEGu obstarává jeden a ten samý kód: Libav. Takže spíš nějaké byrokratické přešlapy, pokud to v Mplayeru funguje bez potíží.
Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
Luboš Doležel (Doli) avatar 26.4.2011 16:16 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: A new success has come... aneb Gentoo, XvBA a VA-API v akci
VDPAU deinterlace umí sám řešit. Vzhledem k výpočetní náročnosti kvalitního deinterlace u 1080i videa je to velké plus.
Nejsem si úplně jistý, ale myslím si že tohle v VLC, Mplayeru, Gstreameru i FFMPEGu obstarává jeden a ten samý kód: Libav. Takže spíš nějaké byrokratické přešlapy, pokud to v Mplayeru funguje bez potíží.
Určitě ne. Zatímco v MPlayeru jde o podporu VDPAU, ve VLC jde o VA-API s VDPAU backendem. Libav se tohle netýká.
25.4.2011 23:37 nick
Rozbalit Rozbalit vše Re: A new success has come... aneb Gentoo, XvBA a VA-API v akci
Odpovědět | Sbalit | Link | Blokovat | Admin
jooooo tearing s ati... to sem mel taky... a koupil sem si kvuli tomu nvidiu
25.4.2011 23:42 kralyk z abclinuxu | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: A new success has come... aneb Gentoo, XvBA a VA-API v akci
Odpovědět | Sbalit | Link | Blokovat | Admin
Jak čtu ten postup zkrz všechny ty overlaye, přijde mi postup v Archu přeci jen jednodušší... vytáhnu pkgbuild mplayeru z ABS, pozměním flagy u configure do správné podoby a kompiluju, ne?... Alespoň posledně jsem to tak dělal, když jsem zkoušel HW akceleraci videa...
SPD vůbec není proruská
PaulosV avatar 25.4.2011 23:47 PaulosV | skóre: 10 | blog: dentoob
Rozbalit Rozbalit vše Re: A new success has come... aneb Gentoo, XvBA a VA-API v akci
Je to možné, ale mě osobně teda přijde postup s laymanem v Gentoo trošku srozumitelnější a není to ani tak složité. Problém může nastat jen při tvorbě vlastního ebuildu, když žádný (ne)oficiální není; s tím jsem se setkal u Gentoo zatím poprvé. Poté už problém nevidím.
26.4.2011 14:02 sdghsdhgse
Rozbalit Rozbalit vše Re: A new success has come... aneb Gentoo, XvBA a VA-API v akci
heh, overlaye už nejsou potřeba. Viz Scarabeus níže.
Limoto avatar 26.4.2011 18:04 Limoto | skóre: 32 | blog: Limotův blog
Rozbalit Rozbalit vše Re: A new success has come... aneb Gentoo, XvBA a VA-API v akci

A při první aktualizaci se ti to posere :-)

PaulosV avatar 26.4.2011 18:21 PaulosV | skóre: 10 | blog: dentoob
Rozbalit Rozbalit vše Re: A new success has come... aneb Gentoo, XvBA a VA-API v akci
Pokud si nedáš pozor, tak vskutku ano :-D
26.4.2011 19:06 kralyk z abclinuxu | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: A new success has come... aneb Gentoo, XvBA a VA-API v akci

A při první aktualizaci se ti to posere :-)

Proč by mělo? Mplayer přece aktualizovat nebudu (anebo aktualizuju ABS a mplayer překompilim). A aktualizace nikdy násilně neporuší stávající dependence...
Limoto avatar 26.4.2011 19:13 Limoto | skóre: 32 | blog: Limotův blog
Rozbalit Rozbalit vše Re: A new success has come... aneb Gentoo, XvBA a VA-API v akci

 

Mplayer přece aktualizovat nebudu

A to je právě ono. Na tom Gentoo bys aktualizoval stejně jako předtím, zatímco na Archu musíš po tomhle aktualizovat speciálně.

 

26.4.2011 19:15 kralyk z abclinuxu | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: A new success has come... aneb Gentoo, XvBA a VA-API v akci
Jestli ono to nebude tím, že Arch při aktualizaci na rozdíl od Gentoo nepřekompilovává :-D
Jinak pokud vytvoří někdo balíček mplayer-vaapi nebo mplayer-cokoli v AURu tak aktualizuješ úplně normálně...
Limoto avatar 26.4.2011 19:25 Limoto | skóre: 32 | blog: Limotův blog
Rozbalit Rozbalit vše Re: A new success has come... aneb Gentoo, XvBA a VA-API v akci

Já vím, ale v praxi budou problémy s jeho udržováním... To je prostě ten rozdíl Arch vs Gentoo, to neukecáš :-D

26.4.2011 19:31 kralyk z abclinuxu | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: A new success has come... aneb Gentoo, XvBA a VA-API v akci
Já vím, ale v praxi budou problémy s jeho udržováním...
Proč by měly?
Limoto avatar 26.4.2011 20:12 Limoto | skóre: 32 | blog: Limotův blog
Rozbalit Rozbalit vše Re: A new success has come... aneb Gentoo, XvBA a VA-API v akci

Protože na to někdo bude kašlat, a z principu bude vždycky aktualizovanej až po tom v hlavním repu...

27.4.2011 01:21 kralyk z abclinuxu | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: A new success has come... aneb Gentoo, XvBA a VA-API v akci
O ten xhub overlay se taky musí někdo starat, ne?
Limoto avatar 27.4.2011 13:04 Limoto | skóre: 32 | blog: Limotův blog
Rozbalit Rozbalit vše Re: A new success has come... aneb Gentoo, XvBA a VA-API v akci

Nevím, jak je to v tomto případě s tím overlayem, ale když někdo do ebuildu přidá, že USE flag něco dá parametr něco jinak do configure, a dostane se to do portage, tak to aktualizuje pořád jenom jeden správce a tohle už se nemění.

Grunt avatar 25.4.2011 23:45 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
Rozbalit Rozbalit vše Re: A new success has come... aneb Gentoo, XvBA a VA-API v akci
Odpovědět | Sbalit | Link | Blokovat | Admin
To
Unsupported PixelFormat 61
[VD_FFMPEG] XVMC-akcelerovaný MPEG-2
ti to tam píše proč?
Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
PaulosV avatar 25.4.2011 23:56 PaulosV | skóre: 10 | blog: dentoob
Rozbalit Rozbalit vše Re: A new success has come... aneb Gentoo, XvBA a VA-API v akci
Tipnu si: v USE flazích pro MPlayer mám povolenou i volbu xvmc, což měla být (částečná) akcelerace MPEG-2. Zřejmě je mi k ničemu, ale přesto ji tam mám. Snad to nepřinese žádné problémy do budoucna. A Unsupported PixelFormat 61? Hmm... Možná to spolu souvisí (XvMC a tento problém). Zkusím odstranit, zkompilovat bez toho a uvidím.
26.4.2011 13:41 Scarabeus IV | skóre: 20 | blog: blogisek_o_gentoo | Praha
Rozbalit Rozbalit vše Re: A new success has come... aneb Gentoo, XvBA a VA-API v akci
Odpovědět | Sbalit | Link | Blokovat | Admin
Tak sem to pridal do hlavniho stromu

Btw psani ebuildu je jeste jednodussi nez to co tam predvadis :)

PaulosV avatar 26.4.2011 18:20 PaulosV | skóre: 10 | blog: dentoob
Rozbalit Rozbalit vše Re: A new success has come... aneb Gentoo, XvBA a VA-API v akci
Bezvadný, doplnil jsem to do příspěvku a přepsal tím svůj ebuild. Díky! :-) Měl jsem s tím ebuildem i tak spoustu práce, ale tak co, první je vždycky nejhorší.
PaulosV avatar 26.4.2011 18:23 PaulosV | skóre: 10 | blog: dentoob
Rozbalit Rozbalit vše Re: A new success has come... aneb Gentoo, XvBA a VA-API v akci
Jo a moment, je tam chybka. Není to VDPAU backend, ale XvBA backend, jinak je to v pořádku ;-)
26.4.2011 20:50 Scarabeus IV | skóre: 20 | blog: blogisek_o_gentoo | Praha
Rozbalit Rozbalit vše Re: A new success has come... aneb Gentoo, XvBA a VA-API v akci
Ja vim je to opravene uz v revizi2. Asi 3 minuty po tom co sem to pridal... :)
vain avatar 27.4.2011 08:47 vain | skóre: 16
Rozbalit Rozbalit vše Re: A new success has come... aneb Gentoo, XvBA a VA-API v akci
Odpovědět | Sbalit | Link | Blokovat | Admin
Větší kokotinu na uložení obrázku než imageshack jsem už dlouho neviděl.
If the only choice you've got is to do the wrong thing, then it's not really the wrong thing, it's more like fate.
David Watzke avatar 27.4.2011 08:58 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: A new success has come... aneb Gentoo, XvBA a VA-API v akci
S tím nelze nesouhlasit, zvlášť když ukládání obrázků k zápisku podporuje i zdejší blog.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
PaulosV avatar 27.4.2011 13:27 PaulosV | skóre: 10 | blog: dentoob
Rozbalit Rozbalit vše Re: A new success has come... aneb Gentoo, XvBA a VA-API v akci
Nic proti, ale nemůže ta volba být třeba už při tvorbě článku? Teprve teď jsem si všimnul toho odkazu "Přidat obrázek" v pravém sloupci, kde bych ho upřímně nikdy nečekal... Prostě jsem to nemohl najít, proto jsem ukládal jinam ;-)
tomboytom-deviant avatar 30.4.2011 17:58 tomboytom-deviant | skóre: 7 | blog: lojdovo | .com
Rozbalit Rozbalit vše Re: A new success has come... aneb Gentoo, XvBA a VA-API v akci
Odpovědět | Sbalit | Link | Blokovat | Admin

Hlásím příjemný posun, chceteli úspěch. Předem mám Ati HD4200 ze zdílenou pamětí v chipsetu 785G a jsem dlouhodobě nasranej na AMD a tearing.

Nainstaloval jsem Ubuntu 11.04, jako prostředí mám Unity2D (Metacity), Unity Compiz skoro 1.0 je na v kombinaci fglrx a meho čipu nepoužitelný. Masivní memory leak, pády, pády pády, seky....

Pohedal jsem Launchpad PPA, našel tohle s mplayerm-vaapi a libva knihovnami a ze splited-desktop nainstaloval posledni xvba.deb.

Spouštím mplayer -o vaapi, hodí to eror. Ale SMPlayer v GUI navolené vaapi funguje!!! Sic to není tak dokonalé jako ve W7 s DXVA2, CPU mám u 1080p a 720p mkvéček většinou o cca 30% méně vytížené než bez vaapi, ale střídá se zatížení jader a je to schopno dost často jet i na 800mhz CPU frekvenci (ve W7 CPU pod 10% a po selou dobu na 800mhz), mám Athlon II X2 2.8ghz.

Ale teď to přijde! NENÍ tearing. NENÉ, PROSTĚ NENÍ! Hurá!!!. Je to ale zbytečnej porod to zprovozňovat (samo že ne takovej jako na Gentoo :-D ), to by mělo bejt default.

Keynes & Mimozemnšťané
PaulosV avatar 30.4.2011 22:14 PaulosV | skóre: 10 | blog: dentoob
Rozbalit Rozbalit vše Re: A new success has come... aneb Gentoo, XvBA a VA-API v akci
Cože? Na Gentoo je to porod? Z které planety pocházíš? :-D Díky Scarabeovi máš připraveno skoro všechno, co potřebuješ, v hlavním stromu Portage. Jen ten mplayer nějak vaapi nemá. VLC už třeba zas jo.
tomboytom-deviant avatar 30.4.2011 23:40 tomboytom-deviant | skóre: 7 | blog: lojdovo | .com
Rozbalit Rozbalit vše Re: A new success has come... aneb Gentoo, XvBA a VA-API v akci

:-D Pocházím z klikací planety Ubuntu (na opačné straně galaxie, jako Gentoo) :-D

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.