<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<LINK REL="stylesheet" TYPE="text/css" HREF="../default.css">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
</HEAD>
<BODY>
<H3><A NAME=2.3.1>2.3.1 Video kimeneti eszközök</A></H3>
<H4><A NAME=mtrr>2.3.1.1 MTRR</A></H4>
<P>Nagyon ajánlott az MTRR helyes beállítása, mert minden esetben
sebességnövekedést eredményez.</P>
<P>Nézd meg a <CODE>/proc/mtrr</CODE> file tartalmát :</P>
<P><CODE>
--($:~)-- cat /proc/mtrr<BR>
reg00: base=0xe4000000 (3648MB), size= 16MB: write-combining, count=9<BR>
reg01: base=0xd8000000 (3456MB), size= 128MB: write-combining, count=1<BR>
</CODE></P>
<P>Helyes, ott látszik a Matrox G400-am 16Mb memóriája. Ezt a parancsot
XFree 4.x.x alól adtam ki, ami automatikusan beállítja az MTRR-t.</P>
<P>Ha nálad nem sikerül neki, kézzel kell beállítani. Először a báziscímet kell
megkeresni. Erre van 3 módszer :</P>
<UL>
<LI>az X11 induló üzeneteiből, például :
<CODE>(--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000<BR>
(--) SVGA: Linear framebuffer at 0xD8000000</CODE></LI>
<LI>a /proc/pci-ből (használd az lspci -v parancsot):
<CODE>01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525</CODE><BR>
<CODE>Memory at d8000000 (32-bit, prefetchable)</CODE></LI>
<LI>from mga_vid kernel driver messages (use dmesg):
<CODE>mga_mem_base = d8000000</CODE></LI>
</UL>
<P>Ezután kell a memória mérete is. Csak át kell konvertálni a video ram
méretét hexadecimálisba, pl így:</P>
<TABLE BORDER=0>
<TR><TD> </TD><TD>1 MB</TD><TD WIDTH=10%></TD><TD>0x100000</TD></TR>
<TR><TD></TD><TD>2 MB</TD><TD></TD><TD>0x200000</TD></TR>
<TR><TD></TD><TD>4 MB</TD><TD></TD><TD>0x400000</TD></TR>
<TR><TD></TD><TD>8 MB</TD><TD></TD><TD>0x800000</TD></TR>
<TR><TD></TD><TD>16 MB</TD><TD></TD><TD>0x1000000</TD></TR>
<TR><TD></TD><TD>32 MB</TD><TD></TD><TD>0x2000000</TD></TR>
</TABLE>
<P>Már tudjuk a címet és a méretet, már csak a beállítás hiányzik!
Például a fenti Matrox kártyához (base=0xd8000000), 32mega memóriával
(size=0x2000000) ezt kell beírni:</P>
<P><CODE>echo "base=0xd8000000 size=0x2000000 type=write-combining" >| /proc/mtrr</CODE></P>
<P>Nem minden CPU támogatja az MTRR-eket. Például régebbi K6/2-k (266Mhz
körül, stepping 0) nem, de stepping 12-esek igen (<CODE>cat /proc/cpuinfo
megadja a stepping értékét</CODE>).</P>
<H4><A NAME=normal>2.3.1.2. Video kimenetek szabvány videokártyákra</A></H4>
<H4><A NAME=xv>2.3.1.2.1 Xv</A></H4>
<P>XFree86 4.0.2 vagy újabb alatt használhatod a kártyád hardveres YUV
rutinjait, az XVideo kiterjesztéssel. Ezt használja a '-vo xv' opció.
Ez a meghajtó támogat fényerő/kontraszt/stb állitást is (a régi és lassú
DirectShow-os DivX codec ezt más video meghajtóknál is lehetővé teszi),
lásd a manpage-t.</P>
<P>Hogy működjön, a következő feltételeknek kell teljesülniük :</P>
<UL>
<LI>XFree86 4.0.2 vagy újabb kell (előző verziókban nincs XVideo)</LI>
<LI>A kártyádnak tudnia kell hardveres gyorsítást (a mai kártyák tudják)</LI>
<LI>Az X-nek be kell töltenie az XVideo kiterjesztést, valahogy így néz ki:
<CODE> (II) Loading extension XVideo</CODE>
a /var/log/XFree86.0.log file-ban.<BR>
<BR>
Megj.: ez csak az XFree86 kiterjesztését tölti be. Egy rendes installban
ez az alap, és nem azt jelenti, hogy a _kártyád_ XVideo támogatása
töltődött be!</LI>
<LI>A kártyád Linuxos drivere támogatja-e az Xv-t. Ezt az 'xvinfo'-val lehet
megnezni, ez pedig az XFree86 disztribúció része. Egy hosszú szöveget
kell hogy kiírjon, hasonlót ehhez:
<PRE>
X-Video Extension version 2.2
screen #0
Adaptor #0: "Savage Streams Engine"
number of ports: 1
port base: 43
operations supported: PutImage
supported visuals:
depth 16, visualID 0x22
depth 16, visualID 0x23
number of attributes: 5
(...)
Number of image formats: 7
id: 0x32595559 (YUY2)
guid: 59555932-0000-0010-8000-00aa00389b71
bits per pixel: 16
number of planes: 1
type: YUV (packed)
id: 0x32315659 (YV12)
guid: 59563132-0000-0010-8000-00aa00389b71
bits per pixel: 12
number of planes: 3
type: YUV (planar)
(...stb...)
</PRE>
Támogatnia kell a YUY2 packed, YV12 planar pixelformátumokat, hogy
használható legyen az <B>MPlayer</B>-rel.</LI>
<LI>És végül, hogy az <B>MPlayer</B> tartalmazza-e az 'xv' támogatást.
./configure kiírja.</LI>
</UL>
<H4><A NAME=xv_3dfx>2.3.1.2.1.1 3dfx kártyák</A></H4>
<P>Régebbi 3dfx meghajtóknak problémái vannak az XVideo gyorsítással,
nem támogatták a YUY2-t vagy YV12-t, ésígytovább. Ellenőrizd hogy az
XFree86-od verziója 4.2.0 vagy újabb-e! Az előzőek fagynak YV12-től.
Ha furcsa effekteket észlelsz -vo xv-vel, próbáld ki az SDL meghajtót
(annak is van XVideo támogatása), az segíthet. Nézd meg a <A HREF="#sdl">2.3.1.4-es</A>
fejezetet a részletekhez.</P>
<P><B>VAGY</B> inkább használd az ÚJ -vo tdfxfb meghajtót! Lásd
<A HREF=#2.3.1.9>2.3.1.9-es</A> fejezet.</P>
<H4><A NAME=xv_s3>2.3.1.2.1.2 S3 kártyák</A></H4>
<P>S3 Savage3D-knek működniük kell, de Savage4-hez 4.0.3-as de inkább újabb
XFree86 kell (ha bajok vannak a képpel, próbáld meg 16bpp-n). S3 Virge-re vonatkozólag..
van Xv támogatás hozzá, de a kártya maga elég lassú szoval jobb ha
eladod.</P>
<P><B>Megj</B>.: jelenleg nem tisztázott, hogy mely Savage modellek csinálják
az YV12 támogatást a meghajtójuk segítségével, szoftverből (lassú). Ha
gyanakszol a kártyádra, próbálj egy újabb meghajtót, vagy udvariasan
érdeklődj az mplayer-users listán egy MMX/3DNow-képes meghajtóról.</P>
<H4><A NAME=xv_nvidia>2.3.1.2.1.3 nVidia kártyák</A></H4>
<P>nVidia nem túl jó választás Linux alá.. A bináris, zárt forráskódú nVidia
meghajtót kell használnod, ami az nVidia honlapjáról tölthető le. A szabvány
XFree86 meghajtó nem tartalmaz XVideo támogatást ezekhez a kártyákhoz, mivel
az nVidia nem adja ki a specifikációikat.</P>
<P>Úgy tudom a legújabb XFree86 meghajtó már tartalmaz XVideo gyorsítást
a Geforce 2-es és 3-as kártyákhoz.</P>
<UL><LI>Riva128-as kártyáknak még az nVidia meghajtóval se lesz XVideo-juk :(
Panaszkodj az nVidiának.</LI></UL>
<H4><A NAME=xv_ati>2.3.1.2.1.4 ATI kártyák</A></H4>
<UL>
<LI>A <A HREF="http://gatos.sf.net">GATOS meghajtó</A> (amit
ajánlott használni, hacsak nem Rage128-ad vagy Radeon-od van mivel az
<B>MPlayer</B> ezekhez sokkal jobb, beépített támogatást nyújt)
alapállapotban bekapcsolt VSYNC-et tartalmaz. Ez azt jelenti, hogy a
dekódolási sebesség (!) hozzá van szinkronizálva a monitor frissítési
frekvenciájához. Ha a lejátszás lassúnak tűnik, próbáld meg valahogy
kikapcsolni a VSYNC-et, vagy állítsd a képfrissítést n*(a film fps
|