Added (sigh, reHTMLized;)) Nick's VIDIX patch

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4200 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
gabucino 2002-01-16 17:12:20 +00:00
parent 576095dfb9
commit a2402dd014
4 changed files with 218 additions and 4 deletions

View File

@ -113,6 +113,7 @@
<LI><A HREF="video.html#2.3.1.12">2.3.1.12 VESA - megjelenítés a VESA BIOS segítségével</A></LI>
<LI><A HREF="video.html#2.3.1.13">2.3.1.13 X11</A></LI>
<LI><A HREF="video.html#2.3.1.14">2.3.1.14 Rage128 (Pro) és Radeon video overlay (radeon_vid)</A></LI>
<LI><A HREF="video.html#2.3.1.15">2.3.1.15 Vidix</A></LI>
<LI><A HREF="video.html#2.3.1.A">2.3.1.A TV kimenet</A></LI>
<UL>
<LI><A HREF="video.html#2.3.1.A.1">2.3.1.A.1 Matrox</A></LI>

View File

@ -49,6 +49,13 @@
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif"
size=2><a href=#2.3.1.12>vesa</a></TD><TD></TD><TD><FONT face="Verdana, Arial
Helvetica, sans-serif" size=2>Kimenet VESA BIOS-ok segítségével.</TD><TR>
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif"
size=2><a href=#2.3.1.15>vidix</a></TD><TD></TD><TD><FONT face="Verdana, Arial
Helvetica, sans-serif" size=2>VIDeo Interface for *niX (ez nem egy valós
meghajtó, hanem a VIDIX leírása)</TD><TR>
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif"
size=2><a href=#2.3.1.15>xvidix</a></TD><TD></TD><TD><FONT face="Verdana, Arial
Helvetica, sans-serif" size=2>VIDIX, X ablakban</TD><TR>
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif"
size=2>directfb</a></TD><TD></TD><TD><FONT face="Verdana, Arial
Helvetica, sans-serif" size=2>Direct Framebuffer Device</TD><TR>
@ -867,6 +874,102 @@ egyid
küldj patchet.</P>
<P><B><A NAME=2.3.1.15>2.3.1.15. VIDIX</A></B></P>
<P><B><I>MI IS AZ A VIDIX ?</I></B></P>
<P>A VIDIX a <B>VID</B>eo <B>I</B>nterface for *ni<B>X</B> szavak rövidítése.
A VIDIX tervezésekor a cél egy - néhány userspace meghajtót egységbe fogó -
interface létrehozása volt, ezáltal - az X11-től eltérően - mindenhol
elérhetővé tenni a DGA-t, ahol ez lehetséges. Remélem hogy ezek a meghajtók
legalább annyira portolhatóak lesznek mint az X11 (<B>és nem csak
*nix-okon</B>).<BR>
Amiből áll:
<LI>Portolható utódja az mga_vid technológiának, de userspace-ben helyezkedik
el.</LI>
<LI>Az X11-től eltérően mindenhol elérhető vele a DGA, ahol csak
lehetséges</LI>
<LI>A v4l-től eltérően interface-t nyújt a videok lejátszására is</LI>
<LI>Más Linuxos meghajtóktól eltérően matematikai libraryt használ</LI>
</P>
<P>És ilyen szép nagy betűkkel :<BR>
<B>A VIDIX KÖZVETLEN HOZZÁFÉRÉST NYÚJT A KÁRTYA BES YUV MEMÓRIÁJÁHOZ.</B>
</P>
<P>Ez az interface a meglévő meghajtókat (amik mga_vid, mga_yuv, radeon_vid
neveken ismertek) egy fix keretbe foglalja. Továbbá magas szintű interface-t
nyújt a BES (BackEnd Scaler) vagy OV (Video Overlay) chip-ek eléréséhez.
Nincs benne viszont alacsonyszintű interface a grafikus szerverekhez
hasonlóan (nem akarok az X11-gyel versengeni). A jövőben el tudok képzelni
valami olyasmit mint egy mini-X (nem összekeverendő a Minix-szel ;), ha
elegendően jelentkeznek.
</P>
<P><B><I>HASZNÁLAT</I></B></P>
<P>
<LI>Használható például közvetlenül: <CODE>-vo xvidix</CODE><BR>
Ez a meghajtó csak X alatt használható, es egyfajta frontend a VIDIX
technológiához.</LI>
<LI>A VIDIX használható alegységként is, más ismert kimeneteken keresztül,
például :<BR>
<CODE>-vo vesa:vidix</CODE> vagy <CODE>-vo fbdev:vidix</CODE></LI>
A <B>VIDIX</B> számára mindez teljesen lényegtelen.
</P>
<P><B><I>SZÜKSÉGES</I></B></P>
<P>
<LI>Hogy a videokártya grafikus módban legyen (bár megnéztem szöveges
módban is.. hát elég rettenetes ;) arra AAlib való).<BR>
<I>Megjegyzés: ez kipróbálható, csak a vo_vesa meghajtóban kell
kikommentezni a grafikus módba váltó sort.</I></LI>
<LI>Az <B>MPlayer</B> választott video kimeneti meghajtójának tudnia kell
a használt képernyő méreteiről, és ezt el is kell mondania a VIDIX
almeghajtónak.</LI>
Remélem hogy hamarosan az összes meghajtó el fogja fogadni a <CODE>:vidix</CODE>
almeghajtót.
</P>
<P><B><I>VARIÁCIÓK A HASZNÁLATRA</I></B></P>
<P>Amikor a VIDIX-et almeghajtóként használod, a tulajdonképpeni konfigurálást
maga a "fő" meghajtó végzi (rövidebben a vo_server). Így használhatod
azokat az opciókat is, amiket VIDIX nélkül is használhattál. Plusz,
értelmezi a <CODE>-double</CODE> opciót (a használata ajánlott, legalábbis
az ATI kártyákhoz).<BR>
A <CODE>-vo xvidix</CODE> opció jelenleg a következő opciókat ismeri fel :
<CODE>-fs -zoom -x -y</CODE>.<BR>
</P>
<P>Továbbá, lehetséges átugrani az autodetektálást, a kívánt VIDIX
meghajtó harmadik opcióként történő megadásával :<BR>
<BR>
&nbsp;&nbsp;<code>mplayer -vo xvidix:mga_vid.so -fs -zoom -double
file.avi</code><BR>
vagy<BR>
&nbsp;&nbsp;<code>mplayer -vo vesa:vidix:radeon_vid.so -fs -zoom -double -bpp
32 file.avi</code><BR>
<BR>
Viszont ez elég veszélyes, mivel ilyenkor mindenképp a megadott meghajtó
lesz betöltve, és előre nem látható következményekhez vezethet, akár
lefagyáshoz is. A helyes módszer az, amikor a VIDIX autodetektál.
</P>
<P>
A VIDIX nagyon új technológia, és nagyon valószínű hogy a Te rendszereden
(számunkra ismeretlen OS, stb) nem fog működni. Ilyenkor az egyetlen
lehetőség, ha átportolod (főleg a libdha-t). Nagyon valószínű hogy a VIDIX
minden olyan rendszeren működőképes, ahol az X11.</P>
<P>És egy utolsó figyelmezetetés: sajnos/szerencsére a VIDIX <B>CSAK ROOT</B>
jogosultsággal elérhető, mivel közvetlen hardveres hozzáférésre van
szükség. A minimum, hogy a <B>suid</B> bitet bebillented az <B>MPlayer</B>
binárison.
</P>
<P><B><A NAME=2.3.1.A>2.3.1.A. TV kimenet</A></B></P>
<P><B><A NAME=2.3.1.A.1>2.3.1.A.1. Matrox kártyák</A></B></P>
@ -976,8 +1079,8 @@ A:Egy m
a másolásvédelmet a chipjeiken. Ígyhát nincs esélyünk TV kimenetre.</P>
<P>Az ATI TV kimenetek jelenlegi támogatottsága :
<LI><b>ATI Mach64</b> : <i>ImpacTV</i> van rajta, amit a <A HREF="http://www.linuxvideo.org/gatos">gatos</A> támogat.
<LI><b>ASIC Radeon VIVO</b> : <i>Rage Theatre</i>, ami szintén támogatott a <A HREF="http://www.linuxvideo.org/gatos">gatos</A> által.
<LI><b>ATI Mach64</b> : <i>ImpacTV</i> van rajta, amit a <A HREF="http://gatos.sourceforge.net">gatos</A> támogat.
<LI><b>ASIC Radeon VIVO</b> : <i>Rage Theatre</i>, ami szintén támogatott a <A HREF="http://gatos.sourceforge.net">gatos</A> által.
<LI><b>Radeon VE</b> és <b>Rage PRO LT</b> : <i>ImpacTV2+</i> ami jelenleg nem támogatott Linux alatt.
Viszont <B>MPlayer</B>-rel teljeskörű <B>hardveres gyorsítást</B> és
<B>TV kimenetet</B> kapsz Radeonokhoz ! Lásd a <a href=#2.3.1.12>VESA meghajtó</a> és

