mirror of
https://github.com/mpv-player/mpv
synced 2024-12-22 23:02:37 +00:00
rewritten :)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@142 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
e6be7acf46
commit
9b4c878b29
@ -5,19 +5,34 @@ Videocards with hardware acceleration:
|
||||
* read DOCS/MTRR too!
|
||||
|
||||
"Hardware acceleration" usually means hardware YUV conversion, scaling,
|
||||
bilinear filtering. Under Linux and XFree86, this is done by the XVideo
|
||||
extension, this is what the option '-vo xv' uses.
|
||||
In order to make this work, be sure to check the following:
|
||||
1. your card actually supports harware acceleration
|
||||
2. you use XFree86 4.0.2 or newer (former versions don't have XVideo)
|
||||
bilinear filtering. Under Linux, there are several ways to access it:
|
||||
|
||||
I. the Xv (XVideo) extension of XFree86-4.0.x
|
||||
II. opengl drivers with glTexSubImage() support (currently the Utah-GLX drivers)
|
||||
III. native card-specific drivers, using special abilities of some cards
|
||||
IV. DGA - direct graphic access. no yuv & scaling, but faster than raw X11
|
||||
|
||||
Now, see them in details:
|
||||
|
||||
I. under XFree86 v4.0.x, using the XVideo extension:
|
||||
this is what the option '-vo xv' uses.
|
||||
|
||||
In order to make this work, be sure to check the following:
|
||||
|
||||
1. you use XFree86 4.0.2 or newer (former versions don't have XVideo)
|
||||
|
||||
2. your card actually supports harware acceleration (modern cards does)
|
||||
|
||||
3. 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 support. In a good install, this is
|
||||
always loaded, and doesn't mean that the _card's_ XVideo support is
|
||||
loaded!
|
||||
4. The XVideo extensions can use your card. Try 'xvinfo' which is the part of
|
||||
the XFree86 distribution. It should display a long text, similar to this:
|
||||
|
||||
4. 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
|
||||
@ -30,21 +45,60 @@ extension, this is what the option '-vo xv' uses.
|
||||
depth 16, visualID 0x23
|
||||
number of attributes: 5
|
||||
(...etc...)
|
||||
|
||||
It must support YUY2 packed, and YV12 planar pixel formats to be
|
||||
usable with MPlayer.
|
||||
|
||||
5. Be sure MPlayer is compiled with the "xv" target. "./configure" should say:
|
||||
Checking for Xv ... yes
|
||||
|
||||
6. If all is fine, try the option '-vo xv' . It should work.
|
||||
(if it doesn't, send us a bugreport. See the README on how to do this.)
|
||||
|
||||
|
||||
II. OpenGL drivers with *working* *fast* glTexSubImage() support.
|
||||
|
||||
There are additional drivers for the Matrox cards, which are usually
|
||||
better than XVideo, consume much less CPU, and some doesn't even need X.
|
||||
(Arpi please complete this section somewhat :) I'll correct your english:)
|
||||
Currently only the old Utah-GLX drivers (for X 3.3.6) have it.
|
||||
See http://utah-glx.sourceforge.net for details about how to install it.
|
||||
|
||||
The new X4/DRI and nVidia's binary drivers has no usable glTexSubImage :(
|
||||
|
||||
III. native card-specific drivers
|
||||
|
||||
There is 3 native drivers for linux:
|
||||
1. Matrox G200/G400/G450 BES (Back-End Scaler) support -> mga_vid kernel drv.
|
||||
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, simply compile the mga_vid.o in the drivers/ subdir (type: make)
|
||||
and load it 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
|
||||
|
||||
Using it from MPlayer: (you should re-compile it with mga_vid support...)
|
||||
|
||||
Use the 'mga' vo driver on framebuffer console (matroxfb): -vo mga
|
||||
and use the xmga driver for X 3.3.x: -vo xmga
|
||||
|
||||
Note: it works under X 4.0.x too, but it conflicts with the Xv driver,
|
||||
so avoid using both. Usually X restart or reboot needs to get Xv usable
|
||||
again :(
|
||||
|
||||
2. 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.
|
||||
|
||||
3. 3dfx (which ones?) YUV+scaler support, using /dev/3dfx (tdfx.o driver?)
|
||||
The /dev/3dfx kernel driver exists only for 2.2.x kernels, for use with
|
||||
Glide 2.x linux ports. It's not tested with MPlayer, and so no more
|
||||
supported. Volunteers needed to test it and bring the code up-to-date.
|
||||
|
||||
|
||||
IV. If your card lacks hardware acceleration, you can still boost your fps by
|
||||
using the DGA driver:
|
||||
|
||||
If your card lacks hardware acceleration, you can still boost your fps by
|
||||
using the DGA driver.
|
||||
1. Make sure X loads the DGA extension:
|
||||
(II) Loading extension XFree86-DGA
|
||||
2. MPlayer's DGA driver is autodetected on ./configure, or you can force it
|
||||
@ -54,9 +108,11 @@ using the DGA driver.
|
||||
(see the FAQ on how to do this, and... heed the warning!)
|
||||
5. Use '-vo dga' option, and there you go! (hope so:)
|
||||
|
||||
If you have fast enough CPU (P3 800 for example) you can try fsdga for
|
||||
fullscreen mpeg playing (using software YUV->RGB scaling):
|
||||
mplayer -vo fsdga ...
|
||||
|
||||
|
||||
(section describing OpenGL support? I don't have any:)
|
||||
|
||||
Gabucino
|
||||
Gabucino & A'rpi
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user