X video rozšírenie

Z Wikipédie, voľnej encyklopédie
Prejsť na navigáciu Prejsť na vyhľadávanie

Rozšírenie X video , často skrátené na XVideo alebo Xv, poskytuje výstupný video mechanizmus pre X Window System . Protokol pôvodne vyvinul David Carver a súčasná verzia (druhá) bola napísaná v júli 1991 . Jeho hlavným účelom a dodnes zostáva hardvérové ​​škálovanie ( grafické karty sú myslené ako hardvér) prehrávaného videa na prezeranie v režime celej obrazovky. Bez XVideo by túto prácu musel vykonávať výlučne centrálny procesor , čo by si vyžadovalo viac zdrojov av niektorých prípadoch by to mohlo viesť k spomaleniu prehrávania alebo zhoršeniu kvality obrazu. Okrem toho rozšírenie X video používa grafickú kartu na konverziu farebného priestoru . Pomocou neho je možné hardvérovo upraviť jas, kontrast a tón zobrazovaného video streamu.

Na používanie tohto rozšírenia sú potrebné a postačujúce tri veci:

  • Grafická karta musí podporovať požadované funkcie;
  • Jeho ovládač a X server podporujú rozhranie XVideo;
  • Program na prehrávanie videa je napísaný so schopnosťou používať toto rozhranie.

Väčšina moderných grafických kariet poskytuje funkcie požadované pre XVideo. Bežne označované ako hardvérové ​​škálovanie a akcelerácia YUV alebo jednoducho 2D hardvérová akcelerácia . X server XFree86 (operačné systémy UNIX, Linux a čiastočne na Mac OS X) podporuje rozšírenie XVideo od verzie 4.0.2. Môžete použiť utilitu xdpyinfo, aby ste sa uistili, že váš X server podporuje toto rozšírenie. A na kontrolu, či aktuálna grafická karta podporuje potrebné funkcie, môžete použiť program xvinfo .

Reprodukcia a spracovanie

Populárne programy na prehrávanie videa používané v systéme X Window, ako je MPlayer , MythTV alebo xine, zvyčajne už podporujú výstup videa cez XVideo. Preto je rozumné použiť toto rozšírenie všade tam, kde to umožňuje nainštalovaná grafická karta a ovládače to podporujú. Zrýchlenie bude citeľné aj na počítačoch s rýchlymi procesormi.

Napriek tomu, že protokol poskytuje možnosť čítať a zapisovať video stream z a na grafickú kartu, dnes sú najobľúbenejšie funkcie XvPutImage a XvShmPutImage . Klienti dekódujú snímky jeden po druhom a prenesú ich na grafickú kartu na hardvérové ​​škálovanie, transformáciu a zobrazenie.

Displej

Po zmenšení a príprave obrázka zostáva už len zobraziť ho. V tejto fáze existuje niekoľko spôsobov, ako urýchliť výstup videa. A keďže plná akcelerácia znamená, že grafická karta je zodpovedná za škálovanie, konverziu a výstup videa, presná metóda bude závisieť od toho, kde presne bude obraz zobrazený.

Úloha správcu kompozitných okien

V systéme Linux presná metóda zobrazenia do značnej miery závisí od použitého správcu okien . So správne nainštalovanými ovládačmi GPU môžu niektorí správcovia okien, nazývaní správcovia kompozitných okien , použiť grafické karty od spoločnosti Intel , ATI alebo nVidia na spracovanie každého zobrazeného okna nezávisle od ostatných. To sa dosiahne výstupom obsahu každého okna do špeciálnej vyrovnávacej pamäte a následným spojením do jedného obrázka. V momente, keď sú jednotlivé okná spracované vo vlastnej vyrovnávacej pamäti, je možné do nich v tejto fáze pomocou textúrového filtra pridávať video spracované grafickou kartou až do momentu, kedy sa okno definitívne vykreslí. XVideo je možné použiť na zrýchlenie video výstupu cez OpenGL Framebuffer Object alebo rozšírenia pbuffer.

Správca okien Metacity implementuje túto metódu. Blending je implementovaný pomocou hardvérovej 3D grafickej akcelerácie, ako je GLX_EXT_texture_from_pixmap. Okrem iného to umožňuje nezávislé zobrazenie viacerých video streamov na jednej obrazovke. Ostatní kompozitní manažéri Beryl , Compiz a Compiz Fusion robia to isté. Compiz Fusion je súčasťou Ubuntu Linux 7.10 a novších. Automaticky sa aktivuje, ak systém rozpozná hardvér, ktorý ho podporuje.

Avšak na počítačoch s obmedzenou hardvérovou podporou pre OpenGL, ktorým chýba podpora pre Framebuffer Object alebo pbuffer, ako na systémoch používajúcich XGL , rozšírenie Xv nebude dostupné.

Problémy s farebným kľúčom

Dôvod, prečo správcovia okien priamo nepodporujú prelínanie, je spôsobený tým, že je veľmi ťažké určiť, kam sa má video stream vyviesť, pretože počas akcelerácie sa obsah obrazovky zmení na jeden obrázok. Jediný spôsob, ako zabezpečiť výstup videa, je použiť hardvérové ​​prekrytie s farebným kľúčom . Po nakreslení všetkých okien sú jediné dostupné informácie o oknách ich veľkosť a súradnice. Na zobrazenie videa ale potrebujete aj informácie o tom, ako a ktoré okná sa navzájom prekrývajú. Na tento účel programy, ktoré prehrávajú videá, vyfarbia oblasť výstupu plnou farbou (povedzme zelenou). Potom, keď sa zobrazia všetky okná, prekrývajúce sa okná môžu zavrieť časť okna prehrávača videa, ale grafická karta bude musieť naskenovať iba určité súradnice obrazovky, a ak sú tam zelené bodky, potom sa videostream musí zobraziť v tomto miesto. Podobná metóda bola použitá na výstup videa s hardvérovou akceleráciou v operačnom systéme Microsoft Windows XP (a starších verziách), pretože jeho správca okien bol tak úzko integrovaný s operačným systémom, že ho nebolo možné zrýchliť sám.

Ak teda správca okien nie je zložený, potom sa na výstup videa použije hardvérové ​​prekrytie s farebným kľúčom, ako je popísané v odseku vyššie. Použitie tejto metódy však môže znemožniť získanie správnej snímky obrazovky s aplikáciami používajúcimi Xvideo. Výstup videa na druhý monitor môže byť tiež nemožný, ak je podporované iba jedno hardvérové ​​prekrytie.

Problémy s novými grafickými kartami

Kvôli vydaniu DirectX 10 množstvo moderných grafických kariet zrušilo alebo zmenilo podporu pre prekrývanie textúr. To ovplyvnilo aj grafické karty nVidia GeForce 8. Všetky grafické karty GeForce 8800, vrátane 8800GT a 8800GTS, teraz podporujú iba jedno prekrytie textúry na hlavnom monitore. V dôsledku toho nemôžu správne reprodukovať viac ako jeden video stream pomocou hardvérovej akcelerácie, bez ohľadu na platformu.

Výsledkom bolo slabé prehrávanie videa na operačných systémoch iných ako DirectX 10, vrátane Windows XP a Linux pomocou XVideo. Tieto zmeny tiež poškodili mnohých správcov skladania, vrátane Compiz a čiastočne Metacity .

pozri tiež

  • XvMC - Kompenzácia pohybu X-Video
  • MIT-SHM - Rozšírenie zdieľanej pamäte

Odkazy