1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Vidéo - MPlayer - Le lecteur vidé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éo</A></H3>
<H4><A NAME="mtrr">2.3.1.1 Réglage MTRR</A></H4>
<P>Il est FORTEMENT recommandé 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é, vous devrez procéder manuellement. D'abord, vous
devez trouver l'adresse de base. Vous pouvez la trouver de trois façons :</P>
<UL>
<LI>à 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>à 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>à 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éo en hexadécimal, ou utilisez cette table :</P>
<TABLE BORDER=0>
<TR><TD> </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ée ci-dessus (base=0xd8000000)
avec 32MB ram (size=0x2000000) faites simplement :</P>
<P><CODE> echo "base=0xd8000000 size=0x2000000 type=write-combining" >| /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é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érielles de votre carte en utilisant l'extension XVideo. Ceci peut être fait
avec l'option option '-vo xv'. De plus, il 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.</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écédentes n'ont
pas XVideo)</LI>
<LI>Votre carte supporte l'accélération matérielle (les cartes modernes le font)</LI>
<LI>X charge l'extension XVideo, qui doit faire apparaître quelque chose comme :
<P><CODE> (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ée, et ne signifie pas que le support XVideo spécifique à
<B>votre carte</B> est chargé !</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 à :
<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 être utilisé avec MPlayer.</P>
</LI>
<LI>Finalement, vérifiez si MPlayer a été compilé avec le support 'xv'.
./configure doit vous le pré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è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, qui doit fonctionner correctement. Les versions précédentes,
incluant 4.1.0, <B>se plantent avec YV12</B>. Si des problèmes apparaissent en
utilisant -vo xv,essayez SDL (qui utilise é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è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.</P>
<P><B>NOTE</B>: 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 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ès bon chois sous Linux (d'aprè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écifications fermées de nVidia.</P>
<P>D'aprè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 à 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, à 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.</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éléré</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ées sur de nombreux portables. Malheureusement,
XFree avant la version 4.3.0 ne gère pas Xv, mais Stefan Seyfried fournit
<A HREF="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver/neomagic_drv.o.4.2.0.bz2">des pilotes Xv</A>.
Choisissez juste celui qui s'applique à votre version de XFree.</P>
<P>XFree86 4.3.0 inclut le support Xv, mais Bohdan Horst a envoyé un petit
<A HREF="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver/neo_driver.patch">patch</A>
pour les sources XFree86 qui accélère les opérations framebuffer jusqu'à 4 fois.
Ce patch a été inclus dans le CVS de XFree86 et devrait être dans la prochaine
version suivant 4.3.0.</P>
<P>Pour permettre la lecture de contenu de taille DVD changez votre XF86Config comme ceci:</P>
<P>Section "Device"<BR>
<I>[...]</I><BR>
Driver "neomagic"<BR>
<B>Option "OverlayMem" "829440"</B><BR>
<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-é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é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ÉAMBULE</H4>
<P>Ce document tente d'expliquer en quelques mots ce qu'est le DGA en
géné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é par le noyau uniquement
si vous avez les privilèges super-user. Vous pouvez les obtenir soit en vous loggant
en root ou en plaçant le bit suid sur l'exécutable mplayer (<B>non recommandé</B>).</P>
<P>Il existe deux versions de DGA: DGA1 est utilisé par XFree 3.x.x et DGA2 a été
introduit par XFree 4.0.1.</P>
<P>DGA1 propose uniquement un accès direct au framebuffer comme décrit ci-dessus.
Pour changer la résolution de votre signal vidéo vous devez utiliser les extensions
XVidMode.</P>
<P>DGA2 incorpore les fonctions de XVidMode et permet également de changer le nombre
de couleurs de l'affichage. Donc vous pouvez, en exé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ée et de la mise en place du driver de votre serveur X contrôlant
cette carte. Cela peut donc ne pas fonctionner sur tout les systè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> <CODE>(II) Loading extension XFree86-DGA</CODE></P>
<P>XFree86 4.0.x ou plus est TRÈS RECOMMANDÉ ! Le pilote DGA de MPlayer est
automatiquement détecté 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érieure, essayez les options -vm
(uniquement avec X 3.3.x), -fs, -bpp, -zoom pour trouver un mode vidéo qui convienne
à la vidéo. Il n'existe pas de convertisseur actuellement.. :(</P>
<P>Passez en ROOT. DGA nécessite un accès root pour écrire directement dans la mémoire
vidéo. Si vous voulez rester en utilisateur, installez MPlayer SUID root:</P>
<P><CODE>
chown root /usr/local/bin/mplayer<BR>
chmod 750 /usr/local/bin/mplayer<BR>
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é</B><BR>
Cela présente une <B>grosse</B> faille de sécurité ! Ne faites <B>jamais</B>
ceci sur un serveur ou un ordinateur accessible par d'autres personnes que
vous, ils pourraient obtenir les privilèges root par l'exécutable mplayer.
</BLOCKQUOTE>
<P>Utilisez maintenant l'option <CODE>-vo dga</CODE> et c'est parti !
(enfin on peut l'espé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'éviter un redimensionnement logiciel, beaucoup plus lent,
et offre une image plein écran. Idéalement il doit passer à la résolution
exacte de la vidéo (excepté pour respecter le rapport hauteur/largeur),
mais le serveur X permet uniquement le passage à 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és de votre matériel. Le serveur X scanne ce fichier de configuration
au démarrage et élimine les modelines ne correspondant pas au matériel. Vous
pouvez retrouver dans les logs de X quelles modelines sont acceptables.
Elles peuvent être trouvées dans :<CODE>/var/log/XFree86.0.log</CODE>.</P>
<P>Ces entré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 & MPLAYER</H4>
<P>DGA est utilisé 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ÉS</H4>
<P>Le pilote DGA s'invoque en spécifiant -vo dga en ligne de commande. L'action
par défaut consiste à passer dans une résolution s'approchant au mieux de la
résolution de la vidéo. Il ignore volontairement les options -vm et -fs
(autorisant le changement de résolution et le plein écran) - il essaie
toujours de couvrir le plus large espace possible de votre écran en
changeant les modes vidé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ées par votre fichier XF86Config. Avec DGA2 vous pouvez également le
forcer a utiliser un certain nombre de couleurs en utilisant l'option -bpp.
Les nombres de couleurs autorisées sont 15, 16, 24 et 32. Cela dépend de
votre matériel, soit ces modes sont nativement supportés, soit il pratique
une conversion logicielle (qui peut ralentir la lecture).</P>
<P>Si par chance vous avez assez de mémoire vidéo libre pour y placer une image
entière, le driver DGA utilisera le doublebuffering, qui améliore
considérablement la qualité de lecture. Il doit vous afficher si le
doublebuffering est utilisé ou non.</P>
<P>Doublebuffering signifie que la prochaine frame de votre vidéo est dessinée
dans une partie non affichée de la mémoire graphique tandis que s'affiche la
frame en cours. Quand la frame suivant est prête, la puce graphique reçoit
simplement l'adresse de celle ci et récupère les donné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é. Cependant, activer
le doublebuffering peut demander des calculs supplémentaires au processeur
(sur mon K6-II+ 525 il utilisait 20% de temps CPU en plus !), ceci dépendant
de l'implémentation du DGA pour votre matériel.</P>
<H4>PROBLÈMES DE VITESSE</H4>
<P>Généralement, l'accès au framebuffer DGA peut s'avérer aussi rapide que le
driver X11, apportant en plus l'avantage de bénéficier d'une image plein écran.
Les pourcentages affichées par MPlayer doivent être interprétées avec précaution,
comme par exemple avec le pilote X11 où ils n'incluent pas le temps utilisé 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ère générale, l'accélération acquise en utilisant le DGA au lieu de
l'affichage X11 classique dépend fortement de votre carte graphique et des
optimisations effectuées sur le module DGA du serveur X.</P>
<P>Si votre système s'avère trop lent, utilisez plutôt une profondeur de couleurs de
15 or 16bits, qui ne demandent que la moitié de la bande passante d'un affichage
32 bits.</P>
<P>Utiliser une profondeur de 24 bits peut s'avérer une bonne solution si votre carte
ne supporte nativement que le 32 bits, le transfert se réduisant de 25% par rapport
à 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èrent utilisables à partir de 400 MHZ et supérieur.</P>
<H4>BOGUES CONNUS</A></H4>
<P>A vrai dire, selon certains développeurs de XFree, DGA est une usine à gaz. Ils
recommandent d'éviter son utilisation. Son implé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 étranges.</LI>
<LI>Les pilotes ATI requièrent de passer plusieurs modes après l'utilisation
du DGA.</LI>
<LI>Certains pilotes 'plantent' lors du retour à la résolution normale (utilisez
Ctrl-Alt-Keypad +, - pour y retourner manuellement).</LI>
<LI>Certains drivers affichent simplement des couleurs étranges.</LI>
<LI>Certains pilotes mentent a propos de la quantité de mémoire allouée dans
l'espace d'adressage du processus, empê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é.</LI>
</UL>
<H4><A NAME="sdl">2.3.1.2.3 SDL</A></H4>
<P>SDL (Simple Directmedia Layer) est fondamentalement une interface vidéo/audio
unifiée. Les programmes qui l'utilisent connaissent uniquement SDL, et pas quels
pilotes vidé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écifier (par exemple) le pilote vidéo à utiliser avec la variable d'environnement
SDL_VIDEODRIVER. Enfin, en théorie.</P>
<P>Avec MPlayer, nous avons utilisé le redimensionnement logiciel de ses pilotes X11
pour les cartes qui ne supportent pas XVideo, jusqu'à ce que nous fassions notre propre
"dimensionneur" logiciel(plus rapide, plus agréable). Nous avons également utilisé sa sortie aalib, mais
maintenant nous avons la notre qui est plus confortable. Son support DGA était meilleur
que le nôtre, jusqu'à récemment. Prenez-le maintenant? :)</P>
<P>Cela aide également avec certains pilotes/cartes bogués si la vidéo est saccadé
(pas de problème de lenteur du système), ou si l'audio est retardé.</P>
<P>La sortie vidéo de SDL supporte l'affichage des sous-titres sous le film, dans les (si
pré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écifie le driver vidéo sdl a utiliser (i.e.. aalib, dga, x11)</DD>
<DT><CODE>-ao sdl:name</CODE></DT>
<DD>spécifie le driver audio sdl a utiliser (i.e. dsp, esd, arts)</DD>
<DT><CODE>-noxv</CODE></DT>
<DD>désactive l'accélération Xvideo matérielle</DD>
<DT><CODE>-forcexv</CODE></DT>
<DD>tente de forcer l'accélé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 écran au mode fenêtré</TD></TR>
<TR><TD></TD><TD><CODE>C</CODE></TD><TD></TD><TD>passe par tous les modes plein écran valides</TD></TR>
<TR><TD></TD><TD><CODE>W/S</CODE></TD><TD></TD><TD>mappings pour les touches * et / (contrôle du mixer)</TD></TR>
</TABLE>
<H4>Bogues connus :</H4>
<UL>
<LI>Les touches pressées avec le driver sdl:aalib se répètent en continu.
(utiliser -vo aa !) C'est un bogue dans la SDL, je ne peux pas le changer
(testé 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é, mais peut être
forcé), et n'oubliez pas d'éditer /etc/vga/libvga.config pour l'ajuster à
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é mauvaise, mais
qui est un peu plus rapide.</P>
<H4>SUPPORT EGA (4BPP)</H4>
<P>SVGAlib incorpore EGAlib, et MPlayer a la possibilité 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 être fixé à 4 manuellement:<BR>
<CODE>-bpp 4</CODE><BR>
Le film doit probablement être redimensionné pour tenir dans le mode EGA:<BR>
<CODE>-vf scale=640:350</CODE> or<BR>
<CODE>-vf scale=320:200</CODE><BR>
Pour cela nous avons besoin de la routine de redimensionnement rapide
mais de mauvaise qualité:<BR>
<CODE>-sws 4</CODE><BR>
Peut être que la correction d'aspect automatique doit être coupée:<BR>
<CODE>-noaspect</CODE></P>
<P><B>NOTE:</B> d'après mon expérience, la meilleur qualité d'image sur les écrans EGA
peut être obtenue en diminuant légèrement la luminosité: <CODE>-vf
eq=-20:0</CODE>. J'ai également besoin de diminuer la fréquence d'échantillonnage sur ma
machine, car le son est endommagé 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è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étecté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 (également
nommé 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ètres additionnels :</P>
<DL>
<DT><CODE>-fb</CODE></DT>
<DD>spé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écifique, utilisez l'option</P>
<P><CODE> mplayer -vm -fbmode (NomDuMode) nomfichier</CODE></P>
<UL>
<LI><B>-vm</B> seul choisira le mode le mieux adapté dans votre fichier /etc/fb.modes.
Peut s'utiliser avec les options -x et -y. L'option -flip est supportée uniquement
si le format de pixels de la vidé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écifiée par l'option -bpp. </LI>
<LI>l'option <B>-zoom</B> n'est pas supportée (le redimensionnement logiciel est trop
lent). L'option -fs n'est pas supporté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'économiseur d'é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é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é par moi
(A'rpi), et supporte le VSYNC maté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èmes non-Linux
(testé sur FreeBSD), vous pouvez utiliser <A HREF="#vidix">VIDIX</A> à la place !</P>
<P><B>Installation:</B></P>
<OL>
<LI>Pour l'utiliser, vous devez au préalable compiler mga_vid.o:
<P><CODE>cd drivers<BR>
make</CODE></P></LI>
<LI>Puis créez le périphé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ère incorrecte,
utilisez l'option <CODE>mga_ram_size</CODE> (<CODE>rmmod mga_vid</CODE>
d'abord), en spé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é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> à une place appropriée
dans <CODE>/lib/modules/<version noyau>/quelquepart</CODE>.</P>
<P>Puis exé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 ê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ère avec Xv.</P>
<P>Le fichier périphérique <CODE>/dev/mga_vid</CODE> peut être lu (par exemple par
<CODE>cat /dev/mga_vid</CODE>) pour avoir des infos, et écrit pour changer la
luminosité: <CODE>echo "brightness=120" > /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élé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 ça devrait être le cas sur un PC avec Linux,
utilisez xv à la place, les performances d'OpenGL sont bien pires. Si vous
avez une implé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érieur supporte OpenGL avec les cartes Matrox et Radeon,
4.2.0 ou supérieur supporte la Rage128. Voir
<A HREF="http://dri.sourceforge.net">http://dri.sourceforge.net</A>
pour son télé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à, comme
Doom, Quake, etc. MPlayer possède pour cela un driver parfaitement utilisable. Si
./configure détecte une installation de aalib, le driver aalib libvo sera compilé.</P>
<TABLE BORDER=0>
<TR><TD COLSPAN=4><P><B>Vous pouvez utiliser certains raccourcis clavier dans le fenêtre AA pour changer les options de rendu:</B></P></TD></TR>
<TR><TD> </TD><TD><CODE>1</CODE></TD><TD> </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é</TD></TR>
<TR><TD></TD><TD><CODE>4</CODE></TD><TD></TD><TD>augmente la luminosité</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ô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 ê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è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é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éciez ! (une carte hercules
en second écran, c'est génial :)) (mais à 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ès
en écriture sur <CODE>/dev/vcsa<terminal></CODE>. Ce n'est pas autodétecté 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 à été conçu et présenter comme un <B>pilote géné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ôleurs doubles</B><BR>
VBE 3.0 supporte la conception de contrôleur double en assumant que comme
les deux contrôleurs sont typiquement fournis par le même OEM, sous le contrôle
d'un seul BIOS ROM sur la même carte graphique, il est possible de cacher le fait
que deux contrôleurs sont présent dans l'application. Cela à la limitation
d'interdire l'utilisation simultanée de chacun des contrôleurs, met permet aux
applications avant VBE 3.0 de fonctionner normalement. La fonction VBE 00h
(Return Controller Information) retourne l'information combinée des deux
contrôleurs, incluant la liste combinée des modes disponibles. Quand une application
sélectionne un mode, le contrôleur approprié est activé. Chacune des fonctions
VBE restantes s'appliquent ensuite sur le contrô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épendante ou au moins
une sortie indépendante.)</P>
<H4>AVANTAGES</H4>
<UL>
<LI>Vous avez la possibilité de voir des films <B>même si Linux ne connaît pas</B>
votre matériel vidéo.</LI>
<LI>Vous n'avez pas besoin d'avoir de logiciels graphiques installé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 émulateur - il appelle des choses <B>réelles</B> dans le BIOS <B>réel</B> en
mode <B>réel</B>. (habilement, en mode vm86).</LI>
<LI>Vous pouvez l'utiliser avec Vidix, accélérant ainsi l'affichage vidéo <B>ET</B>
la sortie TV en même temps! (recommandé pour les cartes ATI)</LI>
<LI> si vous avez un BIOS VESA VBE 3.0+, et que vous avez spécifié <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îchissement possible.
(En utilisant la Formule Générale de Timing). Pour activer cette fonctionnalité
vous devrez spécifier <B>toutes</B> les options de votre moniteur.</LI>
</UL>
<H4>DÉSAVANTAGES</H4>
<UL>
<LI>Il ne fonctionne que sur les <B>systèmes x86</B>.</LI>
<LI>Il ne peut être utilisé 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ètres pour activer
l'<B>autodétection</B> du mode dga.</DD>
</DL>
<H4>Problèmes connus et contournements:</H4>
<UL>
<LI>Si vous avez installé des polices <B>NLS</B> sur votre Linux box et
que vous lancez le pilote VESA depuis le mode texte alors après la fermeture
de MPlayer vous aurez la <B>Police de la ROM</B> chargée à 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 être utilisé pour la localisation de fbdev).</LI>
<LI>Certains <B>pilotes graphiques Linux</B> de mettent pas à jour le <B>BIOS mode</B>
actif en mémoire DOS. Donc si vous avez un tel problème - utilisez toujours
le pilote VESA uniquement depuis le <B>mode texte</B>. Sinon le mode texte (#03)
sera activé de toute façon et vous devrez redémarrer votre ordinateur.</LI>
<LI>Souvent après la fin du pilote VESA vous avez un <B>écran noir</B>. Pour
retourner à l'état original de votre écran - passez simplement sur une autre
console (en tapant <B>Alt-Fx</B>) et revenez à la première de la même façon.</LI>
<LI>Pour faire <B>fonctionner la sortie TV</B> vous devez avoir branché le connecteur
TV avant le démarrage de votre PC car le BIOS vidéo s'initialise une seule fois
à ce moment là.</LI>
</UL>
<H4><A NAME="x11">2.3.1.2.11 X11</A></H4>
<P>A éviter si possible. Sort sur X11 (utilise l'extension de mémoire partagée),
sans aucune accélération matérielle du tout. Supporte le redimensionnement logiciel
(accéléré par MMX/3DNow/SSE, mais toujours lent), utilisez les options <CODE>-fs -zoom</CODE>
La plupart des cartes possèdent un redimensionnement matériel, pour elles utilisez
la sortie <CODE>-vo xv</CODE>, ou <CODE>-vo xmga</CODE> pour les Matrox.</P>
<P>Le problème est que la plupart des pilotes de carte ne supportent pas l'accélération
sur la seconde tête/TV. Dans ce cas, vous voyez une fenêtre verte/bleue à 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é d'image est pire!</P>
<P>Le redimensionnement logiciel est très lent, vous devriez essayer de changer de
mode vidéo à la place. C'est très simple. Voyez la <A HREF="#dga_modelines">section DGA modelines</A>,
et insé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 à 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 à trouver les mode que vous avez inséré, 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éviation de <B>VID</B>eo <B>I</B>nterface for
*ni<B>X</B>.<BR>
VIDIX à été conçu et présenté comme une interface pour les pilotes espace-utilisateur
rapides fournissant des performances égales à celles de mga_vid pour les cartes Matrox.
Il est aussi très portable.</P>
<P>Cette interface à été conçue comme une tentative de regrouper les interfaces d'accélération
existantes (connues sous les noms mga_vid, rage128_vid, radeon_vid, pm3_vid) dans un
sché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'équipe X11 en changement de mode graphique). C'est à dire
que le but principal de cette interface est de maximiser la vitesse de la lecture vidéo.</P>
<H4>UTILISATION</H4>
<UL>
<LI>Vous pouvez utiliser le pilote de sortie vidéo autonome: <CODE>-vo xvidix</CODE><BR>
Ce pilote à été développé 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ède directement au matériel et contourne le pilote X, les pixmaps
mis en cache dans la mémoire de la carte graphique peuvent être corrompus.
Vous pouvez éviter cela en limitant la quantité de mémoire utilisé par X
avec l'option "VideoRam" dans la section "device" de XFree86Config. Vous devriez
fixer cette valeur avec la quantité de mémoire installée sur votre carte moins
4Mo. Si vous avez moins de 8Mo de mémoire vidéo, vous pouvez utiliser l'option
"XaaNoPixmapCache" dans la section "screen" à la place.</LI>
<LI>Vous pouvez utiliser le sous-périphérique VIDIX qui à été appliqué à de
nombreux pilotes de sortie vidé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éo utilisé avec <B>VIDIX</B> n'a pas d'importance.
<H4>BESOINS</H4>
<UL>
<LI>La carte graphique devrait être en mode graphique (J'écris <B>devrait</B>
simplement parce que je l'ai testé en mode texte - ç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éo de MPlayer devrait connaître les modes vidéos
actifs et être capable de donner au sous-périphérique VIDIX quelques
caractéristiques du serveur.</LI>
</UL>
<H4>MÉTHODES D'UTILISATION</H4>
<P>Quand VIDIX est utilisé en temps que <B>sous-périphérique</B>
(<CODE>-vo vesa:vidix</CODE>), alors la configuration du mode vidéo
est faite par le périphérique de sortie vidéo (<B>vo_server</B> en bref).
Par consé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è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ît les options
suivantes: <CODE>-fs -zoom -x -y -double</CODE>.</P>
<P>Vous pouvez aussi spécifier le pilote VIDIX directement en troisième
sous-argument en ligne de commande:<BR>
<BR>
<code>mplayer -vo xvidix:mga_vid.so -fs -zoom -double
file.avi</code><BR>
ou<BR>
<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 ça. Dans ce cas le pilote
indiqué sera forcé et le résultat sera imprévisible (cela peut <B>geler</B>
votre ordinateur). Vous ne devriez le faire UNIQUEMENT si vous êtes absolument
sûr que cela va fonctionner, et MPlayer ne le fait pas automatiquement. Dites-le
aux développeurs SVP. La bonne façon est d'utiliser VIDIX sans argument pour
activer l'autodétection du pilote.</P>
<P>VIDIX est une toute nouvelle technologie et il est fortement possible que
sur votre systè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èmes où X11 fonctionne.
<P>Comme, VIDIX requiert l'accès direct au matériel, vous avez le choix entre le
lançer en tant que root ou définir le bit SUID du binaire MPlayer (<B>Attention:
c'est une faille de sécurité !</B>. Sinon, vous pouvez utiliser un module noyau
spécial, comme ceci:</P>
<OL>
<LI>Télé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échargez une version faite par Alex spé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 être
trouvé à l'intérieur du répertoire <CODE>svgalib-1.9.17/kernel/</CODE>
si vous avez téléchargé les source depuis le site de svgalib) et faire un insmod.</LI>
<LI>Déplacez le répertoire <CODE>svgalib_helper</CODE> dans
<CODE>mplayer/main/libdha/svgalib_helper</CODE>.</LI>
<LI>Requis si vous avez téléchargé 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és nativement, de la Mach64
jusqu'aux nouvelles Radeons.</P>
<P>Il y a deux binaires compilé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è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 égaliseurs vidéo et devrait ê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
être trouvé sur les cartes-mère VIA Epia.</P>
<P>Le pilote a été écrit et est maintenu par Alastair M. Robinson, qui offre les
dernières versions des pilote à télécharger sur sa
<A HREF="http://www.blackfiveservices.co.uk/EPIAVidix.shtml">page web</A>.
Les pilotes sont ajoutés à MPlayer avec un très léger décalage, donc le CVS devrait
être toujours à 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é, 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çue pour les systèmes embarqués.
Il offre des performances d'accélération maté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és de DirectFB dans cette section.</P>
<P>Bien que MPlayer ne soit pas supporté en tant que "fournisseur vidéo" dans
DirectFB, ce pilote de sortie activera la lecture vidéo au travers de DirectFB.
Il sera - bien sûr - accéléré, sur ma Matrox G400 la vitesse de DirectFB
était la même que celle de XVideo.</P>
<P>Essayez toujours d'utiliser la derniè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 être faite par la
méthode sous-périphérique, par ex.: <CODE>-vo directfb:2</CODE>
(couche -1 par défaut: autodé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érales.</P>
<P>Ce pilote de sortie vidéo activera CRTC2 (sur la seconde tête) sur les cartes
Matrox G400/G450/G550, affichant la vidéo <B>indépendamment</B> de la première tête.</P>
<P>Les instructions pour le faire fonctionner peuvent être trouvé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ç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 équipé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êtes ost dans un chemin non-standard, corrigez ce chemin avec</P>
<PRE>
./configure --with-extraincdir=<répertoire source DVB>/ost/include
</PRE>
<P>Ensuite compilez et installez comme d'habitude.</P>
<H4>UTILISATION</H4>
<P>Le décodage matériel (lecture de fichiers MPEG1/2 standards) peut ê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érents formats en MPEG1 peut
ê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 à l'option <CODE>-vf</CODE>. Les cartes DVB acceptent des
largeurs variées, comme 720, 704, 640, 512, 480, 352 etc et font un redimensionnement
maté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-écran et que vous ne voulez pas l'afficher
à sa taille complè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è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éliore pas, essayez é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ètre <CODE>:1</CODE>
à 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'écran, utilisez
l'option <CODE>-subpos <0-100></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ètres de zoom
optimaux (zoom matériel horizontal et zoom logiciel vertical en gardant l'aspect
original), utilisez le nouveau plugin dvbscale:w/P>
<PRE>
pour une TV 4:3: -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é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 à 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è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éléré avec la carte Creative DXR2.</P>
<P>Tout d'abord vous devrez avoir les pilotes correctement installé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 <option1:option2:...></CODE></DT>
<DD>Cette option est utilisée pour contrôler le pilote DXR2.</DD>
</DL>
<P>Le chipset overlay utilisé sur la DXR2 est d'assez mauvaise qualité mais
les paramètres par défaut devraient suffire pour tout le monde. L'OSD peut être
utilisable avec l'overlay (pas sur une télé) en la dessinant avec une couleur-clé.
Avec les paramètres de couleur-clé par défaut vous obtiendrez des résultats variables,
généralement vous vérez la couleur-clé autour des personnages et autres effets amusants.
Mais si vous ajustez correctement les paramètres de couleur-clé 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élération maté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és,
version 0.12.0 ou supérieure. Vous pouvez trouver les pilotes et les
instructions d'installation sur le site
<A HREF="http://dxr3.sourceforge.net/">DXR3 & Hollywood Plus for
Linux</A>. Configure devrait détecter votre carte automatiquement, la
compilation devrait se faire sans problèmes.</P>
<H4>Utilisation:</H4>
<DL>
<DT><CODE>-vo dxr3:prebuf:sync:norm=x:<périph.></CODE></DT>
<DD><CODE>overlay</CODE> active l'overlay à la place de TVOut. Cela requiert
que vous ayez correctement configuré l'overlay. La maniè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é, lancez dxr3view. Dans dxr3view
vous pouvez régler les paramètres overlay et en voir les effets en temps
réel, peut-être cette fonction sera supporté par la GUI de MPlayer dans le
futur. Quand l'overlay est correctement configuré, 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éo à la fois. Cela signifie
que quand vous utilisez le prebuffering MPlayer essaiera de garder le buffer
vidéo rempli de données à tout moment. Si vous êtes sur une machine lente
MPlayer utilisera près de, voir exactement 100% du CPU. C'est particuliè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è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 à moins que des
programmes monopolisent le CPU pour une longue durée<BR>
En l'utilisant sans doublebuffering, l'em8300 est bien plus sensible à la charge
CPU, il est donc hautement recommandé d'activer l'option <CODE>-framedrop</CODE>
pour éviter les éventuelles pertes de synchro.<BR>
<CODE>sync</CODE> activera le nouveau moteur de synchro. C'est actuellement
une fonction expérimentale. Avec la fonction sync activé l'horloge interne
de l'em8300 sera contrôlée à tout moment, si elle commence à dévier de
l'horloge de MPlayer elle sera réajustée, obligeant l'em8300 à sauter les
é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é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><périph.></CODE> = numéro de périphérique à utiliser si vous avez plus
d'une carte em8300.
<BR>
Chacune de ces options peut être laissé de côté.<BR>
<CODE>:prebuf:sync</CODE> semble fonctionner à merveille en lisant des DivX.
Des gens ont signalé des problè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èmes de synchro, ou des problè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éro de périphérique
(0 si une carte).</DD>
<DT><CODE>-aop list=resample:fout=xxxxx</CODE></DT>
<DD>L'em8300 ne peut jouer de taux d'échantillonage inférieur à 44100 Hz. Si
le taux d'é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é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écifier un filtre vidéo MPEG1 tel que libavcodec (lavc) ou
libfame (fame). Pour le moment lavc est à la fois plus rapide et donne une
meilleur qualité, il est recommandé de l'utiliser à moins que vous ayez des
problèmes avec. Voir la page de man pour de plus amples infos à propos de
<CODE>-vf lavc/fame</CODE>.<BR>
Utiliser lavc est hautement recommandé. Actuellement il n'est pas possible
de régler les fps de l'em8300 ce qui veut dire qu'il est fixé à 29.97fps.
A cause de cela il est hautement recommandé d'utiliser
<CODE>-vf lavc=<qualité>: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éo
MPEG1/2/4, il est de bien plus basse qualité que l'OSD traditionnel de MPlayer,
et de plus possède de nombreux problèmes de rafraîchissement. La ligne
de commande ci-dessus va d'abord convertir l'entrée vidéo en MPEG4
(c'est obligatoire, désolé), ensuite appliquer un filtre expand qui ne
va rien étendre du tout (-1: défaut), mais afficher l'OSD dans l'image
(c'est ce que fait le "1" à 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érique de la carte. Voir l'option <CODE>-ao oss</CODE>
plus haut, elle doit être utilisé pour spécifier la sortie DXR3 au lieu
d'une carte son.</DD>
</DL>
<H4><A NAME="other">2.3.1.4 Autres maté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é 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 à la carte. Pour l'encodage jpeg <B>libavcodec</B> est utilisé,
et requis. Avec le mode spécial <I>cinerama</I>, vous pouvez voir les films en
vrai é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écifier <CODE>-framedrop</CODE> si votre machine est trop
lente. Note: Mon AMD K6-2 350Mhz est (avec <CODE> -framedrop</CODE>) très
adapté pour voir du maté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ésence d'une carte MJPEG
est autodétectée par le script configure, si l'autodétection échoue, forcez la
détection avec</P>
<PRE>
./configure --enable-zr
</PRE>
<P>La sortie peut être contrôlé par de nombreuses options, une longue description
des options peut être trouvée sur la page de man, une courte liste des options
peut être obtenue en exécutant</P>
<PRE>
mplayer -zrhelp
</PRE>
<P>Les choses comme le zoom ou l'OSD (on screen display) ne sont pas
gérés par ce pilote mais peuvent être obtenus en utilisant les filtres
vidé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-écran sur
votre DC10+. Il y a trois possibilités principales, vous pouvez
redimmensionner le film à une largeur de <CODE>768</CODE>, <CODE>384</CODE>
ou <CODE>192</CODE>. Pour des raisons de performances et de qualité, Je
choisirait de redimmensionner le film en <CODE>384x204</CODE> en utilisant
le zoom logiciel biliné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 ê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é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éer un écran plus large. Supposons que vous avez deux
moniteurs. Celui de gauche est connecté à votre Buz sur <CODE>/dev/video1</CODE>
et celui de droite est connecté à 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é <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ès le second
<CODE>-zrcrop</CODE> s'appliquent à la Buz. Le nombre maximum de cartes
MJPEG participant au <I>cinerama</I> est quatre, vous pouvez donc construire
un mur vidéo de <CODE>2x2</CODE>.</P>
<P>Pour finir une remarque importante: Ne lancez ou n'arrêtez pas XawTV sur le
périphé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éléré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é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é (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écifiques à matroxfb
durant la compilation (excepté MultiHead), et les compiler en <B>modules</B>!
Vous aurez également besoin que I2C soit activé.
<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é, 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écutez <CODE>./modules</CODE> en root. Votre console en mode texte
va entrer en mode framebuffer (sans retour possible!).</LI>
<LI>Ensuite, ÉDITEZ et lancez le script <CODE>./matroxtv</CODE>.Il va vous présenter
un menu trè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)à de
vilaines bandes dessus, le script n'a pas été capable de fixer
la résolution correctement (en 640x512 par défaut). Essayez d'autres
résolutions depuis le menu et/ou expérimentez avec fbset.</LI>
</OL>
<P>Yoh. La prochaine tâche est de faire disparaître le curseur sur tty1 (ou n'importe quelle autre),
et de désactiver l'économiseur d'écran. Exé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 également effacer
l'é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 <nomfichier></CODE><BR>
(si vous utilisez X, maintenant changez pour matroxfb avec par exemple CTRL-ALT-F1!)<BR>
Changez 640x512 si vous voulez spécifier une résolution différente.<BR>
<B>Appré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és, ni n'offre de garanties quant aux
éventuels dommages causés par cette documentation.</P>
<P><B>Cable pour G400</B>: La quatrième broche du connecteur CRTC2 transmet
le signal vidéo composite. La terre (ground) est sur les sixième, septième
et huitième broches. (info donnée par Balázs Rácz)</P>
<P><B>Cable pour G450</B>: La première broche du connecteur CRTC2 transmet
le signal vidéo composite. La terre (ground) est sur les cinquième, sixième, septième,
et quinzième (5, 6, 7, 15) broches. (info donnée par Balá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 été introduit que récemment,
et n'est pas encore dans le noyau officiel. Actuellement le module <B>mga_vid</B>
ne peut être utilisé à 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 être relié à 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 à la fois, comme actuellement recommandé pour la G400, voir la
section ci-dessus.</P>
<P>Le patch noyau nécessaire et le howto détaillé sont télé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ÉAMBULE</H5>
<P>Actuellement ATI ne veut supporter aucun de ces chips TV-out sous Linux,
à cause de leur technologie Macrovision sous licence.</P>
<H5>ÉTAT DE LA SORTIE TV ATI SUR LINUX</H5>
<UL>
<LI><B>ATI Mach64</B>: Supporté par
<A HREF="http://gatos.sf.net">gatos</A>.</LI>
<LI><B>ASIC Radeon VIVO</B>: Supporté par
<A HREF="http://gatos.sf.net">gatos</A>.</LI>
<LI><B>Radeon</B> et <B>Rage128</B>: Supporté 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é 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 à faire - <B>avoir le connecteur TV branché avant
de booter votre PC</B> car le BIOS vidé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 à <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é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ès que l'accélération XFree86, XVideo, et 3D fonctionne correctement,
éditez la section Device de votre carte dans le fichier <CODE>XF86Config</CODE>,
selon l'exemple suivant (adaptez à 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>
|