aboutsummaryrefslogtreecommitdiffhomepage
path: root/DOCS/xml/fr/video.xml
blob: 863500943bd97a3431a6ece21cb1d441e244de10 (plain)
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
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
<?xml version="1.0" encoding="utf-8"?>
<!-- synced with r20054 -->
<chapter id="video">
<title>Sorties vidéo</title>

<sect1 id="mtrr">
<title>Réglage MTRR</title>

<para>
Il est FORTEMENT recommandé de bien ajuster ses registres MTRR, qui apportent
un gain important de performances.
</para>

<para>
Faites un <command>cat /proc/mtrr</command>:
<screen>
<prompt>--($:~)--</prompt> cat /proc/mtrr
reg00: base=0xe4000000 (3648MB), size=  16MB: write-combining, count=9
reg01: base=0xd8000000 (3456MB), size= 128MB: write-combining, count=1<!--
--></screen>
</para>

<para>
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.
</para>

<para>
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 :

<orderedlist>
<listitem><para>
  à partir des messages au démarrage de X11, par exemple:
  <screen>
(--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000
(--) SVGA: Linear framebuffer at 0xD8000000<!--
--></screen>
  </para></listitem>
<listitem><para>
  à partir de <filename>/proc/pci</filename> (utilisez la commande
  <command>lspci -v</command>):
  <screen>
01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525
Memory at d8000000 (32-bit, prefetchable)
  </screen>
  </para></listitem>
<listitem><para>
  à partir des messages noyau du driver mga_vid (utilisez <command>dmesg</command>):
  <screen>mga_mem_base = d8000000</screen>
  </para></listitem>
</orderedlist>
</para>

<para>
Trouvons maintenant la taille mémoire. Simplement, convertissez la taille de la
mémoire vidéo en hexadécimal, ou utilisez cette table :
<informaltable frame="none">
<tgroup cols="2">
<tbody>
<row><entry>1 Mo</entry><entry>0x100000</entry></row>
<row><entry>2 Mo</entry><entry>0x200000</entry></row>
<row><entry>4 Mo</entry><entry>0x400000</entry></row>
<row><entry>8 Mo</entry><entry>0x800000</entry></row>
<row><entry>16 Mo</entry><entry>0x1000000</entry></row>
<row><entry>32 Mo</entry><entry>0x2000000</entry></row>
</tbody>
</tgroup>
</informaltable>
</para>

<para>
Vous connaissez l'adresse de base ainsi que la taille, ajustons vos registres MTRR !
Par exemple, pour la carte Matrox utilisée ci-dessus (<literal>base=0xd8000000</literal>)
avec 32Mo de ram (<literal>size=0x2000000</literal>) faites simplement :
<screen>
echo "base=0xd8000000 size=0x2000000 type=write-combining" &gt;| /proc/mtrr
</screen>
</para>

<para>
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
(<command>cat /proc/cpuinfo</command> pour le vérifier).
</para>
</sect1>

<sect1 id="output-trad">
<title>Sortie vidéo pour cartes graphiques traditionnelles</title>
<sect2 id="xv">
<title>Xv</title>

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

<para>
Pour que cela fonctionne, vérifiez ceci :

<orderedlist>
<listitem><para>
  Vous devez utiliser XFree86 4.0.2 ou plus récent (les versions précédentes
  n'ont pas XVideo)
  </para></listitem>
<listitem><para>
  Votre carte supporte l'accélération matérielle (les cartes modernes le font)
  </para></listitem>
<listitem><para>
  X charge l'extension XVideo, qui doit faire apparaître quelque chose comme:
  <programlisting>(II) Loading extension XVideo</programlisting>
  dans <filename>/var/log/XFree86.0.log</filename>
  <note><para>
  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 à
  <emphasis role="bold">votre carte</emphasis> est chargée !
  </para></note>
  </para></listitem>
<listitem><para>
  Votre carte a le support Xv sous Linux. Pour le vérifier, essayez
  <command>xvinfo</command>,
  inclus dans XFree86. Cela doit afficher un long message, similaire à :
  <screen>
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...)<!--
--></screen>
  Cela doit supporter les formats de pixels YUY2 packed et YV12 planar pour
  pouvoir être utilisés avec <application>MPlayer</application>.
  </para></listitem>
<listitem><para>
  Finalement, vérifiez si <application>MPlayer</application> a été compilé
  avec le support 'xv'.
  Faites un <command>mplayer -vo help | grep xv</command>
  Si le support 'xv' à été compilé une ligne similaire à celle-ci devrait
  apparaitre :
    <screen>
  xv      X11/Xv<!--
  --></screen>
  </para></listitem>
</orderedlist>
</para>

<sect3 id="tdfx">
<title> Cartes 3dfx</title>

<para>
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, il fonctionne
correctement avec YV12 et YUY2.
Les versions précédentes, incluant 4.1.0,
<emphasis role="bold">plantent avec YV12</emphasis>.
Si des problèmes apparaissent en utilisant <option>-vo xv</option>, essayez
SDL (qui utilise également XVideo) et voyez si cela passe mieux.
Lisez la section <link linkend="sdl">SDL</link> pour plus de détails.
</para>

<para>
<emphasis role="bold">OU</emphasis>, essayez le NOUVEAU pilote
<option>-vo tdfxfb</option> ! Voir la section <link linkend="tdfxfb">tdfxfb</link>.
</para>
</sect3>


<sect3 id="s3">
<title>Cartes S3</title>

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

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


<sect3 id="nvidia">
<title>Cartes nVidia</title>

<para>
nVidia n'est pas un très bon choix sous Linux ... Les pilotes open-source de
XFree86 supportent la plupart de ces cartes, mais dans certains cas, vous devrez
utiliser les pilotes binaires closed-source de nVidia, disponibles sur le
<ulink url="http://www.nvidia.com/object/linux.html">site web de nVidia</ulink>.
Vous aurez toujours besoin de ce pilote si vous voulez l'accélération 3D.
</para>

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

<para>
Cependant, <application>MPlayer</application> contient un pilote
<link linkend="vidix">VIDIX</link> pour la plupart des cartes
nVidia. Actuellement il est en phase béta, et a quelques inconvénients. Pour
plus d'informations, voir la section <link linkend="vidix-nvidia">VIDIX nVidia</link>.
</para>
</sect3>


<sect3 id="ati">
<title>Cartes ATI</title>

<para>
Le <ulink url="http://gatos.sf.net">pilote GATOS</ulink>
(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.
</para>

<para>
Radeon VE - si vous avez besoin de X, utilisez 4.2.0 ou supérieur pour cette
carte.
Pas de support TV-out.
Bien sûr avec <application>MPlayer</application> vous pouvez heureusement
avoir un affichage <emphasis role="bold">accéléré</emphasis>, avec ou sans
<emphasis role="bold">sortie TV</emphasis>, et aucune librairie ou X ne
sont requis. Lire la section <link linkend="vidix">VIDIX</link>.
</para>
</sect3>


<sect3 id="neomagic">
<title>Cartes NeoMagic</title>

<para>
Ces cartes sont utilisées sur de nombreux portables. Vous devez utiliser
XFree86 4.3.0 ou supérieur, ou utiliser
<ulink url="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver/">les pilotes Xv</ulink>
de Stefan Seyfried.
Choisissez juste celui qui s'applique à votre version de XFree86.
</para>

<para>
XFree86 4.3.0 inclut le support Xv, mais Bohdan Horst a envoyé un petit
<ulink url="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver/neo_driver.patch">patch</ulink>
pour les sources XFree86 qui accélère les opérations framebuffer (et donc XVideo)
jusqu'à quatre fois.
Ce patch a été inclus dans le CVS de XFree86 et devrait être dans la prochaine
version suivant 4.3.0.
</para>

<para>
Pour permettre la lecture de contenu de taille DVD changez votre XF86Config
comme ceci :
<programlisting>
Section "Device"
    [...]
    Driver "neomagic"
    <emphasis>Option "OverlayMem" "829440"</emphasis>
    [...]
EndSection<!--
--></programlisting>
</para>
</sect3>


<sect3 id="trident">
<title>Cartes Trident</title>
<para>
Si vous voulez utiliser Xv avec une carte Trident, puisque son support ne
fonctionne pas avec 4.1.0, installez XFree 4.2.0.
Celui-ci ajoute le support Xv plein-écran avec la carte Cyberblade XP.
</para>

<para>
<application>MPlayer</application> contient également un pilote
<link linkend="vidix">VIDIX</link> pour la carte Cyberblade/i1.
</para>
</sect3>


<sect3 id="kyro">
<title>Cartes Kyro/PowerVR</title>
<para>
Si vous voulez utiliser Xv avec une carte Kyro (par exemple la Hercules
Prophet 4000XT), vous devriez télécharger les pilotes depuis le
<ulink url="http://www.powervr.com/">site de PowerVR</ulink>
</para>
</sect3>
</sect2>

<!-- ********** -->

<sect2 id="dga">
<title>DGA</title>

<formalpara>
<title>PRÉAMBULE</title>
<para>
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 <application>MPlayer</application>
(et ce qu'il ne peut pas faire).

</para>
</formalpara>

<formalpara>
<title>QU'EST CE QUE LE DGA</title>
<para>
<acronym>DGA</acronym> est l'abréviation de <emphasis>Direct Graphics
Access</emphasis> 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 adresses mémoire de votre
process. Cela est autorisé par le noyau uniquement si vous avez les privilèges
super-utilisateur. Vous pouvez les obtenir soit en vous loggant en <systemitem
class="username">root</systemitem> ou en plaçant le bit suid sur l'exécutable
<application>MPlayer</application> (<emphasis role="bold">non recommandé</emphasis>).
</para>
</formalpara>
<para>
Il existe deux versions de DGA: DGA1 est utilisé par XFree 3.x.x et DGA2 a été
introduit par XFree 4.0.1.
</para>

<para>
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.
</para>

<para>
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.
</para>

<para>
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 tous les systèmes...
</para>

<formalpara>
<title>INSTALLER LE SUPPORT DGA POUR MPLAYER</title>

<para>
Assurez vous d'abord que X charge l'extension DGA, regardez dans
<filename>/var/log/XFree86.0.log</filename>:

<programlisting>(II) Loading extension XFree86-DGA</programlisting>

XFree86 4.0.x ou plus est <emphasis role="bold">hautement recommandé</emphasis> !
Le pilote DGA de <application>MPlayer</application> est automatiquement
détecté par <filename>./configure</filename>, ou vous pouvez le forcer avec
l'option <option>--enable-dga</option>.
</para>
</formalpara>

<para>
Si le driver ne peut pas passer en résolution inférieure, essayez les options
<option>-vm</option> (uniquement avec X 3.3.x), <option>-fs</option>,
<option>-bpp</option>, <option>-zoom</option> pour trouver un mode vidéo qui convienne
à la vidéo. Il n'existe pas de convertisseur actuellement :(
</para>

<para>
Passez en <systemitem class="username">root</systemitem>.
DGA nécessite un accès root pour écrire directement dans la mémoire vidéo.
Si vous voulez rester en utilisateur, installez
<application>MPlayer</application> SUID root :

<screen>
chown root <replaceable>/usr/local/bin/mplayer</replaceable>
chmod 750 <replaceable>/usr/local/bin/mplayer</replaceable>
chmod +s <replaceable>/usr/local/bin/mplayer</replaceable>
</screen>

Maintenant cela fonctionne aussi avec les droits d'un simple utilisateur.
</para>

<caution>
<title>Faille de sécurité</title>
<para>
Cela présente une <emphasis role="bold">grosse</emphasis> faille de sécurité !
Ne faites <emphasis role="bold">jamais</emphasis> 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 <application>MPlayer</application>.
</para>
</caution>

<para>
Utilisez maintenant l'option <option>-vo dga</option> et c'est parti !
(Enfin on peut l'espérer:) Vous pouvez alors essayer l'option
<option>-vo sdl:driver=dga</option> !
C'est beaucoup plus rapide !
</para>


<formalpara id="dga-modelines">
<title>CHANGEMENT DE RÉSOLUTION</title>

<para>
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 <filename>/etc/X11/XF86Config</filename>
(<filename>/etc/X11/XF86Config-4</filename> pour XFree 4.X.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:
<filename>/var/log/XFree86.0.log</filename>.
</para>
</formalpara>

<para>
Ces entrées doivent fonctionner correctement avec un chip Riva128, en utilisant le
module pilote nv.o du serveur X.
</para>


<para><programlisting>
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
</programlisting></para>


<formalpara>
<title>DGA &amp; MPLAYER</title>
<para>
DGA est utilisé en deux endroits par <application>MPlayer</application>: Le pilote SDL
peut se compiler pour en faire usage (<option>-vo sdl:driver=dga</option>) et dans le pilote DGA
(<option>-vo dga</option>). Dans les sections suivantes je vous expliquerai comment
fonctionne le driver DGA pour <application>MPlayer</application>.
</para>
</formalpara>


<formalpara>
<title>FONCTIONNALITÉS</title>

<para>
Le pilote DGA s'invoque en spécifiant <option>-vo dga</option> 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 <option>-vm</option> et
<option>-fs</option> (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 <option>-x</option> et <option>-y</option>. Avec l'option <option>-v</option>,
le pilote DGA affichera, entre autres choses, une liste de toutes les résolutions
supportées par votre fichier <filename>XF86Config</filename>. Avec DGA2 vous pouvez
également le forcer a utiliser un certain nombre de couleurs en utilisant l'option
<option>-bpp</option>. 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, ou si une
conversion logicielle doit être appliquée (ce qui peut ralentir la lecture).
</para>
</formalpara>
<para>
Si par chance vous avez assez de mémoire vidéo libre pour y placer une image entière,
le driver DGA utilisera le double buffering, qui améliore considérablement la qualité
de lecture. Il doit vous afficher si le double buffering est utilisé ou non.
</para>

<para>
Double buffering signifie que la prochaine trame de votre vidéo est dessinée dans une
partie non affichée de la mémoire graphique tandis que s'affiche la trame en cours.
Quand la trame suivante est prête, la puce graphique reçoit simplement l'adresse de
celle-ci et récupère les données a afficher depuis cette partie de la mémoire. Pendant
ce temps l'autre buffer se remplit avec l'image suivante.
</para>

<para>
Le double buffering peut s'activer avec l'option <option>-double</option>
et se désactiver avec <option>-nodouble</option>.
Actuellement l'option par défaut est de désactiver le double buffering.
En utilisant le driver DGA, l'on-screen display (OSD) fonctionne uniquement
avec le doublebuffering activé.
Cependant, activer le double buffering 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.
</para>


<formalpara>
<title>PROBLÈMES DE VITESSE</title>

<para>
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és par <application>MPlayer</application> doivent être interprétés 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 <command>top</command> pour savoir ce qui
se passe réellement lors de la lecture...
</para>
</formalpara>

<para>
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.
</para>

<para>
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.
</para>

<para>
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.
</para>

<para>
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.
</para>


<formalpara>
<title>BOGUES CONNUS</title>

<para>
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.
</para>
</formalpara>

<itemizedlist>
<listitem><simpara>
  Avec XFree 4.0.3 et <filename>nv.o</filename> un bogue affiche des couleurs étranges.
  </simpara></listitem>
<listitem><simpara>
  Les pilotes ATI requièrent de changer plusieurs fois de mode après l'utilisation
  du DGA.
  </simpara></listitem>
<listitem><simpara>
  Certains pilotes échouent à revenir à la résolution normale (utilisez
  <keycap>Ctrl</keycap>+<keycap>Alt</keycap>+<keycap>Keypad +</keycap> et
  <keycap>Ctrl</keycap>+<keycap>Alt</keycap>+<keycap>Keypad -</keycap> pour y retourner
  manuellement).
  </simpara></listitem>
<listitem><simpara>
  Certains pilotes affichent simplement des couleurs étranges.
  </simpara></listitem>
<listitem><simpara>
  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 ?)
  </simpara></listitem>
<listitem><simpara>
  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
  quelque chose comme ça.
  </simpara></listitem>
<listitem><simpara>
  L'OSD fonctionne uniquement avec le doublebuffering activé (sinon il clignote).
  </simpara></listitem>
</itemizedlist>

</sect2>
<!--</sect1>-->

<!-- ********** -->

<sect2 id="sdl">
<title>SDL</title>

<para>
<acronym>SDL</acronym> (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
utilisant 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
<envar>SDL_VIDEODRIVER</envar>. Enfin, en théorie.
</para>

<para>
Avec <application>MPlayer</application>, 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 nôtre qui
est plus confortable. Son support DGA était meilleur que le nôtre, jusqu'à récemment.
Vous comprenez maintenant? :)
</para>

<para>
Cela aide également avec certains pilotes/cartes boguées si la vidéo est saccadée
(pas de problème de lenteur du système), ou si l'audio est retardé.
</para>

<para>
La sortie vidéo de SDL supporte l'affichage des sous-titres sous le film, dans les
bandes noires (si elles sont présentes).
</para>

</sect2>


<sect2 id="svgalib">
<title>SVGAlib</title>

<formalpara>
<title>INSTALLATION</title>
<para>
Vous devrez installer svgalib et ses paquets de développement afin que
<application>MPlayer</application> construise son pilote SVGAlib (autodetecté,
mais peut être forcé), et n'oubliez pas d'éditer <filename>/etc/vga/libvga.config</filename>
pour l'ajuster à votre carte et votre moniteur.
</para>
</formalpara>

<note>
<para>
Assurez-vous de ne pas utiliser l'option <option>-fs</option>, car elle active
l'utilisation du redimensionneur logiciel, et c'est lent. Si vous en avez réellement
besoin, utilisez l'option <option>-sws 4</option> qui donnera une qualité mauvaise,
mais qui est un peu plus rapide.
</para>
</note>

<formalpara><title>SUPPORT EGA (4BPP)</title>
<para>
SVGAlib incorpore EGAlib, et <application>MPlayer</application> a la possibilité
d'afficher n'importe quel film en 16 couleurs, donc utilisable avec les
configurations suivantes:
</para>
</formalpara>

<itemizedlist>
<listitem><simpara>
  carte EGA avec moniteur EGA: 320x200x4bpp, 640x200x4bpp, 640x350x4bpp
  </simpara></listitem>
<listitem><simpara>
  carte EGA avec moniteur CGA: 320x200x4bpp, 640x200x4bpp
  </simpara></listitem>
</itemizedlist>

<para>
La valeur des bpp (bits par pixel) doit être fixé à 4 manuellement:
<option>-bpp 4</option>
</para>

<para>
Le film doit probablement être redimensionné pour tenir dans le mode EGA:
<screen>-vf scale=640:350</screen>
ou
<screen>-vf scale=320:200</screen>
</para>

<para>
Pour cela nous avons besoin de la routine de redimensionnement rapide mais de
mauvaise qualité:
<screen>-sws 4</screen>
</para>

<para>
Peut-être que la correction d'aspect automatique doit être coupée:
<screen>-noaspect</screen>
</para>

<note><para>
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é: <option>-vf eq=-20:0</option>. J'ai
également besoin de diminuer la fréquence d'échantillonnage sur ma machine, car le son
est endommagé en 44kHz: <option>-srate 22050</option>.
</para></note>

<para>
Vous pouvez activer l'OSD et les sous-titres uniquement avec le filtre
<option>expand</option>, voir la page de man pour les paramètres exacts.

</para>
</sect2>


<sect2 id="fbdev">
<title>Sortie Framebuffer (FBdev)</title>

<para>
La compilation de le sortie FBdev est autodétectée durant <filename>./configure</filename>.
Lisez la documentation sur le framebuffer dans le sources du noyau
(<filename>Documentation/fb/*</filename>) pour avoir plus d'infos.
</para>

<para>
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 (anciennement nommé UniVBE)
avant de booter Linux. Utilisez une disquette de boot DOS ou similaire. Et n'oubliez
pas d'enregistrer votre copie d'UniVBE ;))
</para>

<para>
La sortie FBdev accepte certains paramètres additionnels:
</para>

<variablelist>
<varlistentry>
  <term><option>-fb</option></term>
  <listitem><simpara>
    spécifie le device framebuffer a utiliser (par défaut : <filename>/dev/fb0</filename>)
    </simpara></listitem>
</varlistentry>
<varlistentry>
  <term><option>-fbmode</option></term>
  <listitem><simpara>
    mode a utiliser (d'après le fichier <filename>/etc/fb.modes</filename>)
    </simpara></listitem>
</varlistentry>
<varlistentry>
  <term><option>-fbmodeconfig</option></term>
  <listitem><simpara>
    fichier de configuration des modes (par défaut : <filename>/etc/fb.modes</filename>)
    </simpara></listitem>
</varlistentry>
<varlistentry>
  <term><option>-monitor-hfreq</option></term>
  <term><option>-monitor-vfreq</option></term>
  <term><option>-monitor-dotclock</option></term>
  <listitem><simpara>
    valeurs <emphasis role="bold">importantes</emphasis>, voir
    <filename>example.conf</filename>
    </simpara></listitem>
</varlistentry>
</variablelist>

<para>
Si vous désirez passer dans un mode particulier, alors utilisez
<screen>mplayer -vm -fbmode <replaceable>nom_du_mode</replaceable> <replaceable>nomfichier</replaceable></screen>
</para>

<itemizedlist>
<listitem><para>
  <option>-vm</option> seul choisira le mode le mieux adapté dans votre fichier
  <filename>/etc/fb.modes</filename>. Peut s'utiliser avec les options
  <option>-x</option> et <option>-y</option>. L'option <option>-flip</option> est
  supportée uniquement si le format de pixels de la vidéo correspond au format de
  pixel du mode framebuffer.
  Faites attention à la valeur bpp, le driver fbdev essaie par défaut d'utiliser
  la valeur courante, ou bien celle spécifiée par l'option <option>-bpp</option>.
  </para></listitem>
<listitem><para>
  l'option <option>-zoom</option> n'est pas supportée (Utilisez l'option
  <option>-fs</option>). Vous ne pouvez pas utiliser de modes 8bpp (ou moins).
  </para></listitem>
<listitem><para>
  vous pouvez vouloir désactiver le curseur:
  <screen>echo -e '\033[?25l'</screen>
  ou
  <screen>setterm -cursor off</screen>
  et l'économiseur d'écran:
  <screen>setterm -blank 0</screen>
  Pour afficher de nouveau le curseur:
  <screen>echo -e '\033[?25h'</screen>
  ou
  <screen>setterm -cursor on</screen>
  </para></listitem>
</itemizedlist>

<note>
<para>
Le changement de mode vidéo avec FBdev <emphasis>ne fonctionne pas</emphasis>
avec le framebuffer VESA, et ne nous le demandez pas, il ne s'agit pas d'une
limitation de <application>MPlayer</application>.
</para>
</note>
</sect2>


<sect2 id="mga_vid">
<title>Framebuffer Matrox (mga_vid)</title>

<para>
Cette section concerne le support BES (Back-End Scaler) sur les cartes Matrox
G200/G400/G450/G550, le driver noyau de <systemitem>mga_vid</systemitem>.
Il supporte le VSYNC matériel avec triple buffering.
Cela fonctionne aussi bien en console framebuffer que sous X.
</para>

<warning>
<para>
Ceci est pour Linux uniquement ! Sur les systèmes non-Linux (testé sur FreeBSD),
vous pouvez utiliser <link linkend="vidix">VIDIX</link> à la place !
</para>
</warning>

<procedure>
<title>Installation:</title>
<step><para>
  Pour l'utiliser, vous devez au préalable compiler <filename>mga_vid.o</filename>:
  <screen>
cd drivers
make<!--
--></screen>
  </para></step>
<step><para>
  Puis créez le périphérique <filename>/dev/mga_vid</filename>:
  <screen>mknod /dev/mga_vid c 178 0</screen>
  et chargez le pilote avec
  <screen>insmod mga_vid.o</screen>
  </para></step>
<step><para>
  Vous pouvez vérifier si la détection de la taille mémoire est correcte en utilisant
  la commande <command>dmesg</command>. Si elle s'avère incorrecte, utilisez l'option
  <option>mga_ram_size</option> (<command>rmmod mga_vid</command> avant), en
  spécifiant la mémoire de la carte en Mo:
  <screen>insmod mga_vid.o mga_ram_size=16</screen>
  </para></step>
<step><para>
  Pour le charger/décharger automatiquement, insérez cette ligne a la fin du fichier
  <filename>/etc/modules.conf</filename>:

  <programlisting>alias char-major-178 mga_vid</programlisting>

  Puis copiez le module <filename>mga_vid.o</filename> à une place appropriée dans
  <filename>/lib/modules/<replaceable>version noyau</replaceable>/<replaceable>quelquepart</replaceable></filename>.
  </para><para>
  Puis exécutez
  <screen>depmod -a</screen>
  </para></step>
<step><para>
  Vous devez maintenant (re)compiler <application>MPlayer</application>,
  <filename>./configure</filename> détectera <filename>/dev/mga_vid</filename> et
  construira le driver 'mga'. Pour l'utiliser dans <application>MPlayer</application>,
  lancez-le avec l'option <option>-vo mga</option> si vous êtes en console
  matroxfb, ou <option>-vo xmga</option> sous XFree86 3.x.x ou 4.x.x.
  </para></step>
</procedure>

<para>
Le pilote mga_vid coopère avec Xv.
</para>

<para>
Le périphérique <filename>/dev/mga_vid</filename> peut être lu (par exemple par
<screen>cat /dev/mga_vid</screen>) pour avoir des infos, et écrit pour changer la
luminosité:

<screen>echo "brightness=120" &gt; /dev/mga_vid</screen>
</para>
</sect2>


<sect2 id="tdfxfb" xreflabel="3Dfx YUV support (tdfxfb)">
<title>Support YUV 3Dfx</title>
<para>
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
<screen>./configure --enable-tdfxfb</screen>
</para>
</sect2>


<sect2 id="opengl">
<title>Sortie OpenGL</title>

<para>
<application>MPlayer</application> 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.
</para>

<para>
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
<ulink url="http://utah-glx.sf.net"/> pour son téléchargement et les infos
d'installation.
</para>

<para>
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 <ulink url="http://dri.sf.net"/> pour son téléchargement et les infos
d'installation.
</para>

<para>
Une astuce d'un de nos utilisateurs: la sortie vidéo GL peut être utilisée pour
obtenir une sortie TV synchronisée verticalement. Vous devrez définir une variable
d'environnement (au moins sur nVidia):
</para>

<para>
<command>export $__GL_SYNC_TO_VBLANK=1</command>
</para>

</sect2>


<sect2 id="aalib">
<title>AAlib - affichage en mode texte</title>

<para>
AAlib est une librairie affichant des graphismes en mode texte, en utilisant un
puissant moteur de rendu ASCII. De <emphasis>nombreux</emphasis> programmes le
supportent déjà, comme Doom, Quake, etc. <application>MPlayer</application> possède
pour cela un driver parfaitement utilisable. Si <filename>./configure</filename>
détecte une installation de aalib, le pilote aalib libvo sera compilé.

</para>

<para>
Vous pouvez utiliser certains raccourcis clavier dans le fenêtre AA pour changer les
options de rendu:
</para>

<informaltable>
<tgroup cols="2">
<thead>
  <row><entry>Touche</entry><entry>Action</entry></row>
</thead>
<tbody>
<row><entry><keycap>1</keycap></entry><entry>
  diminue le contraste
  </entry></row>
<row><entry><keycap>2</keycap></entry><entry>
  augmente le contraste
  </entry></row>
<row><entry><keycap>3</keycap></entry><entry>
  diminue la luminosité
  </entry></row>
<row><entry><keycap>4</keycap></entry><entry>
  augmente la luminosité
  </entry></row>
<row><entry><keycap>5</keycap></entry><entry>
  active/désactive le rendu rapide
  </entry></row>
<row><entry><keycap>6</keycap></entry><entry>
  change le mode de dithering (none, error distribution, Floyd Steinberg)
  </entry></row>
<row><entry><keycap>7</keycap></entry><entry>
  inverse l'image
  </entry></row>
<row><entry><keycap>8</keycap></entry><entry>
   passe des contrôles de aa vers ceux de <application>MPlayer</application>
   et vice-versa
  </entry></row>
</tbody>
</tgroup>
</informaltable>

<variablelist>
<title>Vous pouvez utiliser les lignes de commande suivantes:</title>
<varlistentry>
  <term><option>-aaosdcolor=<replaceable>V</replaceable></option></term>
  <listitem><para>
    change la couleur de l'OSD
    </para></listitem>
</varlistentry>
<varlistentry>
  <term><option>-aasubcolor=<replaceable>V</replaceable></option></term>
  <listitem><para>
    Change la couleur des sous-titres
    </para><para>
    where <replaceable>V</replaceable> peut être:
    <literal>0</literal> (normal),
    <literal>1</literal> (noir),
    <literal>2</literal> (gras),
    <literal>3</literal> (fontes grasses),
    <literal>4</literal> (inversé),
    <literal>5</literal> (spécial).
    </para></listitem>
</varlistentry>
</variablelist>

<variablelist>
<title>AAlib elle-même propose de nombreuses options. En voici les principales:</title>
<varlistentry>
  <term><option>-aadriver</option></term>
  <listitem><simpara>
    Choisit le pilote aa (X11, curses, Linux)
    </simpara></listitem>
</varlistentry>
<varlistentry>
  <term><option>-aaextended</option></term>
  <listitem><simpara>
    Utilise les 256 caractères
    </simpara></listitem>
</varlistentry>
<varlistentry>
  <term><option>-aaeight</option></term>
  <listitem><simpara>
   Utilise l'ASCII 8 bits
    </simpara></listitem>
</varlistentry>
<varlistentry>
  <term><option>-aahelp</option></term>
  <listitem><simpara>
    Affiche toutes les options de AAlib
    </simpara></listitem>
</varlistentry>
</variablelist>

<note>
<para>
Le rendu prend beaucoup de temps CPU, spécialement en utilisant AA-on-X (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
<option>-vf 1bpp</option> pour avoir des graphismes sur hgafb:)
</para>
</note>

<para>
Utilisez l'option <option>-framedrop</option> si votre machine n'est pas suffisamment
rapide pour afficher toutes les trames !
</para>

<para>
Sur un terminal vous obtiendrez de meilleures performances en utilisant le pilote
linux, et pas curses (<option>-aadriver linux</option>). Cependant vous devez avoir
un accès en écriture sur
<filename>/dev/vcsa<replaceable>&lt;terminal&gt;</replaceable></filename>. Ce n'est
pas autodétecté par aalib, mais vo_aa essaie de déterminer le meilleur mode. Voir
<ulink url="http://aa-project.sf.net/tune"/> pour une meilleure optimisation.
</para>
</sect2>

<sect2 id="caca">
<title><systemitem class="library">libcaca</systemitem> - Librairie ASCII Art en couleur</title>

<para>
La <ulink url="http://sam.zoy.org/projects/libcaca/"><systemitem class="library">libcaca</systemitem></ulink>
est une librairie graphique qui affiche du text à la place des pixels, et qui peut
donc fonctionner sur des cartes graphiques anciennes ou sur des terminaux texte. Elle
n'est pas très différente de la célèbre librairie
<systemitem class="library">AAlib</systemitem>.
<systemitem class="library">libcaca</systemitem> nécessite un terminal pour
fonctionner, et devrait ainsi fonctionner sur tous les systèmes Unix (dont Mac OS X)
en utilisant soit la librairie
<systemitem class="library">slang</systemitem> soit la librairie
<systemitem class="library">ncurses</systemitem>, sous DOS en utilisant la librairie
<systemitem class="library">conio.h</systemitem>, et sous les systèmes Windows
en utilisant soit <systemitem class="library">slang</systemitem>, soit
<systemitem class="library">ncurses</systemitem> (via émulation Cygwin), ou soit
<systemitem class="library">conio.h</systemitem>. Si
<filename>./configure</filename>
détecte <systemitem class="library">libcaca</systemitem>, le pilote libvo caca
sera compilé.
</para>

<itemizedlist>
<title>Les différences avec <systemitem class="library">AAlib</systemitem> sont
  les suivantes:</title>
<listitem><simpara>
   16 couleurs disponible pour l'affichage des caractères (256 paires de couleur)
  </simpara></listitem>
<listitem><simpara>
   tramage des images en couleur
  </simpara></listitem>
</itemizedlist>

<itemizedlist>
<title>Mais <systemitem class="library">libcaca</systemitem> à également les
  limitations suivantes:</title>
<listitem><simpara>
   aucun support pour la luminosité, le contraste, le gamma
  </simpara></listitem>
</itemizedlist>

<para>
Vous pouvez utiliser certaines touches dans la fenêtre caca pour changer les
options de rendu:
</para>

<informaltable>
<tgroup cols="2">
<thead>
  <row><entry>Key</entry><entry>Action</entry></row>
</thead>
<tbody>
<row><entry><keycap>d</keycap></entry><entry>
  Change de méthode de tramage.
  </entry></row>
<row><entry><keycap>a</keycap></entry><entry>
  Change de méthode d'anticrénelage.
  </entry></row>
<row><entry><keycap>b</keycap></entry><entry>
  Change le fond.
  </entry></row>
</tbody>
</tgroup>
</informaltable>

<variablelist>
<title><systemitem class="library">libcaca</systemitem> regarde également la
présence de certaines variables d'environnement:</title>
<varlistentry>
  <term><option>CACA_DRIVER</option></term>
  <listitem><simpara>
    Définie le pilote caca recommandé, c-a-d. ncurses, slang, x11.
    </simpara></listitem>
</varlistentry>
<varlistentry>
  <term><option>CACA_GEOMETRY (X11 uniquement)</option></term>
  <listitem><simpara>
    Spécifie le nombre de lignes de collones. par ex. 128x50.
    </simpara></listitem>
</varlistentry>
<varlistentry>
  <term><option>CACA_FONT (X11 uniquement)</option></term>
  <listitem><simpara>
    Spécifie la police à utiliser. par ex. fixed, nexus.
    </simpara></listitem>
</varlistentry>
</variablelist>

<para>
Use the <option>-framedrop</option> option if your computer is not fast
enough to render all frames.
</para>

</sect2>

<sect2 id="vesa">
<title>VESA - sortie sur BIOS VESA</title>

<para>
Ce pilote à été conçu et présenté comme un <emphasis role="bold">pilote générique</emphasis>
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.
dixit <citetitle>VESA BIOS EXTENSION (VBE) Version 3.0 Date: September 16,
1998</citetitle> (Page 70):
</para>

<blockquote>
<formalpara><title>Conceptions des contrôleurs doubles</title>
<para>
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
ROM BIOS sur la même carte graphique, il est possible de cacher le fait que deux
contrôleurs sont présent dans l'application.
Cela a la limitation d'interdire l'utilisation simultanée de chacun des
contrôleurs, mais 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.
</para>
</formalpara>
</blockquote>

<para>
Donc vous avez des chances de faire fonctionner la sortie TV avec ce pilote
(Je suppose que la sortie TV est souvent un affichage indépendant ou au moins
une sortie indépendante).
</para>

<itemizedlist spacing="compact">
<title>AVANTAGES</title>
<listitem><simpara>
  Vous avez la possibilité de voir des films <emphasis role="bold">même si Linux ne
  connaît pas</emphasis> votre matériel vidéo.
  </simpara></listitem>
<listitem><simpara>
  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
  <emphasis role="bold">mode texte</emphasis>.
  </simpara></listitem>
<listitem><simpara>
  Vous avez des chances de faire <emphasis role="bold">fonctionner la sortie TV</emphasis>
  (C'est le cas au moins pour les cartes ATI).
  </simpara></listitem>
<listitem><simpara>
  Ce pilote appelle le gestionnaire <function>int 10h</function> ainsi ce n'est pas un
  émulateur - il appelle des choses <emphasis role="bold">réelles</emphasis> dans le BIOS
  <emphasis>réel</emphasis> en <emphasis>mode réel</emphasis> (pour l'instant en mode vm86).
  </simpara></listitem>
<listitem><simpara>
  Vous pouvez l'utiliser avec VIDIX, accélérant ainsi l'affichage vidéo
  <emphasis role="bold">et</emphasis> la sortie TV en même temps (recommandé pour les cartes ATI) !
  </simpara></listitem>
<listitem><simpara>
  si vous avez un BIOS VESA VBE 3.0+, et que vous avez spécifié
  <systemitem>monitor-hfreq, monitor-vfreq, monitor-dotclock</systemitem> 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
  <emphasis role="bold">toutes</emphasis> les options de votre moniteur.
  </simpara></listitem>
</itemizedlist>

<itemizedlist spacing="compact">
<title>DÉSAVANTAGES</title>
<listitem><simpara>
  Il ne fonctionne que sur les <emphasis role="bold">systèmes x86</emphasis>.
  </simpara></listitem>
<listitem><simpara>
  Il ne peut être utilisé qu'en <systemitem class="username">root</systemitem>.
  </simpara></listitem>
<listitem><simpara>
  Pour l'instant il n'est disponible que pour <emphasis role="bold">Linux</emphasis>.
  </simpara></listitem>
</itemizedlist>

<important>
<para>
N'utilisez pas ce pilote avec <emphasis role="bold">GCC 2.96</emphasis> ! Cela ne
fonctionnera pas !

</para>
</important>

<variablelist>
<title>OPTIONS EN LIGNE DE COMMANDE POUR VESA</title>
<varlistentry>
  <term><option>-vo vesa:<replaceable>opts</replaceable></option></term>
  <listitem><simpara>
    actuellement reconnu: <literal>dga</literal> pour forcer le mode dga et
    <literal>nodga</literal>pour le désactiver. En mode dga vous pouvez
    activer le double buffering via l'option <option>-double</option>. Note: vous
    pouvez omettre ces paramètres pour activer l'<emphasis role="bold">autodétection</emphasis>
    du mode dga.
    </simpara></listitem>
</varlistentry>
</variablelist>

<itemizedlist spacing="compact">
<title>PROBLÈMES CONNUS ET CONTOURNEMENTS</title>
<listitem><simpara>
  Si vous avez installé des polices <emphasis role="bold">NLS</emphasis> sur votre
  Linux box et que vous lancez le pilote VESA depuis le mode texte alors après la
  fermeture de <application>MPlayer</application> vous aurez la
  <emphasis role="bold">police de la ROM</emphasis> chargée à la place de la nationale.
  Vous pouvez recharger la police nationale en utilisant l'utilitaire
  <command>setsysfont</command> de la distribution Mandrake/Mandriva par exemple.
  (<emphasis role="bold">Astuce</emphasis>: Le même utilitaire peut être utilisé pour
  la localisation de fbdev).
  </simpara></listitem>
<listitem><simpara>
  Certains <emphasis role="bold">pilotes graphiques Linux</emphasis> de mettent pas à
  jour le <emphasis role="bold">mode BIOS</emphasis> actif en mémoire DOS.
  Donc si vous avez un tel problème - utilisez toujours le pilote VESA uniquement
  depuis le <emphasis role="bold">mode texte</emphasis>.
  Sinon le mode texte (#03) sera activé de toute façon et vous devrez redémarrer
  votre ordinateur.
  </simpara></listitem>
<listitem><simpara>
  Souvent après la fin du pilote VESA vous avez un
  <emphasis role="bold">écran noir</emphasis>.
  Pour retourner à l'état original de votre écran - passez simplement sur une autre
  console (en tapant <keycap>Alt</keycap>+<keycap>F&lt;x&gt;</keycap>) et revenez
  à la première de la même façon.
  </simpara></listitem>
<listitem><simpara>
  Pour faire <emphasis role="bold">fonctionner la sortie TV</emphasis> vous
  devez avoir branché le connecteur TV avant le démarrage de votre PC car
  le BIOS vidéo s'initialise uniquement à ce moment-là.
  </simpara></listitem>
</itemizedlist>
</sect2>


<sect2 id="x11">
<title>X11</title>

<para>
À é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
<option>-fs -zoom</option>. La plupart des cartes possèdent un redimensionnement
matériel, pour elles utilisez la sortie <option>-vo xv</option> ou
<option>-vo xmga</option> pour les Matrox.
</para>

<para>
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 !
</para>

<para>
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 <link linkend="dga-modelines">section
des modelines DGA</link>, et insérez-les dans votre <filename>XF86Config</filename>.

<itemizedlist spacing="compact">
<listitem><simpara>
  Si vous avez XFree86 4.x.x: utilisez l'option <option>-vm</option>. Elle changera de
  résolution pour s'adapter à celle de votre film. Si non:
  </simpara></listitem>
<listitem><simpara>
  Avec XFree86 3.x.x: Vous devrez parcourir les résolutions possibles avec les touches
  <keycap>Ctrl</keycap>+<keycap>Alt</keycap>+<keycap>plus</keycap>
  et
  <keycap>Ctrl</keycap>+<keycap>Alt</keycap>+<keycap>moins</keycap>.
  </simpara></listitem>
</itemizedlist>
</para>

<para>
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.
</para>
</sect2>


<sect2 id="vidix">
<title>VIDIX</title>

<formalpara>
<title>PRÉAMBULE</title>
<para>
<acronym>VIDIX</acronym> est l'abréviation de <emphasis role="bold">VID</emphasis>eo
<emphasis role="bold">I</emphasis>nterface for *ni<emphasis role="bold">X</emphasis>.
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.
</para>
</formalpara>
<para>
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.
</para>

<itemizedlist spacing="compact">
<title>UTILISATION</title>
<listitem><simpara>
  Vous pouvez utiliser le pilote de sortie vidéo autonome: <option>-vo xvidix</option>.
  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ée 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.
  </simpara></listitem>
<listitem><simpara>
  Il existe un pilote console VIDIX: <option>-vo cvidix</option>.
  Celui-ci requiert un framebuffer fonctionnel et initialisé pour la plupart
  des cartes (ou sinon vous brouillerez simplement l'écran), et vous aurez un
  effet similaire à <option>-vo mga</option> ou <option>-vo fbdev</option>.
  Les cartes nVidia par contre sont capables d'afficher de la vidéo graphique
  dans une console texte. Voir la section
  <link linkend="vidix-nvidia">nvidia_vid</link> pour plus d'informations.
  </simpara></listitem>
<listitem><simpara>
  Vous pouvez utiliser le sous-périphérique VIDIX qui à été appliqué à de nombreux
  pilotes de sortie vidéo, tels que: <option>-vo vesa:vidix</option>
  (<emphasis role="bold">Linux uniquement</emphasis>) et <option>-vo fbdev:vidix</option>.
  </simpara></listitem>
</itemizedlist>

<para>
De plus le pilote de sortie vidéo utilisé avec <emphasis role="bold">VIDIX</emphasis>
n'a pas d'importance.
</para>

<itemizedlist spacing="compact">
<title>BESOINS</title>
<listitem><simpara>
  La carte graphique devrait être en mode graphique (excepté les cartes nVidia
  avec le pilote <option>-vo cvidix</option>).
  </simpara></listitem>
<listitem><simpara>
  Le pilote de sortie vidéo de <application>MPlayer</application> devrait
  connaître les modes vidéos actifs et être capable de donner au sous-périphérique
  VIDIX quelques caractéristiques du serveur.
  </simpara></listitem>
</itemizedlist>

<formalpara>
<title>MÉTHODES D'UTILISATION</title>
<para>
Quand VIDIX est utilisé en temps que <emphasis role="bold">sous-périphérique</emphasis>
(<option>-vo vesa:vidix</option>), alors la configuration du mode vidéo est faite par
le périphérique de sortie vidéo (<emphasis role="bold">vo_server</emphasis> 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 <option>-double</option> comme un paramètre
global (je recommande l'utilisation de cette option au moins pour les cartes ATI).
Comme pour <option>-vo xvidix</option>, il reconnaît actuellement les options
suivantes:
<option>-fs -zoom -x -y -double</option>.
</para>
</formalpara>
<para>
Vous pouvez aussi spécifier le pilote VIDIX directement en troisième sous-argument
en ligne de commande:


<screen>mplayer -vo xvidix:mga_vid.so -fs -zoom -double <replaceable>fichier.avi</replaceable></screen>
ou
<screen>mplayer -vo vesa:vidix:radeon_vid.so -fs -zoom -double -bpp 32 <replaceable>fichier.avi</replaceable></screen>


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
<emphasis role="bold">bloquer</emphasis> votre ordinateur).
Vous ne devriez le faire UNIQUEMENT si vous êtes absolument sûr que
cela va fonctionner, et <application>MPlayer</application> 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.
</para>

<para>
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 <application>MPlayer</application>
(<emphasis role="bold">Attention: c'est une faille de sécurité !</emphasis>). Sinon,
vous pouvez utiliser un module noyau spécial, comme ceci:
</para>

<procedure>
<step><para>
  Téléchargez la <ulink url="http://www.arava.co.il/matan/svgalib/">version de développement</ulink>
  de svgalib (par exemple 1.9.17), <emphasis role="bold">OU</emphasis>
  téléchargez une version faite par Alex spécialement pour utilisation avec
  <application>MPlayer</application> (elle ne nécessite pas les sources de svgalib pour
  compiler)
  <ulink url="http://www.mplayerhq.hu/MPlayer/contrib/svgalib/svgalib_helper-1.9.17-mplayer.tar.bz2">ici</ulink>.
  </para></step>
<step><para>
  Compilez le module dans le répertoire <filename class="directory">svgalib_helper</filename>
  (il peut être trouvé à l'intérieur du répertoire
  <filename class="directory">svgalib-1.9.17/kernel/</filename> si vous avez téléchargé
  les sources depuis le site de svgalib) et faire un insmod.
  </para></step>
<step><para>
  Pour créer les périphériques nécessaires dans le répertoire
  <filename class="directory">/dev</filename>, faites un <screen>make device</screen>
  dans le répertoire <filename class="directory">svgalib_helper</filename>, en root.
  </para></step>
<step><para>
  Déplacez le répertoire <filename class="directory">svgalib_helper</filename> dans
  <filename class="directory">mplayer/main/libdha/svgalib_helper</filename>.
  </para></step>
<step><para>
  Requis si vous avez téléchargé les sources depuis le site de svgalib: Retirez les
  commentaires avant la ligne CFLAGS contenant la chaine &quot;svgalib_helper&quot; du
  <filename class="directory">libdha/Makefile</filename>.
  </para></step>
<step><para>
  Recompilez et installez libdha.
  </para></step>
</procedure>

<sect3 id="vidix-ati">
<title>Cartes ATI</title>
<para>
Actuellement la plupart des cartes ATI sont supportés nativement, de la Mach64
jusqu'aux nouvelles Radeons.
</para>

<para>
Il y a deux binaires compilés: <filename>radeon_vid</filename> pour les cartes Radeon et
<filename>rage128_vid</filename> pour les Rage 128. Vous pouvez en forcer
un ou laisser le système VIDIX le détecter parmis les pilotes disponibles.
</para>
</sect3>

<sect3 id="vidix-mga">
<title>Cartes Matrox</title>
<para>
Les Matrox G200, G400, G450 et G550 doivent normalement fonctionner.
</para>

<para>
Le pilote supporte les égaliseurs vidéo et devrait être presque aussi rapide que le
<link linkend="mga_vid">framebuffer Matrox</link>
</para>
</sect3>

<sect3 id="vidix-trident">
<title>Cartes Trident</title>
<para>
Il y a un pilote disponible pour les chipsets Trident Cyberblade/i1, qui peuvent être
trouvés sur les cartes-mère VIA Epia.
</para>

<para>
Le pilote a été écrit et est maintenu par
<ulink url="http://www.blackfiveservices.co.uk/EPIAVidix.shtml">Alastair M. Robinson</ulink>.
</para>
</sect3>

<sect3 id="vidix-3dlabs">
<title>Cartes 3DLabs</title>
<para>
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.
</para>
</sect3>

<sect3 id="vidix-nvidia">
<title>Cartes nVidia</title>

<para>
  Une fonction unique du pilote nvidia_vid est la capacité d'afficher de la
  vidéo dans un <emphasis role="bold">console uniquemnent textuelle</emphasis>
  - avec aucun framebuffer ou X. Pour ce faire, nous aurons besoin d'utiliser
  la sortie <option>cvidix</option>, comme le montre l'exemple suivant:
  <screen>
    mplayer -vo cvidix <replaceable>exemple.avi</replaceable>
  </screen>
</para>

</sect3>

<sect3 id="vidix-sis">
<title>Cartes SiS</title>
<para>
C'est du code très expérimental, comme nvidia_vid.
</para>

<para>
Testé sur SiS 650/651/740 (les chipsets les plus couramment utilisés dans les
versions SiS des barebones "Shuttle XPC")
</para>

<para>
Rapports attendus !
</para>
</sect3>
</sect2>

<sect2 id="directfb">
<title>DirectFB</title>
<blockquote><para>
"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." - citation de <ulink url="http://www.directfb.org"/>
</para></blockquote>

<para>J'exclurai les fonctionnalités de DirectFB dans cette section.</para>

<para>
Bien que <application>MPlayer</application> 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.
</para>

<para>
Essayez toujours d'utiliser la dernière version de DirectFB. Vous pouvez utiliser les
options DirectFB en ligne de commande, en utilisant l'option <option>-dfbopts</option>.
La sélection de couche peut être faite par la méthode sous-périphérique, par
ex. : <option>-vo directfb:2</option>
(couche -1 par défaut: autodétection)
</para>
</sect2>

<sect2 id="dfbmga">
<title>DirectFB/Matrox (dfbmga)</title>
<para>
Veuillez lire la section <link linkend="directfb">DirectFB principale</link> pour
avoir les informations générales.
</para>

<para>
Ce pilote de sortie vidéo activera CRTC2 (sur la seconde tête) sur les cartes Matrox
G400/G450/G550, affichant la vidéo <emphasis role="bold">indépendemment</emphasis>
de la première tête.
</para>

<para>
Ville Syrjala a un fichier
<ulink url="http://www.sci.fi/~syrjala/directfb/Matrox_TV-out_README.txt">README</ulink>
et un
<ulink url="http://www.sci.fi/~syrjala/directfb/matrox-tv-out-howto">HOWTO</ulink>
sur sa page web qui explique comment faire fonctionner la sortie TV DirectFB
avec les cartes Matrox.
</para>

<note><para>
La première version de DirectFB que nous avons pu faire fonctionner était la
0.9.17. (elle est boguée, nécessite le patch <systemitem>surfacemanager</systemitem>
disponible sur l'URL ci-dessus). Le portage du code CRTC2 dans
<emphasis role="bold">mga_vid</emphasis> est prévu depuis des années, les
 <ulink url="../../tech/patches.txt">patches</ulink> sont les bienvenus.
</para></note>
</sect2>
</sect1>

<sect1 id="mpeg_decoders">
<title>Décodeurs MPEG</title>

<sect2 id="dvb">
<title>sorties et entrées DVB</title>
<para>
<application>MPlayer</application> 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 site <ulink url="http://www.linuxtv.org">Linux TV</ulink>.
Si vous voulez faire du transcodage logiciel vous aurez besoin d'un CPU d'au
moins 1Ghz.
</para>

<para>
Configure devrait détecter votre carte DVB. Si ce n'est pas le cas, forcez la détection
avec
</para>

<para><screen>./configure --enable-dvb</screen></para>

<para>
Si vous avez des entêtes ost dans un chemin non-standard, corrigez
ce chemin avec
</para>

<para><screen>./configure --with-extraincdir=<replaceable>répertoire source DVB</replaceable>/ost/include
</screen></para>

<para>Ensuite compilez et installez comme d'habitude.</para>

<formalpara>
<title>UTILISATION</title>
<para>
Le décodage matériel (lecture de fichiers MPEG-1/2 standards) peut être
fait avec cette commande:
</para>
</formalpara>

<para>
<screen>mplayer -ao mpegpes -vo mpegpes <replaceable>fichier.mpg|vob</replaceable></screen>
</para>

<para>
Le décodage logiciel ou le transcodage de différents formats en MPEG-1 peut
être obtenu en utilisant une commande comme celle-ci:
</para>
<para><screen>
mplayer -ao mpegpes -vo mpegpes <replaceable>votrefichier.ext</replaceable>
mplayer -ao mpegpes -vo mpegpes -vf expand <replaceable>votrefichier.ext</replaceable>
</screen></para>

<para>
Notez que les cartes DVB ne supportent que les tailles 288 par 576 pour le PAL ou 240
par 480 pour le NTSC. Vous <emphasis role="bold">devez</emphasis> redimensionner vers
d'autres tailles en ajoutant <option>scale=largeur:hauteur</option> avec la largeur et la
hauteur que vous voulez à l'option <option>-vf</option>. 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:
</para>

<para><screen>mplayer -ao mpegpes -vo mpegpes -vf scale=512:576</screen></para>

<para>
Si vous avez un film plein-écran et que vous ne voulez pas l'afficher à sa taille
complète, vous pouvez utiliser le filtre <option>expand=l:h</option> pour ajouter des
bandes noires. Pour voir un MPEG-4 (DivX) en 640x384, essayez:
</para>

<para>
<screen>mplayer -ao mpegpes -vo mpegpes -vf expand=640:576 <replaceable>fichier.avi</replaceable></screen>
</para>

<para>Si votre CPU est trop lent pour un MPEG-4 (DivX) en taille complète 720x576, essayez de
diminuer la taille:</para>

<para>
<screen>mplayer -ao mpegpes -vo mpegpes -vf scale=352:576 <replaceable>fichier.avi</replaceable></screen>
</para>

<para>Si la vitesse ne s'améliore pas, essayez également la diminution verticale:</para>

<para>
<screen>mplayer -ao mpegpes -vo mpegpes -vf scale=352:288 <replaceable>fichier.avi</replaceable></screen>
</para>

<para>
Pour l'OSD et les sous-titres utilisez la fonction expand du plugin OSD. Donc, au lieu
de <option>expand=l:h</option> ou <option>expand=l:h:x:y</option>, utilisez
<option>expand=l:h:x:y:1</option> (le 5ème paramètre <option>:1</option> à 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 <option>-subpos &lt;0-100&gt;</option>
pour l'ajuster (<option>-subpos 80</option> est un bon choix).
</para>

<para>
Pour pouvoir lire des films non-25fps sur une TV PAL ou avec un CPU lent, ajoutez
l'option <option>-framedrop</option>.
</para>

<para>
Pour garder les dimensions des fichiers MPEG-4 (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 filtre dvbscale:
</para>

<para><screen>
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
</screen></para>

<formalpara>
<title>TV numérique (module d'entrée DVB)</title>
<para>Vous pouvez utiliser votre carte DVB pour regarder la TV numérique.</para>
</formalpara>

<para>
  Vous devriez également avoir les programmes <command>scan</command> et
  <command>szap/tzap/czap/azap</command> installés; ils sont inclus dans le paquet
  de pilotes.
</para>

<para>
  Vérifiez que vos pilotes fonctionnent correctement avec un programme tel que
  <ulink url="http://sf.net/projects/dvbtools/"><command>dvbstream</command></ulink>
  (c'est la base du module d'entrée DVB).
</para>

<para>
  Maintenant vous devriez compiler un fichier
  <filename>~/.mplayer/channels.conf</filename>, avec la syntaxe acceptée par
  <command>szap/tzap/czap/azap</command>, ou le faire compiler par
  <command>scan</command>.
</para>

<para>
  Si vous avez plus d'un type de carte (c-a-d. Satellite, Terrestre, Cable et ATSC)
  vous pouvez sauvegarder vos fichiers de canaux en tant que
  <filename>~/.mplayer/channels.conf.sat</filename>,
  <filename>~/.mplayer/channels.conf.ter</filename>,
  <filename>~/.mplayer/channels.conf.cbl</filename>,
  et <filename>~/.mplayer/channels.conf.atsc</filename>,
  respectivement, pour qu'implicitement <application>MPlayer</application>
  les utilise à la place de <filename>~/.mplayer/channels.conf</filename>,
  et vous n'avez qu'à spécifier la carte à utiliser.
</para>

<para>
  Assurez-vous de n'avoir <emphasis>que</emphasis> des canaux réellement
  disponibles, ou <application>MPlayer</application> essaira de passer au prochain
  visible, mais cela peut être long si il y a plusieurs canaux cryptés consécutifs.
</para>

<para>
  Dans vos champs audio et vidéo vous pouvez utiliser la syntaxe suivante:
  <option>...:pid[+pid]:...</option> (avec un maximum de 6 pids pour chaque);
  dans ce cas <application>MPlayer</application> inclura dans le flux les pids
  indiqués, plus le pid 0 (qui contient le PAT).
  Vous êtes encouragé à inclure dans chaque ligne le pid PMT du canal correspondant
  (si vous le connaissez).
  Autres utilisations possibles: pid televideo, seconde piste audio, etc.
</para>

<para>
  Si <application>MPlayer</application> se plain souvent avec le message suivant:
  <screen>Too many video/audio packets in the buffer</screen> ou si vous remarquez
  une désynchronisation grandissante entre le son et la vidéo, essayez d'utiliser
  le démultiplexeur MPEG-TS de libavformat en ajoutant à votre ligne de commande:
  <option>-demuxer lavf -lavfdopts probesize=128</option> .
</para>


<para>
  Pour afficher le premier des canaux présents dans votre liste, tapez
</para>

<screen>
  mplayer dvb://
</screen>

<para>
  Si vous voulez regarder un canal spécifique, tel que R1, tapez
</para>

<screen>
  mplayer dvb://R1
</screen>

<para>
  Si vous avez plus d'une carte vous pouvez aussi spécifier le numéro de la carte
  où le canal est visible (par ex. 2) avec la syntaxe:
</para>

<screen>
  mplayer dvb://2@R1
</screen>

<para>
  Pour changer de canal tapez sur les touches <keycap>h</keycap> (suivant) et
  <keycap>k</keycap> (précédent), ou utilisez le
  <link linkend="subosd">menu OSD</link>.
</para>

<para>
  Si votre <filename>~/.mplayer/menu.conf</filename> contient une entrée
  <literal>&lt;dvbsel&gt;</literal>, comme celle du fichier d'exemple
  <filename>etc/dvb-menu.conf</filename> (que vous pouvez utiliser pour
  outrepasser <filename>~/.mplayer/menu.conf</filename>), le menu principal
  affichera un sous-menu qui vous permettra de choisir les canaux présents dans
  votre <filename>channels.conf</filename>, peut-être précédé d'un menu des cartes
  disponibles si il y en a plus d'une utilisable par <application>MPlayer</application>.
</para>

<para>
  Si vous voulez sauvegarder un programme sur le disque vous pouvez utiliser
</para>

<screen>
  mplayer -dumpfile r1.ts -dumpstream dvb://R1
</screen>

<para>
  Si vous voulez l'enregistrer dans un format différent (le ré-enregistrer)
  vous pouvez lancer une commande comme
</para>

<screen>
  mencoder -o r1.avi -ovc xvid -xvidencopts bitrate=800 -oac mp3lame -lameopts cbr:br=128 -pp=ci dvb://R1
</screen>

<para>
  Lisez la page de man pour avoir une liste des options que vous pouvez passer
  au module d'entrée DVB.
</para>

<formalpara>
<title>FUTUR</title>
<para>
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
<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-dvb">MPlayer-DVB</ulink>.
SVP, rappelez-vous que la langue de la liste est l'anglais.
</para>
</formalpara>

<para>
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 MPEG-2 et MPEG-4 (décompression
partielle).
</para>
</sect2>

<sect2 id="dxr2">
<title>DXR2</title>
<para>MPlayer supporte l'affichage accéléré avec la carte Creative DXR2.</para>
<para>
Tout d'abord vous devrez avoir les pilotes correctement installés. Vous pouvez trouver
les pilotes et les instructions d'installation sur le site
<ulink url="http://dxr2.sf.net/">DXR2 Resource Center</ulink>.
</para>

<variablelist>
<title>UTILISATION</title>
<varlistentry>
<term><option>-vo dxr2</option></term>
<listitem><para>Active la sortie TV</para></listitem>
</varlistentry>

<varlistentry>
<term><option>-vo dxr2:x11</option> ou <option>-vo dxr2:xv</option></term>
<listitem><para>Active la sortie Overlay sous X11</para></listitem>
</varlistentry>

<varlistentry>
<term><option>-dxr2 &lt;option1:option2:...&gt;</option></term>
<listitem><para>Cette option est utilisée pour contrôler le pilote DXR2.</para></listitem>
</varlistentry>
</variablelist>

<para>
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.
</para>

<para>Veuillez lire la page de man pour les options disponibles.</para>
</sect2>

<sect2 id="dxr3">
<title>DXR3/Hollywood+</title>
<para>
<application>MPlayer</application> 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.
</para>

<para>
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
<ulink url="http://dxr3.sf.net/">DXR3 &amp; Hollywood Plus for Linux</ulink>.
<filename>configure</filename> devrait détecter votre carte automatiquement, la compilation devrait se
faire sans problèmes.
</para>

<!-- FIXME: find a more clear presentation -->
<variablelist>
<title>UTILISATION</title>
<varlistentry>
<term><option>-vo dxr3:prebuf:sync:norm=x:<replaceable>périph.</replaceable></option></term>
<listitem><para>
<option>overlay</option> 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 <application>MPlayer</application> 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 <application>MPlayer</application> dans le futur. Quand l'overlay est correctement configuré, vous
n'avez plus besoin d'utiliser dxr3view.

<option>prebuf</option> 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 <application>MPlayer</application> essaiera de garder le buffer vidéo rempli de données
à tout moment. Si vous êtes sur une machine lente <application>MPlayer</application> 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 <application>MPlayer</application> n'aura pas besoin de le
ré-encoder en MPEG, il remplira le buffer très rapidement.

Avec le prebuffering la lecture est <emphasis role="bold">beaucoup</emphasis> 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.

En l'utilisant sans doublebuffering, l'em8300 est bien plus sensible à la charge CPU,
il est donc hautement recommandé d'activer l'option <option>-framedrop</option> pour
éviter les éventuelles pertes de synchro.

<option>sync</option> 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 <application>MPlayer</application> elle
sera réajustée, obligeant l'em8300 à sauter les éventuelles trames en retard.

<option>norm=x</option> 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.

<option><replaceable>périph.</replaceable></option> = numéro de périphérique à utiliser
si vous avez plus d'une carte em8300.

Chacune de ces options peut être laissé de côté.

<option>:prebuf:sync</option> semble fonctionner à merveille en lisant des DivX.
Des gens ont signalé des problèmes en utilisant l'option prebuf 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 <option>:sync</option>.
</para></listitem>
</varlistentry>

<varlistentry>
<term><option>-ao oss:/dev/em8300_ma-<replaceable>X</replaceable></option></term>
<listitem><para>
Pour la sortie audio, où <replaceable>X</replaceable> est le numéro de périphérique
(0 si une carte).
</para></listitem>
</varlistentry>

<varlistentry>
<term><option>-af resample=<replaceable>xxxxx</replaceable></option></term>
<listitem><para>
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
(<option>-ac hwac3</option>).
</para></listitem>
</varlistentry>

<varlistentry>
<term><option>-vf lavc/fame</option></term>
<listitem><para>
Pour voir du contenu non-MPEG sur l'em8300 (c-a-d. MPEG-4 (DivX) ou RealVideo),
vous devrez spécifier un filtre vidéo MPEG-1 tel que <systemitem class="library">libavcodec</systemitem>
(lavc) ou <systemitem class="library">libfame</systemitem> (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 <option>-vf lavc/fame</option>. 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é à 30000/1001 fps. À cause de cela il est hautement
recommandé d'utiliser <option>-vf lavc=<replaceable>qualité</replaceable>:25</option>,
surtout si vous utilisez le prebuffering. Alors pourquoi 25 et pas 30000/1001? Hé bien, le
truc est que si vous utilisez 30000/1001, 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.
</para></listitem>
</varlistentry>

<varlistentry>
<term><option>-vf expand=-1:-1:-1:-1:1</option></term>
<listitem><para>
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 soufre 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).
</para></listitem>
</varlistentry>

<varlistentry>
<term><option>-ac hwac3</option></term>
<listitem><para>
L'em8300 supporte la lecture audio AC3 (son surround) au travers de la sortie audio
numérique de la carte. Voir l'option <option>-ao oss</option> plus haut, elle doit
être utilisé pour spécifier la sortie DXR3 au lieu d'une carte son.
</para></listitem>
</varlistentry>
</variablelist>
</sect2>

</sect1>

<sect1 id="other">
<title>Autres matériels de visualisation</title>

<sect2 id="zr">
<title>Zr</title>

<para>
C'est un pilote d'affichage (<option>-vo zr</option>) pour certaines cartes de
capture/lecture (testé pour DC10+ et Buz, et cela devrait fonctionner pour la LML33 et
la DC10). Ce pilote fonctionne en encodant la trame en JPEG et en l'envoyant
à la carte. Pour l'encodage JPEG <systemitem class="library">libavcodec</systemitem> est utilisé, et
requis. Avec le mode spécial <emphasis>cinerama</emphasis>, 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 <option>-framedrop</option> si votre machine
est trop lente. Note: Mon AMD K6-2 350Mhz est (avec <option>-framedrop</option>)
très adapté pour voir des vidéos de taille VCD et les films dont la taille est
réduite.
</para>

<para>
Ce pilote parle au module noyau disponible sur
<ulink url="http://mjpeg.sf.net"/>, donc vous devez d'abord faire fonctionner
ce dernier. la présence d'une carte MJPEG est autodétectée par le script
<filename>configure</filename>, si l'autodétection échoue, forcez la détection avec
<screen>./configure --enable-zr</screen>
</para>
<para>
La sortie peut être contrôlée 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
<screen>mplayer -zrhelp</screen>
</para>

<para>
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 512x272 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 768, 384 ou 192. Pour des raisons de performances et de qualité,
vous pouvez choisir de redimmensionner le film en 384x204 en utilisant le zoom
logiciel bilinéaire rapide.
La ligne de commande est
<screen>mplayer -vo zr -sws 0 -vf scale=384:204 <replaceable>film.avi</replaceable></screen>
</para>

<para>
Le découpage peut être fait avec le filtre <option>crop</option> et par ce
pilote lui-même. Supposons qu'un film soit trop large pour s'afficher sur votre Buz et
que vous vouliez utiliser <option>-zrcrop</option> pour rendre le film moins large,
alors vous taperez la commande suivante
<screen>mplayer -vo zr -zrcrop 720x320+80+0 <replaceable>benhur.avi</replaceable></screen>
</para>

<para>
Si vous voulez utiliser le filtre <option>crop</option>, vous feriez
<screen>mplayer -vo zr -vf crop=720:320:80:0 <replaceable>benhur.avi</replaceable></screen>
</para>

<para>
Des occurrences supplémentaires de <option>-zrcrop</option> invoquent le mode
<emphasis>cinerama</emphasis>, c-a-d. que vous pouvez distribuer l'affichage sur
plusieurs TV ou moniteurs pour créer un écran plus large. Supposons que vous ayez deux
moniteurs. Celui de gauche est connecté à votre Buz sur <filename>/dev/video1</filename>
et celui de droite est connecté à votre DC10+ sur <filename>/dev/video0</filename>.
Le film a une résolution de 704x288. 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é
10, alors vous taperez la commande suivante
<screen>
mplayer -vo zr -zrdev /dev/video0 -zrcrop 352x288+352+0 -zrxdoff 0 -zrbw \
	-zrcrop 352x288+0+0 -zrdev /dev/video1 -zrquality 10 <replaceable>film.avi</replaceable>
</screen>
</para>

<para>
Vous voyez que les options apparaissant avant le second <option>-zrcrop</option> ne
s'appliquent qu'a la DC10+ et que les options après le second <option>-zrcrop</option>
s'appliquent à la Buz. Le nombre maximum de cartes MJPEG participant au
<emphasis>cinerama</emphasis> est quatre, vous pouvez donc construire un mur
vidéo de 2x2.
</para>

<para>
Pour finir une remarque importante: Ne lancez ou n'arrêtez pas <application>XawTV</application> sur le
périphérique en cours de lecture, cela planterait votre ordinateur. Il est, cependant,
sans risque de lancer <emphasis role="bold">D'ABORD</emphasis> <application>XawTV</application>,
<emphasis role="bold">ENSUITE</emphasis> de lancer <application>MPlayer</application>, d'attendre que <application>MPlayer</application> se
termine et <emphasis role="bold">ENSUITE</emphasis> de stopper <application>XawTV</application>.
</para>
</sect2>

<sect2 id="blinkenlights">
<title>Blinkenlights</title>
<para>
Ce pilote est capable de lire en utilisant le protocole UPD Blinkenlights. Si vous ne
savez pas ce qu'est <ulink url="http://www.blinkenlights.de/">Blinkenlights</ulink>,
vous n'avez pas besoin de ce pilote.

</para>
</sect2>
</sect1>

<sect1 id="tvout">
<title>Sortie TV</title>

<sect2 id="tvout-mga-g400">
<title>Cartes Matrox G400</title>

<para>
Sous Linux vous avez 2 méthodes pour faire fonctionner la sortie TV:
</para>

<important>
<para>
pour les instructions sur la sortie TV des Matrox G450/G550, voir la prochaine section
SVP !
</para>
</important>

<variablelist>
<varlistentry>
  <term>XFree86</term>
  <listitem><para>
    en utilisant le pilote et le module HAL, disponible sur le
    <ulink url="http://www.matrox.com">site de Matrox</ulink>. Cela vous donnera X sur
    la TV.
    </para><para>
    <emphasis role="bold">Cette méthode ne vous donne pas la lecture accélérée</emphasis>
    comme sous Windows ! La seconde tête n'a qu'un framebuffer YUV, le
    <emphasis>BES</emphasis> (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
    <option>-vo x11 -fs -zoom</option>, mais ce sera <emphasis role="bold">LENT</emphasis>,
    et aura la protection anticopie <emphasis role="bold">Macrovision</emphasis> activée
    (vous pouvez &quot;contourner&quot; Macrovision en utilisant ce
    <ulink url="http://avifile.sf.net/mgamacro.pl">script perl</ulink>).
    </para></listitem>
</varlistentry>
<varlistentry>
  <term>Framebuffer</term>
  <listitem><para>
    En utilisant les <emphasis role="bold">modules matroxfb</emphasis> dans les noyaux
    2.4. Les noyaux 2.2 n'ont pas de fonction TVout incluse, et sont donc inutilisables pour cela.
    Vous devez activer TOUTES les fonctions spécifiques à matroxfb durant
    la compilation (excepté MultiHead), et les compiler en
    <emphasis role="bold">modules</emphasis> !
    Vous aurez également besoin que I2C soit activé.
    </para>

    <procedure>
    <step><para>
      Entrez dans <filename class="directory">TVout</filename> et tapez
      <command>./compile.sh</command>. Installez
      <filename class="directory">TVout/matroxset/matroxset</filename>
      quelque part dans votre <envar>PATH</envar>.
      </para></step>
    <step><para>
      Si <command>fbset</command> n'est pas installé, mettez
      <filename class="directory">TVout/fbset/fbset</filename>
      quelque part dans votre <envar>PATH</envar>.
      </para></step>
    <step><para>
      Si <command>con2fb</command> n'est pas installé, mettez
      <filename class="directory">TVout/con2fb/con2fb</filename>
      quelque part dans votre <envar>PATH</envar>.
      </para></step>
    <step><para>
      Ensuite entrez dans le répertoire <filename class="directory">TVout/</filename>
      du source <application>MPlayer</application> et exécutez <filename>./modules</filename>
      en root. Votre console en mode texte va entrer en mode framebuffer (sans retour
      possible !).
      </para></step>
    <step><para>
      Ensuite, ÉDITEZ et lancez le script <filename>./matroxtv</filename>.
      Il va vous présenter un menu très simple.
      Pressez <keycap>2</keycap> et <keycap>Entrée</keycap>.
      Maintenant vous devriez avoir la même image sur votre moniteur, et sur la TV.
      Si l'image TV (PAL par défaut) a 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.
      </para></step>
    <step><para>
      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:

      <screen>
echo -e '\033[?25l'
setterm -blank 0<!--
   --></screen>
      ou
      <screen>
setterm -cursor off
setterm -blank 0<!--
   --></screen>

      Vous pouvez mettre ceci dans un script, et également effacer l'écran. Pour réactiver
      le curseur:
      <screen>echo -e '\033[?25h'</screen> ou
      <screen>setterm -cursor on</screen>
      </para></step>
    <step><para>
      Yeah kewl. Démarrez le film avec
      <screen>
mplayer -vo mga -fs -screenw 640 -screenh 512 <replaceable>nomfichier</replaceable><!--
   --></screen>

       (si vous utilisez X, maintenant changez pour matroxfb avec par exemple
      <keycap>Ctrl</keycap>+<keycap>Alt</keycap>+<keycap>F1</keycap>.)
      Changez <literal>640</literal> et <literal>512</literal> si vous voulez
      spécifier une résolution différente...
      </para></step>
    <step><para>
      <emphasis role="bold">Appréciez la sortie TV Matrox ultra-rapide
      ultra-fonctionnelle (meilleure que Xv) !</emphasis>
      </para></step>
    </procedure>
  </listitem>
</varlistentry>
</variablelist>

<formalpara>
<title>Construire un câble de sortie TV Matrox</title>
<para>
Personne ne prends de responsabilités, ni n'offre de garanties quant aux éventuels
dommages causés par cette documentation.
</para>
</formalpara>

<formalpara>
<title>Cable pour G400</title>
<para>
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).
</para>
</formalpara>

<formalpara>
<title>Cable pour G450</title>
<para>
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).
</para>
</formalpara>
</sect2>

<sect2 id="tv-out_matrox_g450">
<title>Cartes Matrox G450/G550</title>
<para>
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 <emphasis role="bold">mga_vid</emphasis>
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 <emphasis role="bold">BES</emphasis>,
veuillez voir la section G400 plus haut) sur la TV. Vous ne pouvez donc utiliser que le
pilote de sortie <emphasis>fbdev</emphasis> de <application>MPlayer</application> pour
le moment.
</para>

<para>
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.
</para>

<para>
Le patch noyau nécessaire et le HOWTO détaillé sont téléchargeables sur
<ulink url="http://www.bglug.ca/matrox_tvout/"/>
</para>
</sect2>


<sect2 id="tvout-ati">
<title>Cartes ATI</title>

<formalpara>
<title>PRÉAMBULE</title>
<para>
Actuellement ATI ne veut supporter aucun de ces chips TV-out sous Linux, à cause de
leur technologie Macrovision sous licence.
</para>
</formalpara>

<itemizedlist>
<title>ÉTAT DE LA SORTIE TV ATI SUR LINUX</title>
<listitem><simpara>
  <emphasis role="bold">ATI Mach64</emphasis>:
  supporté par <ulink url="http://gatos.sf.net">GATOS</ulink>.
  </simpara></listitem>
<listitem><simpara>
  <emphasis role="bold">ASIC Radeon VIVO</emphasis>:
  supporté par <ulink url="http://gatos.sf.net">GATOS</ulink>.
  </simpara></listitem>
<listitem><simpara>
  <emphasis role="bold">Radeon</emphasis> et <emphasis role="bold">Rage128</emphasis>:
  supporté par <application>MPlayer</application> !
  Vérifiez les sections <link linkend="vesa">pilote VESA</link> et
  <link linkend="vidix">VIDIX</link>.
  </simpara></listitem>
<listitem><simpara>
  <emphasis role="bold">Rage Mobility P/M, Radeon, Rage 128, Mobility M3/M4</emphasis>:
  supporté par <ulink url="http://www.stud.uni-hamburg.de/users/lennart/projects/atitvout/">atitvout</ulink>.
  </simpara></listitem>
</itemizedlist>

<para>
Sur les autres cartes, utilisez juste le pilote <link linkend="vesa">VESA</link>,
sans VIDIX. Un CPU puissant est cependant requis.
</para>

<para>
La seule chose que vous ayez à faire - <emphasis role="bold">avoir le connecteur TV
branché avant de booter votre PC</emphasis> car le BIOS vidéo s'initialise
uniquement durant cette phase.
</para>
</sect2>


<sect2 id="tvout-nvidia">
<title>nVidia</title>
<para>
D'abord, vous DEVEZ télécharger les pilotes closed-source depuis <ulink url="http://nvidia.com"/>.
Je ne décrirai pas le processus d'installation et de configuration car il sort du cadre
de cette documentation.
</para>

<para>
Après que l'accélération XFree86, XVideo, et 3D fonctionnent correctement, éditez la
section Device de votre carte dans le fichier <filename>XF86Config</filename>, selon
l'exemple suivant (adaptez à votre carte/TV):

<programlisting>
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
</programlisting>
</para>

<para>
Bien sûr l'élément le plus important est la partie TwinView.
</para>
</sect2>

<sect2 id="tvout-neomagic">
<title>Neomagic</title>
<para>
Le chip NeoMagic peut être trouvé sur de nombreux portables, certains équipés
d'un encodeur TV analogique simple, certains en ont un plus avancé.
<itemizedlist>
<listitem><para>
  <emphasis role="bold">Analog encoder chip</emphasis>:
  Il a été reporté qu'une sortie TV fiable pouvait être obtenue en utilisant
  <option>-vo fbdev</option> ou <option>-vo fbdev2</option>.
  Vous avez besoin d'avoir vesafb compilé dans votre noyau et de passer les
  paramètres suivants sur la ligne de commande du noyau:
  <option>append="video=vesafb:ywrap,mtrr" vga=791</option>.
  Vous devriez lancer <application>X</application>, puis passer en mode
  console avec e.g. <keycap>CTRL</keycap>+<keycap>ALT</keycap>+<keycap>F1</keycap>.
  Si vous échouez en lancant <application>X</application> depuis la console, la vidéo
  devient lente et saccadé (toute explication de ce phénomène est bienvenue).
  Identifiez-vous dans votre console, puis initiez la commande suivante:
  <screen>clear; mplayer -vo fbdev -zoom -cache 8192 dvd://</screen>
  Maintenant vous devriez voir le film lancé en mode console remplir
  à peu près la moitié de votre écran LCD de portable.
  Pour switcher vers la TV tapez <keycap>Fn</keycap>+<keycap>F5</keycap> trois fois.
  Testé sur un Tecra 8000, noyau 2.6.15 avec vesafb, ALSA v1.0.10.
</para></listitem>
<listitem><simpara>
  <emphasis role="bold">chip Chrontel 70xx encoder</emphasis>:
  Présent dans l'IBM Thinkpad 390E et probablement dans d'autres Thinkpads ou portables.
  </simpara><simpara>
  Vous devez utiliser <option>-vo vesa:neotv_pal</option> pour PAL ou
  <option>-vo vesa:neotv_ntsc</option> pour NTSC.
  Cela fournira la sortie TV dans les modes 16 bpp et 8 bpp suivants:
  </simpara>
  <itemizedlist>
    <listitem><simpara>NTSC 320x240, 640x480 et peut être aussi 800x600.</simpara></listitem>
    <listitem><simpara>PAL  320x240, 400x300, 640x480, 800x600.</simpara></listitem>
  </itemizedlist>
  <simpara>le mode 512x384 n'est pas supporté par le BIOS. Vous devez redimmensionner
  l'image à une résolution différente pour activer la sortie TV. Si vous voyez
  une image sur l'écran en 640x480 ou en 800x600 mais pas en 320x240 ou autre
  résolution plus faible, vous devez remplacer deux tables dans <filename>vbelib.c</filename>.
  Voir la fonction vbeSetTV pour plus de détails. Veuillez contacter l'auteur dans
  ce cas.
  </simpara>
  <simpara>
  Problèmes connus: VESA uniquement, aucun autre contrôle tel que luminosité,
  contraste, blacklevel, flickfilter n'est implémenté.
  </simpara>
</listitem>
</itemizedlist>
</para>
</sect2>
</sect1>
</chapter>