4.2. Xv

Pod XFree86 4.0.2, nebo novějším, můžete použít hardwarové YUV rutiny karty pomocí rozšíření XVideo. Přesně toto používá volba -vo xv. Toto rozhraní také podporuje nastavování jasu/kontrastu/barevného tónu/atd. (pokud nepoužíváte strarý, pomalý DirectShow DivX kodek, který to podporuje všude), viz man stránka.

Abyste to zprovoznili, ujistěte se o následujícím:

  1. Musíte používat XFree86 4.0.2 nebo novější (předchozí verze nemají XVideo)

  2. Vaše karta aktuálně podporuje hardwarovou akceleraci (moderní karty ano)

  3. X nahrává rozšíření XVideo. Zpráva ve /var/log/XFree86.0.log vypadá asi takto:

    (II) Loading extension XVideo

    Poznámka

    Takto se nahraje pouze rozšíření pro XFree86. To je v dobré instalaci nahráno vždy a neznamená to, že je načtena i podpora XVideo pro kartu!

  4. Vaše karta má podporu Xv pod Linuxem. Abyste si to ověřili, zkuste xvinfo, které je součástí distribuce XFree86. Měl by se vypsat dlouhý text podobný tomuto:

    X-Video Extension version 2.2
    screen #0
      Adaptor #0: "Savage Streams Engine"
        number of ports: 1
        port base: 43
        operations supported: PutImage
        supported visuals:
          depth 16, visualID 0x22
          depth 16, visualID 0x23
        number of attributes: 5
    (...)
        Number of image formats: 7
          id: 0x32595559 (YUY2)
            guid: 59555932-0000-0010-8000-00aa00389b71
            bits per pixel: 16
            number of planes: 1
            type: YUV (packed)
          id: 0x32315659 (YV12)
            guid: 59563132-0000-0010-8000-00aa00389b71
            bits per pixel: 12
            number of planes: 3
            type: YUV (planar)
    (...atd...)

    Musí podporovat pixelové formáty YUY2 packed a YV12 planar, aby byla použitelná s MPlayerem.

  5. A nakonec si ověřte, jestli byl MPlayer skompilován s podporou 'xv'. Proveďte mplayer -vo help | grep xv . Pokud byla skompilována podpora 'xv', měl by se objevi řádek podpobný tomuto:

      xv      X11/Xv

4.2.1. Karty 3dfx

Starší ovladače 3dfx byly známy svými problémy s XVideo akcelerací a nepodporovaly barevné prostory YUY2 ani YV12. Ověřte, že máte XFree86 verze 4.2.0 nebo vyšší, které pracuje dobře s YV12 a YUY2, zatímco předchozí verze, včetně 4.1.0, padá s YV12. Pokud zažívate podivné situace při používání -vo xv, zkuste SDL (má rovněž XVideo) a uvidíte, zda to pomůže. Prostudujte si sekci SDL pro více informací.

NEBO, zkuste NOVÉ -vo tdfxfb rozhraní! Viz sekce tdfxfb.

4.2.2. Karty S3

S3 Savage3D by měly fungovat dobře, ale pro Savage4 použijte XFree86 verze 4.0.3 nebo vyšší (v případě problémů s obrazem, zkuste 16bpp). Stejně ajko S3 Virge: má sice podporu xv, ale karta samotná je velmi pomalá, takže ji raději prodejte.

Pro karty S3 Virge nyní existuje nativní framebuffer ovladač podobný tdfxfb. Nastavte si framebuffer (čili přidejte "vga=792 video=vesa:mtrr" do příkazového řádku kernelu) a použijte -vo s3fb (-vf yuy2 a -dr rovněž pomůžou).

Poznámka

Zatím není jasné, kterým modelům Savage chybí podpora YV12 a konvertují ovladačem (pomalé). Pokud podezříváte kartu, opatřete si novější ovladač, nebo slušně požádejte v konferenci MPlayer-users o ovladač s MMX/3DNow!.

4.2.3. Karty nVidia

nVidia není vždy pod Linuxem nejlepší volbou... Open-source ovladač v XFree86 podporuje většinu těchto karet, ale v některých případech musíte použít binární closed-source ovladač od nVidie, který je k dispozici na serveru nVidia. Tento ovladač budete potřebovat vždy, pokud zároveň chcete 3D akceleraci.

Karty Riva128 nemají podporu XVideo v nVidia ovladači z XFree86 :( Stěžujte si nVidii.

Ačkoli MPlayer obsahuje VIDIX ovladač pro většinu nVidia karet, zatím je ve stavu beta verze a má jisté nedostatky. Více informací naleznete v sekci nVidia VIDIX.

4.2.4. Karty ATI

Ovladač GATOS (který byste měli použít, pokud nemáte Rage128 nebo Radeon) má zapnutý VSYNC ve výchozím stavu. To znamená, že rychlost dekódování (!) je synchronizována s obnovovacím kmitočtem monitoru. Pokud se vám zdá přehrávání pomalé, zkuste nějak vypnout VSYNC, nebo nastavte obnovovací kmitočet na n*(snímková rychlost filmu) Hz.

Radeon VE - pokud potřebujete X, použijte pro tuto kartu XFree86 4.2.0 nebo vyšší. Není zde podpora pro TV out. Samozřejmě s MPlayerem můžete mít s trochou štěstí akcelerovaný display s nebo bez TV výstupu a nepotřebujete žádné X knihovny. Přečtěte si sekci VIDIX.

4.2.5. Karty NeoMagic

Tyto karty lze nalézt v mnoha laptopech. Musíte použít XFree86 4.3.0 nebo vyšší, nebo použijte ovladače s podporou Xv od Stefana Seyfrieda. Stačí vybrat ten, který je vhodný pro vaši verzi XFree86.

XFree86 4.3.0 obsahuje podporu Xv, avšak Bohdan Horst poslal malý patch pro zdrojový kód XFree86, který zrychluje operace s framebufferem (čili XVideo) až čtyřikrát. Patch byl zařazen do XFree86 CVS a měl by být v další verzi vydané po 4.3.0.

Abyste mohli přehrávat obsah velikosti DVD, změňte svůj XF86Config takto:

Section "Device"
    [...]
    Driver "neomagic"
    Option "OverlayMem" "829440"
    [...]
EndSection

4.2.6. Karty Trident

Chcete-li používat Xv s kartou Trident, což nepracuje s 4.1.0, nainstalujte si XFree 4.2.0. 4.2.0 přidává podporu pro celoobrazovkové Xv pro kartu Cyberblade XP.

Alternativně, MPlayer obsahuje VIDIX ovladač pro kartu Cyberblade/i1.

4.2.7. Karty Kyro/PowerVR

Pokud chcete používat Xv s kartou založenou na čipu Kyro (například Hercules Prophet 4000XT), měli byste si stáhnout ovladače z PowerVR serveru.

4.2.8. Karty Intel

Tyto karty lze nalézt v mnoha laptopech. Doporučujeme aktuální Xorg.

Abyste umožnili přehrávání obsahu velikosti DVD (a větší), změňte svůj XF86Config/xorg.conf takto:

Section "Device"
    [...]
    Driver "intel"
    Option "LinearAlloc" "6144"
    [...]
EndSection

Vynechání této volby obvykle vede k chybě jako

X11 error: BadAlloc (insufficient resources for operation)

při pokusu použít -vo xv.