# HG changeset patch # User gabucino # Date 1008503462 0 # Node ID dadab20dc2b432f6090b80b63343059fc046d810 # Parent 34df0f546afc9dd52fdd86d70aeb7ff30a78cad8 began updated translation by (work-in-progress) diff -r 34df0f546afc -r dadab20dc2b4 DOCS/Polish/DVB --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DOCS/Polish/DVB Sun Dec 16 11:51:02 2001 +0000 @@ -0,0 +1,72 @@ + +Some words about Siemens-DVB card support. by A'rpi +========================================== + +NOTE: this is very experimental! + +Requirements: +~~~~~~~~~~~~~ +- Siemens DVB-S card or compatible (technotrend,galaxis,hauppage etc) + see www.linuxtv.org for details and download latest driver there. +- MPlayer-CVS, ffmpeg-libavcodec. divx4linux is recommended for speed & pp. +- Fast CPU - at least for software decoding (divx...) + + +How to enable? +~~~~~~~~~~~~~~ + +1. Download ffmpeg-CVS and copy libavcodec to mplayer (see DOC for details) + Move this line from #ifdef CONFIG_ENCODERS .. #endif section to outside + (after the #endif line) at libavcodec/utils.c:361 : + register_avcodec(&mpeg1video_encoder); + +2. Compile mplayer: + ./configure should detect it. If didn't, force with ./configure --enable-dvb + If you have ost headers at non-standard path, set it with: + --with-extraincdir=/ost/include + make + make install + + +How to use? +~~~~~~~~~~~ +To play standard mpeg 1/2 files: (hardware decoding) + + mplayer -ao mpegpes -vo mpegpes -vc mpegpes file.mpg|vob + +To play non-standard mpeg files: (software decoding) + + mplayer -ao mpegpes -vo mpegpes file.mpg|vob + +To play divx files: + + mplayer -vo mpegpes -vc ffdivx|odivx file.avi|asf + +To play non-25fps movies, or with slow CPU, add option: -framedrop + +Image size: +~~~~~~~~~~~ +DVB card allows only 2 vertical resolutions: 288 and 576. +If your video height differs, you have to clip it or extend by adding +black bands. It's done by mplayer, just specify image size using the +-x and -y options. You must use either -y 288 or -y 576. + +To force pan&scan (16:9 at 4:3 TV), add options: -x 352 -y 288 + +Mailing list: +~~~~~~~~~~~~~ + http://mplayerhq.hu/mailman/listinfo/mplayer-dvb + +List's language is ENGLISH. Please avoid using german or other languages! +Subscribe, and ask/discuss your problems here. +I'll also post feature announces to this list. + +Future plans/TODO: +~~~~~~~~~~~~~~~~~~ + +- display OSD and subtitles using DVB card's OSD feature +- better (more fluent) playback of non-25fps movies +- more speed optimizations +- YUY2 support (for win32 codecs, like Indeo5 and WMV 7/8) +- realtime transcoding between mpeg2 <-> mpeg4 (partial decompression) + diff -r 34df0f546afc -r dadab20dc2b4 DOCS/Polish/DXR3 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DOCS/Polish/DXR3 Sun Dec 16 11:51:02 2001 +0000 @@ -0,0 +1,103 @@ +DXR3/H+ video/audio output plugins manual by David Holm +======================================================= + +2001-12-04: Thanks to Inaki Garci'a Etxebarria of + zapping.sourceforge.net we have now + abandoned rte since it caused problems for + users who didn't rtfm and compiled it with + ffmpeg support. Instead we are now using + libmp1e which is a modified version of mp1e. + +2001-11-29: Thanks to Felix Buenemann I managed to + optimize the odivx playback as well as add + support for the rest of the codecs! + +2001-11-28: ffmpeg replaced with mp1e, divx playback + won't get much faster than this, huge thanks + goes out to Ivan Kalvachev for helping me + fix the final mp1e bugs (and contributing + to the libvo2 development) + +1. Introduction + +The DXR3 and Hollywood+ are two not too different mpeg-(1/2) and ac3 +hardware playback cards that came at about the same time as the first +dvd-rom drives hit the market. At that time most computers weren't +powerful enough for synced software dvd playback. And even the faster +(intel-based) computers had troubles with artifacts. +Sigma Designs came up with the great idea to create a hardware +mpeg-(1/2), ac3 decoder. Sigma Designs are known for their realmagic +hardware (or they bought the company who came up with the first +realmagic boards, I don't know which). +Later Creative Labs thought, hey, we also wan't this product, and to +distribute it with our dvd-drives (the DVD Encore packages if I recall +correctly). So they bought the designs for the Hollywood plus and +replaced the circuit used to produce a proper video feed for tv's +called adv7170 or adv7175a depending on which h+ board you own with +a bt865. The reason for this is beyond my understanding as this seems +complete illogical to me, but I have had great experiences with +bt(brooktree) circuits in the past, so I don't mind. +Well, nowadays most people have no use for a mpeg-(1/2) or ac3 +hardware decoder since most computers these days have no problem doing +this in software and have cycles left for posprocessing (removing of +artefacts and other garbage produced by compression). +These days, you have two uses for this card: +1. You have a slow computer which you use for vcd/dvd playback +2. You discover what I have done with the implementation of this as + an audio/video output device for mplayer (read on and you'll find + out). + + + +2. Requirements + + * First of all you will need the DXR3/H+ drivers properly installed. + Version 0.9.0 or later + + * Run /configure and make sure that DXR3/H+ support = yes + + From here on compilation (of at least my code ;) should go without any + problems. + + + +3. Usage + +After installation you will have two new outdevices in mplayer: + -vo dxr3 For video output + -ao dxr3 For audio output + +MPEG-1, MPEG-2, VCD and DVD Notes +There are some notes to take into account here for optimum playback. +When playing any mpeg-(1/2) file, this including usage of the "-dvd" +and "-vcd" options you must either add the "-vc mpegpes" or edit +codecs.conf and make sure videocodec mpegpes is listed above mpeg12. +If you fail to do this you will only get software playback which kinda +spoils most of the useful features of this card except for tv-out ;). +Remember that if you edit the codecs.conf file and move the mpegpes +section will have to specify "-vc mpeg12" if you want to playback +any of these video types _without_ "-vo dxr3"! + +DIVX Notes +When playing divx's add "-vc odivx" for maximum performance. +I've switched to mp1e from ffmpeg so it should be lightning fast now. + +Other codecs: +No "-vc " switches should be required as mplayer will autodetect. +If you find an unsupported codec please contact me! + +* Avoid running mplayer as root or setuid root as rtc timing seems to + slow down playback on the dxr3 for some users. I will look into this + at a later point as this hardly qualifies as a severe bug * + + + +4. Contacting me + +You can contact me either by e-mailing me, or by using +icq: 798427 +Feedback, bugreports and general suggestions are appreciated (preferably +by e-mail). My name is David Holm for those of you who are incapable of +reading a heading. ;) + + diff -r 34df0f546afc -r dadab20dc2b4 DOCS/Polish/bugreports.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DOCS/Polish/bugreports.html Sun Dec 16 11:51:02 2001 +0000 @@ -0,0 +1,163 @@ + + + + + +

Appendix C - How to report bugs

+ +

How to report bugs?

+ +

First read Appendix D, and other docs. If your problem isn't +known or isn't solved by our instructions, then report the bug:

+ +

Where?

+ +

Subscribe to the mplayer-users mailing list:
+    http://mplayerhq.hu/mailman/listinfo/mplayer-users
+and send your bugreport to:
+    mplayer-users@mplayerhq.hu
+We won't CC: so please subscribe!!!

+ +

Don't send bugreports private, directly to author's address!!! +We are working together on code, so everyone is interested in it. +BTW many times other users know the solution (system config probs, +bad drivers etc), even when we think it's a bug in our code. +The language of this list is ENGLISH!

+ +

Please describe your problem in details, examples etc, and don't +forget to include these:

+ +

What?

+ +

1. The system info what we always want:

+ +
    +
  • linux distribution
    +examples:
      +
    • RedHat 7.1 +
    • Slackware 7.0 + devel packs from 7.1 ...
    +
  • kernel version:
    + uname -a +
  • libc version:
    + ls -l /lib/libc[.-]* +
  • X version:
    + X -version +
  • gcc and ld version:
    + gcc -v
    + ld -v
    +
  • binutils version:
    + as --version +
+ +

2. Hardware & drivers:

+ +
    +
  • CPU info:
    + cat /proc/cpuinfo +
  • video card manufacturer and model
    + examples:
      +
    • ASUS V3800U chip: nVidia TNT2 Ultra pro 32MB SDRAM +
    • Matrox G400 DH 32MB SGRAM
    +
  • video driver type&version
    + examples:
      +
    • X built-in driver +
    • nvidia 0.9.623 +
    • Utah-GLX CVS 2001-02-17 +
    • DRI from X 4.0.3
    +
  • sound card type & driver
    + examples:
      +
    • Creative SBLive! Gold with OSS driver from oss.creative.com +
    • Creative SB16 with OSS drivers of kernel +
    • GUS PnP with ALSA OSS emulation
    +
  • if you are unsure, attach output of lspci -v +
+ +

For compiling problems/errors

+ +

3. these files:

+
  • configure.log +
  • config.h +
  • config.mak +
  • libvo/config.mak +
+ +

For playback problems:

+ +

3. Output of mplayer at verbose level 1 (-v)

+

    mplayer -v [options] filename &> mplayer.log

+ +

4. If the problem is specific to one or a few files, + then please upload that file to:

+

   ftp://mplayerhq.hu/MPlayer/incoming/

+ Also upload a small .txt file with the same name as your file, + describing the problem!
+ Usually first 1-5 MB of the file is enough to reproduce + the problem, but first you should try it: +

   dd if=yourfile of=smallfile bs=1k count=1024

+ (it will cut first 1MB of 'yourfile' and save to 'smallfile') + Then try again on this small file, and if bug still exists + then it's enough to upload this small file.
+ NEVER send such files via mail! Upload it, and send only + the path/filename of the file on the FTP. + If the file is accessible on the net, then sending the + _exact_ URL is enough! + +

5. For crashes (segfault, SIGILL, signal 4 etc):

+ +

If you have coredump of the crash, see 5.a, else see 5.b:

+ +

5.a: Please print us coredump (if it was created).

+ +

Howto: +please create following command file:

+ +

disass $eip-32 $eip+32
+printf "eax=%08lX\n",$eax
+printf "ebx=%08lX\n",$ebx
+printf "ecx=%08lX\n",$ecx
+printf "edx=%08lX\n",$edx
+printf "esp=%08lX\n",$esp
+printf "ebp=%08lX\n",$ebp
+printf "edi=%08lX\n",$edi
+printf "esi=%08lX\n",$esi
+

+ +

Then simply execute following command line:

+

    gdb mplayer --core=core -batch --command=command_file >mplayer.bug

+ +

5.b.: run MPlayer in gdb:

+

Re-compile mplayer with debugging code enabled:
+./configure --enable-debug
+make +

+

[at root/user shell prompt:]
+    # gdb mplayer
+[at gdb prompt:]
+    > run -v [options-to-mplayer] filename
+ ... (wait until it will crash)
+    > bt
+    > disass $eip-32 $eip+32
+Send us the full output of the above things! +

+ +

In general:

+ +

If something is big (logs etc) then it's better to upload to the ftp +(gzipped), and include only path/filename in the bugreport!

+ +

I know what am I doing...

+ +

If you created a proper bugreport following the above steps, and you are +sure it's mplayer bug, not compiler's problem or broken file, you've already +readed through docs and you didn't find the solution, your sound drivers are ok, +then you may want to subscribe to the mplayer-advusers list and send your +bugreport there to get better and faster answer. But BE WARNED: if you post +newbie or rtfm-type questions there, you'll be immediatelly banned, instead or +getting answered!!! So don't flame us, subscribe -advusers only if you really +know what are you doing and you feel you as advanced mplayer user or developer. +(and about how to subscribe: find it out! if you're really an advanced user, +it shouldn't be a problem for you...) +

+ + + diff -r 34df0f546afc -r dadab20dc2b4 DOCS/Polish/cd-dvd.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DOCS/Polish/cd-dvd.html Sun Dec 16 11:51:02 2001 +0000 @@ -0,0 +1,227 @@ + + + + + +

4.1. CD-ROM drives

+ +

Playing standard Video CDs:

+ +

+mplayer -vcd trackno [device]

+Examples:
+mplayer -vcd 1
+mplayer -fs -vcd 2 /dev/hdc
+

+ +

+Notes:
+- Do NOT mount VCD disks and play DAT files directly! It may work under windows +but won't work under linux. You have to play them directly, with the -vcd +option!
+- VCD disks usually have 2 tracks: a data track (containing autostart windows +playback program, karaoke data etc) and a mode-2 track (the movie), so try +-vcd 2 first!
+- the default VCD device is /dev/cdrom. if your device differs, then you have +to make a symlink, or specify it in command line! +

+ +

From Linux documentation:

+ +

Some CDROM drives are capable of changing their head-speed. There are several +reasons for changing the speed of a CDROM drive. Badly pressed CDROMs may +benefit from less-than-maximum head rate. Modern CDROM drives can obtain very +high head rates (up to 24-times is common). It has been reported that these +drives can make reading errors at these high speeds, reducing the speed can +prevent data loss in these circumstances. Finally, some of these drives can +make an annoyingly loud noise, which a lower speed may reduce.

+ +

The recommended way to do it is with a program called 'setcd' . It's kinda +old, but won't be too hard to find on the Net. (UPDATE : new hdparm +has an option for this !) +Use it with :

+ +

    setcd -x [speed] [cdrom device]

+ +

Also you can try:

+ +

    echo current_speed:4 >/proc/ide/[cdrom device]/settings

+ +

but you'll need root privileges. I use following command too:

+ +

    echo file_readahead:2000000 >/proc/ide/[cdrom device]/settings

+ +

for 2MB prefetched reading from the file (it's useful for scratched CDROMs). +It's recommended that you tuneup your CDROM drive also with hdparm:

+ +

    hdparm -d1 -a8 -u1 (cdrom device)

+ +

to enable using DMA access, readahead, and IRQ unmasking. +(if you don't understand these, *read the hdparm manpage*)

+ +

Please refer to "/proc/ide/[cdrom device]/settings" for fine-tuning your +CDROM.

+ +

4.2. DVD playback

+ +

Yes, the real DVD support has been arrived. You don't need to play VOB files +manually from disk thinking of the purpose of a file in the video_ts +directory, you don't need worry it it's an encrypted disk or not (in old +MPlayer you had to put '-dvdauth /dev/dvd' into the command line in case +of encrypted discs), and you don't need even mount your disk to be able to +play :)

+ +

IMPORTANT NOTE: please _DO_NOT_ require further features for DVD playback. +This is the first version of some real DVD support inside MPlayer and +we're busy with hunting bugs and implementing basic DVD player features.

+ +

MPlayer uses libdvdread which has got built in support for IFO +parsing, reading navi blocks and doing authentication/descrambling. libdvdread +uses libdvdcss to the latter tasks. So you will need libdvdcss and libdvdread +downloaded, compiled and installed BEFORE you run ./configure script of +MPlayer which will autodetect libdvdread for you in this way.

+ +
    +
  • Download source of libdvdread and libdvdcss.

    + +

    You can download them from +http://www.dtek.chalmers.se/groups/dvd +(click 'download' in the menu at the left, and you can find libdvdcss and +libdvdread in a table).

    + +

    IMPORTANT !
    +For +

      +
    • libdvdread 0.8 - you'll need libcss instead of libdvdcss
    • +
    • libdvdread 0.9 - you'll need libdvdcss 0.0.3 ! Don't use newer + versions, they won't work!
    • +
    • For example never use libdvdcss 1.0, it will be unusably slow!
    • +
    +

    +
  • + +
  • Compile and install libdvdcss THEN libdvdread.

    + +

    Read documentation of these packages to do this step easily.

  • + +
  • Recompile MPlayer.

    + +

    Run ./configure. If you install libdvdread correctly, ./configure +says something similar:
    Checking for DVDread support ... yes
    +(Of course you can put your favourite configure options into the command +line when you run ./configure). That's it! Say: make, then make install.

  • +
+ +

Of course after installing libdvdcss and libdvdread you don't need recompile +them at each time when you want to recompile MPlayer (from a new CVS version +for example) since the needed packages have already been installed on your +machine.

+ +

Using MPlayer to play DVDs:

+ + + + + + + + + + + +
-dvd <title_id> Enables DVD support and selects title.
-chapter <chapter_id> Selects DVD chapter (default: play from chapter 1)
-dvdangle <angle_id> Selects camera angle (default: 1)
-sid <subtitle_id> Turns DVD subtitle displaying (of the given subtitle_id or language) on (default: no)
+ For the list of available languages, use -sid 1 -v options and + browse the output.
+ +

Default device is /dev/dvd, you can change it in config.h +(compile time option), or you can specify it as a filename for MPlayer: +

+ +

    mplayer -dvd 1 /dev/dvd

+

    mplayer -dvd 1 -sid 5 /dev/dvd

+

    mplayer -dvd 2 -chapter 5 -dvdangle 2

+ +

4.3. DVD playback FAQ

+ + + + + + + + + + + + + + + + + + + + + + +
Q: +Playing a DVD, I encountered this error :
+mplayer: ifo_read.c:1143: ifoRead_C_ADT_internal: Assertion nfo_length / +sizeof(cell_adr_t) >= c_adt->nr_of_vobs' failed. +
A: +This is a known libdvdread 0.9.1 bug, it should be already fixed in 0.9.2. +
 
Q: +Can I compile libdvdread and libdvdcss for example on my sweet Sparc/Solaris? +
A: +Who knows ... Please test it and send feedback. But it's said that it +should work. Please refer documentation of libdvdread and its homepage +as well. We're not authors of libdvdread. +
 
Q: +What about subtitles? Can MPlayer display them? +
A: +Yes! See above in the DVD chapter. +
 
Q: +I've got no sound / bad sound (Spanish audio and other ugly things). +
A: +MPlayer currently does not use all of information of IFO blocks from DVD. +You can adjust the right DVD audio stream with: '-aid 128' command line +option, where 128 is the stream id of requested audio stream. You can +experience with numbers of 128,129,... and so on. Of course this problem +will be solved in the future. +
 
Q: +There is some strange effect (interlace like thing) especially when fast +moving objects are shown in the movie. +
A: +Known problem, we try to fix it later (when we switch to libvo2). +
 
Q: +How can I set the region code of my DVD-Drive ? I don't have windows! +
A: +Use the 'regionset' tool: +http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz +
 
Q: +So MPlayer can play DVDs? Then it must use DeCSS! You are under arrest +under the XYZ#$ paragraph of the-- +
A: +Get back asshole, there is no DeCSS code in MPlayer. MPlayer uses libdvdread +by linking against it, and libdvdread uses libdvdcss by dynamic loading it.
+UPDATE : DeCSS is free. +
 
Q: +Do I need to be (setuid) root/setuid fibmap_mplayer to be able to play DVD? +
A: +No, you don't. This is the past :) However of course you must have got +the proper rights to the DVD device driver entry (in /dev). +
 
Q: +How can I ... (insert some expectable DVD player feature here)? +
A: +The current implementation is the first implementation of some real DVD +player functionality. First, we would like to target existing bugs and +basic features before implementing new features. +
 
Q: +Where can I get libdvdread and libdvdcss packages from? +
A: +From the site of Ogle: +http://www.dtek.chalmers.se/groups/dvd. +
 
+ + + diff -r 34df0f546afc -r dadab20dc2b4 DOCS/Polish/codecs-in.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DOCS/Polish/codecs-in.html Sun Dec 16 11:51:02 2001 +0000 @@ -0,0 +1,223 @@ + +mplayer - codec status table + + + + + + + + + + + + +
+

 

+ +

Status of codecs support

+
+

Video codecs
Audio codecs

+
+ Video codecs:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Built-in native codecs
codec namefourcccodecfileoutcomments
%i%F%d%Y%c
Fully functional Win32 VfW/DShow codecs
codec namefourcccodecfileoutDShowcomments
%i%F%d%Y%D%c
Codecs with problems
codec namefourcccodecfileproblem
%i%F%d%c
Not yet working codecs:
codec namefourcccodecfileproblem
%i%F%d%c
Not tested codecs:
codec namefourcccodecfileproblem
%i%F%d%c
+ +
Audio codecs:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Built-in native codecs
codec nameformatcodecfilecomments
%i%f%d%c
Fully functional Win32 ACM/DShow codecs
codec nameformatcodecfileDShowcomments
%i%f%d%D%c
Codecs with problems
codec nameformatcodecfileproblem
%i%f%d%c
Not yet working codecs
codec nameformatcodecfileproblem
%i%f%d%c
Not yet tested codecs
codec nameformatcodecfileproblem
%i%f%d%c
+
+ + diff -r 34df0f546afc -r dadab20dc2b4 DOCS/Polish/codecs.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DOCS/Polish/codecs.html Sun Dec 16 11:51:02 2001 +0000 @@ -0,0 +1,352 @@ + + + + + +

2.2. Wspierane kodeki

+ + +

2.2.1. Kodeki Video

+ +

Zobacz: + +http://www.mplayerhq.hu/DOCS/codecs-status.html. Znajdziesz tam kompletną, +codziennie tworzoną listę!!!

+ +

Najważniejsze kodeki video:
+

    +
  • MPEG1 (VCD) i MPEG2 (DVD) video
  • +
  • DivX ;-), OpenDivX (DivX4), 3ivx i inne warianty MPEG4
  • +
  • Windows Media Video 7 (WMV1) i 8 (WMV2) wykorzystywany w plikach .wmv
  • +
  • Kodeki Intel Indeo (3.1,3.2,4.1,5.0)
  • +
  • MJPEG, ASV2 i inne formaty sprzętowe
  • +
  • Kodeki XAnim
  • +
  • VIVO
  • +

+ +

Jeśli masz kodeka Win32 nie wymienionego tutaj, oraz jeszcze nie +obsługiwanego, przeczytaj importowanie kodeków, by uzyskać +informacje o tym, jak pomóc nam w dodaniu wsparcia dla niego!

+ +

2.2.1.1. DivX4

+ +

Ta sekcja zawiera informacje o kodekach DivX4 z ProjectMayo. Ich pierwszą dostępną wersją +alfa był OpenDivX 4.0 alfa 47 oraz 48. Wsparcie dla nich zostało dołączone w +MPlayerze, i jest kompilowane standardowo. Dawniej używaliśmy kodu +postprocessing z tych kodeków do opcjonalnego zwiększenia jakości filmów +MPEG1/2. Teraz już stosujemy własny.

+ +

