~gma500/+junk/emgd160

« back to all changes in this revision

Viewing changes to mplayer-vaapi/DOCS/HTML/fr/dga.html

  • Committer: Luca Forina
  • Date: 2011-05-03 09:34:53 UTC
  • Revision ID: luca.forina@gmail.com-20110503093453-p1l4o1ck3g67vrha
added mplayer-vaapi

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>4.3. DGA</title><link rel="stylesheet" href="default.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="MPlayer - Le Lecteur Vidéo"><link rel="up" href="video.html" title="Chapitre 4. Sorties vidéo"><link rel="prev" href="xv.html" title="4.2. Xv"><link rel="next" href="sdl.html" title="4.4. SDL"><link rel="preface" href="howtoread.html" title="Comment lire cette documentation"><link rel="chapter" href="intro.html" title="Chapitre 1. Introduction"><link rel="chapter" href="install.html" title="Chapitre 2. Installation"><link rel="chapter" href="usage.html" title="Chapitre 3. Utilisation"><link rel="chapter" href="video.html" title="Chapitre 4. Sorties vidéo"><link rel="chapter" href="ports.html" title="Chapitre 5. Ports"><link rel="chapter" href="mencoder.html" title="Chapitre 6. Utilisation basique de MEncoder"><link rel="chapter" href="encoding-guide.html" title="Chapitre 7. L'encodage avec MEncoder"><link rel="chapter" href="faq.html" title="Chapitre 8. Foire Aux Questions"><link rel="appendix" href="bugreports.html" title="Annexe A. Comment rapporter les bogues"><link rel="appendix" href="skin.html" title="Annexe B. Format de skins MPlayer"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.3. DGA</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="xv.html">Précédent</a> </td><th width="60%" align="center">Chapitre 4. Sorties vidéo</th><td width="20%" align="right"> <a accesskey="n" href="sdl.html">Suivant</a></td></tr></table><hr></div><div class="sect1" title="4.3. DGA"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="dga"></a>4.3. DGA</h2></div></div></div><p title="PRÉAMBULE"><b>PRÉAMBULE. </b>
 
2
Ce document tente d'expliquer en quelques mots ce qu'est le DGA en général et
 
3
ce que peut faire le pilote de sortie DGA pour
 
4
<span class="application">MPlayer</span>
 
