annotate DOCS/zh/video.html @ 18804:2cc4eeaa0627

fprintf -> ms_msg
author nicodvb
date Sat, 24 Jun 2006 09:30:23 +0000
parents c3f049d801d8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
2 <HTML>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
3
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
4 <HEAD>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
5 <TITLE>视频 -- MPlayer -- Linux下的电影播放器</TITLE>
9512
883f38591d47 now all translations link to ../default.css
gabucino
parents: 9332
diff changeset
6 <LINK REL="stylesheet" TYPE="text/css" HREF="../default.css">
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
7 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gbk">
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
8 </HEAD>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
9
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
10 <BODY>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
11
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
12
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
13 <H3><A NAME="video">2.3.1 视频输出设备</A></H3>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
14
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
15
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
16 <H4><A NAME="mtrr">2.3.1.1 MTRR的设置</A></H4>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
17
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
18 <P>强烈建议你检查你的MTRR注册是否正确的设定了,因为他们能极大的提高性能。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
19
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
20 <P>运行'<CODE>cat /proc/mtrr</CODE>':</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
21
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
22 <P><CODE>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
23 --($:~)-- cat /proc/mtrr<BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
24 reg00: base=0xe4000000 (3648MB), size= 16MB: write-combining, count=9<BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
25 reg01: base=0xd8000000 (3456MB), size= 128MB: write-combining, count=1</CODE></P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
26
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
27 <P>这是正确的,显示我的Matrox G400有16MB显存存。我从XFree 4.x.x得到这个,它会自动地设定MTRR注册。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
28
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
29 <P>如果没有什么自动工作,你将不得不手工做。首先,你必须找到基地址。你有3种方法找它:</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
30
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
31 <UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
32 <LI>根据X11的启动信息,例如:
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
33 <P><CODE>(--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000<BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
34 (--) SVGA: Linear framebuffer at 0xD8000000</CODE></P></LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
35 <LI>从/proc/pci(使用lspci -v命令):
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
36 <P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
37 <CODE>01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525</CODE>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
38 <CODE>Memory at d8000000 (32-bit, prefetchable)</CODE>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
39 </P></LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
40 <LI>根据mga_vid内核驱动的信息(使用dmesg):
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
41 <P><CODE>mga_mem_base = d8000000</CODE></P></LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
42 </UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
43
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
44 <P>接着让我们来确定显存大小。这十分容易,只要把显存大小变为十六进制,或者使用这个表格:</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
45
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
46 <TABLE BORDER=0>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
47 <TR><TD>&nbsp;&nbsp;</TD><TD>1 MB</TD><TD WIDTH="10%"></TD><TD>0x100000</TD></TR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
48 <TR><TD></TD><TD>2 MB</TD><TD></TD><TD>0x200000</TD></TR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
49 <TR><TD></TD><TD>4 MB</TD><TD></TD><TD>0x400000</TD></TR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
50 <TR><TD></TD><TD>8 MB</TD><TD></TD><TD>0x800000</TD></TR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
51 <TR><TD></TD><TD>16 MB</TD><TD></TD><TD>0x1000000</TD></TR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
52 <TR><TD></TD><TD>32 MB</TD><TD></TD><TD>0x2000000</TD></TR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
53 </TABLE>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
54
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
55
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
56 <P>你知道了基地址和显存大小,下面让我们进行MTRR注册!例如,对于上述32MB显存( size=0x2000000 )的Matrox显卡(base=0xd8000000)就运行:</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
57
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
58
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
59 <P><CODE>&nbsp;&nbsp;echo "base=0xd8000000 size=0x2000000 type=write-combining" &gt;| /proc/mtrr</CODE></P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
60
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
61
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
62 <P>并非所有CPU都支持MTRR。比如较老的K6-2[266MHz左右,步进值0]不支持MTRR,但是步进值12的就
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
63 支持(用'<CODE>cat /proc/cpuinfo</CODE>'命令检查)。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
64
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
65 <H4><A NAME="normal">2.3.1.2 传统显卡的视频输出</A></H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
66
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
67 <H4><A NAME="xv">2.3.1.2.1 Xv</A></H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
68
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
69 <P>在XFree86 4.0.2或者更新的版本下,你能使用XVideo扩展来使用你的显卡的硬件YUV例程。这是就是'-vo xv'所使用的。同时,
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
70 这是支持调节亮度/对比度/色相/等等的驱动(除非你使用旧的,缓慢的DirectShow DivX解码器,什么驱动它都支持),参见man page。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
71
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
72 <P>为了使它工作,确信做如下检查:</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
73
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
74 <UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
75 <LI>你必须使用XFree86 4.0.2或者更新的版本(以前的版本没有XVideo)</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
76 <LI>你的显卡确实支持硬件加速(现在的显卡都支持)</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
77 <LI>X加载了XVideo扩展,它是像这样的:
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
78
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
79 <P><CODE>&nbsp;&nbsp;(II) Loading extension XVideo</CODE></P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
80
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
81 <P>显示在/var/log/XFree86.0.log中</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
82
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
83 <P>注意: 这只是加载XFree86的扩展。在正常的安装中,这是总被加载的,这并不意味着<B>显卡的</B>XVideo支持被加载了!</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
84 </LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
85 <LI>你的显卡在Linux下有Xv支持。为了检查,运行'xvinfo',它是XFree86程序集的一部分。它应该显示一段很长的文字,类似于这样:
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
86 <PRE>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
87 X_video Extension version 2.2
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
88 screen #0
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
89 Adaptor #0: "Savage Streams Engine"
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
90 number of ports: 1
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
91 port base: 43
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
92 operations supported: PutImage
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
93 supported visuals:
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
94 depth 16, visualID 0x22
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
95 depth 16, visualID 0x23
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
96 number of attributes: 5
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
97 (...)
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
98 Number of image formats: 7
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
99 id: 0x32595559 (YUY2)
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
100 guid: 59555932-0000-0010-8000-00aa00389b71
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
101 bits per pixel: 16
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
102 number of planes: 1
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
103 type: YUV (packed)
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
104 id: 0x32315659 (YV12)
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
105 guid: 59563132-0000-0010-8000-00aa00389b71
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
106 bits per pixel: 12
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
107 number of planes: 3
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
108 type: YUV (planar)
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
109 (...etc...)
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
110 </PRE>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
111 <P>它必须支持YUY2 packed和YV12 planar象素格式,MPlayer才能使用它。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
112 </LI>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
113 <LI>最后,检查MPlayer是否编译了'xv'支持。./configure可以显示出来。</LI>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
114 </UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
115
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
116
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
117 <H4><A NAME="xv_3dfx">2.3.1.2.1.1 3dfx显卡</A></H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
118
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
119 <P>老的的3dfx驱动存在XVideo加速的问题,它不支持YUY2或者YV12之类的格式。确定你的XFree86版本在4.2.0以上,
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
120 它在YV12和YUY2模式下工作很好。以前的版本,包括4.1.0,<B>会在YV12下崩溃</B>。如果你使用-vo xv时遇到奇怪的问题,
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
121 尝试使用SDL(它也有XVideo)看是否有帮助。细节请察看<A HREF="#sdl">SDL部分</A>。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
122
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
123 <P><B>或者</B>,试试新的-vo tdfxfb驱动! 参见<A HREF="#tdfxfb">tdfxfb</A>部分。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
124
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
125
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
126 <H4><A NAME="xv_s3">2.3.1.2.1.2 S3显卡</A></H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
127
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
128 <P>S3 Savage3D应该能正常工作,不过对于Savage4,请使用XFree86 4.0.3或更新的版本(如果图象有问题,试试16bpp)。
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
129 至于S3 Virge,虽然有xv支持,但是这种显卡实在太慢,因此你最好卖了它。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
130
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
131 <P><B>注意</B>:目前不清楚Savage结构的那个部分缺少YV12支持,而是用驱动进行转换的(很慢)。如果你怀疑你的显卡,找一
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
132 个新的驱动,或者在mplayer-users的邮件列表上礼貌的询问支持MMX/3DNow的驱动。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
133
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
134
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
135 <H4><A NAME="xv_nvidia">2.3.1.2.1.3 nVidia显卡</A></H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
136
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
137 <P>nVidia在Linux下不是很好的选择(nVidia认为,这<A HREF="users_against_developers.html#nvidia">并非真实情况</A>)..
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
138 你将不得不使用二进制的非开源的nVidia驱动,nVidia的网站可以找到。标准XFree86驱动没有这些显卡的XVideo支持,
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
139 因为nVidia没有公开源码/规格。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
140
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
141 <P>据我所知最新的XFree86驱动包含了GeForce2和3的XVideo支持。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
142
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
143 <P>Riva128显卡即使用nVidia的驱动也没有XVideo支持:(向nVidia抱怨去吧。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
144
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
145
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
146 <H4><A NAME="xv_ati">2.3.1.2.1.4 ATI显卡</A></H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
147
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
148 <UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
149 <LI><A HREF="http://www.linuxvideo.org/gatos">GATOS驱动</A>(除非你有Rage128或者Radeon,否则你应该使用它)缺省打开VSYNC。
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
150 这意味着解码速度(!)与显示器的刷新率是同步的。如果觉得播放速度缓慢,以某种方式禁用VSYNC,或者把刷新率调到到n*(电影的fps)Hz。</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
151 <LI>Radeon VE -- 目前只有XFree86的CVS里有这种显卡的驱动,4.1.0版没有。同时没有电视支持。当然,
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
152 使用MPlayer你能幸福地得到<B>加速</B>显示,有或没有<B>电视输出</B>,而且不需要任何库或者X。阅读<A HREF="#vidix">Vidix</A>一节。</LI>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
153 </UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
154
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
155
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
156 <H4><A NAME="xv_neomagic">2.3.1.2.1.5 NeoMagic显卡</A></H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
157
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
158 <P>这些显卡能在许多笔记本电脑里找到。不幸的是,X 4.2.0的驱动不能使用Xv,但是我们为你准备了一个经过修改,能够使用Xv
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
159 的驱动。<A HREF="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver/neomagic_drv.o.4.2.0.bz2">到这里下载</A>。
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
160 这个驱动是由Stefan Seyfried提供的。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
161
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
162 <P>像这样修改你的XF86Config使之能进行DVD大小的内容的播放:</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
163
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
164 <P>Section "Device"<BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
165 &nbsp; &nbsp; <I>[...]</I><BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
166 &nbsp; &nbsp; Driver "neomagic"<BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
167 &nbsp; &nbsp; <B>Option "OverlayMem" "829440"</B><BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
168 &nbsp; &nbsp; <I>[...]</I><BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
169 EndSection</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
170
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
171
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
172 <H4><A NAME="xv_trident">2.3.1.2.1.6 Trident显卡</A></H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
173
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
174 <P>如果你想要在Trident显卡上使用xv,它在4.1.0下不工作,尝试XFree最新的CVS或者等候XFree 4.2.0。最新的CVS加入
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
175 了Cyberblade XP显卡的全屏Xv支持。</P>
9268
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
176
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
177 <H4><A NAME="xv_powervr">2.3.1.2.1.7 Kyro/PowerVR cards</A></H4>
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
178
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
179 <P>如果你想在一块基于Kyro的显卡(例如Hercules Prophet 4000XT)上使用Xv,你应该从<A
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
180 HREF="http://www.powervr.com/">PowerVR的网站</A>上下载驱动。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
181
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
182
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
183 <H4><A NAME="dga">2.3.1.2.2 DGA</A></H4>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
184
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
185 <H4>引言</H4>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
186
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
187 <P>这部分文档试图花些篇幅来解释DGA大概是什么以及MPlayer的DGA视频输出驱动能干什么(和不能干什么)。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
188
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
189
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
190 <H4>DGA是什么</H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
191
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
192 <P>DGA是Direct Graphics Access的简称,是一种使程序绕过X-服务器直接修改帧缓冲显存的方法。从技术角度说
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
193 这是通过把帧缓冲显存映射到你的处理器的内存范围之内。只有你有超级用户权限的时候内核才允许这种操作。用root登录或者
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
194 给MPlayer的执行文件设置SUID位(推荐使用!)可以做到这一点。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
195
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
196 <P>DGA有两种版本: DGA1用于XFree 3.x.x和DGA2从XFree 4.0.1开始引入。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
197
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
198 <P>DGA1只提供了前述的帧缓冲直接操作功能。你不得不使用XVidMode扩展来切换视频信号的分辨率。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
199
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
200 <P>DGA2结合了XVidMode扩展的特性而且也允许切换显示的色彩深度。因此,虽然一般使用32位色X服务器,你也能切换到15位色深,反之亦然。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
201
9268
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
202 <P>然而DGA也有一些弊端。它似乎有些依赖于你使用的图形芯片和X服务器中控制该芯片的视频驱动。因此,它并不是对所有的系统都起作用。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
203
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
204
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
205 <H4>为MPLAYER安装DGA支持</H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
206
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
207 <P>首先确保X装载了DGA扩展,察看/var/log/XFree86.0.log:</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
208
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
209 <P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>(II) Loading extension XFree86-DGA</CODE></P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
210
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
211 <P>可见,强烈推荐XFree86 4.0.x或更高版本,MPlayer的DGA驱动在./configure时会自动检测到,否则你可以用--enable-dga强行编译它。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
212
9268
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
213 <P>如果你的驱动不能切换到一个较小的分辨率,尝试使用-vm(只用于X 3.3.x),-fs,-bpp,-zoom选项找一个适合你的电影的视频模式。目前没有转换功能:(</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
214
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
215 <P>成为root。DGA需要root权限来直接写显存。如果你想用普通用户运行它,给MPlayer设置SUID root权限:</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
216
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
217 <P><CODE>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
218 &nbsp;&nbsp;&nbsp;&nbsp;chown root /usr/local/bin/mplayer<BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
219 &nbsp;&nbsp;&nbsp;&nbsp;chmod 750 /usr/local/bin/mplayer<BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
220 &nbsp;&nbsp;&nbsp;&nbsp;chmod +s /usr/local/bin/mplayer</CODE></P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
221
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
222 <P>它现在也能被普通用户使用了。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
223
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
224 <BLOCKQUOTE>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
225 <B>警告:安全风险</B><BR>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
226 这是一个<B>很大的</B>安全风险!<B>永远</B>不要在除了你之外还有人可以使用的服务器上这样做,因为他们能通过SUID root的MPlayer获得root权限。
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
227 </BLOCKQUOTE>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
228
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
229 <P>现在使用<CODE>-vo dga</CODE>选项,开始使用(如此希望:))!
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
230 你也应该尝试看看<CODE>-vo sdl:dga</CODE>选项能否正常工作。它快得多。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
231
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
232
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
233 <H4><A NAME="dga_modelines">切换分辨率</A></H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
234
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
235 <P>DGA驱动允许切换输出信号的分辨率。这样能避免使用(缓慢的)软件缩放同时又提供全屏图象。理想情况下,它将精确切换成视频数据
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
236 的分辨率(除了为了保持长宽比),但是X服务器仅允许切换到<CODE>/etc/X11/XF86Config</CODE>(XFree 4.0.X使
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
237 用<CODE>/etc/X11/XF86Config-4</CODE>用于区别)中预定义的分辨率。它们被所谓的modelines定义并且依赖于你的视频硬件的
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
238 能力。X服务器启动时扫描这个配制文件并且禁用那些不适用于你的硬件的modelines。你能通过X11的log文件找出哪些方式可用。它能
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
239 在这里找到:<CODE>/var/log/XFree86.0.log</CODE>。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
240
9268
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
241 <P>下面的例子对于一块Riva128芯片工作良好,使用X server的驱动模块<CODE>nv.o</CODE>。</P>
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
242
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
243 <PRE>
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
244 Section "Modes"
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
245 Identifier "Modes[0]"
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
246 Modeline "800x600" 40 800 840 968 1056 600 601 605 628
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
247 Modeline "712x600" 35.0 712 740 850 900 400 410 412 425
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
248 Modeline "640x480" 25.175 640 664 760 800 480 491 493 525
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
249 Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
250 Modeline "352x288" 25.10 352 368 416 432 288 296 290 310
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
251 Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
252 Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
253 EndSection
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
254 </PRE>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
255
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
256
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
257 <H4>DGA &amp; MPLAYER</H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
258
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
259 <P>MPlayer在有两种方法使用DGA:SDL驱动能使用它(-vo sdl:dga),DGA驱动(-vo dga)页使用它。上面说的内容对两者都有效;
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
260 在下列的几段中我将解释MPlayer中DGA驱动是如何工作的。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
261
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
262
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
263 <H4>特性</H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
264
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
265 <P>DGA驱动通过命令行中的-vo dga选项调用。默认操作是转换成与原来的视频尽可能接近的分辨率。它将忽略-vm和-fs选项(开启视频模式切换和全屏方式)
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
266 -- 它总试图通过切换显示模式尽可能多的覆盖你的屏幕,这样阻碍你的CPU使用一个单一的附加的周期来放大图像。
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
267 如果你不喜欢它选择的模式你能强迫它选择最接近于你通过-x和-y选项规定的分辨率的模式。使用-v选项,DGA驱动将在一大堆别的东西中打印出你
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
268 当前XF86-Config文件支持的所有分辨率的列表。
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
269 如果是DGA2你也能通过使用-bpp选项强迫它使用一定的色彩深度。有效的色深是15,16,24和32。这取决于你的硬件对这些色深是否本地支持,
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
270 还是通过某种(有可能很慢)的转化来完成的。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
271
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
272 <P>如果你非常幸运,有足够显存的屏外缓冲区来存放整个图象,DGA驱动将使用双重缓冲,这能使电影播放更加平滑。它会告诉你双重缓冲是否被打开。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
273
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
274 <P>双重缓冲的意思是在你的视频的当前帧被显示时,下一帧在屏外缓冲区中被绘制。当下一帧准备完毕时,
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
275 图形芯片被告知下一帧在显存中的位置并且直接从那里将要显示的数据读出来。在此期间其它在记忆中的缓冲器将再一次被装满新的视频数据。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
276
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
277 <P>双重缓冲可以用-double选项开启也可以用-nodouble选项禁止。目前缺省选项是禁用双重缓冲。屏幕显示功能(OSD)在使用DGA驱动模式时必须打开双重缓冲功能。
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
278 然而,使用双重缓冲可能导致较大的速度下降(在我的K6-II+ 525上它多占用20%的CPU时间!),下降程度取决于DGA操作你的硬件的方法。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
279
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
280
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
281 <H4>速度问题</H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
282
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
283 <P>一般来说,DGA帧缓冲至少应该跟X11驱动一样快同时还有全屏图象的附加好处。对MPlayer打印出的百分比速度的评价应该小心,
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
284 比如X11驱动它们并不包括X-服务器真正绘制所用的时间。开一个终端连到你的机器的串口上运行top命令看看你的机器真正在干什么...</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
285
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
286 <P>一般来说,使用DGA相对“普通的”使用X11所产生的速度提高高度依赖于你的显卡,以及X-服务器中它的模块做了多少优化。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
287
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
288 <P>如果你的系统较慢,最好使用15或者16bit色深,因为他们仅仅要求32bit显示的显存带宽的一半。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
289
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
290 <P>即使你的显卡自身就支持32bit色深,使用24bit的色深也是个好主意,因为它被32/32方式少传输25%的数据。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
291
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
292 <P>我曾见过一些AVI文件能在Pentium MMX 266上播放。AMD K6-2 CPU在400 MHZ以上的应该可以工作。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
293
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
294
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
295 <H4>已知的BUG</H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
296
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
297 <P>嗯,据一些XFree的开发者说,DGA像头野兽。他们告诉你不要使用它。并非对任何芯片的驱动它的操作都是没有瑕疵的。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
298
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
299 <UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
300 <LI>在XFree 4.0.3的nv.o有一个bug导致奇怪的颜色。</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
301 <LI>ATI驱动在使用DGA完成之后要不只一次的切换显示模式。</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
302 <LI>一些驱动无法切换会正常的分辨率(用Ctrl-Alt-小键盘+,-来手工切换)。</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
303 <LI>一些驱动显示奇怪的颜色。</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
304 <LI>一些驱动错误报告他们映射到处理器地址空间中的显存数量,这样vo-dga将无法使用双重缓冲(SIS?)。</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
305 <LI>一些驱动好像根本找不到一个可用的模式。在这种情况下,DGA驱动将crash并报告100000x100000的无效模式之类的东西...</LI>
9268
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
306 <LI>OSD只能在双重缓冲开启的时候才正常工作(否则会闪烁)。</LI>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
307 </UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
308
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
309
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
310 <H4><A NAME="sdl">2.3.1.2.3 SDL</A></H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
311
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
312 <P>SDL(Simple Directmedia Layer)基本上是一种统一的视频/音频接口。使用它的程序只要知道SDL,而不需要了解SDL实际上使用的视频或音频驱动。
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
313 例如使用SDL的Doom移植能在svgalib,aalib,X,fbdev,和其他东西上使用,你仅需要用环境变量SDL_VIDEODRIVER规定(例如)使用的视频驱
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
314 动。嗯,至少在理论上。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
315
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
316 <P>在MPlayer中,我们使用它的X11驱动的软件缩放功能,用于不支持XVideo的芯片/显卡,直到我们做出我们自己的(更快,更好)的软件缩放代码。
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
317 同时我们使用它的aalib输出,但是现在我们自己的更合适的了。它的DGA模式比我们的好,直到最近。现在明白了? :)</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
318
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
319 <P>它对一些buggy的驱动/显卡也有帮助,例如视频跳跃(不是系统缓慢的问题),或者音频延迟。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
320
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
321 <P>SDL视频输出支持在电影下面,(如果出现)的黑条上显示字幕。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
322
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
323 <P><B>这里是一些关于SDL输出的控制选项:</B></P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
324
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
325 <DL>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
326 <DT><CODE>-vo sdl:name</CODE></DT>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
327 <DD>规定使用的sdl视频驱动(例如aalib,dga,x11)</DD>
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
328
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
329 <DT><CODE>-ao sdl:name</CODE></DT>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
330 <DD>规定使用的sdl音频驱动(例如dsp,esd,arts)</DD>
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
331
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
332 <DT><CODE>-noxv</CODE></DT>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
333 <DD>禁用XVideo硬件加速</DD>
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
334
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
335 <DT><CODE>-forcexv</CODE></DT>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
336 <DD>尝试强制XVideo加速</DD>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
337
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
338 </DL>
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
339
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
340 <TABLE BORDER=0>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
341 <TR><TD COLSPAN=4><P><B>SDL控制键:</B></P></TD></TR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
342 <TR><TD></TD><TD><CODE>F</CODE></TD><TD></TD><TD>切换全屏/窗口方式</TD></TR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
343 <TR><TD></TD><TD><CODE>C</CODE></TD><TD></TD><TD>循环切换可用的全屏方式</TD></TR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
344 <TR><TD></TD><TD><CODE>W与S</CODE></TD><TD></TD><TD>*和/的映射(音量控制)</TD></TR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
345 </TABLE>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
346
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
347 <H4>已知的BUG:</H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
348
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
349 <UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
350 <LI>在sdl:aalib控制台驱动下按下的键将永远重复。(使用-vo aa!)它是SDL中的bug,我无法改变它(用SDL 1.2.1测试)。</LI>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
351 <LI>不要在GUI中使用SDL!它不会像预想的那样工作。</LI>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
352 </UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
353
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
354
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
355 <H4><A NAME="svgalib">2.3.1.2.4 SVGAlib</A></H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
356
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
357 <H4>安装</H4>
9268
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
358
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
359 <P>你必须安装svgalib和它的开发包来使MPlayer编译它的SVGAlib驱动(自动检测,但是也能强制使用),
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
360 别忘了编辑/etc/vga/libvga.config来配合你的显卡&amp;监视器。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
361
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
362 <H4>注意</H4>
9268
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
363
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
364 <P>一定不要用-fs选项,因为它将导致使用软件缩放,速度会很慢,如果你确实需要,使用<CODE>-sws 4</CODE>选项,
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
365 质量会有点差,但是无论如何它更快。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
366
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
367 <H4>EGA(4BPP)支持</H4>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
368
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
369 <P>SVGAlib结合了EGAlib,使得MPlayer有可能用16种颜色播放任何电影,下列的配制中可以使用:</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
370
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
371 <UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
372 <LI>EGA显卡和EGA显示器: 320x200x4bpp,640x200x4bpp,640x350x4bpp</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
373 <LI>EGA显卡和CGA显示器: 320x200x4bpp,640x200x4bpp</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
374 </UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
375
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
376 <P>bpp(每象素比特数)的值必须手工设为4:<BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
377 &nbsp; &nbsp; <CODE>-bpp 4</CODE><BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
378 电影可能必须被按比例缩小到EGA适合的模式:<BR>
9644
0fe056bdb135 vop -> vf change, small fixes. The Polish documentation should be checked for correctness.
jonas
parents: 9614
diff changeset
379 &nbsp; &nbsp;<CODE>-vf scale=640:350</CODE>或者<BR>
0fe056bdb135 vop -> vf change, small fixes. The Polish documentation should be checked for correctness.
jonas
parents: 9614
diff changeset
380 &nbsp; &nbsp;<CODE>-vf scale=320:200</CODE><BR>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
381 为做到这一点我们需要使用快速但低质量的例程:<BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
382 &nbsp; &nbsp;<CODE>-sws 4</CODE><BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
383 也许自动纠正长宽比的功能需要关闭:<BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
384 &nbsp; &nbsp;<CODE>-noaspect</CODE></P>
9644
0fe056bdb135 vop -> vf change, small fixes. The Polish documentation should be checked for correctness.
jonas
parents: 9614
diff changeset
385 <P><B>注意:</B>根据我的经验用<CODE>-vf eq=-20:0</CODE>稍稍降低亮度可以在EGA屏幕上获得最好的图象质量。在我的
9268
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
386 机器上我也要降低音频采样率,因为声音在44kHz时很差:<CODE>-srate 22050</CODE>.</P>
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
387
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
388 <P>你只有打开<CODE>expand</CODE>滤镜才能使用OSD和字幕。具体参数参见man page。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
389
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
390
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
391 <H4><A NAME="fbdev">2.3.1.2.5 帧缓冲输出(FBdev)</A></H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
392
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
393 <P>是否编译FBdev目标是在./configure期间自动检测的。阅读内核源码中的帧缓冲的文档(Documentation/fb/*)来了解更多信息。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
394
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
395 <P>如果你的显卡不支持VBE 2.0标准(较旧的ISA与PCI显卡,诸如S3 Trio64),仅支持VBE 1.2(或者更老的?):
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
396 嗯,VESAfb仍然是可用的,但是你将必须在启动Linux之前装载SciTech Display Doctor(从前叫UniVBE )。
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
397 用DOS启动盘或随便什么。同时,别忘了注册你的UniVBE ;))</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
398
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
399 <P>FBdev输出有些除了以前说过的参数外的附加参数:</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
400
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
401 <DL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
402 <DT><CODE>-fb</CODE></DT>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
403 <DD>规定使用的帧缓冲设备(/dev/fb0)</DD>
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
404
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
405 <DT><CODE>-fbmode</CODE></DT>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
406 <DD>使用的模式名(按照/etc/fb.modes文件)</DD>
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
407
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
408 <DT><CODE>-fbmodeconfig</CODE></DT>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
409 <DD>模式的配置文件方式(默认为/etc/fb.modes)</DD>
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
410
11289
c3f049d801d8 _ ---> - in monitor_* options
diego
parents: 10112
diff changeset
411 <DT><CODE>-monitor-hfreq</CODE></DT>
c3f049d801d8 _ ---> - in monitor_* options
diego
parents: 10112
diff changeset
412 <DT><CODE>-monitor-vfreq</CODE></DT>
c3f049d801d8 _ ---> - in monitor_* options
diego
parents: 10112
diff changeset
413 <DT><CODE>-monitor-dotclock</CODE></DT>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
414 <DD><STRONG>重要的</STRONG>参数,参见<CODE>example.conf</CODE></DD>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
415 </DL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
416
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
417 <P>如果你想要切换到某个具体模式,那么使用</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
418
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
419 <P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;mplayer -vm -fbmode (NameOfMode) filename</CODE></P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
420
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
421 <UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
422 <LI><B>-vm</B>单独使用将从/etc/fb.modes中选出最适合的模式。也可以与-x和-y选项一起使用。-flip选项只有当电影的像素格式
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
423 与视频模式的像素格式相同时才支持。注意bpp的值,fbdev驱动将尝试使用当前值,如果你设定-bpp选项,那么就是那个值。</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
424 <LI><B>-zoom</B>选项不支持(软件定标太慢了)。-fs选项不支持。你不能使用8bpp(或者更少)的模式。</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
425 <LI>你有可能想要关掉光标:<CODE>echo -e '\033[?25l'</CODE>或<CODE>setterm -cursor off</CODE><BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
426 和屏幕保护:<CODE>setterm -blank 0</CODE><BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
427 要重新开启光标:<CODE>echo -e '\033[?25h'</CODE>或<CODE>setterm -cursor on</CODE></LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
428 </UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
429
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
430 <P>注意:使用VESA 帧缓冲时FBdev视频方式不能改变,也不要要求这个功能,因为它不是由于MPlayer自身的限制。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
431
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
432
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
433 <H4><A NAME="mga_vid">2.3.1.2.6 Matrox帧缓冲(mga_vid)</A></H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
434
9268
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
435 <P>这一段是关于Matrox G200/G400/G450/G550 BES (Back-End Scaler)的支持,mga_vid内核驱动。它现在是由A'rpi开发,
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
436 它有三重缓冲的硬件VSYNC支持。它在帧缓冲控制台下和X下都可以工作。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
437
9268
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
438 <P><B>警告</B>:在非Linux系统(在FreeBSD上测试过)上,要使用<A HREF="#vidix">VIDIX</A>实现mga_vid!</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
439
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
440
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
441 <P><B>安装:</B></P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
442 <OL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
443 <LI>为了使用它,你首先必须编译mga_vid.o:</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
444 <P><CODE>cd drivers<BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
445 make</CODE></P></LI>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
446 <LI>然后创建<CODE>/dev/mga_vid</CODE>设备:
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
447 <P><CODE>mknod /dev/mga_vid c 178 0</CODE></P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
448 <P>然后这样加载驱动</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
449 <P><CODE>insmod mga_vid.o</CODE></P></LI>
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
450 <LI>你应该使用<CODE>dmesg</CODE>命令检查显存大小的检测结果。如果不对,那么使用mga_ram_size选项(先<CODE>rmmod
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
451 mga_vid</CODE>),以MB为单位指定显卡的显存大小:
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
452 <P><CODE>insmod mga_vid.o mga_ram_size=16</CODE></P></LI>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
453 <LI>为了使它在需要时自动地加载/卸载,首先在<CODE>/etc/modules.conf</CODE>的末尾加上下面这一行:
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
454 <P><CODE>alias char-major-178 mga_vid</CODE></P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
455 <P>然后把<CODE>mga_vid.o</CODE>模块复制到<CODE>/lib/modules/&lt;kernel version&gt;/somewhere</CODE>下的适当位置。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
456 <P>然后运行</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
457 <P><CODE>depmod -a</CODE></P></LI>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
458 <LI>你现在需要(重新)编译MPlayer,<CODE>configure</CODE>将检测到<CODE>/dev/mga_vid</CODE>并且编译'mga'驱动。如果你使用matroxfb控制台,
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
459 在MPlayer中用<CODE>-vo mga</CODE>使用它,或者在XFree86 3.x.x或者4.x.x下的使用<CODE>-vo xmga</CODE>。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
460 </OL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
461
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
462 <P>mga_vid驱动能与Xv协同工作。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
463
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
464 <P>可以阅读<CODE>/dev/mga_vid</CODE>设备文件(例如<CODE>cat /dev/mga_vid</CODE>)来查找一些信息,
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
465 也可以通过写它来调整亮度:<CODE>echo "brightness=120" &gt; /dev/mga_vid</CODE></P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
466
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
467
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
468 <H4><A NAME="tdfxfb">2.3.1.2.7 3dfx YUV支持(tdfxfb)</A></H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
469
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
470 <P>这个驱动使用内核的tdfx帧缓冲驱动来利用YUV加速播放电影。你需要一个支持tdfxfb的内核,
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
471 然后用<CODE>./configure --enable-tdfxfb</CODE>重新编译</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
472
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
473
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
474 <H4><A NAME="opengl">2.3.1.2.8 OpenGL输出</A></H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
475
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
476 <P>MPlayer支持使用OpenGL显示电影,但是如果你的平台/驱动支持xv,就象使用linux的PC机那样,就使用xv,OpenGL的效果与它相比相当坏。
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
477 如果你只有没有xv支持的X11程序,OpenGL是可用的选择。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
478
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
479 <P>不幸的是并非所有驱动都支持这个特性。Utah-GLX驱动(针对XFree86 3.3.6)对所有显卡都支持它。访问<A
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
480 HREF="http://utah-glx.sourceforge.net">http://utah-glx.sourceforge.net</A>了解安装它的细节问题。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
481
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
482 <P>XFree86(DRI) 4.0.3以上支持Matrox和Radeon显卡的OpenGL,4.2.0或更新版本支持Rage128。
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
483 访问<A HREF="http://dri.sourceforge.net">http://dri.sourceforge.net</A>以寻找下载和安装指导。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
484
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
485
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
486 <H4><A NAME="aalib">2.3.1.2.9 AAlib -- 文本方式显示</A></H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
487
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
488 <P><B>AAlib </B>是一个用于在文本模式下显示图形的库,它使用强大的ASCII渲染器。有许多程序提供对它的支持,像Doom,Quake等等。
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
489 MPlayer包含一个针对它的实用的驱动。如果./configure发现安装了aalib,aalib的libvo驱动将被编译。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
490
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
491 <TABLE BORDER=0>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
492 <TR><TD COLSPAN=4><P><B>你能在AA窗口中使用一些控制键来改变渲染参数:</B></P></TD></TR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
493 <TR><TD>&nbsp;&nbsp;</TD><TD><CODE>1</CODE></TD><TD>&nbsp;&nbsp;</TD><TD>减少对比度</TD></TR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
494 <TR><TD></TD><TD><CODE>2</CODE></TD><TD></TD><TD>增加对比度</TD></TR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
495 <TR><TD></TD><TD><CODE>3</CODE></TD><TD></TD><TD>减少亮度</TD></TR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
496 <TR><TD></TD><TD><CODE>4</CODE></TD><TD></TD><TD>增加亮度</TD></TR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
497 <TR><TD></TD><TD><CODE>5</CODE></TD><TD></TD><TD>打开/关闭快速渲染</TD></TR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
498 <TR><TD></TD><TD><CODE>6</CODE></TD><TD></TD><TD>设置抖动方式(不抖动, 误差分布算法, Floyd Steinberg算法)</TD></TR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
499 <TR><TD></TD><TD><CODE>7</CODE></TD><TD></TD><TD>反转图象</TD></TR>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
500 <TR><TD></TD><TD><CODE>a</CODE></TD><TD></TD><TD>转换aa和MPlayer的控制键</TD></TR>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
501 </TABLE>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
502
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
503 <P><B>下列的命令行选项能够使用:</B></P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
504 <DL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
505 <DT><CODE>-aaosdcolor=V</CODE></DT>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
506 <DD>改变OSD颜色</DD>
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
507
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
508 <DT><CODE>-aasubcolor=V</CODE></DT>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
509 <DD>改变字幕颜色
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
510 <P><I>V的值可以是:(0/正常,1/暗色,2/粗体,3/粗体字体,4/反转,5/特殊) </I></P></DD>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
511 </DL>
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
512
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
513 <P><B>AAlib自身也提供了大量的选项。这里是一些重要的:</B></P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
514 <DL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
515 <DT><CODE>-aadriver</CODE></DT>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
516 <DD>设置推荐aa的驱动( X11,curses,Linux )</DD>
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
517
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
518 <DT><CODE>-aaextended</CODE></DT>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
519 <DD>使用所有的256个字符</DD>
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
520
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
521 <DT><CODE>-aaeight</CODE></DT>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
522 <DD>使用8比特的ASCII</DD>
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
523
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
524 <DT><CODE>-aahelp</CODE></DT>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
525 <DD>列出所有的aalib选项</DD>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
526 </DL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
527
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
528 <P>注意:渲染效果是十分消耗CPU的,特别是使用AA-on-X(在X上使用aalib),在标准的非帧缓冲控制台上的CPU消耗是最小的,
9644
0fe056bdb135 vop -> vf change, small fixes. The Polish documentation should be checked for correctness.
jonas
parents: 9614
diff changeset
529 用SVGATextMode设置一个大的文本模式,然后再欣赏电影!(大力神显卡的第二个接口就不错:))(但我建议你用<CODE>-vf
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
530 1bpp</CODE>选项在hgafb上获得图象;)</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
531
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
532 <P>如果你的计算机速度不足以渲染所有帧就使用<CODE>-framedrop</CODE>选项</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
533
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
534 <P>在终端中播放电影时使用Linux驱动你将会得到更好的速度和画面质量,不要用curses(<CODE>-aadriver Linux</CODE>)。
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
535 但是为此你需要<CODE>/dev/vcsa&lt;terminal&gt;</CODE>的写权限。那是aalib不能自动检测的,但vo_aa会尝试搜索最佳模式,
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
536 进一步的调节问题参见<A HREF="http://aa-project.sourceforge.net/tune/">http://aa-project.sourceforge.net/tune/</A>。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
537
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
538
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
539 <H4><A NAME="vesa">2.3.1.2.10 VESA -- 输出到VESA BIOS</A></H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
540
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
541 <P>这个驱动被设计并引入作为一个<B>通用的驱动</B>用于任何有VESA VBE 2.0兼容的BIOS的显卡。这驱动的另一个优点是能试图迫使在其上进行电视输出。<BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
542 <B>VESA BIOS EXTENSION(VBE)3.0版 日期:1998年九月16日</B>(第70页)说:</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
543
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
544 <BLOCKQUOTE>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
545 <B>双重控制器设计</B><BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
546 VBE 3.0支持双重控制器设计基于如下假设,由于两个控制器一般是同样的OEM提供的,被同一块显卡上的一个的BIOS ROM,所以可以对程序隐藏有两个
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
547 控制器在作用的事实。这限制了同时的使用独立的控制器的功能,但是允许VBE 3.0发布前的程序能正常工作。VBE函数00h(返回控制器信息)返回经过合并的
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
548 两个控制器的信息,包括经过合并的可供使用的方式的列表。当程序选择一个方式时,相应的控制器被激活。然后剩下的VBE函数都作用在激活的控制器上。
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
549 </BLOCKQUOTE>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
550
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
551 <P>因此,你有可能通过这个驱动得到电视输出。<BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
552 (我猜想电视至少经常地是使用独立的头或者独立的输出)。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
553
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
554 <H4>优点</H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
555
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
556 <UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
557 <LI><B>即使Linux不能识别</B>你的视频硬件你或许还能看电影。</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
558 <LI>你不需要在你的Linux上安装任何图形相关的东西(像X11(或者叫XFree86),fbdev诸如此类)。这个驱动能从<B>文本方式</B>运行。</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
559 <LI>你有机会获得<B>可用的电视输出</B>。(至少已知ATI的显卡可以)。</LI>
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
560 <LI>这个驱动调用<B>int 10h</B>中断因此它不是模拟器 -- 它<B>实时</B>调用<B>真正的</B>BIOS中的<B>真正的</B>功能。(效果不错 --
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
561 按vm86方式)。</LI>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
562 <LI>你可以对它使用Vidix,这样能加速视频显示<B>同时</B>也加快电视输出!(ATI显卡推荐)</LI>
11289
c3f049d801d8 _ ---> - in monitor_* options
diego
parents: 10112
diff changeset
563 <LI>如果你有VESA VBE 3.0+,而且在什么地方(配置文件,或者命令行)设置了<CODE>monitor-hfreq</CODE>,
c3f049d801d8 _ ---> - in monitor_* options
diego
parents: 10112
diff changeset
564 <CODE>monitor-vfreq</CODE>, <CODE>monitor-dotclock</CODE>你将获得可能的最高的刷新率。
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
565 (使用一般的计时公式)。要启用这个特性你必须设定你的显示器的<B>所有</B>选项。</LI>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
566 </UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
567
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
568 <H4>缺点</H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
569
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
570 <UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
571 <LI>它只能在<B>x86系统</B>上工作。</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
572 <LI>它只能由<B>root</B>使用。</LI>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
573 <LI>它目前只能用在<B>Linux</B>上。</LI>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
574 </UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
575
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
576 <P>使用<B>GCC 2.96</B>就不要使用这个驱动!它不能工作!</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
577
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
578 <H4>可用于VESA命令行选项</H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
579 <DL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
580 <DT><CODE>-vo vesa:opts</CODE></DT>
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
581 <DD>当前能识别的:<B>dga</B>强迫dga方式,<B>nodga</B>禁用dga方式。在dga模式下你可以通过使用<CODE>-double</CODE>选项来使用
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
582 双重缓冲。注意:你能 省略这些参数来开启<B>自动检测</B>dga方式。</DD>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
583 </DL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
584
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
585 <H4>已知的问题和绕过办法</H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
586
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
587 <UL>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
588 <LI>如果你在你的Linux机器上安装了<B>NLS</B>并且从文本方式运行VESA驱动,那么MPlayer终止后你将看到<B>ROM字体</B>而不是本地的字体。
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
589 你可以重新加载本地的字体例如在Mandrake中使用<B><I>setsysfont</I></B>。</BR>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
590 (<B>提示:</B>相同的工具也用于fbdev的地方化)。</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
591 <LI>一些<B>Linux显卡驱动</B>不更新在DOS内存中的活动的<B>BIOS模式</B>。因此如果你有这样问题 -- 总是只从<B>文本方式</B>使用VESA驱动。
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
592 否则,文本方式(#03)总要被激活接着你将需要重起你的计算机。</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
593 <LI>通常在终止VESA驱动之后你将看到<B>黑屏</B>。为了把你的屏幕回复原状 -- 只要切换到其它控制台(通过按<B>Alt-Fx</B>)然后再用
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
594 同样的方法切换回你以前的控制台。</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
595 <LI>为了得到<B>可用的电视输出</B>你需要在启动导入你的电脑之前将电视连接器插上,因为视频BIOS只在自举过程中进行一次初始化。</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
596 </UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
598
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
599 <H4><A NAME="x11">2.3.1.2.11 X11</A></H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
600
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
601 <P>尽量避免使用它。输出到X11(使用共享内存扩展),完全没有硬件加速。支持(MMX/3DNow与SSE加速,但是仍然缓慢的)软件缩放,
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
602 使用选项<CODE>-fs -zoom</CODE>。大多数显卡有硬件缩放支持,使用<CODE>-vo xv</CODE>对他们输出,或者对于Matroxes使用<CODE>-vo xmga</CODE>。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
603
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
604 <P>问题在于大多数显卡的驱动在第二个接口/电视接口上不支持硬件加速。在那些情况下,你将看到绿色和蓝色的彩色窗口而不是电影。
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
605 这是这个驱动起作用的地方,但是你需要强大的CPU来使用软件缩放。不要使用SDL驱动的软件输出+缩放,它的图象质量比较差!</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
606
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
607 <P>软件缩放是十分缓慢的,你最好尝试用改变视频模式的方法代替它。它十分简单。参见<A HREF="#dga_modelines">DGA一节的modelines</A>,
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
608 并且将他们插入到你的XF86Config。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
609
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
610 <UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
611 <LI>如果你有XFree86 4.x.x -- 使用<CODE>-vm</CODE>选择。它将切换到适合你的电影的分辨率。如果你的XFree86不是:</LI>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
612 <LI>使用XFree86 3.x.x -- 你必须使用<B>CTRL-ALT-plus</B>和<B>minus</B>控制键循环可用的分辨率。</LI>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
613 </UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
614
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
615 <P>如果你调整不到你设定的模式,检查XFree86的输出。有些驱动不能使用低分辨率视频方式所需要的低的像素频率。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
616
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
617
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
618 <H4><A NAME="vidix">2.3.1.2.12 VIDIX</A></H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
619
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
620 <H4>引言</H4>
9268
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
621
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
622 <P>VIDIX是<B>VID</B>eo <B>I</B>nterface for *ni<B>X</B>的缩写。<BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
623 VIDIX被设计和引入作为快速的用户空间驱动的接口提供类似mga_vid为了Matrox显卡提供的这样视频性能的。它也十分易于移植。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
624
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
625 <P>这个接口被设计来作为一个将存在的视频加速接口(就是mga_vid,rage128_vid,radeon_vid,pm3_vid )统一到一个固定的系统的尝试。
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
626 它给芯片提供BES(BackEnd scalers)或OV(Video Overlays)之类的高层接口。它不为那些图像服务器该做的事情提供底层接口。
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
627 (我不想跟X11开发组在切换图像模式上竞争)。即这接口的主要目的是充分提高视频播放的速度。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
628
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
629 <H4>用法</H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
630
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
631 <UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
632 <LI>你能使用独立的视频输出驱动:<CODE>-vo xvidix</CODE><BR>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
633 这个驱动被设计为使用VIDIX技术的X11的前端。它要求X服务器而且仅仅只能在X服务器下工作。注意,由于它绕过X的驱动直接
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
634 访问硬件,显存中的暂存的图像可能被破坏。你可以通过设置XF86Config中的device部分的"VideoRam"选项限制X使用的显存大小
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
635 来避免这种情况。你应该设置为你的显卡上显存大小减去4MB。如果你的显存小于8MB,你可以设置screen部分的"XaaNoPixmapCache"选项。</LI>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
636 <LI>你能在若干视频的输出驱动中使用VIDIX副驱动,诸如:<BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
637 <CODE>-vo vesa:vidix</CODE>(<B>只用于Linux</B>)和<CODE>-vo fbdev:vidix</CODE></LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
638 </UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
639
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
640 实际上什么视频输出驱动与<B>VIDIX</B>配合使用并不重要。
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
641
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
642 <H4>要求</H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
643
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
644 <UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
645 <LI>视频显卡应该工作于图形方式(我所以写<B>应该</B>只是因为我在文本方式下测试了它 -- 它能工作但是输出效果很可怕 ;) 对它还是使用AAlib)。<BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
646 <I>注意:每个人能通过注释掉vo_vesa驱动的模式切换部分的方式尝试这个技巧。</I></LI>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
647 <LI>MPlayer的视频输出驱动应该知道活动的视频方式和能够告诉达到VIDIX副驱动服务器的一些视频特性。</LI>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
648 </UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
649
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
650 <H4>使用方法</H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
651
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
652 <P>当VIDIX被用作<B>副驱动</B>时(<CODE>-vo vesa:vidix</CODE>)视频方式的配置由视频输出设备执行(简单来说就是<B>vo_server</B>)。
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
653 因此,你能对MPlayer使用与vo_server同样的命令行指令。此外,它能使用<CODE>-double</CODE>作为全局的参数。
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
654 (我建议至少在使用ATI显卡时对VIDIX使用这个参数)。<BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
655 至于<CODE>-vo xvidix</CODE>:目前它能识别下列的选项: <CODE>-fs -zoom -x -y -double</CODE>。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
656
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
657 <P>你还能在命令行中使用第三个副参数直接制定VIDIX的驱动:<BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
658 <BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
659 &nbsp;&nbsp;<code>mplayer -vo xvidix:mga_vid.so -fs -zoom -double
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
660 file.avi</code><BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
661 or<BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
662 &nbsp;&nbsp;<code>mplayer -vo vesa:vidix:radeon_vid.so -fs -zoom -double -bpp
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
663 32 file.avi</code><BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
664 <BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
665 但这有点危险,所以你不应该这么做。在这种情况下,被指定的驱动会被强制使用而其结果是无法预计的(它可以把你的计算机<B>锁死</B>)。
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
666 只有在你绝对确信它能工作,而MPlayer没有自动选择它时,你才能这么做。请把情况报告给开发者。
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
667 正确的使用方法是使用没有参数的VIDIX来使用驱动的自动检测。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
668
9268
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
669 <P>VIDIX是一项新技术所以它极有可能在你的系统上不能正常工作。在这种情况下,你唯一的解决办法是移植它(主要是libdha)。
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
670 但它在X11能正常工作的那些系统的上有正常工作的希望。</P>
9268
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
671 <P>因为VIDIX需要对硬件直接访问,所以你或者以root运行它,或者给MPlayer的二进制程序设置SUID位(<B>警告:这有安全风险</B>)。或者,你
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
672 可以使用一个特别的内核模块,像这样:</P>
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
673
9268
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
674 <OL>
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
675 <LI>下载svgalib的<A HREF="http://www.arava.co.il/matan/svgalib/">开发版本</A>(比如1.9.17),<Br>
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
676 <B>或者</B><BR>
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
677 从<A HREF="http://www.mplayerhq.hu/~alex/svgalib_helper-1.9.17-mplayer.tar.bz2">这里</A>.下载一个Alex做的
9268
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
678 供MPlayer使用的版本(不需要svgalib的源代码就可以编译)。</LI>
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
679 <LI>编译<CODE>svgalib_helper</CODE>目录中的模块(如果你是从svgalib的网页上下载的源代码,可以在<CODE>svgalib-1.9.17/kernel/</CODE>目
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
680 录下找到它),然后insmod。</LI>
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
681 <LI>把<CODE>svgalib_helper</CODE>目录移到<CODE>mplayer/main/libdha/svgalib_helper</CODE>.</LI>
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
682 <LI>如果你是从svgalib的站点下载的源代码需要:删掉<CODE>libdha/Makefile</CODE>中包含"svgalib_helper"字符串
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
683 的CFLAGS行前面的注释号。</LI>
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
684 <LI>重新编译安装libdha.</LI>
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
685 </OL>
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
686
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
687
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
688 <H4><A NAME="vidix_ati">2.3.1.2.12.1 ATI显卡</A></H4>
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
689
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
690 <P>目前大部分ATI显卡都实现了本地支持,从Mach64到最新的Radeon。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
691
9268
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
692 <P>编译生成两个二进制文件:用于Radeon的<CODE>radeon_vid</CODE>和用于Rage 128显卡的<CODE>rage128_vid</CODE>。你可以
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
693 强制使用其中一个或者让VIDIX系统自动载入所有可用的驱动。</P>
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
694
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
695
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
696 <H4><A NAME="vidix_matrox">2.3.1.2.12.2 Matrox显卡</A></H4>
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
697
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
698 <P>Matrox G200,G400,G450和G550据报告可以工作。</P>
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
699
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
700 <P>这个驱动支持视频均衡器比且应该几乎和<A HREF="#mga_vid">Matrox帧缓冲</A>一样快。</P>
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
701
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
702
9268
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
703 <H4><A NAME="vidix_trident">2.3.1.12.3 Trident显卡</A></H4>
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
704
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
705 <P>有一个可用于Trident Cyberblade/i1芯片的驱动,它们一般出现在VIA的Epia主板上。</P>
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
706
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
707 <P>这个驱动有Alastair M. Robinson编写并维护,他在他的<A HREF="http://www.blackfiveservices.co.uk/EPIAVidix.shtml">主页</A>上
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
708 提供他的最新版本的驱动下载。这个驱动会很快被加到MPlayer中,所以CVS应该已经包含最新驱动了。</P>
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
709
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
710
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
711 <H4><A NAME="vidix_3dlabs">2.3.1.2.12.4 3DLabs显卡</A></H4>
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
712
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
713 <P>尽管有一个用于3DLabs GLINT R3和Permedia3芯片的驱动,但没有人测试过,所以欢迎报告信息。</P>
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
714
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
715 <H4><A NAME="directfb">2.3.1.2.13 DirectFB</A></H4>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
716
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
717 <P><I>"DirectFB是设计用于嵌入系统的图形库。它能利用最小的资源开销提供最大的硬件加速效果。"</I> -- 引自<A
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
718 HREF="http://www.directfb.org">http://www.directfb.org</A>.</P>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
719
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
720 <P>我在这一部分中将略去DirectFB的特性。</P>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
721
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
722 <P>尽管MPlayer不是DirectFB支持的"video provider",这个输出驱动将开启使用DirectFB的视频播放。这将 --
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
723 当然 -- 实现加速,在我的Matrox G400上DirectFB的速度跟XVideo一样。</P>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
724
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
725 <P>总是尽量使用最新的DirectFB。你可以在命令行中通过使用<CODE>-dfbopts</CODE>选项设置DirectFB的选项。
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
726 层选择可以通过副驱动模式实现,例如:<CODE>-vo
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
727 directfb:2</CODE>(默认使用layer -1:自动选择)</P>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
728
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
729
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
730 <H4><A NAME="dfbmga">2.3.1.2.14 DirectFB/Matrox(dfbmga)</A></H4>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
731
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
732 <P>请阅读<A HREF="#directfb">DirectFB的一般介绍部分</A>来了解概要信息。</P>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
733
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
734 <P>这个视频输出驱动将开启Matrox G400/G450/G550显卡上的CRTC2(第二个接口),显示<B>独立于</B>第一个接口的视频。</P>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
735
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
736 <P>使其工作的方法可以在<A HREF="../tech/directfb.txt">技术部分</A>和直接从Ville Syrjala的<A
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
737 HREF="http://www.sci.fi/~syrjala/directfb/Matrox_TV-out_README.txt">主页</A>获得。</P>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
738
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
739 <P>注意:我们没能让它工作,但是有人做到了。不管怎样,将CRTC2代码移植到<B>mga_vid</B>的工作正在进行中。</P>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
740
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
741 <H4><A NAME="mpegdec">2.3.1.3 MPEG解码器</A></H4>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
742
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
743 <H4><A NAME="dvb">2.3.1.3.1 DVB</A></H4>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
744
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
745 <P>MPlayer支持Siemens,Technotrend,Galaxis或Hauppauge提供的使用Siemens DVB芯片的显卡。
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
746 最新的DVB驱动在<A HREF="http://www.linuxtv.org">Linux TV site</A>。如果你想要软件解码你需要一个至少1GHz的CPU。</P>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
747
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
748 <P>Configure应该能检测到你的DVB显卡。如果它没有,使用下列命令强制使用
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
749
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
750 <PRE>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
751 ./configure --enable-dvb
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
752 </PRE>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
753
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
754 <P>如果你在非标准的路径下有ost头文件,使用下列命令设置路径</P>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
755
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
756 <PRE>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
757 ./configure --with-extraincdir=&lt;DVB source directory&gt;/ost/include
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
758 </PRE>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
759
9268
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
760 <P>然后正常编译安装。</P>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
761
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
762 <H4>使用方法</H4>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
763
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
764 <P>硬件解码(播放标准的MPEG1/2文件)使用下列命令:</P>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
765
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
766 <PRE>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
767 mplayer -ao mpegpes -vo mpegpes file.mpg|vob
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
768 </PRE>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
769
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
770 <P>MPEG1的软件解码或转化为其他格式使用下列命令:</P>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
771
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
772 <PRE>
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
773 mplayer -ao mpegpes -vo mpegpes yourfile.ext
9644
0fe056bdb135 vop -> vf change, small fixes. The Polish documentation should be checked for correctness.
jonas
parents: 9614
diff changeset
774 mplayer -ao mpegpes -vo mpegpes -vf expand yourfile.ext
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
775 </PRE>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
776
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
777 <P>注意到,DVB显卡只支持高度为288或576的PAL格式或者240或480的NTSC格式。你<B>必须</B>对其它的高度进行重新缩放,
9644
0fe056bdb135 vop -> vf change, small fixes. The Polish documentation should be checked for correctness.
jonas
parents: 9614
diff changeset
778 通过在<CODE>-vf</CODE>选项中使用<CODE>scale=width:height</CODE>指定你想要宽度和高度。DVB显卡可以接受多种宽度,
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
779 像720,704,640,512,480,352等等,而且在水平方向上可以硬件缩放,所以大多数情况下你不需要作水平缩放。
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
780 例如对于512x384(宽高比4:3)的DivX使用下列命令:</P>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
781
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
782 <PRE>
9644
0fe056bdb135 vop -> vf change, small fixes. The Polish documentation should be checked for correctness.
jonas
parents: 9614
diff changeset
783 mplayer -ao mpegpes -vo mpegpes -vf scale=512:576
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
784 </PRE>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
785
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
786 <P>如果你使用宽银幕电影而你把它放大到整个屏幕的高度,你可以使用<CODE>expand=w:h</CODE>插件来增加黑带。
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
787 为了看640x384分辨率的DivX,使用下列命令:</P>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
788
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
789 <PRE>
9644
0fe056bdb135 vop -> vf change, small fixes. The Polish documentation should be checked for correctness.
jonas
parents: 9614
diff changeset
790 mplayer -ao mpegpes -vo mpegpes -vf expand=640:576 file.avi
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
791 </PRE>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
792
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
793 <P>如果你的CPU对于播放720x576的DivX太慢,尝试横向缩放:</P>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
794
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
795 <PRE>
9644
0fe056bdb135 vop -> vf change, small fixes. The Polish documentation should be checked for correctness.
jonas
parents: 9614
diff changeset
796 mplayer -ao mpegpes -vo mpegpes -vf scale=352:576,lavc file.avi
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
797 </PRE>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
798
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
799 <P>如果速度没有提高,尝试竖直缩放:</P>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
800
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
801 <PRE>
9644
0fe056bdb135 vop -> vf change, small fixes. The Polish documentation should be checked for correctness.
jonas
parents: 9614
diff changeset
802 mplayer -ao mpegpes -vo mpegpes -vf scale=352:288,lavc file.avi
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
803 </PRE>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
804
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
805 <P>因为OSD和字幕使用OSD插件的扩展特性。因此,不要使用<CODE>expand=w:h</CODE>或者<CODE>expand=w:h:x:y</CODE>,
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
806 使用<CODE>expand=w:h:x:y:1</CODE>(第5个参数<CODE>:1</CODE>将开启OSD渲染)。你也许想要把图象向上移动一点来给
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
807 字幕更大的黑色区域。如果你也想要移动字幕,因为他们可能在你电视屏幕的外面,使用<CODE>-subpos &lt;0-100&gt;</CODE>来
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
808 调整它(<CODE>-subpos 80</CODE>是个不错的选择)。</P>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
809
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
810 <P>为了在PAL电视上播放非25fps的电影或者因为CPU太慢,加上<CODE>-framedrop</CODE>选项。</P>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
811
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
812 <P>为了保持DivX文件的宽高比并获得最理想的缩放参数(硬件水平缩放和软件垂直缩放并且保持正确宽高比),使用最新的dvbscale插件:</P>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
813
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
814 <PRE>
10112
bbf6f508a343 3:4 TV format doesn't exists ;)
nicolas
parents: 9847
diff changeset
815 for 4:3 TV: -vf dvbscale,scale=-1:0,expand=-1:576:-1:-1:1
9644
0fe056bdb135 vop -> vf change, small fixes. The Polish documentation should be checked for correctness.
jonas
parents: 9614
diff changeset
816 for 16:9 TV: -vf dvbscale=1024,scale=-1:0,expand=-1:576:-1:-1:1
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
817 </PRE>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
818
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
819 <H4>将来</H4>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
820
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
821 <P>如果你有使用问题或想要了解特性通告或者参加这个问题的讨论,加入我们的<A
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
822 HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-dvb">MPlayer-DVB</A>的邮件列表。
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
823 请记住列表的语言是英语。</P>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
824
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
825 <P>在未来你可以期待使用DVB显卡的自带OSD特性显示OSD和字幕,还有更流畅的非25fps电影播放和实时的MPEG2和MPEG4转
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
826 换(部分的解压)。</P>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
827
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
828 <H4><A NAME="dxr2">2.3.1.3.2 DXR2</A></H4>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
829
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
830 <P>MPlayer支持使用Creative DXR2卡的硬件加数功能</P>
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
831
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
832 <P>首先你要正确安装DXR2的驱动。你可以在<A HREF="http://dxr2.sourceforge.net/">DXR2资源中心</A>这个站点找到驱动和
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
833 安装方法。</P>
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
834
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
835 <H4>用法</H4>
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
836 <DL>
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
837 <DT><CODE>-vo dxr2</CODE></DT>
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
838 <DD>启动TV输出</DD>
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
839 <DT><CODE>-vo dxr2:x11</CODE>或<CODE>-vo dxr2:xv</CODE></DT>
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
840 <DD>启动X11的叠加输出</DD>
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
841 <DT><CODE>-dxr2 &lt;option1:option2:...&gt;</CODE></DT>
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
842 <DD>这个选项用来控制DXR2驱动</DD>
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
843 </DL>
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
844
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
845 <P>DXR2使用的叠加芯片质量很差但它默认的设置应该对所有人都适用。OSD可能可以通过使用colorkey的绘制方法在叠加(不能
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
846 用于TV)输出中实现。使用默认的colorkey设定你可能获得各种效果,一般情况下你可能看到colorkey环绕在字符周围或者其它
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
847 可笑的效果。但只要你适当的调节colorkey的设定你应该可以获得可接受的效果。</P>
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
848
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
849 <P>默认选项参见manpage。</P>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
850
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
851 <H4><A NAME="dxr3">2.3.1.3.3 DXR3/Hollywood+</A></H4>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
852
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
853 <P>MPlayer支持Creative DXR3和Sigma Designs Hollywood Plus卡的硬件加速播放。这些卡都使用SigmaDesigns的
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
854 em8300 MPEG解码芯片</P>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
855
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
856 <P>首先,你将需要正确地安装DXR3/H+的驱动,版本至少0.12.0或者更新的。你能在<A
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
857 HREF="http://dxr3.sourceforge.net/">DXR3 &amp; Hollywood Plus for Linux</A>的站点找到驱动和安装指导。Configure应该自动检测到你的显卡,
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
858 编译应该没有任何问题。</P>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
859
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
860 <H4>用法</H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
861
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
862 <DL>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
863 <DT><CODE>-vo dxr3:prebuf:sync:norm=x:&lt;device&gt;</CODE></DT>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
864 <DD><CODE>overlay</CODE>激活overlay而不是电视输出。你必须有一个正确配置的的overlay设置来正常工作。最简单的配置overlay
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
865 的方法是先运行autocal。然后运行mplayer使用dxr3输出而不打开overlay,运行dxr3view。在dxr3view中你可以调整overlay设置
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
866 并实时看到效果,可能这个特性在将来会被MPlayer的GUI支持。当正确设置了overlay之后你就不再需要dxr3view了。<BR>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
867 <CODE>prebuf</CODE>打开预缓冲。预缓冲是em8300的一个特性,是它可以同时处理一帧以上的视频。这表示当你开启
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
868 预缓冲(默认的)运行时,MPlayer将试图保持视频缓冲区里面总是填满数据的。如果你是用的一台比较慢的机器MPlayer
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
869 大概会占用接近100%的CPU。这在你播放纯MPEG流(例如DVD,SVCD之类)的时候尤其明显,因为MPlayer不需要把它重新编码成
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
870 MPEG所以他会以很高的速度填充缓冲区。<BR>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
871 当不用预缓冲运行时em8300对CPU的占用率十分敏感,所以建议你打开MPlayer的<CODE>-framedrop</CODE>选项来防止进一步
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
872 的不同步<BR>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
873 <CODE>sync</CODE>将打开新的同步机制。这个目前是一个试验性的特性。打开这个同步特性后em8300的内部时钟将时钟被监视,
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
874 如果它开始偏离MPlayer的时钟它将被重新设置从而导致丢掉任何滞后的帧。<BR>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
875 <CODE>norm=x</CODE>用来设置DXR3卡的电视制式而避免使用em8300setup之类的外部工具。可用的制式有5 = NTSC,4 = PAL-60,
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
876 3 = PAL。特别的制式是2(自动选择使用PAL/PAL-60)和1(自动选择使用PAL/NTSC)因为他们通过测试电影的帧速率来决定是哪个制式。
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
877 norm = 0(默认的)不改变现在的制式。<BR>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
878 <CODE>&lt;device&gt;</CODE> = 使用的设备号如果你有超过一块em8300显卡。
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
879 <BR>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
880 任何这些选择都可以被省略<BR>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
881 <CODE>:prebuf:sync</CODE>在播放DivX电影时似乎工作的很好。有人报告过在播放MPEG1/2文件时用<CODE>prebuf</CODE>选项有问题。
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
882 你可能会先尝试不加任何参数,如果你遇到同步的问题,或者DVD字幕的问题,试试<CODE>:sync</CODE>。</DD>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
883
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
884 <DT><CODE>-ao oss:/dev/em8300_ma-X</CODE></DT>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
885 <DD>音频输出,在其中<CODE>X</CODE>是设备号(为0如果只有一块显卡)。</DD>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
886
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
887 <DT><CODE>-aop list=resample:fout=xxxxx</CODE></DT>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
888 <DD>em8300不能工作在采样率低于44100Hz的情况。如果采样率在44100Hz之下,在44100Hz和48000Hz中选择最接近的一个。
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
889 例如对使用22050Hz的电影,因为44100Hz/2 = 22050,所以使用44100Hz,如果是24000Hz就使用48000Hz,因为48000Hz/2 = 24000如此等等。
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
890 这对于数字音频输出不起作用(<CODE>-ac hwac3</CODE>)。</DD>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
891
9644
0fe056bdb135 vop -> vf change, small fixes. The Polish documentation should be checked for correctness.
jonas
parents: 9614
diff changeset
892 <DT><CODE>-vf lace/fame</CODE></DT>
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
893 <DD><B>(自动插入)</B>要在em8300上观看非MPEG的内容(例如DivX或者RealVideo)你必须设置一个libavcodec(lavc)或者libfame(fame)之类的MPEG1视频滤镜
9644
0fe056bdb135 vop -> vf change, small fixes. The Polish documentation should be checked for correctness.
jonas
parents: 9614
diff changeset
894 目前lavc有更好的速度还有更高的图像质量,除非你使用时遇到问题,建议你使用他。<CODE>-vf lavc/fame</CODE>的进一步的信息可以
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
895 参考man page。<BR>
9644
0fe056bdb135 vop -> vf change, small fixes. The Polish documentation should be checked for correctness.
jonas
parents: 9614
diff changeset
896 强烈推荐使用lavc。目前没有办法设置em8300的fps,这表示它将固定在29.97fps。因为这个强烈推荐你使用<CODE>-vf
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
897 lavc=&lt;quality&gt;:25</CODE>,特别是当你使用prebuffering的时候。那么为什么是25而不是29.97?嗯,原因是当使用29.97
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
898 的时候图像有一些跳跃。目前我们还不知道原因。如果你把它设置成25到27之间的值是图像就稳定了。目前我们能做的就是接受这个事实。</DD>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
899
9644
0fe056bdb135 vop -> vf change, small fixes. The Polish documentation should be checked for correctness.
jonas
parents: 9614
diff changeset
900 <DT><CODE>-vf expand=-1:-1:-1:-1:1</CODE></DT>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
901 <DD>尽管DXR3的驱动能把一些OSD放到MPEG1/2/4的视频上,它比MPlayer的传统的OSD的质量差的多,并且还有一些刷新的问题。
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
902 上面的命令行将先把输入的视频转换成MPEG4(这是必须的,对不起),然后使用一个扩展滤镜,不进行任何缩放(-1:默认值),只是把正常的OSD
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
903 放到图像上(最后的那个"1"的作用)。</DD>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
904
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
905 <DT><CODE>-ac hwac3</CODE></DT>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
906 <DD>em8300支持使用芯片的数字音量输出来播放AC3音频(环绕音效)。阅读<A HREF="codecs.html#hardware_ac3">硬件AC3</A>来了解AC3的
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
907 更进一步的信息</DD>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
908 </DL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
909
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
910
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
911 <H4><A NAME="other">2.3.1.4 其他可视硬件</A></H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
912
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
913 <H4><A NAME="zr">2.3.1.4.1 Zr</A></H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
914
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
915 <P>这是用于那些MJPEG视频捕捉/播放卡(经过DC10+和Buz的测试,对LML33,DC10应该也能工作)的显示驱动(<CODE>-vo zr</CODE>)。
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
916 驱动通过把每帧图像编码成为jpeg格式和然后把它发送到显卡来工作。在jpeg编码时要使用<B>libavcodec</B>,而且必须使用。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
917 用特殊的<I>cinerama</I>模式,你可以通过两个投影仪和两块MJPEG卡用真正的宽银幕方式观看电影。根据分辨率和质量的设置,这个
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
918 驱动可能要求极强的CPU处理能力,如果你的机器太慢的话记住使用<CODE>-framedrop</CODE>,注意:我的AMD K6-2 350MHz(加上
9268
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
919 <CODE>-framedrop</CODE>选项)足够看VCD尺寸的东西和经过缩小的电影。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
920
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
921 <P>这个驱动需要一个内核驱动,可以在<A HREF="http://mjpeg.sourceforge.net">http://mjpeg.sourceforge.net</A>找到,
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
922 你必须先让它工作。MJPEG卡的存在能被configure脚本自动检测到,如果自动检测失败,用这个命令强制检测
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
923
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
924 <PRE>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
925 ./configure --enable-zr
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
926 </PRE>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
927
9268
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
928 <P>驱动的输出可以用一些选项设置,在man page里面可以找到一份长长的可用选项的描述,一个比较短的选项列表可以运行这个命令获得</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
929
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
930 <PRE>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
931 mplayer -zrhelp
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
932 </PRE>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
933
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
934
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
935 <P>缩放和OSD (on screen display)这类功能这个驱动不能处理,但可以用视频滤镜来完成,例如你有一个分辨率是<CODE>512x272</CODE>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
936 的电影,而你希望用你的DC10+用全屏幕观看,主要有三种可能的方法,你可以把电影宽度缩放到<CODE>768</CODE>,<CODE>384</CODE>,
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
937 或者<CODE>192</CODE>。考虑到运行速度和质量的原因,我会选择使用快速二次线型软件缩放滤镜把电影缩放到<CODE>384x204</CODE>。
9268
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
938 命令行是这样的</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
939
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
940 <PRE>
9644
0fe056bdb135 vop -> vf change, small fixes. The Polish documentation should be checked for correctness.
jonas
parents: 9614
diff changeset
941 mplayer -vo zr -sws 0 -vf scale=384:204 movie.avi
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
942 </PRE>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
943
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
944 <P>画面的切割可以用<CODE>crop</CODE>滤镜也可以用驱动自己完成。假设电影太宽了,在你的机器上显示不了,那么你会想要用
9268
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
945 <CODE>-zrcrop</CODE>来切割电影的宽度,那么你应该输入下面的命令</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
946
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
947 <PRE>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
948 mplayer -vo zr -zrcrop 720x320+80+0 benhur.avi
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
949 </PRE>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
950
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
951 如果你想要使用<CODE>crop</CODE>滤镜,你可以运行
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
952
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
953 <PRE>
9644
0fe056bdb135 vop -> vf change, small fixes. The Polish documentation should be checked for correctness.
jonas
parents: 9614
diff changeset
954 mplayer -vo zr -vf crop=720:320:80:0 benhur.avi
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
955 </PRE>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
956
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
957 <P>多个<CODE>-zrcrop</CODE>就会调用<I>cinerama</I>模式,你可以把电影投射到几个电视或者投影仪上来制造一个大银幕,设想你有
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
958 两个投影仪,左边那个连到你的机器的<CODE>/dev/video1</CODE>而右边那个连到你的机器的<CODE>/dev/video0</CODE>上的DC10+上,
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
959 电影的分辨率是<CODE>704x288</CODE>,同时假设你希望右边的投影仪显示黑白效果而右边的投影仪显示的用质量<CODE>10</CODE>来显示jpeg帧
9268
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
960 那么你需要使用下列命令:</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
961
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
962 <PRE>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
963 mplayer -vo zr -zrdev /dev/video0 -zrcrop 352x288+352+0 -zrxdoff 0 -zrbw \
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
964 -zrcrop 352x288+0+0 -zrdev /dev/video1 -zrquality 10 movie.avi
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
965 </PRE>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
966
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
967 <P>你发现在第二个<CODE>-zrcrop</CODE>之前出现的选项只作用于DC10+,而第二个<CODE>-zrcrop</CODE>之后的选项作用于你的机器。
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
968 在<I>cinerama</I>中能使用的MJPEG卡最多为4块,所以你可以制作一片<CODE>2x2</CODE>的视频墙</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
969
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
970 <P>最后还有一个重要的注意事项:不要在播放期间在播放设备上启动或停止XawTV,它将导致你的计算机崩溃。然而,<B>首先</B>启动XawTV,
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
971 <B>然后</B>启动MPlayer,等MPlayer播放结束,<B>然后</B>停止XawTV是没有问题的。</P>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
972
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
973 <H4><A NAME="blinken">2.3.1.4.2 Blinkenlights</A></H4>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
974
9268
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
975 <P>这个驱动可以使用Blinkenlights UPD兼容协议播放。如果你不知道<A
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
976 HREF="http://www.blinkenlights.de/">Blinkenlights</A>是什么,你就不需要这个驱动。</P>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
977
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
978 <H4><A NAME="tv-out">2.3.1.5 电视输出支持</A></H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
979
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
980
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
981 <H4><A NAME="tv-out_matrox">2.3.1.5.1 Matrox G400显卡</A></H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
982
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
983 <P>在Linux下你有2种方法使G400的电视输出工作:</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
984
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
985 <P><B>重要提示:</B>对于Matrox G450/G550的电视输出方法看下一节!
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
986
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
987 <UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
988 <LI><B>XFree86</B>:使用能在<A HREF="http://www.matrox.com">Matrox的站点</A>获得的驱动和HAL模块。这将在电视上实现X。
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
989 <BR><B>这种方法不给你加速播放</B>,不像Windoze! 第二个输出头只有YUV帧缓冲,<I>BES</I>(Back End Scaler,在G200与G400与G450与
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
990 G550显卡上的YUV缩放)无法用于它!windows的驱动以某种方式解决了这个问题,有可能是通过使用3D引擎来缩放,并用YUV帧缓冲显示图像。
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
991 如果你确实想要使用X,使用<CODE>-vo x11 -fs -zoom</CODE>选项,但这将<B>十分缓慢</B>,而且会开启<B>Macrovision</B>版权保护
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
992 (你能使用<A HREF="http://avifile.sourceforge.net/mgamacro.pl">这个</A>perl脚本绕过Macrovision。</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
993 <LI><B>帧缓冲</B>:在2.4的内核中可以使用<B>matroxfb模块</B>而2.2的内核中没有电视输出的特性,所以对它是没有用的。
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
994 你必须在编译时开启所有与matroxfb相关的特性(除了MultiHead之外),并且把他们全部编译成<B>模块</B>! 你还需要开启I2C功能。
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
995 <OL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
996 <LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
997 进入<CODE>TVout/matroxset</CODE>然后运行<CODE>make</CODE>。把<CODE>matroxset</CODE>安装到你的PATH中的某个地方。</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
998 <LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
999 如果你没有装<CODE>fbset</CODE>,进入<CODE>TVout/fbset</CODE>然后运行<CODE>make</CODE>。把<CODE>fbset</CODE>安装到你的PATH中的某个地方。</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1000 <LI>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1001 然后进入到MPlayer源码目录中的<CODE>TVout/</CODE>子目录,以root执行<CODE>./modules</CODE>。
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1002 你的文本模式的控制台将进入到帧缓冲模式(没有方法改回来!)。</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1003 <LI>下一步,修改并运行<CODE>./matroxtv</CODE>脚本。这将给你提供一个十分简单的菜单。按<B>2</B>和<B>ENTER</B>。现在你的显示器和电视上应该有一样的图像。
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1004 如果电视(默认PAL)图画有些奇怪的条纹,脚本不能够正确地设置分辨率(使用缺省的640x512)。试试菜单里的其他分辨率或者/和试试fbset。</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1005 </OL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1006
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1007 <P>Yoh。接着的任务是使tty1上的光标(或者别的什么)消失,和关闭屏幕抑制显示。执行下列的命令:</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1008
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1009 <P><CODE>echo -e '\033[?25l'</CODE>或者<CODE>setterm -cursor off<BR>setterm -blank 0</CODE></P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1010
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1011 <P>你可能想把上述内容脚本,同时也清屏.. 让光标出现的命令是:<BR><CODE>echo -e '\033[?25h'</CODE>或者<CODE>setterm -cursor on</CODE></P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1012
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1013 <P>Yeah kewl。用<CODE>mplayer -vo mga -fs -screenw 640 -screenh 512 &lt;filename&gt;</CODE>来播放电影<BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1014 (如果你正在使用X,用CTRL-ALT-F1之类的快捷键换成matroxfb!)<BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1015 分辨率换成640x512如果你用的不是这个分辨率。<BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1016 <B>享受超快超多特性的Matrox电视输出(比Xv还要好)!</B></P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1017 </LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1018 </UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1019
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1020 <H4>制作一个Matrox电视输出线</H4>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1021
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1022 <P><B>G400的电缆线</B>:CRTC2连接器的第4根针是复合视频信号. 基线是第6,第7和第8根针。(Bal醶s R醕z提供信息)</P>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1023
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1024 <P><B>G400的电缆线</B>:CRTC2连接器的第1根针是复合视频信号. 基线是第5,第6,第7和第15根针。(Bal醶s R醕z提供信息)</P>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1025
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1026 <H4><A NAME="tv-out_matrox_g450">2.3.1.5.2 Matrox G450/G550显卡</A></H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1027
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1028 <P>这些显卡的电视输出支持最近刚被引入,而且还没有进入内核的主流。据我所知目前不能使用<B>mga_vid</B>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1029 因为G450/G550的驱动只能工作在一种配置下面:第一个CRTC芯片(有更多特性)接第一个display(显示器),第二个
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1030 CRTC(没有<B>BES</B> -- BES的解释看上面G400的部分)接电视上,所以你目前只能使用MPlayer的
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1031 <I>fbdev</I>的输出设备。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1032
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1033 <P>目前第一个CRTC不能传送到第二个头。内核的matroxfb驱动的作者 -- Petr Vandrovec -- 可能正在努力支持
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1034 它,使用把第一个CRTC的输出同时显示在两个头上的方法,像目前G400推荐的一样,看上面的部分。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1035
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
1036 <P>需要的内核补丁和howto的细节可以从<A
9847
a9055db95779 url update, reported by Dan Eriksen
nicolas
parents: 9644
diff changeset
1037 HREF="http://www.bglug.ca/matrox_tvout">http://www.bglug.ca/matrox_tvout</A>下载。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1038
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
1039 <H4><A NAME="tv-out_ati">2.3.1.5.3 ATI显卡</A></H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1040
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
1041 <H4>引言</H4>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1042 <P>ATI目前不想对他的任何一种电视输出芯片提供Linux下的支持,由于他们授权的Macrovision技术。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1043
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
1044 <H4>ATI显卡在Linux上电视输出的支持情况</H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1045
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1046 <UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1047 <LI><B>ATI Mach64 </B>:<A HREF="http://gatos.sf.net">gatos</A>支持。</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1048 <LI><B>ASIC Radeon VIVO </B>:<A HREF="http://gatos.sf.net">gatos</A>支持。</LI>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1049 <LI><B>Radeon</B>和<B>Rage128</B>:MPlayer支持!查阅<a href="#vesa">VESA驱动</a>和<A HREF="#vidix">VIDIX</A>两节。</LI>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1050 <LI><B>Rage Mobility P/M, Radeon, Rage 128, Mobility M3/M4</B>:<A
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1051 HREF="http://www.stud.uni-hamburg.de/users/lennart/projects/atitvout/">atitvout</A>支持。
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1052 </UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1053
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1054 <P>在其它显卡上,只能使用<a href="#vesa">VESA驱动</a>,没有VIDIX可用。但需要强大的CPU。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1055
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1056 <P>你唯一需要做的事情 -- <B>在启动你的电脑之前插上电视连接器的插头</B>因为视频BIOS只在自举期间初始化一次。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1057
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1058
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
1059 <H4><A NAME="tv-out_voodoo">2.3.1.5.4 Voodoo 3</A></H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1060
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1061 <P>查阅<A HREF="http://www.iki.fi/too/tvout-voodoo3-3000-xfree">这个网址</A>。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1062
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1063 <H4><A NAME="tv-out_nvidia">2.3.1.5.5 nVidia</A></H4>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1064
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1065 <P>首先,你必须从<A HREF="http://nvidia.com">http://nvidia.com</A>下载封闭源码的驱动,我不会描述安装和配置的过程因为
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1066 它不属于这篇文档的范围。</P>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1067
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1068 <P>当XFree86, XVideo, 和3D加速都正常工作之后,根据下面的例子(改写成适合你的显卡/电视)编辑你的<CODE>XF86Config</CODE>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1069 中你的显卡的Device部分:</P>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1070
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1071 <PRE>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1072 Section "Device"
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1073 Identifier "GeForce"
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
1074 VendorName "ASUS"
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1075 BoardName "nVidia GeForce2/MX 400"
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1076 Driver "nvidia"
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1077 #Option "NvAGP" "1"
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
1078 Option "NoLogo"
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1079 Option "CursorShadow" "on"
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1081 Option "TwinView"
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1082 Option "TwinViewOrientation" "Clone"
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1083 Option "MetaModes" "1024x768,640x480"
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
1084 Option "ConnectedMonitor" "CRT, TV"
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1085 Option "TVStandard" "PAL-B"
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1086 Option "TVOutFormat" "Composite"
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1087
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1088 EndSection
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1089 </PRE>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1090
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1091 <P>当然关键是TwinView部分。</P>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
1092
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1093 </BODY>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1094 </HTML>