mpv/DOCS/fr/video.html

1506 lines
70 KiB
HTML
Raw Normal View History

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Vid<EFBFBD>o - MPlayer - Le lecteur vid<69>o pour Linux</TITLE>
<LINK REL="stylesheet" TYPE="text/css" HREF="../default.css">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
<H3><A NAME="video">2.3.1 Sorties vid<69>o</A></H3>
<H4><A NAME="mtrr">2.3.1.1 R<>glage MTRR</A></H4>
<P>Il est FORTEMENT recommand<6E> de bien ajuster ses registres MTRR,
qui apportent un gain important de performances.</P>
<P>Faites un '<CODE>cat /proc/mtrr</CODE>':</P>
<P><CODE>
--($:~)-- cat /proc/mtrr<BR>
reg00: base=0xe4000000 (3648MB), size= 16MB: write-combining, count=9<BR>
reg01: base=0xd8000000 (3456MB), size= 128MB: write-combining, count=1</CODE></P>
<P>C'est bon, il montre ma Matrox G400 avec 16Mo de m<>moire. J'ai fais cela avec
XFree 4.x.x , qui ajuste les registres MTRR automatiquement.</P>
<P>Si rien n'a fonctionn<6E>, vous devrez proc<6F>der manuellement. D'abord, vous
devez trouver l'adresse de base. Vous pouvez la trouver de trois fa<66>ons :</P>
<UL>
<LI><EFBFBD> partir des messages au d<>marrage de X11, par exemple:
<P><CODE>(--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000<BR>
(--) SVGA: Linear framebuffer at 0xD8000000</CODE></P></LI>
<LI><EFBFBD> partir de /proc/pci (utilisez la commande lspci -v):
<P>
<CODE>01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525</CODE>
<CODE>Memory at d8000000 (32-bit, prefetchable)</CODE>
</P></LI>
<LI><EFBFBD> partir des messages noyau du driver mga_vid (utilisez <CODE>dmesg</CODE>):
<P><CODE>mga_mem_base = d8000000</CODE></P></LI>
</UL>
<P>Trouvons maintenant la taille m<>moire. Simplement, convertissez la taille de
la m<>moire vid<69>o en hexad<61>cimal, ou utilisez cette table :</P>
<TABLE BORDER=0>
<TR><TD>&nbsp;&nbsp;</TD><TD>1 Mo</TD><TD WIDTH="10%"></TD><TD>0x100000</TD></TR>
<TR><TD></TD><TD>2 Mo</TD><TD></TD><TD>0x200000</TD></TR>
<TR><TD></TD><TD>4 Mo</TD><TD></TD><TD>0x400000</TD></TR>
<TR><TD></TD><TD>8 Mo</TD><TD></TD><TD>0x800000</TD></TR>
<TR><TD></TD><TD>16 Mo</TD><TD></TD><TD>0x1000000</TD></TR>
<TR><TD></TD><TD>32 Mo</TD><TD></TD><TD>0x2000000</TD></TR>
</TABLE>
<P>Vous connaissez l'adresse de base ainsi que la taille, ajustons vos registres
MTRR ! Par exemple, pour la carte Matrox utilis<69>e ci-dessus (base=0xd8000000)
avec 32MB ram (size=0x2000000) faites simplement :</P>
<P><CODE>&nbsp;&nbsp;echo "base=0xd8000000 size=0x2000000 type=write-combining" &gt;| /proc/mtrr</CODE></P>
<P>Tous les processeurs ne supportent pas les MTRR. Les anciens K6-2 par exemple [vers 266Mhz, stepping 0]
ne sont pas compatibles avec les MTRR, mais les stepping 12 le sont ('<CODE>cat
/proc/cpuinfo</CODE>' pour le v<>rifier').</P>
<H4><A NAME="normal">2.3.1.2 Sortie vid<69>o pour cartes graphiques traditionnelles</A></H4>
<H4><A NAME="xv">2.3.1.2.1 Xv</A></H4>
<P>Sous XFree86 4.0.2 ou plus r<>cent, vous pouvez utiliser les routines YUV
mat<61>rielles de votre carte en utilisant l'extension XVideo. Ceci peut <20>tre fait
avec l'option option '-vo xv'. De plus, il supporte le r<>glage de
luminosit<69>/contraste/saturation/etc (<28> moins que vous n'utilisiez le vieux, lent
codec Divx DirectShow, qui le supporte partout), voir la page de man.</P>
<P>Pour que cela fonctionne, v<>rifiez ceci :</P>
<UL>
<LI>Vous utilisez XFree86 4.0.2 ou plus r<>cent (les versions pr<70>c<EFBFBD>dentes n'ont
pas XVideo)</LI>
<LI>Votre carte supporte l'acc<63>l<EFBFBD>ration mat<61>rielle (les cartes modernes le font)</LI>
<LI>X charge l'extension XVideo, qui doit faire appara<72>tre quelque chose comme :
<P><CODE>&nbsp;&nbsp;(II) Loading extension XVideo</CODE></P>
<P>dans /var/log/XFree86.0.log</P>
<P>NOTE: ceci charge seulement l'extension de XFree86. Dans une installation correcte,
celle ci est toujours charg<72>e, et ne signifie pas que le support XVideo sp<73>cifique <20>
<B>votre carte</B> est charg<72> !</P>
</LI>
<LI>Votre carte a le support Xv sous Linux. Pour le v<>rifier, essayez 'xvinfo', inclut dans
XFree86. Cela doit afficher un long message, similaire <20> :
<PRE>
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...)
</PRE>
<P>Cela doit supporter les formats de pixels YUY2 packed et YV12 planar
pour pouvoir <20>tre utilis<69> avec MPlayer.</P>
</LI>
<LI>Finalement, v<>rifiez si MPlayer a <20>t<EFBFBD> compil<69> avec le support 'xv'.
./configure doit vous le pr<70>ciser. </LI>
</UL>
<H4><A NAME="xv_3dfx">2.3.1.2.1.1 Cartes 3dfx</A></H4>
<P>Les anciens drivers 3dfx avaient des probl<62>mes avec l'acc<63>l<EFBFBD>ration XVideo,
et ne supportaient ni YUY2 ni YV12. V<>rifiez que vous avez bien XFree86
version 4.2.0 ou plus, qui doit fonctionner correctement. Les versions pr<70>c<EFBFBD>dentes,
incluant 4.1.0, <B>se plantent avec YV12</B>. Si des probl<62>mes apparaissent en
utilisant -vo xv,essayez SDL (qui utilise <20>galement XVideo) et voyez si cela passe
mieux. Lisez la section <A HREF="#sdl">SDL</A> pour plus de d<>tails.</P>
<P><B>OU</B>, essayez le NOUVEAU pilote -vo tdfxfb! Voir la section
<A HREF="#tdfxfb">tdfxfb</A>.</P>
<H4><A NAME="xv_s3">2.3.1.2.1.2 Cartes S3</A></H4>
<P>Les cartes S3 Savage3D doivent fonctionner correctement, mais pour les Savage4,
utilisez XFree86 version 4.0.3 ou plus (en cas de probl<62>mes d'image, essayez 16bpp).
Comme pour les S3 Virge.. il y a un support xv, mais la carte elle-m<>me est tr<74>s lente,
donc vous feriez mieux de la vendre.</P>
<P><B>NOTE</B>: il n'est actuellement pas facile de savoir quels mod<6F>les de Savage
manquent de support YV12, et de le convertir par un pilote (lent). Si vous
suspectez votre carte, prenez un driver plus r<>cent, ou demandez poliment
un pilote qui g<>re MMX/3DNow sur la liste de diffusion mplayer-users.</P>
<H4><A NAME="xv_nvidia">2.3.1.2.1.3 Cartes nVidia</A></H4>
<P>nVidia n'est pas un tr<74>s bon chois sous Linux (d'apr<70>s nVidia, ce n'est
<A HREF="users_against_developers.html#nvidia">pas vrai</A>).. Vous devrez
utiliser le pilote binaire de nVidia, disponible sur leur site. Le pilote
standard de X ne supporte pas XVideo pour ces cartes, par la faute des
sources/sp<73>cifications ferm<72>es de nVidia.</P>
<P>D'apr<70>s ce que je sais les derniers pilotes XFree86 contiennent le support XVideo
pour les GeForce 2 et 3.</P>
<P>Les cartes Riva128 n'ont pas de support XVideo m<>me avec le driver nVidia :(
Plaignez-vous en <20> nVidia.</P>
<H4><A NAME="xv_ati">2.3.1.2.1.4 Cartes ATI</A></H4>
<UL>
<LI>Le <A HREF="http://gatos.sourceforge.net">pilote GATOS</A> (que vous
devriez utiliser, <20> moins d'avoir une Rage128 ou une Radeon) utilise VSYNC par d<>faut.
Cela signifie que la vitesse de d<>codage est synchronis<69>e <20> la vitesse de
rafra<72>chissement du moniteur (!). Si la lecture semble lente, essayez d'enlever VSYNC,
ou passez la vitesse de rafra<72>chissement <20> n*(fps du film) Hz.</LI>
<LI>Radeon VE - actuellement seule la version CVS de XFree86 a un driver pour cette carte,
pas la version 4.1.0. Pas de support TV-out. Bien s<>r avec MPlayer vous pouvez
heureusement avoir un affichage <B>acc<EFBFBD>l<EFBFBD>r<EFBFBD></B>, avec ou sans <B>sortie TV</B>, et
aucune librairie ou X ne sont requis. Lire la section <A HREF="#vidix">VIDIX</A>.</LI>
</UL>
<H4><A NAME="xv_neomagic">2.3.1.2.1.5 Cartes NeoMagic</A></H4>
<P>Ces cartes sont utilis<69>es sur de nombreux portables. Malheureusement,
X 4.2.0 ne g<>re pas Xv, mais nous avons un pilote modifi<66> et compatible Xv pour vous.
<A HREF="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver/neomagic_drv.o.4.2.0.bz2">T<EFBFBD>l<EFBFBD>chargez-le ici</A>.
Pilote fournis par Stefan Seyfried.</P>
<P>Pour permettre la lecture de contenu de taille DVD changez votre XF86Config comme ceci:</P>
<P>Section "Device"<BR>
&nbsp; &nbsp; <I>[...]</I><BR>
&nbsp; &nbsp; Driver "neomagic"<BR>
&nbsp; &nbsp; <B>Option "OverlayMem" "829440"</B><BR>
&nbsp; &nbsp; <I>[...]</I><BR>
EndSection</P>
<H4><A NAME="xv_trident">2.3.1.2.1.6 Cartes Trident</A></H4>
<P>Si vous voulez utiliser Xv avec une carte trident, puisque son support ne
fonctionne pas avec 4.1.0, installez XFree 4.2.0. 4.2.0 ajoute le support Xv
plein-<2D>cran avec la carte Cyberblade XP.</P>
<H4><A NAME="xv_powervr">2.3.1.2.1.7 Cartes Kyro/PowerVR</A></H4>
<P>Si vous voulez utiliser Xv avec une carte Kyro (par exemple Hercules Prophet
4000XT), vous devriez t<>l<EFBFBD>charger les pilotes depuis le
<A HREF="http://www.powervr.com/">site de PowerVR</A>.</P>
<H4><A NAME="dga">2.3.1.2.2 DGA</A></H4>
<H4>PR<EFBFBD>AMBULE</H4>
<P>Ce document tente d'expliquer en quelques mots ce qu'est le DGA en
g<>n<EFBFBD>ral et ce que peut faire le driver de sortie DGA pour MPlayer
(et ce qu'il ne peut pas faire).</P>
<H4>QU'EST CE QUE LE DGA</H4>
<P>DGA signifie Direct Graphics Access et permet aux programmes de passer
outre le serveur X et de modifier directement la m<>moire dans le framebuffer.
Techniquement parlant, cela fonctionne en mappant la m<>moire du framebuffer dans
les adresse m<>moire de votre process. Cela est autoris<69> par le noyau uniquement
si vous avez les privil<69>ges super-user. Vous pouvez les obtenir soit en vous loggant
en root ou en pla<6C>ant le bit suid sur l'ex<65>cutable mplayer (<B>non recommand<6E></B>).</P>
<P>Il existe deux versions de DGA: DGA1 est utilis<69> par XFree 3.x.x et DGA2 a <20>t<EFBFBD>
introduit par XFree 4.0.1.</P>
<P>DGA1 propose uniquement un acc<63>s direct au framebuffer comme d<>crit ci-dessus.
Pour changer la r<>solution de votre signal vid<69>o vous devez utiliser les extensions
XVidMode.</P>
<P>DGA2 incorpore les fonctions de XVidMode et permet <20>galement de changer le nombre
de couleurs de l'affichage. Donc vous pouvez, en ex<65>cutant depuis un serveur X
32 bits, passer en 15 bits et vice-versa.</P>
<P>Cependant DGA a quelques d<>fauts. Il semble qu'il reste d<>pendant de la carte
graphique utilis<69>e et de la mise en place du driver de votre serveur X contr<74>lant
cette carte. Cela peut donc ne pas fonctionner sur tout les syst<73>mes ...</P>
<H4>INSTALLER LE SUPPORT DGA POUR MPLAYER</H4>
<P>Assurez vous d'abord que X charge l'extension DGA, regardez dans /var/log/XFree86.0.log:</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>(II) Loading extension XFree86-DGA</CODE></P>
<P>XFree86 4.0.x ou plus est TR<54>S RECOMMAND<4E> ! Le pilote DGA de MPlayer est
automatiquement d<>tect<63> lors de ./configure, ou bien vous pouvez le forcer
avec l'option --enable-dga.</P>
<P>Si le driver ne peut pas passer en r<>solution inf<6E>rieure, essayez les options -vm
(uniquement avec X 3.3.x), -fs, -bpp, -zoom pour trouver un mode vid<69>o qui convienne
<20> la vid<69>o. Il n'existe pas de convertisseur actuellement.. :(</P>
<P>Passez en ROOT. DGA n<>cessite un acc<63>s root pour <20>crire directement dans la m<>moire
vid<69>o. Si vous voulez rester en utilisateur, installez MPlayer SUID root:</P>
<P><CODE>
&nbsp;&nbsp;&nbsp;&nbsp;chown root /usr/local/bin/mplayer<BR>
&nbsp;&nbsp;&nbsp;&nbsp;chmod 750 /usr/local/bin/mplayer<BR>
&nbsp;&nbsp;&nbsp;&nbsp;chmod +s /usr/local/bin/mplayer</CODE></P>
<P>Maintenant cela fonctionne avec les droits d'un simple utilisateur.</P>
<BLOCKQUOTE>
<B>Attention: faille de s<>curit<69></B><BR>
Cela pr<70>sente une <B>grosse</B> faille de s<>curit<69> ! Ne faites <B>jamais</B>
ceci sur un serveur ou un ordinateur accessible par d'autres personnes que
vous, ils pourraient obtenir les privil<69>ges root par l'ex<65>cutable mplayer.
</BLOCKQUOTE>
<P>Utilisez maintenant l'option <CODE>-vo dga</CODE> et c'est parti !
(enfin on peut l'esp<73>rer:) Vous pouvez alors essayer l'option
<CODE>-vo sdl:dga</CODE>. C'est beaucoup plus rapide.</P>
<H4><A NAME="dga_modelines">CHANGEMENT DE R<>SOLUTION</A></H4>
<P>Le driver DGA vous permet de changer la r<>solution du signal de sortie.
Cela permet d'<27>viter un redimensionnement logiciel, beaucoup plus lent,
et offre une image plein <20>cran. Id<49>alement il doit passer <20> la r<>solution
exacte de la vid<69>o (except<70> pour respecter le rapport hauteur/largeur),
mais le serveur X permet uniquement le passage <20> des r<>solutions d<>finies dans
<CODE>/etc/X11/XF86Config</CODE> (<CODE>/etc/X11/XF86Config-4</CODE> pour
XFree 4.0.X respectivement). Ceux-ci sont d<>finis par des modelines d<>pendantes
des capacit<69>s de votre mat<61>riel. Le serveur X scanne ce fichier de configuration
au d<>marrage et <20>limine les modelines ne correspondant pas au mat<61>riel. Vous
pouvez retrouver dans les logs de X quelles modelines sont acceptables.
Elles peuvent <20>tre trouv<75>es dans :<CODE>/var/log/XFree86.0.log</CODE>.</P>
<P>Ces entr<74>es doivent fonctionner correctement avec un chip Riva128, en utilisant
le module pilote <CODE>nv.o</CODE> du serveur X.</P>
<PRE>
Section "Modes"
Identifier "Modes[0]"
Modeline "800x600" 40 800 840 968 1056 600 601 605 628
Modeline "712x600" 35.0 712 740 850 900 400 410 412 425
Modeline "640x480" 25.175 640 664 760 800 480 491 493 525
Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan
Modeline "352x288" 25.10 352 368 416 432 288 296 290 310
Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan
Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan
EndSection
</PRE>
<H4>DGA &amp; MPLAYER</H4>
<P>DGA est utilis<69> en deux endroits par MPlayer: le pilote SDL peut se compiler
pour en faire usage (-vo sdl:dga) et dans le pilote DGA (-vo dga). Dans les
sections suivantes je vous expliquerai comment fonctionne le driver DGA pour MPlayer.</P>
<H4>FONCTIONNALIT<EFBFBD>S</H4>
<P>Le pilote DGA s'invoque en sp<73>cifiant -vo dga en ligne de commande. L'action
par d<>faut consiste <20> passer dans une r<>solution s'approchant au mieux de la
r<>solution de la vid<69>o. Il ignore volontairement les options -vm et -fs
(autorisant le changement de r<>solution et le plein <20>cran) - il essaie
toujours de couvrir le plus large espace possible de votre <20>cran en
changeant les modes vid<69>o, tout en utilisant un seul cycle CPU additionnel
pour agrandir l'image. Si vous voulez utiliser un autre mode que celui qu'il
a choisi, vous pouvez le forcer par les options -x et -y. Avec l'option -v,
le pilote DGA affichera, entre autres choses, une liste de toutes les r<>solutions
support<72>es par votre fichier XF86Config. Avec DGA2 vous pouvez <20>galement le
forcer a utiliser un certain nombre de couleurs en utilisant l'option -bpp.
Les nombres de couleurs autoris<69>es sont 15, 16, 24 et 32. Cela d<>pend de
votre mat<61>riel, soit ces modes sont nativement support<72>s, soit il pratique
une conversion logicielle (qui peut ralentir la lecture).</P>
<P>Si par chance vous avez assez de m<>moire vid<69>o libre pour y placer une image
enti<74>re, le driver DGA utilisera le doublebuffering, qui am<61>liore
consid<69>rablement la qualit<69> de lecture. Il doit vous afficher si le
doublebuffering est utilis<69> ou non.</P>
<P>Doublebuffering signifie que la prochaine frame de votre vid<69>o est dessin<69>e
dans une partie non affich<63>e de la m<>moire graphique tandis que s'affiche la
frame en cours. Quand la frame suivant est pr<70>te, la puce graphique re<72>oit
simplement l'adresse de celle ci et r<>cup<75>re les donn<6E>e a afficher depuis cette
partie de la m<>moire. Pendant ce temps l'autre buffer se remplit de l'image
suivante, etc...</P>
<P>Le doublebuffering peut s'activer dans MPlayer avec l'option -double et se
d<>sactiver avec -nodouble. Actuellement l'option par d<>faut est de d<>sactiver
le doublebuffering. En utilisant le driver DGA, l'on-screen display (OSD)
fonctionne uniquement avec le doublebuffering activ<69>. Cependant, activer
le doublebuffering peut demander des calculs suppl<70>mentaires au processeur
(sur mon K6-II+ 525 il utilisait 20% de temps CPU en plus !), ceci d<>pendant
de l'impl<70>mentation du DGA pour votre mat<61>riel.</P>
<H4>PROBL<EFBFBD>MES DE VITESSE</H4>
<P>G<EFBFBD>n<EFBFBD>ralement, l'acc<63>s au framebuffer DGA peut s'av<61>rer aussi rapide que le
driver X11, apportant en plus l'avantage de b<>n<EFBFBD>ficier d'une image plein <20>cran.
Les pourcentages affich<63>es par MPlayer doivent <20>tre interpr<70>t<EFBFBD>es avec pr<70>caution,
comme par exemple avec le pilote X11 o<> ils n'incluent pas le temps utilis<69> par
le serveur X pour l'affichage. Pour des r<>sultats exacts, branchez un terminal
sur le port s<>rie de votre machine et lancez un 'top' pour savoir ce qui se passe
r<>ellement lors de la lecture...</P>
<P>D'une mani<6E>re g<>n<EFBFBD>rale, l'acc<63>l<EFBFBD>ration acquise en utilisant le DGA au lieu de
l'affichage X11 classique d<>pend fortement de votre carte graphique et des
optimisations effectu<74>es sur le module DGA du serveur X.</P>
<P>Si votre syst<73>me s'av<61>re trop lent, utilisez plut<75>t une profondeur de couleurs de
15 or 16bits, qui ne demandent que la moiti<74> de la bande passante d'un affichage
32 bits.</P>
<P>Utiliser une profondeur de 24 bits peut s'av<61>rer une bonne solution si votre carte
ne supporte nativement que le 32 bits, le transfert se r<>duisant de 25% par rapport
<20> un mode 32/32.</P>
<P>J'ai vu certains fichiers avi passer sur des Pentium MMX 266. Les processeurs AMD
K6-2 s'av<61>rent utilisables <20> partir de 400 MHZ et sup<75>rieur.</P>
<H4>BOGUES CONNUS</A></H4>
<P>A vrai dire, selon certains d<>veloppeurs de XFree, DGA est une usine <20> gaz. Ils
recommandent d'<27>viter son utilisation. Son impl<70>mentation n'est pas parfaite avec
chaque chipset pour XFree.</P>
<UL>
<LI>Avec XFree 4.0.3 et nv.o un bogue affiche des couleurs <20>tranges.</LI>
<LI>Les pilotes ATI requi<75>rent de passer plusieurs modes apr<70>s l'utilisation
du DGA.</LI>
<LI>Certains pilotes 'plantent' lors du retour <20> la r<>solution normale (utilisez
Ctrl-Alt-Keypad +, - pour y retourner manuellement).</LI>
<LI>Certains drivers affichent simplement des couleurs <20>tranges.</LI>
<LI>Certains pilotes mentent a propos de la quantit<69> de m<>moire allou<6F>e dans
l'espace d'adressage du processus, emp<6D>chant vo_dga d'utiliser le doublebuffering (SIS ?) </LI>
<LI>Certains pilotes semblent ne pas pouvoir reporter ne serait ce qu'un seul mode
valide. Dans ce cas le driver DGA plantera en vous affichant un mode 100000x100000
ou similaire...</LI>
<LI>L'OSD fonctionne uniquement avec le doublebuffering activ<69>.</LI>
</UL>
<H4><A NAME="sdl">2.3.1.2.3 SDL</A></H4>
<P>SDL (Simple Directmedia Layer) est fondamentalement une interface vid<69>o/audio
unifi<66>e. Les programmes qui l'utilisent connaissent uniquement SDL, et pas quels
pilotes vid<69>o ou audio SDL utilise lui-m<>me. Par exemple, un portage de Doom qui
utilise SDL peut tourner avec svgalib, aalib, X, fbdev et autres, vous devez seulement
sp<73>cifier (par exemple) le pilote vid<69>o <20> utiliser avec la variable d'environnement
SDL_VIDEODRIVER. Enfin, en th<74>orie.</P>
<P>Avec MPlayer, nous avons utilis<69> le redimensionnement logiciel de ses pilotes X11
pour les cartes qui ne supportent pas XVideo, jusqu'<27> ce que nous fassions notre propre
"dimensionneur" logiciel(plus rapide, plus agr<67>able). Nous avons <20>galement utilis<69> sa sortie aalib, mais
maintenant nous avons la notre qui est plus confortable. Son support DGA <20>tait meilleur
que le n<>tre, jusqu'<27> r<>cemment. Prenez-le maintenant? :)</P>
<P>Cela aide <20>galement avec certains pilotes/cartes bogu<67>s si la vid<69>o est saccad<61>
(pas de probl<62>me de lenteur du syst<73>me), ou si l'audio est retard<72>.</P>
<P>La sortie vid<69>o de SDL supporte l'affichage des sous-titres sous le film, dans les (si
pr<70>sentes) bandes noires.</P>
<P><B>Il existe plusieurs options en ligne de commande pour SDL :</B></P>
<DL>
<DT><CODE>-vo sdl:name</CODE></DT>
<DD>sp<EFBFBD>cifie le driver vid<69>o sdl a utiliser (i.e.. aalib, dga, x11)</DD>
<DT><CODE>-ao sdl:name</CODE></DT>
<DD>sp<EFBFBD>cifie le driver audio sdl a utiliser (i.e. dsp, esd, arts)</DD>
<DT><CODE>-noxv</CODE></DT>
<DD>d<EFBFBD>sactive l'acc<63>l<EFBFBD>ration Xvideo mat<61>rielle</DD>
<DT><CODE>-forcexv</CODE></DT>
<DD>tente de forcer l'acc<63>l<EFBFBD>ration Xvideo</DD>
</DL>
<TABLE BORDER=0>
<TR><TD COLSPAN=4><P><B>Touches SDL :</B></P></TD></TR>
<TR><TD></TD><TD><CODE>F</CODE></TD><TD></TD><TD>passe du mode plein <20>cran au mode fen<65>tr<74></TD></TR>
<TR><TD></TD><TD><CODE>C</CODE></TD><TD></TD><TD>passe par tous les modes plein <20>cran valides</TD></TR>
<TR><TD></TD><TD><CODE>W/S</CODE></TD><TD></TD><TD>mappings pour les touches * et / (contr<74>le du mixer)</TD></TR>
</TABLE>
<H4>Bogues connus :</H4>
<UL>
<LI>Les touches press<73>es avec le driver sdl:aalib se r<>p<EFBFBD>tent en continu.
(utiliser -vo aa !) C'est un bogue dans la SDL, je ne peux pas le changer
(test<73> avec SDL 1.2.1).</LI>
<LI>NE PAS UTILISER SDL avec la GUI! Cela ne fonctionnera pas comme il devrait.</LI>
</UL>
<H4><A NAME="svgalib">2.3.1.2.4 SVGAlib</A></H4>
<H4>INSTALLATION</H4>
<P>Vous devrez installer svgalib et ses paquetages de d<>veloppement afin que
MPlayer construise son driver SVGAlib driver (autodetect<63>, mais peut <20>tre
forc<72>), et n'oubliez pas d'<27>diter /etc/vga/libvga.config pour l'ajuster <20>
votre carte et votre moniteur.</P>
<H4>NOTES</H4>
<P>Assurez-vous de ne pas utiliser l'option -fs, car elle active l'utilisation
du redimensionneur logiciel, et c'est lent. Si vous en avez r<>ellement besoin,
utilisez l'option <CODE>-sws 4</CODE> qui donnera une qualit<69> mauvaise, mais
qui est un peu plus rapide.</P>
<H4>SUPPORT EGA (4BPP)</H4>
<P>SVGAlib incorpore EGAlib, et MPlayer a la possibilit<69> d'afficher n'importe
quel film en 16 couleurs, donc utilisable avec les configurations suivantes:</P>
<UL>
<LI>Carte EGA avec moniteur EGA: 320x200x4bpp, 640x200x4bpp, 640x350x4bpp</LI>
<LI>Carte EGA avec moniteur CGA: 320x200x4bpp, 640x200x4bpp</LI>
</UL>
<P>La valeur des bpp (bits par pixel) doit <20>tre fix<69> <20> 4 manuellement:<BR>
&nbsp;&nbsp;<CODE>-bpp 4</CODE><BR>
Le film doit probablement <20>tre redimensionn<6E> pour tenir dans le mode EGA:<BR>
&nbsp;&nbsp;<CODE>-vf scale=640:350</CODE> or<BR>
&nbsp;&nbsp;<CODE>-vf scale=320:200</CODE><BR>
Pour cela nous avons besoin de la routine de redimensionnement rapide
mais de mauvaise qualit<69>:<BR>
&nbsp;&nbsp;<CODE>-sws 4</CODE><BR>
Peut <20>tre que la correction d'aspect automatique doit <20>tre coup<75>e:<BR>
&nbsp;&nbsp;<CODE>-noaspect</CODE></P>
<P><B>NOTE:</B> d'apr<70>s mon exp<78>rience, la meilleur qualit<69> d'image sur les <20>crans EGA
peut <20>tre obtenue en diminuant l<>g<EFBFBD>rement la luminosit<69>: <CODE>-vf
eq=-20:0</CODE>. J'ai <20>galement besoin de diminuer la fr<66>quence d'<27>chantillonnage sur ma
machine, car le son est endommag<61> en 44kHz: <CODE>-srate 22050</CODE>.</P>
<P>Vous pouvez activer l'OSD et les sous-titres uniquement avec le filtre <CODE>expand</CODE>,
voir la page de man pour les param<61>tres exacts.</P>
<H4><A NAME="fbdev">2.3.1.2.5 Sortie framebuffer (FBdev)</A></H4>
<P>La compilation de le sortie FBdev est autod<6F>tect<63>e durant ./configure .
Lisez la documentation sur le framebuffer dans le sources du noyau
(Documentation/fb/*) pour avoir plus d'infos.</P>
<P>Si votre carte ne supporte pas le standard VBE 2.0 (anciennes cartes ISA/PCI,
comme les S3 Trio64), et uniquement VBE 1.2 (ou plus ancien ?) : Dans ce cas,
VESAfb reste disponible, mais vous devrez charger SciTech Display Doctor (<28>galement
nomm<6D> UniVBE) avant de booter Linux. Utilisez une disquette de boot DOS ou similaire.
Et n'oubliez pas d'enregistrer votre copie d'UniVBE ;))</P>
<P>La sortie FBdev accepte certains param<61>tres additionnels :</P>
<DL>
<DT><CODE>-fb</CODE></DT>
<DD>sp<EFBFBD>cifie le device framebuffer a utiliser (/dev/fb0)</DD>
<DT><CODE>-fbmode</CODE></DT>
<DD>mode a utiliser (relatif au fichier /etc/fb.modes)</DD>
<DT><CODE>-fbmodeconfig</CODE></DT>
<DD>fichier de configuration des modes (/etc/fb.modes par d<>faut)</DD>
<DT><CODE>-monitor_hfreq</CODE></DT>
<DT><CODE>-monitor_vfreq</CODE></DT>
<DT><CODE>-monitor_dotclock</CODE></DT>
<DD>valeurs <STRONG>importantes</STRONG>, voir <CODE>example.conf</CODE></DD>
</DL>
<P>Si vous voulez employer un mode sp<73>cifique, utilisez l'option</P>
<P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;mplayer -vm -fbmode (NomDuMode) nomfichier</CODE></P>
<UL>
<LI><B>-vm</B> seul choisira le mode le mieux adapt<70> dans votre fichier /etc/fb.modes.
Peut s'utiliser avec les options -x et -y. L'option -flip est support<72>e uniquement
si le format de pixels de la vid<69>o correspond au format de pixel du mode framebuffer.
Faites attention a la valeur bpp, le driver fbdev essaie par d<>faut d'utiliser la
valeur courante, ou bien celle sp<73>cifi<66>e par l'option -bpp. </LI>
<LI>l'option <B>-zoom</B> n'est pas support<72>e (le redimensionnement logiciel est trop
lent). L'option -fs n'est pas support<72>e non plus. Vous ne pouvez pas utiliser de
modes 8bpp (ou moins).</LI>
<LI>vous pouvez vouloir d<>sactiver le curseur: <CODE>echo -e
'\033[?25l'</CODE> ou <CODE>setterm -cursor off</CODE><BR>
et l'<27>conomiseur d'<27>cran: <CODE>setterm -blank 0</CODE><BR>
Pour afficher de nouveau le curseur: <CODE>echo -e '\033[?25h'</CODE>
ou <CODE>setterm -cursor on</CODE></LI>
</UL>
<P>NOTE: Le changement de mode vid<69>o avec FBdev _ne fonctionne pas_ avec le framebuffer
VESA, et ne nous le demandez pas, il ne s'agit pas d'une limitation de MPlayer.</P>
<H4><A NAME="mga_vid">2.3.1.2.6 Framebuffer Matrox (mga_vid)</A></H4>
<P>Cette section concerne le support BES (Back-End Scaler) sur cartes Matrox
G200/G400/G450, le driver noyau de mga_vid. Il est activement d<>velopp<70> par moi
(A'rpi), et supporte le VSYNC mat<61>riel avec triple buffering. Cela fonctionne aussi
bien en console framebuffer que sous X.</P>
<P><B>Attention</B>: Ceci est pour Linux uniquement ! Sur les syst<73>mes non-Linux
(test<73> sur FreeBSD), vous pouvez utiliser <A HREF="#vidix">VIDIX</A> <20> la place !</P>
<P><B>Installation:</B></P>
<OL>
<LI>Pour l'utiliser, vous devez au pr<70>alable compiler mga_vid.o:
<P><CODE>cd drivers<BR>
make</CODE></P></LI>
<LI>Puis cr<63>ez le p<>riph<70>rique <CODE>/dev/mga_vid</CODE>:
<P><CODE>mknod /dev/mga_vid c 178 0</CODE></P>
<P>et chargez le driver avec</P>
<P><CODE>insmod mga_vid.o</CODE></P></LI>
<LI>Vous pouvez v<>rifier si la d<>tection de la taille m<>moire est correcte
en utilisant la commande <CODE>dmesg</CODE>. Si elle s'av<61>re incorrecte,
utilisez l'option <CODE>mga_ram_size</CODE> (<CODE>rmmod mga_vid</CODE>
d'abord), en sp<73>cifiant la m<>moire de la carte en Mo:
<P><CODE>insmod mga_vid.o mga_ram_size=16</CODE></P></LI>
<LI>Pour le charger/d<>charger automatiquement, ins<6E>rez cette ligne a la fin
du fichier <CODE>/etc/modules.conf</CODE>:
<P><CODE>alias char-major-178 mga_vid</CODE></P>
<P>Puis copiez le module <CODE>mga_vid.o</CODE> <20> une place appropri<72>e
dans <CODE>/lib/modules/&lt;version noyau&gt;/quelquepart</CODE>.</P>
<P>Puis ex<65>cutez</P>
<P><CODE>depmod -a</CODE></P></LI>
<LI>Vous devez maintenant (re)compiler MPlayer, <CODE>configure</CODE> d<>tectera
<CODE>/dev/mga_vid</CODE> et construira le driver 'mga'. Pour l'utiliser dans
MPlayer, lancez-le avec l'option <CODE>-vo mga</CODE> si vous <20>tes en console
matroxfb, ou <CODE>-vo xmga</CODE> sous XFree86 3.x.x ou 4.x.x.</LI>
</OL>
<P>Le pilote mga_vid coop<6F>re avec Xv.</P>
<P>Le fichier p<>riph<70>rique <CODE>/dev/mga_vid</CODE> peut <20>tre lu (par exemple par
<CODE>cat /dev/mga_vid</CODE>) pour avoir des infos, et <20>crit pour changer la
luminosit<69>: <CODE>echo "brightness=120" &gt; /dev/mga_vid</CODE></P>
<H4><A NAME="tdfxfb">2.3.1.2.7 support YUV 3dfx (tdfxfb)</A></H4>
<P>Ce pilote utilise le pilote framebuffer tdfx du noyau pour lire des films
avec acc<63>l<EFBFBD>ration YUV. Vous aurez besoin d'un noyau avec support tdfxfb, et
de recompiler avec <CODE>./configure --enable-tdfxfb</CODE></P>
<H4><A NAME="opengl">2.3.1.2.8 Sortie OpenGL</A></H4>
<P>MPlayer supporte l'affichage de films en utilisant OpenGL, mais si votre
plateforme/pilote supporte xv comme <20>a devrait <20>tre le cas sur un PC avec Linux,
utilisez xv <20> la place, les performances d'OpenGL sont bien pires. Si vous
avez une impl<70>mentation X11 sans support xv, OpenGL est alors une alternative
viable.</P>
<P>Malheureusement tous les pilotes ne supportent pas cette fonction. Le pilote
Utah-GLX (pour XFree86 3.3.6) le supporte pour toutes les cartes. Voir
<A HREF="http://utah-glx.sourceforge.net">http://utah-glx.sourceforge.net</A>
pour plus de d<>tails sur son installation.</P>
<P>XFree86(DRI) 4.0.3 et sup<75>rieur supporte OpenGL avec les cartes Matrox et Radeon,
4.2.0 ou sup<75>rieur supporte la Rage128. Voir
<A HREF="http://dri.sourceforge.net">http://dri.sourceforge.net</A>
pour son t<>l<EFBFBD>chargement et les infos d'installation.</P>
<H4><A NAME="aalib">2.3.1.2.9 AAlib - affichage en mode texte</A></H4>
<P><B>AAlib</B> est une librairie affichant des graphismes en mode texte, en utilisant
un puissant moteur de rendu ASCII. De nombreux programmes le supporte d<>j<EFBFBD>, comme
Doom, Quake, etc. MPlayer poss<73>de pour cela un driver parfaitement utilisable. Si
./configure d<>tecte une installation de aalib, le driver aalib libvo sera compil<69>.</P>
<TABLE BORDER=0>
<TR><TD COLSPAN=4><P><B>Vous pouvez utiliser certains raccourcis clavier dans le fen<65>tre AA pour changer les options de rendu:</B></P></TD></TR>
<TR><TD>&nbsp;&nbsp;</TD><TD><CODE>1</CODE></TD><TD>&nbsp;&nbsp;</TD><TD>diminue le contraste</TD></TR>
<TR><TD></TD><TD><CODE>2</CODE></TD><TD></TD><TD>augmente le contraste</TD></TR>
<TR><TD></TD><TD><CODE>3</CODE></TD><TD></TD><TD>diminue la luminosit<69></TD></TR>
<TR><TD></TD><TD><CODE>4</CODE></TD><TD></TD><TD>augmente la luminosit<69></TD></TR>
<TR><TD></TD><TD><CODE>5</CODE></TD><TD></TD><TD>active/d<>sactive le rendu rapide</TD></TR>
<TR><TD></TD><TD><CODE>6</CODE></TD><TD></TD><TD>active le mode de dithering (none, error distribution, Floyd Steinberg)</TD></TR>
<TR><TD></TD><TD><CODE>7</CODE></TD><TD></TD><TD>inverse l'image</TD></TR>
<TR><TD></TD><TD><CODE>a</CODE></TD><TD></TD><TD>passe des contr<74>les de aa vers ceux de mplayer et vice-versa</TD></TR>
</TABLE>
<P><B>Vous pouvez utiliser les lignes de commande suivantes :</B></P>
<DL>
<DT><CODE>-aaosdcolor=V</CODE></DT>
<DD>change la couleur de l'OSD</DD>
<DT><CODE>-aasubcolor=V</CODE></DT>
<DD>change la couleur des sous-titres
<P><I>ou V peut <20>tre: (0/normal, 1/noir, 2/bold, 3/bold font, 4/reverse,
5/special)</I></P></DD>
</DL>
<P><B>AAlib lui m<>me propose de nombreuses options. En voici les principales :</B></P>
<DL>
<DT><CODE>-aadriver</CODE></DT>
<DD>choisit le pilote aa (X11, curses, Linux)</DD>
<DT><CODE>-aaextended</CODE></DT>
<DD>utilise les 256 caract<63>res</DD>
<DT><CODE>-aaeight</CODE></DT>
<DD>utilise l'ascii 8 bits</DD>
<DT><CODE>-aahelp</CODE></DT>
<DD>affiche toutes les options de aalib</DD>
</DL>
<P>NOTE: Le rendu prend beaucoup de temps CPU, sp<73>cialement en utilisant aalib sur X,
et prend moins de CPU sur une console standard, sans framebuffer. Utilisez
SVGATextMode pour passer en mode texte large, et appr<70>ciez ! (une carte hercules
en second <20>cran, c'est g<>nial :)) (mais <20> mon humble avis vous pouvez utiliser
l'option <CODE>-vf 1bpp</CODE> pour avoir des graphismes sur hgafb:)</P>
<P>Utilisez l'option <CODE>-framedrop</CODE> si votre machine n'est pas suffisamment
rapide pour afficher toutes les trames !</P>
<P>Sur un terminal vous obtiendrez de meilleures performances en utilisant le driver
linux, pas curses (<CODE>-aadriver linux</CODE>). Cependant vous devez avoir un acc<63>s
en <20>criture sur <CODE>/dev/vcsa&lt;terminal&gt;</CODE>. Ce n'est pas autod<6F>tect<63> par
aalib, mais vo_aa essaie de d<>terminer le meilleur mode. Voir
<A HREF="http://aa-project.sourceforge.net/tune/">http://aa-project.sourceforge.net/tune/</A>
pour une meilleure optimisation.</P>
<H4><A NAME="vesa">2.3.1.2.10 VESA - sortie sur BIOS VESA</A></H4>
<P>Ce pilote <20> <20>t<EFBFBD> con<6F>u et pr<70>senter comme un <B>pilote g<>n<EFBFBD>rique</B> pour
n'importe quelle carte ayant un BIOS compatible VESA VBE 2.0+. Un autre avantage
de ce pilote est qu'il force l'ouverture de la sortie TV.<BR>
<B>VESA BIOS EXTENSION (VBE) Version 3.0 Date: 16 Septembre 1998</B> (Page
70) dit:</P>
<BLOCKQUOTE>
<B>Conceptions des contr<74>leurs doubles</B><BR>
VBE 3.0 supporte la conception de contr<74>leur double en assumant que comme
les deux contr<74>leurs sont typiquement fournis par le m<>me OEM, sous le contr<74>le
d'un seul BIOS ROM sur la m<>me carte graphique, il est possible de cacher le fait
que deux contr<74>leurs sont pr<70>sent dans l'application. Cela <20> la limitation
d'interdire l'utilisation simultan<61>e de chacun des contr<74>leurs, met permet aux
applications avant VBE 3.0 de fonctionner normalement. La fonction VBE 00h
(Return Controller Information) retourne l'information combin<69>e des deux
contr<74>leurs, incluant la liste combin<69>e des modes disponibles. Quand une application
s<>lectionne un mode, le contr<74>leur appropri<72> est activ<69>. Chacune des fonctions
VBE restantes s'appliquent ensuite sur le contr<74>leur actif.
</BLOCKQUOTE>
<P>Donc vous avez des chances de faire fonctionner la sortie TV avec ce pilote.<BR>
(Je suppose que la sortie TV est souvent une t<>te ind<6E>pendante ou au moins
une sortie ind<6E>pendante.)</P>
<H4>AVANTAGES</H4>
<UL>
<LI>Vous avez la possibilit<69> de voir des films <B>m<EFBFBD>me si Linux ne conna<6E>t pas</B>
votre mat<61>riel vid<69>o.</LI>
<LI>Vous n'avez pas besoin d'avoir de logiciels graphiques install<6C>s sur votre
Linux (comme X11 (alias XFree86), fbdev et autres). Ce pilote peut fonctionner
en <B>mode texte</B>.</LI>
<LI>Vous avez des chance de faire <B>fonctionner la sortie TV</B>. (C'est le
cas au moins pour les cartes ATI).</LI>
<LI>Ce pilote appelle le gestionnaire <B>int 10h</B> ainsi ce n'est pas
un <20>mulateur - il appelle des choses <B>r<EFBFBD>elles</B> dans le BIOS <B>r<EFBFBD>el</B> en
mode <B>r<EFBFBD>el</B>. (habilement, en mode vm86).</LI>
<LI>Vous pouvez l'utiliser avec Vidix, acc<63>l<EFBFBD>rant ainsi l'affichage vid<69>o <B>ET</B>
la sortie TV en m<>me temps! (recommand<6E> pour les cartes ATI)</LI>
<LI> si vous avez un BIOS VESA VBE 3.0+, et que vous avez sp<73>cifi<66> <CODE>monitor_hfreq</CODE>,
<CODE>monitor_vfreq</CODE>, <CODE>monitor_dotclock</CODE> quelque part (fichier de
config, ou ligne de commande) vous aurez le plus haut taux de rafra<72>chissement possible.
(En utilisant la Formule G<>n<EFBFBD>rale de Timing). Pour activer cette fonctionnalit<69>
vous devrez sp<73>cifier <B>toutes</B> les options de votre moniteur.</LI>
</UL>
<H4>D<EFBFBD>SAVANTAGES</H4>
<UL>
<LI>Il ne fonctionne que sur les <B>syst<EFBFBD>mes x86</B>.</LI>
<LI>Il ne peut <20>tre utilis<69> qu'en <B>root</B>.</LI>
<LI>Pour l'instant il n'est disponible que pour <B>Linux</B>.</LI>
</UL>
<P>N'utilisez pas ce pilote avec <B>GCC 2.96</B>! Cela ne fonctionnera pas!</P>
<P><B>Options en ligne de commande disponibles pour VESA:</B></P>
<DL>
<DT><CODE>-vo vesa:opts</CODE></DT>
<DD>actuellement reconnu: <B>dga</B> pour forcer le mode dga et <B>nodga</B> pour
le d<>sactiver. En mode dga vous pouvez activer le double buffering via l'option
<CODE>-double</CODE>. Note: vous pouvez omettre ces param<61>tres pour activer
l'<B>autod<EFBFBD>tection</B> du mode dga.</DD>
</DL>
<H4>Probl<EFBFBD>mes connus et contournements:</H4>
<UL>
<LI>Si vous avez install<6C> des polices <B>NLS</B> sur votre Linux box et
que vous lancez le pilote VESA depuis le mode texte alors apr<70>s la fermeture
de MPlayer vous aurez la <B>Police de la ROM</B> charg<72>e <20> la place de la nationale.
Vous pouvez recharger la police nationale en utilisant l'utilitaire <B><I>setsysfont</I></B>
de la distribution Mandrake par exemple.</BR>
(<B>Astuce:</B> Le m<>me utilitaire peut <20>tre utilis<69> pour la localisation de fbdev).</LI>
<LI>Certains <B>pilotes graphiques Linux</B> de mettent pas <20> jour le <B>BIOS mode</B>
actif en m<>moire DOS. Donc si vous avez un tel probl<62>me - utilisez toujours
le pilote VESA uniquement depuis le <B>mode texte</B>. Sinon le mode texte (#03)
sera activ<69> de toute fa<66>on et vous devrez red<65>marrer votre ordinateur.</LI>
<LI>Souvent apr<70>s la fin du pilote VESA vous avez un <B><EFBFBD>cran noir</B>. Pour
retourner <20> l'<27>tat original de votre <20>cran - passez simplement sur une autre
console (en tapant <B>Alt-Fx</B>) et revenez <20> la premi<6D>re de la m<>me fa<66>on.</LI>
<LI>Pour faire <B>fonctionner la sortie TV</B> vous devez avoir branch<63> le connecteur
TV avant le d<>marrage de votre PC car le BIOS vid<69>o s'initialise une seule fois
<20> ce moment l<>.</LI>
</UL>
<H4><A NAME="x11">2.3.1.2.11 X11</A></H4>
<P>A <20>viter si possible. Sort sur X11 (utilise l'extension de m<>moire partag<61>e),
sans aucune acc<63>l<EFBFBD>ration mat<61>rielle du tout. Supporte le redimensionnement logiciel
(acc<63>l<EFBFBD>r<EFBFBD> par MMX/3DNow/SSE, mais toujours lent), utilisez les options <CODE>-fs -zoom</CODE>
La plupart des cartes poss<73>dent un redimensionnement mat<61>riel, pour elles utilisez
la sortie <CODE>-vo xv</CODE>, ou <CODE>-vo xmga</CODE> pour les Matrox.</P>
<P>Le probl<62>me est que la plupart des pilotes de carte ne supportent pas l'acc<63>l<EFBFBD>ration
sur la seconde t<>te/TV. Dans ce cas, vous voyez une fen<65>tre verte/bleue <20> la place
du film. C'est ici que ce pilote entre en jeu, mais vous aurez besoin d'un CPU puissant
pour utiliser le redimensionnement logiciel. N'utilisez pas le pilote SDL de
sortie+dimensionnement logiciel, la qualit<69> d'image est pire!</P>
<P>Le redimensionnement logiciel est tr<74>s lent, vous devriez essayer de changer de
mode vid<69>o <20> la place. C'est tr<74>s simple. Voyez la <A HREF="#dga_modelines">section DGA modelines</A>,
et ins<6E>rez-les dans votre XF86Config.</P>
<UL>
<LI>Si vous avez XFree86 4.x.x - utilisez l'option <CODE>-vm</CODE>. Il changera
de r<>solution pour s'adapter <20> celle de votre film. Si non:</LI>
<LI>Avec XFree86 3.x.x - Vous devrez tourner les r<>solutions possibles
avec les touches <B>CTRL-ALT-plus</B> et <B>moins</B>.</LI>
</UL>
<P>Si vous n'arrivez pas <20> trouver les mode que vous avez ins<6E>r<EFBFBD>, regardez dans
la sortie de XFree86. Certains pilotes ne peuvent utiliser les pixelclocks bas
qui sont requis pour les basses r<>solutions.</P>
<H4><A NAME="vidix">2.3.1.2.12 VIDIX</A></H4>
<P>VIDIX est l'abr<62>viation de <B>VID</B>eo <B>I</B>nterface for
*ni<B>X</B>.<BR>
VIDIX <20> <20>t<EFBFBD> con<6F>u et pr<70>sent<6E> comme une interface pour les pilotes espace-utilisateur
rapides fournissant des performances <20>gales <20> celles de mga_vid pour les cartes Matrox.
Il est aussi tr<74>s portable.</P>
<P>Cette interface <20> <20>t<EFBFBD> con<6F>ue comme une tentative de regrouper les interfaces d'acc<63>l<EFBFBD>ration
existantes (connues sous les noms mga_vid, rage128_vid, radeon_vid, pm3_vid) dans un
sch<63>ma uniforme. Il fournit une interface de haut niveau aux chipsets connus sous
les noms de BES (BackEnd scalers) ou OV (Video Overlays). Il ne fournit pas une
interface de bas niveau pour les choses connues sous le nom de serveurs graphiques.
(Je ne veux pas concourir avec l'<27>quipe X11 en changement de mode graphique). C'est <20> dire
que le but principal de cette interface est de maximiser la vitesse de la lecture vid<69>o.</P>
<H4>UTILISATION</H4>
<UL>
<LI>Vous pouvez utiliser le pilote de sortie vid<69>o autonome: <CODE>-vo xvidix</CODE><BR>
Ce pilote <20> <20>t<EFBFBD> d<>velopp<70> comme un front end X11 pour la technologie VIDIX.
Il requiert un serveur X et ne peut fonctionner que sous X. Notez que,
comme il acc<63>de directement au mat<61>riel et contourne le pilote X, les pixmaps
mis en cache dans la m<>moire de la carte graphique peuvent <20>tre corrompus.
Vous pouvez <20>viter cela en limitant la quantit<69> de m<>moire utilis<69> par X
avec l'option "VideoRam" dans la section "device" de XFree86Config. Vous devriez
fixer cette valeur avec la quantit<69> de m<>moire install<6C>e sur votre carte moins
4Mo. Si vous avez moins de 8Mo de m<>moire vid<69>o, vous pouvez utiliser l'option
"XaaNoPixmapCache" dans la section "screen" <20> la place.</LI>
<LI>Vous pouvez utiliser le sous-p<>riph<70>rique VIDIX qui <20> <20>t<EFBFBD> appliqu<71> <20> de
nombreux pilotes de sortie vid<69>o, tels que:<BR>
<CODE>-vo vesa:vidix</CODE> (<B>Linux uniquement</B>) et <CODE>-vo fbdev:vidix</CODE></LI>
</UL>
De plus le pilote de sortie vid<69>o utilis<69> avec <B>VIDIX</B> n'a pas d'importance.
<H4>BESOINS</H4>
<UL>
<LI>La carte graphique devrait <20>tre en mode graphique (J'<27>cris <B>devrait</B>
simplement parce que je l'ai test<73> en mode texte - <20>a fonctionne mais
avec un affichage horrible ;) Utilisez AAlib pour cela).<BR>
<I>Note: Tout le monde peut essayer cette astuce en d<>commentant le
changement de mode dans le pilote vo_vesa.</I></LI>
<LI>Le pilote de sortie vid<69>o de MPlayer devrait conna<6E>tre les modes vid<69>os
actifs et <20>tre capable de donner au sous-p<>riph<70>rique VIDIX quelques
caract<63>ristiques du serveur.</LI>
</UL>
<H4>M<EFBFBD>THODES D'UTILISATION</H4>
<P>Quand VIDIX est utilis<69> en temps que <B>sous-p<>riph<70>rique</B>
(<CODE>-vo vesa:vidix</CODE>), alors la configuration du mode vid<69>o
est faite par le p<>riph<70>rique de sortie vid<69>o (<B>vo_server</B> en bref).
Par cons<6E>quent vous pouvez passer en ligne de commande les m<>mes touches
que pour vo_server. De plus il comprends l'option <CODE>-double</CODE>
comme un param<61>tre global. (Je recommande l'utilisation de cette option
au moins pour les cartes ATI).<BR>
Comme pour <CODE>-vo xvidix</CODE>: actuellement il reconna<6E>t les options
suivantes: <CODE>-fs -zoom -x -y -double</CODE>.</P>
<P>Vous pouvez aussi sp<73>cifier le pilote VIDIX directement en troisi<73>me
sous-argument en ligne de commande:<BR>
<BR>
&nbsp;&nbsp;<code>mplayer -vo xvidix:mga_vid.so -fs -zoom -double
file.avi</code><BR>
ou<BR>
&nbsp;&nbsp;<code>mplayer -vo vesa:vidix:radeon_vid.so -fs -zoom -double -bpp
32 file.avi</code><BR>
<BR>
Mais c'est dangereux, et vous ne devriez pas faire <20>a. Dans ce cas le pilote
indiqu<71> sera forc<72> et le r<>sultat sera impr<70>visible (cela peut <B>geler</B>
votre ordinateur). Vous ne devriez le faire UNIQUEMENT si vous <20>tes absolument
s<>r que cela va fonctionner, et MPlayer ne le fait pas automatiquement. Dites-le
aux d<>veloppeurs SVP. La bonne fa<66>on est d'utiliser VIDIX sans argument pour
activer l'autod<6F>tection du pilote.</P>
<P>VIDIX est une toute nouvelle technologie et il est fortement possible que
sur votre syst<73>me (OS=abc CPU=xyz) elle ne fonctionne pas. Dans ce cas votre
seule solution est de le porter (principalement libdha). Mais il y a de bons
espoirs qu'il fonctionne sur les syst<73>mes o<> X11 fonctionne.
<P>Comme, VIDIX requiert l'acc<63>s direct au mat<61>riel, vous avez le choix entre le
lan<61>er en tant que root ou d<>finir le bit SUID du binaire MPlayer (<B>Attention:
c'est une faille de s<>curit<69> !</B>. Sinon, vous pouvez utiliser un module noyau
sp<73>cial, comme ceci:</P>
<OL>
<LI>T<EFBFBD>l<EFBFBD>chargez la
<A HREF="http://www.arava.co.il/matan/svgalib/">version de d<>veloppement</A>
de svgalib (par exemple 1.9.17),<BR>
<B>OU</B><BR>
t<>l<EFBFBD>chargez une version faite par Alex sp<73>cialement pour l'utilisation avec
MPlayer (elle ne n<>cessite pas les sources de svgalib pour compiler)
<A HREF="http://www.mplayerhq.hu/~alex/svgalib_helper-1.9.17-mplayer.tar.bz2">
ici</A>.</LI>
<LI>Compilez le module dans le r<>pertoire <CODE>svgalib_helper</CODE> (il peut <20>tre
trouv<75> <20> l'int<6E>rieur du r<>pertoire <CODE>svgalib-1.9.17/kernel/</CODE>
si vous avez t<>l<EFBFBD>charg<72> les source depuis le site de svgalib) et faire un insmod.</LI>
<LI>D<EFBFBD>placez le r<>pertoire <CODE>svgalib_helper</CODE> dans
<CODE>mplayer/main/libdha/svgalib_helper</CODE>.</LI>
<LI>Requis si vous avez t<>l<EFBFBD>charg<72> les sources depuis le site de svgalib: Retirez
les commentaires avant la ligne CFLAGS contenant la chaine "svgalib_helper" du
<CODE>libdha/Makefile</CODE>.</LI>
<LI>Recompilez et installez libdha.</LI>
</OL>
<H4><A NAME="vidix_ati">2.3.1.2.12.1 Cartes ATI</A></H4>
<P>Actuellement la plupart des cartes ATI sont support<72>s nativement, de la Mach64
jusqu'aux nouvelles Radeons.</P>
<P>Il y a deux binaires compil<69>s: <CODE>radeon_vid</CODE> pour les cartes Radeon et
<CODE>rage128_vid</CODE> pour les Rage 128. Vous pouvez en forcer une ou laisse le
syst<73>me VIDIX le d<>tecter parmis les pilotes disponibles.</P>
<H4><A NAME="vidix_matrox">2.3.1.2.12.2 Cartes Matrox</A></H4>
<P>Les Matrox G200,G400,G450 and G550 doivent normalement fonctionner.</P>
<P>Le pilote supporte les <20>galiseurs vid<69>o et devrait <20>tre presque aussi rapide que
le <A HREF="#mga_vid">framebuffer Matrox</A>.</P>
<H4><A NAME="vidix_trident">2.3.1.12.3 Cartes Trident</A></H4>
<P>Il y a un pilote disponible pour les chipsets Trident Cyberblade/i1, qui peut
<20>tre trouv<75> sur les cartes-m<>re VIA Epia.</P>
<P>Le pilote a <20>t<EFBFBD> <20>crit et est maintenu par Alastair M. Robinson, qui offre les
derni<6E>res versions des pilote <20> t<>l<EFBFBD>charger sur sa
<A HREF="http://www.blackfiveservices.co.uk/EPIAVidix.shtml">page web</A>.
Les pilotes sont ajout<75>s <20> MPlayer avec un tr<74>s l<>ger d<>calage, donc le CVS devrait
<20>tre toujours <20> jour.</P>
<H4><A NAME="vidix_3dlabs">2.3.1.2.12.4 Cartes 3DLabs</A></H4>
<P>Bien qu'il y ai un pilote pour les chips 3DLabs GLINT R3 et Permedia3,
personne ne l'a test<73>, donc les rapports sont les bienvenus.</P>
<H4><A NAME="directfb">2.3.1.2.13 DirectFB</A></H4>
<P><I>"DirectFB est une librairie graphique con<6F>ue pour les syst<73>mes embarqu<71>s.
Il offre des performances d'acc<63>l<EFBFBD>ration mat<61>rielle maximum pour un minimum
d'utilisation des ressources et de charge."</I> - citation de
<A HREF="http://www.directfb.org">http://www.directfb.org</A>.</P>
<P>J'exclurai les fonctionnalit<69>s de DirectFB dans cette section.</P>
<P>Bien que MPlayer ne soit pas support<72> en tant que "fournisseur vid<69>o" dans
DirectFB, ce pilote de sortie activera la lecture vid<69>o au travers de DirectFB.
Il sera - bien s<>r - acc<63>l<EFBFBD>r<EFBFBD>, sur ma Matrox G400 la vitesse de DirectFB
<20>tait la m<>me que celle de XVideo.</P>
<P>Essayez toujours d'utiliser la derni<6E>re version de DirectFB. Vous pouvez
utiliser les options DirectFB en ligne de commande, en utilisant l'option
<CODE>-dfbopts</CODE>. La s<>lection de couche peut <20>tre faite par la
m<>thode sous-p<>riph<70>rique, par ex.: <CODE>-vo directfb:2</CODE>
(couche -1 par d<>faut: autod<6F>tection)</P>
<H4><A NAME="dfbmga">2.3.1.2.14 DirectFB/Matrox (dfbmga)</A></H4>
<P>Veuillez lire la <A HREF="#directfb">section DirectFB principale</A> pour les
avoir les informations g<>n<EFBFBD>rales.</P>
<P>Ce pilote de sortie vid<69>o activera CRTC2 (sur la seconde t<>te) sur les cartes
Matrox G400/G450/G550, affichant la vid<69>o <B>ind<EFBFBD>pendamment</B> de la premi<6D>re t<>te.</P>
<P>Les instructions pour le faire fonctionner peuvent <20>tre trouv<75>es dans la
<A HREF="../tech/directfb.txt">section tech</A>
ou directement sur la
<A HREF="http://www.sci.fi/~syrjala/directfb/Matrox_TV-out_README.txt">page web</A> de Ville Syrjala.</P>
<P>Note: nous n'avons pas pu le faire fonctionner, mais d'autres ont pu. De toutes fa<66>ons,
le portage du code CRTC2 dans <B>mga_vid</B> est sous-jacent.</P>
<H4><A NAME="mpegdec">2.3.1.3 D<>codeurs MPEG</A></H4>
<H4><A NAME="dvb">2.3.1.3.1 DVB</A></H4>
<P>MPlayer supporte les cartes <20>quip<69>es du chipset DVB Siemens des vendeurs
tels que Siemens, Technotrend, Galaxis ou Hauppauge. Les derniers pilotes DVB
sont disponibles sur le <A HREF="http://www.linuxtv.org">site Linux TV</A>.
Si vous voulez faire du transcodage logiciel vous aurez besoin d'un CPU d'au
moins 1Ghz.</P>
<P>Configure devrait d<>tecter votre carte DVB. Si ce n'est pas le cas, forcez
la d<>tection avec
<PRE>
./configure --enable-dvb
</PRE>
<P>Si vous avez des ent<6E>tes ost dans un chemin non-standard, corrigez ce chemin avec</P>
<PRE>
./configure --with-extraincdir=&lt;r<EFBFBD>pertoire source DVB&gt;/ost/include
</PRE>
<P>Ensuite compilez et installez comme d'habitude.</P>
<H4>UTILISATION</H4>
<P>Le d<>codage mat<61>riel (lecture de fichiers MPEG1/2 standards) peut <20>tre fait
avec cette commande:<P>
<PRE>
mplayer -ao mpegpes -vo mpegpes fichier.mpg|vob
</PRE>
<P>Le d<>codage logiciel ou le transcodage de diff<66>rents formats en MPEG1 peut
<20>tre obtenu en utilisant une commande comme celle-ci:</P>
<PRE>
mplayer -ao mpegpes -vo mpegpes votrefichier.ext
mplayer -ao mpegpes -vo mpegpes -vf expand votrefichier.ext
</PRE>
<P>Notez que les cartes DVB ne supportent que les tailles 288 par 576 pour le PAL
ou 240 par 480 pour le NTSC. Vous <B>devez</B> redimensionner vers d'autres
tailles en ajoutant <CODE>scale=width:height</CODE> avec la largeur et la hauteur
que vous voulez <20> l'option <CODE>-vf</CODE>. Les cartes DVB acceptent des
largeurs vari<72>es, comme 720, 704, 640, 512, 480, 352 etc et font un redimensionnement
mat<61>riel dans le sens horizontal, vous n'avez donc pas besoin de redimensionner
horizontalement dans la plupart des cas. Pour un Divx en 512x384 (aspect 4:3) essayez:</P>
<PRE>
mplayer -ao mpegpes -vo mpegpes -vf scale=512:576
</PRE>
<P>Si vous avez un film plein-<2D>cran et que vous ne voulez pas l'afficher
<20> sa taille compl<70>te, vous pouvez utiliser le plugin <CODE>expand=w:h</CODE>
pour ajouter des bandes noires. Pour voir un Divx en 640x384, essayez:</P>
<PRE>
mplayer -ao mpegpes -vo mpegpes -vf expand=640:576 fichier.avi
</PRE>
<P>Si votre CPU est trop lent pour un DivX en taille compl<70>te 720x576,
essayez de diminuer la taille:</P>
<PRE>
mplayer -ao mpegpes -vo mpegpes -vf scale=352:576 fichier.avi
</PRE>
<P>Si la vitesse ne s'am<61>liore pas, essayez <20>galement la diminution verticale:</P>
<PRE>
mplayer -ao mpegpes -vo mpegpes -vf scale=352:288 fichier.avi
</PRE>
<P>Pour l'OSD et les sous-titres utilisez la fonction expand du plugin OSD.
Donc, au lieu de <CODE>expand=w:h</CODE> ou <CODE>expand=w:h:x:y</CODE>,
utilisez <CODE>expand=w:h:x:y:1</CODE> (le 5<>me param<61>tre <CODE>:1</CODE>
<20> la fin activera le rendu OSD). Vous pouvez aussi vouloir monter un peu
l'image pour obtenir plus de surface noire pour les sous-titres. Vous pouvez
aussi monter les sous-titres , si ils sont en dehors de l'<27>cran, utilisez
l'option <CODE>-subpos &lt;0-100&gt;</CODE> pour l'ajuster (<CODE>-subpos 80</CODE>
est un bon choix).</P>
<P>Pour pouvoir lire des films non-25fps sur une TV PAL ou avec un CPU lent,
ajoutez l'option <CODE>-framedrop</CODE>.</P>
<P>Pour garder les dimensions des fichiers DivX et obtenir les param<61>tres de zoom
optimaux (zoom mat<61>riel horizontal et zoom logiciel vertical en gardant l'aspect
original), utilisez le nouveau plugin dvbscale:w/P>
<PRE>
pour une TV 3:4: -vf dvbscale,scale=-1:0,expand=-1:576:-1:-1:1
pour une TV 16:9: -vf dvbscale=1024,scale=-1:0,expand=-1:576:-1:-1:1
</PRE>
<H4>FUTUR</H4>
<P>Si vous avez des questions ou voulez entendre les annonces de fonctionnalit<69>s
et participer aux discussions sur ce sujet, rejoignez notre liste de diffusion
<A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-dvb">MPlayer-DVB</A>.
Rappelez-vous que la langue de la liste est l'Anglais SVP.</P>
<P>Dans le futur vous pouvez vous attendre <20> pouvoir afficher l'OSD et les
sous-titres en utilisant la fonction OSD native des cartes DVB, ainsi
qu'a une lecture plus r<>guli<6C>re des films non-25fps et le transcodage
temps-r<>el entre MPEG2 et MPEG4 (d<>compression partielle).</P>
<H4><A NAME="dxr2">2.3.1.3.2 DXR2</A></H4>
<P>MPlayer supporte l'affichage acc<63>l<EFBFBD>r<EFBFBD> avec la carte Creative DXR2.</P>
<P>Tout d'abord vous devrez avoir les pilotes correctement install<6C>s.
Vous pouvez trouver les pilotes et les instructions d'installation sur le
site <A HREF="http://dxr2.sourceforge.net/">DXR2 Resource Center</A>.</P>
<H4>UTILISATION</H4>
<DL>
<DT><CODE>-vo dxr2</CODE></DT>
<DD>enable TV output</DD>
<DT><CODE>-vo dxr2:x11</CODE> ou <CODE>-vo dxr2:xv</CODE></DT>
<DD>active la sortie Overlay sous X11</DD>
<DT><CODE>-dxr2 &lt;option1:option2:...&gt;</CODE></DT>
<DD>Cette option est utilis<69>e pour contr<74>ler le pilote DXR2.</DD>
</DL>
<P>Le chipset overlay utilis<69> sur la DXR2 est d'assez mauvaise qualit<69> mais
les param<61>tres par d<>faut devraient suffire pour tout le monde. L'OSD peut <20>tre
utilisable avec l'overlay (pas sur une t<>l<EFBFBD>) en la dessinant avec une couleur-cl<63>.
Avec les param<61>tres de couleur-cl<63> par d<>faut vous obtiendrez des r<>sultats variables,
g<>n<EFBFBD>ralement vous v<>rez la couleur-cl<63> autour des personnages et autres effets amusants.
Mais si vous ajustez correctement les param<61>tres de couleur-cl<63> vous devriez pouvoir
obtenir des r<>sultats acceptables.</P>
<P>Veuillez lire la page de man pour les options disponibles.</P>
<H4><A NAME="dxr3">2.3.1.3.3 DXR3/Hollywood+</A></H4>
<P>MPlayer supporte l'acc<63>l<EFBFBD>ration mat<61>rielle avec les cartes Creative DXR3
et Sigma Designs Hollywood Plus. Ces cartes ont toutes deux le chip de
d<>codage MPEG em8300 de Sigma Designs.</P>
<P>Tout d'abord vous aurez besoin de pilotes DXR3/H+ correctement install<6C>s,
version 0.12.0 ou sup<75>rieure. Vous pouvez trouver les pilotes et les
instructions d'installation sur le site
<A HREF="http://dxr3.sourceforge.net/">DXR3 &amp; Hollywood Plus for
Linux</A>. Configure devrait d<>tecter votre carte automatiquement, la
compilation devrait se faire sans probl<62>mes.</P>
<H4>Utilisation:</H4>
<DL>
<DT><CODE>-vo dxr3:prebuf:sync:norm=x:&lt;p<EFBFBD>riph.&gt;</CODE></DT>
<DD><CODE>overlay</CODE> active l'overlay <20> la place de TVOut. Cela requiert
que vous ayez correctement configur<75> l'overlay. La mani<6E>re la plus facile
de configurer l'overlay est de d'abord lancer autocal. Ensuite lancez MPlayer
avec la sortie dxr3 et sans overlay activ<69>, lancez dxr3view. Dans dxr3view
vous pouvez r<>gler les param<61>tres overlay et en voir les effets en temps
r<>el, peut-<2D>tre cette fonction sera support<72> par la GUI de MPlayer dans le
futur. Quand l'overlay est correctement configur<75>, vous n'avez plus besoin
d'utiliser dxr3view.<BR>
<CODE>prebuf</CODE> active le prebuffering. C'est une fonction du chip em8300
qui l'active pour garder plus d'une trame de vid<69>o <20> la fois. Cela signifie
que quand vous utilisez le prebuffering MPlayer essaiera de garder le buffer
vid<69>o rempli de donn<6E>es <20> tout moment. Si vous <20>tes sur une machine lente
MPlayer utilisera pr<70>s de, voir exactement 100% du CPU. C'est particuli<6C>rement
courant si vous lisez de purs flux MPEG (comme les DVDs, SVCDs et ainsi de suite)
car comme MPlayer n'aura pas besoin de le r<>-encoder en MPEG, il remplira le buffer
tr<74>s rapidement.<BR>
Avec le prebuffering la lecture est <B>bien</B> moins sensible aux autres
programmes monopolisant le CPU, il ne sautera pas d'images <20> moins que des
programmes monopolisent le CPU pour une longue dur<75>e<BR>
En l'utilisant sans doublebuffering, l'em8300 est bien plus sensible <20> la charge
CPU, il est donc hautement recommand<6E> d'activer l'option <CODE>-framedrop</CODE>
pour <20>viter les <20>ventuelles pertes de synchro.<BR>
<CODE>sync</CODE> activera le nouveau moteur de synchro. C'est actuellement
une fonction exp<78>rimentale. Avec la fonction sync activ<69> l'horloge interne
de l'em8300 sera contr<74>l<EFBFBD>e <20> tout moment, si elle commence <20> d<>vier de
l'horloge de MPlayer elle sera r<>ajust<73>e, obligeant l'em8300 <20> sauter les
<20>ventuelles trames en retard.</BR>
<CODE>norm=x</CODE> fixera la norme TV de la carte DXR3 sans avoir besoin d'utiliser
des outils externes comme em8300setup. Les normes valides sont 5 = NTSC, 4 = PAL-60,
3 = PAL. Les normes sp<73>ciales sont 2 (ajustement auto utilisant PAL/PAL-60) et 1
(ajustement auto utilisant PAL/NTSC) parce qu'elles d<>cident quelle norme utiliser
en regardant le frame rate du film. norm = 0 (par d<>faut) ne change pas la norme
courante.<BR>
<CODE>&lt;p<EFBFBD>riph.&gt;</CODE> = num<75>ro de p<>riph<70>rique <20> utiliser si vous avez plus
d'une carte em8300.
<BR>
Chacune de ces options peut <20>tre laiss<73> de c<>t<EFBFBD>.<BR>
<CODE>:prebuf:sync</CODE> semble fonctionner <20> merveille en lisant des DivX.
Des gens ont signal<61> des probl<62>mes en utilisant l'option <CODE>prebuf</CODE>
pendant la lecture de fichiers MPEG1/2. Vous pourriez vouloir essayer sans aucune
option en premier, si vous avez des probl<62>mes de synchro, ou des probl<62>mes de
sous-titres avec les DVDs, essayez avec <CODE>:sync</CODE>.</DD>
<DT><CODE>-ao oss:/dev/em8300_ma-X</CODE></DT>
<DD>Pour la sortie audio, o<> <CODE>X</CODE> est le num<75>ro de p<>riph<70>rique
(0 si une carte).</DD>
<DT><CODE>-aop list=resample:fout=xxxxx</CODE></DT>
<DD>L'em8300 ne peut jouer de taux d'<27>chantillonage inf<6E>rieur <20> 44100 Hz. Si
le taux d'<27>chantillonage est en dessous de 44100Hz, s<>lectionnez soit 44100Hz,
soit 48000Hz en fonction de ce qui est le plus proche. C-a-d si le film
utilise 22050 utilisez 44100Hz car 44100 / 2 = 22050, si c'est 24000Hz
utilisez 48000Hhz car 48000 / 2 = 24000 et ainsi de suite. Cela ne fonctionne
pas avec la sortie audio num<75>rique (<CODE>-ac hwac3</CODE>).</DD>
<DT><CODE>-vf lavc/fame</CODE></DT>
<DD><B>(AUTO-INSERTED)</B> Pour voir du contenu non-MPEG sur l'em8300 (c-a-d DivX ou RealVideo),
vous devrez sp<73>cifier un filtre vid<69>o MPEG1 tel que libavcodec (lavc) ou
libfame (fame). Pour le moment lavc est <20> la fois plus rapide et donne une
meilleur qualit<69>, il est recommand<6E> de l'utiliser <20> moins que vous ayez des
probl<62>mes avec. Voir la page de man pour de plus amples infos <20> propos de
<CODE>-vf lavc/fame</CODE>.<BR>
Utiliser lavc est hautement recommand<6E>. Actuellement il n'est pas possible
de r<>gler les fps de l'em8300 ce qui veut dire qu'il est fix<69> <20> 29.97fps.
A cause de cela il est hautement recommand<6E> d'utiliser
<CODE>-vf lavc=&lt;qualit<EFBFBD>&gt;:25</CODE>, surtout si vous utilisez le
prebuffering. Alors pourquoi 25 et pas 29.97? H<> bien, le truc est que
si vous utilisez 29.97 l'image devient un peu sautante. Nous n'en connaissons
pas la raison. Si vous le r<>glez quelque part entre 25 et 27 l'image devient
stable. Pour l'instant tous ce que nous pouvons faire est de l'accepter.</DD>
<DT><CODE>-vf expand=-1:-1:-1:-1:1</CODE></DT>
<DD>Bien que le pilote DXR3 puisse placer quelques OSD sur de la vid<69>o
MPEG1/2/4, il est de bien plus basse qualit<69> que l'OSD traditionnel de MPlayer,
et de plus poss<73>de de nombreux probl<62>mes de rafra<72>chissement. La ligne
de commande ci-dessus va d'abord convertir l'entr<74>e vid<69>o en MPEG4
(c'est obligatoire, d<>sol<6F>), ensuite appliquer un filtre expand qui ne
va rien <20>tendre du tout (-1: d<>faut), mais afficher l'OSD dans l'image
(c'est ce que fait le "1" <20> la fin).</DD>
<DT><CODE>-ac hwac3</CODE></DT>
<DD>L'em8300 supporte la lecture audio AC3 (son surround) au travers de la
sortie audio num<75>rique de la carte. Voir l'option <CODE>-ao oss</CODE>
plus haut, elle doit <20>tre utilis<69> pour sp<73>cifier la sortie DXR3 au lieu
d'une carte son.</DD>
</DL>
<H4><A NAME="other">2.3.1.4 Autres mat<61>riels de visualisation</A></H4>
<H4><A NAME="zr">2.3.1.4.1 Zr</A></H4>
<P>c'est un pilote d'affichage (<CODE>-vo zr</CODE>) pour certaines cartes de
capture/lecture (test<73> pour DC10+ et Buz, et cela devrait fonctionner pour la
LML33 et la DC10 originale). Ce pilote fonctionne en encodant la trame en jpeg
et en l'envoyant <20> la carte. Pour l'encodage jpeg <B>libavcodec</B> est utilis<69>,
et requis. Avec le mode sp<73>cial <I>cinerama</I>, vous pouvez voir les films en
vrai <20>cran large si vous avez deux moniteurs et deux cartes MJPEG. Selon la
r<>solution et les r<>glages, ce pilote requiert beaucoup de puissance CPU,
rappelez-vous de sp<73>cifier <CODE>-framedrop</CODE> si votre machine est trop
lente. Note: Mon AMD K6-2 350Mhz est (avec <CODE> -framedrop</CODE>) tr<74>s
adapt<70> pour voir du mat<61>riel de taille VCD et les films dont la taille est r<>duite.</P>
<P>Ce pilote parle au module noyau disponible sur
<A HREF="http://mjpeg.sourceforge.net">http://mjpeg.sourceforge.net</A>, donc
vous devez d'abord faire fonctionner ce dernier. la pr<70>sence d'une carte MJPEG
est autod<6F>tect<63>e par le script configure, si l'autod<6F>tection <20>choue, forcez la
d<>tection avec</P>
<PRE>
./configure --enable-zr
</PRE>
<P>La sortie peut <20>tre contr<74>l<EFBFBD> par de nombreuses options, une longue description
des options peut <20>tre trouv<75>e sur la page de man, une courte liste des options
peut <20>tre obtenue en ex<65>cutant</P>
<PRE>
mplayer -zrhelp
</PRE>
<P>Les choses comme le zoom ou l'OSD (on screen display) ne sont pas
g<>r<EFBFBD>s par ce pilote mais peuvent <20>tre obtenus en utilisant les filtres
vid<69>o. Par exemple, supposons que vos avez un film d'une r<>solution
de <CODE>512x272</CODE> et que vous voulez le voir en plein-<2D>cran sur
votre DC10+. Il y a trois possibilit<69>s principales, vous pouvez
redimmensionner le film <20> une largeur de <CODE>768</CODE>, <CODE>384</CODE>
ou <CODE>192</CODE>. Pour des raisons de performances et de qualit<69>, Je
choisirait de redimmensionner le film en <CODE>384x204</CODE> en utilisant
le zoom logiciel bilin<69>aire rapide. La ligne de commande est</P>
<PRE>
mplayer -vo zr -sws 0 -vf scale=384:204 film.avi
</PRE>
<P>Le d<>coupage peut <20>tre fait avec le filtre <CODE>crop</CODE> et par ce
pilote lui-m<>me. Supposons qu'un film est trop large pour s'afficher sur
votre Buz et que vous vouliez utiliser <CODE>-zrcrop</CODE> pour rendre
le film moins large, alors vous taperez la commande suivante</P>
<PRE>
mplayer -vo zr -zrcrop 720x320+80+0 benhur.avi
</PRE>
<P>si vous voulez utiliser le filtre <CODE>crop</CODE>, vous feriez</P>
<PRE>
mplayer -vo zr -vf crop=720:320:80:0 benhur.avi
</PRE>
<P>Des occurrences suppl<70>mentaires de <CODE>-zrcrop</CODE> invoquent le mode
<I>cinerama</I>, c-a-d que vous pouvez distribuer l'affichage sur plusieurs
TV ou moniteurs pour cr<63>er un <20>cran plus large. Supposons que vous avez deux
moniteurs. Celui de gauche est connect<63> <20> votre Buz sur <CODE>/dev/video1</CODE>
et celui de droite est connect<63> <20> votre DC10+ sur <CODE>/dev/video0</CODE>.
Le film a une r<>solution de <CODE>704x288</CODE>. Supposons maintenant que vous
voulez le moniteur de droite en noir et blanc et que le moniteur de gauche ait
des trames jpeg de qualit<69> <CODE>10</CODE>, alors vous taperez la commande suivante</P>
<PRE>
mplayer -vo zr -zrdev /dev/video0 -zrcrop 352x288+352+0 -zrxdoff 0 -zrbw \
-zrcrop 352x288+0+0 -zrdev /dev/video1 -zrquality 10 film.avi
</PRE>
<P>Vous voyez que les options apparaissant avant le second <CODE>-zrcrop</CODE>
ne s'appliquent qu'a la DC10+ et que les options apr<70>s le second
<CODE>-zrcrop</CODE> s'appliquent <20> la Buz. Le nombre maximum de cartes
MJPEG participant au <I>cinerama</I> est quatre, vous pouvez donc construire
un mur vid<69>o de <CODE>2x2</CODE>.</P>
<P>Pour finir une remarque importante: Ne lancez ou n'arr<72>tez pas XawTV sur le
p<>riph<70>rique en cours de lecture, cela cracherait votre ordinateur. Il est,
cependant, sans risque de lancer <B>D'ABORD</B> XawTV, <B>ENSUITE</B> de
lancer MPlayer, d'attendre que MPlayer se termine et <B>ENSUITE</B> de stopper
XawTV.</P>
<H4><A NAME="blinken">2.3.1.4.2 Blinkenlights</A></H4>
<P>Ce pilote est capable de lire en utilisant le protocole UPD Blinkenlights.
Si vous ne savez pas ce qu'est <A HREF="http://www.blinkenlights.de/">Blinkenlights</A>,
vous n'avez pas besoin de ce pilote.</P>
<H4><A NAME="tv-out">2.3.1.5 TV-out</A></H4>
<H4><A NAME="tv-out_matrox">2.3.1.5.1 Cartes Matrox G400</A></H4>
<P>Sous Linux vous avez 2 m<>thodes pour faire fonctionner la sortie TV:</P>
<P><B>IMPORTANT:</B> pour les instructions sur la sortie TV des Matrox G450/G550,
voir la prochaine section SVP!</P>
<UL>
<LI><B>XFree86</B>: en utilisant le pilote et le module HAL, disponible sur
<A HREF="http://www.matrox.com">site de Matrox</A>. Cela vous donnera X sur
la TV.<BR> <B>Cette m<>thode ne vous donne pas la lecture acc<63>l<EFBFBD>r<EFBFBD>e</B> comme
sous Windoze! La seconde t<>te n'a qu'un framebuffer YUV, le <I>BES</I>
(Back End Scaler, le redimensionneur YUV des cartes G200/G400/G450/G550)
ne fonctionne pas dessus! Le pilote Windows contourne cela, probablement
en utilisant le moteur 3D pour zoomer, et le framebuffer YUV pour afficher
l'image zoom<6F>e. Si vous voulez vraiment utiliser X, utilisez les options
<CODE>-vo x11 -fs -zoom</CODE>, mais ce sera <B>LENT</B>, et aura la protection
anticopie <B>Macrovision</B> activ<69> (vous pouvez "contourner" Macrovision en
utilisant <A HREF="http://avifile.sourceforge.net/mgamacro.pl">ce</A> script perl.</LI>
<LI><B>Framebuffer</B>: en utilisant les <B>modules matroxfb</B> dans les noyaux
2.4. Les noyaux 2.2 n'ont pas de fonction TVout incluse, donc inutilisables
pour cela. Vous devez activer TOUTES les fonctions sp<73>cifiques <20> matroxfb
durant la compilation (except<70> MultiHead), et les compiler en <B>modules</B>!
Vous aurez <20>galement besoin que I2C soit activ<69>.
<OL>
<LI>
Entrez dans <CODE>TVout/matroxset</CODE> et tapez<CODE>make</CODE>. Installez
<CODE>matroxset</CODE> quelque part dans votre PATH.</LI>
<LI>
Si <CODE>fbset</CODE> n'est pas install<6C>, entrez dans
<CODE>TVout/fbset</CODE>et tapez <CODE>make</CODE>. Installez
<CODE>fbset</CODE> quelque part dans votre PATH.</LI>
<LI>
Ensuite entrez dans le r<>pertoire <CODE>TVout/</CODE> du source MPlayer,
et ex<65>cutez <CODE>./modules</CODE> en root. Votre console en mode texte
va entrer en mode framebuffer (sans retour possible!).</LI>
<LI>Ensuite, <20>DITEZ et lancez le script <CODE>./matroxtv</CODE>.Il va vous pr<70>senter
un menu tr<74>s simple. Pressez <B>2</B> et <B>ENTREE</B>. Maintenant vous devriez avoir
la m<>me image sur votre moniteur, et sur la TV. Si l'image TV (PAL par d<>faut)<29> de
vilaines bandes dessus, le script n'a pas <20>t<EFBFBD> capable de fixer
la r<>solution correctement (en 640x512 par d<>faut). Essayez d'autres
r<>solutions depuis le menu et/ou exp<78>rimentez avec fbset.</LI>
</OL>
<P>Yoh. La prochaine t<>che est de faire dispara<72>tre le curseur sur tty1 (ou n'importe quelle autre),
et de d<>sactiver l'<27>conomiseur d'<27>cran. Ex<45>cutez les commandes suivantes:</P>
<P><CODE>echo -e '\033[?25l'</CODE> or <CODE>setterm -cursor off<BR>
setterm -blank 0</CODE></P>
<P>Vous pouvez vouloir mettre ceci dans un script, et <20>galement effacer
l'<27>cran.. Pour r<>activer le curseur:<BR><CODE>echo -e '\033[?25h'</CODE>
ou <CODE>setterm -cursor on</CODE></P>
<P>Yeah kewl. D<>marrez le film avec <CODE>mplayer -vo mga -fs -screenw 640
-screenh 512 &lt;nomfichier&gt;</CODE><BR>
(si vous utilisez X, maintenant changez pour matroxfb avec par exemple CTRL-ALT-F1!)<BR>
Changez 640x512 si vous voulez sp<73>cifier une r<>solution diff<66>rente.<BR>
<B>Appr<EFBFBD>ciez la sortie TV Matrox ultra-rapide ultra-fonctionnelle (meilleure
que Xv)!</B></P>
</LI>
</UL>
<H4>Construire un c<>ble de sortie TV Matrox</H4>
<P>Personne ne prends de responsabilit<69>s, ni n'offre de garanties quant aux
<20>ventuels dommages caus<75>s par cette documentation.</P>
<P><B>Cable pour G400</B>: La quatri<72>me broche du connecteur CRTC2 transmet
le signal vid<69>o composite. La terre (ground) est sur les sixi<78>me, septi<74>me
et huiti<74>me broches. (info donn<6E>e par Bal<61>zs R<>cz)</P>
<P><B>Cable pour G450</B>: La premi<6D>re broche du connecteur CRTC2 transmet
le signal vid<69>o composite. La terre (ground) est sur les cinqui<75>me, sixi<78>me, septi<74>me,
et quinzi<7A>me (5, 6, 7, 15) broches. (info donn<6E>e par Bal<61>zs Kerekes)</P>
<H4><A NAME="tv-out_matrox_g450">2.3.1.5.2 Cartes Matrox G450/G550</A></H4>
<P>Le support de la sortie TV pour ces cartes n'a <20>t<EFBFBD> introduit que r<>cemment,
et n'est pas encore dans le noyau officiel. Actuellement le module <B>mga_vid</B>
ne peut <20>tre utilis<69> <20> ma connaissance, parce que le pilote G450/G550 ne
fonctionne que dans une configuration : le premier chip CRTC (qui a le plus
de fonctions) sur le premier affichage (sur le moniteur), et le second CRTC
(pas de <B>BES</B> - pour plus d'explications sur BES, veuillez voir la section G400
plus haut) sur la TV. Vous ne pouvez donc utilisez que le pilote de sortie
<I>fbdev</I> de MPlayer pour le moment.</P>
<P>Le premier CRTC ne peut pas <20>tre reli<6C> <20> la seconde t<>te actuellement.
L'auteur du pilote noyau matroxfb - Petr Vandrovec - fera certainement
un support pour cela, en affichant la sortie du premier CRTC sur les
deux t<>tes <20> la fois, comme actuellement recommand<6E> pour la G400, voir la
section ci-dessus.</P>
<P>Le patch noyau n<>cessaire et le howto d<>taill<6C> sont t<>l<EFBFBD>chargeables sur
<A HREF="http://www.bglug.ca/matrox_tvout/">http://www.bglug.ca/matrox_tvout/</A></P>
<H4><A NAME="tv-out_ati">2.3.1.5.3 Cartes ATI</A></H4>
<H5>PR<EFBFBD>AMBULE</H5>
<P>Actuellement ATI ne veut supporter aucun de ces chips TV-out sous Linux,
<20> cause de leur technologie Macrovision sous licence.</P>
<H5><EFBFBD>TAT DE LA SORTIE TV ATI SUR LINUX</H5>
<UL>
<LI><B>ATI Mach64</B>: Support<72> par
<A HREF="http://gatos.sf.net">gatos</A>.</LI>
<LI><B>ASIC Radeon VIVO</B>: Support<72> par
<A HREF="http://gatos.sf.net">gatos</A>.</LI>
<LI><B>Radeon</B> et <B>Rage128</B>: Support<72> par MPlayer!
Reportez-vous aux sections <a href="#vesa">VESA driver</a> et
<A HREF="#vidix">VIDIX</A>.</LI>
<LI><B>Rage Mobility P/M, Radeon, Rage 128, Mobility M3/M4</B>: Support<72> par
<A HREF="http://www.stud.uni-hamburg.de/users/lennart/projects/atitvout/">
atitvout</A>.</LI>
</UL>
<P>Sur les autres cartes , utilisez juste le <a href="#vesa">pilote VESA</a>, sans
VIDIX. Un CPU puissant est requis, cependant.</P>
<P>La seule chose que vous ayez <20> faire - <B>avoir le connecteur TV branch<63> avant
de booter votre PC</B> car le BIOS vid<69>o ne s'initialise qu'une fois durant cette phase.</P>
<H4><A NAME="tv-out_voodoo">2.3.1.5.4 Voodoo 3</A></H4>
<P>Reportez-vous <20> <A HREF="http://www.iki.fi/too/tvout-voodoo3-3000-xfree">cette URL</A>.</P>
<H4><A NAME="tv-out_nvidia">2.3.1.5.5 nVidia</A></H4>
<P>D'abord, vous DEVEZ t<>l<EFBFBD>charger les pilotes closed-source depuis
<A HREF="http://nvidia.com">http://nvidia.com</A>. Je ne d<>crirai pas le
processus d'installation et de configuration car il sort du cadre de cette
documentation.</P>
<P>Apr<EFBFBD>s que l'acc<63>l<EFBFBD>ration XFree86, XVideo, et 3D fonctionne correctement,
<20>ditez la section Device de votre carte dans le fichier <CODE>XF86Config</CODE>,
selon l'exemple suivant (adaptez <20> votre carte/TV):</P>
<PRE>
Section "Device"
Identifier "GeForce"
VendorName "ASUS"
BoardName "nVidia GeForce2/MX 400"
Driver "nvidia"
#Option "NvAGP" "1"
Option "NoLogo"
Option "CursorShadow" "on"
Option "TwinView"
Option "TwinViewOrientation" "Clone"
Option "MetaModes" "1024x768,640x480"
Option "ConnectedMonitor" "CRT, TV"
Option "TVStandard" "PAL-B"
Option "TVOutFormat" "Composite"
EndSection
</PRE>
<P>Bien s<>r la chose la plus importante est la partie TwinView.</P>
</BODY>
</HTML>