5
(et ce qu'il ne peut pas faire).
 
6
 
 
7
</p><p title="QU'EST CE QUE LE DGA"><b>QU'EST CE QUE LE DGA. </b>
 
8
<acronym class="acronym">DGA</acronym> est l'abréviation de <span class="emphasis"><em>Direct Graphics
 
9
Access</em></span> et permet aux programmes de passer outre le serveur X et de
 
10
modifier directement la mémoire dans le framebuffer. Techniquement parlant,
 
11
cela
 
12
fonctionne en mappant la mémoire du framebuffer dans les adresses mémoire de
 
13
votre
 
14
process. Cela est autorisé par le noyau uniquement si vous avez les privilèges
 
15
super-utilisateur. Vous pouvez les obtenir soit en vous loggant en <code class="systemitem">root</code> ou en plaçant le bit suid sur l'exécutable
 
16
<span class="application">MPlayer</span> (<span class="bold"><strong>non
 
17
recommandé</strong></span>).
 
18
</p><p>
 
19
  Il existe deux versions de DGA : DGA1 est utilisé par XFree 3.x.x et
 
20
DGA2 a été introduit par XFree 4.0.1.
 
21
</p><p>
 
22
DGA1 propose uniquement un accès direct au framebuffer comme décrit ci-dessus.
 
23
Pour changer la résolution de votre signal vidéo vous devez utiliser les
 
24
extensions XVidMode.
 
25
</p><p>
 
26
DGA2 incorpore les fonctions de XVidMode et permet également de changer le
 
27
nombre de
 
28
couleurs de l'affichage. Donc vous pouvez, en exécutant depuis un serveur X 32
 
29
bits,
 
30
passer en 15 bits et vice-versa.
 
31
</p><p>
 
32
Cependant DGA a quelques défauts. Il semble qu'il reste dépendant de la
 
33
carte graphique utilisée et de la mise en place du pilote de votre serveur
 
34
X contrôlant cette carte.
 
35
Cela peut donc ne pas fonctionner sur tous les systèmes...
 
36
</p><p title="INSTALLER LE SUPPORT DGA POUR MPLAYER"><b>INSTALLER LE SUPPORT DGA POUR MPLAYER. </b>
 
37
Assurez vous d'abord que X charge l'extension DGA, regardez dans
 
38
<tt class="filename">/var/log/XFree86.0.log</tt> :
 
39
 
 
40
</p><pre class="programlisting">(II) Loading extension XFree86-DGA</pre><p title="INSTALLER LE SUPPORT DGA POUR MPLAYER">
 
41
 
 
42
XFree86 4.0.x ou plus est <span class="bold"><strong>hautement
 
43
recommandé</strong></span> !
 
44
Le pilote DGA de <span class="application">MPlayer</span> est automatiquement
 
45
détecté par <tt class="filename">./configure</tt>, ou vous pouvez le forcer avec
 
46
l'option <tt class="option">--enable-dga</tt>.
 
47
</p><p>
 
48
Si le pilote ne peut pas passer en résolution inférieure, essayez les options
 
49
<tt class="option">-vm</tt> (uniquement avec X 3.3.x), <tt class="option">-fs</tt>,
 
50
<tt class="option">-bpp</tt>, <tt class="option">-zoom</tt> pour trouver un mode vidéo qui
 
51
convienne
 
52
à la vidéo. Il n'existe pas de convertisseur actuellement :(
 
53
</p><p>
 
54
Passez en <code class="systemitem">root</code>.
 
55
DGA nécessite un accès root pour écrire directement dans la mémoire vidéo.
 
56
Si vous voulez rester en utilisateur, installez
 
57
<span class="application">MPlayer</span> SUID root :
 
58
 
 
59
</p><pre class="screen">
 
60
chown root <em class="replaceable"><code>/usr/local/bin/mplayer</code></em>
 
61
chmod 750 <em class="replaceable"><code>/usr/local/bin/mplayer</code></em>
 
62
chmod +s <em class="replaceable"><code>/usr/local/bin/mplayer</code></em>
 
63
</pre><p>
 
64
 
 
65
Maintenant cela fonctionne aussi avec les droits d'un simple utilisateur.
 
66
</p><div class="caution" title="Faille de sécurité" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Faille de sécurité</h3><p>
 
67
Cela présente une <span class="bold"><strong>grosse</strong></span> faille de
 
68
sécurité !
 
69
Ne faites <span class="bold"><strong>jamais</strong></span> ceci sur un serveur ou un
 
70
ordinateur accessible par d'autres personnes que vous, ils pourraient obtenir
 
71
les privilèges root par l'exécutable <span class="application">MPlayer</span>.
 
72
</p></div><p>
 
73
Utilisez maintenant l'option <tt class="option">-vo dga</tt> et c'est parti !
 
74
(Enfin on peut l'espérer :)) Vous pouvez alors essayer l'option
 
75
<tt class="option">-vo sdl:pilote=dga</tt> !
 
76
C'est beaucoup plus rapide !
 
77
</p><p title="CHANGEMENT DE RÉSOLUTION"><a name="dga-modelines"></a><b>CHANGEMENT DE RÉSOLUTION. </b>
 
78
Le pilote DGA vous permet de changer la résolution du signal de sortie. Cela
 
79
permet
 
80
d'éviter un redimensionnement logiciel, beaucoup plus lent, et offre une image
 
81
plein
 
82
écran. Idéalement il doit passer à la résolution exacte de la vidéo (excepté
 
83
pour
 
84
respecter le rapport hauteur/largeur), mais le serveur X permet uniquement le
 
85
passage
 
86
à des résolutions définies dans <tt class="filename">/etc/X11/XF86Config</tt>
 
87
(<tt class="filename">/etc/X11/XF86Config-4</tt> pour XFree 4.X.X respectivement).
 
88
Ceux-ci sont définis par des modelines dépendantes des capacités de votre
 
89
matériel.
 
90
Le serveur X scanne ce fichier de configuration au démarrage et élimine les
 
91
modelines
 
92
ne correspondant pas au matériel. Vous pouvez retrouver dans les logs de X
 
93
quelles
 
94
modelines sont acceptables. Elles peuvent être trouvées dans :
 
95
<tt class="filename">/var/log/XFree86.0.log</tt>.
 
96
</p><p>
 
97
Ces entrées doivent fonctionner correctement avec un chip Riva128, en
 
98
utilisant le
 
99
module pilote nv.o du serveur X.
 
100
</p><pre class="programlisting">
 
101
Section "Modes"
 
102
  Identifier "Modes[0]"
 
103
  Modeline "800x600"  40     800 840 968 1056  600 601 605 628
 
104
  Modeline "712x600"  35.0   712 740 850 900   400 410 412 425
 
105
  Modeline "640x480"  25.175 640 664 760 800   480 491 493 525
 
106
  Modeline "400x300"  20     400 416 480 528   300 301 303 314 Doublescan
 
107
  Modeline "352x288"  25.10  352 368 416 432   288 296 290 310
 
108
  Modeline "352x240"  15.750 352 368 416 432   240 244 246 262 Doublescan
 
109
  Modeline "320x240"  12.588 320 336 384 400   240 245 246 262 Doublescan
 
110
EndSection
 
111
</pre><p title="DGA &amp; MPLAYER"><b>DGA &amp; MPLAYER. </b>
 
112
  DGA est utilisé en deux endroits par
 
113
<span class="application">MPlayer</span> : Le pilote SDL peut se compiler pour
 
114
en faire usage (<tt class="option">-vo sdl:pilote=dga</tt>) et dans le pilote DGA
 
115
(<tt class="option">-vo dga</tt>). Dans les sections suivantes je vous expliquerai
 
116
comment fonctionne le pilote DGA pour <span class="application">MPlayer</span>.
 
117
</p><p title="FONCTIONNALITÉS"><b>FONCTIONNALITÉS. </b>
 
118
Le pilote DGA s'invoque en spécifiant <tt class="option">-vo dga</tt> en ligne de
 
119
commande.
 
120
L'action par défaut consiste à passer dans une résolution s'approchant au
 
121
mieux de la
 
122
résolution de la vidéo. Il ignore volontairement les options
 
123
<tt class="option">-vm</tt> et
 
124
<tt class="option">-fs</tt> (autorisant le changement de résolution et le plein
 
125
écran) - il
 
126
essaie toujours de couvrir le plus large espace possible de votre écran en
 
127
changeant
 
128
les modes vidéo, tout en utilisant un seul cycle CPU additionnel pour agrandir
 
129
l'image.
 
130
Si vous voulez utiliser un autre mode que celui qu'il a choisi, vous pouvez le
 
131
forcer
 
132
par les options <tt class="option">-x</tt> et <tt class="option">-y</tt>. Avec l'option
 
133
<tt class="option">-v</tt>,
 
134
le pilote DGA affichera, entre autres choses, une liste de toutes les
 
135
résolutions
 
136
supportées par votre fichier <tt class="filename">XF86Config</tt>. Avec DGA2 vous
 
137
pouvez
 
138
également le forcer a utiliser un certain nombre de couleurs en utilisant
 
139
l'option
 
140
<tt class="option">-bpp</tt>. Les nombres de couleurs autorisées sont 15, 16, 24 et
 
141
32. Cela
 
142
dépend de votre matériel, soit ces modes sont nativement supportés, ou si une
 
143
conversion logicielle doit être appliquée (ce qui peut ralentir la lecture).
 
144
</p><p>
 
145
Si par chance vous avez assez de mémoire vidéo libre pour y placer une image
 
146
entière,
 
147
le pilote DGA utilisera le double buffering, qui améliore considérablement la
 
148
qualité
 
149
de lecture. Il doit vous afficher si le double buffering est utilisé ou non.
 
150
</p><p>
 
151
Double buffering signifie que la prochaine trame de votre vidéo est dessinée
 
152
dans une
 
153
partie non affichée de la mémoire graphique tandis que s'affiche la trame en
 
154
cours.
 
155
Quand la trame suivante est prête, la puce graphique reçoit simplement
 
156
l'adresse de
 
157
celle-ci et récupère les données a afficher depuis cette partie de la mémoire.
 
158
Pendant
 
159
ce temps l'autre buffer se remplit avec l'image suivante.
 
160
</p><p>
 
161
Le double buffering peut s'activer avec l'option <tt class="option">-double</tt>
 
162
et se désactiver avec <tt class="option">-nodouble</tt>.
 
163
Actuellement l'option par défaut est de désactiver le double buffering.
 
164
En utilisant le pilote DGA, l'on-screen display (OSD) fonctionne uniquement
 
165
avec le doublebuffering activé.
 
166
Cependant, activer le double buffering peut demander des calculs
 
167
supplémentaires
 
168
au processeur (sur mon K6-II+ 525 il utilisait 20% de temps CPU en
 
169
plus !),
 
170
ceci dépendant de l'implémentation du DGA pour votre matériel.
 
171
</p><p title="PROBLÈMES DE VITESSE"><b>PROBLÈMES DE VITESSE. </b>
 
172
Généralement, l'accès au framebuffer DGA peut s'avérer aussi rapide que le
 
173
pilote X11,
 
174
apportant en plus l'avantage de bénéficier d'une image plein écran. Les
 
175
pourcentages
 
176
affichés par <span class="application">MPlayer</span> doivent être interprétés avec
 
177
précaution, comme par exemple avec le pilote X11 où ils n'incluent pas le
 
178
temps utilisé
 
179
par le serveur X pour l'affichage. Pour des résultats exacts, branchez un
 
180
terminal sur
 
181
le port série de votre machine et lancez un <span class="command"><strong>top</strong></span> pour savoir
 
182
ce qui
 
183
se passe réellement lors de la lecture...
 
184
</p><p>
 
185
D'une manière générale, l'accélération acquise en utilisant le DGA au lieu de
 
186
l'affichage X11 classique dépend fortement de votre carte graphique et des
 
187
optimisations effectuées sur le module DGA du serveur X.
 
188
</p><p>
 
189
Si votre système s'avère trop lent, utilisez plutôt une profondeur de couleurs
 
190
de 15 or
 
191
16bits, qui ne demandent que la moitié de la bande passante d'un affichage 32
 
192
bits.
 
193
</p><p>
 
194
Utiliser une profondeur de 24 bits peut s'avérer une bonne solution si votre
 
195
carte ne
 
196
supporte nativement que le 32 bits, le transfert se réduisant de 25% par
 
197
rapport à un
 
198
mode 32/32.
 
199
</p><p>
 
200
J'ai vu certains fichiers AVI passer sur des Pentium MMX 266. Les processeurs
 
201
AMD K6-2
 
202
s'avèrent utilisables à partir de 400 MHz.
 
203
</p><p title="BOGUES CONNUS"><b>BOGUES CONNUS. </b>
 
204
A vrai dire, selon certains développeurs de XFree, DGA est une usine à gaz.
 
205
Ils
 
206
recommandent d'éviter son utilisation. Son implémentation n'est pas parfaite
 
207
avec
 
208
chaque chipset pour XFree.
 
209
</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
 
210
  Avec XFree 4.0.3 et <tt class="filename">nv.o</tt> un bogue affiche des couleurs
 
211
étranges.
 
212
  </p></li><li class="listitem"><p>
 
213
  Les pilotes ATI requièrent de changer plusieurs fois de mode après
 
214
l'utilisation
 
215
  du DGA.
 
216
  </p></li><li class="listitem"><p>
 
217
  Certains pilotes échouent à revenir à la résolution normale (utilisez
 
218
  <span class="keycap"><b>Ctrl</b></span>+<span class="keycap"><b>Alt</b></span>+<span class="keycap"><b>Keypad +</b></span>
 
219
  et <span class="keycap"><b>Ctrl</b></span>+<span class="keycap"><b>Alt</b></span>+<span class="keycap"><b>Keypad -</b></span> pour y retourner manuellement).
 
220
  </p></li><li class="listitem"><p>
 
221
  Certains pilotes affichent simplement des couleurs étranges.
 
222
  </p></li><li class="listitem"><p>
 
223
  Certains pilotes mentent a propos de la quantité de mémoire allouée dans
 
224
l'espace
 
225
  d'adressage du processus, empêchant vo_dga d'utiliser le doublebuffering
 
226
(SIS ?)
 
227
  </p></li><li class="listitem"><p>
 
228
  Certains pilotes semblent ne pas pouvoir reporter ne serait-ce qu'un seul
 
229
mode valide.
 
230
  Dans ce cas le pilote DGA plantera en vous affichant un mode 100000x100000
 
231
ou
 
232
  quelque chose comme ça.
 
233
  </p></li><li class="listitem"><p>
 
234
  L'OSD fonctionne uniquement avec le doublebuffering activé (sinon il
 
235
clignote).
 
236
  </p></li></ul></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="xv.html">Précédent</a> </td><td width="20%" align="center"><a accesskey="u" href="video.html">Niveau supérieur</a></td><td width="40%" align="right"> <a accesskey="n" href="sdl.html">Suivant</a></td></tr><tr><td width="40%" align="left" valign="top">4.2. Xv </td><td width="20%" align="center"><a accesskey="h" href="index.html">Sommaire</a></td><td width="40%" align="right" valign="top"> 4.4. SDL</td></tr></table></div></body></html>