1624
|
1 <HTML>
|
|
2
|
|
3 <BODY>
|
|
4
|
|
5 <PRE>
|
|
6
|
|
7 <A NAME=2.2.1>2.2.1. Video kimeneti eszközök
|
|
8
|
|
9 Általános:
|
|
10 - x11: X11, opcionálisan az SHM kiterjesztéssel
|
|
11 - xv: X11 az XVideo kiterjesztés overlay-eivel (hardware támogatás)
|
|
12 - gl: OpenGL renderelő, egyelőre csak ezekkel megy:
|
|
13 - bármely kártyával, Utah-GLX-szel
|
|
14 - Matrox kártyák + X/DRI >=4.0.3
|
|
15 - Radeon + X/DRI CVS
|
|
16 - dga: X11 a DGA kiterjesztéssel
|
|
17 - fbdev:Megjelenítés általános framebuffereken
|
|
18 - svga: Megjelenítés SVGAlib-bel
|
|
19 - sdl: 1.1.7 : software scaling
|
|
20 1.1.8 : támogatja a hardware-es gyorsítást XVideo-n keresztül
|
|
21 1.2.0 : aalib támogatás (használd inkább a -vo aa opciót!)
|
|
22 - ggi: SDL-hez hasonló
|
|
23 - aa: szöveges módú megjelenítés AAlib-bel
|
|
24
|
|
25 Kártyaspecifikus:
|
|
26 - mga: Matrox G200/G400 hardware-es YUV overlay az mga_vid-en keresztül
|
|
27 - xmga: Matrox G200/G400 overlay (mga_vid) X11 ablakban
|
|
28 (Xv emuláció 3.3.x-es X-szel!)
|
|
29 - syncfb: Matrox G400 YUV támogatás framebufferen (régi, használj mga/xmga-t)
|
|
30 - 3dfx: Voodoo2/3 hardware YUV (/dev/3dfx) támogatás (nincs tesztelve!)
|
|
31
|
|
32 Egyéb:
|
|
33 - png: output PNG file-okba (-z kapcsoló a tömörítés mértékét állítja)
|
|
34 - pgm: output PGM file-okba (tesztelésre, vagy ffmpeg enkódoláshoz)
|
|
35 - md5: MD5sum támogatás (MPEG konformancia tesztekhez)
|
|
36 - odivx:OpenDivX AVI file output (-br a bitrate-et állítja)
|
|
37 - null: output a nagy semmibe (sebességtesztekhez)
|
|
38
|
|
39
|
|
40 <A NAME=2.2.1.1>2.2.1.1. MTRR
|
|
41
|
|
42 Nagyon ajánlott az MTRR helyes beállítása, mert minden esetben
|
|
43 sebességnövekedést eredményez. Először a báziscímet kell megkeresni.
|
|
44 Erre van 3 módszer :
|
|
45
|
|
46 - az X11 induló üzeneteiből, például :
|
|
47
|
|
48 (--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000
|
|
49 (--) SVGA: Linear framebuffer at 0xD8000000
|
|
50
|
|
51 - a /proc/pci-ből (használd az lspci -v parancsot):
|
|
52
|
|
53 01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525
|
|
54 Memory at d8000000 (32-bit, prefetchable)
|
|
55
|
|
56 - az mga_vid kernel meghajtó üzeneteiből (dmesg parancs):
|
|
57
|
|
58 mga_mem_base = d8000000
|
|
59
|
|
60 Ezután kell a memória mérete is. Csak át kell konvertálni a video ram
|
|
61 méretét hexadecimálisba, pl így :
|
|
62
|
|
63
|
|
64 1 MB 0x100000
|
|
65 2 MB 0x200000
|
|
66 4 MB 0x400000
|
|
67 8 MB 0x800000
|
|
68 16 MB 0x1000000
|
|
69 32 MB 0x2000000
|
|
70
|
|
71
|
|
72 Már tudjuk a címet és a méretet, már csak a beállítás hiányzik!
|
|
73 Például a fenti Matrox kártyához (base=0xd8000000), 32mega memóriával
|
|
74 (size=0x2000000) ezt kell beírni:
|
|
75
|
|
76
|
|
77 echo "base=0xd8000000 size=0x2000000 type=write-combining" >| /proc/mtrr
|
|
78
|
|
79
|
|
80 Nem minden CPU támogatja az MTRR-eket. Például régebbi K6/2-k (266Mhz
|
|
81 körül, stepping 0) nem, de stepping 12-esek igen (cat /proc/cpuinfo
|
|
82 megadja a stepping értékét).
|
|
83
|
|
84
|
|
85 <A NAME=2.2.1.2>2.2.1.2. Xv
|
|
86
|
|
87 XFree86 4.0.2 vagy újabb alatt használhatod a kártyád hardware-es YUV
|
|
88 rutinjait, az XVideo kiterjesztéssel. Ezt használja a '-vo xv' opció.
|
|
89 Hogy működjön, a következő feltételeknek kell teljesülniük :
|
|
90 - XFree86 4.0.2 vagy újabb kell (előző verziókban nincs XVideo)
|
|
91 - A kártyádnak tudnia kell hardware-es gyorsítást (a mai kártyák tudják)
|
|
92 - Az X-nek be kell töltenie az XVideo kiterjesztést, valahogy így néz ki:
|
|
93
|
|
94
|
|
95 (II) Loading extension XVideo
|
|
96
|
|
97
|
|
98 a /var/log/XFree86.0.log file-ban.
|
|
99
|
|
100
|
|
101 MEGJ : ez csak az XFree86 kiterjesztését tölti be. Egy rendes installban
|
|
102 ez az alap, és nem azt jelenti, hogy a _kártyád_ XVideo támogatása
|
|
103 töltődött be!
|
|
104
|
|
105 - A kártyád Linuxos drivere támogatja-e az Xv-t. Ezt az 'xvinfo'-val lehet
|
|
106 megnezni, ez pedig az XFree86 disztribúció része. Egy hosszú szöveget
|
|
107 kell hogy kiírjon, hasonlót ehhez:
|
|
108
|
|
109
|
|
110 X-Video Extension version 2.2
|
|
111 screen #0
|
|
112 Adaptor #0: "Savage Streams Engine"
|
|
113 number of ports: 1
|
|
114 port base: 43
|
|
115 operations supported: PutImage
|
|
116 supported visuals:
|
|
117 depth 16, visualID 0x22
|
|
118 depth 16, visualID 0x23
|
|
119 number of attributes: 5
|
|
120 (...)
|
|
121 Number of image formats: 7
|
|
122 id: 0x32595559 (YUY2)
|
|
123 guid: 59555932-0000-0010-8000-00aa00389b71
|
|
124 bits per pixel: 16
|
|
125 number of planes: 1
|
|
126 type: YUV (packed)
|
|
127 id: 0x32315659 (YV12)
|
|
128 guid: 59563132-0000-0010-8000-00aa00389b71
|
|
129 bits per pixel: 12
|
|
130 number of planes: 3
|
|
131 type: YUV (planar)
|
|
132 (...etc...)
|
|
133
|
|
134
|
|
135 Támogatnia kell a YUY2 packed, YV12 planar pixelformátumokat, hogy
|
|
136 használható legyen az <B>MPlayer</B>-rel.
|
|
137
|
|
138 - És végül, hogy az <B>MPlayer</B> tartalmazza-e az 'xv' támogatást.
|
|
139 ./configure kiírja.
|
|
140
|
|
141
|
|
142 <A NAME=2.2.1.2.1>2.2.1.2.1. 3dfx kártyák
|
|
143
|
|
144 Régebbi 3dfx meghajtóknak problémái vannak az XVideo gyorsítással,
|
|
145 nem támogatták a YUY2-t vagy YV12-t, ésígytovább. Ellenőrizd hogy az
|
|
146 XFree86-od verziója 4.1.0 vagy újabb-e, azok már jók.
|
|
147 Ha furcsa effekteket észlelsz -vo xv-vel, próbáld ki az SDL meghajtót
|
|
148 (annak is van XVideo támogatása), az segíthet. Nézd meg a <A HREF="#2.2.1.4">2.2.1.4-es</A>
|
|
149 fejezetet a részletekhez.
|
|
150
|
|
151
|
|
152 <A NAME=2.2.1.2.2>2.2.1.2.2. S3 kártyák
|
|
153
|
|
154 S3 Savage3D-knek működniük kell, de Savage4-hez 4.0.3-as de inkább újabb
|
|
155 XFree86 kell. S3 Virge-re vonatkozólag.. add el.
|
|
156
|
|
157
|
|
158 <A NAME=2.2.1.2.3>2.2.1.2.3. nVidia kártyák
|
|
159
|
|
160 nVidia nem túl jó választás Linux alá.. A bináris nVidia meghajtót kell
|
|
161 használnod, ami az nVidia honlapjáról tölthető le. A szabvány X
|
|
162 meghajtó nem tartalmaz XVideo támogatást ezekhez a kártyákhoz, mivel
|
|
163 az nVidia nem adja ki a specifikációikat.
|
|
164
|
|
165 - Riva128-as kártyáknak még az nVidia meghajtóval se lesz XVideo-juk :(
|
|
166 Panaszkodj az nVidiának.
|
|
167
|
|
168
|
|
169 <A NAME=2.2.1.2.4>2.2.1.2.4. ATI kártyák
|
|
170
|
|
171 A GATOS meghajtó alapállapotban bekapcsolt VSYNC-et tartalmaz. Ez azt
|
|
172 jelenti, hogy a dekódolási sebesség (!) hozzá van szinkronizálva a monitor
|
|
173 frissítési frekvenciájához. Ha a lejátszás lassúnak tűnik, próbáld meg
|
|
174 valahogy kikapcsolni a VSYNC-et, vagy állítsd a képfrissítést n*(a film
|
|
175 fps-e) Hz-re.
|
|
176
|
|
177
|
|
178 <A NAME=2.2.1.3>2.2.1.3. DGA
|
|
179
|
|
180 <A NAME=2.2.1.3.1>2.2.1.3.1. Előszó
|
|
181
|
|
182 Ez a dokumentum néhány szóban elmagyarázza, hogy általában véve mi is az a
|
|
183 DGA, és mit tud az MPlayerben (és mit nem).
|
|
184
|
|
185
|
|
186 <A NAME=2.2.1.3.2>2.2.1.3.2. Mi az a DGA ?
|
|
187
|
|
188 A DGA szó a Direct Graphics Access rövidítése, és egy olyan módszert takar,
|
|
189 amivel a program az X szerver kikerülésével közvetlenül írhat a framebuffer
|
|
190 memóriába. Szaknyelven szólva ez a framebuffer memóriának a processz
|
|
191 területére történő lapozásával történik. Ezt a kernel csak root jogosultsággal
|
|
192 engedi. Ez történhet root-ként történő bejelentkezéssel, vagy a suid bit
|
|
193 beállításával az mplayer programon (NEM ajánlott!).
|
|
194
|
|
195 A DGA-nak két verziója van: a DGA1-et az XFree 3.X.X használja, a DGA2
|
|
196 pedig az XFree 4.0.1 óta létezik.
|
|
197
|
|
198 A DGA1 csak a fent leírt közvetlen hozzáférést nyújtja. A felbontásváltáshoz
|
|
199 itt szükség van az XVidMode kiterjesztésre.
|
|
200
|
|
201 A DGA2 tartalmazza az XVidMode tudását, továbbá engedélyezi a színmélység
|
|
202 megváltoztatását. Így lehetséges, hogy egy 32 bites mélységű X szervert
|
|
203 átváltsunk 15 bitesbe, vagy fordítva.
|
|
204
|
|
205 A DGA-nak van néhány hátránya. Valamelyest függ a grafikus chiptől és ennek
|
|
206 X-es driverétől, ezért nem minden rendszeren működik ...
|
|
207
|
|
208
|
|
209 <A NAME=2.2.1.3.3>2.2.1.3.3. DGA támogatás telepítése <B>MPlayer</B>-be
|
|
210
|
|
211 Először bizonyosodj meg arról, hogy az X betölti-e a DGA kiterjesztést, lásd
|
|
212 /var/log/XFree86.0.log :
|
|
213
|
|
214
|
|
215 (II) Loading extension XFree86-DGA
|
|
216
|
|
217
|
|
218 Amint látod, XFree86 4.0.x vagy újabb, NAGYON AJÁNLOTT!
|
|
219 Az <B>MPlayer</B> DGA meghajtója ./configure közben automatikusan
|
|
220 detektálódik, de az --enable-dga opcióval megerősítheted.
|
|
221
|
|
222 Ha a meghajtó
|
|
223 If the driver couldn't switch to a smaller resolution, experiment with
|
|
224 switches -vm (only with X 3.3.x), -fs, -bpp, -zoom to find a video mode that
|
|
225 the movie fits in. There is no converter right now.. :(
|
|
226
|
|
227 Become ROOT. DGA needs root access to be able to write directly video memory.
|
|
228 If you want to run it as user, then install <B>MPlayer</B> SUID root:
|
|
229
|
|
230
|
|
231 chown root /usr/local/bin/mplayer
|
|
232 chmod 750 /usr/local/bin/mplayer
|
|
233 chmod +s /usr/local/bin/mplayer
|
|
234
|
|
235
|
|
236 Now it works as a simple user, too.
|
|
237
|
|
238
|
|
239 !!!! BUT STAY TUNED !!!!
|
|
240 This is a BIG security risk! Never do this on a server or on a computer
|
|
241 can be accessed by more people than only you because they can gain root
|
|
242 privilegies through suid root mplayer.
|
|
243 !!!! SO YOU HAVE BEEN WARNED ... !!!!
|
|
244
|
|
245
|
|
246 Now use '-vo dga' option, and there you go! (hope so:)
|
|
247 You should also try if the '-vo sdl:dga' option works for you! It's much
|
|
248 faster!!!
|
|
249
|
|
250
|
|
251 <A NAME=2.2.1.3.4>2.2.1.3.4. Resolution switching
|
|
252
|
|
253 The DGA driver allows for switching the resolution of the output signal.
|
|
254 This avoids the need for doing (slow) software scaling and at the same
|
|
255 time provides a fullscreen image. Ideally it would switch to the exact
|
|
256 resolution (except for honouring aspect ratio) of the video data, but the
|
|
257 XServer only allows switching to resolutions predefined in
|
|
258 /etc/X11/XF86Config (/etc/X11/XF86Config-4 for XFree 4.0.X respectively).
|
|
259 Those are defined by so-called modelines and depend on the capabilites
|
|
260 of your video hardware. The XServer scans this config file on startup and
|
|
261 disables the modelines not suitable for your hardware. You can find
|
|
262 out which modes survive with the X11 log file. It can be found at:
|
|
263 /var/log/XFree86.0.log
|
|
264 See appendix A for some sample modeline definitions.
|
|
265
|
|
266
|
|
267 <A NAME=2.2.1.3.5>2.2.1.3.5. DGA & <B>MPlayer</B>
|
|
268
|
|
269 DGA is used in two places with <B>MPlayer</B>: The SDL driver can be made to make
|
|
270 use of it (-vo sdl:dga) and within the DGA driver (-vo dga).
|
|
271 The above said is true for both; in the following sections I'll explain
|
|
272 how the DGA driver for <B>MPlayer</B> works.
|
|
273
|
|
274
|
|
275 <A NAME=2.2.1.3.6>2.2.1.3.6. Features of the DGA driver
|
|
276
|
|
277 The DGA driver is invoked by specifying -vo dga at the command line.
|
|
278 The default behaviour is to switch to a resolution matching the original
|
|
279 resolution of the video as close as possible. It deliberately ignores the
|
|
280 -vm and -fs switches (enabling of video mode switching and fullscreen) -
|
|
281 it always tries to cover as much area of your screen as possible by switching
|
|
282 the video mode, thus refraining to use a single additional cycle of your CPU
|
|
283 to scale the image.
|
|
284 If you don't like the mode it chooses you may force it to choose the mode
|
|
285 matching closest the resolution you specify by -x and -y.
|
|
286 By providing the -v option, the DGA driver will print, among a lot of other
|
|
287 things, a list of all resolutions supported by your current XF86-Config
|
|
288 file.
|
|
289 Having DGA2 you may also force it to use a certain depth by using the -bpp
|
|
290 option. Valid depths are 15, 16, 24 and 32. It depends on your hardware
|
|
291 whether these depths are natively supported or if a (possibly slow)
|
|
292 conversion has to be done.
|
|
293
|
|
294 If you should be lucky enough to have enough offscreen memory left to
|
|
295 put a whole image there, the DGA driver will use doublebuffering, which
|
|
296 results in much smoother movie replaying. It will tell you whether double-
|
|
297 buffering is enabled or not.
|
|
298
|
|
299 Doublebuffering means that the next frame of your video is being drawn in
|
|
300 some offscreen memory while the current frame is being displayed. When the
|
|
301 next frame is ready, the graphics chip is just told the location in memory
|
|
302 of the new frame and simply fetches the data to be displayed from there.
|
|
303 In the meantime the other buffer in memory will be filled again with new
|
|
304 video data.
|
|
305
|
|
306 Doublebuffering may be switched on by using the option -double and may be
|
|
307 disabled with -nodouble. Current default option is to disable
|
|
308 doublebuffering. When using the DGA driver, onscreen display (OSD) only
|
|
309 works with doublebuffering enabled. However, enabling doublebuffering may
|
|
310 result in a big speed penalty (on my K6-II+ 525 it used an additional 20% of
|
|
311 CPU time!) depending on the implementation of DGA for your hardware.
|
|
312
|
|
313
|
|
314 <A NAME=2.2.1.3.7>2.2.1.3.7. Speed issues
|
|
315
|
|
316 Generally spoken, DGA framebuffer access should be at least as fast as using
|
|
317 the X11 driver with the additional benefit of getting a fullscreen image.
|
|
318 The percentage speed values printed by mplayer have to be interpreted with
|
|
319 some care, as for example, with the X11 driver they do not include the time
|
|
320 used by the X-Server needed for the actual drawing. Hook a terminal to a
|
|
321 serial line of your box and start top to see what is really going on in your
|
|
322 box ...
|
|
323
|
|
324 Generally spoken, the speedup done by using DGA against 'normal' use of X11
|
|
325 highly depends on your graphics card and how well the X-Server module for it
|
|
326 is optimized.
|
|
327
|
|
328 If you have a slow system, better use 15 or 16bit depth since they require
|
|
329 only half the memory bandwidth of a 32 bit display.
|
|
330
|
|
331 Using a depth of 24bit is even a good idea if your card natively just supports
|
|
332 32 bit depth since it transfers 25% less data compared to the 32/32 mode.
|
|
333
|
|
334 I've seen some avi files already be replayed on a Pentium MMX 266. AMD K6-2
|
|
335 CPUs might work at 400 MHZ and above.
|
|
336
|
|
337
|
|
338 <A NAME=2.2.1.3.8>2.2.1.3.8. Known bugs
|
|
339
|
|
340 Well, according to some developpers of XFree, DGA is quite a beast. They
|
|
341 tell you better not to use it. Its implementation is not always flawless
|
|
342 with every chipset driver for XFree out there.
|
|
343
|
|
344 o with XFree 4.0.3 and nv.o there is a bug resulting in strange colors
|
|
345 o ATI driver requires to switch mode back more than once after finishing
|
|
346 using of DGA
|
|
347 o some drivers simply fail to switch back to normal resolution (use
|
|
348 Ctrl-Alt-Keypad +, - to switch back manually)
|
|
349 o some drivers simply display strange colors
|
|
350 o some drivers lie about the amount of memory they map into the process's
|
|
351 address space, thus vo_dga won't use doublebuffering (SIS?)
|
|
352 o some drivers seem to fail to report even a single valid mode. In this
|
|
353 case the DGA driver will crash telling you about a nonsense mode of
|
|
354 100000x100000 or the like ...
|
|
355 o OSD only works with doublebuffering enabled
|
|
356
|
|
357
|
|
358 <A NAME=2.2.1.3.9>2.2.1.3.9. Future work
|
|
359
|
|
360 o use of the new X11 render interface for OSD
|
|
361 o where is my TODO list ???? :-(((
|
|
362
|
|
363
|
|
364 <A NAME=2.2.1.3.A>2.2.1.3.A. Some modelines
|
|
365
|
|
366 Section "Modes"
|
|
367 Identifier "Modes[0]"
|
|
368 Modeline "800x600" 40 800 840 968 1056 600 601 605 628
|
|
369 Modeline "712x600" 35.0 712 740 850 900 400 410 412 425
|
|
370 Modeline "640x480" 25.175 640 664 760 800 480 491 493 525
|
|
371 Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan
|
|
372 Modeline "352x288" 25.10 352 368 416 432 288 296 290 310
|
|
373 Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan
|
|
374 Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan
|
|
375 EndSection
|
|
376
|
|
377
|
|
378 These entries work fine with my Riva128 chip, using nv.o XServer driver
|
|
379 module.
|
|
380
|
|
381
|
|
382 <A NAME=2.2.1.3.B>2.2.1.3.B. Bug Reports
|
|
383
|
|
384 If you experience troubles with the DGA driver please feel free to file
|
|
385 a bug report to me (e-mail address below). Please start mplayer with the
|
|
386 -v option and include all lines in the bug report that start with vo_dga:
|
|
387
|
|
388 Please do also include the version of X11 you are using, the graphics card
|
|
389 and your CPU type. The X11 driver module (defined in XF86-Config) might
|
|
390 also help. Thanks!
|
|
391
|
|
392
|
|
393 Acki (acki@acki-netz.de, www.acki-netz.de)
|
|
394
|
|
395
|
|
396 <A NAME=2.2.1.4>2.2.1.4. SDL
|
|
397
|
|
398 Here are some notes about SDL out in <B>MPlayer</B>.
|
|
399
|
|
400 There are several commandline switches for SDL:
|
|
401
|
|
402 -vo sdl:name specifies sdl video driver to use (ie. aalib,
|
|
403 dga, x11)
|
|
404 -ao sdl:name specifies sdl audio driver to use (ie. dsp,
|
|
405 esd, arts)
|
|
406 -noxv disables Xvideo hardware acceleration
|
|
407 -forcexv tries to force Xvideo acceleration
|
|
408
|
|
409 SDL Keys:
|
|
410
|
|
411 F toggles fullscreen/windowed mode
|
|
412 C cycles available fullscreen modes
|
|
413 W/S mappings for * and / (mixer control)
|
|
414
|
|
415 KNOWN BUGS:
|
|
416 - Keys pressed under sdl:aalib console driver repeat forever. (use -vo aa !)
|
|
417 It's bug in SDL, I can't change it (tested with SDL 1.2.1).
|
|
418
|
|
419
|
|
420 <A NAME=2.2.1.5>2.2.1.5. SVGAlib
|
|
421
|
|
422 If you don't have X, you can use the SVGAlib target! Be sure not to use the
|
|
423 -fs switch, since it toggles the usage of the software scaler, and it's
|
|
424 SLOOOW now, unless you have a real fast CPU (and/or MTRR?). :(
|
|
425
|
|
426 Of course you'll have to install svgalib and its development package in
|
|
427 order for <B>MPlayer</B> build its SVGAlib driver (autodetected, but can be
|
|
428 forced), and don't forget to edit /etc/vga/libvga.config to suit your
|
|
429 card & monitor.
|
|
430
|
|
431
|
|
432 <A NAME=2.2.1.6>2.2.1.6. Framebuffer output (FBdev)
|
|
433
|
|
434 Whether to build the FBdev target is autodetected during ./configure .
|
|
435 Read the framebuffer documentation in the kernel sources
|
|
436 (Documentation/fb/*) for info on how to enable it, etc.. !
|
|
437
|
|
438 If your card doesn't support VBE 2.0 standard (older ISA/PCI
|
|
439 cards, such as S3 Trio64), only VBE 1.2 (or older?) :
|
|
440 Well, VESAfb is still available, but you'll have to load SciTech Display
|
|
441 Doctor (formerly UniVBE) before booting Linux. Use a DOS boot disk or
|
|
442 whatever. And don't forget to register your UniVBE ;))
|
|
443
|
|
444 The FBdev output takes some additional parameters above the others:
|
|
445
|
|
446 -fb specify the framebuffer device to use (/dev/fd0)
|
|
447 -fbmode mode name to use (according to /etc/fb.modes)
|
|
448 -fbmodeconfig config file of modes (default /etc/fb.modes)
|
|
449 monitor_hfreq
|
|
450 monitor_vfreq IMPORTANT values, see example.conf
|
|
451 monitor_dotclock
|
|
452
|
|
453 If you want to change to a specific mode, then use
|
|
454
|
|
455 mplayer -vm -fbmode (NameOfMode) filename
|
|
456
|
|
457 -vm alone will choose the most suitable mode from /etc/fb.modes . Can be
|
|
458 used together with -x and -y options too. The -flip option is supported only
|
|
459 if the movie's pixel format matches the video mode's pixel format.
|
|
460 Pay attention to the bpp value, fbdev driver tries to use the current,
|
|
461 or if you specify the -bpp option, then that.
|
|
462 -zoom option isn't supported (software scaling is slow). -fs option
|
|
463 isn't supported. You can't use 8bpp (or less) modes.
|
|
464
|
|
465 NOTE: FBdev video mode changing _does not work_ with the VESA framebuffer,
|
|
466 and don't ask for it, since it's not an <B>MPlayer</B> limitation.
|
|
467
|
|
468
|
|
469 <A NAME=2.2.1.7>2.2.1.7. Matrox framebuffer (mga_vid)
|
|
470
|
|
471 This section is about the Matrox G200/G400/G450 BES (Back-End Scaler)
|
|
472 support, the mga_vid kernel driver. It's active developed by me (A'rpi), and
|
|
473 it has hardware VSYNC support with triple buffering. It works on both
|
|
474 framebuffer console and under X.
|
|
475
|
|
476 To use it, you first have to compile mga_vid.o :
|
|
477
|
|
478
|
|
479 cd drivers
|
|
480 make
|
|
481
|
|
482
|
|
483 Then create /dev/mga_vid device :
|
|
484
|
|
485
|
|
486 mknod /dev/mga_vid c 178 0
|
|
487
|
|
488
|
|
489 and load the driver with
|
|
490
|
|
491
|
|
492 insmod mga_vid.o
|
|
493
|
|
494
|
|
495 You should verify the memory size detection using the 'dmesg' command. If
|
|
496 it's bad, use the mga_ram_size option (rmmod mga_vid first), specify card's
|
|
497 memory size in MB:
|
|
498
|
|
499
|
|
500 insmod mga_vid.o mga_ram_size=16
|
|
501
|
|
502
|
|
503 To make it load/unload automatically when needed, insert the following line
|
|
504 at the end of /etc/modules.conf :
|
|
505
|
|
506
|
|
507 alias char-major-178 mga_vid
|
|
508
|
|
509
|
|
510 Then run
|
|
511
|
|
512
|
|
513 depmod -a
|
|
514
|
|
515
|
|
516 Now you have to (re)compile <B>MPlayer</B>, ./configure will detect /dev/mga_vid
|
|
517 and build the 'mga' driver. Using it from <B>MPlayer</B> goes by '-vo mga' if
|
|
518 you have matroxfb console, or '-vo xmga' under XFree86 3.x.x or 4.x.x .
|
|
519
|
|
520 Note: '-vo xmga' works under XFree86 4.x.x, but it conflicts with the Xv
|
|
521 driver, so avoid using both. If you messed up Xv with mga, try running
|
|
522 <B>MPlayer</B> with '-vo mga' . It should fix Xv.
|
|
523
|
|
524
|
|
525 <A NAME=2.2.1.8>2.2.1.8. SiS 6326 framebuffer (sis_vid)
|
|
526
|
|
527 SiS 6326 YUV Framebuffer driver -> sis_vid kernel driver
|
|
528
|
|
529 Its interface should be compatible with the mga_vid, but the driver was not
|
|
530 updated after the mga_vid changes, so it's outdated now. Volunteers
|
|
531 needed to test it and bring the code up-to-date.
|
|
532
|
|
533
|
|
534 <A NAME=2.2.1.9>2.2.1.9. 3dfx YUV support
|
|
535
|
|
536 3dfx has native YUV+scaler support, using /dev/3dfx (tdfx.o driver?)
|
|
537 The /dev/3dfx kernel driver exists only for 2.2.x kernels, for use with
|
|
538 Glide 2.x Linux ports. It's not tested with <B>MPlayer</B>, and so no more
|
|
539 supported. Volunteers needed to test it and bring the code up-to-date.
|
|
540
|
|
541
|
|
542 <A NAME=2.2.1.10>2.2.1.10. OpenGL output
|
|
543
|
|
544 <B>MPlayer</B> support displaying movies using OpenGL. Unfortunately, not all
|
|
545 drivers support this ability. For example the Utah-GLX drivers
|
|
546 (for XFree86 3.3.6) have it, with all cards.
|
|
547 See <A HREF="http://utah-glx.sourceforge.net">http://utah-glx.sourceforge.net</A> for details about how to install it.
|
|
548
|
|
549 XFree86(DRI) >= 4.0.3 supports it only with Matrox, and Radeon cards.
|
|
550 See <A HREF="http://dri.sourceforge.net">http://dri.sourceforge.net</A> for download, and installation instructions.
|
|
551
|
|
552
|
|
553 <A NAME=2.2.1.11>2.2.1.11. AAlib - text mode displaying
|
|
554
|
|
555 <B>AAlib</B> is a library for displaying graphics in text mode, using powerful
|
|
556 ASCII renderer. There are LOTS of programs already supporting it, like Doom,
|
|
557 Quake, etc. MPlayer contains a very usable driver for it.
|
|
558 If ./configure detects aalib installed, the aalib libvo driver will be built.
|
|
559
|
|
560 You can use some keys in the AA Window to change rendering options:
|
|
561 1 : decrease contrast
|
|
562 2 : increase contrast
|
|
563 3 : decrease brightness
|
|
564 4 : increase brightness
|
|
565 5 : switch fast rendering on/off
|
|
566 6 : set dithering mode (none, error distribution, floyd steinberg)
|
|
567 7 : invert image
|
|
568 a : toggles between aa and mplayer control)
|
|
569
|
|
570
|
|
571
|
|
572 The following command line options can be used:
|
|
573 -aaosdcolor=V : change osd color
|
|
574 -aasubcolor=V : change subtitle color
|
|
575 where V can be: (0/normal, 1/dark, 2/bold, 3/boldfont, 4/reverse, 5/special)
|
|
576
|
|
577 AAlib itselves provides a large sum of options.
|
|
578 Here are some important:
|
|
579 -aadriver : set recommended aa driver (X11, curses, linux)
|
|
580 -aaextended : use all 256 characters
|
|
581 -aaeight : use eight bit ascii
|
|
582 -aahelp : prints out all aalib options
|
|
583
|
|
584
|
|
585
|
|
586
|
|
587
|
|
588 NOTE: the rendering is very CPU intensive, especially when using AA-on-X
|
|
589 (using aalib on X), and it's least CPU intensive on standard,
|
|
590 non-framebuffer console. Use SVGATextMode to set up a big textmode,
|
|
591 then enjoy! (secondary head Hercules cards rock :)) (anyone can enhance
|
|
592 fbdev to do conversion/dithering to hgafb? Would be neat :)
|
|
593
|
|
594 Use the -framedrop option if your comp isn't fast enough to render all frames!
|
|
595
|
|
596 Playing on terminal you'll get better speed and quality using the linux driver, not
|
|
597 curses (-aadriver linux). But therefore you need write access on /dev/vcsa<terminal>!
|
|
598 That isn't autodetected by aalib, bu vo_aa tries to find the best mode.
|
|
599 See http://aa-project.sourceforge.net/tune/ for further tuning issues.
|
|
600
|
|
601
|
|
602 <A NAME=2.2.1.A>2.2.1.A. TV-out support
|
|
603
|
|
604
|
|
605 <A NAME=2.2.1.A.1>2.2.1.A.1. Matrox cards
|
|
606
|
|
607 <I> What I'd love to see in mplayer is the the same feature that I see in my
|
|
608 windows box. When I start a movie in windows (in a window or in full screen)
|
|
609 the movie is also redirected to the tv-out and I can also see it full screen
|
|
610 on my tv. I love this feature and was wondering how hard it would be to add
|
|
611 such a feature to mplayer.</I>
|
|
612
|
|
613 It's a driver limitation. BES (Back-End Scaler, it's the overlay generator
|
|
614 and YUV scaling engine of G200/G400/G450 cards) works only with CRTC1.
|
|
615 Normally, CRTC1 (textmode, every bpp gfx and BES) is routed to HEAD1,
|
|
616 and CRTC2 (only 16/32bpp gfx) is routed to HEAD2 (TV-out).
|
|
617
|
|
618 Under linux, you have two choices to get TV-out working:
|
|
619
|
|
620 1. Using X 4.0.x + the HAL driver from matrox, so you'll get dual-head
|
|
621 support, and you'll be able to redirect second output to the TV.
|
|
622 Unfortunately it has Macrovision encryption enabled, so it will
|
|
623 only work on directly-connected TV, no through VCR.
|
|
624 Other problem is that Xv doesn't work on the second head.
|
|
625 (I don't know how Windows solve it, maybe it swaps the CRTCs between
|
|
626 the heads, or just uses YUV framebuffer of second DAC with some trick)
|
|
627
|
|
628 2. Using matroxfb with dual-head support enabled (2.4.x kernels).
|
|
629 You'll be able to get a framebuffer console (using CRTC2, so it's
|
|
630 slow), and TV-out (using CRTC1, with BES support).
|
|
631 You have to forget X while using this kind of TV-out! :(
|
|
632
|
|
633 - Compile all the matrox-related things to modules in the kernel.
|
|
634 (you MUST compile them to modules, at least I couldn't get them
|
|
635 working built-in yet)
|
|
636 [reboot to new kernel & install modules, but don't load them yet!]
|
|
637
|
|
638 cd TVout
|
|
639 ./compile.sh
|
|
640
|
|
641 - Run the 'modules' script from the TV-out directory of mplayer.
|
|
642 It will switch your console to framebuffer.
|
|
643 Change to tty1 (ALT+F1)!
|
|
644 Now run the script 'independent', it will set up your tty's:
|
|
645 tty 1,2: fb console, CRTC2, head 1 (monitor)
|
|
646 tty 3,4,5...: framebuffer+BES, CRTC1, head 2 (TV-out)
|
|
647 You should run the scripts TV-* and Mon-* to set up resolutions:
|
|
648 change to tty1 (ALT+F1), and run Mon-* (one of them)
|
|
649 change to tty3 (ALT+F3) and then back to tty1 (ALT+F1)
|
|
650 (this change will select tty3 on /dev/fb1 - tricky)
|
|
651 run TV-* (one of them)
|
|
652 (now you'll get a console on your PAL TV - don't know about NTSC)
|
|
653
|
|
654 Now if you start mplayer (on tty1), the picture will show up on
|
|
655 the tty3, so you'll see it on your TV or second monitor.
|
|
656
|
|
657 Yes, it is a bit 'hack' now. But I'm waiting for the marvel
|
|
658 project to be finished, it will provide real TV-out drivers, I hope.
|
|
659
|
|
660 My current problem is that BES is working only with CRTC1. So picture
|
|
661 will always shown up on head routed to CRTC1 (normaly the monitor),
|
|
662 so i have to swap CRTC's, but this way your console will framebuffer
|
|
663 (CRTC2 can't do text-mode) and a bit slow (no acceleration). :(
|
|
664
|
|
665
|
|
666 <I> anyway i also just get monochrome output on the tv ...</I>
|
|
667 Maybe you have NTSC TV? Or just didn't run one of TV-* scripts.
|
|
668
|
|
669
|
|
670 </PRE>
|
|
671
|
|
672 </BODY>
|
|
673
|
|
674 </HTML>
|