4.15. VIDIX

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Í

Nezáleží na tom, které video výstupní rozhraní je použito s VIDIX.

POŽADAVKY

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:

  1. 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.

  2. 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.

  3. Pro vytvoření potřebných zařízení v adresáři /dev proveďte jako root

    make device

    v adresáři svgalib_helper.

  4. Přesuňte adresář svgalib_helper do podadresáře vidix zdrojových kódů MPlayeru.

  5. Odkomentujte řádek CFLAGS obsahující text "svgalib_helper" v souboru vidix/Makefile.

  6. Překompilujte.

4.15.1. Karty ATI

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.

4.15.2. Karty Matrox

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

4.15.3. Karty Trident

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

4.15.4. Karty 3DLabs

Ačkoli existuje ovladač pro čipy 3DLabs GLINT R3 a Permedia3, nikdo je netestoval, takže hlášení vítáme.

4.15.5. Karty nVidia

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

4.15.6. Karty SiS

Toto je velmi experimentální kód, stejně jako nvidia_vid.

Byl testován na SiS 650/651/740 (nejobvyklejší čipsety použité v SiS verzích "Shuttle XPC" barebones boxes out there)

Hlášení očekávána!