4.2. Xv

Sous XFree86 4.0.2 ou plus récent, vous pouvez utiliser les routines YUV matérielles de votre carte en utilisant l'extension XVideo. C'est ce qu'utilise l'option -vo xv. De plus, ce pilote supporte le réglage de luminosité/contraste/saturation/etc. (à moins que vous n'utilisiez le vieux, lent codec Divx DirectShow, qui le supporte partout), voir la page de man.

Pour que cela fonctionne, vérifiez ceci :

  1. Vous devez utiliser XFree86 4.0.2 ou plus récent (les versions précédentes n'ont pas XVideo)

  2. Votre carte supporte l'accélération matérielle (les cartes modernes le font)

  3. X charge l'extension XVideo, qui doit faire apparaître quelque chose comme :

    (II) Loading extension XVideo

    dans /var/log/XFree86.0.log

    Note

    NOTE : ceci charge seulement l'extension de XFree86. Dans une installation correcte, celle ci est toujours chargée, et ne signifie pas que le support XVideo spécifique à votre carte est chargée !

  4. Votre carte a le support Xv sous Linux. Pour le vérifier, essayez xvinfo, inclus dans XFree86. Cela doit afficher un long message, similaire à :

    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)
    (...etc...)

    Cela doit supporter les formats de pixels YUY2 packed et YV12 planar pour pouvoir être utilisés avec MPlayer.

  5. Finalement, vérifiez si MPlayer a été compilé avec le support 'xv'. Faites un mplayer -vo help | grep xv Si le support 'xv' à été compilé une ligne similaire à celle-ci devrait apparaitre :

      xv      X11/Xv

4.2.1.  Cartes 3dfx

Les anciens pilotes 3dfx avaient des problèmes avec l'accélération XVideo, et ne supportaient ni YUY2 ni YV12. Vérifiez que vous avez bien XFree86 version 4.2.0 ou plus, il fonctionne correctement avec YV12 et YUY2. Les versions précédentes, incluant 4.1.0, plantent avec YV12. Si des problèmes apparaissent en utilisant -vo xv, essayez SDL (qui utilise également XVideo) et voyez si cela passe mieux. Lisez la section SDL pour plus de détails.

OU, essayez le NOUVEAU pilote -vo tdfxfb ! Voir la section tdfxfb.

4.2.2. Cartes S3

Les cartes S3 Savage3D doivent fonctionner correctement, mais pour les Savage4, utilisez XFree86 version 4.0.3 ou plus (en cas de problèmes d'image, essayez 16bpp). Comme pour les S3 Virge : il y a un support xv, mais la carte elle-même est très lente, donc vous feriez mieux de la vendre.

Il y a maintenant un pilote framebuffer natif pour les cartes S3 Virge ou similaires à tdfxfb. Activez votre framebuffer (c-à-d ajoutez "vga=792 video=vesa:mtrr" en paramètre à votre noyau) et utilisez -vo s3fb (-vf yuy2 et -dr peuvent aider aussi).

Note

Il n'est actuellement pas facile de savoir quels modèles de Savage manquent de support YV12, et de le convertir par un pilote (lent). Si vous suspectez votre carte, prenez un pilote plus récent, ou demandez poliment un pilote qui gère MMX/3DNow sur la liste de diffusion MPlayer-users.

4.2.3. Cartes nVidia

nVidia n'est pas un très bon choix sous Linux ... Les pilotes open-source de XFree86 supportent la plupart de ces cartes, mais dans certains cas, vous devrez utiliser les pilotes binaires closed-source de nVidia, disponibles sur le site web de nVidia. Vous aurez toujours besoin de ce pilote si vous voulez l'accélération 3D.

Les cartes Riva128 n'ont pas de support XVideo même avec le pilote nVidia :( Plaignez-vous en à nVidia.

Cependant, MPlayer contient un pilote VIDIX pour la plupart des cartes nVidia. Actuellement il est en phase béta, et a quelques inconvénients. Pour plus d'informations, voir la section VIDIX nVidia.

4.2.4. Cartes ATI

Le pilote GATOS (que vous devriez utiliser, à moins d'avoir une Rage128 ou une Radeon) utilise VSYNC par défaut. Cela signifie que la vitesse de décodage (!) est synchronisée à la vitesse de rafraîchissement du moniteur. Si la lecture semble lente, essayez d'enlever VSYNC, ou passez la vitesse de rafraîchissement à n*(fps du film) Hz.

Radeon VE - si vous avez besoin de X, utilisez 4.2.0 ou supérieur pour cette carte. Pas de support TV-out. Bien sûr avec MPlayer vous pouvez heureusement avoir un affichage accéléré, avec ou sans sortie TV, et aucune librairie ou X ne sont requis. Lire la section VIDIX.

4.2.5. Cartes NeoMagic

Ces cartes sont utilisées sur de nombreux portables. Vous devez utiliser XFree86 4.3.0 ou supérieur, ou utiliser les pilotes Xv de Stefan Seyfried. Choisissez juste celui qui s'applique à votre version de XFree86.

XFree86 4.3.0 inclut le support Xv, mais Bohdan Horst a envoyé un petit patch pour les sources XFree86 qui accélère les opérations framebuffer (et donc XVideo) jusqu'à quatre fois. Ce patch a été inclus dans le CVS de XFree86 et devrait être dans la prochaine version suivant 4.3.0.

Pour permettre la lecture de contenu de taille DVD changez votre XF86Config comme ceci :

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

4.2.6. Cartes Trident

Si vous voulez utiliser Xv avec une carte Trident, puisque son support ne fonctionne pas avec 4.1.0, installez XFree 4.2.0. Celui-ci ajoute le support Xv plein-écran avec la carte Cyberblade XP.

MPlayer contient également un pilote VIDIX pour la carte Cyberblade/i1.

4.2.7. Cartes Kyro/PowerVR

Si vous voulez utiliser Xv avec une carte Kyro (par exemple la Hercules Prophet 4000XT), vous devriez télécharger les pilotes depuis le site de PowerVR.

4.2.8. Cartes Intel

Ces cartes sont présentes sur de nombreux portables. Un Xorg récent est recommendé.

Pour permettre la lecture de vidéo de la résolution d'un DVD (voir plus), modifiez le fichier XF86Config/xorg.conf comme tel :

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

L'absence de cette option se caractérise généralement par une erreur du genre

      X11 error: BadAlloc (insufficient resources for operation)
    

lorsque l'on tente d'utiliser l'option -vo xv.