PŘEDMLUVA. VIDIX je zkratka pro VIDeo Interface for *niX (video rozhraní pro *nix). VIDIX bylo navrženo a představeno jako rozhraní pro rychlé uživatelské ovladače dosahujících video výkonu jako dosahuje mga_vid na kartách Matrox. Je rovněž dobře přenositelné.
Toto rozhraní bylo navrženo jako pokus napasovat existující video akcelerující rozhraní (známé jako mga_vid, rage128_vid, radeon_vid, pm3_vid) do pevného schéma. Poskytuje vysokoúrovňové rozhraní k čipům známým jako BES (BackEnd scalers) nebo OV (Video Overlays). Neposkytuje nízkoúrovňové rozhraní k věcem známým jako grafické servery. (Nechci konkurovat X11 týmu v přepínání grafických režimů). Čili hlavním cílem tohoto rozhraní je maximalizace rychlosti přehrávání videa.
POUŽITÍ
Můžete použít samostatné video rozhraní: -vo xvidix
.
Toto rozhraní bylo vytvořeno jako front end X11 k technologii VIDIX.
Vyžaduje X server a může pracovat pouze pod X serverem. Poznamenejme, že
jelikož přímo komunikuje s hardwarem a obchází X ovladač, pixmapy uložené
v paměti grafické karty můžou být poškozeny. Můžete se tomu vyhnout omezením
množství video paměti použité X pomocí volby "VideoRam" v XF86Config o 4MB.
Pokud máte méně než 8MB video ram, můžete místo toho použít volbu
"XaaNoPixmapCache" v sekci screen.
Existuje konzolové VIDIX rozhraní: -vo cvidix
.
To vyžaduje pro většinu karet funkční inicializovaný framebuffer (jinak pouze
rozhodíte obrazovku) a dosáhnete podobného efektu jako s
-vo mga
nebo -vo fbdev
. nVidia karty však
jsou schopny zobrazit plně grafické video na reálné textové konzoli. Viz
sekci nvidia_vid pro více informací.
Abyste se zbavili textu na okrajích a blikajícího kursoru, zkuste něco jako
setterm -cursor off > /dev/tty9
(předpokládáme, že tty9
není dosud používaná) a pak
se přepneme do tty9
.
Na druhou stranu volba -colorkey 0
by měla poskytnout
video běžící na "pozadí", zprávná funkce však závisí na funkčnosti colorkey.
Můžete použít VIDIXové podzařízení, které bylo zabudováno do několika video
ovladačů, například: -vo vesa:vidix
(pouze Linux) a
-vo fbdev:vidix
.
Nezáleží na tom, které video výstupní rozhraní je použito s VIDIX.
POŽADAVKY
Video karta by měla být v grafickém režimu (vyjma karet nVidia s výstupním
rozhraním -vo cvidix
).
Výstupní video rozhraní MPlayeru by mělo znát aktivní video režim a být schopno sdělit VIDIXovému podzařízení některé video charakteristiky serveru.
METODY POUŽITÍ.
Když použijete VIDIX jako subdevice
(-vo vesa:vidix
), pak je konfigurace video režimu je provedeno
výstupním video rozhraním (zkrátka vo_serverem).
Takže můžete zadat na příkazovém řádku MPlayeru
stejné volby jako pro vo_server. Návdavkem rozeznává volbu
-double
jako globální parametr. (Doporučuji použít tuto volbu
s VIDIX aspoň pro ATI kartu). Stejně jako -vo xvidix
, dosud
zná následující volby: -fs -zoom -x -y -double
.
Rovněž můžete uvést VIDIXový ovladač jako třetí podvolbu na příkazovém řádku:
mplayer -vo xvidix:mga_vid.so -fs -zoom -double soubor.avi
nebo
mplayer -vo vesa:vidix:radeon_vid.so -fs -zoom -double -bpp 32 soubor.avi
Ale je to nebezpečné a neměli byste to dělat. V tomto případě bude zadaný ovladač vynucen a výsledek je nepředvídatelný (může vám zatuhnout počítač). Měli byste to použít POUZE pokud jste si absolutně jistí, že to bude fungovat a MPlayer to neudělá automaticky. Řekněte o tom prosím vývojářům. Správný způsob je použití VIDIX bez argumentů, aby proběhla autodetekce.
Jelikož VIDIX vyžaduje přímý přístup k hardware, můžete jej buď spustit jako root, nebo nastavit SETUID bit binárce MPlayeru (Varování: Toto je bezpečnostní risk!). Alternativně můžete použít speciální jaderný modul, například:
Stáhněte si vývojovou verzi svgalib (například 1.9.17), NEBO si stáhněte verzi vytvořenou Alexem speciálně pro použití s MPlayerem (ke kompilaci nepotřebuje zdrojový kód svgalib) z odtud.
Skompilujte modul v adresáři
svgalib_helper
(naleznete ji v svgalib-1.9.17/kernel/
,
pokud jste si stáhli zdrojový kód ze serveru svgalib) a nahrajte (insmod) jej.
Pro vytvoření potřebných zařízení v adresáři
/dev
proveďte jako root
make device
v adresáři
svgalib_helper
.
Přesuňte adresář svgalib_helper
do
podadresáře vidix
zdrojových
kódů MPlayeru.
Odkomentujte řádek CFLAGS obsahující text "svgalib_helper"
v souboru vidix/Makefile
.
Překompilujte.
V současnosti je většina ATI karet podporována nativně od Mach64 až po nejnovější Radeony.
Existují dvě skompilované binárky: radeon_vid
pro Radeony a
rage128_vid
pro karty Rage 128. Můžete některou vynutit,
nebo nechat VIDIX rozhraní autodetekovat všechny dostupné ovladače.
Matrox G200, G400, G450 a G550 jsou hlášeny jako funkční.
Ovladač podporuje video ekvalizéry a měl by být téměř tak rychlý jako Matrox framebuffer
Existuje ovladač pro čipset Trident Cyberblade/i1, který lze nalézt na motherboardech VIA Epia.
Ovladač byl napsán a je udržován Alastairem M. Robinsonem
Ačkoli existuje ovladač pro čipy 3DLabs GLINT R3 a Permedia3, nikdo je netestoval, takže hlášení vítáme.
Unikátní vlastností ovladače nvidia_vid je jeho schopnost zobrazit video na
jednoduché, čisté, pouze textové konzoli
– bez framebufferu nebo nějaké X magie. Pro tento účel budete muset
použít video rozhraní cvidix
, jak to ukazuje následující
příklad:
mplayer -vo cvidix příklad.avi