Nowa generacja tych kodeków potrafi nawet dekodować filmy zrobione z użyciem +niesławnych kodeków DivX! Ale to jeszcze nie wszystko! Są one DUŻO szybsze, niż +tradycyjne DLLe Win32 DivX. Zobacz poniżej opis konfiguracji. Jedyną wadą tych +kodeków jest fakt, że aktualnie są one closed-source. :(

+ +

Kodeki można ściągnąć z następującego URL:

+ +

    http://download2.projectmayo.com/dnload/divx4linux/divx4linux-20010718.zip

+ +

Rozpakuj je i uruchom, jako root, polecenie: ./install.sh .

+ +

Uwaga: NIE zapomnij dodać /usr/local/lib do /etc/ld.so.conf !

+ +

MPlayer automatycznie wykrywa czy DivX4 jest (właściwie) +zainstalowany, wystarczy go, tak jak zawsze, skompilować. Jeśli mplayer nie +wykrywa DivX4, oznacza to, że nie zainstalowałeś go w taki sposób jak powyżej +podano, i/lub popsułeś konfigurację (zobacz ostatnie pytanie w sekcji 5.1).

+ +

Używanie tego kodeka jest trochę skomplikowane. Ponieważ powstaje konflikt +ze starym OpenDivX (jego API jest bardzo podobne do do tego z OpenDivX), kod +OpenDivX jest wyłączony, również sterownik OpenDivX wywołuje tą bibliotekę.

+ +

Ogólnie możemy sprowadzić to zagadnienie do faktu, że masz dwie opcje do +zastosowania tego kodeka:

+ +

+ +
  -vc odivx   użycie kodeka divx4 jako +nowej wersji OpenDivX. W tym przypadku produkuje on we własnym buforze obrazy +YV12 oraz MPlayer (libvo) dokonuje konwersji przestrzeni kolorów. +(REKOMENDOWANE!)
-vc divx4 użycie konwersji +przestrzeni kolorów z kodeka divx4. W tym trybie można użyć również +YUY2/UYVY.

+ +

Metoda 'odivx' jest zazwyczaj szybsza, ze względu na fakt, że przenosi ona +dane obrazu do formatu YV12 (planar YUV 4:2:0), a to wymaga dużo mniejszego +pasma przenoszenia na szynie. W trybie spakowanego YUV (YUY2, UYVY) stosuj +metodę 'divx4'. W trybie RGB możesz dowolnie wybierać, ponieważ prędkości ich +są takie same, różnią się być może tylko w odniesieniu do aktualnego bpp.

+ +

Uwaga: ten kodek wspiera również postprocessing, ale zakres wartości jest +dziwny: (UAKTUALNIĆ)

+ +

+ + + + + + +
  0  bez postproc
10 .. 20postprocessing, normalny (jak na poziomie 2 z divxd)
30 .. 60mocny prostprocessing, obciąża mocno CPU (podobnie jak poziom 4 z divxd

+ +

2.2.1.2. DivX/libavcodec z ffmpeg

+ +

Poczynając od wersji 0.4.2, ffmpeg zawiera kodek DivX +opensource, który jest kompatybilny z tradycyjnym DivX. MPlayer +wspiera ten kodek i dzięki temu możliwe staje się oglądanie filmów +DivX/DivX4 na platformach innych niż x86 oraz osiąganie dużo szybszej +prędkości dekodowania DivX/DivX4, niż za pomocą kodeków Win32 i +oryginalnych bibliotek DivX4
. Ponieważ zostało to usunięte z drzewa cvs +MPlayera, musisz ściągnąć to ręcznie bezpośrednio z drzewa cvs +FFmpeg

. + +

+ cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg login
+ cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg co ffmpeg +

+ +

UWAGA: Jeśli kopiujesz z podkatalogami CVS, następnym razem wystarczy +zrobić 'cvs update'.

+ +

Teraz przenieś nowo ściągnięte źródła ffmpeg: katalog libavcodec, (ze +wszystkimi jego podkatalogami) do drzewa katalogowego MPlayera, tak, aby +to wyglądało w taki sposób:

+ +

    main/libavcodec

+ +

Linkowanie symboliczne NIE jest wystarczające. Musisz to skopiować bądź +przenieść!!!

+ +

Następnie skompiluj. configure wykrywa czy wszystko jest w porządku i może +być skompilowane. Ten kodek również wspiera postprocessing!

+ +

W celu użycia go, odśwież swój plik codecs.conf, zgodnie z tym, co mówią +strony podręcznika lub example.conf (opcja -vfm).

+ +

Aby osiągnąć największą prędkość na moim K6, usuwam sekcję +ffmpeg12 z codecs.conf (ten kodek nie jest zoptymalizowany a +libmpeg2 jest dwa razy szybszy), i wpisuję vfm=5 w moim pliku +konfiguracyjnym. Po czym MPlayer zawsze już używa ffdivx/ffodivx +do dekodowania plików DivX/DivX4 oraz libmpeg2 do plików MPEG1/2. Przy +takiej konfiguracji na moim K6/2 500 z Matrox G400 mogę oglądać filmy +DivX/DivX4 w najwyższej rozdzielczości, bez straty klatek (framedrop).

+ +

2.2.1.3. Kodeki XAnim

+ +

Używanie (niektórych) kodeków XAnim z innym programem niż XAnim, jest +NIELEGALNE. TWOIM obowiązkiem jest przeczytanie +licencji i zastosowanie się do niej. Autorzy MPlayera nie mogą zostać +pociągnięci do odpowiedzialności za jakiekolwiek, sprzeczne z prawem, +zachowania użytkowników.

+ +

A więc: tak, MPlayer potrafi używać do dekodowania kodeków XAnim. +Włączenie ich jest bardzo proste:

+ +

+

    +
  • Ściągnij kodeki, których chcesz używać ze +strony XAnim. Nie ma tam kodeka +3ivx , więc ściągnij go ze strony +3ivx.
  • + +
  • Użyj opcji --with-xanimlibdir, aby podać dla configure, +gdzie znajdują się kodeki xanim. Domyślnie są one szukane w katalogu +/ (...) .
  • + +
  • Zmień nazwy plików, obcinając część dotyczącą architektury tak, aby +wyglądały one następująco: vid_cvid.xa, vid_h263.xa, vid_iv50.xa + +
+

+ +

Jest to rodzina kodeków video o numerze 10, przydatne więc będzie użycie +opcji -vfm 10 i poinformowanie MPlayera, by ich użył jeśli +to możliwe.

+ +

Testowane kodeki: Indeo 3.2, 4.1, 5.0, CVID, 3ivX, h263.

+ + +

2.2.1.4. Obraz VIVO

+ +

MPlayer potrafi odgrywać obrazy Vivo (1.0 i 2.0). Najbardziej +odpowiedni kodek do plików 1.0, to dekoder FFmpeg's H263, Możesz go użyć za +pomocą opcji -vc ffh263 (będziesz potrzebował najnowszego +libavcodec!). Do plików 2.0 użyj ivvideo.dll pliku DLL Win32 (do +sciągnięcia tutaj), +zainstaluj go w /usr/lib/win32, bądź w innym miejscu, w którym +przechowujesz kodeki Win32. Ten późniejszy kodek nie obsługuje trybów YV12 ani +YUY2, a tylko BGR i jest użyteczny wyłącznie z wyjściami X11 i OpenGL. Miejmy +nadzieję, że ffh263 będzie wspierał pliki VIVO 2.0 w przyszłości.

+ + +

2.2.1.5. Obraz MPEG 1/2

+ +

MPEG1 i MPEG2 są dekodowane za pomocą biblioteki własnej libmpeg2. +Jej kod źródłowy jest zawarty w MPlayerze i oczywiście jest +wieloplatformowy. Obsługujemy pliki video MPEG1/2 z błędami przez sprawdzanie, +jaką sygnaturę zwraca libmpeg2, i kiedy jest to sig11 (segmentation fault), +szybko inicjalizujemy ponownie kodek, i kontynuujemy dokładnie z tego miejsca, +w którym pojawił się błąd. Nie ma tu zauważalnej straty prędkości.

+ + +

2.2.1.6. MS Video1

+ +

Jest bardzo stary i bardzo zły kodek Microsoftu. W przeszłości był on +dekodowany z kodekiem Win32 msvidc32.dll, teraz mamy własną +implementację open-source wykonaną przez Mike'a Melansona).

+ + +

2.2.1.7. Cinepak CVID

+ +

Najlepszym sposobem, aby oglądać obrazy Cinepak za pomocą MPlayera +jest użycie kodeka XAnim vid_cvid.xa, ponieważ obsługuje on wyjścia +YV12, YUY2, w przeciwieństwie do kodeka Win32, który wspiera wyłącznie RGB.

+ + +

2.2.2. Kodeki dźwięku

+ +

Najważniejsze kodeki dźwięku, to:
+

    +
  • MPEG layer 2 oraz layer 3 (MP3) audio(własny kod, z optymalizacją MMX/SSE/3DNow!)
  • +
  • MPEG layer 1 audio(własny kod, z libavcodec)
  • +
  • AC3 Dolby audio (własny kod, z optymalizacją SSE/3DNow!)
  • +
  • Ogg Vorbis kodek audio (własna biblioteka)
  • +
  • Voxware audio (użycie DirectShow DLL)
  • +
  • alaw, msgsm, pcm i inne proste stare formaty dźwiękowe
  • +

+ + +

2.2.2.1. Programowe dekodowanie AC3

+ +

Domyślny dekoder, używany do plików z dźwiękiem AC3.

+ +

Dekoder AC3 może tworzyć mieszanki wyjściowego dźwięku dla 2, 4 lub 6 +głośników. Skonfigurowany dla 6 głośników, dekoder ten dostarcza oddzielne +wyjścia dla wszystkich kanałów AC3 do sterownika karty dźwiękowej, umożliwiając +doświadczenie wrażenia pełnego "dźwięku otaczającego", bez wymagania od +zewnętrznego dekodera AC3 użycia kodeka hwac3.

+ +

Użyj opcji -channels, aby wybrać ilość kanałów wyjściowych. +Użyj opcji -channels 2 dla stereo downmix. Dla czterokanałowego +downmix (wyjścia lewo-przód, prawo-przód, lewo-tył, prawo-tył), użyj opcji +-channels 4. W tym przypadku jakikolwiek centralny kanał będzie +miksowany odpowiednio do przednich kanałów. Ostatecznie, "-channels 6" będzie +wyprowadzało wszystkie kanały AC3 tak, jak są zakodowane - w kolejności lewy, +prawy, lewy-tylny, prawy-tylny, centralny oraz LFE.

+ +

Domyślna liczba kanałów wyjściowych wynosi 2.

+ +

Aby korzystać z więcej niż dwóch kanałów wyjściowych, musisz użyć OSS, i +posiadać sterownik dla karty dźwiękowej, który obsługuje odpowiednią liczbę +kanałów wyjściowych przez SNDCTL_DSP_CHANNELS ioctl. Na przykład wersja +sterownika emu10k1 (używanego z kartami SB Live), nowsza niż z sierpnia 2001, +powinna być odpowiednia.

+ +

Miksowanie na wyjściu więcej niż dwóch kanałów powinno być traktowane jako +eksperymentalne.

+ +

2.2.2.2. Sprzętowe dekodowanie AC3

+ +

Potrzebna ci będzie karta dźwiękowa, zdolna do obsługi AC3, z cyfrowym +wyjściem (SP/DIF). Sterownik karty dźwiękowej musi obsługiwać format AFMT_AC3 +(tak, jak to jest w SB Live!). Połącz swój dekoder AC3 do wyjścia SP/DIF oraz +użyj opcji '-ac hwac3'. To może zadziałać, bądź nie (status eksperymentalny - +najprawdopodobniej nie zadziała).

+ + +

2.2.2.3. Obsługa libmad

+ +

libmad jest wieloplatformową +biblioteką dekodowania dźwięku MPEG. Jeśli nie wiesz dlaczego to jest dobre, +prawdopodobnie nie potrzebujesz tego.

+ +

Aby włączyć obsługę, skompiluj źródła z opcją --enable-mad. +

+ + +

2.2.2.4. Dźwięk VIVO

+ +

Kodek dźwięku stosowany do plików VIVO zależy od tego, czy jest to plik +VIVO/1.0, czy VIVO/2.0. Pliki VIVO/1.0 zawierają dźwięk g.723, zaś pliki +VIVO/2.0 mają Vivo Siren. Obecnie żaden z nich nie jest wspierany, ale +możesz ściągnąć kodek g.723 z +tej +strony, a następnie skopiować go do katalogu /usr/lib/win32 +lub innego odpowiedniego.

+ + +

2.2.3. Importowanie kodeków Win32

+ +

2.2.3.1. Kodeki VFW

+ +

VfW (Video for Windows), jest to stare Video API dla Windows. Jego kodeki +mają rozszerzenia .DLL lub (rzadziej) .DRV. +Jeśli MPlayer nie działa z twoim AVI:

+ +

    UNKNOWN video codec: HFYU (0x55594648)

+ +

To oznacza, że twój AVI jest zakodowany za pomocą kodeka, który ma HFYU +fourcc (HFYU = kodek HuffYUV, DIV3 = DivX Low Motion, itd....). Teraz, gdy już +to wiemy, będziemy musieli dowiedzieć się, którą bibliotekę DLL z Windows +załadować, aby móc odtworzyć ten plik. W naszym przypadku system.ini zawiera to +(oraz wiele innych):

+ +

    VIDC.HFYU=huffyuv.dll

+ +

Tak więc będziemy potrzebować pliku huffyuv.dll. Zauważ, że kodeki dźwięku są wyróżnione za pomocą prefiksu MSACM:

+ +

    msacm.l3acm=L3codeca.acm

+ + +

To jest kodek MP3. Mając już wszystkie potrzebne informacje (fourcc, +plik z kodekiem, próbka AVI), wyślij żądanie wsparcia dla twojego kodeka mailem +i załaduj te pliki przez FTP:

+ +

    ftp://ftp.mplayerhq.hu/MPlayer/incoming/[nazwa_kodeka]/

+ + +

2.2.3.2. Kodeki DirectShow

+ +

DirectShow to najnowsze Video API, które jest nawet gorsze, niż jego +poprzednik. Sprawy się bardziej komplikują, odkąd: +

    +
  • system.ini nie zawiera potrzebnych informacji, a w zamian za to jest przechowywany w rejestrze :( +
  • będzie potrzebny nam GUID kodeka. +

+ +

Więc znajdźmy ten przeklęty rejestr ... +

    +
  • Uruchom 'regedit'. +
  • Wciśnij ctrl-f, odznacz pierwsze dwie opcje i zaznacz trzecią. Wpisz +fourcc kodeka (np.: TM20). +
  • Powinno się pokazać pole ze ścieżką i nazwą pliku (np. : +C:\WINDOWS\SYSTEM\TM20DEC.AX). +
  • Skoro mamy już plik, potrzebne nam jeszcze GUID. Spróbuj jeszcze raz +poszukać, ale tym razem nazwy kodeka, nie fourcc. Jego nazwę można odczytać w +File/Properties/Advanced, podczas odtwarzania tego pliku przez Media Player. +Jeśli się nie da, to pech ;) Spróbuj zgadnąć (np. szukaj: TrueMotion). +
  • Jeśli znalazłeś (w rejestrze), powinno być tam pole FriendlyName oraz pole +CLSID. Zapisz, że 16 bajtów CLSID, to potrzebne nam GUID. +

+ +

UWAGA:Poszukując plików, staraj się włączyć wszystkie pola wyboru ... +Możesz dostać wiele nieprzydatnych odpowiedzi, ale być może dostaniesz te +właściwe przy okazji ...

+ +

UWAGA: W razie niepowodzenia zrzuć wszystko na M$.

+ + +

Mając już wszystkie potrzebne informacje (fourcc, GUID, plik z kodekiem, +próbka AVI), wyślij zgłoszenie wsparcia dla swojego kodeka mailem, i prześlij +te pliki na adres FTP:
+ftp://ftp.mplayerhq.hu/MPlayer/incoming/[nazwa_kodeka]/

+ + + diff -r 34df0f546afc -r dadab20dc2b4 DOCS/Polish/documentation.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DOCS/Polish/documentation.html Sun Dec 16 11:51:02 2001 +0000 @@ -0,0 +1,1634 @@ + + + + + +

MPlayer - Movie Player for LINUX (C) 2000-2001 Arpad Gereoffy (A'rpi/ESP-team)
+
http://www.mplayerhq.hu

+
[ Angielski ] +[ Węgierski ] +[ Niemiecki ] +[ Francuski ] +[ Polski ] +

+ +


+ +

Spis treści

+ +


+ +

+

+

+ +


+ +

1. Wprowadzenie

+ +

1.1. O programie

+ +

MPlayer jest odgrywarką filmów pod LINUXem (działa pod wieloma innymi +Unixami, i systemami opartymi na innych procesorach niż x86, zobacz sekcja 6). Wyświetla większość plików MPEG, VOB, AVI, VIVO, +ASF/WMV, QT/MOV oraz FLI, korzystając z wielu własnych, XAnim oraz Win32 DLL +kodeków. Możesz również oglądać VideoCD, SVCD, DVD, +3ivx, a nawet filmy DivX (i nie potrzebujesz wcale biblioteki +avifile. Kolejną dużą zaletą mplayera jest szeroki wachlarz sterowników +wyjścia. Mplayer działa z X11, Xv, DGA, OpenGL, SVGAlib, fbdev, AAlib, +DirectFB, ale możesz też korzystać z GGI i SDL ( i w ten sposób z wielu +sterowników dostarczanych przez SDL) oraz z niskopoziomowych sterowników +specyficznych dla danej karty (dla Matrox, 3Dfx i Radeon) także! Większość +dostępnych sterowników wspiera sklaowanie programowe i sprzętowe, możesz więc +cieszyć się oglądaniem filmów w trybie pełnoekranowym. MPlayer wspiera +wyświetlanie poprzez pewne sprzętowe karty dekodujące MPEG , takie jak DVB i DXR3/Hollywood+ ! A co +powiesz na ładne, duże, antyaliasowane podtytuły z cieniem (wspieranych jest +9 typów!!!) z europejskim ISO 8859-1,2 (węgierskimi, angielskimi, czeskimi +itd.), cyrylicą, koreańskimi fontami oraz OSD?

+ +

MPlayer is basically GPL, but contains some non-GPL code which is not +allowed to be distributed in binary form, and also contains the OpenDivX +library which has special license. We are still developing towards GPL.

+ +

Distributing MPlayer in the form of binaries and/or binary packages +is currently impossible, speaking about both technical and law +areas. Detailed information can be found in the second part of this file, +and it is recommended to read it.

+ +

I didn't write any codecs, just some players. I spent +a lot of time finding the best way to parse bad damaged input files +(both MPEG and AVI) and to do perfect A-V sync with seeking ability. +My player is rock solid playing damaged MPEG files (useful for some VCDs), +and it plays bad AVI files which are unplayable with the famous +windows media player. Even AVI files without index chunk are playable, and +you can rebuild their indexes with the -idx option, thus enabling seeking! +As you see, stability and quality are the most important things for me, +but the speed is also amazing.

+ +

1.2. Historia

+ +

Wszystko zaczęło się rok temu... +Próbowałem wielu odgrywarek pod linuxa (mtv,xmps,dvdview,livid/oms,VideoLAN, +xine,xanim,avifile,xmmp) ale wszystkie miały jakieś wady. Głównie z odtwarzaniem +szczególnych plików oraz z synchronizacją obrazu i dźwięku. Większość z nich +nie potrafi odgrywać plików w obu formatach MPEG1/2 i AVI (DivX). Wiele z nich +miało również problemy z jakością obrazu oraz prędkością. +Postanowiłem więc napisać nowy lub zmodyfikować jeden z tych programów...

+ +

    +
  • mpg12play v0.1-v0.3:
    + The first try, hacked together in a half hour! + I've used libmpeg3 from www.heroinewarrior.com up to the version 0.3, + but there were image quality and speed problems with it. +
  • mpg12play v0.5-v0.87:
    + Mpeg codec replaced with DVDview by Dirk Farin, it was a great stuff, + but it was slow and was written in C++ (I hate C++!!!) +
  • mpg12play v0.9-v0.95pre5:
    + Mpeg codec was libmpeg2 (mpeg2dec) by Aaron Holtzman & Michel Lespinasse. + It's great, optimized very fast C code with perfect image quality and + 100% MPEG standard conformance. +
  • MPlayer v0.3-v0.9:
    + It was a pack of two programs: mpg12playv0.95pre6 and my new simple AVI + player 'avip' based on avifile's Win32 DLL loader. +
  • MPlayer v0.10:
    + The MPEG and AVI player in a single binary! +
  • MPlayer v0.11:
    + Some new developers joined and from 0.11 the mplayer project is a team-work! + Added .ASF file support, and OpenDivX (see www.projectmayo.com) en/decoding. +
  • MPlayer v0.17 "The IdegCounter"
    + The release version of the 0.11pre after 4 months of heavy development! + Try it, and be amazed! Thousands of new features added... and of course + old code was improved too, bugs removed etc. +
  • MPlayer 0.18 "The BugCounter"
    + 2 months since 0.17 and here's a new release.. Completed ASF support, + more subtitle formats, introduced libao (similar to libvo but to audio), + even more stable than ever, and so on. It's a MUST ! +
  • MPlayer 0.50 "The Faszom(C)ounter"
    + Hmm. Release again. Tons of new features, beta GUI version, bugs fixed, + new vo and ao drivers, ported to many systems, including opensource DivX + codecs and much more. Try it! + +

+ +

1.3. Instalacja

+ +

In this chapter I'll try to guide you through the compiling and +configuring process of MPlayer. It's not easy, but it won't neccessarily +be hard. If you experience a different behaviour than what I explain, please +search through this documentation and you'll find your answers. If you +see links, please follow them and read carefully what they contain. It +will take some time, but it DOES worth it.

+ +

You need a fairly recent system. On Linux, 2.4.x kernels are required, but +with 2.4.10 and above you'll ocassionally experience problems (licensing, +kernel bugs, etc) so they are discouraged.

+ +

WYMAGANIA SPRZĘTOWE
+ +

    +
  • binutils - suggested version is 2.11.x . This program is + responsible for generating MMX/3DNow!/etc instructions, thus very important.
  • +
  • gcc - suggested version is from 2.95.2 to 2.95.4. + NEVER use 2.96 or 3.x.x !!! They generate faulty code. If you decide + to change gcc from 2.96, then don't decide in favor of 3.0 juts because + it's newer! In some ways it's even worse than 2.96. So downgrade to + 2.95.x (downgrade libstdc++ too!) or don't up/downgrade at all (but in + this case, be prepared for runtime problems). + Detailed information about gcc 2.96's bugs can be found + here and in the + FAQ !
  • +
  • XFree86 - suggested version is always the newest (4.1.0). + Normally everyone wants this, as starting from XFree86 4.0.2, it contains + the XVideo extension (somewhere referred + as Xv) which is needed to enable the hardware YUV acceleration (fast + image display) on cards that support it. More + information available.
    + Make sure its development package is installed too otherwise + it won't work.
    + For some videocards you don't need XFree86. See list below.
  • +
  • make - suggested version is always the newest (at least 3.79.x). This + usually isn't important.
  • +
  • SDL - it's not mandatory, but can help in some cases. Always + use the newest (beginning from 1.2.x).
  • +
+ +

KODEKI

+ +
    +
  • libavcodec : If you want to use this DivX3/DivX4/etc codec, check the +2.2.1.2 section before compiling. Features :
    +
      +
    • you can gain DivX/DivX4 playing on non-x86 machines
    • +
    • this codec has the greatest decoding speed for DivX and DivX4 +movies (even faster than the original DivX4 library itself) ! Recommended!
    • +
    +
  • + +
  • Win32 codecs : If you plan to use MPlayer on x86 +architecture, you will possibly need them. Download and unzip w32codecs.zip to +/usr/lib/win32 . Note: the avifile project has similar codecs package, but it +differs from ours, so if you want to use all supported codecs, then use our +package! However, you can use our codecs package with avifile. Features :
    +
      +
    • you need this if you want to play or encode for example movies recorded + with digital cameras (example: DV)
    • +
    • needed if you want to play WMV movies or older ASF's
    • +
    +
  • + +
  • DivX4 : information about this codec is available in the +2.2.1.1 section. If you don't want to use +MEncoder, you possibly don't want this codec as libavcodec (see +above) is much faster than this.
    +Features :
      +
    • can play old DivX3 movies much faster than the Win32 DLL but + slower than libavcodec !
    • +
    • it's closed-source, and only an x86 version is available.
    • +
    • You also need this codec for MEncoder, see below !
    • +
    +
  • + +
  • If you want to play 3ivx movies, check the +XAnim codecs section.
  • + +
  • The XAnim codecs are the best (full screen, +hardware YUV zoom) for decoding old videos like Indeo 3/4/5, Cinepak, and some +others. And they are multiplatform, so this is the only way to play Indeo on +non-x86 platforms (well, apart from using XAnim:).
  • + +
+ +

KARTY GRAFICZNE

+ +

There are generally two kind of videocards. One kind (the newer cards) has +hardware YUV acceleration support, the other cards don't.

+ +

+KARTY YUV

+ +

+They can display and scale (zoom) the picture to any size that fits in +their memory, with small CPU usage (zooming doesn't increase it!), thus +you get a nice and very fast fullscreen playing.

+ +

+

    +
  • Karty Matrox G200/G400/G450/G550 : please see the mga_vid +section in order to gain big speedup. It is important to do these steps +before compiling MPlayer, otherwise no Matrox-specific support will be +built. Also check out the Matrox TV-out +section.
  • + +
  • Karty 3Dfx Voodoo3/Banshee : please see the 2.3.1.9 section in order to gain big speedup. It +is important to do these steps before compiling MPlayer, +otherwise no 3Dfx support will be built. Also see the 3dfx +TV out section.
  • + +
  • Karty ATI : see the ATI cards +section of the TV-out documentation, to know what features of your card is +supported under Linux/MPlayer. If you have a Radeon or Rage128 card, we have a +XXX_vid driver for you, with TV out ! Check this section !
  • + +
  • Karty S3 : the Savage chips have hardware acceleration. Use as +new XFree86 version as possible, older drivers are buggy. Savage chips +have problems with YV12 display, see S3 Xv +section for details. Older, non-Savage cards have no, or slow hardware +support.
  • + +
  • Karty Nvidia : very bad choice for video playing. Nvidia's +cards are manufactured on the far-east, and have very cheap and bad +quality chips. Moreover, the built-in Nvidia driver in XFree86 doesn't +contain support for hardware YUV acceleration! You have to download +Nvidia's closed-source drivers from nvidia.com . See details in Nvidia Xv driver section.
  • + +
  • Inne karty : none of the above? +
      +
    • Try if the XFree86 driver (and your card) supports hardware + acceleration. See the Xv section for + details.
    • +
    • If it doesn't, your card is one of the :
    • +
    +
  • + +
+

+ +

+Karty bez YUV

+ +

+Fullscreen playing can be achieved by either zooming +(by software, this is slooow), or changing to a smaller videomode, for +example to 352x288. If you don't have YUV accel, this latter method is +the recommended one. Throughout MPlayer, this behaviour can +be switched on by using the -vm option and with +the following drivers : +

+

+ +

KARTY DŻWIĘKOWE

+ +
    + +
  • Soundblaster Live! : with this card you can use 4 or 6 (5.1) +channels AC3 decoding instead of 2. Read the +Software AC3 decoding section.
  • + +
  • other cards' features aren't supported by MPlayer. + It's very recommended to read the soundcards + section ! +
+ +

WŁAŚCIWOŚCI

+ +
    +
  • For DVD support, you'll have to compile libdvdcss and libdvdread, and +in this order! +See section 4.2 for more information.
  • + +
  • Decide if you need GUI. If you do, see the 1.4 section +before compiling.
  • + +
  • If you want to install MEncoder (our great all-purpose encoder), +see the MEncoder section .
  • + + +
  • If you have a V4L compatible TV tuner card, and wish to watch/grab and +encode movies with MPlayer, read the TV input section.
  • + +
  • There are two timer codes in MPlayer. To use the old +method, you don't have to do anything. It uses usleep() to tune +A/V sync, with +/- 10ms accuracy. However sometimes the sync has to be tuned +even finer. The new timer code uses PC's RTC (Real Time Clock) for this task, +because it has precise 1ms timers. This requires root, or a setuid root +MPlayer binary (or a little kernel hacking, but that's unadvised). You +can see the new timer's efficiency in the status line. Note: NEVER install +setuid MPlayer binary on a multiuser system! It's a clear way for everyone +to gain root.
  • + +
+ +

Then build MPlayer:

+ +
    ./configure
+    make
+    make install
+ +

ALWAYS browse the output of ./configure, and the +configure.log file, they contain info about what will be built, +and what won't. You may also want to view config.h and config.mak files.

+ +

Though not mandatory, the fonts should be installed in order to gain +OSD, and subtitle functionality. Download mp-arial-iso-8859-*.zip and/or optional +(if exists) language updates. It's VERY RECOMMENDED to check +section 1.5 for details.

+ +
    mkdir ~/.mplayer/font
+    cd ~/.mplayer/font
+    unzip mp-arial-iso-8859-1.zip
+ +

Only one thing remains: copy the codecs.conf file from the etc +directory (relative to the MPlayer tree) to $HOME/.mplayer/codecs.conf . +You should also check the manpage and example.conf for available options, and insert them +into your config file, $HOME/.mplayer/config .

+ + +

1.4. A co z GUI?

+ +

The GUI needs GTK (it isn't GTK, but the panels are). The skins are stored +in PNG format, so gtk, libpng (and their devel stuff) has to be installed. +You can build it by specifying --enable-gui during ./configure . +Then, to turn on GUI mode, you either +

    +
  • use the -gui option
  • +
  • specify gui=yes in your config file
  • +
  • ln -s /usr/local/bin/mplayer /usr/local/bin/gmplayer , + and call gmplayer instead. +
+

+ +

Since GTK doesn't run from a setuid root binary, you can't use +the GUI and the new timer code (mentioned above) together (unless +you run MPlayer as root, of course).

+ +

As MPlayer doesn't have a skin included, you have to download them +if you want to use the GUI. See the download page. +They should be extracted to the usual system-wide directory (/usr/local/share/mplayer/Skin), +or to $HOME/.mplayer/Skin . MPlayer by default looks in +these directories for a default named directory, but you can use the +-skin newskin option, or the skin=newskin config file +directive to use the skin in */Skin/newskin directory.

+ +

1.5. Napisy i OSD

+ +

Yes, MPlayer also supports many kinds of subtitles. Currently +8 kinds of subtitle can be used by the subreader code. To see what are +these subtitle formats, see subreader.c, line ~30.

+ +

About DVD subtitles, read the DVD section.

+ +

MPlayer introduces a new subtitle format called MPsub. +It was designed by me (Gabucino). Basically its main feature is being +dynamically time-based (although it has frame-based mode too). Example (from +DOCS/tech/mpsub.sub) : +

+ +

+# first number : wait this much after previous subtitle disappeared
+# second number : display the current subtitle for this many seconds
+
+15 3
+A long, long time ago...
+
+0 3
+in a galaxy far away...
+
+0 3
+Naboo was under an attack.
+

+ +

So you see, the main goal was to make subtitle editing/timing/joining/cutting easy. And, +if you - say - get an SSA subtitle but it's badly timed/delayed to your +version of the movie, you simply do a mplayer dummy.avi -sub source.ssa +-dumpmpsub . A dump.mpsub file will be created in the +current directory, which will contain the source subtitle's text, but in +MPsub format. Then you can freely add/substract seconds to/from the +subtitle.

+ +

Subtitles are displayed with a technique called 'OSD', On Screen Display. +OSD is used to display current time, volume bar, seek bar etc.

+ +

INSTALACJA OSD i SUB

+ +

You need an MPlayer font package to be able to use OSD/SUB feature. +There are many ways to get it: +

    + +
  • download ready-to-use font packages from MPlayer site. +Note: currently available fonts are limited for iso 8859-1/2 support, +and there are a few special versions for korean, russian etc codepages. +Font should have appropriate font.desc file which maps unicode font +positions to the actual code page of the subtitles text. Other solution +is to have subtitles encoded in utf8 encoding and use -utf8 option +or just name the subtitles file .utf and have it in the same +dir as the video file. Recoding from different codepages to utf8 could be +done by using konwert (debian) or iconv (RedHat) programs.
    +Some URLs: + + +
  • use the font generator tool at TOOLS/subfont-c +It's a complete tool to convert from TTF/Type1/etc font to mplayer font pkg. +(read TOOLS/subfont-c/README for details) + +
  • use the font generator GIMP plugin at TOOLS/subfont-GIMP +(note: you must have HSI RAW plugin too, see URL below) +
+

+ +

After that, UNZIP the files to ~/.mplayer/font/ . +Now you have to see a timer at the upper left corner of the movie +(switch it off with 'o') .

+ +

OSD has 3 states: (switch with 'o')
+

    +
  • timer + volume bar + seek bar + subtitles (default) +
  • volume bar + seek bar + subtitles +
  • subtitles only +
+ +

You can change default behaviour by setting osdlevel= variable in config file.

+ + +

2. Właściwości

+ + +

2.1. Supported formats

+ + +

2.2. Supported codecs

+ + +

2.3. Video & Audio output devices

+ + +

2.4. MEncoder - An All-Purpose Encoder

+ + +

2.5. TV input

+ +

This section is about how to enable watching/grabbing from V4L compatible +TV tuner.

+ +

Compilation

+ +

+

    +
  • first, you have to add the --enable-tv flag to ./configure, + and recompile.
  • +
  • make sure your tuner works with another TV softwares in Linux, for example + xawtv.
  • +
+

+ +

Hint: if MPlayer prints ioctl: can't sync or something + like this, your tuner can't capture the requested image size. Try using + width=640:height=480 options.

+ +

Hint #2 : are the colors fucked up? Then your tuner can't display + in YV12 colorspace. Try YUY2, UYVY or if none of these works: RGB32 (this one + with -vo sdl). + You can specify these with the outfmt=YV12 option see below.

+ +

Available options
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  on  use TV + input
  driver + dummy - NULL TV input :) Used for testing only, generates dummy + input.
+ v4l - captures images from standard V4L interface (default + /dev/video0)
  device  specify other + device than the default /dev/video0
  input  give from which + input of the TV tuner you which to grab from (e.g. television, + s-video, composite, ...)
+ Prints the available ones during init.
  freq  specify the + frequency to set the tuner (e.g. 511.250)
  outfmt  in which output + format to display images (rgb32, rgb24, yv12, + uyvy)
+ The following option must have the same setting !
  width   + the width of the output window, in pixels
  height   + the height of the output window, in pixels
  norm   + available: PAL, SECAM, NTSC
  channel   + set the tuner to the given channel
  chanlist   + available: us-bcast, us-cable, europe-west, europe-east, etc
+

+ +

Keyboard control

+ + + + + +
  h or l  select previous/next channel
nchange norm
bchange channel list
+ +

Examples

+ +

+Dummy output, to AAlib :)
+    mplayer -tv on:driver=dummy:width=640:height=480 -vo aa
+
+Input from standard V4L
+    mplayer -tv on:driver=v4l:width=800:height=600:device=/dev/video0:input=television:outfmt=yv12 -vo xv
+

+ + +

3. Użytkowanie

+ +

+ + + + +
  file  mplayer [options] [path/]filename
VCDmplayer [options] -vcd trackno /dev/cdrom
DVDmplayer [options] -dvd titleno [/dev/dvd]
netmplayer [options] http://site.com/file.[mpg|avi]

+ +

  mplayer -vo x11 /mnt/Films/Contact/contact2.mpg
+  mplayer -vcd 2 /dev/cdrom
+  mplayer -afm 3 /mnt/DVDtrailers/alien4.vob
+  mplayer -dvd 1 /dev/dvd
+  mplayer -abs 65536 -delay -0.4 -nobps ~/movies/test.avi

+ + +

3.1. Sterowanie za pomocą kalwiatury

+ +

+ + + + + + + + + + + + + + + + + + + + + + + + +
  <- or ->  seek backward/forward 10 seconds
up or downseek backward/forward 1 minute
pgup/pgdownseek backward/forward 10 minutes
< or >seek backward/forward in playlist
p or SPACEpause movie (press any key)
q or ESCstop playing and quit program
+ or -adjust audio delay by +/- 0.1 second
/ or *decrease/increase volume
otoggle OSD: none / seek / seek+timer
mtoggle using master/pcm volume
z or xadjust subtitle delay by +/- 0.1 second

(the following keys are valid only when using DirectShow DivX codec or DivX4 codec with -vc divx4)

1 or 2adjust contrast
3 or 4adjust brightness
5 or 6adjust hue
7 or 8adjust saturation

(the following keys are valid only with TV input support

h or l  select previous/next channel
nchange norm
bchange channel list

+ +

Obsługa GUI z klawiatury

+ +

+ + + + + + + + + + + + +
  , and .  previous / next file
gray - or +decrease / increase volume
enterstart playing
spacepause
sstop
aabout
lload file
bskin browser
etoggle equalizer
ptoggle playlist
ftoggle fullscreen
mtoggle mute

+ +

Sterowanie wejściem TV

+ +

+ + + + +
  h or l  select previous/next channel
nchange norm
bchange channel list

+ +

3.2. Sterowanie za pomocą LIRC

+ +

Linux Infrared Remote Control - use an easy to build home-brewn IR-receiver, +an (almost) arbitrary remote control and control your linux box with it! +More about it at www.lirc.org.

+ +

If you have installed the lirc-package, you can compile MPlayer with LIRC +support using ./configure --enable-lirc

+ +

If everything went fine, MPlayer will print a message like +LIRC init was successful. +on startup. If an error occurs it will tell you. If it doesn't tell you +anything about LIRC there's no support compiled in. That's it :-)

+ +

The application name for MPlayer is - oh wonder - mplayer_lirc. +It understands the following commands:

+ +

+ + + + + + + + + + +
  PAUSE  pause playing. Any other keystroke will continue replay.
QUITexit MPlayer
RWND10 secs back
FRWND60 secs back
FWDskip 10 secs
FFWDskip 60 secs
INCVOLincrease volume one percent
DECVOLdecrease volume one percent
MASTERuse master mixer channel
PCMuse pcm mixer channel

+ +

Don't forget to enable the repeat flag for RWND/FWD in .lircrc. Here's an +excerpt from my .lircrc:

+ +

  begin
+   remote = CU-SX070
+   prog = mplayer_lirc
+   button = Tape_Play
+   repeat = 1
+   config = FFWD
+  end
+
+  begin
+   remote = CU-SX070
+   prog = mplayer_lirc
+   button = Tape_Stop
+   config = QUIT
+  end

+ +

If you don't like the standard location for the lirc-config file (~/.lircrc) +use the -lircconf <filename> switch to specify another file.

+ +

3.3. Obsługa potoków z sieci, bądź jako pipe

+ +

MPlayer can play files from network, using the HTTP protocol. +Configuring it is simple, just recompile MPlayer with

+ +

    ./configure --enable-streaming

+ +

MPlayer can NOT read ASF files from network by the MMS protocol, only by plain HTTP.

+ +

MPlayer can read from stdin (NOT named pipes). This can be for example +used to play from FTP:

+ +

    wget ftp://micorsops.com/something.avi -O - | mplayer -

+ +

4. FAQ section

+ +

5. CD/DVD section

+ +

6. Różne systemy operacyjne

+ +

6.1. Pakiety Debiana

+ +

To build the package, get the cvs version, or .tgz and uncompress it, +and cd into programs directory:

+ +

    cd main
+    fakeroot debian/rules binary

+ +

(... mplayer detects hardware/software, builds itself and.. ) +dpkg-deb: building package `mplayer' in `../mplayer_0.18-1_i386.deb'.

+ +

And now just become root, and:

+ +

    dpkg -i ../mplayer_0.18-1_i386.deb as root.

+ +

Here's how it looks like:

+ +

	eyck@incubus:/src/main$ sudo dpkg -i ../mplayer_0.18-1_i386.deb
+	Password:
+	(Reading database ... 26946 files and directories currently installed.)
+	Preparing to replace mplayer 0.17a-1 (using ../mplayer_0.18-1_i386.deb)
+	Unpacking replacement mplayer ...
+	Setting up mplayer (0.18-1) ...

+ + +

6.2. FreeBSD

+ +

To build the package you will need GNU make (gmake, /usr/ports/devel/gmake), +native BSD make will not work.

+ +

To run MPlayer you will need to re-compile the kernel with +"options USER_LDT" (unless you are running -CURRENT, where this is default). +If you have a CPU with SSE also use "options CPU_ENABLE_SSE" to use it +(FreeBSD-STABLE required, or use kernel patches).

+ +

If MPlayer complains about "CD-ROM Device '/dev/cdrom' not found!" make a +symbolic link: ln -s /dev/(your_cdrom_device) /dev/cdrom

+ +

There's no DVD support for FreeBSD yet.

+ +

6.3. Solaris

+ +

MPlayer should work on Solaris 2.6 or newer.

+ +

AVI file playback works best on Solaris x86, because you have the +option to use the win32 codecs on the x86 platform, or can use MMX/MMX2/3DNow/etc +instructions for MP3/DivX/DVD/whatever. On Solaris SPARC, +you'll find quite a few AVI files with non working video and/or +audio playback, because the video/audio codecs using the Win32 DLLs +are not available. However, DivX/OpenDivX movies should work, +when using libavcodec.

+ +

On UltraSPARCs, MPlayer takes advantage of their VIS +extensions (equivalent to MMX), currently only in libmpeg2, +libvo and libavcodec, but not in mp3lib. You can watch a VOB file +on a 400Mhz CPU. You'll need mLib installed.

+ +

To build the package you will need GNU make (gmake, /opt/sfw/gmake), native +Solaris make will not work. Typical error you get when building with solaris' +make instead of GNU make:

+ +

   % /usr/ccs/bin/make
+   make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen

+ +

On Solaris SPARC, you need the GNU C/C++ Compiler; it does not matter +if GNU C/C++ compiler is configured with or without the GNU assembler.

+ +

On Solaris x86, you need the GNU assembler and the GNU C/C++ +compiler, configured to use the GNU assembler! The mplayer code on +the x86 platform makes heavy use of MMX, SSE and 3DNOW! +instructions that cannot be compiled using Sun's assembler +/usr/ccs/bin/as.

+ +

The configure script tries to find out, which assembler program is +used by your "gcc" command (in case the autodetection fails, use +the "--as=/whereever/you/have/installed/gnu-as" option to tell the +configure script where it can find GNU "as" on your system).

+ +

Error message from configure on a Solaris x86 system using GCC +without GNU assembler:

+ +

   % configure
+   ...
+   Checking assembler (/usr/ccs/bin/as) ... , failed
+   Please upgrade(downgrade) binutils to 2.10.1...

+ +

(Solution: Install and use a gcc configured with "--with-as=gas")

+ +

Typical error you get when building with a GNU C compiler that does +not use GNU as:

+ +

   % gmake
+   ...
+   gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math
+	-fomit-frame-pointer  -I/usr/local/include   -o mplayer.o mplayer.c
+   Assembler: mplayer.c
+   "(stdin)", line 3567 : Illegal mnemonic
+   "(stdin)", line 3567 : Syntax error
+   ... more "Illegal mnemonic" and "Syntax error" errors ...

+ +

For DVD support you must have the patched libcss installed. Patch: +http://www.tools.de/solaris/mplayer/.

+ +

Due to two bugs in solaris 8 x86, you cannot reliably play DVDs using a +capacity >4GB:

+ +

+ +

On Solaris with an UltraSPARC CPU, you can get some extra speed by + using the CPU's VIS instructions for certain time consuming operations. + VIS acceleration can be used in MPlayer by calling functions in Sun's + mediaLib.

+ +

VIS accelerated operations from mediaLib are used for mpeg2 video + decoding and for color space conversion in the video output drivers.

+ + +

6.4. StrongARM

+ +

MPlayer is reported to compile on StrongARM. Use the following command line:

+ +

  ./configure --target=arm-linux --disable-css --with-x11libdir=/usr/arm/lib
+	      --with-x11incdir=/usr/arm/lib --disable-gcc-checking

+ + +

6.5. Silicon Graphics Indigo / IRIX

+ +

Reported working. You'll probably have to use the sgi ao driver. +Anyone has closer info?

+ + +

6.6. QNX

+ +

Works. Only has -vo x11 output which is even much slower +than on Linux, since QNX has only X emulation which is VERY slow. +No closer info yet.

+ + +

Appendix A - Authors

+ +

NOTE: Do *NOT* send bugreports, help & feature requests directly to the authors!

+ +

Read Appendix C and subscribe to mplayer-users mailing lists.

+ +

The MPlayer project:

+ +

    + +
  • Árpád Gereöffy (A'rpi/ESP-team) +
      +
    • player code (mpeg stream demultiplexer and avi/asf parser, A-V sync, seek...)
    • +
    • mp3lib, based on mpglib sources [MP3 audio decoder]
    • +
    • getch2 [keyboard handler]
    • +
    • some changes in libmpeg2 code (progressive frames, bitrate & fps support)
    • +
    • libvo improvements: adding OpenGL support, bugfix in mga driver...
    • +
    • triple buffering & YUY2 support (for DivX/MPEG4) into mga_vid driver
    • +
    • scripts in the TVout directory (TVout on Matrox G400DH, read documentation)
    • +
    • hacking DivX/Mpeg4 VfW codecs to get YUV output
    • +
    • opendivx decoder speed optimizations (see opendivx/ChangeLog)
    • +
    • OSD & SUB display code
    • +
    • ffmpeg/libavcodec integration
    • +
    • DivX4Linux (ProjectMayo) support (see documentation)
    • +
    • New DVD-Support using libdvdread
    • +
    • DVB support
    • +
    • MPEG PES output
    • +
    • anything that isn't mentioned elsewhere
    • +
  • + +
  • Zoltán Ponekker (Pontscho/Fresh!) +
      +
    • configure script and Makefiles for easy compile
    • +
    • GUI system
    • +
    • 3DNow! support into mp3lib
    • +
    • 3DNow! support into fastmemcpy.h
    • +
    • various X11 driver changes (keyboard handling, fullscreen, bpp detect, etc)
    • +
    • libvo: adding xmga driver, and fullscreen support to xv
    • +
    • audio mixer (volume) support
    • +
  • + +
  • Gábor Lénárt (LGB) +
      +
    • ./configure script improvements
    • +
    • Makefile improvements
    • +
    • prelimenary DVD support
    • +
    • various X11 cleanups and fixes
    • +
    • HTMLization of documentation
    • +
  • + +
  • Gábor Bérczi (Gabucino) +
      +
    • documentation writer & maintainer
    • +
    • hungarian translation of documentation, homepage, and help output
    • +
    • second homepage design&gfx
    • +
    • homepage maintainer
    • +
    • testing, codecs quality & speed comparsions
    • +
    • IRC channels operator (#MPlayer is user channel)
    • +
    • experimental MINIX port :) (what's funny about it?)
    • +
    • MPsub subtitle format design
    • +
  • + +
  • Szabolcs Berecz (Szabi) +
      +
    • codecs.conf file parser
    • +
    • config file and command line parser
    • +
    • mga_vid fixes, module option etc.
    • +
    • fbdev support in libvo
    • +
    • type #7 subtitle support
    • +
  • + +
  • László Megyer (Lez, Laaz) +
      +
    • SUB reader
    • +
    • screensaver+DPMS disable for libvo
    • +
  • + +
  • Gyula László (Chass, Tégla) +
      +
    • first fonts (mp_font1.zip)
    • +
    • third (current) homepage design&gfx
    • +
  • + +
  • Zoltán Márk Vicián (Se7en) +
      +
    • SVGAlib support in libvo
    • +
  • + +
  • Alex Beregszaszi (Al3x) +
      +
    • ALSA output driver in libao2
    • +
    • vo_ggi output driver in libvo (www.ggi-project.org)
    • +
    • xanim codecs support (incomplete yet!)
    • +
    • VIVO files support
    • +
    • TV grabbing support
    • +
  • + +
  • Andreas Ackermann (Acki) +
      +
    • LIRC support (see documentation)
    • +
    • DGA support in libvo
    • +
  • + +
  • Felix Bünemann (Atmos) +
      +
    • SDL driver maintainer
    • +
    • Additional YUV formats fixes
    • +
    • New font (mp_font2.zip)
    • +
    • PNG file output support in libvo
    • +
    • flipping support (for Indeo 3/4, etc)
    • +
    • SDL audio driver in libao2
    • +
    • RAW PCM/WAVE file writer for libao2
    • +
    • OggVorbis audio support
    • +
    • Various aspect code
    • +
    • Win32 port
    • +
  • + +
  • TeLeNiEkO +
      +
    • spanish translation of documentation
    • +
  • + +
  • Michael Graffam +
      +
    • XF86VidMode support to vo_x11 and vo_dga
    • +
    • Video mode switching code to vo_dga
    • +
  • + +
  • Jens Hoffmann +
      +
    • Additional YUV formats support
    • +
    • found the big BITMAPINFOHEADER problem -> solved ASV2 pixelization
    • +
  • + +
  • Nick Kurshev +
      +
    • memcpy optimizations for AMD K7 and Intel Pentium III (fastmemcpy.h)
    • +
    • CDROM tune info
    • +
    • further 3DNow! optimizations into mp3lib and libac3 and ffmpeg
    • +
    • russian translation of documentation
    • +
    • radeonfb
    • +
    • libvo driver: vo_vesa
    • +
  • + +
  • German Gomez Garcia +
      +
    • SPDIF AC3 output for SBLive!
    • +
  • + +
  • Dariush Pietrzak (Eyck) +
      +
    • debian packaging support (see debian/* and this documentation)
    • +
    • support for vplayer subtitle format
    • +
    • prelimenary support for .RT subtitle format
    • +
  • + +
  • Marcus Comstedt +
      +
    • initial solaris8-x86 support
    • +
  • + +
  • Jürgen Keil and Marcus Comstedt +
      +
    • patched MPlayer to work on Solaris 8 x86
    • +
    • configure fixes
    • +
    • various fixes (win32, configure, etc)
    • +
    • SUN audio driver in libao2
    • +
    • mediaLib support in libavcodec
    • +
  • + +
  • Vladimir Kushnir +
      +
    • patched MPlayer to work on FreeBSD x86
    • +
  • + +
  • Bertrand BAUDET +
      +
    • network streaming support
    • +
  • + +
  • Artur Zaprzala +
      +
    • Complete font generator prog + OSD font (TOOLS/subfont-c)
    • +
  • + +
  • lanzz@lanzz.org +
      +
    • GIMP font generator plugin (TOOLS/subfont-gimp)
    • +
  • + +
  • Adam Tla/lka +
      +
    • osd/sub review, fixes, optimization, utf8 support
    • +
    • various fixes
    • +
  • + +
  • Folke Ashberg +
      +
    • native AAlib driver (-vo aa)
    • +
  • + +
  • Kamil Toman +
      +
    • czech fonts
    • +
  • + +
  • Ivan Kalvatchev +
      +
    • interlaced MPEG2 support
    • +
  • + +
  • pl +
      +
    • ./configure fixes
    • +
  • + +
  • Michael Niedermayer +
      +
    • postprocessing support
    • +
    • software scaling C/MMX/MMX2/3DNow support (swscale.c)
    • +
  • + +
  • Sven Goethel +
      +
    • libvo driver: vo_gl2
    • +
  • + +
  • joy_ping +
      +
    • ao_alsa9 fixes
    • +
  • + +
  • Eric Anholt +
      +
    • runtime CPU detection
    • +
  • + +
  • Jiri Svoboda +
      +
    • AQT type subtitles support
    • +
    • CRTC2 YUV support in mga_vid
    • +
    • DirectFB video output driver
    • +
  • + +
  • Oliver Schoenbrunner +
      +
    • SGI audio driver
    • +
    • MIPS support
    • +
  • + +
  • Jeroen Dobbelaere +
  • + +
  • David Holm +
      +
    • DXR3 support
    • +
  • + +
  • Panagiotis Issaris +
      +
    • -playlist option
    • +
  • + +
  • Mike Melanson +
      +
    • MS Video1 codec open-source implementation
    • +
    • FLI demuxer, decoder
    • +
  • + +
  • Tobias Diedrich +
      +
    • NAS audio output driver
    • +
  • + +
  • Kilian A. Foth +
      +
    • -slave mode
    • +
  • + +

+ +

Main testers:

+ +

    +
  • Tibor Balázs (Tibcu) +
  • Péter Sasi (SaPe) +
  • Christoph H. Lampert +
  • Attila Kinali +
  • Dirk Vornheder +
  • Bohdan Horst (Nexus) +

+ +

The codecs, libs:

+ +

    +
  • Aaron Holtzman: <aholtzma@engr.uvic.ca> +
    • ac3dec (and libac3) author [AC3 audio decoder] +
    • mga_vid driver [Matrox G200/G400 YUV Back-end Scaler] +
    • mpeg2dec [Fast MPEG1/MPEG2 video decoder, currently used in player] +
    + +
  • Michel Lespinasse: <walken@zoy.org> +
    • did large libmpeg2 changes for better speed and mpeg conformance +
    + +
  • Eugene Kuznetsov: <divx@euro.ru> +
    • avifile author [AVI player library for linux, using Win32 VfW/ACM codecs] +
    • technical help about AVI and ASF formats, and how to get YUV using VfW... +
    • divx4linux techical support +
    + +
  • Zdenek Kabelac: <kabi@informatics.muni.cz> +
    • current avifile maintainer(?) +
    • some technical help about the win32 stuff and timers +
    + +
  • Gerard Lantau: <glantau@yahoo.fr> +
    • ffmpeg/libavcodec author,maintainer (opensource mpeg, mjpeg, divx en/decoder) +
    + +
  • Project Mayo: <http://www.projectmayo.com> +
    • the OpenDivX codec authors +
    + +
  • Michael Hipp: +
    • mpglib author [isn't used directly but some parts in mp3lib] +
    + +
  • Mark Podlipec: +
    • xa_gsm.c author [MS-GSM audio codec] + [from a GSM library by Jutta Degener and Carsten Bormann] +
    + +

+ +

Their code is not used in current player version, but I've got some ideas or +other technical help from:

+ +

    +
  • John F. McGowan http://www.jmcgowan.com/ +
    • AVI FAQ author/collector. [site with many useful docs on codecs and avi fmt] +
    + +
  • Dirk Farin: <farin@ti.uni-mannheim.de> +
    • dvdview author [MPEG1/MPEG2 video decoder, used in v0.5-v0.8] +
    + +
  • Adam Williams: <broadcast@earthling.net> +
    • libmpeg3 (and xmovie) author [MPEG1/MPEG2 video decoder, used in v0.1-v0.4] +
    + +

+ +

Appendix A/2 - maintainerzy kodu i dokumentacji MPlayera

+ +

Homepage +

    +
  • Design: Chass +
  • Zawartość: Gabucino +

+

English documentation +

    +
  • tech-hun.txt: A'rpi +
  • wszystkie pozostałe: Gabucino +
  • HTMLization: LGB +

+

Tłumaczenia dokumentacji +

    +
  • węgierskie: Gabucino +
  • niemieckie: Johannes Feigl +
  • francuskie: Stephane Marteau (outdated) +
  • włoskie: TeLeNiEkO (nieuaktualnione) +
  • rosyjskie: Nick Kurshev (nieuaktualnione) +
  • polskie: Dariush Pietrzak oraz Justyna Biala (nieuaktualnione) +

+

Platformy sprzętowe/porty +

    +
  • pakiety DEBIANa: Dariush Pietrzak +
  • wsparcie dla FreeBSD: Vladimir Kushnir +
  • wsparcie dla Solaris 8: Jürgen Keil +
  • wsparcie dla MIPS: Oliver Schoenbrunner +

+

Kod MPlayera: +

    +
  • wykrywanie formatów plików, demuxers: A'rpi +
  • obsługa DVD: (werjsa alfa była: LGB) teraz: A'rpi +
  • potoki sieciowe: Bertrand BAUDET +
  • Synchronizacja A-V: A'rpi +
  • parser/czytnik plików z napisami: Lez (most of them) +
  • pliki konfiguracyjne & i parser linii poleceń: Szabi +
  • fastmemcpy: Nick Kurshev +
  • obsługa LIRC: Acki +
  • renderer SUB/OSD: Adam Tla/lka +

+

sterowniki libvo: +

    +
  • vo_3dfx.c - PRZESTARZAŁE, użyj w zamian xv lub tdfxfb +
  • vo_tdfxfb.c - Zeljko Stevanovic +
  • vo_aa.c - Folke Ashberg +
  • vo_dga.c - Acki +
  • vo_fbdev.c - Szabi +
  • vo_fsdga.c - PRZESTARZAŁE, użyj w zamian dga +
  • vo_ggi.c - al3x +
  • vo_gl.c - A'rpi +
  • vo_gl2.c - Sven Goethel +
  • vo_md5.c - A'rpi +
  • vo_mga.c - A'rpi +
  • vo_mpegpes.c - A'rpi +
  • vo_null.c - A'rpi +
  • vo_odivx.c - A'rpi +
  • vo_pgm.c - A'rpi +
  • vo_png.c - Atmos +
  • vo_sdl.c - Atmos +
  • vo_svga.c - se7en +
  • vo_syncfb.c - PRZESTARZAŁE, użyj w zamian mga +
  • vo_vesa.c - Nick Kurshev +
  • vo_x11.c - Pontscho +
  • vo_xmga.c - Pontscho +
  • vo_xv.c - Pontscho +

+

sterowniki libao2: +

    +
  • ao_alsa5.c - al3x +
  • ao_alsa9.c - al3x (poprawione przez joy_ping) +
  • ao_dxr3.c - David Holm +
  • ao_null.c - A'rpi +
  • ao_oss.c - A'rpi +
  • ao_pcm.c - Atmos +
  • ao_sdl.c - Atmos +
  • ao_sgi.c - Oliver Schoenbrunner +
  • ao_sun.c - Jürgen Keil +

+

NARZĘDZIA: +

    +
  • subfont-c - Artur Zaprzala: +
  • subfont-GIMP - lanzz@lanzz.org +
  • *.pl - Atmos +
  • x2mpsub - Gabucino +
  • others - A'rpi +

+ +

Pozostałe: +

    +
  • vbelib.* - Nick Kurshev +
  • lrmi.* - skopiowany przez Nick Kurshev (oryginalnie przez Josh Vanderhoof) +

+ + +

Appendix B - Listy dyskusyjne

+ +

There are some public mailing lists on MPlayer. Subscribing can be +achieved on the following addresses:

+ +

    +
  • Lista developerów MPlayera:
    +http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng +

    This list is about mplayer development! Talking about interface/API changes, +new libraryes, code optimization, ./configure changes, and send patches here. +Do NOT send bugreports, user questions, feature requests here! +This list should be kept low-traffic.

    + +
  • Lista uzytkowników MPlayera:
    +http://mplayerhq.hu/mailman/listinfo/mplayer-users +

      +
    • send bugreports here (after reading DOCS/BUGS, Appendix C)
    • +
    • send feature requests here (after reading bugreports.html)
    • +
    • send user questions here (after reading all this documentation)
    • +

    + +
  • Lista użytkowników MPlayera posiadających Matrox G200/G400/G450/G550:
    +http://lists.sourceforge.net/lists/listinfo/mplayer-matrox +

    Send matrox-related questions here

      +
    • things about mga_vid
    • +
    • matrox's official beta drivers (for X 4.x.x)
    • +
    • and about matroxfb-TVout stuff.

    + +
  • Lista uzytkowników MPlayera posiadających karty DVB:
    +http://mplayerhq.hu/mailman/listinfo/mplayer-dvb +

    Things related to the hardware decoder card called DVB.

    + +

    NOTE: language of above lists are ENGLISH, unless explicitly stated +otherwise. Please do not send messages using other language!

    + +

    NOTE: you can reach the searchable mailing list archives +here. + + +

    Appendix C - How to report bugs

    + +

    Appendix D - Znane błędy

    + +

    Special system/cpu-specific bugs/problems:

    +
      +
    • SIGILL (signal 4) in draw_frame, on P3 (mostly with 2.2.x kernels):
      + Problem: movups is crashing in libvo/fastmemcpy.h
      + Workaround: ./configure --disable-fastmemcpy
      + SOLVED: disabled SSE code in fastmemcpy.h ;(
    • + +
    • No image (black image) in RGB 15/16bpp (x11,dga,fbdev,svga) playing + MPEG or OpenDivX files:
      + Problem: gcc 2.96 bug, read this
      + Workaround: ./configure --disable-mmx, or use gcc 2.95.x
      + SOLVED: code fixed
    • + +
    • SIGILL (signal 4) or other fault at loading l3codeca.acm:
      + Problem: shared libs are loaded to 0x00xxxxxx instead of 0x40xxxxxx
      + Workaround: mplayer -afm 1 ...
      + SOLVED: you are using some security kernel patch, like OpenWall etc.
    • + +
    • SIGILL (signal 4) on P3 using 2.2.x kernels:
      + Problem: kernel 2.2.x doesn't have proper (working) SSE support
      + Solution: upgrade kernel to 2.4.x
      + Workaround: ./configure --disable-sse
    • + +
    • General SIGILL (signal 4):
      + Problem: you compiled and run mplayer in different machines + (for example compiled on P3 and running on celeron)
      + Solution: compile MPlayer on the same machine where you will use it!
      + Workaround: ./configure --disable-sse etc. options
    • +
    + +

    Various A-V sync and other audio problems:

    + +General audio delay or jerky sound (exists with all or many files):
    +
      +
    • audio buffer problems (buffer size badly detected)
      + Workaround: mplayer -abs option
    • +
    • slow machine (cpu or vga)
      + try with -vo null, if it plays well, then you have slow VGA card/driver
      + Workaround: buy a faster card or read this documentation about how to speed up
      + SOLVED: try -framedrop
    • +

    + +Audio delay/de-sync specific to one or a few files:
    +
      +
    • bad file (please upload the file, so we can check & fix)
      + Workaround: +
        +
      • -ni or -nobps option (for non-interleaved or bad files)
      • +and/or +
      • -mc 0 (required for files with badly interleaved VBR audio)
      • +and/or +
      • -delay option or +/- keys at runtime to adjust delay
      • +
      +
    • your soundcard doesn't support 48Khz playback
      + Workaround: buy a better soundcard... or try to decrease fps by 10% (use -fps 27 for a 30fps movie)
    • +
    • slow machine
      + (if A-V is not around 0, and the last number in the status line increasing)
      + Workaround: -framedrop
    • +

    + +No sound at all:
    +
      +
    • your file uses an unsupported codec
      + Workaround: read the documentation and help us adding support for it
    • +
    + +

    Video-out problems:

    + +

    First note: options -fs -vm and -zoom are just recommendations, not (yet) +supported by all drivers. So it isn't a bug if it doesn't work. +Only a few driver supports scaling/zooming, don't expect this from x11 or dga.

    + +

    OSD/sub flickering:
    +- x11 driver: sorry, it can't be fixed now
    +- xv driver: use -double option

    + + + diff -r 34df0f546afc -r dadab20dc2b4 DOCS/Polish/encoding.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DOCS/Polish/encoding.html Sun Dec 16 11:51:02 2001 +0000 @@ -0,0 +1,255 @@ + + + + + +

    2.4. Encoding with MEncoder

    + +

    Overview +

    MEncoder (MPlayer's Movie Encoder) is a simple movie encoder, +designed to encode MPlayer-playable movies +(AVI/DVD/VCD/VOB/MPG/MOV/VIV/NET) to other MPlayer-playable formats (see +below). Currently it's in beta stage, and encodes only to DivX4 (1 or 2 +passes) video, PCM/MP3/VBRMP3 audio. Also has stream +copying abilities. In the future, there will be cropping, resizing filters, and +other interesting stuff.

    + +

    Compiling +

      +
    • read MPlayer's compilation instructions, it contains info about + how to install libdvdread for DVD support, etc.
    • +
    • download the newest DivX4linux libs + from avifile.sourceforge.net, + and have them PROPERLY installed. This is needed for DivX4 (1/2 pass) + encoding. And since this is mandatory (now), MEncoder is Linux-only.
    • +
    • download and compile libmp3lame (from lame 3.89beta or lame CVS).
      + WARNING : DO NOT COMPILE LAME WITH GCC 2.96 ! It won't + work properly !
      + This + is needed for CBR/VBR MP3 audio encoding ability. Note that a single + lame binary isn't sufficient. BTW: the less optimization + you use for lame, the better the quality will be. You can test + quality by running make test after lame's compiling process + is over. The resulting number should be less than 30. Don't + panic if it's 400 or so, you shouldn't heard any audible + quality decrease. Oh, and if your compiler doesn't even run make test ... + Well, delete that GCC 2.96.
    • +
    • use ./configure with optional parameters as usual + (use --enable-tv to include V4L tuner grabbing code), and + type : make mencoder , then make install.
    • +
    +

    + +

    You are ready. As you probably know, other encoding tools need the +avifile library installed. MEncoder doesn't need it at all.

    + +

    MEncoder features : +

      +
    • encoding from the wide range of fileformats and decoders of MPlayer
    • +
    • encoding from V4L compatible TV tuners
    • +
    • encoding/multiplexing to interleaved AVI files with proper index
    • +
    • 1 or 2 pass DivX4 video
    • +
    • VBR MP3 audio
    • +
    • PCM audio
    • +
    • stream copying (CBR audio only)
    • +
    • input A/V synchronizing (PTS-based, can be disabled with -mc 0 option)
    • +
    • FPS correction with -ofps option (useful when encoding + 29.97fps VOB to 24fps AVI)
    • +
    • movie rescaling
    • +
    +

    + +

    Planned features : +

      +
    • using audio from separate file (AC3, MP3, OGG)
    • +
    • VBR audio stream copy
    • +
    • even wider variety of available en/decoding formats/codecs + (creating VOB files with DivX4/Indeo5/VIVO streams :)
    • +
    +

    + +

    Encoding 2-pass DivX4

    + +

    The name comes from the fact that this method encodes the file twice. +The first encoding (dubbed pass) creates some temporary files with a +size of few megabytes (do not delete them yet). In the second pass, the output +file is created, using the bitrate data from the temporary file. The resulting +file will have much better image quality. If this is the first time you heard +about this, you should consult some guides available on the Net.

    + +

    This example shows how to encode a DVD to a 2-pass DivX4 AVI. Just two +commands are needed :
    +    mencoder -dvd 2 -ovc divx4 -oac mp3lame -divx4opts br=1100 +-o movie.avi -pass 1
    +    mencoder -dvd 2 -ovc divx4 -oac mp3lame -divx4opts br=1100 -o movie.avi -pass 2

    + +

    Rescaling movies

    + +

    Often the need to resize movie images' size emerges. Its reasons can be many, + examples are decreasing output file size, encoding SVCDs to DivX. Ripped DVDs + are mostly rescaled, for example a 4:3 DVD should be 640x480, especially + when you want it to fit to 1 CD, and have good quality at the same time. + SVCDs have 480x480 size, and their header contains the aspect ratio the + player should use (Ex.: 480x480 + 4:3 = 640x480). However when encoding to + AVI (DivX) files, you have be aware that AVI headers don't store this + value. Thus, the only solution is rescaling.

    + +

    The output size is specified with the -x, and -y + options. Furthermore, there are 3 rescaling filters in MEncoder, 0 + : fast 1 : bilinear, 2 : bilinear, bicubic (best quality). + They can be specified with the -sws option. If not specified, + MEncoder will use 0 : fast bilinear.

    + +

    Rescaling is very simple :
    +    mencoder sample-svcd.mpg -divx4opts br=1300 -x 640 -y 480 -sws 2 -o output.avi

    + +

    Stream copying

    + +

    MEncoder can handle input streams in two ways : encode or + copy them. This section is about copying.

    + +

    +

      +
    • Video stream (option -ovc copy) : nice stuff can be done :)
      + Like, putting (not converting!) FLI or VIVO or MPEG1 video into an AVI file ! + Of course only MPlayer can play such files :) And it probably has no + real life value at all. Rationally : video stream copying can be useful for + example when only the audio stream has to be encoded (like, uncompressed PCM + to MP3).
    • + +
    • Audio stream (option -oac copy) : straightforward.
    • +
    +

    + +

    Syntax

    + +

      mencoder [options] [input file] [options] ...

    + +

    Available options

    + +

    NOTE : for all available options, read the manpage !

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
       + -o filename   + specify output filename +
       + -x width in pixels   + rescale output video to given pixels width +
       + -y height in pixels   + rescale output video to given pixels height +
       + -sws 0-2   + type of scaling method
    +   0 - fast bilinear
    +   1 - bilinear
    +   2 - bicubic (best quality)
    +
       + -ovc codecname   + Encode with the given codec (codec names are from codecs.conf). Examples:
    +   help - get list of available codecs
    +   copy - no encoding, just copy the stream (only from AVI/ASF now)
    +   divx4 - encode to DivX4
    +
       + -oac codecname   + Encode with the given codec (codec names are from codecs.conf). Examples:
    +   help - get list of available codecs
    +   copy - no encoding, just copy the stream (only from AVI/ASF now)
    +   pcm - encode to uncompressed PCM
    +   mp3lame - encode to MP3 (using Lame)
    +
       + -divx4opts   + If encoding to DivX4, you can specify its parameters here, like:
    +   -divx4opts br=1800:deinterlace:key=250
    + Common options: (for full list, check the manpage!)
    +   help - get help
    +   br=XXX - specify bitrate in kbit <4-16000> or bit <16001-24000000>
    +   q=XXXX - quality (1-fastest, 5-best - default 5)
    +
       + -lameopts   + If encoding to MP3 with libmp3lame, you can specify its parameters here, like:
    +   -lameopts q=3
    +   -lameopts br=192:cbr
    + Common options: (for full list, check the manpage!)
    +   help - get help
    +   cbr - select CBR MP3 (default is VBR)
    +   br=XXX - specify bitrate in kbit <0-1024> (this is for CBR only!)
    +   q=XXXX - quality (0-highest, 9-fastest - default 0) (this is for VBR only!)
    +
    + +

    Examples

    + +

    Using MEncoder is the easiest thing on Earth. See the following :

    + +

    Encoding from DVD, title 2 :
    +     mencoder -dvd 2 -o title2.avi

    + +

    Encoding from DVD, title 2, with rescaling :
    +     mencoder -dvd 2 -x 640 -y 480 -sws 2 -o title2.avi

    + +

    Encoding from HTTP :
    +     mencoder http://mplayer.hq/example.avi -o example.avi

    + +

    Encoding from a pipe :
    +     rar p test-SVCD.rar | mencoder -divx4opts br=800 -ofps 24 -pass 1 -- -

    + +

    Encoding multiple *.vob files :
    +     cat *.vob | mencoder <options> -

    + +

    Encoding from tuner (for tuner options see the TV input section !) :
    +     mencoder -tv on:driver=v4l:width=640:height=480 <options>

    + +

    For all available options, check the MEncoder man page ! +

    + + + diff -r 34df0f546afc -r dadab20dc2b4 DOCS/Polish/faq.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DOCS/Polish/faq.html Sun Dec 16 11:51:02 2001 +0000 @@ -0,0 +1,923 @@ + + + + + +

    5. FAQ section

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    5.1 Compilation

    +
     
      Q: +configure ends with this text, and MPlayer won't compile !
    +Your gcc does not support even i386 for '-march' and '-mcpu'. +
    A: +Your gcc isn't installed correctly, check config.log file +for details. +
     
      Q: +What does "No such file or directory" means ? +
    A: +Probably there is no such file or directory. +
     
      Q: +What's the problem with gcc 2.96 ? +
    A: +To be short: DO NOT USE gcc 2.96 !!!
    +Check this and this texts! +If you still really really want to do so, be sure to use the latest release. +
    +
     
    Q: +Great, I have gcc 3.0.1 from RedHat/Mandrake, then I'm fine--! +
    A: +No, since there have been/are issues with those compilers.
    +Use 2.95.x series for reliability (not 2.96). +Use the latest gcc 3.0.x (starting at 3.0.2) if you want to use a 3.0.x version. +
     
    Q: +I tried to compile MPlayer, but I got this output:
    +
    +In file included from /usr/include/g++-v3/bits/std_cwchar.h:42,
    +                 from /usr/include/g++-v3/bits/fpos.h:40,
    +                 from /usr/include/g++-v3/bits/char_traits.h:40,
    +                 from /usr/include/g++-v3/bits/std_string.h:41,
    +                 from /usr/include/g++-v3/string:31,
    +                 from libwin32.h:36,
    +                 from DS_AudioDecoder.h:4,
    +                 from DS_AudioDec.cpp:5:
    +/usr/include/wchar.h: In function Long long int wcstoq(const wchar_t*,
    +   wchar_t**, int)':
    +/usr/include/wchar.h:514: cannot convert `const wchar_t* __restrict' to
    +`const
    +
    +
    A: +Upgrade your glibc to the newest. On Mandrake, use 2.2.4-8mdk . +
     
    Q: +...gcc 2.96... (yes, some people are STILL flaming about their gcc 2.96!!) +
    A: +

    But we has idegs (the word 'ideg' is described further in the FAQ). And our +idegcounters overflow again and again.

    + +

    Unfortunately MPlayer is out of our control. It's used by lamers, Linux users +who can't even use windows, and never tried to compile a kernel. They installed +(with default options) Mandrake or RedHat or Suse, and without RTFM'ing they +send messages saying 'it doesn't work! help me! please! i'm new to the linux! +help! oh! help me!'. We can't stop them, but at least we try to force them RTFM +and to read fuckin' messages of ./configure and mplayer.

    + +

    And you clever guys come and flame us with gcc 2.96 and binary packages. +Instead of helping users or making patches to help solve problems.

    + +

    Half of our spare/free time is spent by answering silly mails here and +making newer tricks and checks to configure to avoid such mails.

    + +

    And there is a balance. On one hand are you, clever guys, saying we are very +bad because we don't like buggy gcc 2.96, and at the other hand there are the +'new to linux' guys who are showing us gcc 2.96 is buggy.

    + +

    Conclusion: we can't be good. Half of people always will say we are bad.

    + +

    Maybe we should close the project, make it closed source, commercial, and +provide install support for it. then we could leave current work, so +development could go faster, and we earn lots of money with it and buy a big +house, etc etc. Do you really want it? It seems.

    + +

    Arpi (a mail on the mplayer-users list)

    +
     
    Q: +Where can I find information about gcc 2.96 bugs ? +
    A: +In this documentation. And this +documentation describes why RedHat released 2.96 and other interesting things. +
     
    Q: +SDL output doesn't work or compile. Problem is .... +
    A: +It is tested with newest SDL (probably runs on 1.1.7+). +It does NOT work with any previous version, so don't ask. +
     
    Q: +I am still having trouble compiling with SDL support. gcc says something +about "undefined reference to `SDL_EnableKeyRepeat'" What's now? +
    A: +Where did you install the SDL library? If you installed in /usr/local +(the default) then edit the top level config.mak and add +"-L/usr/local/lib " after "X_LIBS=" Now type make. You're done! +
     
    Q: +It doesn't compile, and it misses uint64_t inttypes.h and similar things... +
    A: +copy etc/inttypes.h to MPlayer directory (cp etc/inttypes.h .) +try again... +
     
    Q: +I have Pentium III but ./configure doesn't detect SSE +
    A: +Only kernel versions 2.4.x supports SSE (or try latest 2.2.19 or newer, but +be prepared for problems) +
     
    Q: +I have G200/G400, how to compile/use mga_vid driver? +
    A: +Read all this documentation. +
     
    Q: +Are there rpm/deb/... packages of MPlayer? +
    A: +You can make a .deb package for yourself, check section 6.1. +It's _STRONGLY_ discouraged to use precompiled packages +of MPlayer, since it (currently) _highly_ depends on compile-time +options and optimizations! +Precompiled packages are COMPLETELY unsupported by the MPlayer team! +
     
    Q: +During 'make', MPlayer complains about X11 libraries. I don't understand, +I DO have X installed!? +
    A: +...but you don't have the X development package installed. Or not +correctly. It's called XFree86-devel* under RedHat, and xlib6g-dev* under +Debian. Also check if the /usr/X11 symlink exists (this can be a problem on +Mandrake systems). It can be created with the
    +    $ ln -sf /usr/X11R6 /usr/X11
    + command. Also check the /usr/include/X11 link :
    +    $ ln -sf /usr/X11R6/include/X11 /usr/include/X11
    +Your distribution may differ from the Linux Filesystem Standard. +
     
    Q: +What about DGA driver? I can't find it!!! +
    A: +./configure autodetects your DGA driver. If -vo help doesn't show +DGA, then there's a problem with your X installation. +Try ./configure --enable-dga (and RTFM) +Alternatively, try SDL's DGA driver with '-vo sdl:dga' options. +
     
    Q: +I can't compile SVGAlib.. I'm using 2.3/2.4 kernel. +
    A: +You have to edit SVGAlib's Makefile.cfg and comment "BACKGROUND = y" out. +
     
    Q: +I compiled MPlayer with libdvdcss/libdivxdecore support, but when +I try to start it, it says:
    +> error while loading shared libraries: lib*.so.0: cannot load +shared object file: No such file or directory
    +I checked up on the file and it IS there in /usr/local/lib. +
    A: +What are you doing on Linux? Can't you install a library? Why do +we get these questions? It's not MPlayer specific at all! Add +/usr/local/lib to /etc/ld.so.conf and run ldconfig . +Or install it to /usr/lib , because if you can't solve the /usr/local +problem, you are careless enough to do such things. +
     
    Q: +MPlayer doesn't seem to find my libcss. What am I doing wrong ? +
    A: +It's normal. MPlayer no longer depends on libcss to play a DVD. You +have to install libdvdread and libdvdcss. Check for DVD Playback +part here. libcss is to be used for example when you +want to play encrypted VOB files from hard disk (not for general users). +
     
    Q: +Hmm, strange. When loading the mga_vid.o kernel module, I found this in the logs:
    +Warning: loading mga_vid.o will taint the kernel: no license +
    A: +The latest kernels modules needs require a flag indicating its license (mainly +to avoid kernel hackers' debugging closed sources drivers). +Upgrade your kernel and your modutils and MPlayer. +
     
    Q: +When compiling MEncoder, it segfaults at linking !!! +
    A: +Dunno, upgrading binutils should help (2.11.92.* or newer should be good). Not our fault, do NOT report! +
     
    Q: +I'd like to compile MPlayer on Minix ! +
    A: +Me too. +
     
    5.2. General questions +
     
    Q: +What about DVD playing ? +
    A: +Read the CD/DVD section in this page. +
     
    Q: +-xy or -fs option doesn't work with x11 driver (-vo x11) +
    A: +It does, but you have to explicitly specify software scaling (it's SLOW!) with +the -zoom option. You better use XF86VidMode support: +you must specify the -vm and the -fs switch, and you're done. +Make sure you have the right Modelines in your XF86Config file, and +try if the DGA driver (and SDL's DGA driver, see RTFM) works for you. +It's much faster. If SDL's DGA works too, use that, it'll be EVEN faster! +
     
    Q: +What is the meaning of numbers in the status line? +
    A: +See: A: 2.1 V: 2.2 A-V: -0.167 ct: 0.042 57 41% 0% 2.6% 0 4
    +
      +
    • A: audio position in seconds +
    • V: video position in seconds +
    • A-V: audio-video difference in seconds (delay) +
    • ct: total A-V sync correction done +
    • frames played (counting from last seek) +
    • video codec cpu usage in percent (for mpeg it includes video_out too!) +
    • video_out cpu usage for avi, 0 for mpg (see above) +
    • audio codec cpu usage in percent +
    • frames needed to drop to maintain A-V sync +
    • current level of image postprocessing (when using -autoq) +
    +Most of them are for debug purposes, and will be removed soon. +
     
    Q: +What if I don't want them to appear? +
    A: +Then you use the -quiet option, and read the manpage. +
     
    Q: +Why is video_out cpu usage zero (0%) for mpeg files? +
    A: +It's not zero, but it's built in into codec, so can't be measured separated. +You should try to play the file using -vo null and then -vo ... and check +the difference to see video_out speed... +
     
    Q: +What's XMMP? (is it XMMS or XMPS but mispelled?) +
    A: +It's a new project, see http://frozenproductions.com for details +
     
    Q: +There are error messages about file not found /usr/lib/win32/.... +
    A: +Download w32codec.zip +from *our* FTP (avifile's codec package has different DLL set). +Install it. +
     
    Q: +Are there any mailing lists on MPlayer? +
    A: +Yes! See RTFM on how to subscribe them! +
     
    Q: +I've found a nasty bug when I tried to play my favourite video!! +Who should I inform? +
    A: +See Appendix C. +
     
    Q: +I have problems playing files with ... codec. Can I use'em? +
    A: +Check http://www.mplayerhq.hu/DOCS/codecs-status.html, +if it doesn't contain your codec, read +section 2.1.3, and contact us. +
     
    Q: +Umm, what is "IdegCounter"? +
    A: +A mixture of a hungarian and an english word. In english, "Ideg" means +"nerve", and is pronounced as something like "ydaegh" . It was first used +to measure the nervousness of A'rpi, after some (umm) "mystic" disappearance +of CVS code ;) +
     
    Q: +And what is "Faszom(C)ounter" ? +
    A: +"Fasz" is a hungarian word you don't want to know, the others are in +connection with the pervert minds of the MPlayer developers. +
     
    Q: +LIRC doesn't work, because ... +
    A: +Are you sure you use "mplayer_lirc" instead of "mplayer"? +
     
    Q: +Subtitles are very nice, the most beautiful I've ever seen, but they slow +down the playing! I know it's unlikely... +
    A: +After running ./configure , edit config.h and replace #undef FAST_OSD with +#define FAST_OSD. Then recompile. +
     
    Q: +The OSD is flickering! +
    A: +You use a vo driver with single buffering (x11,xv). With xv, +use -double option. +
     
    Q: +What exactly is this libavcodec? +
    A: +See the 2.1.2.2 section. +
     
    Q: +But configure tells me "Checking for libavcodec ... no"! +
    A: +You need to get libavcodec from FFmpeg's CVS. Read the instructions in +the ffmpeg section. +
     
    Q: +The GUI isn't usable with icewm, because some panel are over the movie!! +
    A: +Known, icewm is shit and dictatoric. Unsolvable. In detail: icewm sucks +because its taskbar overrides GUI's window resize queries. If it asks for +resize to 800x600, then it resizes window to 800x(600-taskbar_size). It's bad. +Very bad. In short: shit. +
     
    Q: +I can't access the GUI menu. I press right click, but I can't access any +menu items ! +
    A: +Are you using FVWM ? Try the following :
    +Start -> Settings -> Configuration -> Base Configuration
    +
    +Set "Use Applications position hints" to Yes. +
     
    +5.3. File playing problems +
     
    Q: +...... works with avifile/aviplay while doesn't with MPlayer. +
    A: +MPlayer != avifile +The only common thing between these players is the Win32 DLL loader. +The codecs (dll) sets, syncronization, demultiplexing etc is totaly +different and shouldn't be compared. +If something works with aviplay it doesn't mean that MPlayer should do +it and vice versa. +
     
    Q: +Audio goes out of sync playing .avi file. +
    A: +Try with -bps or -nobps option +if still bad, send me (upload to ftp) that file, I'll check. +
     
    Q: +Indeo 3.x/4.x movies are viewed upside-down!!!? +
    A: +It's a known bug (really it's a bug/limitation of the DLL codec) +Try if your vo driver supports the -flip switch. +
     
    Q: +Indeo 3.x,4.x video doesn't work at 32bpp resolutions (16,24 bpp are ok). +
    A: +It's a known bug (really it's a bug/limitation of the DLL codec). +
     
    Q: +MPlayer exits with something error when using l3codeca.acm. +
    A: +Check 'ldd /usr/local/bin/mplayer' output. If it contains
    +    libc.so.6 => /lib/libc.so.6 (0x4???????)
    +where "?" is any number then it's ok, the error is not here. If it is:
    +    libc.so.6 => /lib/libc.so.6 (0x00??????)
    +then there is problem with your kernel/libc. Maybe you are using some +security patches (for example Solar Designer's OpenWall patch) which +forces loading libraries to very low addresses. +Because l3codeca.acm is a non-relocatable DLL, it must be loaded to +0x00400000, we can't change this. You should use non-patched kernel, +or use MPlayer's -afm 1 option to disable using l3codeca.acm. +
     
    Q: +My computer plays M$ DivX AVIs with resolutions ~ 640x300 and stereo mp3 +sound too slow. When I use -nosound switch, everything is ok (but quiet). +
    A: +Ok son, your machine is too slow. RTFM or anything. +
     
    Q: +MPlayer dies with "MPlayer interrupted by signal 4 in module: decode_video". +
    A: +Try running MPlayer on the machine you compiled on. Or recompile. Don't +use MPlayer on different CPU than it was compiled on. +
     
    Q: +I have problems with [your window manager] and fullscreen xv/xmga/sdl/x11 modes.. +
    A: +Use the -fsmode switch. See example.conf or manpage. +
     
    Q: +But it works with avifile! +
    A: +So what? +
     
    Q: +Then avifile is better! +
    A: +Then use avifile, it has nice GUI and nice C++ code :) +
     
    Q: +I got this playing mpeg files: Can't find codec for video format 0x10000001! +
    A: +You have old version of codecs.conf at ~/.mplayer/. Upgrade it from etc/
    +OR you have the vc= option or similar, in your +config file(s). +
     
    Q: +After starting mplayer under KDE(1/2) I just get a black screen and nothing +happens, after about one minute the video starts playing. +
    A: +The KDE arts sound daemon is blocking the sound device, either wait the time +until video starts or you disable the arts-daemon in kontrollcenter. +If you want to use arts sound, specify audio output via SDL (ao=sdl), and +make sure your SDL can handle arts sound. Yet another option is to start +mplayer with artsdsp. +
     
    Q: +I have an AVI that plays with grey screen with -vc odivx, and green with -vc divx4 . +
    A: +It's not a DivX file, but an M$ MPEG4v3 . Update your codecs.conf. +
     
    Q: +There this movie is, and when I play it I get video-audio desync and/or MPlayer crashes with the following:
    +DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer! +
    A: +This can have multiple reasons.
    +
  • your CPU and/or video card and/or bus is too SLOW. MPlayer + displays a message if this is the case. (and the dropped frames counter is going up fast)
  • +
  • if it is an AVI, maybe it has shit interleaving. Try the -ni option.
  • +
  • your sound driver is shit, or you use ALSA 0.5 with -ao oss. See the soundcards section.
  • +
  • the AVI has shit header, try with the -nobps option, and/or -mc 0 .
  • +
     
    Q: +I have an MJPEG file which works with other players but displays only black +image in MPlayer. +
    A: +Disable the Windows DLL in codecs.conf, or use -vc ffmjpeg option (you have to +compile MPlayer with libavcodec). +
     
    Q: +When I try to grab from my tuner, it works, but colors are strange. It's ok +with other applications. +
    A: +Your card probably misreports its colorspace capacity. Try with YUY2 instead +of default YV12 (see TV input documentation). +
     
    Q: +When I try to start playing, I get this message, but playing is good :
    +Linux RTC init: ioctl (rtc_pie_on): Permission denied +
    A: +See the Installation section. The part +about new sync code. +
     
    Q: +I have A/V sync problems. Some of my AVIs play fine, but some play with +double speed ! +
    A: +You have buggy soundcard/driver. Most likely it's fixed at 44100Hz, and +you try to play a file which has 22050Hz audio. Try the -ao sdl +driver. +
     
    Q: +All the WMV (or other..) files I play gives green/gray window and there is +only sound! It prints:
    +Detected video codec: [null] drv:0 (NULL codec (no decoding)) +
    A: +Update your codecs.conf +
     
    Q: +I'm using the GUI. During startup, MPlayer prints :
    +
    Gtk-WARNING **: This process is currently running setuid or setgid.
    +This is not a supported use of GTK+. You must create a helper
    +program instead. For further details, see...
    +
    A: +You can't use GTK in a suid-root binary, as pointed out in the GUI section. +
     
    +5.4. Video/audio driver problems (vo/ao) +
     
    Q: +Ok, -vo help shows DGA driver, but it is babbling about permissions! +Help me! +
    A: +It works only if running as root! It's a DGA limitation. +You should become to root (su -), and try again. +Another solution is making mplayer SUID root, but its NOT RECOMMENDED!
    +    chown root /usr/local/bin/mplayer
    +    chmod 750 /usr/local/bin/mplayer
    +    chmod +s /usr/local/bin/mplayer
    +!!!! BUT STAY TUNED !!!!
    +This is a *BIG* security risk! *NEVER* do this on a server or on a computer +can be accessed by more people than only you because they can gain root +privilegies through suid root mplayer!!!
    +!!!! SO YOU HAVE BEEN WARNED ... !!!! +
     
    Q: +When using Xvideo, my Voodoo 3/Banshee says:
    +X Error of failed request: BadAccess (attempt to access private resource denied)
    +  Major opcode of failed request: 147 (MIT-SHM)
    +  Minor opcode of failed request: 1 (X_ShmAttach)
    +  Serial number of failed request: 26
    +  Current serial number in output stream:27

    +
    A: +Your driver is old, update it. Either download (at least) DRI version 0.6 +from http://dri.sourceforge.net, +or use the DRI cvs. +
     
    Q: +When using Xvideo, I can't play DivX avis with my Voodoo 3/Banshee! +It says:
    +...
    +Xvideo image format: 0x32315659 (YV12) planar
    +Xvideo image format: 0x30323449 (I420) planar
    +... +
    A1: +See the previous answer. +
    A2: +Since 0.18pre4 we support libavcodec from the ffmpeg package. It contains +a C language DivX and OpenDivX decoder. The DivX decoder uses YV12 format +for output, thus it should work for you. Compile in libavcodec support. +
     
    Q: +OpenGL (-vo gl) output doesn't work (hangup/black window/X11 errors/...). +
    A: +Your opengl driver doesn't support dynamic texture changes (glTexSubImage) +It's known not to work with nVidia's binary shit. +It's known to work with Utah-GLX/DRI and Matrox G400 card. Also with +DRI and Radeon card. It won't work with DRI others than these. +it will not work with 3DFX cards because the 256x256 texture size limit. +
     
    Q: +I have an nVidia TNT/TNT2 card, and I have a band with strange colours, +right under the movie! Whose fault is this? +
    A: +It's the nVidia X driver's. These bugs are ONLY with the TNT/TNT2 cards, +and we can't do anything about it, it's not our bug. UPDATE : it's fixed +in newest drivers, at last.. +
     
    Q: +I have an nVidia XYZ card, and when I click on the GUI's diplay window to toggle +displaying the GUI panel, a black square appears where I clicked. I have +the newest driver. +
    A: +Yes, nvidia corrected a previous bug (above), and implemented a new one. Let's +congratule them. +
     
    Q: +When I use the GUI with SDL video output, a second video window is created. +
    A: +Known, don't use SDL for GUI yet. +
     
    +5.5. Feature requests +
     
    Q: +Is there a hint on how to watch RealMedia movies in MPlayer? +
    A: +There's no way to do it. Therefore this format deserves to die in flames. +Theoretically you can reverse engineer Real codecs built for Linux (they +are available as .so files), but in practice that's really difficult, even +if you know how the compiler used by Real is making assembler code. +
     
    Q: +When will be <your favourite video feature> (like subtitle placement) implemented? +
    A: +Wait for libvo2. +
     
    Q: +I want to play MP3 files with MPlayer ! +
    A: +This feature is not planned. There are much better players (mpg123, 3pm, xmms) +for this task, use them. BTW, MPlayer stands for Movie Player. +
     
    Q: +I'd like to seek +/- 1 frames, instead of 10 seconds. +
    A: +This won't be done. It was, but then it fucked up A/V sync. Feel free to +implement it, and send a patch. Don't ask for it. +
     
    Q: + Where is the Windows version ? +
    A: + It's not released, and won't be. Look around the windows scene (opensource + ASF parsers, opensource ASF encoders, etc) and you'll know why. We don't + want to go to jail. +
     
    Q: +What card you may suggest me to buy?
    A0: +It's for your opinion only but our issues are: +
    A1: +Speed: +
    This +parameter can be computed very easy: +
    a) +which movies do you plan to watch: +
    - +MPEG1: 320x200@32=256000 +
    so +you need only 256*25fps=6.4Mb/sec bandwidth (This format can be played +in real-time on any PC since P-100 + S3Virge) +
    - +MPEG4: 640x480@32=1228800 +
    you +need videobandwidth 1.2*25fps=30Mb/sec To watch such movie in real-time +you need enough power PC: (Celeron-450+DIMM based video card) +
    - +MPEG2 (aka DVD or SDTV): 1024x768@32=3145728 +
    you +need videobandwidth 3*30fps=90Mb/sec In extremal cases (if your video card +supports IDCT decoding) this can be played on the same PC as for MPEG4 +
    - +HDTV (HighData TeleVision): 2000x2000@32=16000000 +
    i.e. +videobandwidth = 16*30fps=480Mb/sec (This means also that you need at least +32Mb of video memory to watch this stream: 16Mb for RGB area and 16Mb for +YUV area) +
    b) +Bandwidth of PCI slot is: 33Mhz*32bit=132Mb/sec And PCI2.1 has 66MHz*32bit=265Mb/sec +that is far enough for any movie playback (except HDTV streams which really +require AGP bus). +
    c) +What memory type should be installed on video card: +
    SIMM +- avoid that +
    DIMM +- good if your video card has 128-bit memory access. +
    DDR +- is far enough for all types. +
    Note: +By DGA comparision - there is no any visible difference between video cards +which have installed the same type of video memory. +
    Resume: +If you have enough power CPU (Celeron-450 or K6-2-500) it would be enough +to buy any video card which has at least 8Mb of DIMM or DDR memory. +
    A2: +Quality: +
    This +question was investigated in depth at: +
    http://www.anadtech.com +AnandTech - Video Card Roundup - DVD Quality, Features & Performance +(October 2000) +
    A3: +WORKING features under Linux: +
    If +you are win32 user then probably you have support (from driver and DirectX8 +side) for any feature which was introduced in your chip. +
    But +for linux users: +
    Currently +I know only several vendors which have more or less advanced support under +Linux: +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +
    Matrox
    +
    +
    ATI
    +
    +
    NVidia
    +
    +
    S4 Savage
    +
    Driver's providerenthusiastsenthusiastsOEM + enthusiastsenthusiasts
    Driver's qualityBest(X11,kernel)Best(X11,GATOS,kernel)Buggy(X11 only)Best(X11 only)
    VIDEO OVERLAY
    BES and YV2RGBYESYESYESYES
    scaling filtersN/AYESN/AN/A
    adaptive deinterlaceNOYESN/AN/A
    Video equalizer (hue, contrast, saturation, color correction)N/APARTLY (under devel)N/AN/A
    Alpha blending, color and video keysPARTLYPARTLY (under devel)N/AN/A
    Video captureN/AYES(GATOS)N/AN/A
    TV-outYESYESN/AN/A
    + +

    Well +- it's very rude observing of video card. Indeed we should pay our attention +for models of video card: +
    For +example if MatroxG400(G450) drivers support TV-out then G550 has no such +support. +
    Other +sample: Adaptive deinterlacing exists only since Rage128 chip and isn't +present on Mach64+ ones. Same as 3D features are far different from Mach64 +to Radeon2 8500 with trueform possibilities. +

    ANYWAY +- MPLAYER'S TEAM DOESN'T ACCEPT ANY CLAIMS IF YOU AFTER +
    READING +OF THIS MATERIAL WILL BUY CARD WHICH IS UNSUCCESSFUL FOR YOU!!! +
    THIS +MATERIAL IS ONLY OUR VISION. +

    Q: +If PCI slot is far enough for most types of movies then why S3 Virge +
    is +too slow for them? +
    A: +Due to its SIMM memory. +

     
    +5.6. Encoding +
     
    Q: +How can I encode ? +
    A: +Check this documentation. +
     
    + + + diff -r 34df0f546afc -r dadab20dc2b4 DOCS/Polish/formats.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DOCS/Polish/formats.html Sun Dec 16 11:51:02 2001 +0000 @@ -0,0 +1,168 @@ + + + + + + +

    2.1. Supported formats

    + +

    MPlayer can read/play from the following devices/formats:
    +

      +
    • VCD (Video CD) directly from CD-ROM or from CDRwin's .bin image file +
    • DVD, directly from your DVD disk, using libdvdread for decryption +
    • MPEG 1/2 System Stream (PS/PES/VOB) and Elementary Stream (ES) file + formats +
    • RIFF AVI file format +
    • ASF/WMV 1.0 file format +
    • QT/MOV file format with (un)compressed headers +
    • VIVO format (.viv files) +
    • supports reading from stdin, or network via HTTP +

    + +

    Note: about realmedia (.ra/.rm) support read the FAQ!

    + +

    It's important to clarify a popular mistake. When people see a file with +.AVI extension, they instantly declare that isn't an MPEG file. +That's not true. At least not entirely. If you tell them that such a file +can contain MPEG1 video, they laugh at you. Feel free to kick their dumbass +faces, then tell them to RTFM.

    + +

    You see, a codec isn't equal to a file format.
    +Video codecs are: MPEG1, MPEG2, DivX, Indeo5, 3ivx.
    +Video formats are: MPG, AVI, ASF.
    +

    + +

    In theory, you can happily put an OpenDivX video and MP3 audio +into a .MPG format file. Though most players won't play it, since +they expect MPEG1 video and MP2 audio (.MPG doesn't have the +necessary fields to describe its video and audio streams, like .AVI +does). Or put MPEG1 video to an .AVI. For example ffmpeg can +create these files.

    + +

    Audio codecs and formats are basically the same terms.

    + + +

    2.1.1. Video formats

    + + +

    2.1.1.1. MPEG files

    + +

    +

  • MPG : this is the most basic form of MPEG file formats. Contains +MPEG1 video, and MP2 (MPEG-1 layer 2) audio, or rarely MP1.
  • +
  • DAT : this is the very same format as MPG, just different extension. Used +on Video CDs. Due to the nature VCDs are created and Linux is designed, +the DAT files can't be played nor copied from VCDs. You have to use the +-vcd option to play the VideoCD.
  • +
  • VOB : this is the MPEG file format on DVDs. The same as MPG, plus +capability to contain subtitles, or non-MPEG (AC3) audio. Contains encoded MPEG2 +video, and usually AC3 audio, but MP2 is allowed too.
    +Read the DVD section !
  • +

    + +

    In MPEG files, series of frames are grouped together, and are independent +from the other groups. What this means is you can cut/join an MPEG file with +standard file-tools (like dd, cut), and it remains completely functional.

    + +

    One important feature for MPGs is that they have a field to describe +the aspect ratio of the video stream within. For example SVCDs have +480x480 resolution video, and in the header that field is set to 4:3, so +it's played at 640x480. AVI files don't have this field, so one has to +rescale it during encoding.

    + + +

    2.1.1.2. AVI files

    + +

    Designed by Micro$oft, the AVI (Audio Video Interleaved) is a +widespread multipurpose format, currently used mostly for DivX and DivX4 +videos. Has many known drawbacks, and inabilities (for example in streaming). +Has support for one video stream, and 99 audio streams. Can be as big as +2Gb. There exists an extension for it to be bigger, called OpenDMS. +M$ currently strongly discourages its use and propagates ASF/WMV. Not if +anybody cares.
    +NOTE : DV cameras can create two types of AVI format, one is the usual and +playable, the other is neither.

    + +

    There are two kinds of AVI files: +

      +
    • Interleaved : audio and video content is interleaved. This is the + standard usage. Recommended and mostly used. Some tools create interleaved + AVIs with bad sync. MPlayer detects these as interleaved, and this + climaxes in loss of A/V sync, probably at seeking. These files should be + played as non-interleaved (with the -ni option).
    • +
    • Non-interleaved : bad. First come the whole video stream, then the whole + audio stream, thus needs a lot of seeking. It's very bad when playing from + network or CDROM.
    • +
    +

    + +

    MPlayer supports 2 kind of timing for AVI files: +

      +
    • bps-based : it is based on bitrate/samplerate of video/audio stream. This + method is used by most players, including avifile and windows media player. + Files with broken headers, and files created with VBR audio but not + VBR-compliant encoder will result in A/V desync with this method (mostly at + seeking).
    • +
    • interleaving-based : it doesn't use bitrate value of the header, instead + it uses the relative position of interleaved audio and video chunks. Makes + some badly encoded file with VBR audio playable.
    • +
    +

    + +

    Any audio and video codec is allowed, but note that VBR audio isn't well +supported by most of the players. The file format makes it possible to use VBR +audio, but most players expect CBR audio, thus they fail with VBR. VBR is +unusual, and Microsoft's AVI specs only describe CBR audio. I also note, that +most AVI encoders/multiplexers create bad files if using VBR audio. Only 2 +exception (known by me): NaNDub and MEncoder.

    + + +

    2.1.1.3. ASF/WMV files

    + +

    ASF (active streaming format) comes from Microsoft. They developed two +variants of ASF, v1.0 and v2.0. v1.0 is used by their media tools (windows +media player and windows media encoder) and is very secret. v2.0 is published +and patented :). Of course they differ, there is no compatibility at all (it's +just another legal game). MPlayer supports only v1.0, as nobody has ever seen +v2.0 files :) . Note, that .ASF files nowdays come with the extension .WMA or +.WMV.

    + + +

    2.1.1.4. QuickTime/MOV files

    + +

    These are from Macintosh. Usually have extensions of .QT or .MOV . Note +that since the MPEG4 Group chose QuickTime as the recommended file format +for MPEG4, their .MOV files come with .MPG or .MP4 extension (interesting +that in these files the video stream is a real .MPG file. With the +-dumpvideo option you can even extract it.).

    + +

    Codecs: any codecs allowed, both CBR and VBR. Note: most new mov files use +Sorenson video and QDesign Music audio. These formats are completely +secret, and only Apple's quicktime player is able to play these files (on +win/mac only).

    + + +

    2.1.1.5. VIV files

    + +

    MPlayer happily demuxes VIVO file formats. The format's big +disadvantage is that it has no index block, nor fixed packetsize or sync bytes, +and most files lack even keyframes, so forget seeking!

    + +

    VIVO/1.0 files' video codec is standard h.263 . The VIVO/2.0 files' +video codec is a modified, nonstandard h.263 . Audio is the same, +it may be g.723 (standard), or Vivo Siren .

    + +

    See the VIVO video codec +and VIVO audio codec sections for installation +instructions.

    + + +

    2.1.2. Audio formats

    + +

    Currently MPlayer is still a Movie and not a Media +player, thus the pure audio formats (for example MP3, WAV, audio ASF) are +unplayable. Use xmms, mpg123 +or whatever.

    + + + diff -r 34df0f546afc -r dadab20dc2b4 DOCS/Polish/gcc-2.96-3.0.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DOCS/Polish/gcc-2.96-3.0.html Sun Dec 16 11:51:02 2001 +0000 @@ -0,0 +1,111 @@ + + + + +

    +Question: What is GCC 2.96 ? I can't find it at GNU site. +

    + +

    +Answer: Read the official answer from GNU GCC team. +

    + +

    +Question: What is the problem with GCC 2.96 ? And with 3.x ? +

    + +

    +Answer: +

    + +

    +And for the people, who periodically asks what are the exact problems with +gcc 2.96, my answer: we don't know exactly. +There were various problems and new problems / bugs come up periodically. +It is not a single bug/problem. We just see various bugreports, mostly +gcc internal bugs, compiler syntax errors in source or bad code compiled. They +all are solved using different version of gcc. I understand that gcc 2.96 +has different default optimization flags and they conflicts with our inline +asm code, but we can't fix them, and we really don't want to fix them as they +work with other compilers or gcc versions, and the fix may cause speed loss. +

    + +

    +I think that the gcc 2.96 should be fixed to be option-compatible with other +releases, but redhat guys refused to do it. If someone interested - ask +Eugene K., avifile author, he has a long mailing with them, because they had +the same problems with avifile. Finally he changed avifile source to +workaround gcc 2.96 bugs... +We simply has no interest and time to do it. +

    + +

    +Ah, and about the pipe-in-comment bug: it wasn't really our bug. +I've talked one of gcc maintainers, and he told me that gcc 2.96 and 3.x +supports intel asm syntax, and it caused the pipe bug. But it is a bug, +because gcc silently, without any warning, ignored the whole asm block! +

    + +

    +Other gcc 3.x problems comes from broken libstdc++ or glibc header (std_*.h) +installation. They are not our fault. MPlayer compiles and works well with +gcc 3.x versions. Only 2.96 is broken, but it depends on many environment +elements, including gcc 2.96 release number, enabled mplayer features, etc. +If it works for you using gcc 2.96, it doesn't mean it will work for everyone. +

    + +

    Answer 2:

    + +

    +Also read this text !!!

    + +

    +Question: No! You are wrong! Everything works with gcc 2.96 but MPlayer +

    + +

    +Answer: +

    + +

    +No. You are wrong! +Several projects (mainly which source contains high optimized inline asm code) +had problems with gcc 2.96. For example: avifile, MESA / DRI, Wine, ffmpeg, lame. +But other projects already workarounded gcc bugs (changed code which +triggered compiler bugs) so they work for now. +

    + +

    +Question: No! You are wrong! Everything works with gcc 2.96 including MPlayer +

    + +

    +Answer: +

    + +Good. Be happy. But you must know, it depends on many environment +elements, including gcc 2.96 release number, enabled mplayer features, etc. +If it works for you using gcc 2.96, it doesn't mean it will work for everyone! +It only means that you are lucky, until you find a problem. But don't forget the +No.1 rule of gcc 2.96 users: NEVER REPORT BUGS OR PROBLEMS IF YOU ARE USING GCC 2.96 + +

    +Question: Ok. Understood. But I want to give it a try... how to compile with gcc 2.96? +

    + +

    +Answer: Really? Are you sure? Ok. You know... here is it: ./configure --disable-gcc-checking +

    + +

    +Question: No! I don't agree with you, because ... +

    + +

    +Answer: It doesn't matter. Keep your commets for yourself. We're not interested in gcc 2.96 stories. +

    + + +
    + + diff -r 34df0f546afc -r dadab20dc2b4 DOCS/Polish/mencoder.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DOCS/Polish/mencoder.1 Sun Dec 16 11:51:02 2001 +0000 @@ -0,0 +1,256 @@ +.\" MEncoder (C) 2000-2001 Arpad Gereoffy +.\" This manpage was/is done by Gabucino +.\" +.TH MEncoder +.SH NAME +mencoder \- Movie Encoder for Linux +.SH SYNOPSIS +.B mencoder +.RB [ \-vcd\ ] +.RB [ \-dvd\ ] +.RB [ \-chapter\ ] +.RB [ \-dvdangle\ ] +.RB [ \-dvdkey\ ] +.RB [ \-nobps ] +.RB [ \-aid\ ] +.RB [ \-vid\ ] +.RB [ \-pp\ ] +.RB [ \-vc\ ] +.RB [ \-ac\ ] +.RB [ \-vfm\ ] +.RB [ \-afm\ ] +.RB [ \-include\ ] +.RB [ \-mc\ seconds/5f ] +.RB [ \-v ] +.RB [ \-mp3file\ ] +.RB [ \-ac3file\ ] +.RB [ \-ovc\ ] +.RB [ \-oac\ ] +.RB [ \-divx4opts\ ] +.RB [ \-lameopts\ ] +.RB [ \-pass\ <1/2> ] +.RB [ \-passlogfile\ ] +.RB [ \-ofps\ ] +.RB [ \-o\ ] +.RB [ \-frames\ ] +.RB [ \-x\ ] +.RB [ \-y\ ] +.RB [ \-sws\ <0-2> ] +.I - or file or device +.PP +.SH DESCRIPTION +.I mencoder +MEncoder (MPlayer's Movie Encoder) is a simple movie encoder, designed to +encode MPlayer-playable movies (AVI/DVD/VCD/VOB/MPG/MOV/VIV/NET) to other +MPlayer-playable formats (see below). Currently it's in beta stage, and encodes +only to DivX4 (1 or 2 passes) video, PCM/MP3/VBRMP3 audio. Also has stream +copying abilities. In the future, there will be cropping, resizing filters, and +other interesting stuff. +.LP +.SH "GENERAL OPTIONS" +.TP +.I NOTE +Every "flag" option has "noflag" pair, e.g. -flag opposite is -noflag +.TP +.I NOTE +CHECK THE HTML DOCUMENTATION TOO ! +.TP +.B \-vcd +Encode the specified VCD track. +.TP +.B \-dvd +Encode the specified DVD title. +.TP +.B \-chapter <chapter id> +Use with -dvd option (see above). Start encoding at the specified chapter. +.TP +.B \-dvdangle <angle id> +Use with -dvd option (see above), and if the DVD disc has multiple angles. +It will encode the angle specified here. +.TP +.B \-dvdkey <key> +Used to decrypt CSS-encrypted streams on hard disk (with given CSS decrypt +key). +.TP +.B \-nobps +Used only for AVIs. Doesn't use the bps value in the AVI header, instead +calculates it. +.TP +.B \-aid <audio stream id> +If the source media contains multiple audio streams (for example DVDs), encode +the specified one. +.TP +.B \-vid <video stream id> +If the source media contains multiple video streams, encode the specified one. +.TP +.B \-pp <value> +Apply a postprocess filter to enhance image quality. (values TODO) +.TP +.B \-vc <codec name> +Use specified codec (according to codecs.conf) for decoding input video +stream. +.TP +.B \-ac <codec name> +Use specified codec (according to codecs.conf) for decoding input audio +stream. +.TP +.B \-vfm <video codec family> +Force decoding by using a specific codec FAMILY, and FALLBACK to default +if failed. For examples see MPlayer manpage. +.TP +.B \-afm <audio codec family> +Force decoding by using a specific codec FAMILY, and FALLBACK to default +if failed. For examples see MPlayer manpage. +.TP +.B \-include +specify config file to be parsed after the default +.TP +.B \-mc\ seconds/5frame +maximum sync correction per 5 frames (in seconds). +Use -mc 0 to disable input A/V sync. +.TP +.B \-v +Increase verbosity. +.TP +.B \-ovc <codecname> +Encode with the given codec (codec names are from codecs.conf). +Examples: + + -ovc help get help + -ovc copy no encoding, just streamcopy + -ovc divx4 encode to DivX4 +.TP +.B \-oac <codecname> +Encode with the given codec (codec names are from codecs.conf). +Examples: + + -oac help get help + -oac copy no encoding, just streamcopy + -oac pcm encode to uncompressed PCM + -oac mp3lame encode to MP3 (using Lame) +.TP +.B \-divx4opts +If encoding to DivX4, you can specify its parameters here, like: + + -divx4opts br=1800:deinterlace:key=250 + +Available options: + + help get help + br=XXX specify bitrate in + kbit <4-16000> or + bit <16001-24000000> + key=XXX maximum keyframe interval + (in frames) + deinterlace enable deinterlacing + (don't use, DivX4 is buggy!) + q=XXXX quality (1-fastest, 5-best) + min_quant=XXX minimum quantizer (0-32) + max_quant=XXX maximum quantizer (0-32) + rc_period=XXX rate control period + rc_reaction_period=XXX rate control + reaction period + rc_reaction_ratio=XXX rate control + reaction ratio + +.TP +.B \-lameopts +If encoding to MP3 with libmp3lame, you can specify its parameters here, like: + + -lameopts br=192 + +Available options: + + help get help + br=XXX specify bitrate in + kbit <0-1024> + (only for CBR) + q=XXX Quality + (0-highest, 9-fastest) + (for VBR) + vbr=XXX variable bitrate method + 0=cbr + 1=mt + 2=rh(default) + 3=abr + 4=mtrh + cbr constant bitrate + mode=XXX 0=stereo + 1=joint-stereo + 2=dualchannel + 3=mono + (default: auto) + padding=XXX 0=no + 1=all + 2=adjust + ratio=XXX compression ratio <1-100> + +.TP +.B \-pass <1/2> +With this you can encode 2pass DivX4 files. First encode with -pass 1, then +with the same parameters, encode with -pass 2. +.TP +.B \-passlogfile <filename> +When encoding in 2pass mode, MEncoder dumps first pass' informations +to the given file instead of the default divx2pass.log . +.TP +.B \-ofps <fps> +The output file will have different frame/sec than the source. +.TP +.B \-o <filename> +Outputs to the given filename, instead of the default 'test.avi' . +.TP +.B \-frames <number> +Encode only given number of frames. +.TP +.B \-x <rescale width> +Rescale output movie to given pixels wide. +.TP +.B \-y <rescale height> +Rescale output movie to given pixels tall. +.TP +.B \-sws (0-2> +Type of scaling method + + 0 fast bilinear + 1 bilinear + 2 bicubic (best quality) + +.SH FILES AND DIRECTORIES +.IP +.SH "EXAMPLES" +.B Encoding DVD title #2 +mencoder -dvd 2 -o title2.avi +.TP +.B Encoding from HTTP +mencoder http://mplayer.hq/example.avi -o example.avi +.TP +.B Encoding from a pipe +rar p test-SVCD.rar | mencoder -divx4opts br=800 -ofps 24 -pass 1 -- - +.TP +.B Encoding multiple *.vob files +cat *.vob | mencoder <options> - +.IP +.SH BUGS +Probably. Check the documentation. + +Bugreports should be addressed to the MPlayer-users mailing list +(mplayer-users@mplayerhq.hu) ! If you want to submit a bugreport +(which we love to receive!), please double-check the bugreports.html, and +tell us all that we need to know to identify your problem. + +.LP +.SH AUTHORS +Check documentation ! + +MPlayer is (C) 2000-2001 +.I Arpad Gereoffy <arpi@thot.banki.hu> + +This manpage is written and maintained by +.I Gabucino . +.LP +.SH STANDARD DISCLAIMER +Use only at your own risk! There may be errors and inaccuracies that could +be damaging to your system or your eye. Proceed with caution, and although +this is highly unlikely, the author doesn't take any responsibility for that! +.\" end of file diff -r 34df0f546afc -r dadab20dc2b4 DOCS/Polish/mplayer.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DOCS/Polish/mplayer.1 Sun Dec 16 11:51:02 2001 +0000 @@ -0,0 +1,643 @@ +.\" MPlayer (C) 2000-2001 Arpad Gereoffy <arpi@esp-team.scene.hu> +.\" This manpage was/is done by Gabucino +.\" +.TH MPlayer +.SH NAME +mplayer \- Movie Player for Linux +.SH SYNOPSIS +.B mplayer +.RB [ \-gui ] +.RB [ \-v ] +.RB [ \-quiet ] +.RB [ \-vo\ <driver>[:<device>] ] +.RB [ \-ao\ <driver>[:<device>] ] +.RB [ \-vcd\ track\ number ] +.RB [ \-sb\ byte\ position ] +.RB [ \-nosound ] +.RB [ \-abs\ bytes ] +.RB [ \-delay\ secs ] +.RB [ \-nobps ] +.RB [ \-aid\ id ] +.RB [ \-vid\ id ] +.RB [ \-fps\ rate ] +.RB [ \-mc\ seconds/5f ] +.RB [ \-fs ] +.RB [ \-vm ] +.RB [ \-zoom ] +.RB [ \-x\ x ] +.RB [ \-y\ y ] +.RB [ \-xy\ factor ] +.RB [ \-pp\ quality ] +.RB [ \-include\ configfile ] +.RB [ \-lircconf\ configfile ] +.RB [ \-ffactor\ number ] +.RB [ \-sub\ file ] +.RB [ \-subfps\ rate ] +.RB [ \-subdelay\ sec ] +.RB [ \-z\ <0-8> ] +.RB [ \-idx ] +.RB [ \-forceidx ] +.RB [ \-nodshow ] +.RB [ \-noxv ] +.RB [ \-forcexv ] +.RB [ \-ss\ time ] +.RB [ \-dumpaudio ] +.RB [ \-dumpvideo ] +.RB [ \-dumpstream ] +.RB [ \-noframedrop ] +.RB [ \-framedrop ] +.RB [ \-nodouble ] +.RB [ \-double ] +.RB [ \-stereo\ mode ] +.RB [ \-channels\ n ] +.RB [ \-srate\ Hz ] +.RB [ \-osdlevel\ level ] +.RB [ \-config\ file ] +.RB [ \-display\ name ] +.RB [ \-unicode ] +.RB [ \-utf8 ] +.RB [ \-fsmode\ mode ] +.RB [ \-vc\ video\ codec\ name ] +.RB [ \-ac\ audio\ codec\ name ] +.RB [ \-vfm\ video\ codec\ family ] +.RB [ \-afm\ audio\ codec\ family ] +.RB [ \-frames\ number ] +.RB [ \-autoq\ quality ] +.RB [ \-fb\ device ] +.RB [ \-fbmode\ modename ] +.RB [ \-fbmodeconfig\ filename ] +.RB [ \-benchmark ] +.RB [ \-dvd\ titleid ] +.RB [ \-chapter\ chapterid ] +.RB [ \-dvdangle\ angleid ] +.RB [ \-dvdkey\ key ] +.RB [ \-skin\ skin ] +.RB [ \-aspect\ ratio ] +.RB [ \-monitoraspect\ ratio ] +.RB [ \-subcp\ codepage ] +.RB [ \-dumpmpsub ] +.RB [ \-screenw\ pixels ] +.RB [ \-screenh\ pixels ] +.RB [ \-cache\ kbytes ] +.RB [ \-bpp\ depth ] +.RB [ \-flip ] +.RB [ \-playlist\ <filename> ] +.RB [ \-slave ] +.I - or file or device +.PP +.SH DESCRIPTION +.I mplayer +MPlayer is a movie player for LINUX (runs on many other Unices, and +non-x86 CPUs, see section 6). It plays most MPEG, AVI and ASF/WMV files, +supported by many native and Win32 DLL codecs. You can watch VideoCD, +SVCD, DVD and even DivX movies too (and you don't need the avifile library +at all!). The another big feature of mplayer is the wide range of +supported output drivers. It works with X11, Xv, DGA, OpenGL, SVGAlib, +fbdev, AAlib, but you can use SDL (and this way all drivers of SDL) and +some lowlevel card-specific drivers (for Matrox, 3Dfx and Radeon) too! +Most of them supports software or hardware scaling, so you can enjoy +movies in fullscreen. And what about the nice big antialiased shaded +subtitles (7 supported types!!!) with european/ISO 8859-1,2 (hungarian, +english, czech, etc), cyrillic, korean fonts, and OSD? +.LP +.SH "GENERAL OPTIONS" +.TP +.I NOTE +Every "flag" option has "noflag" pair, e.g. -fs opposite is -nofs +.TP +.B \-gui +start MPlayer with the GUI mode. You have to compile it in, for details +see the documentation. +.TP +.B \-dvd\ titleid +tell MPlayer which movies (marked with titleid) to play. For example +sometimes '1' are trailers, and '2' is the real movie. +.TP +.B \-sid\ id +Turns on DVD subtitle displaying. Also, you MUST specify a number which +corresponds to a DVD subtitle language (1-...). For the list of available +subtitles, use with the -v switch and look at the output. (EXPERIMENTAL) +.TP +.B \-chapter\ chapterid +specify which chapter to start playing at. Examples can be found below. +.TP +.B \-dvdangle\ angleid +some DVD discs contain scenes that can be viewed from multiple angles. +Here you can tell MPlayer which angles to use. Examples can be found below. +.TP +.B \-vo\ <driver>[:<device>] +select video output driver and optinaly device. "device" is valid with +SDL and GGI too, it means sub-driver then (for example: -vo sdl:aalib). + +you can get the list of available drivers executing +.I mplayer -vo help + +.TP +.B \-ao\ <driver>[:<device>] +select audio output driver and optinaly device. "device" is valid with +SDL too, it means sub-driver then (for example: -vo sdl:esd). + +If using OSS, you can specify which sound device to use like this : +-ao oss:/dev/dsp1 (replaces the old -dsp option) + +you can get the list of available drivers executing +.I mplayer -ao help + +.TP +.B \-vcd\ track +play video cd track from device instead of plain file +.TP +.B \-nosound +don't play sound +.TP +.B \-fs +fullscreen playing (centers movie, and makes black +bands around it) +.TP +.B \-vm +try to change to a different video mode. dga2, x11 (XF86VidMode) and sdl +output drivers support it. +.TP +.B \-zoom +use software scaling, where available (use with -nofs). svga, x11, vesa +output drivers support it. +.TP +.B \-flip +flip image (useful for example for old Indeo codecs). Supported only(?) +by the 'sdl' and 'x11' outputs. +.TP +.B \-x\ x +scale image to x width [if driver suppports!] +.TP +.B \-y\ y +scale image to y height +.TP +.B \-xy\ factor +scale image by <factor> +.TP +.B \-pp\ quality +apply postprocess filter on decoded image. +You need a STRONG CPU in order to use this! +The supported formats and settings are: + + MPEG 1/2 0 (none), TODO + OpenDivX 0 (none), TODO + DivX4 0 (none), TODO + DivX 0 (none), TODO + + -pp 0x20000 TODO + +.TP +.B \-autoq\ quality +dynamically changes the level of postprocess, depending on spare CPU +time available. Uses the same value ranges as -pp . The number you +specify will be the maximum level used. Usually you can use some big +number. You don't have to (and don't) use together with -pp ! +.TP +.B \-ffactor\ number +resample alphamap of the font. Can be: + + 0 plain white fonts + 0.75 very narrow black outline [default] + 1 narrow black outline + 10 bold black outline +.TP +.B \-sub\ file +use/display this subtitle file +.TP +.B \-subfps\ rate +specify frame/sec rate of subtitle file +(ONLY for frame-based SUB files, i.e. NOT MicroDVD format!) +(default: the same as the movie) +.TP +.B \-subdelay\ sec +delays subtitles by <sec> seconds. Can be negative. +.TP +.B \-osdlevel\ level +specifies which mode the OSD should start in (0 : none, 1 : seek, 2: seek+timer) +(default = 2) +.TP +.B \-lircconf\ configfile +specifies a configfile for LIRC (see http://www.lirc.org) if you don't like the default ~/.lircrc +.TP +.B \-v +enable verbose output (more -v means more verbose) +.TP +.B \-quiet +display less output, status messages. +.TP +.B \-benchmark +used in combination with -nosound and -vo null for benchmarking. +.TP +.B \-skin skin directory +load skin from this directory (WITHOUT path name!). For example '-skin fittyfene' tries these : + + /usr/local/share/mplayer/Skin/fittyfene + ~/.mplayer/Skin/fittyfene +.TP +.B \-aspect ratio +set aspect ratio of movies. It's autodetected on MPEG files, and can't be +autodetected on AVI files. Examples: + + -aspect 4:3 or -aspect 1.3333 + -aspect 16:9 or -aspect 1.7777 + +(has -noaspect pair) +.TP +.B \-monitoraspect ratio +set aspect ratio of your screen. Examples: + + -monitoraspect 4:3 or 1.3333 + -monitoraspect 16:9 or 1.7777 + +.TP +.B \-playlist <file> +play files according to this filelist (1 file/row). +.TP +.B \-slave +This option switches on slave mode. This is intended for use +of MPlayer as a backend to other programs. Instead of intercepting keyboard +events, MPlayer will read simplistic command lines from its stdin. +See section +.B SLAVE MODE PROTOCOL +for the syntax. +.IP +.SH "ADVANCED OPTIONS" +.TP +.I NOTE +These options can help you solve your particular problem.. Also, see the +documentation ! +.TP +.B \-vc <name> +force usage of a specific video codec, according to its name in codecs.conf, +for example : + + -vc divx use VFW DivX codec + -vc divxds use DirectShow DivX codec + -vc ffdivx use libavcodec's DivX codec + -vc ffmpeg12 use libavcodec's MPEG1/2 codec + -vc divx4 use ProjectMayo's DivX codec + +See -vc help for FULL list ! +.TP +.B \-ac <name> +force usage of a specific audio codec, according to its name in codecs.conf, +for example : + + -ac mp3 use libmp3 MP3 codec + -ac mp3acm use l3codeca.acm MP3 codec + -ac ac3 use AC3 codec + -ac hwac3 enable Hardware AC3 passthrough + (see documentation) + -ac vorbis use libvorbis + -ac ffmp3 use ffmpeg's MP3 decoder (SLOW) + +See -ac help for FULL list ! +.TP +.B \-vfm <1-12> +force usage of a specific codec FAMILY, and FALLBACK to default if failed. +For example: + + -vfm 2 use VFW (Win32) codecs + -vfm 3 use OpenDivX/DivX4 codec (YV12) + (same as -vc odivx but fallback) + -vfm 4 use DirectShow (Win32) codecs + -vfm 5 use libavcodec codecs + -vfm 7 use DivX4 codec (YUY2) + (same as -vc divx4 but fallback) + -vfm 10 use XAnim codecs + +See -vc help for FULL list ! + +NOTE : if libdivxdecore support was compiled in, then type 3 and 7 now contains +just the same DivX4 codec, but different APIs to reach it. For difference +between them and when to use which, check the DivX4 section in the +documentation. +.TP +.B \-afm <1-12> +force usage of a specific audio format. For example: + + -afm 1 use libmp3 (mp2/mp3, + but not mp1) + -afm 2 suppose raw PCM audio + -afm 3 use libac3 + -afm 4 use a matching Win32 codec + -afm 5 use aLaw/uLaw driver + -afm 10 use libvorbis + -afm 11 use ffmpeg's MP3 decoder (even mp1) + +See -ac help for FULL list ! +.TP +.B \-sb\ position +seek to byte position +.TP +.B \-ss\ time +seek to given time position. For example : + + -ss 56 + -ss 01:10:00 + +.TP +.B \-bpp\ depth +use different color depth than autodetect. Not all -vo drivers support +it (fbdev, dga2, svga, vesa). +.TP +.B \-abs\ bytes +sound card audio buffer size (in bytes, default: measuring) +.TP +.B \-delay\ secs +audio delay in seconds (may be +/- float value) +.TP +.B \-nobps +don't use avg. byte/sec value for A-V sync (AVI) +.TP +.B \-aid\ id +select audio channel [MPG: 0-31 AVI: 1-99 ASF: 0-127 VOB: 128-...] +.TP +.B \-vid\ id +select video channel [MPG: 0-15 AVI: -- ] +.TP +.B \-fps\ value +force frame rate (if value is wrong in the header) +.TP +.B \-mc\ seconds/5frame +maximum sync correction per 5 frames (in seconds) +.TP +.B \-ni +force usage of non-interleaved AVI parser +.TP +.B \-include configfile +specify config file to be parsed after the default +.TP +.B \-z\ <0-8> +specifies compression level for PNG output + 0 : no compression + 8 : max compression +.TP +.B \-idx +rebuilds INDEX of the AVI. Useful with broken downloads, or badly +created AVIs. +.TP +.B \-forceidx +force rebuilding of INDEX. Useful for testing, or AVIs with bad +indexes. +.TP +.B \-nodshow +disables usage of DirectShow video codecs +.TP +.B \-noxv +disable XVideo hardware acceleration (with SDL only!) +.TP +.B \-forcexv +force using XVideo (SDL!) +.TP +.B \-dumpaudio +writes audio stream of the file to ./stream.dump (mostly usable +with mpeg/ac3) +.TP +.B \-dumpstream +dumps the file to ./stream.dump . Useful for example +when ripping from DVD. +.TP +.B \-noframedrop +no frame dropping : every frame is played, audio and video may be out of +sync (default) +.TP +.B \-framedrop +frame dropping : decode all frames, video may skip +.TP +.B \-nodouble +disable doublebuffering (default). Currently this is only honoured by the Xv and the DGA driver. +With the DGA driver this also disables OSD support but yields some speed gain. +.TP +.B \-double +enable doublebuffering. Currently this is only honoured by the Xv and the DGA driver. +.TP +.B \-dvdkey key +key to decrypt stream encrypted with CSS. For example : -dvdkey F169072699 +(this is NOT for DVD playing! For DVD use the -dvd option!) +.TP +.B \-stereo mode +select type of MP2/MP3 stereo output. + + Stereo 0 + Left channel 1 + Right channel 2 +.TP +.B \-channels n +select number of audio output channels to be used + + Stereo 2 + Surround 4 + Full 5.1 6 + +Currently this option is only honoured for AC3 audio. +.TP +.B \-srate Hz +specifies Hz to playback audio on. Has effect on playback speed! +.TP +.B \-config configfile +specifies where to search for config file +.TP +.B \-display name +specify the hostname and display number of the X server you want +to display on. For example : -display xtest.localdomain:0 +.TP +.B \-unicode +tells MPlayer to handle the subtitle file as UNICODE. +Contrary: -nounicode +.TP +.B \-utf8 +tells MPlayer to handle the subtitle file as UTF8. +.TP +.B \-fsmode\ mode +This option workarounds some problems when using specific windowmanagers and +fullscreen mode. If you experience fullscreen problems, try changing this +value between 0 and 7. + + -fsmode 0 new method + -fsmode 1 ICCCWM patch + (for KDE2/icewm) + -fsmode 2 old method + -fsmode 3 ICCCWM patch + plus Motif method +.TP +.B \-frames\ number +MPlayer plays <number> frames, then quits. +.TP +.B \-fb\ device +Specifies the framebuffer device to use. By default it uses /dev/fb0 . +Only valid for the fbdev driver. +.TP +.B \-fbmode\ modename +Change videomode to the one that is labelled as <modename> in /etc/fb.modes . +Only valid for the fbdev driver. +.TP +.I NOTE +VESA framebuffer doesn't support mode changing. +.TP +.B \-fbmodeconfig\ filename +Use this config file instead of the default /etc/fb.modes . +Only valid for the fbdev driver. +.TP +.B \-subcp\ codepage +If your system supports iconv(3), you can use this option to +specify codepage of the subtitle. Examples: + + -subcp latin2 + -subcp cp1250 + +.TP +.B \-dumpmpsub +Convert the given subtitle (specified with the -sub switch) to MPlayer's +subtitle format, MPsub. Dumps a dump.mpsub file to current directory. +.TP +.B \-screenw\ pixels +If you use an output driver which can't know the resolution of the screen +(mga/fbdev/x11 and/or TVout) this is where you can specify the horizontal +resolution. +.TP +.B \-screenh\ pixels +If you use an output driver which can't know the resolution of the screen +(mga/fbdev/x11 and/or TVout) this is where you can specify the vertical +resolution. +.TP +.B \-cache\ kbytes +This option specifies how much memory to use when precaching a file/URL . +Especially useful on slow media. Default is off. +.IP +.SH "ALPHA/BETA CODE" +.TP +.I NOTE +These are included in this manpage just for completeness! These may or may NOT +work! If you don't know what are these, you DON'T need these! In either case, +double-check the documentation ! +.TP +.B \-br\ rate +used with '-vo odivx' . +Specifies the bitrate to encode OpenDivx at +(in bits! e.g: 780000). +.TP +.I NOTE +You CAN'T encode sound, only video right now! Don't ask for it, +it's on the TODO list. +.TP +.B \-encode\ file +used with '-vo odivx' . +Specifies the output OpenDivX file. Won't overwrite. +.TP +.B \-dumpvideo +dump video stream to ./stream.dump (only with MPEG-PS) (not very usable) +.IP +.SH KEYBOARD CONTROL +.TP +.I NOTE +These keys may/may not work, depending on your video output driver. +.TP + <- or -> seek backward/forward 10 seconds + +up or down seek backward/forward 1 minute + +pgup/pgdown seek backward/forward 10 minutes + +p or SPACE pause movie (press any key) + +q or ESC stop playing and quit program + ++ or - adjust audio delay by +/- 0.1 second + +/ or * decrease/increase volume + +o toggle OSD: none / seek / seek+timer + +m toggle using master/pcm volume + +z or x adjust subtitle delay by +/- 0.1 second + +(the following keys are valid only when using DirectShow DivX codec, or +the DivX4 codec with -vc divx4) + +1 or 2 adjust contrast + +3 or 4 adjust brightness + +5 or 6 adjust hue + +7 or 8 adjust saturation + +.IP +.SH SLAVE MODE PROTOCOL +If the -slave switch is given, playback is controlled by a +line-based protocol with the following tokens: +.TP + stop pause playback + +play resume playback + +seek <NUM> continue at second NUM + +skip <NUM> skip NUM seconds (may be negative) + +quit exit mplayer + +.IP +.SH FILES AND DIRECTORIES +.TP +.I CONFIG FILES +Settings are stored system-wide in the /etc/mplayer.conf file, +and per-user in $HOME/.mplayer/config. The directory +$HOME/.mplayer and the 'config' are created if doesn't exist. +.TP +.I FONTS +Fonts are searched in $HOME/.mplayer/font. There must be a font.desc +file, and files with .RAW extension. +.TP +.I SUBTITLE FILES +MPlayer currently supports 9 subtitle formats : MicroDVD, SubRip, unnamed, +SAMI (smi), vplayer, RealMedia RT, ssa (Sub Station Alpha), AQT, and our own: MPsub. +Sub files are searched in this priority : (for example /mnt/cdrom/movie.avi) + /mnt/cdrom/movie.sub + (utf/UTF/sub/SUB/srt/SRT/smi/SMI/rt/RT/txt/TXT/ssa/SSA) + $HOME/.mplayer/sub/movie.sub + (utf/UTF/sub/SUB/srt/SRT/smi/SMI/rt/RT/txt/TXT/ssa/SSA) + $HOME/.mplayer/default.sub +.IP +.SH "EXAMPLES" +.B Quickstart DVD playing +mplayer -dvd 1 +.TP +.B Multiangle DVD playing +mplayer -dvd 1 -dvdangle 2 +.TP +.B Playing from a different DVD device +mplayer -dvd 1 /dev/dvd2 +.TP +.B Stream from HTTP +mplayer http://mplayer.hq/example.avi +.TP +.B Convert subtitle to MPsub (to ./dump.mpsub) +mplayer dummy.avi -sub source.sub -dumpmpsub +.LP +.SH BUGS +Probably. Check the documentation. + +Bugreports should be addressed to the MPlayer-users mailing list +(mplayer-users@mplayerhq.hu) ! If you want to submit a bugreport +(which we love to receive!), please double-check the bugreports.html, and +tell us all that we need to know to identify your problem. + +.LP +.SH AUTHORS +Check documentation ! + +MPlayer is (C) 2000-2001 +.I Arpad Gereoffy <arpi@thot.banki.hu> + +This manpage is written and maintained by +.I Gabucino . +.LP +.SH STANDARD DISCLAIMER +Use only at your own risk! There may be errors and inaccuracies that could +be damaging to your system or your eye. Proceed with caution, and although +this is highly unlikely, the author doesn't take any responsibility for that! +.\" end of file diff -r 34df0f546afc -r dadab20dc2b4 DOCS/Polish/skin-en.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DOCS/Polish/skin-en.html Sun Dec 16 11:51:02 2001 +0000 @@ -0,0 +1,867 @@ +<html> +<head> +<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1"> +<title>MPlayer skin format + + + + + +

    MPlayer skin format

    + +
    + +

    Contents

    + + + +
    + +
    +Last modified: Sep 10, 2001 +
    + +
    + +

    1 Introduction

    + +The purpose of this document is to describe the MPlayer skin format. +The information contained here might be wrong, for a) it is not me +who wrote the GUI, b) the GUI is not finished, c) I might +be wrong. So do not be surprised if something does not work as described here. + +

    +Thanks to Zoltán Ponekker for his help. + +

    +András Mohari <mayday@freemail.hu> + + +

    2 Overview

    + +It does not really have anything to do with the skin format, but you should +know that MPlayer has no builtin skin, so at least one skin +must be installed in order to be able to use the GUI. + + +

    2.1 Directories

    + +The directories searched for skins are (in order): +
    +    /usr/local/share/mplayer/Skin/
    +    ~/.mplayer/Skin/
    +
    + +

    +Note that the first path may vary according to the way MPlayer was configured +(see the --datadir argument of the configure +script). + +

    +Every skin is installed into its own directory under one of the directories +listed above, for example: +

    +    /usr/local/share/mplayer/Skin/default/
    +
    + + +

    2.2 Image formats

    + +Images must be truecolor (24 or 32 bpp) and can be in +BMP, PNG and TGA format (note that TGA images must be uncompressed). +The preferred format is PNG as it compresses very well. + +

    +In the main window (see below) you can use images with `transparency': +regions filled with the color #FF00FF (magenta) +are fully transparent when viewed by MPlayer. This means that you can even +have shaped windows if your X server has the XShape extension. + + +

    2.3 Parts of a skin

    + +Skins are quite free-format (unlike the fixed-format skins of +Winamp/XMMS, for example), so it is up to you to create something great. + +

    +Currently there are three windows to be decorated: the +main window, the subwindow and +the skin menu (which can be activated by a right +click). + +

      +
    • +The main window is where you can control MPlayer. The background of +the window is an image. Various items can (and must) be +placed in the window: buttons, potmeters (sliders, if +you like it better) and labels. For every item, you must +specify its position and size. + +

      +A button has three states (pressed, released, +disabled), so its image must be divided into three parts vertically. +See the button item for details. +

      +A potmeter (mainly used for the seek bar and volume/balance +control) can have any number of phases by dividing its image into different +parts below each other. +See hpotmeter and +potmeter for details. + +

      +Labels are a bit special: the characters needed to draw them are taken +from an image file, and the characters in the image are described +by a font description file. +The latter is a plain text file which specifies +the x,y position and size of each character in the image. (So the +image file and its font description file form a font together.) +See dlabel and slabel +for details. + +

      + +Note: all images can have full transparency as described in the +section about image formats. + +

    • + +
    • +The subwindow is where the movie appears. It can display a specified +image if there is no movie loaded (it is quite boring to have an empty +window :-)) +Note: transparency +is not allowed here. +
    • + +
    • +The skin menu is just a way to control MPlayer by means of +menu entries. Two images are required for the menu: one of them is the base +image that shows the menu in its normal state, the other one is used to +display the selected entries. When you pop up the menu, the first image is +shown. If you move the mouse over the menu entries, the currently selected +entry is copied from the second image over the menu entry below the mouse +pointer. (So the second image is never shown in whole.) +

      +A menu entry is defined by its position and size in the image (see the +section about the skin menu for details). +

    • +
    + +

    +There is an important thing not mentioned yet: for buttons, potmeters and +menu entries to work, MPlayer must know what to do if they are clicked. +This is done by messages (events). For these items +you must define the messages to be genereated when they are clicked. + +

    2.4 Files

    + +You need the following files to build a skin. +
      +
    • +The configuration file named skin tells MPlayer how +to put different parts of the skin together and what to do if you click +somewhere in the window. +
    • +
    • The background image for the main window.
    • +
    • Images for the items in the main window (including one or more font +description files needed to draw labels).
    • +
    • The image to be displayed in the subwindow (optional).
    • +
    • Two images for the skin menu (they are needed only if you want to create +a menu). +
    + +With the exception of the skin configuration file, you can name the other +files whatever you want (but note that font description files must have +.fnt extension). + + +

    3 The skin file

    + +

    +As mentioned above, this is the skin configuration file. +It is line oriented; comment lines start with a ';' character +at the beginning of the line (only spaces and tabs are allowed before the +';'). + +

    +The file is made up of sections. Each section describes the skin for an +application and has the following form: +
    +section = section name
    +.
    +.
    +.
    +end
    +
    + +

    +Currently there is only one application, so you need only one section: +its name is movieplayer. + +

    +Within this section each window is described by a block in the following form: +
    +window = window name
    +.
    +.
    +.
    +end
    +
    +where window name can be one of these strings: +

      +
    • main - for the main window
    • +
    • sub - for the subwindow
    • +
    • menu - for the skin menu
    • +
    + +

    +(The sub and menu block is optional---you do not need to create a menu or +to decorate the subwindow.) + +

    +Within a window block, you can define each item for the window +by a line in this form: + +

    +
    +item = parameter
    +
    +
    + +

    +where item is a string that identifies the type of the GUI item, +parameter is a numeric or textual value (or a list of values +separated by commas). +

    + +

    +Putting the above together, the whole file looks something like this: + +

    +
    +section = movieplayer
    +  window = main
    +  ; ... items for main window ...
    +  end
    +  
    +  window = sub
    +  ; ... items for subwindow ...
    +  end
    +  
    +  window = menu
    +  ; ... items for skin menu ...
    +  end
    +end
    +
    + +

    +Finally some words about specifying images for the various items. +
    +The name of an image file must be given without leading directories--- +images are searched in the directory of the skins. You may (but you need not) +specify the file's extension. If the file doesn't exist, MPlayer tries to +load the file <filename>.<ext>, where tga, +TGA, bmp, BMP, png and PNG is tried +for <ext> (in this order). The first matching file will be used. + +

    + +
    +Here is an example to make this clear. Suppose that you have an image called +main.png that you use for the main window: +
    +
    +    base = main, -1, -1
    +
    +
    + +MPlayer tries to load main, main.tga, main.TGA, +main.bmp etc, so main.png will be found. +
    +If (by accident) you wrote +
    +
    +    base = main.bmp, -1, -1
    +
    +
    +then main.bmp, main.bmp.tga, main.bmp.TGA, +main.bmp.bmp would be searched and MPlayer would finally give up +because there is no main.bmp in the directory, but main.png. +
    + + +

    3.1 Main window

    + +Below you can see the list of items that can be used in the +'window = main' . . . 'end' block. + +
    +
    +base = image, x, y +
    +
    +Lets you specify the background image to be used for the main window. +The window will appear at the given x,y position +on the screen (0,0 is the top left corner). You can specify -1 for center +and -2 for right (x) and bottom (y). The window will be as large as the image. +

    + +Warning: transparent regions in the image (colored #FF00FF) appear +black on X servers without the XShape extension. + +

    +
    + +
    +
    +button = image, x, y, width, height, message
    +
    +Place a button of width * height size at the +x,y position. The specified message is generated when +the button is clicked. +The image given by image must have three parts below each other +(according to the possible states of the button), like this: +
    
    ++------------+
    +|  pressed   |
    ++------------+
    +|  released  |
    ++------------+
    +|  disabled  |
    ++------------+
    +
    +
    +
    + +
    +
    +decoration = enable|disable +
    +
    +Enable or disable window manager decoration of the main window. Default +is disable. +
    +
    + +
    +
    + + +hpotmeter = butt, bw,bh, phases, numphases, default, x, y, w, h, msg + + +
    +
    +Place a horizontal potmeter of w * h size at the +x,y position. The image can be divided into +different parts for the different phases of the potmeter (for example, +you can have a pot for volume control that turns from green to red +while its value changes from the minimum to the maximum.) +hpotmeter can have a button that can be dragged horizontally. +The parameters are: +
      +
    • butt - the image to be used for the button +(must have three parts below each other, like in case of +button)
    • +
    • bw, bh - size of the button
    • +
    • phases - The image to be used for the different phases of the +hpotmeter. The image must be divided into numphases parts vertically +(see below). A special value of NULL can be used if you want +no such image. +
    • +
    • numphases - number of phases stored in the phases +image
    • +
    • default - default value for hpotmeter (in the range 0 to +100)
    • +
    • x, y - position for the hpotmeter
    • +
    • w, h - width and height of the hpotmeter
    • +
    • msg - the message to be generated when the value of hpotmeter +is changed
    • +
    +The image used for the different phases must look something like this: +
    
    ++------------+
    +|  phase #1  |
    ++------------+
    +|  phase #2  |
    ++------------+
    +     ...
    ++------------+
    +|  phase #n  |
    ++------------+
    +
    + +Note: there will be a vpotmeter item too, but is it not implemented +yet. + +
    +
    + +
    +
    +potmeter = phases, numphases, default, x, y, w, h, msg +
    +
    +A potmeter without a button. (I guess it is ment to be turned round, +but it reacts to horizontal dragging only.) +For the description of the parameters see +hpotmeter. phases can be +NULL, but its quite useless, since you can not see where +the potmeter is set. +
    +
    + +
    +
    +font = fontfile, fontid +
    +
    +Defines a font. fontfile is the name of a font description file +with .fnt extension (no need to specify the extension +here). +fontid is used to refer to the font +(see dlabel and slabel). +Up to 25 fonts can be defined. +
    +
    + +
    +
    +dlabel = x, y, length, align, fontid, "text" +
    +
    +Place a dynamic label at the x,y position. The label is called +dynamic because its text is refreshed periodically. +The maximum length of the label is given by length (its height is the +height of a character). +If the text to be displayed is wider than that, then it will be +scrolled, otherwise it is aligned within the specified space by the value +of the align parameter: 0 is for right, 1 is for center, +2 is for left. +
    +The text to be displayed is given by text: it must be written between +double quotes (") (but the " cannot be part of the +text). The label is displayed using the font identified by fontid. +You can use the following variables in the text. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableMeaning
    $1play time in hh:mm:ss format
    $2play time in mmmm:ss format
    $3play time in hh format (hours)
    $4play time in mm format (minutes)
    $5play time in ss format (seconds)
    $6movie's length in hh:mm:ss format
    $7movie's length in mmmm:ss format
    $8play time in h:mm:ss format
    $vvolume in xxx.xx% format
    $Vvolume in xxx.x format
    $bbalance in xxx.xx% format
    $Bbalance in xxx.x format
    $$the $ character
    $aa character according to the audio type (none: n, + mono: m, stereo: t)
    $ttrack number (in playlist)
    $ofilename
    $ffilename in lower case
    $Ffilename in upper case
    $Ta character according to the stream type (file: f, + video CD: v, DVD: d, URL: u) +
    $pthe "p" character (if a movie is playing and the font has the "p" + character) +
    $sthe "s" character (if the movie is stopped and the font has the "s" + character) +
    $ethe "e" character (if playback is paused and the font has the "e" + character) +
    +

    +Note: The $a, $T, $p, $s +and $e variables all return characters that should be displayed +as special symbols (for example, "e" is for the pause symbol that usually +looks something like ||). You should have a font for normal +characters and a different font for symbols. +See the section about symbols for more information. +

    +
    + +
    +
    +slabel = x, y, fontid, text +
    +
    +Place a static label at the x,y position. +text is displayed using the font identified by fontid. +The text is just a raw string ($x variables do not work) that must be enclosed +between double quotes (the " cannot be part of the text). +The label is displayed using the font identified by fontid. +
    +
    + + +

    3.2 Subwindow

    + +The following items can be used in the +'window = sub' . . . 'end' block. + +
    +
    +base = image, x, y, width, height +
    +
    +The image to be displayed in the window. +The window will appear at the given x,y position +on the screen (0,0 is the top left corner). You can specify -1 for center +and -2 for right (x) and bottom (y). The window will be as large as the image. +width and height gives the size of the window; they are +optional (if they are missing, the window is the same size as the image). +
    +
    + +
    +
    +background = r, g, b +
    +
    +Lets you set the background color. It is useful if the image is smaller than +the window. +r, g and b specifies the red, green and blue +component of the color (each of them is a decimal number from 0 to 255). +
    +
    + + +

    3.3 Skin menu

    + +As mentioned earlier, the menu is displayed using two images. +Normal menu entries are taken from the image specified by the base +item, while the currently selected entry is taken from the image specified +by the selected item. +You must define the position and size of each menu entry by the menu +item. + +

    +These are the items that can be used in the 'window = menu' +. . . 'end' block. + +

    +
    +base = image +
    +
    +The image for normal menu entries. +
    + + +
    +
    +selected = image +
    +
    +The image showing the menu with all entries selected. +
    +
    + +
    +
    +menu = x, y, width, height, message +
    +
    +Defines the x,y position and the size of a menu entry in +the images. message is the message to be generated when +the mouse button is released over the entry. +
    +
    + + +

    4 Fonts

    + +As mentioned in the section about the parts of a skin, a font is defined +by an image and a description +file. You can place the characters anywhere in the image, but make sure that +their position and size is given in the description file exactly. + +

    +The font description file (with .fnt extension) can have comment +lines starting with ';'. +The file must have a line in the form +

    +
    +image = image
    +
    +
    + +

    +where image is the name of the image file to be used for +the font (you do not have to specify the extension). +The above line is followed by character definition lines of the form: + +

    +
    +"char" = x, y, w, h
    +
    +
    + +

    +Here x and y specifies the position of the +char character in the image (0,0 is the upper left corner). +w and h is the width and height of the character +(in pixels, of course). + +

    +Here is an example that defines the A, B, C characters using font.png. +
    +; can be "font" instead of "font.png"
    +image = font.png
    +
    +; Three characters are enough for demonstration only. :-)
    +"A" =  0,0, 7,13
    +"B" =  7,0, 7,13
    +"C" = 14,0, 7,13
    +
    + + +

    4.1 Symbols

    + +Some characters have special meanings when returned by some of the variables +used in +dlabel; these characters are meant to be +displayed as symbols. (For example, in case of a DVD stream, you could display +a nice DVD logo instead of the character 'd'.) + +

    +The following table lists all the characters that can be used to display +symbols (and thus require a different font). + +

    + + + + + + + + + + + + + + + + + + + + + + +
    CharacterSymbol
    pplay
    sstop
    epause
    nno sound
    mmono sound
    tstereo sound
    fstream is a file
    vstream is a video CD
    dstream is a DVD
    ustream is a URL
    +
    + +

    +Note: currently only 'p', 's', 'e', 'n', 'm' and 't' is used. +

    + +

    Appendix A: GUI messages

    + +These are the messages that can be generated by buttons, potmeters and +menu entries. + +

    + +Note: some of the messages might not work as expected (or not +work at all). As you know, the GUI is under development. + +

    +Playback control: +

    +
    +
    evNext +
    Jump to next track in the playlist. + +
    evPause +
    Pause playing. + +
    evPauseSwitchToPlay +
    Forms a switch together with evPlaySwitchToPause. They can be +used to have a common play/pause button. Both messages should be assigned +to buttons displayed at the very same position in the window. This +message pauses playing and the image for the evPlaySwitchToPause button +is displayed (to indicate that the button can be pressed to continue playing). + +
    evPlay +
    Start playing. + +
    evPlaySwitchToPause +
    The opposite of evPauseSwitchToPlay. This message starts playing +and the image for the evPauseSwitchToPlay button is displayed (to +indicate that the button can be pressed to pause playing). + +
    evPrev +
    Jump to previous track in the playlist. + +
    evStop +
    Stop playing. +
    +
    + +

    +Seeking in the stream: +

    +
    +
    evBackward10sec +
    evBackward1min +
    evBackward10min +
    Seek backward 10 seconds / 1 minute / 10 minutes. + +
    evForward10sec +
    evForward1min +
    evForward10min +
    Seek forward 10 seconds / 1 minute / 10 minutes. + +
    evSetMoviePosition +
    Seek to position (can be used by a potmeter; the relative +value (0-100%) of the potmeter is used). +
    +
    + +

    +Video control: +

    +
    +
    evDoubleSize +
    Set the movie window to double size. + +
    evFullScreen +
    Switch fullscreen mode on/off. + +
    evNormalSize +
    Set the movie window to its normal size. +
    +
    + +

    +Audio control: +

    +
    +
    evDecAudioBufDelay +
    Decrease audio buffer delay. + +
    evDecBalance +
    Decrease balance. + +
    evDecVolume +
    Decrease volume. + +
    evIncAudioBufDelay +
    Increase audio buffer delay. + +
    evIncBalance +
    Increase balance. + +
    evIncVolume +
    Increase volume. + +
    evMute +
    Mute/unmute the sound. + +
    evSetBalance +
    Set balance (can be used by a potmeter; the relative +value (0-100%) of the potmeter is used). + +
    evSetVolume +
    Set volume (can be used by a potmeter; the relative +value (0-100%) of the potmeter is used). +
    +
    + +

    +Miscellaneous: +

    +
    +
    evAbout +
    Open the about window. + +
    evEqualeaser +
    Turn the equalizer on/off. + +
    evExit +
    Quit from the program. + +
    evIconify +
    Iconify the window. + +
    evLoad +
    Load a file (by opening a file browser window, where you can choose a +file). + +
    evLoadPlay +
    Does the same as evLoad, but it automatically starts +playing after the file is loaded. + +
    evNone +
    Empty message, it has no effect. (Except maybe in CVS versions. :-)) + +
    evPlayList +
    Open/close the playlist window. + +
    evPreferences +
    Open the preferences window. + +
    evSkinBrowser +
    Open the skin browser window. +
    +
    + + + diff -r 34df0f546afc -r dadab20dc2b4 DOCS/Polish/sound.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DOCS/Polish/sound.html Sun Dec 16 11:51:02 2001 +0000 @@ -0,0 +1,127 @@ + + + + + +

    2.3.2. Audio output devices

    + +

    MPlayer's audio interface is called libao2. It currently +contains these drivers :

    + + + + + + + + + + + + +

    General:

      oss  OSS (ioctl) driver
    sdlSDL driver (supports up/downsampling, ESD, ARTS etc)
    nasNAS (Network Audio System) driver
    alsa5native ALSA 0.5 driver
    alsa9native ALSA 0.9 driver (works, but has problems -> use OSS)
    sunSUN audio driver (/dev/audio) for BSD and Solaris8 users
    + +

    The fact is, Linux soundcard drivers are usually shit, and always as +incompatible as they can be. It MAY take a while to find your optimal settings.

    +

      +
    • if you have OSS as driver, first try with -ao oss (this is the default). +If you experience glitches, halts or anything out of the ordinary, have a +look at -ao sdl (NOTE: of course you'll have to have a new SDL library and its +devel pair installed). It helps in a lot of cases (it also supports ESD, ARTS, and +up/downsampling. /esd is GNOME's, arts is KDE's sound daemon/).
    • +
    • if you have ALSA version 0.5, then you ALMOST always have to use -ao alsa5 , +since 0.5 has buggy OSS emulation code, and will crash MPlayer with +a message like this:
      +
        + DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer!
      +
    • +
    • if you have ALSA version 0.9, use -ao oss or -ao sdl as you +wish. You can also use -ao alsa9 as it works now, however it has many +problems (losing sync, disappearing audio, etc).
    • +

    + +

    On Solaris/FreeBSD systems, use the SUN audio driver with the +-ao sun option, otherwise you'll have no video, nor audio playing.

    + +

    2.3.2.1. Soundcard experiences, recommendations

    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VIA onboard chipset (via82cxxx) 48Khz only
    Driver: from here
    Aureal Vortex 2
        OSS:no driver
    OSS/Pro:OK
    ALSA:no driver
    Max kHz:48
    Driver:aureal.sourceforge.net
    Driver2: from here
    +(buffer size increased to 32k)
    GUS PnP
    OSS:no driver
    OSS/Pro:OK
    ALSA:OK
    Max kHz:48
    SB Live!
    OSS:OK
    ALSA:(?)
    Max kHz:48
    SB AWE 64
    OSS:max 44kHz
    ALSA:48kHz sounds shit
    Max kHz:48
    Gravis UltraSound ACE
    OSS:max 44Khz. not OK
    ALSA:OK
    Max kHz:48
    Gravis UltraSound MAX
    OSS:OK
    ALSA:OK (?)
    Max kHz:48
    ESS 688
    OSS:OK
    ALSA:OK (?)
    Max kHz:48
    C-Media cards (which ones?)
    OSS:not OK (hissing) (?)
    ALSA:OK (?)
    Max kHz:?
    Yamaha cards (*ymf*)
    OSS:not OK (?) (maybe -ao sdl)
    ALSA:OK only with ALSA 0.5 with OSS emulation AND -ao sdl (!) (?)
    Max kHz:?
    Cards with envy24 chips (like Terratec EWS88MT)
    OSS:?
    OSS/Pro:OK
    ALSA:?
    Max kHz:?
    PC Speaker or DAC
    OSS:OK (use the SDL driver : -ao sdl)
    ALSA:no driver
    Max kHz:the driver emulates 44.1 maybe more
    Driver:ftp://ftp.infradead.org/pub/pcsp

    + +

      +
    • on Linux, use at least kernel 2.4 if possible, 2.2 isn't tested +
    • if sound clicks when playing from CD-ROM, turn on IRQ unmasking ! + for example "hdparm -u1 /dev/cdrom" (see "man hdparm" !!!) + This is recommended anyways... (for XMMS, etc...) + Read section 4.1. +
    • don't use your soundcard by other application ( for ex. XMMS ) ! + if you use ESD, start MPlayer with the '-vo sdl:esd' option ! +
    • Please tell us how MPlayer and your soundcard(s) worked together! +

    + + + diff -r 34df0f546afc -r dadab20dc2b4 DOCS/Polish/users_against_developers.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DOCS/Polish/users_against_developers.html Sun Dec 16 11:51:02 2001 +0000 @@ -0,0 +1,128 @@ + + + + + +

    In medias res

    + +

    There are two major topic which always causes huge dispute and flame on the +mplayer-users +mailing list. Number one is of course the topic of the

    + +

    GCC 2.96 series

    + +

    Also read this text !!!

    + +

    The background : there were/are the GCC 2.95 series. The +best of them was 2.95.3 . Please note the style of the version numbering. +This is how the GCC team numbers their compilers. The 2.95 series are good. +We never ever saw anything that was miscompiled because of the 2.95's faultiness.

    + +

    The action : RedHat started to include a GCC version of 2.96 +with their distributions. Note the version numbering. This should be the GCC +team's versioning. They patched the CVS version of GCC (something between 2.95 and 3.0) +They patched it very deep, and used this version in the distrib because 3.0 +wasn't out at time, and they wanted IA64 support ASAP (business reasons). +Oh, and GCC 2.95 miscompiles bash on the s390 architecture (there is +no RedHat distribution for s390..) .

    + +

    The facts : MPlayer's compile process needs the +--disable-gcc-checking to proceed upon detecting a GCC version of +2.96 (apparently it needs this option on egcs too. It's because we don't +test MPlayer on egcs. Pardon us, but we rather develop MPlayer). +If you know MPlayer, you should know that it has great speed. It +achieves this by having overoptimized MMX/SSE/3DNow/etc codes, fastmemcpy, and +lots of other features. MPlayer contained MMX/3DNow instructions in a +syntax that all Linux compilers accept it... except RedHat's GCC (it's more +standard compliant). It simply skips them. It doesn't give +errors. It doesn't give warnings. And, there is Lame. With gcc 2.96, its quality check +(make test after compiling) doesn't even run !!! +But hey, it compiles bash on s390 and IA64.

    + +

    The statements : most developers around the world begun having +bad feelings about RedHat's GCC 2.96 , and told their RedHat users to +compile with other compiler than 2.96 . RedHat users' disappointment slowly +went into anger. What was all good +for, apart from giving headaches to developers, putting oil on anti-RedHat +flame, confusing users? The answer, I do not know.

    + +

    Present age, present time : RedHat says that GCC 2.96-85 and above +is fixed, and works properly. Note the versioning. They should have started +with something like this. What about GCC 2.96.85 ? It doesn't matter now. +I don't search, but I still see bugs with 2.96 . It doesn't matter now, +hopefully now RedHat will forget about 2.96 and turn towards 3.0. +Towards a deep patched 3.0... +

    + +

    What I don't understand is why are we hated by RedHat users for +putting warning messages, and stay-away documents in MPlayer . +Why are we called "brain damaged", "total asshole", "childish" by +RedHat users, on our mailing list, and even on the redhat-devel . +They even considered forking MPlayer for themselves. RedHat users. +Why? It's RedHat that made the compiler, why do you have to hate us? +Are you that fellow RedHat worshippers? Please stop it. We don't hold +a grudge against users, doesn't matter how loud you advertise its contrary. +Please go flame Linus Torvalds, the DRI developers (oh, now I know why +there were laid off by VA!), the Wine, avifile. Even if we are arrogant, +are we not the same as the previously listed ones? Why do we have +to suffer from your unrightful wrath?

    + +

    I'm closing this topic. Think over it please. I (Gabucino) personally begun +with RedHat, then used Mandrake (sorry I +don't know their URL), now I have LFS. Never held a grudge against +RedHat or RedHat users, and I still don't. Hate is only comfortable. It +won't bring you anywhere.

    + +

    Binary distribution of MPlayer

    + +

    Tons of users asked us about this. For example Debian users tend to say: Oh, +I can apt-get install avifile, why should I compile MPlayer ? +While this may sound reasonable, the problem lies a bit deeper than +those-fuckin-MPlayer-developers-hate-gcc-2.96-and-RedHat-and-Debian.

    + +

    Reasons: Law

    + +

    MPlayer describes the sourcecode. It contains several files with incompatible +licenses especially on the redistribution clauses. As source files, they are +allowed to coexist in a same project.

    + +

    Therefore, NEITHER BINARIES NOR BINARY PACKAGES OF MPlayer ARE ALLOWED TO EXIST SINCE +SUCH OBJECTS BREAK LICENSES. PEOPLE WHO DISTRIBUTE SUCH BINARY PACKAGES ARE +DOING ILLEGAL ACTIVITIES.

    + +

    So if you know somebody who maintains a binary package then forward her/him +this text and (ask him to) contact us. What (s)he is doing is illegal and IT IS +NO LONGER MPlayer, but his/her mplayer. If it breaks, it is +his/her fault. Don't come and cry on the MPlayer mailing lists, you will +most likely be blacklisted.

    + +

    For example that french guy called Christian Marillat who denied our +request, and is still distributing binary Debian packages of MPlayer, +despite the fact that there was at least one user who downloaded it and failed +(of course compiling from source helped him). And there is Guillaume +Rousse, who is doing the same, but making RPMs for Mandrake. Do not support +criminals!

    + +

    Reasons: Technical

    + +

    +

      +
    • MPlayer's speed (MMX, SSE, fastmemcpy, etc) optimizations are + determined during compilation. Thus a compiled binary contains very + processor-specific code. An MPlayer binary compiled for K6 will die + on Pentiums and vice versa. This has to be workarounded by runtime + detection, which is not an easy thing to do becase it causes massive speed + decrease. If you don't believe (it was explained in details 10000 times on + mplayer-users, search the archive), solve it and send us a patch. Someone + begun work on it, but disappeared since then.
    • +
    • MPlayer's video/audio system is not plugin based. It is compiled + into the binary, thus making the binary depend on various libraries (the + GUI depends on GTK, DivX4 depends on libdivxdecore, SDL depends on libSDL, + every SDL release contains an unique bug that has to be workarounded during + compiletime, X11 output compiles differently for X3 and X4, etc). You may + say: yes, let's make 30 versions of downloadable binaries! We won't. We + will make these stuff pluggable in the future.
    • +
    + + diff -r 34df0f546afc -r dadab20dc2b4 DOCS/Polish/video.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DOCS/Polish/video.html Sun Dec 16 11:51:02 2001 +0000 @@ -0,0 +1,1005 @@ + + + + + +

    2.3.1. Video output devices

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    General:

      x11  X11 with optional SHM + extension
    xvX11 using overlays with the Xvideo extension + (hardware YUV & scaling)
    glOpenGL renderer, so far works only with: +
    • all cards with Utah-GLX +
    • Matrox cards with X/DRI >=4.0.3 +
    • Radeon with X/DRI CVS
    dgaX11 DGA extension
    fbdevOutput to general framebuffers
    svgaOutput to SVGAlib
    sdl +  1.1.7: supports software scaling
    +  1.1.8: supports Xvideo (hardware scaling/fullscreen)
    +  1.2.0: supports AAlib (-vo aa is very recommended, see below!)
    ggisimilar to SDL
    aatextmode rendering with AAlib
    vesaOutput to VESA BIOS.

    Card specific:

      mga  Matrox G200/G400 hardware + YUV overlay via the mga_vid device
    xmgaMatrox G200/G400 overlay (mga_vid) in X11 + window
    +(Xv emulation on X 3.3.x!)
    syncfbMatrox G400 YUV support on framebuffer (obsoleted, use + mga/xmga)
    3dfxVoodoo3/Banshee hardware YUV (/dev/3dfx) support (not yet tested, maybe + broken)
    tdfxfbVoodoo3/Banshee hardware YUV support on tdfx + framebuffer (works!)

    Special:

      png  PNG files output (use -z switch to set + compression)
    pgmPGM files output (for testing purposes or ffmpeg encoding)
    md5MD5sum output (for MPEG conformance tests)
    nullNull output (for speed tests/benchmarking)
    + +

    NOTE: check the following subsections for details and requirements!

    + + +

    2.3.1.1. Setting up MTRR

    + +

    It is VERY recommended to check if the MTRR registers are set up properly, +because they can give a big performance boost.

    + +

    Do a 'cat /proc/mtrr' :

    + +

    +--($:~)-- cat /proc/mtrr
    +reg00: base=0xe4000000 (3648MB), size= 16MB: write-combining, count=9
    +reg01: base=0xd8000000 (3456MB), size= 128MB: write-combining, count=1
    +

    + +

    It's right, shows my Matrox G400 with 16Mb memory. I did this from +XFree 4.x.x , which sets up MTRR registers automatically.

    + +

    If nothing worked, you have to do it manually. First, you have to find the base +address. +You have 3 ways to find it:

    + +

      +
    • from X11 startup messages, for example: +

      (--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000
      +(--) SVGA: Linear framebuffer at 0xD8000000

    • +
    • from /proc/pci (use lspci -v command): +

      +01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525 +Memory at d8000000 (32-bit, prefetchable) +

      +
    • from mga_vid kernel driver messages (use dmesg): +

      mga_mem_base = d8000000

      +

    + +

    Then let's find the memory size. This is very easy, just convert video ram +size to hexadecimal, or use this table:

    + + + + + + + + +
      1 MB0x100000
    2 MB0x200000
    4 MB0x400000
    8 MB0x800000
    16 MB0x1000000
    32 MB0x2000000
    + + +

    You know base address and memory size, let's setup mtrr registers! +For example, for the Matrox card above (base=0xd8000000) with 32MB +ram (size=0x2000000) just execute:

    + + +

      echo "base=0xd8000000 size=0x2000000 type=write-combining" >| /proc/mtrr

    + + +

    Not all CPUs support MTRRs. For example older K6-2's [around 266Mhz, +stepping 0] doesn't support MTRR, but stepping 12's do ('cat /proc/cpuinfo' +to check it').

    + +

    2.3.1.2. Xv

    + +

    Under XFree86 4.0.2 or newer, you can use your card's hardware YUV routines +using the XVideo extension. This is what the option '-vo xv' uses. +In order to make this work, be sure to check the following:

    +

      +
    • You have to use XFree86 4.0.2 or newer (former versions don't have XVideo) +
    • Your card actually supports hardware acceleration (modern cards do) +
    • X loads the XVideo extension, it's something like this: + +

        (II) Loading extension XVideo

      +

      in /var/log/XFree86.0.log

      + +

      NOTE: this loads only the XFree86's extension. In a good install, this is +always loaded, and doesn't mean that the _card's_ XVideo support is loaded!

      + +
    • Your card has Xv support under Linux. To check, try 'xvinfo', it is the +part of the XFree86 distribution. It should display a long text, similar +to this: +
      +	X-Video Extension version 2.2
      +	screen #0
      +	  Adaptor #0: "Savage Streams Engine"
      +	    number of ports: 1
      +	    port base: 43
      +	    operations supported: PutImage
      +	    supported visuals:
      +	      depth 16, visualID 0x22
      +	      depth 16, visualID 0x23
      +	    number of attributes: 5
      +	(...)
      +	    Number of image formats: 7
      +	      id: 0x32595559 (YUY2)
      +	        guid: 59555932-0000-0010-8000-00aa00389b71
      +	        bits per pixel: 16
      +	        number of planes: 1
      +	        type: YUV (packed)
      +	      id: 0x32315659 (YV12)
      +	        guid: 59563132-0000-0010-8000-00aa00389b71
      +	        bits per pixel: 12
      +	        number of planes: 3
      +	        type: YUV (planar)
      +	(...etc...)
      +
      + +

      It must support YUY2 packed, and YV12 planar pixel formats to be +usable with MPlayer.

      + +
    • And finally, check if MPlayer was compiled with 'xv' support. +./configure prints this. + +

    + +

    2.3.1.2.1. 3dfx cards

    + +

    Older 3dfx drivers were known to have problems with XVideo acceleration, +it didn't support either YUY2 or YV12, and so. Verify that you have +XFree86 version 4.1.0 or greater, it works ok. Alternatively, you can use +DRI cvs. +If you experience strange effects using -vo xv, try SDL (it has XVideo too) +and see if it helps. Check the SDL section for details.

    + +

    OR, try the NEW -vo tdfxfb driver! See the 2.3.1.9 +section!

    + + +

    2.3.1.2.2. S3 cards

    + +

    S3 Savage3D's should work fine, but for Savage4, use XFree86 version 4.0.3 +or greater (in case of image problems, try 16bpp). As for S3 Virge.. sell it.

    + +

    NOTE: Savage cards have a slow YV12 image displaying capability (it needs +to do YV12->YUY2 conversion, because the Savage hardware can't display YV12). +So when this documentation says at some point "this has YV12 output use this, +it's faster", it's not sure. Try.

    + + +

    2.3.1.2.3. nVidia cards

    + +

    nVidia isn't a very good choice under Linux.. You'll have to use the +binary closed-source nVidia driver, available at nVidia's website. The standard XFree86 +driver doesn't support XVideo for these cards, due to nVidia's closed +sources/specifications.

    + +

    As far as I know the latest XFree86 driver contains XVideo support for +Geforce 2 and 3.

    + +

    • Riva128 cards don't have XVideo support even with the nvidia driver :( +Complain to NVidia.

    + + +

    2.3.1.2.4. ATI cards

    + +

    +

  • The GATOS driver (which you should use) has VSYNC enabled by default. It means that decoding speed +(!) is synced to the monitor's refresh rate. If playing seems to be slow, try +disabling VSYNC somehow, or set refresh rate to n*(fps of the movie) Hz.
  • + +
  • Radeon VE - currently only XFree86 CVS has driver for this card, version +4.1.0 doesn't. And no TV out support. Of course with MPlayer you can +happily get accelerated display, with or without TV output, and +no libraries or X are needed. Read VESA driver and Radeon video overlay sections).
  • + + +

    2.3.1.2.5. NeoMagic cards

    + +

    +These cards can be found in many laptops. Under Linux, their peak is only DGA. +Unfortunately, the DGA driver in X 4.1.0 doesn't work, you'll have to wait for +4.2.0, or download a modified driver for 4.0.3 or 4.1.0 from here : +http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver +(there is also the patch to the driver's source).
    +Drivers provided by Tomek Jarzynka. +

    + + +

    2.3.1.3. DGA

    + +

    2.3.1.3.1. Summary

    + +

    This document tries to explain in some words what DGA is in general and +what the DGA video output driver for mplayer can do (and what it can't).

    + + +

    2.3.1.3.2. What is DGA

    + +

    DGA is short for Direct Graphics Access and is a means for a program to +bypass the X-Server and directly modifying the framebuffer memory. +Technically spoken this happens by mapping the framebuffer memory into +the memory range of your process. This is allowed by the kernel only +if you have superuser privileges. You can get these either by logging in +as root or by setting the suid bit on the mplayer excecutable (NOT +recommended!).

    + +

    There are two versions of DGA: DGA1 is used by XFree 3.x.x and DGA2 was +introduced with XFree 4.0.1.

    + +

    DGA1 provides only direct framebuffer access as described above. For +switching the resolution of the video signal you have to rely on the +XVidMode extension.

    + +

    DGA2 incorporates the features of XVidMode extension and also allows +switching the depth of the display. So you may, although basically +running a 32 bit depth XServer, switch to a depth of 15 bits and vice +versa.

    + +

    However DGA has some drawbacks. It seems it is somewhat dependent on the +graphics chip you use and on the implementation of the XServer's video +driver that controls this chip. So it does not work on every system ...

    + + +

    2.3.1.3.3. Installing DGA support for MPlayer

    + +

    First make sure X loads the DGA extension, see in /var/log/XFree86.0.log:

    + +

        (II) Loading extension XFree86-DGA

    + +

    See, XFree86 4.0.x or greater is VERY RECOMMENDED! +MPlayer's DGA driver is autodetected on ./configure, or you can force it +with --enable-dga.

    + +

    If the driver couldn't switch to a smaller resolution, experiment with +switches -vm (only with X 3.3.x), -fs, -bpp, -zoom to find a video mode that +the movie fits in. There is no converter right now.. :(

    + +

    Become ROOT. DGA needs root access to be able to write directly video memory. +If you want to run it as user, then install MPlayer SUID root:

    + +

    +    chown root /usr/local/bin/mplayer
    +    chmod 750 /usr/local/bin/mplayer
    +    chmod +s /usr/local/bin/mplayer

    + + +

    Now it works as a simple user, too.

    + + +

    !!!! BUT STAY TUNED !!!!
    +This is a BIG security risk! Never do this on a server or on a computer +can be accessed by more people than only you because they can gain root +privilegies through suid root mplayer.
    +!!!! SO YOU HAVE BEEN WARNED ... !!!!

    + +

    Now use '-vo dga' option, and there you go! (hope so:) +You should also try if the '-vo sdl:dga' option works for you! It's much +faster!!!

    + +

    2.3.1.3.4. Resolution switching

    + +

    The DGA driver allows for switching the resolution of the output signal. +This avoids the need for doing (slow) software scaling and at the same +time provides a fullscreen image. Ideally it would switch to the exact +resolution (except for honouring aspect ratio) of the video data, but the +XServer only allows switching to resolutions predefined in +/etc/X11/XF86Config (/etc/X11/XF86Config-4 for XFree 4.0.X respectively). +Those are defined by so-called modelines and depend on the capabilites +of your video hardware. The XServer scans this config file on startup and +disables the modelines not suitable for your hardware. You can find +out which modes survive with the X11 log file. It can be found at: +/var/log/XFree86.0.log.

    +

    See appendix A for some sample modeline definitions.

    + +

    2.3.1.3.5. DGA & MPlayer

    + +

    DGA is used in two places with MPlayer: The SDL driver can be made to make +use of it (-vo sdl:dga) and within the DGA driver (-vo dga). +The above said is true for both; in the following sections I'll explain +how the DGA driver for MPlayer works.

    + +

    2.3.1.3.6. Features of the DGA driver

    + +

    The DGA driver is invoked by specifying -vo dga at the command line. +The default behaviour is to switch to a resolution matching the original +resolution of the video as close as possible. It deliberately ignores the +-vm and -fs switches (enabling of video mode switching and fullscreen) - +it always tries to cover as much area of your screen as possible by switching +the video mode, thus refraining to use a single additional cycle of your CPU +to scale the image. +If you don't like the mode it chooses you may force it to choose the mode +matching closest the resolution you specify by -x and -y. +By providing the -v option, the DGA driver will print, among a lot of other +things, a list of all resolutions supported by your current XF86-Config +file. +Having DGA2 you may also force it to use a certain depth by using the -bpp +option. Valid depths are 15, 16, 24 and 32. It depends on your hardware +whether these depths are natively supported or if a (possibly slow) +conversion has to be done.

    + +

    If you should be lucky enough to have enough offscreen memory left to +put a whole image there, the DGA driver will use doublebuffering, which +results in much smoother movie replaying. It will tell you whether double- +buffering is enabled or not.

    + +

    Doublebuffering means that the next frame of your video is being drawn in +some offscreen memory while the current frame is being displayed. When the +next frame is ready, the graphics chip is just told the location in memory +of the new frame and simply fetches the data to be displayed from there. +In the meantime the other buffer in memory will be filled again with new +video data.

    + +Doublebuffering may be switched on by using the option -double and may be +disabled with -nodouble. Current default option is to disable +doublebuffering. When using the DGA driver, onscreen display (OSD) only +works with doublebuffering enabled. However, enabling doublebuffering may +result in a big speed penalty (on my K6-II+ 525 it used an additional 20% of +CPU time!) depending on the implementation of DGA for your hardware.

    + + +

    2.3.1.3.7. Speed issues

    + +

    Generally spoken, DGA framebuffer access should be at least as fast as using +the X11 driver with the additional benefit of getting a fullscreen image. +The percentage speed values printed by mplayer have to be interpreted with +some care, as for example, with the X11 driver they do not include the time +used by the X-Server needed for the actual drawing. Hook a terminal to a +serial line of your box and start top to see what is really going on in your +box ...

    + +

    Generally spoken, the speedup done by using DGA against 'normal' use of X11 +highly depends on your graphics card and how well the X-Server module for it +is optimized.

    + +

    If you have a slow system, better use 15 or 16bit depth since they require +only half the memory bandwidth of a 32 bit display.

    + +

    Using a depth of 24bit is even a good idea if your card natively just supports +32 bit depth since it transfers 25% less data compared to the 32/32 mode.

    + +

    I've seen some avi files already be replayed on a Pentium MMX 266. AMD K6-2 +CPUs might work at 400 MHZ and above.

    + +

    2.3.1.3.8. Known bugs

    + +

    Well, according to some developpers of XFree, DGA is quite a beast. They +tell you better not to use it. Its implementation is not always flawless +with every chipset driver for XFree out there.

    + +

      +
    • with XFree 4.0.3 and nv.o there is a bug resulting in strange colors +
    • ATI driver requires to switch mode back more than once after finishing +using of DGA +
    • some drivers simply fail to switch back to normal resolution (use +Ctrl-Alt-Keypad +, - to switch back manually) +
    • some drivers simply display strange colors +
    • some drivers lie about the amount of memory they map into the process's +address space, thus vo_dga won't use doublebuffering (SIS?) +
    • some drivers seem to fail to report even a single valid mode. In this +case the DGA driver will crash telling you about a nonsense mode of +100000x100000 or the like ... +
    • OSD only works with doublebuffering enabled +

    + +

    2.3.1.3.9. Future work

    + +

    • use of the new X11 render interface for OSD +
    • where is my TODO list ???? :-(((

    + + +

    2.3.1.3.A. Some modelines

    + +
    +  Section "Modes"
    +    Identifier    "Modes[0]"
    +    Modeline	"800x600"  40     800 840 968 1056  600 601 605 628
    +    Modeline	"712x600"  35.0   712 740 850 900   400 410 412 425
    +    Modeline	"640x480"  25.175 640 664 760 800   480 491 493 525
    +    Modeline 	"400x300"  20     400 416 480 528   300 301 303 314 Doublescan
    +    Modeline	"352x288"  25.10  352 368 416 432   288 296 290 310
    +    Modeline	"352x240"  15.750 352 368 416 432   240 244 246 262 Doublescan
    +    Modeline	"320x240"  12.588 320 336 384 400   240 245 246 262 Doublescan
    +  EndSection
    +
    + +

    These entries work fine with my Riva128 chip, using nv.o XServer driver +module.

    + + +

    2.3.1.3.B. Bug Reports

    + +

    If you experience troubles with the DGA driver please feel free to file +a bug report to me (e-mail address below). Please start mplayer with the +-v option and include all lines in the bug report that start with vo_dga:

    + +

    Please do also include the version of X11 you are using, the graphics card +and your CPU type. The X11 driver module (defined in XF86-Config) might +also help. Thanks!

    + + +

    Acki (acki@acki-netz.de, www.acki-netz.de)

    + + +

    2.3.1.4. SDL

    + +

    Here are some notes about SDL out in MPlayer.

    + + + +

    + + + + + + + + + + + + +

    There are several commandline switches for SDL:

      -vo sdl:name   +specifies sdl video driver to use (ie. aalib, dga, x11)
    -ao sdl:namespecifies sdl audio driver to use (ie. dsp, +esd, arts)
    -noxvdisables Xvideo hardware acceleration
    -forcexvtries to force Xvideo acceleration

    SDL Keys:

    Ftoggles fullscreen/windowed mode
    Ccycles available fullscreen modes
    W/Smappings for * and / (mixer control)

    + +

    KNOWN BUGS:

    +

    • Keys pressed under sdl:aalib console driver repeat forever. (use -vo aa !) +It's bug in SDL, I can't change it (tested with SDL 1.2.1). +

    + +

    2.3.1.5. SVGAlib

    + +

    If you don't have X, you can use the SVGAlib target! Be sure not to use the +-fs switch, since it toggles the usage of the software scaler, and it's +SLOOOW now, unless you have a real fast CPU (and/or MTRR?). :(

    + +

    Of course you'll have to install svgalib and its development package in +order for MPlayer build its SVGAlib driver (autodetected, but can be +forced), and don't forget to edit /etc/vga/libvga.config to suit your +card & monitor.

    + +

    2.3.1.6. Framebuffer output (FBdev)

    + +

    Whether to build the FBdev target is autodetected during ./configure . +Read the framebuffer documentation in the kernel sources +(Documentation/fb/*) for info on how to enable it, etc.. !

    + +

    If your card doesn't support VBE 2.0 standard (older ISA/PCI +cards, such as S3 Trio64), only VBE 1.2 (or older?) : +Well, VESAfb is still available, but you'll have to load SciTech Display +Doctor (formerly UniVBE) before booting Linux. Use a DOS boot disk or +whatever. And don't forget to register your UniVBE ;))

    + +

    The FBdev output takes some additional parameters above the others:

    + +

    + + + + + + +
      -fb   +specify the framebuffer device to use (/dev/fd0)
    -fbmodemode name to use (according to /etc/fb.modes)
    -fbmodeconfig config file of modes (default /etc/fb.modes)
    -monitor_hfreqIMPORTANT values, see example.conf
    -monitor_vfreq
    -monitor_dotclock

    + +

    If you want to change to a specific mode, then use

    + +

        mplayer -vm -fbmode (NameOfMode) filename

    + +

    • -vm alone will choose the most suitable mode from /etc/fb.modes . Can be +used together with -x and -y options too. The -flip option is supported only +if the movie's pixel format matches the video mode's pixel format. +Pay attention to the bpp value, fbdev driver tries to use the current, +or if you specify the -bpp option, then that.
    • +
    • -zoom option isn't supported (software scaling is slow). -fs option +isn't supported. You can't use 8bpp (or less) modes.
    • +
    • you possibly want to turn the cursor off : echo -e '\033[?25l'
      + and the screen saver: setterm -blank 0
      + To turn the cursor back on : echo -e '\033[?25h' +

    + +

    NOTE: FBdev video mode changing _does not work_ with the VESA framebuffer, +and don't ask for it, since it's not an MPlayer limitation.

    + +

    2.3.1.7. Matrox framebuffer (mga_vid)

    + +

    This section is about the Matrox G200/G400/G450/G550 BES (Back-End Scaler) +support, the mga_vid kernel driver. It's active developed by me (A'rpi), and +it has hardware VSYNC support with triple buffering. It works on both +framebuffer console and under X.

    + +

    To use it, you first have to compile mga_vid.o:

    + +

        cd drivers
    +    make

    + +

    Then create /dev/mga_vid device:

    + +

        mknod /dev/mga_vid c 178 0

    + +

    and load the driver with

    + +

        insmod mga_vid.o

    + +

    You should verify the memory size detection using the 'dmesg' command. If +it's bad, use the mga_ram_size option (rmmod mga_vid first), specify card's +memory size in MB:

    + +

        insmod mga_vid.o mga_ram_size=16

    + +

    To make it load/unload automatically when needed, insert the following line +at the end of /etc/modules.conf:

    + +

        alias char-major-178 mga_vid

    + +

    Then run

    + +

        depmod -a

    + +

    Now you have to (re)compile MPlayer, ./configure will detect /dev/mga_vid +and build the 'mga' driver. Using it from MPlayer goes by '-vo mga' if +you have matroxfb console, or '-vo xmga' under XFree86 3.x.x or 4.x.x.

    + +

    The mga_vid driver cooperates with Xv.

    + + +

    2.3.1.8. SiS 6326 framebuffer (sis_vid)

    + +

    SiS 6326 YUV Framebuffer driver -> sis_vid kernel driver

    + +

    Its interface should be compatible with the mga_vid, but the driver was not +updated after the mga_vid changes, so it's outdated now. Volunteers +needed to test it and bring the code up-to-date.

    + +

    2.3.1.9. 3dfx YUV support (tdfxfb)

    + +

    This driver uses the kernel's tdfx framebuffer driver to play movies with +YUV acceleration. You'll need a kernel with tdfxfb support, and recompile with +./configure --enable-tdfxfb

    + +

    2.3.1.10. OpenGL output

    + +

    MPlayer support displaying movies using OpenGL. Unfortunately, not all +drivers support this ability. For example the Utah-GLX drivers +(for XFree86 3.3.6) have it, with all cards. +See http://utah-glx.sourceforge.net +for details about how to install it.

    + +

    XFree86(DRI) >= 4.0.3 supports it only with Matrox, and Radeon cards. +See http://dri.sourceforge.net for download, +and installation instructions.

    + +

    2.3.1.11. AAlib - text mode displaying

    + +

    AAlib is a library for displaying graphics in text mode, using powerful +ASCII renderer. There are LOTS of programs already supporting it, like Doom, +Quake, etc. MPlayer contains a very usable driver for it. +If ./configure detects aalib installed, the aalib libvo driver will be built.

    + +

    + + + + + + + + + + + + + + + + + + + + + + +

    You can use some keys in the AA Window to change rendering options:

      1  decrease contrast
    2increase contrast
    3decrease brightness
    4increase brightness
    5switch fast rendering on/off
    6set dithering mode (none, error distribution, floyd steinberg)
    7invert image
    atoggles between aa and mplayer control)

    The following command line options can be used:

    -aaosdcolor=Vchange osd color
    -aasubcolor=Vchange subtitle color

    where V can be: (0/normal, 1/dark, 2/bold, 3/boldfont, 4/reverse, 5/special)

    AAlib itselves provides a large sum of options. +Here are some important:

    -aadriverset recommended aa driver (X11, curses, linux)
    -aaextendeduse all 256 characters
    -aaeightuse eight bit ascii
    -aahelpprints out all aalib options

    + +

    NOTE: the rendering is very CPU intensive, especially when using AA-on-X +(using aalib on X), and it's least CPU intensive on standard, +non-framebuffer console. Use SVGATextMode to set up a big textmode, +then enjoy! (secondary head Hercules cards rock :)) (anyone can enhance +bdev to do conversion/dithering to hgafb? Would be neat :)

    + +

    Use the -framedrop option if your comp isn't fast enough to render all frames!

    + +

    Playing on terminal you'll get better speed and quality using the linux driver, not +curses (-aadriver linux). But therefore you need write access on /dev/vcsa<terminal>! +That isn't autodetected by aalib, bu vo_aa tries to find the best mode. +See http://aa-project.sourceforge.net/tune/ for further tuning issues.

    + + +

    2.3.1.12. VESA - output to VESA BIOS

    +

    +This driver was designed and introduced as generic driver for any video +card which has VESA VBE 2.0 compatible BIOS. But exists still one reason of +developing of this driver - it's multiple troubles with displaying movie on TV.
    +VESA BIOS EXTENSION (VBE) Version 3.0 Date: September 16, 1998 (Page 70) +says: +

    + +

    + +Dual-Controller Designs
    +VBE 3.0 supports the dual-controller design by assuming that since both +controllers are typically provided by the same OEM, under control of a +single BIOS ROM on the same graphics card, it is possible to hide the fact +that two controllers are indeed present from the application. This has the +limitation of preventing simultaneous use of the independent controllers, +but allows applications released before VBE 3.0 to operate normally. The +VBE Function 00h (Return Controller Information) returns the combined +information of both controllers, including the combined list of available modes. +When the application selects a mode, the appropriate controller is activated. +Each of the remaining VBE functions then operates on the active controller. +
    +

    + +

    +So you have chances to get working TV-out by using this driver.
    +(I guess that TV-out frequently is standalone head or standalone output +at least.) +

    + +

    +What are pluses:
    + - You have chances to watch movies if Linux even doesn't know your video hardware.
    + - You don't need to have installed any graphics' related things on your Linux +(like X11 (aka XFree86), fbdev and so on). This driver can be run from +text-mode.
    + - You have chances to get working TV-out. (It's known at least for ATI's cards).
    + - This driver calls int 10h handler thus it's not an emulator - it +calls real things of real BIOS in real-mode. (Finely - +in vm86 mode).
    + - Most important :) You can watch DVD at 320x200 if you don't have a powerful CPU.
    +

    + +

    +What are minuses:
    + - It works only on x86 systems.
    + - It's the slowest driver from all the available ones for MPlayer.
    + (But only if your card doesn't support DGA mode - otherwise this + driver is comparable by speed with -vo dga and -vo fbdev ones.
    + + - It can be used only by ROOT.
    + - Currently it's available only for Linux.
    + - It doesn't use any hardware accelerations (like YUV overlay or hw scaling).
    +

    + +

    Don't use this driver with GCC 2.96 ! It won't work !

    + +

    + + + + + + + + + +

    These switches of command line currently are available for VESA:

      -vo vesa:optscurrently recognized: dga to force dga mode and nodga to disable dga mode. Note: you may omit these parameters to enable autodetect of dga mode. (In the future also will specify mode parameters such as refresh rate, interlacing, doublescan and so on. Samples: i43, 85, d100)
    -screenw, -screenh, -bppforce userdefined mode
    -x, -yset userdefined prescaling
    -zoomenables userdefined prescaling
    -fsscales image to fullscreen
    -fs -zoomscales userdefined prescaling to fullscreen
    -doubleenables double buffering mode. (Available only in DGA mode). Should be slower of single buffering, but has no flickering effects.
    +

    + +

    +Known problems and workaround:
    + - If you have installed NLS font on your Linux box and run VESA driver +from text-mode then after terminating mplayer you will have ROM font loaded instead +of national. You can load national font again by using setsysfont utility +from for example Mandrake distribution.
    +(Hint: The same utility is used for localizating fbdev).
    + - Some Linux graphics drivers don't update active BIOS mode in DOS memory. So if you have such +problem - always use VESA driver only from text-mode. Otherwise text-mode (#03) will be +activated anyway and you will need restart your computer.
    + - Often after terminating VESA driver you get black screen. To return your screen +to original state - simply switch to other console (by pressing Alt-Fx) then switch +to your previous console by the same way.
    + - To get working TV-out you need have plugged tv-connector in before booting +your PC since video BIOS initializes itself only once during POST procedure. +

    + + +

    2.3.1.13. X11

    + +

    Avoid if possible. Outputs to X11 (uses shared memory extension), with no +hardware acceleration at all. Supports (MMX/3DNow/SSE accelerated, but still +slow) software scaling, use the options -fs -zoom. Most cards have +hardware scaling support, use the -vo xv output for them, or +-vo xmga for Matroxes.

    + +

    The problem is that most cards' driver doesn't support +hardware acceleration on the second head/TV. In those cases, you see green/blue +coloured window instead of the movie. This is where this driver comes in +handy, but you need powerful CPU to use software scaling. Don't use the +SDL driver's software output+scaler, it has worse image quality !

    + +

    Software scaling is very slow, you better try changing video modes instead. +It's very simple. See the DGA section's modelines, and +insert them into your XF86Config. +

      +
    • If you have XFree86 4.x.x - use the -vm option. It will + change to a resolution your movie fits in. If it doesn't :
    • +
    • With XFree86 3.x.x - you have to cycle through available resolutions + with the CTRL-ALT-plus and minus keys.
    • +
    + +If you can't find the modes you inserted, browse XFree86's output. Some +drivers can't use low pixelclocks that are needed for low resolution +video modes.

    + + +

    2.3.1.14. Rage128 (Pro) / Radeon video overlay (radeon_vid)

    +

    +radeon_vid and rage128_vid provides support for the BackEnd Scaler on ATI Radeon and Rage128 (Pro) chipsets. +It was designed and introduced as analog of mga_vid driver, so you can use it in the same way!
    +But main goal of this driver usage is VESA driver.
    +Simply because VESA enables TV-out on ATI's card but Backend scaler is used after +mode switching. This implementation outputs video stream on both: TV-screen and CRTC +display simultaneously. (It slightly degrades quality of video output but it's +much better than nothing). +Sorry! I couldn't find out any video overlay's related information +on ATI pages. (I planned to implement it through int 10h calls). But it was +very easy to implement this stuff through reading/writing Radeon ports. +
    NOTE: XXX_VID technology is perfectly undocumented and maybe in the +future this stuff will be fully rewritten. This is the first public release of +driver.

    + +

    Installation

    + +

    +

      +
    • + cd drivers/radeon
      + make
      + make install
      + make nodes
    • +
    • add one of the following at the end of the /etc/modules.conf file :
      +   alias char-major-178 radeon_vid
      +   alias char-major-178 rage128_vid
    • +
    • run depmod -a
    • +
    +

    + +

    +
    Usage:
    +  mplayer -vo vesa:lvo:/dev/radeon_vid <your options> filename +

    + +

    More examples (for hardware deinterlacing, etc) can be found + here.

    + +

    NOTE: don't use any framebuffers when you plan to use this driver ! Use +it only from textmode console.

    + +

    +Conclusion: I know there are lot of lacks and bugs. So if you are able +to improve something then simply send me your patches. +

    + + +

    2.3.1.A. TV-out support

    + +

    2.3.1.A.1. Matrox cards

    + +

    Under Linux you have 2 methods to get TV out working :

    + +

    +

      +
    • XFree86: using the driver and the HAL module, available from + Matrox's site. This will give you X on + the TV.
      This method doesn't give you accelerated playback as + under Windoze! The second head has only YUV framebuffer, the BES + (Back End Scaler, the YUV scaler on G200/G400/G450/G550 cards) doesn't work + on it! The windows driver somehow workarounds this, probably by using the + 3D engine to zoom, and the YUV framebuffer to display the zoomed + image. If you really want to use X, use the -vo x11 -fs -zoom + options, but it will be SLOW, and has Macrovision copyprotection + enabled.
    • +
    • Framebuffer: using the matroxfb modules in the 2.4 kernels. + 2.2 kernels don't have the TVout feature in them, thus unusable for this. + You have to enable ALL matroxfb-specific feature during compilation (except + MultiHead), and compile them into modules! +
        +
      • + Enter TVout/matroxset and type make. Install + matroxset into somewhere in your PATH.
      • +
      • + If you don't have fbset installed, enter + TVout/fbset and type make. Install + fbset into somewhere in your PATH.
      • +
      • + Then enter into the TVout/ directory in the MPlayer + source, and execute ./modules as root. Your text-mode console + will enter into framebuffer mode (no way back!).
      • +
      • Next, run the ./matroxtv script. This will present you + to a very simple menu. Press 2 and ENTER. Now you should + have the same picture on your monitor, and TV. The 3. option + will turn on independent display, but then you can't use X! If + the TV (PAL !) picture has some weird stripes on it, the script wasn't able to + set the resolution correctly (to 640x512 by default). Use other menu + items randomly and it'll be OK :)
      • +
      + +

      + Yoh. Next task is to make the cursor on tty1 (or whatever) to disappear, + and turn off screen blanking. Execute the following commands:

      + +

      + echo -e '\033[?25l'
      + setterm -blank 0
      +

      + +

      + You possibly want to put the above into a script, and also clear + the screen.. To turn the cursor back :
      echo -e '\033[?25h' +

      + +

      Yeah kewl. Start movie playing with mplayer -vo mga -fs -screenw 640 + -screenh 512 <filename>
      + (if you use X, now change to matroxfb with for example CTRL-ALT-F1 !)
      + Change 640x512 if you set the resolution to other..
      + Enjoy the ultra-fast ultra-featured Matrox TV output (better than Xv) ! +

      +
    • + +
    +

    + + +

    2.3.1.A.2. ATI cards

    + +

    +A few word about ATI's TV-out:
    +Currently ATI doesn't want to support any of its TV-out chips under Linux. +Below is official answer from ATI Inc.: + +

    + + +
    > Hello! +
    > +
    > On your pages you wrote that you support linux developers. +
    > Currently I participate with mplayer project (www.mplayerhq.hu) +
    > I'm interesting with enabling TV-out on Radeon VE chips during +
    > movie playback. I would be glad to add this feature to radeonfb driver +
    > (which can be found in CVS tree of mplayer project at main/drivers/radeon). +
    > Do I have a chance to get any official technical documenation? +
    +
    We will not provide TV out related documents due to macrovision concerns. +
    Also mpeg2 decoding is something that we MAY consider in the future but not +
    at this current time. This is again due to proprietary and 3rd party +
    information. +
    +

    + +

    Pity isn't?

    + +

    + +Q:What is Macrovision?
    +A:It's copy protection mechanism.
    +

    + +

    It means that if they open any TV-out related information then +hackers will be able to disable copy protection on their chips. Therefore +we have no chance to get working TV-out on ATI.

    + +

    What's status of ATI's tv-out chips under Linux: +

  • ATI Mach64 has ImpacTV which is supported by gatos. +
  • ASIC Radeon VIVO has Rage Theatre which is supported by gatos. +
  • Radeon VE and Rage PRO LT have ImpacTV2+ which is not supported under Linux. +But with MPlayer you get full hardware acceleration and TV out +for Radeons ! +Check VESA driver and Radeon +acceleration sections.

    + +

    +Fortunately, owners of fast enough CPUs (Duron, Celeron2 and better) can watch +movies on their TV through VESA drivers. +

    + +

    +I should say good words to ATI Inc. too:
    +they produce top quality BIOSes. +

    + +

    +VESA drivers don't use any hardware acceleration but it simulates +DGA through 64K window, which is configured through 32-bit mode +functions of BIOS. ATI cards have enough fast video memory (DIMM or DDR +chips with 64 - 128-bit access) so it's not bottleneck for them. There are no +limitations on which video mode can be displayed on your TV (like on other +cards) so you can use any video mode on your TV (from +320x200 up to 1024x768).
    +From other side (it's known at least for Radeons) there is DGA +mode which is detected automatically and in this case you'll get comparable +with -vo dga and -vo fbdev drivers speed.
    +Only thing you need to do - have TV connector plugged in before booting your +PC since video BIOS initializes itself only once during POST procedure. +

    + +

    +For detail see VESA sections of this +documentation. +

    + + +

    2.3.1.A.3. Voodoo 3

    + +

    +Check this URL. +

    + + +