comparison DOCS/documentation.html @ 1371:4287b4726732

pre0alpha version
author gabucino
date Sat, 21 Jul 2001 09:57:12 +0000
parents
children d1d37abe6389
comparison
equal deleted inserted replaced
1370:28ef78a60ebd 1371:4287b4726732
1 <HTML>
2
3 <BODY>
4
5 <P>
6 <CENTER>MPlayer - Movie Player for LINUX (C) 2000-2001 Arpad Gereoffy (A'rpi/ESP-team)<BR>
7 <BR>
8 http://mplayer.sourceforge.net (or http://mplayer.dev.hu)</CENTER><BR>
9 </P>
10
11 <P><HR></P>
12
13 <P>
14 Table of Contents
15 </P>
16
17 <P><HR></P>
18
19 <PRE>
20 <P>
21 <A HREF="#1">1. Introduction</A>
22 </P>
23 <P>
24 <A HREF="#1.1">1.1 Overview +speed</A>
25 <A HREF="#1.2">1.2 History</A>
26 <A HREF="#1.3">1.3 Installation</A>
27 <A HREF="#1.3.1">1.3.1 Codecs</A>
28 <A HREF="#1.3.2">1.3.2 Drivers</A>
29 <A HREF="#1.3.3">1.3.3 Player</A>
30 <A HREF="#1.3.4">1.3.4 Matrox G400 DualHead Tools</A>
31 <A HREF="#1.3.5">1.3.5 Fonts</A>
32 <A HREF="#1.4">1.4 What about the GUI?</A>
33 </P>
34 <P>
35 <A HREF="#2">2. Features</A>
36 </P>
37 <P>
38 <A HREF="#2.1">2.1 Video Formats, Audio & Video Codecs</A>
39 <A HREF="#2.1.1">2.1.1 Supported input formats</A>
40 <A HREF="#2.1.2">2.1.2 Supported audio & video codecs</A>
41 <A HREF="#2.1.2.1">2.1.2.1 OpenDivX</A>
42 <A HREF="#2.1.2.2">2.1.2.2 ffmpeg's DivX/libavcodec</A>
43 <A HREF="#2.1.4">2.1.4 Codec importing howto</A>
44 <A HREF="#2.1.4.1">2.1.4.1 VFW codecs</A>
45 <A HREF="#2.1.4.2">2.1.4.2 DirectShow codecs</A>
46 </P>
47 <P>
48 <A HREF="#2.2">2.2 Video & Audio output devices</A>
49 <A HREF="#2.2.1">2.2.1 Video output devices</A>
50 <A HREF="#2.2.1.1">2.2.1.1 Xv</A>
51 <A HREF="#2.2.1.2">2.2.1.2 DGA</A>
52 <A HREF="#2.2.1.2.1">2.2.1.2.1 Summary</A>
53 <A HREF="#2.2.1.2.2">2.2.1.2.2 What is DGA</A>
54 <A HREF="#2.2.1.2.3">2.2.1.2.3 Resolution switching</A>
55 <A HREF="#2.2.1.2.4">2.2.1.2.4 DGA & MPlayer</A>
56 <A HREF="#2.2.1.2.5">2.2.1.2.5 Features of the DGA driver</A>
57 <A HREF="#2.2.1.2.6">2.2.1.2.6 Speed issues</A>
58 <A HREF="#2.2.1.2.7">2.2.1.2.7 Known bugs</A>
59 <A HREF="#2.2.1.2.8">2.2.1.2.8 Future work</A>
60 <A HREF="#2.2.1.2.A">2.2.1.2.A Some modelines</A>
61 <A HREF="#2.2.1.2.B">2.2.1.2.B Bug Reports</A>
62 <A HREF="#2.2.1.3">2.2.1.3 SDL</A>
63 <A HREF="#2.2.1.4">2.2.1.4 SVGAlib</A>
64 <A HREF="#2.2.1.5">2.2.1.5 Framebuffer output (FBdev)</A>
65 <A HREF="#2.2.1.6">2.2.1.6 Matrox framebuffer (mga_vid)</A>
66 <A HREF="#2.2.1.7">2.2.1.7 SiS 6326 framebuffer (sis_vid)</A>
67 <A HREF="#2.2.1.8">2.2.1.8 3dfx YUV support</A>
68 <A HREF="#2.2.1.9">2.2.1.9 OpenGL output</A>
69 <A HREF="#2.2.2">2.2.2 Audio output devices</A>
70 +SOUNDCARDS
71 </P>
72 <P>
73 <A HREF="#2.3">2.3 Subtitles and OSD</A>
74 </P>
75 <P>
76 <A HREF="#3">3. Usage</A>
77 </P>
78 <P>
79 <A HREF="#3.1">3.1 Control from keyboard</A>
80 <A HREF="#3.2">3.2 Control from LIRC (Linux Infrared Remote Control)</A>
81 <A HREF="#3.3">3.3 Streaming from network or pipes</A>
82 </P>
83 <P>
84 <A HREF="#4">4. TV-out support</A>
85 </P>
86 <P>
87 <A HREF="#4.1">4.1 Matrox cards</A>
88 </P>
89 <P>
90 <A HREF="#5">5. Tuning</A>
91 </P>
92 <P>
93 <A HREF="#5.1">5.1 CD drives</A>
94 <A HREF="#5.2">5.2 DVD drives</A>
95 <A HREF="#5.3">5.3 MTRR</A>
96 </P>
97 <P>
98 <A HREF="#6">6. FAQ section</A>
99 </P>
100 <P>
101 <A HREF="#6.10">6.10 DVD FAQ</A>
102 </P>
103 <P>
104 <A HREF="#7">7. Misc OS'es</A>
105 </P>
106 <P>
107 <A HREF="#7.1">7.1 Debian packaging</A>
108 <A HREF="#7.2">7.2 FreeBSD</A>
109 <A HREF="#7.3">7.3 Solaris 8</A>
110 </P>
111 <P>
112 <A HREF="#A">A. Authors</A>
113 </P>
114 <P>
115 <A HREF="#B">B. Mailing lists</A>
116 </P>
117 <P>
118 <A HREF="#C">C. How to report bugs</A>
119 </P>
120 <P>
121 License+standard disc, maintainers
122 </P></PRE>
123 <P><HR></P>
124
125 <P><PRE>
126 <A NAME=1>1. Introduction
127
128
129 <A NAME=1.1>1.1. Overview
130
131 MPlayer is a movie player for LINUX. It plays most MPEG, AVI and ASF files,
132 supported by many native and Win32 DLL codecs. You can watch VCD, DVD and
133 even DivX movies too. The another big feature of mplayer is the wide range of
134 supported output drivers. It works with X11, Xv, DGA, OpenGL, SVGAlib, fbdev,
135 but you can use SDL (and this way all drivers of SDL, for example AAlib) and
136 some lowlevel card-specific drivers (for Matrox) too! Most of them supports
137 software or hardware scaling, so you can enjoy movies in fullscreen. And what
138 about the nice big antialiased shaded subtitles (7 supported types!!!) with
139 hungarian, english, cyrillic, czech, korean fonts, and OSD?
140
141 I didn't write any codecs, just some players. I spent
142 a lot of time finding the best way to parse bad damaged input files
143 (both MPEG and AVI) and to do perfect A-V sync with seeking ability.
144 My player is rock solid playing damaged MPEG files (useful for some VCDs),
145 and it plays bad AVI files which are unplayable with the famous
146 windows media player. Even AVI files without index chunk are playable, and
147 you can rebuild their indexes with the -idx option, thus enabling seeking!
148 As you see, stability and quality are the most important things for me,
149 but the speed is also amazing.
150
151
152 <A NAME=1.2>1.2. History
153
154 This began a year ago...
155 I've tried lots of players under linux (mtv,xmps,dvdview,livid/oms,VideoLAN,
156 xine,xanim,avifile,xmmp) but they all have some problem. Mostly with special
157 files or with audio/video sync. Most of them is unable to play both MPEG1,
158 MPEG2 and AVI (DivX) files. Many players have image quality or speed problems
159 too. So I've decided to write/modify one...
160
161 - mpg12play v0.1-v0.3:
162 The first try, hacked together in a half hour!
163 I've used libmpeg3 from www.heroinewarrior.com up to the version 0.3,
164 but there were image quality and speed problems with it.
165 - mpg12play v0.5-v0.87:
166 Mpeg codec replaced with DVDview by Dirk Farin, it was a great stuff,
167 but it was slow and was written in C++ (I hate C++!!!)
168 - mpg12play v0.9-v0.95pre5:
169 Mpeg codec was libmpeg2 (mpeg2dec) by Aaron Holtzman & Michel Lespinasse.
170 It's great, optimized very fast C code with perfect image quality and
171 100% MPEG standard conformance.
172 - MPlayer v0.3-v0.9:
173 It was a pack of two programs: mpg12playv0.95pre6 and my new simple AVI
174 player 'avip' based on avifile's Win32 DLL loader.
175 - MPlayer v0.10:
176 The MPEG and AVI player in a single binary!
177 - MPlayer v0.11:
178 Some new developers joined and from 0.11 the mplayer project is a team-work!
179 Added .ASF file support, and OpenDivX (see www.projectmayo.com) en/decoding.
180 - MPlayer v0.17 "The IdegCounter"
181 The release version of the 0.11pre after 4 months of heavy development!
182 Try it, and be amazed! Thousands of new features added... and of course
183 old code was improved too, bugs removed etc.
184 - MPlayer 0.18 "The BugCounter"
185 2 months since 0.17 and here's a new release.. Completed ASF support,
186 more subtitle formats, introduced libao (similar to libvo but to audio),
187 even more stable than ever, and so on. It's a MUST !
188
189
190 <A NAME=1.3>1.3. Installation
191
192
193 <A NAME=1.3.1>1.3.1. The Codecs (w32codecs.zip)
194
195 Download and unzip w32codecs.zip to /usr/lib/win32
196 Note: the avifile project has similar codecs package, but it differs
197 from our, so if you want to use all supported codecs, then use
198 our package!
199
200
201 <A NAME=1.3.2>1.3.2. Drivers (mga_vid.o)
202
203
204 cd drivers
205 make
206 mknod /dev/mga_vid c 178 0
207 chmod go+rw /dev/mga_vid
208
209
210 <A NAME=1.3.3>1.3.3. The Player (mplayer)
211
212 ./configure
213 [* read messages printed by ./configure, it may be very usefull! *]
214 [* check config.h and config.mak files! *]
215 make
216 [* check for errors! of none, you should have the ./mplayer binary *]
217 make install
218
219
220 <A NAME=1.3.4>1.3.4. Matrox G400 DH TV-out tools
221
222 cd TVout
223 ./compile.sh
224
225
226 <A NAME=1.3.5>1.3.5. Fonts
227
228 Download mp_font3.zip (and optional language updates) and
229 unpack to ~/.mplayer/font/ :
230
231 cd ~/.mplayer
232 mkdir font
233 cd font
234 unzip mp_font3.zip
235 unzip mp_font3_hu.zip
236
237
238 <A NAME=1.4>1.4. What about the GUI ?
239
240 I'm not a GUI programmer. I hate GUIs, I like the pure black 80x25 console.
241 So the player has only keyboard control from the controlling console/xterm now.
242 There is a GUI development for the player, coordinated by Pontscho/Fresh!
243 It's still under development, but it will be merged and released real soon.
244 BTW he needs some nice skins, if you are a good graphician, contact him!!!
245
246
247 <A NAME=2>2. Features
248
249
250 <A NAME=2.1>2.1. Video Formats, Audio & Video Codecs
251
252
253 <A NAME=2.1.1>2.1.1. Supported input formats
254
255 - VCD (Video CD) directly from CD-ROM or from CDRwin's .bin image file
256 - DVD, directly from your DVD disk, using optional libcss for decryption
257 - MPEG 1/2 System Stream (PS/PES/VOB) and Elementary Stream (ES) file formats
258 - RIFF AVI file format
259 - ASF 1.0 file format
260 - supports reading from file, stdin, DVD drive or network via HTTP
261
262 Note: about quicktime (.mov/.qt) and realmedia (.ra/.rm) support read the FAQ!
263
264
265 <A NAME=2.1.2>2.1.2. Supported audio & video codecs
266
267 See http://mplayer.sourceforge.net/DOCS/codecs.html for the complete,
268 daily updated list!!!
269
270 The most important video codecs:
271 - MPEG1 (VCD) and MPEG2 (DVD) video
272 - DivX, OpenDivX and other MPEG4 variants
273 - Windows Media Video 7 (WMV1) used in .wmv files
274 - Intel Indeo codecs (3.1,3.2,4.1,5.0)
275 - MJPEG, ASV2 and other hardware formats
276
277 The most important audio codecs:
278 - MPEG layer 2, and layer 3 (MP3) audio (native code, with 3dnow optimization)
279 - AC3 dolby audio (native code, with 3dnow optimization)
280 - Voxware audio
281 - alaw, msgsm, pcm and other simple old audio formats
282
283 If you have a codec not listed here, and not supported yet, just
284 read http://mplayer.sourceforge.net/DOCS/codecs.html and DOCS/CODECS
285 to get info about its status and about how to help us adding support for it!
286
287
288 <A NAME=2.1.2.1>2.1.2.1. OpenDivX
289
290
291 <A NAME=2.1.2.2>2.1.2.2. ffmpeg's DivX/libavcodec
292
293
294 <A NAME=2.1.4>2.1.4. Codec importing howto
295
296
297 <A NAME=2.1.4.1>2.1.4.1. VFW codecs
298
299 VfW (Video for Windows) is the old Video API for Windows. Its codecs have
300 the .DLL or (rarely) .DRV extension.
301 If MPlayer fails with your AVI:
302
303 UNKNOWN video codec: HFYU (0x55594648)
304
305 It means your AVI is encoded with a codec which has the HFYU fourcc (HFYU =
306 HuffYUV codec, DIV3 = DivX Low Motion, etc...). Now that we know this, we'll
307 have to find out which DLL Windows loads in order to play this file. In our
308 case, the system.ini contains this (with many others):
309 VIDC.HFYU=huffyuv.dll
310 So we'll need the huffyuv.dll file. Note that the audio codecs are specified
311 with the MSACM prefix :
312 msacm.l3acm=L3codeca.acm
313 This is the MP3 codec.
314
315 So, now we have all the info needed (fourcc, codec file, sample AVI), submit
316 your codec support request in mail, and upload these files to the FTP:
317 ftp://thot.banki.hu/MPlayer/incoming/<codecname>/
318
319
320 <A NAME=2.1.4.2>2.1.4.2. DirectShow codecs
321
322 DirectShow is the newer Video API, which is even worse than its predecessor.
323 Things are harder with DirectShow, since
324 - system.ini doesn't contain the needed information, instead it's stored in
325 the registry :(
326 - we'll need the GUID of the codec.
327
328 So let's search that goddamn registry..
329 - Start 'regedit'
330 - press ctrl-f, disable the first two checkbox, and enable the third. Type
331 the fourcc of the codec. (for ex.: TM20)
332 - you should see a field which contains the path and filename
333 (for ex. : C:\WINDOWS\SYSTEM\TM20DEC.AX)
334 - now that we have the file, we'll need the GUID. Try searching again, but
335 now we'll search for the codec's name, not the fourcc. Its name can be acquired
336 when Media Player is playing that file, by checking File/Properties/Advanced.
337 If not, bad luck ;) Try guessing.
338 (for ex. search for : TrueMotion)
339 - if found (in registry), there should be a FriendlyName field, and a CLSID
340 field. Write down that 16 byte of CLSID, this is the GUID required by us.
341
342 NOTE : if searching fails, try to enable all the checkboxes.. you may have
343 false hits, but maybe you'll have the right, too...
344 NOTE : dump that M$ shit.
345
346 So, now we have all the info needed (fourcc, GUID, codec file, sample AVI),
347 submit your codec support request in mail, and upload these files to the FTP:
348 ftp://thot.banki.hu/MPlayer/incoming/<codecname>/
349
350
351 <A NAME=2.2>2.2. Video & Audio output devices
352
353
354 <A NAME=2.2.1>2.2.1. Video output devices
355
356 General:
357 - x11: X11 with optional SHM extension
358 - xv: X11 using overlays with the Xvideo extension (hardware YUV & scaling)
359 - gl: OpenGL renderer, so far works only with :
360 - all cards with Utah-GLX
361 - Matrox cards with X/DRI >=4.0.3
362 - Radeon with X/DRI CVS
363 - dga: X11 DGA extension
364 - fbdev:Output to general framebuffers
365 - svga: Output to SVGAlib
366 - sdl: 1.1.7 : supports software scaling
367 1.1.8 : supports Xvideo (hardware scaling/fullscreen)
368 1.2.0 : supports aalib (textmode rendering, very funny!)
369 - ggi: similar to SDL
370
371 Card specific:
372 - mga: Matrox G200/G400 hardware YUV overlay via the mga_vid device
373 - xmga: Matrox G200/G400 overlay (mga_vid) in X11 window
374 (Xv emulation on X 3.3.x !)
375 - syncfb: Matrox G400 YUV support on framebuffer (obsoleted, use mga/xmga)
376 - 3dfx: Voodoo2/3 hardware YUV (/dev/3dfx) support (not yet tested, maybe
377 broken)
378
379 Special:
380 - png: PNG files output (use -z switch to set compression)
381 - pgm: PGM files output (for testing purposes or ffmpeg encoding)
382 - md5: MD5sum output (for MPEG conformance tests)
383 - odivx:OpenDivX AVI File writer (use -br to set encoding bitrate)
384 - null: Null output (for speed tests/benchmarking)
385
386 NOTE: check DOCS/VIDEOCARDS for details and requirements!
387
388
389 <A NAME=2.2.1.1>2.2.1.1. Xv
390
391 I. Under XFree86 4.0.2 or newer, using the XVideo extension:
392 this is what the option '-vo xv' uses.
393
394 In order to make this work, be sure to check the following:
395
396 1. You use XFree86 4.0.2 or newer (former versions don't have XVideo)
397
398 2. Your card actually supports harware acceleration (modern cards do)
399
400 3. X loads the XVideo extension, it's something like this:
401 (II) Loading extension XVideo
402 in /var/log/XFree86.0.log
403 NOTE : this loads only the XFree86's extension. In a good install, this is
404 always loaded, and doesn't mean that the _card's_ XVideo support is
405 loaded!
406
407 4. Your card has Xv support under Linux. To check, try 'xvinfo', it is the
408 part of the XFree86 distribution. It should display a long text, similar
409 to this:
410
411 X-Video Extension version 2.2
412 screen #0
413 Adaptor #0: "Savage Streams Engine"
414 number of ports: 1
415 port base: 43
416 operations supported: PutImage
417 supported visuals:
418 depth 16, visualID 0x22
419 depth 16, visualID 0x23
420 number of attributes: 5
421 (...)
422 Number of image formats: 7
423 id: 0x32595559 (YUY2)
424 guid: 59555932-0000-0010-8000-00aa00389b71
425 bits per pixel: 16
426 number of planes: 1
427 type: YUV (packed)
428 id: 0x32315659 (YV12)
429 guid: 59563132-0000-0010-8000-00aa00389b71
430 bits per pixel: 12
431 number of planes: 3
432 type: YUV (planar)
433 (...etc...)
434
435 It must support YUY2 packed, and YV12 planar pixel formats to be
436 usable with MPlayer.
437
438 I.1.
439 a, If xvinfo doesn't show these, but XVideo extension is loaded and you're
440 sure your card can do YUV conversion,
441 - 3dfx voodoo3/banshee users download a new DRI from
442 http://dri.sourceforge.net (or possibly use X 4.1.0)
443 - S3 Savage4 users download XFree86 >= 4.0.3 (4.1.0 preferred)
444 - nVidia users sell their card.. or download the nVidia driver from
445 nVidia's website
446 b, The GATOS driver (for ATI cards) has VSYNC enabled by default. It means
447 that decoding speed (!) is synced to the monitor's refresh rate. If
448 playing seems to be slow, try disabling VSYNC somehow, or set refresh
449 rate to n*(fps of the movie) Hz.
450
451 5. Be sure MPlayer is compiled with the "xv" target. "./configure" should say:
452 Checking for Xv ... yes
453
454 6. If all is fine, try the option '-vo xv' . It should work.
455 (if it doesn't, send us a bugreport. See the BUGREPORTS on how to do this.)
456
457
458
459 <A NAME=2.2.1.2>2.2.1.2. DGA
460
461 1. Make sure X loads the DGA extension:
462 (II) Loading extension XFree86-DGA
463 (you see, XFree86 4.0.x or greater is VERY RECOMMENDED!)
464 2. MPlayer's DGA driver is autodetected on ./configure, or you can force it
465 with --enable-dga.
466 3. If the driver couldn't switch to a smaller resolution, experiment with
467 switches -vm (only with X 3.3.x), -fs, -bpp, -zoom to find a video mode that
468 the movie fits in. There is no converter right now.. :(
469 4. Become ROOT. DGA needs root access to be able to write directly video memory.
470 If you want to run it as user, then install MPlayer SUID root:
471 'chown root /usr/local/bin/mplayer'
472 'chmod 750 /usr/local/bin/mplayer'
473 'chmod +s /usr/local/bin/mplayer'
474 Now it works as a simple user, too.
475 !!!! BUT STAY TUNED !!!!
476 This is a BIG security risk! Never do this on a server or on a computer
477 can be accessed by more people than only you because they can gain root
478 privilegies through suid root mplayer.
479 !!!! SO YOU HAVE BEEN WARNED ... !!!!
480 5. Use '-vo dga' option, and there you go! (hope so:)
481 6. Try if the '-vo sdl:dga' options work for you! It's much faster!!!
482
483
484 <A NAME=2.2.1.2.1>2.2.1.2.1. Summary
485
486 This document tries to explain in some words what DGA is in general and
487 what the DGA video output driver for mplayer can do (and what it can't).
488
489
490 <A NAME=2.2.1.2.2>2.2.1.2.2. What is DGA
491
492 DGA is short for Direct Graphics Access and is a means for a program to
493 bypass the X-Server and directly modifying the framebuffer memory.
494 Technically spoken this happens by mapping the framebuffer memory into
495 the memory range of your process. This is allowed by the kernel only
496 if you have superuser privileges. You can get these either by logging in
497 as root or by setting the suid bit on the mplayer excecutable (NOT
498 recommended!).
499
500 There are two versions of DGA: DGA1 is used by XFree 3.x.x and DGA2 was
501 introduced with XFree 4.0.1.
502
503 DGA1 provides only direct framebuffer access as described above. For
504 switching the resolution of the video signal you have to rely on the
505 XVidMode extension.
506
507 DGA2 incorporates the features of XVidMode extension and also allows
508 switching the depth of the display. So you may, although basically
509 running a 32 bit depth XServer, switch to a depth of 15 bits and vice
510 versa.
511
512 However DGA has some drawbacks. It seems it is somewhat dependent on the
513 graphics chip you use and on the implementation of the XServer's video
514 driver that controls this chip. So it does not work on every system ...
515
516
517 <A NAME=2.2.1.2.3>2.2.1.2.3. Resolution switching
518
519 The DGA driver allows for switching the resolution of the output signal.
520 This avoids the need for doing (slow) software scaling and at the same
521 time provides a fullscreen image. Ideally it would switch to the exact
522 resolution (except for honouring aspect ratio) of the video data, but the
523 XServer only allows switching to resolutions predefined in
524 /etc/X11/XF86Config (/etc/X11/XF86Config-4 for XFree 4.0.X respectively).
525 Those are defined by so-called modelines and depend on the capabilites
526 of your video hardware. The XServer scans this config file on startup and
527 disables the modelines not suitable for your hardware. You can find
528 out which modes survive with the X11 log file. It can be found at:
529 /var/log/XFree86.0.log
530 See appendix A for some sample modeline definitions.
531
532
533 <A NAME=2.2.1.2.4>2.2.1.2.4. DGA & MPlayer
534
535 DGA is used in two places with MPlayer: The SDL driver can be made to make
536 use of it (-vo sdl:dga) and within the DGA driver (-vo dga).
537 The above said is true for both; in the following sections I'll explain
538 how the DGA driver for MPlayer works.
539
540
541 <A NAME=2.2.1.2.5>2.2.1.2.5. Features of the DGA driver
542
543 The DGA driver is invoked by specifying -vo dga at the command line.
544 The default behaviour is to switch to a resolution matching the original
545 resolution of the video as close as possible. It deliberately ignores the
546 -vm and -fs switches (enabling of video mode switching and fullscreen) -
547 it always tries to cover as much area of your screen as possible by switching
548 the video mode, thus refraining to use a single additional cycle of your CPU
549 to scale the image.
550 If you don't like the mode it chooses you may force it to choose the mode
551 matching closest the resolution you specify by -x and -y.
552 By providing the -v option, the DGA driver will print, among a lot of other
553 things, a list of all resolutions supported by your current XF86-Config
554 file.
555 Having DGA2 you may also force it to use a certain depth by using the -bpp
556 option. Valid depths are 15, 16, 24 and 32. It depends on your hardware
557 whether these depths are natively supported or if a (possibly slow)
558 conversion has to be done.
559
560 If you should be lucky enough to have enough offscreen memory left to
561 put a whole image there, the DGA driver will use doublebuffering, which
562 results in much smoother movie replaying. It will tell you whether double-
563 buffering is enabled or not.
564
565 Doublebuffering means that the next frame of your video is being drawn in
566 some offscreen memory while the current frame is being displayed. When the
567 next frame is ready, the graphics chip is just told the location in memory
568 of the new frame and simply fetches the data to be displayed from there.
569 In the meantime the other buffer in memory will be filled again with new
570 video data.
571
572 Doublebuffering may be switched on by using the option -double and may be
573 disabled with -nodouble. Current default option is to disable
574 doublebuffering. When using the DGA driver, onscreen display (OSD) only
575 works with doublebuffering enabled. However, enabling doublebuffering may
576 result in a big speed penalty (on my K6-II+ 525 it used an additional 20% of
577 CPU time!) depending on the implementation of DGA for your hardware.
578
579
580 <A NAME=2.2.1.2.6>2.2.1.2.6. Speed issues
581
582 Generally spoken, DGA framebuffer access should be at least as fast as using
583 the X11 driver with the additional benefit of getting a fullscreen image.
584 The percentage speed values printed by mplayer have to be interpreted with
585 some care, as for example, with the X11 driver they do not include the time
586 used by the X-Server needed for the actual drawing. Hook a terminal to a
587 serial line of your box and start top to see what is really going on in your
588 box ...
589
590 Generally spoken, the speedup done by using DGA against 'normal' use of X11
591 highly depends on your graphics card and how well the X-Server module for it
592 is optimized.
593
594 If you have a slow system, better use 15 or 16bit depth since they require
595 only half the memory bandwidth of a 32 bit display.
596
597 Using a depth of 24bit is even a good idea if your card natively just supports
598 32 bit depth since it transfers 25% less data compared to the 32/32 mode.
599
600 I've seen some avi files already be replayed on a Pentium MMX 266. AMD K6-2
601 CPUs might work at 400 MHZ and above.
602
603
604 <A NAME=2.2.1.2.7>2.2.1.2.7. Known bugs
605
606 Well, according to some developpers of XFree, DGA is quite a beast. They
607 tell you better not to use it. Its implementation is not always flawless
608 with every chipset driver for XFree out there.
609
610 o with XFree 4.0.3 and nv.o there is a bug resulting in strange colors
611 o ATI driver requires to switch mode back more than once after finishing
612 using of DGA
613 o some drivers simply fail to switch back to normal resolution (use
614 Ctrl-Alt-Keypad +, - to switch back manually)
615 o some drivers simply display strange colors
616 o some drivers lie about the amount of memory they map into the process's
617 address space, thus vo_dga won't use doublebuffering (SIS?)
618 o some drivers seem to fail to report even a single valid mode. In this
619 case the DGA driver will crash telling you about a nonsense mode of
620 100000x100000 or the like ...
621 o OSD only works with doublebuffering enabled
622
623
624 <A NAME=2.2.1.2.8>2.2.1.2.8. Future work
625
626 o use of the new X11 render interface for OSD
627 o where is my TODO list ???? :-(((
628
629
630 <A NAME=2.2.1.2.A>2.2.1.2.A. Some modelines
631
632 Section "Modes"
633 Identifier "Modes[0]"
634 Modeline "800x600" 40 800 840 968 1056 600 601 605 628
635 Modeline "712x600" 35.0 712 740 850 900 400 410 412 425
636 Modeline "640x480" 25.175 640 664 760 800 480 491 493 525
637 Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan
638 Modeline "352x288" 25.10 352 368 416 432 288 296 290 310
639 Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan
640 Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan
641 EndSection
642
643
644 These entries work fine with my Riva128 chip, using nv.o XServer driver
645 module.
646
647
648 <A NAME=2.2.1.2.B>2.2.1.2.B. Bug Reports
649
650 If you experience troubles with the DGA driver please feel free to file
651 a bug report to me (e-mail address below). Please start mplayer with the
652 -v option and include all lines in the bug report that start with vo_dga:
653
654 Please do also include the version of X11 you are using, the graphics card
655 and your CPU type. The X11 driver module (defined in XF86-Config) might
656 also help. Thanks!
657
658
659 Acki (acki@acki-netz.de, www.acki-netz.de)
660
661
662 <A NAME=2.2.1.3>2.2.1.3. SDL
663
664 Here are some notes about SDL out in MPlayer.
665
666 There are several commandline switches for sdl:
667 -vo sdl:<name> specifies sdl video driver to use (ie. aalib,
668 dga, x11)
669 -ao sdl:<name> specifies sdl audio driver to use (ie. dsp, esd)
670 -noxv disables Xvideo hardware acceleration
671 -forcexv tries to force Xvideo acceleration
672
673 SDL Keys:
674 F toggles fullscreen/windowed mode
675 C cycles available fullscreen modes
676 W/S mappings for * and / (mixer control)
677
678 KNOWN BUGS:
679 - Keys pressed under aalib console driver repeat forever.
680 It's bug in SDL, I can't change it (tested with SDL 1.2.1).
681
682
683 <A NAME=2.2.1.4>2.2.1.4. SVGAlib
684
685 a, If you don't have X...
686 ...use the SVGAlib target! Be sure not to use the -fs switch, since it
687 toggles the usage of the software scaler, and it's SLOOOW now, unless you
688 have a real fast CPU (and/or MTRR?). :(
689
690 Of course you'll have to install svgalib and its development package in
691 order for MPlayer build its SVGAlib driver (autodetected, but can be
692 forced), and don't forget to edit /etc/vga/libvga.config to suit your
693 card & monitor.
694
695
696 <A NAME=2.2.1.5>2.2.1.5. Framebuffer output (FBdev)
697
698 b, You want to use framebuffer...
699 ... Whether to build the FBdev target is autodetected during ./configure .
700 Read the framebuffer documentation in the kernel sources
701 (Documentation/fb/*) for info on how to enable it, etc.. !
702
703 ... but your card doesn't support VBE 2.0 standard (older ISA/PCI
704 cards, such as S3 Trio64), only VBE 1.2 (or older?) :
705 Well, VESAfb is still available, but you'll have to load SciTech Display
706 Doctor (formerly UniVBE) before booting Linux. Use a DOS boot disk or
707 whatever. And don't forget to register your UniVBE ;))
708
709 NOTE : FBdev video mode changing _does not work_ with the VESA framebuffer,
710 and don't ask for it, since it's not an MPlayer limitation.
711
712
713 <A NAME=2.2.1.6>2.2.1.6. Matrox framebuffer (mga_vid)
714
715 1. Matrox G200/G400/G450 BES (Back-End Scaler) support -> mga_vid kernel drv.
716 It's active developed by me (A'rpi), and it has hardware VSYNC support
717 with triple buffering. It works on both framebuffer console and under X.
718
719 To use, simply compile the mga_vid.o in the drivers/ subdir (type: make)
720 create /dev/mga_vid device :
721 mknod /dev/mga_vid c 178 0
722 and load the driver with insmod mga_vid.o. You should verify the memory size
723 detection using the 'dmesg' command. If it's bad, use the mga_ram_size
724 option (rmmod mga_vid first), specify card's memory size in MB:
725 insmod mga_vid.o mga_ram_size=16
726 To make it load/unload automatically when needed, insert the following line
727 at the end of /etc/modules.conf :
728 alias char-major-178 mga_vid
729 Then run
730 depmod -a
731
732 Using it from MPlayer: (you should re-compile it with mga_vid support...)
733
734 Use the 'mga' vo driver on framebuffer console (matroxfb): -vo mga
735 and use the xmga driver for X 3.3.x: -vo xmga
736
737 Note: it works under X 4.0.2 too, but it conflicts with the Xv driver,
738 so avoid using both. Usually X restart or reboot needs to get Xv usable
739 again :(
740
741 If you have a dual-head G400, and a TV or second monitor connected to head2,
742 then you can watch movies on it: read DOCS/TVout-G400 for details (big hack)
743
744
745 <A NAME=2.2.1.7>2.2.1.7. SiS 6326 framebuffer (sis_vid)
746
747 2. SiS 6326 YUV Framebuffer driver -> sis_vid kernel driver
748 Its interface should be compatible with the mga_vid, but the driver
749 was not updated after the mga_vid changes, so it's outdated now.
750 Volunteers needed to test it and bring the code up-to-date.
751
752
753 <A NAME=2.2.1.8>2.2.1.8. 3dfx YUV support
754
755 3. 3dfx (which ones?) YUV+scaler support, using /dev/3dfx (tdfx.o driver?)
756 The /dev/3dfx kernel driver exists only for 2.2.x kernels, for use with
757 Glide 2.x Linux ports. It's not tested with MPlayer, and so no more
758 supported. Volunteers needed to test it and bring the code up-to-date.
759
760
761 <A NAME=2.2.1.9>2.2.1.9. OpenGL output
762
763 The old Utah-GLX drivers (for X 3.3.6) have it, with all cards.
764 See http://utah-glx.sourceforge.net for details about how to install it.
765
766 DRI >= 4.0.3 supports it only with Matrox cards, and Radeon.
767 See dri.sourceforge.net for download, and installation instructions.
768
769
770 <A NAME=2.2.2>2.2.2. Audio output devices
771
772 - OSS (ioctl) driver
773 - SDL driver (supports up/downsampling, esd, arts etc)
774 - native ALSA 0.5 driver
775 - native ALSA 0.9 driver (buggy, use OSS emulation!)
776 - native ESD driver (under development?)
777 - SUN audio driver (/dev/audio) for BSD and Solaris8 users
778
779
780 <A NAME=2.3>2.3. Subtitles and OSD (On-Screen Display)
781
782 Yes, mplayer also supports many kinds of subtitles. Currently (2001/06/01)
783 7 kinds of subtitle can be used by the subreader code. To see what are
784 these subtitle formats, see subreader.c, line ~20.
785
786 Subtitles are displayed with a technique called 'OSD', On Screen Display.
787 OSD is used to display current time, volume bar, seek bar etc.
788
789
790 INSTALLING OSD and SUB
791 -------
792
793 NOTE: OSD and SUBTITLES are NOT enabled by default! You have to download
794 fonts from mplayer's download page mplayerhq.hu/homepage/dload.html
795
796 Standard (Central-European, Latin1) font package:
797 http://thot.banki.hu/mp-ftp/releases/mp_font3.zip
798 (it obsoletes mp_font1.zip and mp_font2.zip)
799
800 Cyrillic fonts:
801 http://thot.banki.hu/mp-ftp/releases/bgfont.zip
802
803 And visit this site for korean subtitle support:
804 http://realtime.ssu.ac.kr/~lethean/mplayer
805
806 After that, UNZIP the files to ~/.mplayer/font/
807 Now you have to see a clock at the upper left corner of the movie
808 (switch it off with 'o')
809
810 OSD has 3 states: (switch with 'o')
811 - clock + volume bar + seek bar + sub (default)
812 - volume bar + seek bar + sub
813 - only sub
814
815
816 <A NAME=3>3. Usage
817
818 file: mplayer [options] [path/]filename
819 VCD: mplayer [options] -vcd trackno /dev/cdrom
820 DVD: mplayer [options] -dvdauth /dev/dvd filename.VOB
821 net: mplayer [options] http://site.com/file.[mpg|avi]
822
823 mplayer -vo x11 /mnt/Films/Contact/contact2.mpg
824 mplayer -vcd 2 /dev/cdrom
825 mplayer -afm 3 /mnt/DVDtrailers/alien4.vob
826 mplayer -dvd /dev/dvd /mnt/dvd/matrix.vob
827 mplayer -abs 65536 -delay -0.4 -nobps ~/movies/test.avi
828
829
830 <A NAME=3.1>3.1. Control from keyboard
831
832 <- or -> seek backward/forward 10 seconds
833 up or down seek backward/forward 1 minute
834 p or SPACE pause movie (press any key to continue)
835 q or ^C stop playing and quit program
836 o toggle OSD : none / seek / seek+timer
837 / and * decrease/increase volume
838 m toggle using master/pcm channel for volume setting
839 f toggle fullscreen (only with -vo sdl)
840
841
842 <A NAME=3.2>3.2. Control from LIRC
843
844 Linux Infrared Remote Control - use an easy to build home-brewn IR-receiver,
845 an (almost) arbitrary remote control and control your linux box with it!
846 More about it at www.lirc.org.
847
848 If you have installed the lirc-package, you can compile MPlayer with LIRC
849 support using ./configure --enable-lirc
850
851 If everything went fine, MPlayer will print a message like
852 LIRC init was successful.
853 on startup. If an error occurs it will tell you. If it doens't tell you
854 anything about LIRC there's no support compiled in. That's it :-)
855
856 The application name for MPlayer is - oh wonder - mplayer_lirc.
857 It understands the following commands:
858
859 PAUSE - pause playing. Any other keystroke will continue replay.
860 QUIT - exit mplayer
861 RWND - 10 secs back
862 FRWND - 60 secs back
863 FWD - skip 10 secs
864 FFWD - skip 60 secs
865 INCVOL - increase volume one percent
866 DECVOL - decrease volmue one percent
867 MASTER - use master mixer channel
868 PCM - use pcm mixer channel
869
870 Don't forget to enable the repeat flag for RWND/FWD in .lircrc. Here's an
871 excerpt from my .lircrc:
872
873 begin
874 remote = CU-SX070
875 prog = mplayer_lirc
876 button = Tape_Play
877 repeat = 1
878 config = FFWD
879 end
880
881 begin
882 remote = CU-SX070
883 prog = mplayer_lirc
884 button = Tape_Stop
885 config = QUIT
886 end
887
888 If you don't like the standard location for the lirc-config file (~/.lircrc)
889 use the -lircconf <filename> switch to specify another file.
890
891
892 <A NAME=3.3>3.3. Streaming from network or pipes
893
894 wget ftp://micorsops.com/something.avi -O - | mplayer -
895
896
897 <A NAME=4>4. TV-out support
898
899
900 <A NAME=4.1>4.1. Matrox cards
901
902 > What I'd love to see in mplayer is the the same feature that I see in my
903 > windows box. When I start a movie in windows (in a window or in full screen)
904 > the movie is also redirected to the tv-out and I can also see it full screen
905 > on my tv. I love this feature and was wondering how hard it would be to add
906 > such a feature to mplayer.
907
908 It's a driver limitation. BES (Back-End Scaler, it's the overlay generator
909 and YUV scaling engine of G200/G400/G450 cards) works only with CRTC1.
910 Normally, CRTC1 (textmode, every bpp gfx and BES) is routed to HEAD1,
911 and CRTC2 (only 16/32bpp gfx) is routed to HEAD2 (TV-out).
912
913 Under linux, you have two choices to get TV-out working:
914
915 1. Using X 4.0.x + the HAL driver from matrox, so you'll get dual-head
916 support, and you'll be able to redirect second output to the TV.
917 Unfortunately it has Macrovision encryption enabled, so it will
918 only work on directly-connected TV, no through VCR.
919 Other problem is that Xv doesn't work on the second head.
920 (I don't know how Windows solve it, maybe it swaps the CRTCs between
921 the heads, or just uses YUV framebuffer of second DAC with some trick)
922
923 2. Using matroxfb with dual-head support enabled (2.4.x kernels).
924 You'll be able to get a framebuffer console (using CRTC2, so it's
925 slow), and TV-out (using CRTC1, with BES support).
926 You have to forget X while using this kind of TV-out! :(
927
928 - Compile all the matrox-related things to modules in the kernel.
929 (you MUST compile them to modules, at least I couldn't get them
930 working built-in yet)
931 [reboot to new kernel & install modules, but don't load them yet!]
932
933 - Run the 'modules' script from the TV-out directory of mplayer.
934 It will switch your console to framebuffer.
935 Change to tty1 (ALT+F1)!
936 Now run the script 'independent', it will set up your tty's:
937 tty 1,2: fb console, CRTC2, head 1 (monitor)
938 tty 3,4,5...: framebuffer+BES, CRTC1, head 2 (TV-out)
939 You should run the scripts TV-* and Mon-* to set up resolutions:
940 change to tty1 (ALT+F1), and run Mon-* (one of them)
941 change to tty3 (ALT+F3) and then back to tty1 (ALT+F1)
942 (this change will select tty3 on /dev/fb1 - tricky)
943 run TV-* (one of them)
944 (now you'll get a console on your PAL TV - don't know about NTSC)
945
946 Now if you start mplayer (on tty1), the picture will show up on
947 the tty3, so you'll see it on your TV or second monitor.
948
949 Yes, it is a bit 'hack' now. But I'm waiting for the marvel
950 project to be finished, it will provide real TV-out drivers, I hope.
951
952 My current problem is that BES is working only with CRTC1. So picture
953 will always shown up on head routed to CRTC1 (normaly the monitor),
954 so i have to swap CRTC's, but this way your console will framebuffer
955 (CRTC2 can't do text-mode) and a bit slow (no acceleration). :(
956
957
958 > anyway i also just get monochrome output on the tv ...
959 Maybe you have NTSC TV? Or just didn't run one of TV-* scripts.
960
961
962 <A NAME=5>5. Tuning
963
964
965 <A NAME=5.1>5.1. CD-ROM drives
966
967 From Linux documentation:
968
969 Some CDROM drives are capable of changing their head-speed. There are several
970 reasons for changing the speed of a CDROM drive. Badly pressed CDROMs may
971 benefit from less-than-maximum head rate. Modern CDROM drives can obtain very
972 high head rates (up to 24-times is common). It has been reported that these
973 drives can make reading errors at these high speeds, reducing the speed can
974 prevent data loss in these circumstances. Finally, some of these drives can
975 make an annoyingly loud noise, which a lower speed may reduce.
976
977 The recommended way to do it is with a program called 'setcd' . It's kinda
978 old, but won't be too hard to find on the Net.
979 Use it with :
980 setcd -x <speed> <cdrom device>
981
982 Also you can try :
983 echo current_speed:4 >/proc/ide/<cdrom device>/settings
984 but you'll need root privileges. (It didn't work for me - Gabucino)
985
986 I use following command too :
987 echo file_readahead:2000000 >/proc/ide/<cdrom device>/settings
988 for 2MB prefetched reading from the file (it's useful for scratched CDROMs).
989
990 It's recommended that you tuneup your CDROM drive also with hdparm :
991 hdparm -d1 -a8 -u1 <cdrom device>
992 to enable using DMA access, readahead, and IRQ unmasking.
993 (if you don't understand these, *read the hdparm manpage*)
994
995 Please refer to "/proc/ide/<cdrom device>/settings" for fine-tuning your
996 CDROM.
997
998
999 <A NAME=5.2>5.2. DVD drives
1000
1001 IMPORTANT NOTE: please _DO_NOT_ require further features for DVD playback. This
1002 is extremly experimental hack. Maybe it won't work for you. If you're
1003 capable of helping us do it now! First we would like to fix existing problems.
1004 Then we can start implementing advanced DVD playback functions of course.
1005
1006 This means current DVD functions are mainly for developers and not for users!
1007
1008 First, you must compile and install libcss on your system.
1009 Second, you have to recompile MPlayer with libcss support. There is
1010 autodetection of libcss, but if it fails, see below :
1011
1012 Call ./configure script of MPlayer with these options:
1013
1014 ./configure --enable-css --with-csslibdir=/usr/local/lib --with-cssincdir=/usr/local/include
1015
1016 (of course you can append your favourite options as well)
1017
1018 --with-csslibdir=/usr/local/lib
1019 Directory contains libcss.so shared library. This directory should
1020 be in your /etc/ld.so.conf as well.
1021
1022 --with-cssincdir=/usr/local/include
1023 Directory contains header file 'css.h' of libcss.
1024
1025 mplayer -dvdauth /dev/dvd /mnt/cdrom/video_ts/vts_01_1.vob
1026
1027 where,
1028
1029 '-dvdauth /dev/dvd' tells MPlayer the device name of your DVD drive.
1030 it's used in disc authentication process
1031
1032 the filename is simply a VOB file path on the disc
1033
1034 Note that according to my experiences, disc authentication requires root
1035 privileges so you must run MPlayer as root! (see section 'Problems').
1036
1037 NOTE about the sound:
1038 It seems that MPlayer sometimes fails to find the first audio stream.
1039 You can specify it with the '-aid 128' option, for example.
1040 Please experience with 128,129 and similar values. See section
1041 'Problems'.
1042
1043 On my AMD K6-2 with using hw scaling and colorspace conversion
1044 capability of my G400 it's possible to watch DVD with about 70%
1045 CPU usage with '-nosound'. Unfortunately with sound my machine is
1046 not enough :( Maybe it can be improved somewhat ...
1047 Guess, it's not so bad ... According to reports from my friends
1048 xine uses 80-90% CPU to play DVD on much more powerful machines
1049 like 1GHz Athlon systems (as far as I know, it's said that about
1050 300MHz celeron is the minimum to watch DVDs ... using windows
1051 DVD viewers).
1052
1053 Hint: I commented out downmix functions from libac3 (of course in this way I
1054 can't get sound) and audio decoding CPU usage became 11% instead of 24 on
1055 my machine. This clearly indicates that we should optimize downmix functions
1056 (KNI code is no use for my k6-2).
1057
1058 HOT NEWZ:
1059 We have got 3Dnow optimized libac3. Wow ;-)
1060
1061
1062 Problems (TODO)
1063
1064 * disc authentication (the FIBMAP ioctl) requires root privilegies.
1065 this is strange since OMS can do it as user too.
1066 * sound. I'm using my only DVD disc (The Matrix) to test MPlayer.
1067 some VOB file have English sound, some have Spanish and some have
1068 no sound at all.
1069 IT SEEMS that if I give '-aid 128' everything works with English sound ...
1070 * strange effects but only with SOME vob files (it looks like some interlacing
1071 effect, eg: every 2nd line on the screen is from the last frame).
1072
1073
1074 Feature TODO
1075
1076 * chapter scanner
1077 * audio stream scanner and allow to select one on runtime as well
1078 (in stage#1 it would be enough to select one on the startup, see
1079 'Problems' above)
1080 * DVD menu
1081 I found (at least on disc 'The Matrix') the menu VOB but I don't
1082 know how can it be used.
1083 (after some eyeballing on the source of OMS, it seems we would have to
1084 parse *.ifo files)
1085 * subtitle support
1086 * OSD/GUI (?) support for select chapter, subtitle and audio stream
1087 * getting some documentation on DVD format, eg: which is the 'root' VOB
1088 file on the disc in video_ts directory, which is the menu and so on.
1089 * improve performance (see 'Performance' above)
1090
1091
1092 No sound problem (from Matrix DVD, the menu VOB)
1093
1094 End of packet while searching for PCM header
1095
1096 DEMUXER: Too many (2048 in 4131540 bytes) video packets in the buffer!
1097 (maybe you play a non-interleaved stream/file or video codec failed)
1098 MPEG: No Audio stream found... ->nosound
1099
1100 However this does not occur if you specify '-aid 128'.
1101
1102
1103 <A NAME=5.3>5.3. MTRR
1104
1105 Setting up MTRR for X11 3.3.x, SVGAlib or mga_vid:
1106 ==================================================
1107
1108 1. find the base address
1109 ~~~~~~~~~~~~~~~~~~~~~~~~
1110 You have 3 ways to find it:
1111
1112 - from X11 startup messages, for example:
1113 (--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000
1114 (--) SVGA: Linear framebuffer at 0xD8000000
1115
1116 - from /proc/pci (use lspci -v command):
1117 01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525
1118 Memory at d8000000 (32-bit, prefetchable)
1119
1120 - from mga_vid kernel driver messages (use dmesg):
1121 mga_mem_base = d8000000
1122
1123 2. find memory size
1124 ~~~~~~~~~~~~~~~~~~~
1125 This is very easy, just convert video ram size to hexadecimal, or
1126 use this table:
1127 1 MB 0x100000
1128 2 MB 0x200000
1129 4 MB 0x400000
1130 8 MB 0x800000
1131 16 MB 0x1000000
1132 32 MB 0x2000000
1133
1134 3. setting up mtrr
1135 ~~~~~~~~~~~~~~~~~~
1136 You know base address and memory size, let's setup mtrr registers!
1137
1138 For example, for the matrox card above (base=0xd8000000) with 32MB
1139 ram (size=0x2000000) just execute:
1140 echo "base=0xd8000000 size=0x2000000 type=write-combining" >| /proc/mtrr
1141
1142 - Older K6-2's [around 266Mhz, stepping 0] doesn't support MTRR, but
1143 stepping 12's do ('cat /proc/cpuinfo' to check it).
1144
1145
1146 <A NAME=6>6. FAQ section
1147
1148 Yes, this is the MPlayer FAQ.
1149 =============================
1150
1151 About:
1152 ~~~~~~
1153 Many people asked same questions so I decided to write this stuff.
1154 I know that people will never read this but at least i try to
1155 pull down number of these mails.
1156 And from now i can say that "read the fuckin' FAQ!" :-)
1157
1158 Let's ask!
1159 ~~~~~~~~~~
1160 Q: What about DVD playback?
1161 A: Read files 'DVD' and 'DVD-FAQ'.
1162
1163 Q: SDL output doesn't work or compile. Problem is ....
1164 A: It is tested with newest SDL (probably runs on 1.1.7+).
1165 It does NOT work with 1.1.6, 1.1.5 1.1.4 1.1.3 1.0.4 etc, don't ask.
1166
1167 Q: I am still having trouble compiling with SDL support. gcc says something
1168 about "undefined reference to `SDL_EnableKeyRepeat'" What's now?
1169 A: Where did you install the SDL library? If you installed in /usr/local
1170 (the default) then edit the top level config.mak and add
1171 "-L/usr/local/lib " after "X_LIBS=" Now type make. You're done!
1172
1173 Q: It doesn't compile, and it misses uint64_t inttypes.h and similar things...
1174 A: copy DOCS/inttypes.h to MPlayer directory (cp DOCS/inttypes.h .)
1175 try again... if fail, contact us
1176
1177 Q: I have Pentium III but ./configure doesn't detect SSE
1178 A: Only kernel versions 2.4.x supports SSE (or try latest 2.2.19 or newer, but
1179 be prepared for problems)
1180
1181 Q: -xy option doesn't work with x11 driver (-vo x11)
1182 A: x11 driver doesn't support scaling, but XF86VidMode support is now
1183 used: you must specify the -vm and the -fs switch, and you're done.
1184 Make sure you have the right Modelines in your XF86Config file, and
1185 try if the DGA driver (and SDL's DGA driver, see VIDEOCARDS) works for you.
1186 It's much faster. If SDL's DGA works too, use that, it'll be EVEN
1187 faster!
1188
1189 Q: audio goes out of sync playing .avi file
1190 A: try with -bps or -nobps option
1191 if still bad, send me (upload to ftp) that file, I'll check.
1192
1193 Q: what is the meaning of numbers in the status line?
1194 A: see:
1195 A: 2.1 V: 2.2 A-V: -0.167 ct: 0.042 57 41% 0% 2.6% 0
1196 - A: audio position in seconds
1197 - V: video position in seconds
1198 - A-V: audio-video difference in seconds (delay)
1199 - ct: total A-V sync correction done
1200 - frames played (counting from last seek)
1201 - video codec cpu usage in percent (for mpeg it includes video_out too!)
1202 - video_out cpu usage for avi, 0 for mpg (see above)
1203 - audio codec cpu usage in percent
1204 - frames needed to drop to maintain A-V sync
1205 Most of them are for debug purposes, and will be removed soon.
1206
1207 Q: Why is video_out cpu usage zero (0%) for mpeg files?
1208 A: It's not zero, but it's built in into codec, so can't be measured separated.
1209 You should try to play the file using -vo null and then -vo ... and check
1210 the difference to see video_out speed...
1211
1212 Q: OpenGL (-vo gl) output doesn't work (hangup/black window/X11 errors/...)
1213 A: your opengl driver doesn't support dynamic texture changes (glTexSubImage)
1214 it's known not to work with nVidia's binary shit.
1215 it's known to work with Utah-GLX/DRI and Matrox G400 card. Also with
1216 DRI and Radeon card. It won't work with DRI others than these.
1217 it will not work with 3DFX cards because the 256x256 texture size limit.
1218
1219 Q: I have G200/G400, how to compile/use mga_vid driver?
1220 A: read VIDEOCARDS, INSTALL, README
1221
1222 Q: What's XMMP? (is it XMMS or XMPS but mispelled?)
1223 A: It's a new project, see http://frozenproductions.com for details
1224
1225 Q: There are error messages about file not found /usr/lib/win32/....
1226 A: Download & install w32codec.zip from *our* FTP
1227 (avifile's codec package has different DLL set)
1228
1229 Q: ...... works with avifile/aviplay while doesn't with MPlayer
1230 A: MPlayer != avifile
1231 The only common thing between these players is the Win32 DLL loader.
1232 The codecs (dll) sets, syncronization, demultiplexing etc is totaly
1233 different and shouldn't be compared.
1234 If something works with aviplay it doesn't mean that MPlayer should do
1235 it and vice versa.
1236
1237 Q: Indeo 3.x/4.x movies are viewed upside-down!!!?
1238 A: It's a known bug (really it's a bug/limitation of the DLL codec)
1239 Try if your vo driver supports the -flip switch.
1240
1241 Q: Indeo 3.x,4.x video doesn't work at 32bpp resolutions (16,24 bpp are ok)
1242 A: It's a known bug (really it's a bug/limitation of the DLL codec)
1243
1244 Q: I've got 'MPlayer interrupted by signal 11' in module audio_setup or
1245 decode_audio.
1246 A: This is highly unlikely, since the mp3lib rewrite. Contact us, it may be
1247 a bug. Possibly it's a damaged file, try with -afm 4 .
1248
1249 Q: Are there rpm/deb/... packages of MPlayer?
1250 A: You can make a .deb package for yourself, check DOCS/DEBIAN .
1251 It's _STRONGLY_ discouraged to use precompiled packages
1252 of MPlayer, since it (currently) _highly_ depends on compile-time
1253 options and optimizations!
1254 Precompiled packages are COMPLETELY unsupported by the MPlayer team!
1255
1256 Q: Are there any mailing lists on MPlayer?
1257 A: Yes! See README on how to subscribe them!
1258
1259 Q: I've found a nasty bug when I tried to play my favourite video!!
1260 Who should I inform?
1261 A: See DOCS/BUGREPORTS
1262
1263 Q: During 'make', MPlayer complains about X11 libraries. I don't understand,
1264 I DO have X installed!?
1265 A: ...but you don't have the X development package installed. Or not
1266 correctly. It's called XFree86-devel* under RedHat, and xlib6g-dev* under
1267 Debian. Also check if the /usr/X11 symlink exists (this can be a problem on
1268 Mandrake systems). It can be created with the
1269 $ ln -sf /usr/X11R6 /usr/X11
1270 command. Also check the /usr/include/X11 link :
1271 $ ln -sf /usr/X11R6/include/X11 /usr/include/X11
1272 Your distribution may differ from the Linux Filesystem Standard.
1273
1274 Q: I have problems playing files with ... codec. Can I use'em?
1275 A: Check http://mplayer.sourceforge.net/DOCS/codecs.html,
1276 if it doesn't contain your codec, read
1277 http://mplayer.sourceforge.net/DOCS/CODECS, and contact us.
1278
1279 Q: What about DGA driver? I can't find it!!!
1280 A: ./configure autodetects your DGA driver. If -vo help doesn't show
1281 DGA, then there's a problem with your X installation.
1282 Try ./configure --enable-dga (and read VIDEOCARDS)
1283 Alternatively, try SDL's DGA driver with '-vo sdl:dga' options.
1284
1285 Q: Ok, -vo help shows DGA driver, but it is babbling about permissions!
1286 Help me!
1287 A: It works only if running as root! It's a DGA limitation.
1288 You should become to root (su -), and try again.
1289
1290 Another solution is making mplayer SUID root, but its NOT RECOMMENDED!
1291 'chown root /usr/local/bin/mplayer'
1292 'chmod 750 /usr/local/bin/mplayer'
1293 'chmod +s /usr/local/bin/mplayer'
1294 !!!! BUT STAY TUNED !!!!
1295 This is a *BIG* security risk! *NEVER* do this on a server or on a computer
1296 can be accessed by more people than only you because they can gain root
1297 privilegies through suid root mplayer!!!
1298 !!!! SO YOU HAVE BEEN WARNED ... !!!!
1299
1300 Q: The fsdga driver doesn't work with my xyz.avi file. Why is that?
1301 A: Because it only works with MPEG. (yet)
1302
1303 Q: When using Xvideo, my Voodoo 3/Banshee says:
1304 X Error of failed request: BadAccess (attempt to access private resource
1305 denied)
1306 Major opcode of failed request: 147 (MIT-SHM)
1307 Minor opcode of failed request: 1 (X_ShmAttach)
1308 Serial number of failed request: 26
1309 Current serial number in output stream:27
1310 A: Your driver is old, update it. Either download (at least) DRI version 0.6
1311 from http://dri.sourceforge.net , or use the DRI cvs.
1312
1313 Q: When using Xvideo, I can't play DivX avis with my Voodoo 3/Banshee !
1314 It says:
1315 ...
1316 Xvideo image format: 0x32315659 (YV12) planar
1317 Xvideo image format: 0x30323449 (I420) planar
1318 ...
1319 A1: See the previous answer.
1320 A2: Since 0.18pre4 we include libavcodec from the ffmpeg package. It contains
1321 a C language DivX and OpenDivX decoder. The DivX decoder uses YV12 format
1322 for output, thus it should work for you. Compile in libavcodec support.
1323
1324 Q: Umm, what is "IdegCounter" ?
1325 A: A mixture of a hungarian and an english word. In english, "Ideg" means
1326 "nerve", and is pronounced as something like "ydaegh" . It was first used
1327 to measure the nervousness of A'rpi, after some (umm) "mystic" disappearance
1328 of CVS code ;)
1329
1330 Q: I can't compile SVGAlib.. I'm using 2.3/2.4 kernel.
1331 A: You have to edit SVGAlib's Makefile.cfg and comment "BACKGROUND = y" out.
1332
1333 Q: LIRC doesn't work, because ...
1334 A: Are you sure you use "mplayer_lirc" instead of "mplayer" ?
1335
1336 Q: MPlayer exits with something error when using l3codeca.acm
1337 A: Check 'ldd /usr/local/bin/mplayer' output. If it contains
1338 libc.so.6 => /lib/libc.so.6 (0x4???????)
1339 where "?" is any number then it's ok, the error is not here. If it is:
1340 libc.so.6 => /lib/libc.so.6 (0x00??????)
1341 then there is problem with your kernel/libc. Maybe you are using some
1342 security patches (for example Solar Designer's OpenWall patch) which
1343 forces loading libraries to very low addresses.
1344 Because l3codeca.acm is a non-relocatable DLL, it must be loaded to
1345 0x00400000, we can't change this. You should use non-patched kernel,
1346 or use MPlayer's -afm 1 option to disable using l3codeca.acm.
1347
1348 Q: My computer plays M$ DivX AVIs with resolutions ~ 640x300 and stereo mp3
1349 sound too slow. When I use -nosound switch, everything is ok (but quiet).
1350 A: Those files probably have 48Khz audio, and your soundcard/driver can't play
1351 it correctly. Audio downsampling isn't implemented in MPlayer (yet).
1352
1353 Q: MPlayer dies with "MPlayer interrupted by signal 4 in module: decode_video".
1354 A: Try running MPlayer on the machine you compiled on. Or recompile. Don't
1355 use MPlayer on different CPU than it was compiled on.
1356
1357 Q: I have problems with <your window manager> and fullscreen xv/xmga/sdl/x11
1358 modes..
1359 A1: Use the -fsmode switch. See example.conf or manpage.
1360
1361 Q: But it works with avifile !
1362 A: So what?
1363
1364 Q: Then avifile is better !
1365 A: Then use avifile, it has nice GUI and nice C++ code :)
1366
1367 Q: I got this playing mpeg files: Can't find codec for video format 0x10000001 !
1368 A: You have old version of codecs.conf at ~/.mplayer/. Upgrade it from DOCS/
1369
1370 Q: After starting mplayer under KDE(1/2) I just get a black screen and nothing
1371 happens, after about one minute the video starts playing.
1372 A: The KDE arts sound daemon is blocking the sound device, either wait the time
1373 until video starts or you disable the arts-daemon in kontrollcenter.
1374
1375 Q: Subtitles are very nice, the most beautiful I've ever seen, but they slow
1376 down the playing! I know it's unlikely...
1377 A: After running ./configure , edit config.h and replace #undef FAST_OSD with
1378 #define FAST_OSD . Then recompile.
1379
1380 Q: The OSD is flickering!
1381 A: You use a vo driver with single buffering (x11,xv). With xv you can change
1382 the number of buffers in libvo/vo_xv.c :
1383 Increase #define NUM_BUFFERS 1
1384
1385 Q: What's the problem with gcc 2.96 ?
1386 A: gcc 2.96 is RedHat's UNOFFICIAL (it can be found only on RedHat sites, or
1387 RedHat distributions) and BUGGY gcc release. gcc 2.96 is TOTALLY
1388 unsupported by MPlayer, because it simply SKIPS MMX codes, it just does not
1389 compile it. Important: this is NOT an MPlayer-specific problem, numerous
1390 other projects (DRI, avifile, etc..) have problems with this shit too.
1391 ** DO NOT USE gcc 2.96 !!! **
1392
1393 Q: Is there a hint on how to watch QuickTime and RealMedia movies in mplayer?
1394 A: There's no way to do it. Therefore these formats deserve to die in flames.
1395 Theoretically you can reverse engineer Real codecs built for Linux (they
1396 are available as .so files), but in practice that's really difficult, even
1397 if you know how the compiler used by Real is making assembler code.
1398 As for QuickTime, it's possible to play some old movies and this
1399 capability will be added to mplayer soon, but newer clips are all Sorenson
1400 encoded, and that codec is built-in deep in the QT executable, there's
1401 no way to use it.
1402
1403 Q: I have an nVidia TNT/TNT2 card, and I have a band with strange colours,
1404 right under the movie! Whose fault is this?
1405 A: It's the nVidia X driver's. These bugs are ONLY with the TNT/TNT2 cards,
1406 and we can't do anything about it, it's not our bug.
1407
1408 Q: What exactly is this libavcodec?
1409 A: It's from Gerard Lantau's ffmpeg package (http://ffmpeg.sourceforge.net).
1410 It has C language DivX ;-) and OpenDivX codec. Some benchmarks
1411 showed that its DivX seems to be even faster than DirectShow codec without
1412 preprocessing, and only a few percent slower than ProjectMayo's OpenDivX
1413 decoder. It uses YV12 pixel format, so old Voodoo users can use it for YUV.
1414 Also, open the possibility to play DivX on virtually every computer that
1415 has a C compiler. Kinda great stuff, isn't it?
1416
1417
1418 <A NAME=7>7. Misc OS'es
1419
1420
1421 <A NAME=7.1>7.1. Debian packaging
1422
1423 To build the package:
1424 Get the cvs version, or .tgz and uncompress it,
1425 cd into programs directory:
1426 eyck@incubus:~/src$ cd main
1427 eyck@incubus:~/src/main$ fakeroot debian/rules binary
1428 (... mplayer detects hardware/software, builds itself and.. )
1429 ..
1430 dpkg-deb: building package `mplayer' in `../mplayer_0.18-1_i386.deb'.
1431
1432 And now just dpkg -i ../mplayer_0.18-1_i386.deb as root.
1433 Here's how it looks like:
1434
1435 eyck@incubus:/src/main$ sudo dpkg -i ../mplayer_0.18-1_i386.deb
1436 Password:
1437 (Reading database ... 26946 files and directories currently installed.)
1438 Preparing to replace mplayer 0.17a-1 (using ../mplayer_0.18-1_i386.deb) ...
1439 Unpacking replacement mplayer ...
1440 Setting up mplayer (0.18-1) ...
1441
1442
1443 <A NAME=7.2>7.2. FreeBSD
1444
1445 Notes for FreeBSD users
1446 =======================
1447
1448 1. To build the package you will need GNU make (gmake, /usr/ports/devel/gmake),
1449 native BSD make will not work.
1450
1451 2. To run mplayer you will need to re-compile the kernel with
1452 "options USER_LDT" (unless you are running -CURRENT, where this is default).
1453
1454 3. If mplayer complains about "CD-ROM Device '/dev/cdrom' not found!" make a
1455 symbolic link : ln -s /dev/<your_cdrom_device> /dev/cdrom
1456
1457 4. There's no DVD support for FreeBSD yet.
1458 Feel free to add them :-)
1459
1460 Enjoy (as do I)!
1461
1462 --
1463 Vladimir Kushnir
1464
1465
1466 <A NAME=7.3>7.3. Solaris 8
1467
1468 Notes for Solaris users
1469 =======================
1470
1471 1. AVI file playback works best on Solaris x86, because you have the
1472 option to use the win32 codecs on the x86 platform. On Solaris SPARC,
1473 you'll find quite a few AVI files with non working video and/or
1474 audio playback, because the video/audio codecs using the win32 DLLs
1475 are not available.
1476
1477
1478 2. To build the package you will need GNU make (gmake, /opt/sfw/gmake),
1479 native Solaris make will not work.
1480
1481 Typical error you get when building with solaris' make instead of GNU
1482 make:
1483
1484 % /usr/ccs/bin/make
1485 make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen
1486
1487
1488 3. On Solaris SPARC, you need the GNU C/C++ Compiler; it does not matter
1489 if GNU C/C++ compiler is configured with or without the GNU assembler.
1490
1491 On Solaris x86, you need the GNU assembler and the GNU C/C++
1492 compiler, configured to use the GNU assembler! The mplayer code on
1493 the x86 platform makes heavy use of MMX, SSE and 3DNOW!
1494 instructions that cannot be compiled using Sun's assembler
1495 /usr/ccs/bin/as.
1496
1497
1498 The configure script tries to find out, which assembler program is
1499 used by your "gcc" command (in case the autodetection fails, use
1500 the "--as=/whereever/you/have/installed/gnu-as" option to tell the
1501 configure script where it can find GNU "as" on your system).
1502
1503 Error message from configure on a Solaris x86 system using GCC
1504 without GNU assembler:
1505
1506 % configure
1507 ...
1508 Checking assembler (/usr/ccs/bin/as) ... , failed
1509 Please upgrade(downgrade) binutils to 2.10.1...
1510
1511 (Solution: Install and use a gcc configured with "--with-as=gas")
1512
1513
1514 Typical error you get when building with a GNU C compiler that does
1515 not use GNU as:
1516
1517 % gmake
1518 ...
1519 gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math
1520 -fomit-frame-pointer -I/usr/local/include -o mplayer.o mplayer.c
1521 Assembler: mplayer.c
1522 "<stdin>", line 3567 : Illegal mnemonic
1523 "<stdin>", line 3567 : Syntax error
1524 ... more "Illegal mnemonic" and "Syntax error" errors ...
1525
1526
1527 4. For DVD support you must have the patched libcss installed. Patch:
1528 http://www.tools.de/solaris/mplayer/
1529
1530
1531 5. Due to two bugs in solaris 8 x86, you cannot reliably play DVDs using a
1532 capacity >4GB:
1533
1534 - The sd(7D) driver on solaris 8 x86 driver has bug when accessing a
1535 disk block >4GB on a device using a logical blocksize != DEV_BSIZE
1536 (i.e. CDROM and DVD media). Due to a 32bit int overflow, a disk
1537 address modulo 4GB is accessed.
1538 (http://groups.yahoo.com/group/solarisonintel/message/22516)
1539
1540 - The similar bug is present in the hsfs(7FS) filesystem code (aka
1541 ISO9660), hsfs currently does not support partitions/disks >4GB,
1542 all data is accessed modulo 4GB
1543 (http://groups.yahoo.com/group/solarisonintel/message/22592)
1544
1545 --
1546 Jürgen Keil
1547
1548
1549 <A NAME=A>Appendix A - Authors
1550
1551 NOTE: Do *NOT* send bugreports, help & feature requests directly to the authors!
1552 ===== Read DOCS/BUGREPORTS and subscribe to mplayer-users mailing lists.
1553
1554 ========================== The MPlayer project: ===============================
1555
1556 Árpád Gereöffy (A'rpi/ESP-team): <arpi@thot.banki.hu>
1557 - player code (mpeg stream demultiplexer and avi/asf parser, A-V sync, seek...)
1558 - mp3lib, based on mpglib sources [MP3 audio decoder]
1559 - getch2 [keyboard handler]
1560 - some changes in libmpeg2 code (progressive frames, bitrate & fps support)
1561 - libvo improvements: adding OpenGL support, bugfix in mga driver...
1562 - triple buffering & YUY2 support (for DivX/MPEG4) into mga_vid driver
1563 - scripts in the TVout directory (TVout on Matrox G400DH, read DOCS/TVout-G400)
1564 - hacking DivX/Mpeg4 VfW codecs to get YUV output
1565 - opendivx decoder speed optimizations (see opendivx/ChangeLog)
1566 - OSD & SUB display code
1567
1568 Zoltán Ponekker (Pontscho/Fresh!): <pontscho@makacs.poliod.hu>
1569 - configure script and Makefiles for easy compile
1570 - GUI system (near complete!?)
1571 - 3DNow! support into mp3lib
1572 - 3DNow! support into fastmemcpy.h
1573 - various X11 driver changes (keyboard handling, fullscreen, bpp detect, etc)
1574 - libvo: adding xmga driver, and fullscreen support to xv
1575 - audio mixer (volume) support
1576
1577 Gábor Lénárt (LGB): <lgb@lgb.hu>
1578 - ./configure script improvements
1579 - Makefile improvements
1580 - prelimenary DVD support
1581 - another GUI code (is that so..?)
1582 - various X11 cleanups and fixes
1583
1584 Gábor Bérczi (Gabucino): <gabucino@k2.jozsef.kando.hu>
1585 - documentation maintainer
1586 - hungarian translation of documentation
1587 - second webpage design&gfx
1588 - webpage maintainer
1589 - testing, codecs quality & speed comparsions
1590 - IRC channel #MPlayer operator
1591 - experimental MINIX port
1592
1593 Szabolcs Berecz (Szabi): <szabi@inf.elte.hu>
1594 - codecs.conf file parser
1595 - config file and command line parser
1596 - mga_vid fixes, module option etc.
1597 - fbdev support in libvo
1598 - type #7 subtitle support
1599
1600 László Megyer (Lez, Laaz): <lez@sch.bme.hu>
1601 - SUB reader
1602 - screensaver+DPMS disable for libvo
1603
1604 Gyula László (Chass, Tégla): <chass-@freemail.hu>
1605 - first fonts (mp_font1.zip)
1606 - third (current) homepage design&gfx
1607
1608 Zoltán Márk Vicián (Se7en): <se7en@sch.bme.hu>
1609 - SVGAlib support in libvo
1610 - native AAlib driver (coming soon)
1611
1612 Alex Beregszaszi (Al3x): <alex@naxine.org>
1613 - ALSA output driver in libao2
1614 - vo_ggi output driver in libvo (www.ggi-project.org)
1615
1616 Andreas Ackermann (Acki): <asackerm@stud.informatik.uni-erlangen.de>
1617 - LIRC support (see DOCS/LIRC)
1618 - DGA support in libvo
1619
1620 Felix Bünemann (Atmos): <atmosfear@users.sourceforge.net>
1621 - SDL driver maintainer
1622 - Additional YUV formats fixes
1623 - New font (mp_font2.zip)
1624 - PNG file output support in libvo
1625 - flipping support (for Indeo 3/4, etc)
1626 - SDL audio driver in libao2
1627 - RAW PCM/WAVE file writer for libao2
1628
1629 TeLeNiEkO: <telenieko@telenieko.com>
1630 - spanish translation of documentation
1631
1632 Michael Graffam: <mgraffam@idsi.net>
1633 - XF86VidMode support to vo_x11 and vo_dga
1634 - Video mode switching code to vo_dga
1635
1636 Jens Hoffmann: <hoffmajs@gmx.de>
1637 - Additional YUV formats support
1638 - found the big BITMAPINFOHEADER problem -> solved ASV2 pixelization
1639
1640 Nick Kurshev: <nickols_k@mail.ru>
1641 - memcpy optimizations for AMD K7 and Intel Pentium III (fastmemcpy.h)
1642 - CDROM tune info
1643 - further 3DNow! optimizations into mp3lib and libac3
1644 - russian translation of documentation
1645
1646 German Gomez Garcia: <german@piraos.com>
1647 - DVD .ifo parser and chapter selection [not yet in the main trunk]
1648 - SPDIF AC3 output for SBLive! [not yet in the main trunk]
1649
1650 Dariush Pietrzak (Eyck): <eyck@incubus.ar.lublin.pl>
1651 - debian packaging support (see debian/* and DOCS/DEBIAN)
1652 - support for vplayer subtitle format
1653 - prelimenary support for .RT subtitle format
1654
1655 Jürgen Keil and Marcus Comstedt: <jk@tools.de> <marcus@idonex.se>
1656 - patched MPlayer to work on Solaris 8 x86
1657 - configure fixes
1658 - SUN audio driver in libao2
1659
1660 Vladimir Kushnir: <vkushnir@Alfacom.net>
1661 - patched MPlayer to work on FreeBSD x86
1662
1663 Bertrand BAUDET: <bertrand_baudet@yahoo.com>
1664 - network streaming support
1665
1666 Main testers:
1667 Tibor Balázs (Tibcu)
1668 Péter Sasi (SaPe)
1669 Christoph H. Lampert
1670 Attila Kinali
1671 Dirk Vornheder
1672
1673 ========================== The codecs, libs: =================================
1674
1675 Aaron Holtzman: <aholtzma@engr.uvic.ca>
1676 - ac3dec (and libac3) author [AC3 audio decoder]
1677 - mga_vid driver [Matrox G200/G400 YUV Back-end Scaler]
1678 - mpeg2dec [Fast MPEG1/MPEG2 video decoder, currently used in player]
1679
1680 Michel Lespinasse: <walken@zoy.org>
1681 - did large libmpeg2 changes for better speed and mpeg conformance
1682
1683 Eugene Kuznetsov: <divx@euro.ru>
1684 - avifile author [AVI player library for linux, using Win32 VfW/ACM codecs]
1685 - technical help about AVI and ASF formats, and how to get YUV using VfW...
1686 - divx4linux techical support
1687
1688 Zdenek Kabelac: <kabi@informatics.muni.cz>
1689 - current avifile maintainer(?)
1690 - some technical help about the win32 stuff and timers
1691
1692 Gerard Lantau: <glantau@yahoo.fr>
1693 - ffmpeg/libavcodec author,maintainer (opensource mpeg & divx en/decoder)
1694
1695 Project Mayo: [http://www.projectmayo.com]
1696 - the OpenDivX codec authors
1697
1698 Michael Hipp:
1699 - mpglib author [isn't used directly but some parts in mp3lib]
1700
1701 Mark Podlipec:
1702 - xa_gsm.c author [MS-GSM audio codec]
1703 [from a GSM library by Jutta Degener and Carsten Bormann]
1704
1705 Their code is not used in current player version, but I've got some ideas or
1706 other technical help from:
1707
1708 John F. McGowan http://www.jmcgowan.com/
1709 - AVI FAQ author/collector. [site with many useful docs on codecs and avi fmt]
1710
1711 Dirk Farin: <farin@ti.uni-mannheim.de>
1712 - dvdview author [MPEG1/MPEG2 video decoder, used in v0.5-v0.8]
1713
1714 Adam Williams: <broadcast@earthling.net>
1715 - libmpeg3 (and xmovie) author [MPEG1/MPEG2 video decoder, used in v0.1-v0.4]
1716
1717
1718 <A NAME=B>Appendix B - Mailing lists
1719
1720 There are some public mailing lists on MPlayer. Subscribing can be achieved on
1721 the following addresses:
1722
1723 - MPlayer core/hungarian developers list:
1724 http://mp.dev.hu/mailman/listinfo/mplayer-devel
1725
1726 I dunno, it is the FLAME list in hungarian language :)
1727 Also some talking about mplayer core team internals, like mplayer
1728 party, sponsors etc can be here.
1729
1730 - MPlayer developers list:
1731 http://lists.sourceforge.net/lists/listinfo/mplayer-dev-eng
1732
1733 This list is about mplayer development! Talking about interface/API changes,
1734 new libraryes, code optimization, ./configure changes, and send patches here.
1735 Do NOT send bugreports, user questions, feature requests here!
1736 This list should be kept low-traffic.
1737
1738 - MPlayer users list:
1739 http://lists.sourceforge.net/lists/listinfo/mplayer-users
1740
1741 - send bugreports here (after reading DOCS/BUGS, BUGREPORTS)
1742 - send feature requests here (after reading DOCS/TODO)
1743 - send user questions here (after reading DOCS/README, INSTALL, FAQ etc)
1744
1745 - MPlayer & Matrox G200/G400/G450 users:
1746 http://lists.sourceforge.net/lists/listinfo/mplayer-matrox
1747
1748 Send matrox-related questions here,
1749 - things about mga_vid,
1750 - matrox's official beta drivers (for X 4.x.x)
1751 - and about matroxfb-TVout stuff.
1752
1753 - mpg12play-portable developers:
1754 http://lists.sourceforge.net/lists/listinfo/mplayer-mpg12play
1755
1756 This list is for talking about mplayer ports to non-x86 platforms
1757 (IRIX, Solaris-SPARC, Alpha, Commodore64, Sharp Calculator,
1758 Teapot etc...)
1759
1760 - MPlayer announce:
1761 http://lists.sourceforge.net/lists/listinfo/mplayer-announce
1762
1763 Very low traffic list :)
1764 And it's read-only. I'll post something shit there if a new release
1765 is done.
1766
1767 - MPlayer CVS-log:
1768 http://mp.dev.hu/mailman/listinfo/mplayer-cvslog
1769
1770 Send only questions about CVS changes here.
1771 (if you don't understand why a change is required or you've better fix)
1772 Be sure in that your target developer reads this list!
1773
1774 NOTE: language of above lists are ENGLISH, unless explicitly stated otherwise.
1775 Please do not send messages using other language!
1776
1777
1778 <A NAME=C>Appendix C - How to report bugs
1779
1780 How to report bugs?
1781 ~~~~~~~~~~~~~~~~~~~
1782 First read DOCS/BUGS, and other docs. If your problem isn't
1783 known or isn't solved by our instructions, then report the bug:
1784
1785 Where?
1786 ======
1787 Subscribe to the mplayer-users mailing list:
1788 http://lists.sourceforge.net/lists/listinfo/mplayer-users
1789 and send your bugreport to:
1790 mplayer-users@lists.sourceforge.net
1791 We won't CC: so please subscribe!!!
1792
1793 Don't send bugreports private, directly to author's address!!!
1794 We are working together on code, so everyone is interested in it.
1795 BTW many times other users know the solution (system config probs,
1796 bad drivers etc), even when we think it's a bug in our code.
1797 The language of this list is ENGLISH !
1798
1799 Please describe your problem in details, examples etc, and don't
1800 forget to include these:
1801
1802 What?
1803 =====
1804
1805 1. The system info what we always want:
1806 - linux distribution
1807 examples:
1808 RedHat 7.1
1809 Slackware 7.0 + devel packs from 7.1 ...
1810 - kernel version:
1811 uname -a
1812 - libc version:
1813 ls -l /lib/libc[.-]*
1814 - X version:
1815 X -version
1816 - gcc and ld version:
1817 gcc -v
1818 ld -v
1819 - binutils version:
1820 as --version
1821
1822 2. Hardware & drivers:
1823 - CPU info:
1824 cat /proc/cpuinfo
1825 - video card manufacturer and model
1826 examples:
1827 ASUS V3800U chip: nVidia TNT2 Ultra pro 32MB SDRAM
1828 Matrox G400 DH 32MB SGRAM
1829 - video driver type&version
1830 examples:
1831 X built-in driver
1832 nvidia 0.9.623
1833 Utah-GLX CVS 2001-02-17
1834 DRI from X 4.0.3
1835 - sound card type & driver
1836 examples:
1837 Creative SBLive! Gold with OSS driver from oss.creative.com
1838 Creative SB16 with OSS drivers of kernel
1839 GUS PnP with ALSA OSS emulation
1840 - if you are unsure, attach output of lspci -v
1841
1842 For compiling problems/errors:
1843 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1844 3. output of configure/make:
1845 make distclean
1846 ./configure &>config.log
1847 ./make &>make.log
1848 4. these files:
1849 config.h
1850 config.mak
1851 libvo/config.mak
1852
1853 For playback problems:
1854 ~~~~~~~~~~~~~~~~~~~~~~
1855 3. Output of mplayer at verbose level 1 (-v)
1856 mplayer -v [options] filename &> mplayer.log
1857
1858 4. If the problem is specific to one or a few files,
1859 then please upload that file to:
1860 ftp://thot.banki.hu/MPlayer/incoming/
1861 Usually first 1-5 MB of the file is enough to reproduce
1862 the problem, but first you should try it:
1863 dd if=yourfile of=smallfile bs=1k count=1024
1864 (it will cut first 1MB of 'yourfile' and save to 'smallfile')
1865 Then try again on this small file, and if bug still exists
1866 then it's enough to upload this small file.
1867 NEVER send such files via mail! Upload it, and send only
1868 the path/filename of the file on the FTP.
1869 If the file is accessible on the net, then sending the
1870 _exact_ URL is enough!
1871
1872 5. For crashes (segfault, SIGILL, signal 4 etc):
1873
1874 If you have coredump of the crash, see 5.a, else see 5.b:
1875
1876 5.a: Please print us coredump (if it was created).
1877 Howto:
1878 please create following command file:
1879
1880 disass $eip-32 $eip+32
1881 printf "eax=%08lX\n",$eax
1882 printf "ebx=%08lX\n",$ebx
1883 printf "ecx=%08lX\n",$ecx
1884 printf "edx=%08lX\n",$edx
1885 printf "esp=%08lX\n",$esp
1886 printf "ebp=%08lX\n",$ebp
1887 printf "edi=%08lX\n",$edi
1888 printf "esi=%08lX\n",$esi
1889
1890 Then simply execute following command line:
1891 gdb mplayer --core=core -batch --command=command_file >mplayer.bug
1892
1893 5.b.: run MPlayer in gdb:
1894 [at root/user shell prompt:]
1895 # gdb mplayer
1896 [at gdb prompt:]
1897 > run -v [options-to-mplayer] filename
1898 ... (wait until it will crash)
1899 > bt
1900 > disass $eip-32 $eip+32
1901 Send us the full output of the above things!
1902
1903 In general:
1904 ~~~~~~~~~~~
1905 If something is big (logs etc) then it's better to upload to the ftp
1906 (gzipped), and include only path/filename in the bugreport!
1907
1908 </BODY>
1909
1910 </HTML>