View File

@ -113,6 +113,7 @@
<LI><A HREF="video.html#2.3.1.12">2.3.1.12 VESA - output to VESA BIOS</A></LI>
<LI><A HREF="video.html#2.3.1.13">2.3.1.13 X11</A></LI>
<LI><A HREF="video.html#2.3.1.14">2.3.1.14 Rage128 / Radeon video overlay</A></LI>
<LI><A HREF="video.html#2.3.1.15">2.3.1.15 Vidix</A></LI>
<LI><A HREF="video.html#2.3.1.A">2.3.1.A TVout</A></LI>
<UL>
<LI><A HREF="video.html#2.3.1.A.1">2.3.1.A.1 Matrox</A></LI>

View File

@ -50,6 +50,13 @@
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif"
size=2><a href=#2.3.1.12>vesa</a></TD><TD></TD><TD><FONT face="Verdana, Arial,
Helvetica, sans-serif" size=2>Output to VESA BIOS.</TD><TR>
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif"
size=2><a href=#2.3.1.15>vidix</a></TD><TD></TD><TD><FONT face="Verdana, Arial,
Helvetica, sans-serif" size=2>VIDeo Interface for *niX (this entry is not a
real driver, but an explanation of VIDIX)</TD><TR>
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif"
size=2><a href=#2.3.1.15>xvidix</a></TD><TD></TD><TD><FONT face="Verdana, Arial,
Helvetica, sans-serif" size=2>VIDIX in X window</TD><TR>
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif"
size=2>directfb</TD><TD></TD><TD><FONT face="Verdana, Arial,
Helvetica, sans-serif" size=2>Direct Framebuffer Device</TD><TR>
@ -883,6 +890,108 @@ it only from textmode console.</P>
to improve something then simply send me your patches.
</P>
<P><B><A NAME=2.3.1.15>2.3.1.15. VIDIX</A></B></P>
<P><B><I>WHAT IS VIDIX</I></B></P>
<P>VIDIX is the abbreviation for <b>VID</b>eo <b>I</b>nterface for
*ni<b>X</b>.<BR>
VIDIX was designed and introduced as an interface for fast user-space drivers
providing <b>DGA</b> everywhere where it's possible (<b>unlike X11</b>). I
hope that these drivers will be as portable as X11 (<b>not only on
*nix</b>).<BR>
What is it:
<LI>It's a portable successor of mga_vid technology, but it's located in
user-space.</LI>
<LI>Unlike X11 it provides DGA everywhere it's possible</LI>
<LI>Unlike v4l it provides interface for video playback</LI>
<LI>Unlike linux's drivers it uses mathematics library</LI>
</P>
<P>I can tell you in bold capital letters :<BR>
<b>VIDIX PROVIDES DIRECT GRAPHICS ACCESS TO BES YUV MEMORY.</b>
</P>
<P><i>Well (it's in my todo) - implement DGA to MPEG2 decoder.</i></P>
<P>This interface was designed as an attempt to fit existing video acceleration
interfaces (known as mga_vid, mga_yuv, radeon_vid) into a fixed scheme. It
provides highlevel interface to chips which are known as BES (BackEnd
scalers) or OV (Video Overlays). It doesn't provide lowlevel interface to
things which are known as graphics servers. (I don't want to compete with X11
team in graphics mode switching). I.e. main goal of this interface is to
provide maximal speed of video playback but not putting video signal on
screen of your TV or on tape of your VCR. Although these things are also very
significant - it's perfectly other task. (However I guess that it would be
possible to implement something like mini-X (don't mix it with Minix ;) in
the future, if some number of volunteers will be found.
</P>
<P><B><I>USAGE</I></B></P>
<P>
<LI>You can use standalone video output driver: <CODE>-vo xvidix</CODE><BR>
This driver was developed as X11's front end to VIDIX technology. It
requires XServer and can work only under XServer.</LI>
<LI>You can use VIDIX subdevice which was applied to several video output
drivers, such as:<BR>
<CODE>-vo vesa:vidix</CODE> and <CODE>-vo fbdev:vidix</CODE></LI>
Indeed it doesn't matter which video output driver is used with <b>VIDIX</b>.
</P>
<P><B><I>REQUIREMENTS</I></B></P>
<P>
<LI>video card should be in graphics mode (I write <b>should</b> simply
because I tested it in text mode - it works but has awful output ;) Use
AAlib for that).<BR>
<I>Note: Everyone can try this trick by commenting out mode switching in
vo_vesa driver.</I></LI>
<LI><B>MPlayer</B>'s video output driver should know active video mode and be
able to tell to VIDIX subdevice some video characteristics of server.</LI>
I hope that probably every video output driver of <B>MPlayer</B> will
recognize <CODE>:vidix</CODE> subdevice.
</P>
<P><B><I>USAGE METHODS</I></B></P>
<P>When VIDIX is used as <b>subdevice</b> (<CODE>-vo vesa:xvidix</CODE>) then
video mode configuration is performed by video output device
(<b>vo_server</b> in short). Therefore you can pass into command line of
<B>MPlayer</B> the same keys as for vo_server. In addition it understands
<CODE>-double</CODE> key as globally visible parameter. (I recommend using
this key with VIDIX at least for ATI's card).<BR>
As for <CODE>-vo xvidix</CODE> : currently it recognizes the following
options: <CODE>-fs -zoom -x -y</CODE>.<BR>
</P>
<P>Also you can specify VIDIX's driver directly as third subargument in command
line :<BR>
<BR>
&nbsp;&nbsp;<code>mplayer -vo xvidix:mga_vid.so -fs -zoom -double
file.avi</code><BR>
or<BR>
&nbsp;&nbsp;<code>mplayer -vo vesa:vidix:radeon_vid.so -fs -zoom -double -bpp
32 file.avi</code><BR>
<BR>
But it's dangerous, and you shouldn't do that. In this case given driver will
be forced and result is unpredictable (it may <b>freeze</b> your
computer). The Right Way is to use VIDIX without arguments to enable driver
autodetection.
</P>
<P>
VIDIX is very new technology and it's extremely possible that on your system
(OS=abc CPU=xyz) it won't work. In this case only solution for you it's port
it (mainly libdha). But there is hope that it will work on those systems
where X11 does.
</P>
<P>And the last <b>WARNING</b>: (un)fortunately you <b>MUST</b> have
<b>ROOT</b> privileges to use VIDIX due to direct hardware access. At least
set the <b>suid</b> bit on the <B>MPlayer</B> excecutable.
</P>
<P><B><A NAME=2.3.1.A>2.3.1.A. TV-out support</A></B></P>
@ -994,8 +1103,8 @@ hackers will be able to disable copy protection on their chips. Therefore
we have no chance to get working TV-out on ATI.</P>
<P>What's status of ATI's tv-out chips under Linux:
<LI><b>ATI Mach64</b> has <i>ImpacTV</i> which is supported by <A HREF="http://www.linuxvideo.org/gatos">gatos</A>.
<LI><b>ASIC Radeon VIVO</b> has <i>Rage Theatre</i> which is supported by <A HREF="http://www.linuxvideo.org/gatos">gatos</A>.
<LI><b>ATI Mach64</b> has <i>ImpacTV</i> which is supported by <A HREF="http://gatos.sf.net">gatos</A>.
<LI><b>ASIC Radeon VIVO</b> has <i>Rage Theatre</i> which is supported by <A HREF="http://gatos.sf.net">gatos</A>.
<LI><b>Radeon VE</b> and <b>Rage PRO LT</b> have <i>ImpacTV2+</i> which is not supported under Linux.
But with <B>MPlayer</B> you get <B>full hardware acceleration</B> and <B>TV out</B>
for Radeons !