mirror of
https://github.com/mpv-player/mpv
synced 2024-12-15 19:35:49 +00:00
651b49adc9
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4962 b3059339-0415-0410-9bf9-f77b7e298cf2
1250 lines
64 KiB
HTML
1250 lines
64 KiB
HTML
<HTML>
|
||
<BODY BGCOLOR=white>
|
||
|
||
<FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||
|
||
<P><B><A NAME=2.3.1>2.3.1. Dispositivi di output video</A></B></P>
|
||
|
||
<TABLE BORDER=0>
|
||
|
||
<TD COLSPAN=4><P><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Generale:</B></P></TD><TR>
|
||
|
||
<TD> </TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica,
|
||
sans-serif" size=2><A HREF=#2.3.1.13>x11</A></TD><TD> </TD><TD><FONT
|
||
face="Verdana, Arial, Helvetica, sans-serif" size=2>X11 con l'opzionale estensione SHM
|
||
</TD><TR>
|
||
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif"
|
||
size=2><A HREF=#2.3.1.2>xv</A></TD><TD></TD><TD><FONT face="Verdana, Arial,
|
||
Helvetica, sans-serif" size=2>X11 usando i livelli con l'estensione Xvideo
|
||
(YUV hardware YUV e ridimensionamento)</TD><TR>
|
||
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif"
|
||
size=2><A HREF=#2.3.1.10>gl</A></TD><TD></TD><TD><FONT face="Verdana, Arial,
|
||
Helvetica, sans-serif" size=2>renderer OpenGL, per ora funziona solo con:
|
||
<UL><LI>tutte le schede con Utah-GLX
|
||
<LI>schede Matrox con X/DRI >=4.0.3
|
||
<LI>Radeon con il CVS di X/DRI</UL></TD><TR>
|
||
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif"
|
||
size=2><A HREF=#2.3.1.10>gl2</A></TD><TD></TD><TD><FONT face="Verdana, Arial,
|
||
Helvetica, sans-serif" size=2>renderer OpenGL, versione a texture multiple</TD><TR>
|
||
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif"
|
||
size=2><A HREF=#2.3.1.3>dga</A></TD><TD></TD><TD><FONT face="Verdana, Arial,
|
||
Helvetica, sans-serif" size=2>estensione X11 DGA</TD><TR>
|
||
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif"
|
||
size=2><A HREF=#2.3.1.6>fbdev</A></TD><TD></TD><TD><FONT face="Verdana, Arial,
|
||
Helvetica, sans-serif" size=2>Output fremebuffer in generale</TD><TR>
|
||
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif"
|
||
size=2><A HREF=#2.3.1.5>svga</A></TD><TD></TD><TD><FONT face="Verdana, Arial,
|
||
Helvetica, sans-serif" size=2>Output SVGAlib</TD><TR>
|
||
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif"
|
||
size=2><A HREF=#2.3.1.4>sdl</A></TD><TD></TD><TD><FONT face="Verdana, Arial,
|
||
Helvetica, sans-serif" size=2>
|
||
<CODE>1.1.7:</CODE> supporta il ridimensionamento software<BR>
|
||
<CODE>1.1.8:</CODE> supporta Xvideo (ridimensionamento hardware e schermo pieno)<BR>
|
||
<CODE>1.2.0:</CODE> supporta AAlib (-vo aa <20> caldamente consigliato, vedi sotto!)</TD><TR>
|
||
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif"
|
||
size=2><A HREF=#2.3.1.14-TODO>ggi</A></TD><TD></TD><TD><FONT face="Verdana,
|
||
Arial, Helvetica, sans-serif" size=2>simile a SDL</TD><TR>
|
||
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif"
|
||
size=2><A HREF=#2.3.1.11>aa</A></TD><TD></TD><TD><FONT face="Verdana, Arial,
|
||
Helvetica, sans-serif" size=2>rendering in modalit<69> testo con AAlib</TD><TR>
|
||
<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 a BIOS VESA.</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 (Interfaccia Video per *nix, ndt; questo non
|
||
<20> un vero driver, ma un'espansione di 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 una finesta X</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>Direttamente al dispositivo framebuffer</TD><TR>
|
||
|
||
<TD COLSPAN=4><P><B><FONT face="Verdana, Arial, Helvetica, sans-serif"
|
||
size=2>Specifici per alcune schede:</B></P></TD><TR>
|
||
|
||
<TD> </TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica,
|
||
sans-serif" size=2><A HREF=#2.3.1.7>mga</A></TD><TD> </TD><TD><FONT
|
||
face="Verdana, Arial, Helvetica, sans-serif" size=2>Livello YUV hardware di Matrox G200/G400
|
||
tramite il dispositivo mga_vid</TD><TR>
|
||
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif"
|
||
size=2><A HREF=#2.3.1.7>xmga</A></TD><TD></TD><TD><FONT face="Verdana, Arial,
|
||
Helvetica, sans-serif" size=2>Livello mga_vid di Matrox G200/G400 in una finesta X11<BR>
|
||
(<I>emulazione Xv con X 3.3.x!</I>)</TD><TR>
|
||
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif"
|
||
size=2>syncfb</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica,
|
||
sans-serif" size=2>supporto YUV Matrox G400 su framebuffer (obsoleto, usa
|
||
mga/xmga)</TD><TR>
|
||
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif"
|
||
size=2>3dfx</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif"
|
||
size=2>supporto YUV hardware per Voodoo3/Banshee (/dev/3dfx, non ancora testato, forse
|
||
difettoso)</TD><TR>
|
||
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif"
|
||
size=2><A HREF=#2.3.1.9>tdfxfb</A></TD><TD></TD><TD><FONT face="Verdana, Arial,
|
||
Helvetica, sans-serif" size=2>supporto YUV hardware per Voodoo3/Banshee su framebuffer tdfx
|
||
(funziona!)</TD><TR>
|
||
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif"
|
||
size=2><A HREF=#2.3.1.16>zr</A></TD><TD></TD><TD><FONT face="Verdana, Arial,
|
||
Helvetica, sans-serif" size=2>Visualizzazione su schede MJPEG basate su ZR360[56]7
|
||
(DC10(+), LML33, Buz)</TD><TR>
|
||
|
||
<TD COLSPAN=4><P><B><FONT face="Verdana, Arial, Helvetica, sans-serif"
|
||
size=2>Speciali:</B></P></TD><TR>
|
||
|
||
<TD> </TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica,
|
||
sans-serif" size=2>png</TD><TD> </TD><TD><FONT face="Verdana, Arial,
|
||
Helvetica, sans-serif" size=2>output in file PNG (usa l'opzione -z per regolare
|
||
la compressione)</TD><TR>
|
||
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif"
|
||
size=2>pgm</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif"
|
||
size=2>output in file PGM (per test o codifica ffmpeg)</TD><TR>
|
||
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif"
|
||
size=2>md5</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif"
|
||
size=2>output MD5sum (per prove di conformit<69> MPEG)</TD><TR>
|
||
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif"
|
||
size=2>null</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif"
|
||
size=2>output nullo (per test di velocit<69>)</TD><TR>
|
||
</TABLE>
|
||
|
||
<P>NOTA: <I>guarda le prossime sezioni per dettagli e requisiti!</I></P>
|
||
|
||
|
||
<P><B><A NAME=2.3.1.1>2.3.1.1. Configurare l' MTRR</A></B></P>
|
||
|
||
<P>E' DECISAMENTE consigliato controllare se i registri MTRR sono ben configurati,
|
||
perch<EFBFBD> possono fornire un grande aumento di prestazioni.</P>
|
||
|
||
<P>Fai un '<CODE>cat /proc/mtrr</CODE>' :</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>E' a posto, mostra la mia Matrox G400 con 16Mb di memoria. L'ho ottenuto con
|
||
XFree 4.x.x , che configura i registri MTRR automaticamente.</P>
|
||
|
||
<P>Se non ha funzionato, devi farlo manualmente. Prima, bisogna trovare l'indirizzo
|
||
di base.
|
||
Hai 3 modi per scoprirlo:</P>
|
||
|
||
<P><UL>
|
||
<LI>dai messaggi di avvio di X11, per esempio:
|
||
<P><CODE>(--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000<BR>
|
||
(--) SVGA: Linear framebuffer at 0xD8000000</CODE></P></LI>
|
||
<LI>da /proc/pci (usa il comando lspci -v):
|
||
<P>
|
||
<CODE>01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525</CODE>
|
||
<CODE>Memory at d8000000 (32-bit, prefetchable)</CODE>
|
||
</P>
|
||
<LI>dai messaggi del driver del kernel mga_vid (usa dmesg):
|
||
<P><CODE>mga_mem_base = d8000000</CODE></P>
|
||
</UL></P>
|
||
|
||
<P>Poi troviamo la dimensione della memoria. E molto semplice, basta convertire la quantit<69> di ram video
|
||
in esadecimale, o usare questa tabella:</P>
|
||
|
||
<TABLE BORDER=0>
|
||
<TD> </TD><TD>1 MB</TD><TD WIDTH=10%></TD><TD>0x100000</TD><TR>
|
||
<TD></TD><TD>2 MB</TD><TD></TD><TD>0x200000</TD><TR>
|
||
<TD></TD><TD>4 MB</TD><TD></TD><TD>0x400000</TD><TR>
|
||
<TD></TD><TD>8 MB</TD><TD></TD><TD>0x800000</TD><TR>
|
||
<TD></TD><TD>16 MB</TD><TD></TD><TD>0x1000000</TD><TR>
|
||
<TD></TD><TD>32 MB</TD><TD></TD><TD>0x2000000</TD><TR>
|
||
</TABLE>
|
||
|
||
|
||
<P>Conosci l'indirizzo di base e la dimensione della memoria, configuriamo i registri mtrr!
|
||
Per esempio, per la scheda Matrox di cui sopra (base=0xd8000000) con 32MB di
|
||
ram (size=0x2000000) basta eseguire:</P>
|
||
|
||
|
||
<P><CODE> echo "base=0xd8000000 size=0x2000000 type=write-combining" >| /proc/mtrr</CODE></P>
|
||
|
||
|
||
<P>Non tutte le CPU supportano l'MTRR. Per esempio i pi<70> vecchi K6-2 [circa 266Mhz,
|
||
stepping 0] non supportano l'MTRR, ma gli stepping 12 si ('<CODE>cat /proc/cpuinfo</CODE>'
|
||
per controllare').</P>
|
||
|
||
<P><B><A NAME=2.3.1.2>2.3.1.2. Xv</A></B></P>
|
||
|
||
<P>Sotto XFree86 4.0.2 o pi<70> recente, si possono usare le routine hardware della tua scheda
|
||
usando l'estensione XVideo. Questo <20> quello che usa l'opzione '-vo xv'. Inoltre,
|
||
questo driver <20> quello che supporta la regolazione di luminosit<69>/contrasto/hue/etc (a meno che tu stia usando
|
||
il vecchio, lento codec DirectShow DivX, che lo supporta ovunque), vedi la pagina di
|
||
man.</P>
|
||
|
||
<P>Per farlo funzionare, assicurati delle seguenti cose:</P>
|
||
<P><UL>
|
||
<LI>Devi usare XFree86 4.0.2 o pi<70> recente (le versioni precedenti non hanno XVideo)
|
||
<LI>La tua scheda supporta l'accelerazione hardware (le schede moderne lo fanno)
|
||
<LI>X carica l'estensione XVideo, <20> qualcosa del genere:
|
||
|
||
<P><CODE> (II) Loading extension XVideo</CODE></P>
|
||
<P>in /var/log/XFree86.0.log</P>
|
||
|
||
<P>NOTA: questo carica solo l'estensione XFree86. In una buona installazione, questo <20>
|
||
sempre caricato, e non significa che il supporto XVideo _della scheda_ <20> caricato!</P>
|
||
|
||
<LI>La tua scheda ha il supporto Xv sotto Linux. Per vederlo, prova 'xvinfo', <20>
|
||
parte della distribuzione di XFree86. Dovrebbe mostrare un lungo testo, simile
|
||
a questo:
|
||
<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)
|
||
(...ecc...)
|
||
</PRE>
|
||
|
||
<P>Deve supportare i formati pixel YUY2 packed, e YV12 planar per essere
|
||
utilizzabile con <B>MPlayer</B>.</P>
|
||
|
||
<LI>E infine, controlla se <B>MPlayer</B> <20> stato compilato col supporto 'xv'.
|
||
./configure ti dice questo.
|
||
|
||
</UL></P>
|
||
|
||
<P><B><A NAME=2.3.1.2.1>2.3.1.2.1. Schede 3dfx</A></B></P>
|
||
|
||
<P>I vecchi driver 3dfx avevano problemi con l'accelerazione XVideo,
|
||
non supportavano ne YUY2 ne YV12, e cose del genere. Verifica di possedere
|
||
XFree86 versione 4.1.0 o maggiore, funziona bene con YUY2, ma va in <B>crash
|
||
con YV12</B>! Quindi, o aspetta il 4.2.0 o usa il cvs di
|
||
<A HREF="http://dri.sourceforge.net">DRI</A> .
|
||
Se hai strani effetti con -vo xv, prova SDL (ha anche XVideo)
|
||
e guarda se aiuta. Controlla la <A HREF="#2.3.1.4">sezione SDL</A> per dettagli.</P>
|
||
|
||
<P><B>O</B>, prova il NUOVO driver -vo tdfxfb! Vedi la sezione <A HREF=#2.3.1.9>2.3.1.9</A>!</P>
|
||
|
||
|
||
|
||
<P><B><A NAME=2.3.1.2.2>2.3.1.2.2. Schede S3</A></B></P>
|
||
|
||
<P>La S3 Savage3D dovrebbe funzionare bene, ma per la Savage4, usa XFree86 versione 4.0.3
|
||
o maggiore (in caso di problemi con l'immagine, prova 16bpp). Come per S3 Virge.. c'<27> il supporto
|
||
xv, ma la scheda stessa <20> molto lenta, quindi faresti meglio a rivenderla.</P>
|
||
|
||
<P><B>NOTA</B>: la schede Savage hanno una visualizzazione delle immagini lenta con YV12 (deve fare
|
||
una conversione YV12->YUY2, perch<63> l'hardware Savage non pu<70> usare YV12).
|
||
Quindi quando ad un certo punto di questa documentazione si dice "ha l'output YV12 usa questo,
|
||
<EFBFBD> pi<70> veloce", non <20> cosa certa. Prova <A HREF="http://www.mplayerhq.hu/MPlayer/contrib/Savage-driver/savage_drv.o.mmx2.bz2">questo
|
||
driver</A> che usa MMX2 per questa operazione ed <20> pi<70> veloce del driver nativo di X.</P>
|
||
|
||
|
||
<P><B><A NAME=2.3.1.2.3>2.3.1.2.3. Schede nVidia</A></B></P>
|
||
|
||
<P>nVidia non <20> una scelta molto buona sotto Linux (secondo NVidia, questo
|
||
<A HREF="users_against_developers.html#nvidia">non <20> vero</A>).. Sarai costretto ad usare
|
||
il driver binario closed-source di nVidia, disponibile sul sito di nVidia. Il driver XFree86 standard
|
||
non supporta XVideo per queste schede, a causa delle specificazioni e dei sorgenti chiusi di nVidia.</P>
|
||
|
||
|
||
<P>Per quanto ne so l'ultimo driver XFree86 contiene il supporto XVideo per
|
||
Geforce 2 e 3.</P>
|
||
|
||
<P><UL><LI>Le schede Riva128 non hanno il supporto XVideo neanche col driver di nvidia :(
|
||
Lamentati con NVidia.</UL></P>
|
||
|
||
|
||
<P><B><A NAME=2.3.1.2.4>2.3.1.2.4. Schede ATI</A></B></P>
|
||
|
||
<P>
|
||
<LI>Il <A HREF="http://www.linuxvideo.org/gatos">driver GATOS</A> (che dovresti
|
||
usare, a meno che tu non abbia Rage128 o Radeon) ha VSYNC abilitato di default. Questo
|
||
significa che la velocit<69> di decodifica (!) <20> sincronizzata con quella di refresh del monitor. Se
|
||
la riproduzione sembra essere lenta, prova a disabilitare il VSYNC in qualche modo, o regola la velocit<69> di refresh
|
||
a n*(fps del filmato) Hz.</LI>
|
||
|
||
<LI>Radeon VE - attualmente solo il CVS di XFree86 ha un driver per questa scheda, la versione
|
||
4.1.0 no. E nessun supporto TV out. Naturalmente con <B>MPlayer</B> puoi felicemente
|
||
ottenere una visualizzazione <B>accelerata</B>, con o senza <B>output TV</B>, e
|
||
non servono librerie o X. Leggi le sezioni <a href=#2.3.1.15>Vidix</a> e <A
|
||
HREF=#2.3.1.14>livello video Radeon</A>).</LI> </P>
|
||
|
||
|
||
<P><B><A NAME=2.3.1.2.5>2.3.1.2.5. Schede NeoMagic</A></B></P>
|
||
|
||
<P>
|
||
Queste schede possono essere trovate su molti laptop. Sfortunatamente, il driver in
|
||
X 4.2.0 non pu<70> usare Xv, ma abbiamo un driver modificato, capace di Xv, per te.
|
||
<A HREF="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver/neomagic_drv.o.4.2.0.bz2">Scaricalo da qui</A>.
|
||
Driver fornito da Atmosfear.</P>
|
||
|
||
<P><B><A NAME=2.3.1.2.6>2.3.1.2.6. Schede Trident</A></B></P>
|
||
|
||
<P>Se vuoi usare xv con una scheda trident, dato che non funziona
|
||
col 4.1.0, prova l'ultimo cvs di Xfree o aspetta Xfree 4.2.0.
|
||
L'ultimo cvs aggiunge il supporto per xv a pieno schermo con la scheda
|
||
Cyberblade XP.</P>
|
||
|
||
<P><B><A NAME=2.3.1.3>2.3.1.3. DGA</A></B></P>
|
||
|
||
<P><B><A NAME=2.3.1.3.1>2.3.1.3.1. Sommario</A></B></P>
|
||
|
||
<P>Questo documento tenta di spiegare cosa sia il DGA in generale e
|
||
cosa pu<70> fare (e cosa non pu<70>) il driver di output video DGA di mplayer.</P>
|
||
|
||
|
||
<P><B><A NAME=2.3.1.3.2>2.3.1.3.2. Cos'<27> il DGA</A></B></P>
|
||
|
||
<P>DGA <20> l'acronimo di Direct Graphics Access (Accesso Diretto alla Grafica, ndt) ed <20> un modo per un programma di
|
||
aggirare il server X e modificare direttamente la memoria del framebuffer.
|
||
Detto tecnicamente questo <20> possibile mappando la memoria del framebuffer nell'area
|
||
di memoria del tuo processo. Questo <20> permesso dal kernel solo se
|
||
hai i privilegi di superutente. Puoi ottenerli o loggandoti come
|
||
root o applicando il bit suid all'eseguibile mplayer (NON
|
||
consigliato!).</P>
|
||
|
||
<P>Esistono due versioni di DGA: DGA1 <20> usato da XFree 3.x.x e DGA2 <20> stato
|
||
introdotto con XFree 4.0.1.</P>
|
||
|
||
<P>DGA1 fornisce solo accesso diretto al framebuffer come descritto sopra. Per
|
||
cambiare la risoluzione del segnale video bisogna appoggiarsi all'estensione
|
||
XVidMode.</P>
|
||
|
||
<P>DGA2 incorpora le caratteristiche di XVidMode e permette anche
|
||
di cambiare la profondit<69> del display. Cosi puoi, anche se <20> in esecuzione
|
||
un server X a 32 bit di profondit<69>, cambiare ad una profondit<69> di 15 bit e vice
|
||
versa. </P>
|
||
|
||
<P>Per<EFBFBD> il DGA ha alcune pecche. Sembra che siano in qualche modo dipendenti dal
|
||
chip grafico che si usa e dall'implementazione del driver video del server X
|
||
che controlla questo chip. Quindi non funziona su tutti i sistemi ...</P>
|
||
|
||
|
||
<P><B><A NAME=2.3.1.3.3>2.3.1.3.3. Installare il supporto DGA per MPlayer</A></B></P>
|
||
|
||
<P>Per prima cosa assicurati che X carichi l'estensione DGA, controlla in /var/log/XFree86.0.log:</P>
|
||
|
||
<P> <CODE>(II) Loading extension XFree86-DGA</CODE></P>
|
||
|
||
<P>Vedi, XFree86 4.0.x o maggiore <20> DECISAMENTE CONSIGLIATO!
|
||
Il driver DGA di <B>MPlayer</B> <20> trovato automaticamente da ./configure, o si pu<70> forzare con
|
||
--enable-dga.</P>
|
||
|
||
<P>Se il driver non pu<70> cambiare ad una risoluzione minore, prova con le opzioni
|
||
-vm (solo con X 3.3.x), -fs, -bpp, -zoom per trovare una modalit<69> adatta.
|
||
Non c'<27> una conversione per ora.. :(</P>
|
||
|
||
<P>Diventa ROOT. DGA ha bisogno dell'accesso di root per poter scrivere direttamente nella memoria video.
|
||
Se vuoi eseguirlo da utente, allora installa <B>MPlayer</B> SUID root:</P>
|
||
|
||
<P><CODE>
|
||
chown root /usr/local/bin/mplayer<BR>
|
||
chmod 750 /usr/local/bin/mplayer<BR>
|
||
chmod +s /usr/local/bin/mplayer</CODE></P>
|
||
|
||
|
||
<P>Ora funziona anche da semplice utente.</P>
|
||
|
||
|
||
<P><B>!!!! MA RIMANI IN ASCOLTO !!!!</B><BR>
|
||
Questo <20> un <B>GRANDE</B> rischio per la sicurezza! Non farlo mai su un server o un computer
|
||
al quale possono accedere altre persone perch<63> si possono ottenere i privilegi di root
|
||
attraverso mplayer suid root.<BR>
|
||
<B>!!!! QUINDI SEI STATO AVVISATO ... !!!!</B></P>
|
||
|
||
<P>Ora usa l'opzione '-vo dga', ed ecco fatto! (spero:)
|
||
Dovresti anche provare se l'opzione '-vo sdl:dga' funziona per te! E' molto pi<70>
|
||
veloce!!!</P>
|
||
|
||
<P><B><A NAME=2.3.1.3.4>2.3.1.3.4. Cambiare risoluzione</A></B></P>
|
||
|
||
<P>Il driver DGA permette di cambiare la risoluzione del segnale di uscita.
|
||
Questo evita la necessita di eseguire un (lento) ridimensionamento software e allo stesso
|
||
tempo fornisce un'immagine a pieno schermo. Idealmente dovrebbe andare all'esatta risoluzione
|
||
(tranne che per rispettare le proporzioni) dei dati video, ma il server X
|
||
permette solo di andare ad una risoluzione presente in
|
||
<CODE>/etc/X11/XF86Config</CODE> (<CODE>/etc/X11/XF86Config-4</CODE> per XFree 4.0.X).
|
||
Queste sono definite dalle cosi dette modeline e dipendono dalle capacit<69>
|
||
del tuo hardware video. Il server X legge questo file di configurazione all'avvio e
|
||
disabilita le modeline non adatte al tuo hardware. Puoi scoprire quali modalit<69> rimangono
|
||
nel file di log di X11. Si trova in:
|
||
<CODE>/var/log/XFree86.0.log</CODE>.</P>
|
||
<P>Vedi l'appendice A per alcune definizioni di modeline di esempio.</P>
|
||
|
||
<P><B><A NAME=2.3.1.3.5>2.3.1.3.5. DGA & MPlayer</A></B></P>
|
||
|
||
<P>DGA <20> utilizzato in due posti in <B>MPlayer</B>: nel driver SDL
|
||
(-vo sdl:dga) e nel driver DGA (-vo dga).
|
||
Quello detto sopra <20> valido per entrambi; nella seguente sezione spiegher<65> come funziona
|
||
il driver DGA di <B>MPlayer</B>.</P>
|
||
|
||
<P><B><A NAME=2.3.1.3.6>2.3.1.3.6. Caratteristiche del driver DGA</A></B></P>
|
||
|
||
<P>Il driver DGA <20> invocato specificando -vo dga alla riga di comando.
|
||
Il comportamento di default <20> quello di cambiare ad una risoluzione il pi<70> vicino possibile
|
||
a quella originale del filmato. Ignora deliberatamente le opzioni
|
||
-vm e -fs (cambiare la modalit<69> video e il pieno schermo) -
|
||
tenta sempre di coprire la maggior parte possibile del monitor cambiando la
|
||
modalit<EFBFBD> video, astenendosi cos<6F> dall'usare anche un solo ciclo in pi<70> della CPU
|
||
per ridimensionare l'immagine.
|
||
Se non ti piace la modalit<69> che ha scelto puoi forzarlo ad usare la risoluzione
|
||
pi<EFBFBD> vicina a quella che gli viene passata con le opzioni -x e -y.
|
||
Con l'opzione -v, il driver DGA stamper<65> a video, tra le altre cose,
|
||
una lista delle risoluzioni supportate dal tuo attuale file
|
||
XF86-Config.
|
||
Con il DGA2 puoi anche forzarlo ad usare una certa profondit<69> usando l'pzione -bpp.
|
||
Le profondit<69> valide sono 15, 16, 24 e 32. Dipende dal tuo hardware
|
||
se queste profondit<69> sono supportate nativamente o se deve essere fatta una (possibilmente lenta)
|
||
conversione.</P>
|
||
|
||
<P>Se sei abbastanza fortunato da avere abbastanza memoria video rimasta
|
||
per inserire un'intera immagine, il driver DGA user<65> il doppio buffering, che permette una riproduzione
|
||
video pi<70> fluida. Ti dir<69> se il doppio buffering <20> abilitato oppure
|
||
no.</P>
|
||
|
||
<P>Doppio buffering significa che la successiva immagine del filmato viene disegnata nella
|
||
memoria video mentre <20> mostrata l'immagine attuale. Quando il successivo frame
|
||
<EFBFBD> pronto, basta dire al chip grafico la posizione nella memoria
|
||
del nuovo frame e prende semplicemente i dati da visualizzare da l<>.
|
||
Nel frattempo un altro buffer nella memoria sar<61> di nuovo riempito con nuovi dati
|
||
video.</P>
|
||
|
||
Il doppio buffering pu<70> essere abilitato con l'opzione -double e disabilitato con
|
||
-nodouble. L'azione attualmente predefinita <20> quella di disabilitare il doppio
|
||
buffering. Quando si usa il driver DGA, l' OSD funziona
|
||
solo col doppio buffering abilitato. Comunque, abilitare il doppio buffering pu<70>
|
||
risultare in una grande perdita di velocit<69> (sul mio K6-II+ 525 usa un 20% in pi<70> di tempo della
|
||
CPU!) a seconda dell'implementazione del DGA per il tuo hardware.</P>
|
||
|
||
|
||
<P><B><A NAME=2.3.1.3.7>2.3.1.3.7. Questioni sulla velocit<69></A></B></P>
|
||
|
||
<P>Parlando in generale, l'accesso al framebuffer DGA dovrebbe essere veloce almeno quanto
|
||
il driver X11 con in pi<70> il beneficio di avere l'immagine a pieno schermo.
|
||
I valori di velocit<69> in percentuale dati da mplayer devono essere interpretati con una certa
|
||
cura, dato che per esempio, col driver X11 non includono il tempo impiegato
|
||
dal server X necessario per il reale disegno. Aggancia un terminale alla porta
|
||
seriale della tua box ed esegui top per vedere cosa sta realmente accadendo
|
||
...</P>
|
||
|
||
<P>Parlando in generale, l'incremento di velocit<69> dato da DGA rispetto ad un uso 'normale' di X11
|
||
dipende in larga misura dalla tua scheda grafica e da quanto sia ben ottimizzato il modulo X-Server
|
||
per essa.</P>
|
||
|
||
<P>Se hai un sistema lento, faresti meglio ad usare una profondit<69> di 15 o 16bit in quanto necessitano
|
||
solo met<65> della larghezza di banda della memoria rispetto ai 32.</P>
|
||
|
||
<P>Anche usare una profondit<69> di 24bit <20> una buona idea se la tua scheda li supporta nativamente solo i
|
||
32 bit in quanto trasferisce il 25% in meno di dati rispetto alla modalit<69> 32/32.</P>
|
||
|
||
<P>Ho visto gi<67> dei file avi riprodotti su un Pentium MMX 266. Le CPU AMD K6-2
|
||
dovrebbero andare bene dai 400 MHZ in su.</P>
|
||
|
||
<P><B><A NAME=2.3.1.3.8>2.3.1.3.8. Bug conosciuti</A></B></P>
|
||
|
||
<P>Bene, secondo alcuni sviluppatori di XFree, DGA <20> proprio una bestiaccia. Raccomandano
|
||
di non usarlo. La sua implementazione non <20> sempre perfetta
|
||
con tutti i driver per chipset di XFree la fuori.</P>
|
||
|
||
<P><UL>
|
||
<LI>con XFree 4.0.3 e nv.o c'<27> un bug che risulta in strani colori
|
||
<LI>il driver ATI necessita di cambiare la modalit<69> pi<70> volte dopo aver finito di usare
|
||
DGA
|
||
<LI>alcuni driver semplicemente falliscono nel ritornare alla risoluzione normale (usa
|
||
Ctrl-Alt-Keypad +, - per ritornarci manualmente)
|
||
<LI>alcuni driver semplicemente mostrano strani colori
|
||
<LI>alcuni driver mentono sulla quantit<69> di memoria che mappano nello spazio di indirizzamento del
|
||
processo, cos<6F> vo_dga non user<65> il doppio buffering (SIS?)
|
||
<LI>alcuni driver sembrano fallire nel riportare anche una singola modalit<69> valida. In questo caso
|
||
il driver DGA si interromper<65> lamentandosi di una modalit<69> senza senso di
|
||
100000x100000 o simile ...
|
||
<LI>OSD funziona solo col doppio buffering abilitato
|
||
</UL></P>
|
||
|
||
<P><B><A NAME=2.3.1.3.9>2.3.1.3.9. Lavoro futuro</A></B></P>
|
||
|
||
<P><UL><LI>usare la nuova interfaccia di rendering di X11 per OSD
|
||
<LI>dov'<27> la mia lista delle cose da fare ???? :-(((</UL></P>
|
||
|
||
|
||
<P><B><A NAME=2.3.1.3.A>2.3.1.3.A. Alcune modeline</A></B></P>
|
||
|
||
<PRE>
|
||
Section "Modes"
|
||
Identifier "Modes[0]"
|
||
Modeline "800x600" 40 800 840 968 1056 600 601 605 628
|
||
Modeline "712x600" 35.0 712 740 850 900 400 410 412 425
|
||
Modeline "640x480" 25.175 640 664 760 800 480 491 493 525
|
||
Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan
|
||
Modeline "352x288" 25.10 352 368 416 432 288 296 290 310
|
||
Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan
|
||
Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan
|
||
EndSection
|
||
</PRE>
|
||
|
||
<P>Queste funzionano bene col mio chip Riva128, usando il modulo del driver XServer nv.o .
|
||
</P>
|
||
|
||
|
||
<P><B><A NAME=2.3.1.3.B>2.3.1.3.B. Segnalazione bug</A></B></P>
|
||
|
||
<P>Se riscontri dei problemi col driver DGA per favore sentiti libero di inviare una segnalazione
|
||
di bug a me (indirizzo e-mail sotto). Per favore esegui mplayer con l'opzione
|
||
-v e includi tutte le linee che cominciano con vo_dga: nella segnalazione</P>
|
||
|
||
<P>Includi anche la versione di X11 che usi, la scheda video
|
||
e il tuo tipo di CPU. Anche il modulo del driver X11 (definito in XF86-Config) potrebbe
|
||
aiutare. Grazie!</P>
|
||
|
||
|
||
<P><I>Acki (acki@acki-netz.de, www.acki-netz.de)</I></P>
|
||
|
||
|
||
<P><B><A NAME=2.3.1.4>2.3.1.4. SDL</A></B></P>
|
||
|
||
<P>SDL (Simple Directmedia Layer, Semplice Livello Diretto per media, ndt) <20> in generale una interfaccio video/audio
|
||
unificata. I programmi che ne fanno uso conoscono solo l' SDL, e nulla su quale driver video
|
||
o audio SDL usano veramente. Per esempio un port di Doom che usa SDL pu<70>
|
||
essere eseguito su svgalib, aalib, X, fbdev, e altri, devi solo specificare il
|
||
(per esempio) driver video da usare con la variabile d'ambiente SDL_VIDEODRIVER.
|
||
Bhe, in teoria.</P>
|
||
|
||
<P>Con <B>MPlayer</B>, abbiamo usato la capacita di ridimensionamento software del suo driver X11 per
|
||
schede/driver che non supportano XVideo, finch<63> non abbiamo fatto il nostro (pi<70> veloce,
|
||
pi<70> bello) ridimensionatore software. Abbiamo anche usato il suo output aalib, ma ora abbiamo il nostro che <20>
|
||
pi<70> comodo. La sua modalit<69> DGA era migliore della nostra, fino a poco
|
||
tempo f<>. Afferrato ora? :)</P>
|
||
|
||
<P>Aiuta anche con alcuni driver/schede difettosi se il video o l'audio sono a scatti
|
||
(non un problema di sistema lento).</P>
|
||
|
||
<P>Ecco alcune note sull'output SDL in <B>MPlayer</B>.</P>
|
||
|
||
|
||
|
||
<P><TABLE BORDER=0>
|
||
<TD COLSPAN=4><P><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Ci sono molte opzioni a riga di comando per SDL:</B></P></TD><TR>
|
||
<TD> </TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-vo sdl:nome</TD><TD> </TD><TD>
|
||
<FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>specifica il driver video sdl da usare (es. aalib, dga, x11)</TD><TR>
|
||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-ao sdl:nome</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>specifica il driver audio sdl da usare (es. dsp,
|
||
esd, arts)</TD><TR>
|
||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-noxv</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>disabilita l'accelerazione hardware Xvideo</TD><TR>
|
||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-forcexv</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>tenta di forzare l'accelerazione Xvideo</TD><TR>
|
||
|
||
<TD COLSPAN=4><P><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Tasti per SDL:</B></P></TD><TR>
|
||
|
||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>F</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>scambia le modalit<69> pieno schermo/finestra</TD><TR>
|
||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>C</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>cambia tra le modalit<69> a pieno schermo disponibili</TD><TR>
|
||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>W/S</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>sostituiscono * e / (controllo mixer)</TD><TR>
|
||
|
||
</TABLE></P>
|
||
|
||
<P><B>BUG CONOSCIUTI:</B></P>
|
||
<P><UL><LI>I tasti premuti sotto il driver sdl:aalib si ripetono all'infinito. (usa -vo aa !)
|
||
E' un bug di SDL, io non posso cambiarlo (provato con SDL 1.2.1).
|
||
</UL></P>
|
||
|
||
<P><B><A NAME=2.3.1.5>2.3.1.5. SVGAlib</A></B></P>
|
||
|
||
<P>Se non hai X, puoi usare l'output SVGAlib! Assicurati di non usare l'opzione
|
||
-fs, in quanto abilita l'utilizzo del ridimensionamento software, e <20> LEEENTO
|
||
per ora, a meno che tu non abbia una CPU veramente veloce (e/o MTRR?). :(</P>
|
||
|
||
<P>Naturalmente dovrai installare svgalib e il suo pacchetto di sviluppo
|
||
in modo che <B>MPlayer</B> possa compilare il suo driver SVGAlib (trovato automaticamente, ma pu<70> essere
|
||
forzato), e non dimenticare di modificare /etc/vga/libvga.config per adattarlo alla tua
|
||
scheda video & monitor.</P>
|
||
|
||
<P><B><A NAME=2.3.1.6>2.3.1.6. Output col Framebuffer (FBdev)</A></B></P>
|
||
|
||
<P>Se compilare il driver FBdev <20> stabilito automaticamente da ./configure .
|
||
Leggi la documentazione del framebuffer nei sorgenti del kernel
|
||
(Documentation/fb/*) per informazioni su come abilitarlo, ecc.. !</P>
|
||
|
||
<P>Se la tua scheda non supporta lo standard VBE 2.0 (le pi<70> vecchie schede ISA/PCI,
|
||
come la S3 Trio64), ma solo VBE 1.2 (o pi<70> vecchio?) :
|
||
ebbene, VESAfb <20> ancora disponibile, ma dovrai caricare il programma SciTech Display
|
||
Doctor (prima UniVBE) prima di fare il boot di Linux. Usa un dischetto di boot DOS o
|
||
quello che vuoi. E non dimenticare di registrare il tuo UniVBE ;))</P>
|
||
|
||
<P>L'output FBdev accetta alcuni parametri supplementari tra i quali:</P>
|
||
|
||
<P><TABLE BORDER=0>
|
||
<TD> </TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-fb</TD><TD> </TD><TD>
|
||
<FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>specifica il dispositivo framebuffer da usare (/dev/fb0)</TD><TR>
|
||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-fbmode</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>nome della modalit<69> da usare (secondo /etc/fb.modes)</TD><TR>
|
||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-fbmodeconfig</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2> file di configurazione delle modalit<69> (default /etc/fb.modes)</TD><TR>
|
||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-monitor_hfreq</TD><TD></TD><TD ROWSPAN=3><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>valori IMPORTANTI, vedi example.conf</TD><TR>
|
||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-monitor_vfreq</TD><TD></TD><TR>
|
||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-monitor_dotclock</TD><TD></TD><TR>
|
||
</TABLE></P>
|
||
|
||
<P>Se vuoi cambiare ad una modalit<69> specifica, allora usa</P>
|
||
|
||
<P><CODE> mplayer -vm -fbmode (NomeModalit<69>) nomefile</CODE></P>
|
||
|
||
<P><UL><LI>l'opzione <B>-vm</B> sceglier<65> la modalit<69> pi<70> adatta da /etc/fb.modes . Pu<50> essere usata
|
||
anche insieme alle opzioni -x e -y. L'opzione -flip <20> supportata solo se
|
||
il formato dei pixel del filmato corrisponde a quello dei pixel della modalit<69> video.
|
||
Fai attenzione al valore di bpp, il driver fbdev tenta di usare l'attuale,
|
||
o se si specifica l'opzione -bpp, allora quella.</LI>
|
||
<LI>l'opzione <B>-zoom</B> non <20> supportata (il ridimensionamento software <20> lento). l'opzione -fs
|
||
non <20> supportata. Non puoi usare le modalit<69> a 8bpp (o meno).</LI>
|
||
<LI>Probabilmente vuoi nascondere il cursore : <CODE>echo -e '\033[?25l'</CODE>
|
||
o <CODE>setterm -cursor off</CODE><BR>
|
||
e lo screen saver: <CODE>setterm -blank 0</CODE><BR>
|
||
Per riavere il cursore : <CODE>echo -e '\033[?25h'</CODE>
|
||
o <CODE>setterm -cursor on</CODE>
|
||
</UL></P>
|
||
|
||
<P>NOTA: il cambiamento di modalit<69> video di FBdev _non funziona_ col framebuffer VESA,
|
||
e non richiederlo, in quanto non <20> una limitazione di <B>MPlayer</B>.</P>
|
||
|
||
<P><B><A NAME=2.3.1.7>2.3.1.7. Framebuffer Matrox (mga_vid)</A></B></P>
|
||
|
||
<P>Questa sezione parla del supporto BES (Back-End Scaler) di Matrox G200/G400/G450/G550,
|
||
il driver del kernel mga_vid. E' attualmente sviluppato da me (A'rpi), e
|
||
ha il supporto VSYNC hardware con triplo buffering. Funziona sia da console col framebuffer
|
||
che sotto X.</P>
|
||
|
||
<P><B>ATTENZIONE</B>: su sistemi non-Linux, usa <A HREF=#2.3.1.15>Vidix</A> per
|
||
mga_vid !!!</P>
|
||
|
||
<P>Per usarlo, devi prima compilare mga_vid.o:</P>
|
||
|
||
<P><CODE> cd drivers<BR>
|
||
make</CODE></P>
|
||
|
||
<P>Poi crea il dispositivo /dev/mga_vid:</P>
|
||
|
||
<P><CODE> mknod /dev/mga_vid c 178 0</CODE></P>
|
||
|
||
<P>e carica il driver con</P>
|
||
|
||
<P><CODE> insmod mga_vid.o</CODE></P>
|
||
|
||
<P>Dovresti controllare il riconoscimento della dimensione della memoria usando il comando 'dmesg'. Se <20>
|
||
sbagliata, usa l'opzione mga_ram_size (prima rmmod mga_vid), specifica la dimensione della memoria
|
||
della scheda in MB:</P>
|
||
|
||
<P><CODE> insmod mga_vid.o mga_ram_size=16</CODE></P>
|
||
|
||
<P>Per farlo caricare/scaricare automaticamente quando ce n'<27> bisogno, prima inserisci la seguente riga
|
||
alla fine di /etc/modules.conf:</P>
|
||
|
||
<P><CODE> alias char-major-178 mga_vid</CODE></P>
|
||
|
||
<P>Quindi copia il modulo <CODE>mga_vid.o</CODE> nella posizione appropriata sotto
|
||
<CODE>/lib/modules/<versione kernel>/daqualcheparte</CODE>.</P>
|
||
|
||
<P>Poi esegui</P>
|
||
|
||
<P><CODE> depmod -a</CODE></P>
|
||
|
||
<P>Ora devi (ri)compilare <B>MPlayer</B>, ./configure trover<65> /dev/mga_vid
|
||
e compiler<65> il driver 'mga'. In <B>MPlayer</B> si usa con '-vo mga' se
|
||
hai la console matroxfb, o '-vo xmga' sotto XFree86 3.x.x o 4.x.x.</P>
|
||
|
||
<P>Il driver mga_vid coopera con Xv.</P>
|
||
|
||
<P>Il file del dispositivo <CODE>/dev/mga_vid</CODE> pu<70> essere letto (per esempio con
|
||
<CODE>cat /dev/mga_vid</CODE>) per avere alcune informazioni, e scritto per cambiare la luminosit<69>
|
||
: <CODE>echo "brightness=120" > /dev/mga_vid</CODE></P>
|
||
|
||
|
||
<P><B><A NAME=2.3.1.8>2.3.1.8. Framebuffer SiS 6326 (sis_vid)</A></B></P>
|
||
|
||
<P>Driver del framebuffer YUV SiS 6326 -> driver del kernel sis_vid</P>
|
||
|
||
<P>La sua interfaccia dovrebbe essere compatibile con mga_vid, ma il driver non <20> stato aggiornato
|
||
dopo i cambiamenti di mga_vid, quindi <20> obsoleto ora. Si cercano volontari per
|
||
testarlo e aggiornare il codice.</P>
|
||
|
||
<P><B><A NAME=2.3.1.9>2.3.1.9. Supporto YUV 3dfx (tdfxfb)</A></B></P>
|
||
|
||
<P>Questo driver usa il driver framebuffer del kernel tdfx per riprodurre i filmati con
|
||
accelerazione YUV. Devi avere un kernel col supporto tdfxfb, e ricompilare con
|
||
<CODE>./configure --enable-tdfxfb</CODE></P>
|
||
|
||
<P><B><A NAME=2.3.1.10>2.3.1.10. Output in OpenGL</A></B></P>
|
||
|
||
<P><B>MPlayer</B> supporta la visualizzazione dei filmati usando OpenGL. Sfortunatamente, non tutti
|
||
i driver hanno questa capacit<69>. Per esempio i driver Utah-GLX
|
||
(per XFree86 3.3.6) lo supportano, con tutte le schede.
|
||
Vedi <A HREF="http://utah-glx.sourceforge.net">http://utah-glx.sourceforge.net</A>
|
||
per dettagli su come installarlo.</P>
|
||
|
||
<P>XFree86(DRI) >= 4.0.3 lo supporta solo con schede Matrox, e Radeon.
|
||
Vedi <A HREF="http://dri.sourceforge.net">http://dri.sourceforge.net</A> per scaricarlo,
|
||
e per istruzioni sull'installazione.</P>
|
||
|
||
<P><B><A NAME=2.3.1.11>2.3.1.11. AAlib - visione in modalit<69> testo</B></P>
|
||
|
||
<P><B>AAlib</B> <20> una libreria per vedere la grafica in modalit<69> testo, usando un potente
|
||
renderer ASCII. Ci sono MOLTI programmi che gi<67> la supportano, come Doom,
|
||
Quake, ecc. MPlayer contiene un driver molto facile da usare per questa.
|
||
Se ./configure trova aalib installata, sar<61> compilato il driver libvo aalib.</P>
|
||
|
||
<P><TABLE BORDER=0>
|
||
<TD COLSPAN=4><P><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Puoi usare alcuni tasti nella finestra AA per cambiare le opzioni di rendering:</B></P></TD><TR>
|
||
<TD> </TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>1</TD><TD> </TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>diminuisce il contrasto</TD><TR>
|
||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>2</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>aumenta il contrasto</TD><TR>
|
||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>3</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>diminuisce la luminosit<69></TD><TR>
|
||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>4</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>aumenta la luminosit<69></TD><TR>
|
||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>5</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>(dis)attiva il rendering veloce</TD><TR>
|
||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>6</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>cambia la modalit<69> di dithering (nessuno, distribuzione dell'errore, floyd steinberg)</TD><TR>
|
||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>7</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>inverte l' immagine</TD><TR>
|
||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>a</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>cambia i controlli da aa a mplayer</TD><TR>
|
||
|
||
<TD COLSPAN=4><P><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Possono essere usate le seguenti opzioni a riga di comando:</B></P></TD><TR>
|
||
|
||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-aaosdcolor=V</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>cambia il colore dell'osd</TD><TR>
|
||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-aasubcolor=V</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>cambia il colore dei sottotitoli</TD><TR>
|
||
<TD COLSPAN=3></TD><TD><P><I><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>dove V pu<70> essere: (0/normal, 1/dark, 2/bold, 3/boldfont, 4/reverse, 5/special)</P></TD><TR>
|
||
|
||
<TD COLSPAN=4><P><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>La stessa AAlib fornisce un gran numero do opzioni.
|
||
Eccone alcune importanti:</P></B></TD><TR>
|
||
|
||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-aadriver</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>seleziona il driver aa consigliato (X11, curses, linux)</TD><TR>
|
||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-aaextended</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>usa tutti i 256 caratteri</TD><TR>
|
||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-aaeight</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>usa ascii a otto bit</TD><TR>
|
||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-aahelp</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>stampa tutte le opzioni di aalib</TD><TR>
|
||
</TABLE></P>
|
||
|
||
<P>NOTA: il rendering utilizza molta CPU, specialmente usando aalib su X,
|
||
e ne usa meno su console standard,
|
||
non-framebuffer. Usa SVGATextMode per selezionare una modalit<69> testo grande,
|
||
e divertiti! (le schede Hercules con uscita secondaria vanno forte :)) (qualcuno pu<70> migliorare
|
||
bdev per fare conversione/dithering a hgafb? Sarebbe bello :)</P>
|
||
|
||
<P>Usa l'opzione -framedrop se il tuo computer non <20> abbastanza veloce da renderizzare tutti i frame!</P>
|
||
|
||
<P>Usandolo da terminale otterrai una pi<70> alta velocit<69> e qualit<69> usando il driver di linux, non
|
||
curses (-aadriver linux). Ma per questo devi avere accesso in scrittura a /dev/vcsa<terminale>!
|
||
Questa non <20> ipostata automaticamente da aalib, ma vo_aa cerca di trovare la modalit<69> migliore.
|
||
Vedi <A HREF="http://aa-project.sourceforge.net/tune/">http://aa-project.sourceforge.net/tune/</A> per ulteriori questioni di regolazione.</P>
|
||
|
||
|
||
<P><B><A NAME=2.3.1.12>2.3.1.12. VESA - output col BIOS VESA</B></P>
|
||
<P>
|
||
Questo driver <20> stato pensato e introdotto come un <b>driver generico</b> per qualsiasi scheda video
|
||
con un BIOS VESA VBE 2.0 compatibile. Ma c'<27> ancora una ragione per lo sviluppo di
|
||
questo driver - le suoe molte possibilit<69> di visualizzazione sulla TV.<BR>
|
||
<b>VESA BIOS EXTENSION (VBE) Versione 3.0 Data: 16 Settembre 1998</b> (Pagina 70)
|
||
dice:
|
||
</P>
|
||
|
||
<P>
|
||
<code><i>
|
||
<b>Design a doppio controller</b><br>
|
||
VBE 3.0 supporta il design a doppio controller supponendo che, dato che entrambi
|
||
i controller sono solitamente forniti dallo stesso OEM, sotto il controllo di una
|
||
singola ROM BIOS sulla stessa scheda grafica, <20> possibile nascondere all'applicazione il fatto che
|
||
sono realmente presenti due controller. Questo ha la limitazione
|
||
di impedire l'uso contemporaneo dei controller indipendenti,
|
||
ma consente alle applicazioni rilasciate prima del VBE 3.0 di operare normalmente. La funzione
|
||
VBE 00h fornisce l'informazione combinata dei due
|
||
controller, inclusa la lista combinata delle modalit<69> disponibili.
|
||
Quando l'applicazione seleziona una modalit<69>, viene attivato il controller appropriato.
|
||
Ogni rimanente funzione VBE quindi opera sul controller attivo.
|
||
</i></code>
|
||
</P>
|
||
|
||
<P>
|
||
Quindi si ha la possibilit<69> di far andare il TV-out con questo driver.<br>
|
||
(Suppongo che spesso il TV-out abbia un output suo proprio,
|
||
almeno.)
|
||
</P>
|
||
|
||
<P>
|
||
<b>Le cose positive:</b><BR>
|
||
- Hai la possibilit<69> di vedere filmati <b>anche se Linux non conosce nemmeno</b> il tuo hardware video.<BR>
|
||
- Non devi aver installato niente per la grafica sul tuo Linux
|
||
(come X11 (cio<69> XFree86), fbdev e cos<6F> via). Questo driver pu<70> essere eseguito dalla
|
||
<b>modalit<EFBFBD> testo</b>.<BR>
|
||
- Hai la possibilit<69> di avere il <b>TV-out funzionante</b>. (almeno con le schede ATI).<BR>
|
||
- Questo driver richiama l'handler <b>int 10h</b> quindi non <20> un emulatore - richiama le
|
||
cose <b>reali</b> del <b>reale</b> BIOS in modalit<69> <b>reale</b>. (detto meglio -
|
||
in modalit<69> vm86).<BR>
|
||
- Molto pi<70> importante :) puoi guardare i <b>DVD a 320x200</b> se non hai una CPU potente.<BR>
|
||
</P>
|
||
|
||
<P>
|
||
<b>Le cose negative:</b><BR>
|
||
- Funziona solo su <b>sistemi x86</b>.<BR>
|
||
- <b>E' il driver pi<70> lento</b> di tutti quelli disponibili per MPlayer.<BR>
|
||
(Ma solo se la tua scheda non supporta la <b>modalit<EFBFBD> DGA</b> - altrimenti questo
|
||
driver <20> simile in velocit<69> a quelli <b>-vo dga</b> e <b>-vo fbdev</b>.<BR>
|
||
|
||
- Pu<50> essere usato solo da <b>ROOT</b>.<BR>
|
||
- Attualmente <20> disponibile solo per <b>Linux</b>.<BR>
|
||
- <b>Non usa</b> nessuna <b>accelerazione hardware</b> (come il livello YUV o lo scaling hw).<BR>
|
||
</P>
|
||
|
||
<P>Non usare questo driver col <B>GCC 2.96</B> ! Non funzioner<65> !</P>
|
||
|
||
<P>
|
||
<TABLE BORDER=0>
|
||
<TD COLSPAN=4><P><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Sono attualmente disponibili queste opzioni per VESA:</B></P></TD><TR>
|
||
<TD> </TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-vo vesa:opzioni</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>attualmente riconosciute: <b>dga</b> per forzare la modalit<69> dga e <b>nodga</b> per disabilitarla. Nota: puoi omettere questi parametri per abilitare il riconoscimento <b>automatico</b> della modalit<69> dga. (In futuro si potranno specificare anche parametri come refresh rate, interlacing, doublescan e cos<6F> via. Esempi: i43, 85, d100)</TD><TR>
|
||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-screenw, -screenh, -bpp</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>forza la modalit<69> definita dall'utente</TD><TR>
|
||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-x, -y</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>configura il predimensionamento definito dall'utente</TD><TR>
|
||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-zoom</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>abilita il predimensionamento definito dall'utente</TD><TR>
|
||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-fs</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>ridimensiona l'immagine a pieno schermo</TD><TR>
|
||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-fs -zoom</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>ridimensiona il predimensionamento definito dall'utente a pieno schermo</TD><TR>
|
||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-double</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>abilita la modalit<69> di doppio buffering. (Disponibile solo in modalit<69> DGA). Dovrebbe essere pi<70> lento del buffering singolo, ma non ha scatti.</TD><TR>
|
||
</TABLE>
|
||
</P>
|
||
|
||
<P>
|
||
<b>Problemi conosciuti e come aggirarli:</b><br>
|
||
- Se hai installato il font <b>NLS</b> sulla tua Linux box ed esegui il driver VESA
|
||
dalla modalit<69> testo allora dopo aver chiuso mplayer avrai il <b>font ROM</b> caricato invece del
|
||
nazionale. Puoi ricaricare il font nazionale usando l'utilit<69> <b><i>setsysfont</i></b>
|
||
dalla, per esempio, distribuzione Mandrake.<br>
|
||
(<b>Suggerimento</b>: la stessa utilit<69> <20> usata per la "localizzazione" di fbdev).<br>
|
||
- Alcuni <b>driver grafici di Linux</b> non aggiornano la <b>modalit<EFBFBD> BIOS</b> attiva nella memoria DOS. Quindi se hai
|
||
un tale problema - usa sempre il driver VESA solo dalla <b>modalit<EFBFBD> testo</b>. Altrimenti la modalit<69> testo (#03) sar<61>
|
||
attivata comunque e dovrai far ripartire il computer.<br>
|
||
- Spesso dopo aver terminato il driver VESA si ottiene uno <b>schermo nero</b>. Per farlo ritornare
|
||
allo stato originale - cambia semplicemente console (premendo <b>Alt-Fx</b>) poi ritorna
|
||
alla precedente console nello stesso modo.<br>
|
||
- Per far <b>funzionare il TV-out</b> devi avere il connettore della tv inserito prima di far partire
|
||
il tuo PC in quanto il BIOS video si inizializza solo una volta durante la procedura di POST.
|
||
</P>
|
||
|
||
|
||
<P><B><A NAME=2.3.1.13>2.3.1.13. X11</B></P>
|
||
|
||
<P>Evitalo se possibile. Da l'output a X11 (usa l'estensione per la memoria condivisa), senza alcuna
|
||
accelerazione hardware. Supporta (accelerato da MMX/3DNow/SSE, ma ancora
|
||
lento) il ridimensionamento software, usa le opzioni <CODE>-fs -zoom</CODE>. Molte schede
|
||
hanno il supporto per il ridimensionamento hardware, usa l'output <CODE>-vo xv</CODE> per queste, o
|
||
<CODE>-vo xmga</CODE> per le Matrox.</P>
|
||
|
||
<P>Il problema <20> che il driver della maggior parte delle schede non supporta
|
||
l'accelerazione hardware sulla seconda uscita/TV. In quei casi, si vede una finestra verde/blu
|
||
invece del filmato. Qui <20> dove questo driver <20> utile,
|
||
ma hai bisogno di una CPU potente per usare il ridimensionamento software. Non usare
|
||
l'output+scaler software del driver SDL, ha una pessima qualit<69> d'immagine !</P>
|
||
|
||
<P>Il ridimensionamento software <20> molto lento, faresti meglio a cambiare modalit<69> video invece.
|
||
E' molto semplice. Vedi la <A HREF=#2.3.1.3.A>sezione sulle modeline DGA</A>, e
|
||
inseriscile nel tuo XF86Config.
|
||
<UL>
|
||
<LI>Se hai XFree86 4.x.x - usa l'opzione <CODE>-vm</CODE>. Cambier<65> ad una
|
||
risoluzione adatta al tuo filmato. Se non funziona :</LI>
|
||
<LI>Con XFree86 3.x.x - devi cercare tra tutte le risoluzioni disponibili
|
||
con i tasti <B>CTRL-ALT-pi<70></B> e <B>meno</B>.</LI>
|
||
</UL>
|
||
|
||
Se non riesci a trovare le modalit<69> che hai inserito, controlla l'output di XFree86. Alcuni
|
||
driver non possono usare i bassi pixelclock necessari per modalit<69> video a bassa
|
||
risoluzione.</P>
|
||
|
||
|
||
<P><B><A NAME=2.3.1.14>2.3.1.14. Livello video Rage128 (pro) / Radeon (radeon_vid)</A></B></P>
|
||
<P>
|
||
<b>radeon_vid</b> e <B>rage128_vid</B> forniscono supporto per il <b>BackEnd Scaler</b> su chipset ATI <b>Radeon</b> e Rage128 (Pro).
|
||
Sono stati studiati e introdotti come analoghi del driver <a href="video.html#2.3.1.7">mga_vid</a>, quindi puoi usarli nello stesso modo!<br>
|
||
Ma l'obbiettivo principale dell'uso di questi driver <20> il driver <a href="video.html#2.3.1.12">VESA</a>.<br>
|
||
Semplicemente perch<63> VESA abilita il TV-out sulle schede ATI ma il Backend scaler <20> usato dopo
|
||
il cambiamento di modalit<69>. Questa implementazione da il flusso video su entrambi: <b>schermo TV</b> e monitor <b>CRTC</b>
|
||
simultaneamente. (Diminuisce leggermente la qualit<69> dell'output video, ma <20> meglio
|
||
che niente).
|
||
Spiacente! Non sono riuscito a trovare nessuna informazione sul livello video sulle
|
||
pagine di ATI. (ho deciso di implementarlo attraverso chiamate <b>int 10h</b>). Ma <20> stato
|
||
molto facile implementare queste cose attraverso le porte di lettura/scrittura di Radeon.
|
||
<br><b>NOTA</b>: la tecnologia XXX_VID <20> assolutamente non documentata e probabilmente in futuro
|
||
queste cose saranno completamente riscritte. Questo <20> il primo rilascio pubblico dei
|
||
driver.</P>
|
||
|
||
<P><B>Installazione</B></P>
|
||
|
||
<P>
|
||
<UL>
|
||
<LI>
|
||
<CODE>cd drivers/radeon<BR>
|
||
make<BR>
|
||
make install<BR>
|
||
make nodes</CODE></LI>
|
||
<LI>aggiungi uno dei seguenti alla fine del file <CODE>/etc/modules.conf</CODE> :<BR>
|
||
<CODE> alias char-major-178 radeon_vid</CODE><BR>
|
||
<CODE> alias char-major-178 rage128_vid</CODE></LI>
|
||
<LI>run <CODE>depmod -a</CODE></LI>
|
||
</UL>
|
||
</P>
|
||
|
||
<P>
|
||
<br><b>Utilizzo:</b><BR>
|
||
<CODE>mplayer -vo vesa:vidix <le tue opzioni> nomefile</CODE>
|
||
</P>
|
||
|
||
<P>Pi<EFBFBD> esempi (per il deinterlacing hardware, ecc) si possono trovare
|
||
<A HREF="../drivers/radeon/README">qui</A>.</P>
|
||
|
||
<P><B>NOTA</B>: non usare nessun framebuffer se intendi usare questi driver ! Usalo
|
||
solo da una console in modalit<69> testo.</P>
|
||
|
||
<P>
|
||
<b>Conclusioni:</b> So che ci sono molte cose che mancano e molti bug. Quindi se sei in grado di migliorare
|
||
qualcosa mandami semplicemente le tue patch.
|
||
</P>
|
||
|
||
|
||
<P><B><A NAME=2.3.1.15>2.3.1.15. VIDIX</A></B></P>
|
||
|
||
<P><B><I>COS'E' IL VIDIX</I></B></P>
|
||
|
||
<P>VIDIX <20> l'acronimo di <b>VID</b>eo <b>I</b>nterface for
|
||
*ni<b>X</b> (Interfaccia Video per *nix, ndt).<BR>
|
||
VIDIX <20> stato studiato e implementato come un'interfaccia per veloci driver in spazio utente
|
||
che forniscono <b>DGA</b> ovunque <20> possibile (<b>a differenza di X11</b>).
|
||
Spero che questi driver saranno portabili come X11 (<b>non solo su
|
||
*nix</b>).<BR>
|
||
Cos'<27>:
|
||
<LI>E' un successore portabile della tecnologia mga_vid, ma <20> localizzato in spazio
|
||
utente.</LI>
|
||
<LI>A differenza di X11 fornisce DGA ovunque <20> possibile</LI>
|
||
<LI>A differenza di v4l fornisce un'interfaccia per la riproduzione video</LI>
|
||
<LI>A differenza dei driver linux usa librerie matematiche</LI>
|
||
</P>
|
||
|
||
<P>Posso dirtelo in lettere maiuscole e grassetto :<BR>
|
||
<b>VIDIX FORNISCE ACCESSO DIRETTO ALLA GRAFICA ALLA MEMORIA YUV BES.</b>
|
||
</P>
|
||
|
||
<P><i>Bene (<28> tra le cose che devo fare) - implementare un decoder da DGA a MPEG2.</i></P>
|
||
|
||
<P>Questa interfaccia <20> stata studiata come un tentativo di far rientrare le esistenti interfacce
|
||
di accelerazione video (conosciute come mga_vid, mga_yuv, radeon_vid) in uno schema fisso. Fornisce
|
||
un'interfaccia di alto livello ai chip conosciuti come BES (BackEnd
|
||
scaler) o OV (Video Overlay). Non fornisce un'interfaccia di basso livello
|
||
a cose conosciute come server grafici. (Non voglio competere con il team di X11
|
||
nel cambiamento di modalit<69> grafica). Cio<69>, l'obbiettivo principale di questa interfaccia
|
||
<20> di fornire la massima velocit<69> di riproduzione video ma non di mettere il segnale video sullo
|
||
schermo della tua TV o sul nastro del tuo videoregistratore. Sebbene anche queste cose siano
|
||
molto importanti - <20> esattamente un altro compito. (Comunque penso che sarebbe possibile
|
||
implementare qualcosa come un mini-X (non confondetelo con Minix ;) in
|
||
futuro, se si trover<65> un certo numero di volontari.
|
||
</P>
|
||
|
||
<P><B><I>UTILIZZO</I></B></P>
|
||
|
||
<P>
|
||
<LI>Puoi usare il driver di output video da solo: <CODE>-vo xvidix</CODE><BR>
|
||
Questo driver <20> stato sviluppato come una interfaccia di X11 per la tecnologia VIDIX.
|
||
necessita di un server X e pu<70> funzionare solo sotto un server X.</LI>
|
||
<LI>Si pu<70> usare il sottodispositivo VIDIX che <20> stato applicato a molti driver di output video,
|
||
come:<BR>
|
||
<CODE>-vo vesa:vidix</CODE> e <CODE>-vo fbdev:vidix</CODE></LI>
|
||
Infatti non importa quale driver di output video si usa con <b>VIDIX</b>.
|
||
</P>
|
||
|
||
<P><B><I>REQUISITI</I></B></P>
|
||
|
||
<P>
|
||
<LI>La scheda video dovrebbe essere in modalit<69> grafica (ho scritto <b>dovrebbe</b> semplicemente
|
||
perch<63> l'ho provato in modalit<69> testo - funziona, ma da un terribile output ;) Usa
|
||
AAlib per quello).<BR>
|
||
<I>Nota: chiunque pu<70> provare questo trucco commentando il cambiamento di modalit<69> nel driver
|
||
vo_vesa.</I></LI>
|
||
<LI>Il driver di output video di <B>MPlayer</B> dovrebbe conoscere la modalit<69> video attiva ed essere in grado di
|
||
dire al sottodispositivo VIDIX alcune caratteristiche video del server.</LI>
|
||
Credo che tutti i driver di output video di <B>MPlayer</B> riconoscano
|
||
il sottodispositivo <CODE>:vidix</CODE>.
|
||
</P>
|
||
|
||
<P><B><I>METODI DI UTILIZZO</I></B></P>
|
||
|
||
<P>Quando VIDIX <20> usato come <b>sottodispositivo</b> (<CODE>-vo vesa:vidix</CODE>) allora
|
||
la configurazione della modalit<69> video <20> fatta dal dispositivo di output video
|
||
(<b>vo_server</b> in breve). Quindi puoi passare alla linea di comando di
|
||
<B>MPlayer</B> le stesse opzioni di vo_server. In aggiunta interpreta l'opzione
|
||
<CODE>-double</CODE> come un parametro globalmente visibile. (Consiglio di usare
|
||
questa opzione con VIDIX almeno per le schede ATI).<BR>
|
||
Come per <CODE>-vo xvidix</CODE> : attualmente riconosce le seguenti
|
||
opzioni: <CODE>-fs -zoom -x -y -double</CODE>.<BR>
|
||
</P>
|
||
|
||
<P>Puoi anche specificare il driver VIDIX direttamente come terzo sotto argomento alla linea di
|
||
comando :<BR>
|
||
<BR>
|
||
<code>mplayer -vo xvidix:mga_vid.so -fs -zoom -double
|
||
file.avi</code><BR>
|
||
o<BR>
|
||
<code>mplayer -vo vesa:vidix:radeon_vid.so -fs -zoom -double -bpp
|
||
32 file.avi</code><BR>
|
||
<BR>
|
||
Ma <20> pericoloso, e non dovresti farlo. In questo caso il driver dato sar<61>
|
||
forzato e il risultato <20> imprevedibile (potrebbe <b>bloccare</b> il tuo
|
||
computer). Dovresti farlo SOLO se sei assolutamente sicuro che funzioner<65>,
|
||
e <B>MPlayer</B> non lo fa automaticamente. Per favore dillo agli
|
||
sviluppatori. Il Modo Giusto <20> usare VIDIX senza argomenti per abilitare il riconoscimento automatico del
|
||
driver.
|
||
</P>
|
||
|
||
<P>
|
||
VIDIX <20> una tecnologia molto nuova ed <20> molto probabile che sul tuo sistema
|
||
(OS=abc CPU=xyz) non funzioni. In questo caso la sola soluzione per te <20> di eseguire
|
||
un port (principalmente libdha). Ma c'<27> la speranza che funzioni su quei sistemi dove funziona
|
||
X11.
|
||
</P>
|
||
|
||
<P>E l'ultimo <b>AVVERTIMENTO</b>: (s)fortunatamente <b>DEVI</b> avere i permessi di
|
||
<b>ROOT</b> per usare VIDIX a causa dell'accesso diretto all'hardware. Al limite
|
||
dai il bit <b>suid</b> all'eseguibile <B>MPlayer</B>.
|
||
</P>
|
||
|
||
<P><B><I>EQUALIZZATORE VIDEO</I></B></P>
|
||
|
||
<P>
|
||
Questo <20> un equalizzatore video implementato specificatamente per Vidix. Puoi usarlo
|
||
sia coi tasti <B>1-8</B> come descritto nelle pagine di man, o
|
||
con argomenti dalla linea di comando. <B>MPlayer</B> riconosce le seguenti
|
||
opzioni :
|
||
</P>
|
||
|
||
<P>
|
||
<CODE>-brightness</CODE> - regola la <B>LUMINOSIT<EFBFBD></B> dell'output
|
||
video. Non <20> come la regolazione della luminosit<69> sul pannello del monitor o della TV. Cambia
|
||
l'intensit<69> dei componenti RGB del segnale video da schermo nero a
|
||
bianco.<BR>
|
||
<CODE>-contrast</CODE> - regola il <B>CONTRASTO</B> dell'output video.
|
||
Funziona in maniera simile alla lumunosit<69>.<BR>
|
||
<CODE>-saturation</CODE> - regola la <B>SATURAZIONE</B> dell'output video.
|
||
Puoi ottenere un output in scala di grigi con questa opzione.<BR>
|
||
<CODE>-hue</CODE> - regola l' <B>HUE</B> del segnale video. Puoi ottenere
|
||
il negativo a colori dell'immagine con questa opzione.<BR>
|
||
<CODE>-red_intensity</CODE> - regola l'intensit<69> della componente <B>ROSSO</B>
|
||
del segnale video.<BR>
|
||
<CODE>-green_intensity</CODE> - regola l'intensit<69> della componente <B>VERDE</B>
|
||
del segnale video.<BR>
|
||
<CODE>-blue_intensity</CODE> - regola l'intensit<69> della componente <B>BLU</B>
|
||
del segnale video.
|
||
</P>
|
||
<P>
|
||
Ogni parametro accetta valori da <B>-1000</B> a <B>+1000</B>.<BR>
|
||
Il valore predefinito per ogni parametro <20> <B>0</B>.
|
||
</P>
|
||
<P>
|
||
<B>Nota:</B> Non tutti i driver supportano ognuno di questi parametri.
|
||
Attualmente solo <B>radeon_vid.so</B> fornisce il pieno supporto per l'equalizzazione video.
|
||
Altri driver supportano solo parzialmente queste opzioni.
|
||
</P>
|
||
<P><B>Esempi:</B><BR>
|
||
<CODE>mplayer -vo vesa:vidix -brightness -300 -contrast 200
|
||
nomefile.avi</CODE><BR>
|
||
o<BR>
|
||
<CODE>mplayer -vo xvidix -red_intensity -50 -saturation 400 -hue 300
|
||
nomefile.vob</CODE>
|
||
</P>
|
||
|
||
|
||
<P><B><A NAME=2.3.1.16>2.3.1.16. Zr</A></B></P>
|
||
|
||
<P>Questo <20> un driver per la visualizzazione (<CODE>-vo zr</CODE>) per un certo numero di schede MJPEG
|
||
di cattura/riproduzione (testato per DC10+ e Buz, e dovrebbe funzionare per
|
||
LML33, DC10). Il driver funziona codificando il frame in jpeg e mandandolo poi
|
||
alla scheda. Per la codifica jpeg <20> usato <B>libavcodec</B>,
|
||
ed <20> quindi necessario.</P>
|
||
|
||
<P>Questo driver dialoga col driver del kernel disponibile a
|
||
<A HREF="http://mjpeg.sourceforge.net">http://mjpeg.sourceforge.net</A>, quindi
|
||
devi far funzionare questo prima. Poi ricompila <B>MPlayer</B> con
|
||
<CODE>--enable-zr</CODE>.</P>
|
||
|
||
<P>Alcune osservazioni:
|
||
<UL>
|
||
<LI>non iniziare o fermare XawTV sul dispositivo di riproduzione durante la stessa,
|
||
bloccher<65> il tuo computer. Va comunque bene far partire <B>PRIMA</B>
|
||
XawTV, e <B>POI</B> <B>MPlayer</B>, aspettare che <B>MPlayer</B> finisca e
|
||
<B>POI</B> fermare XawTV.</LI>
|
||
<LI>questo driver aggiunge le opzioni <CODE>-zr*</CODE> alla linea di comando. La spiegazione di
|
||
queste opzioni pu<70> essere visualizzata con <CODE>-zrhelp</CODE>. E' possibile tagliare
|
||
il frame di input (tagliare i bordi per adattarlo o migliorare le prestazioni)
|
||
e fare altre cose.</LI>
|
||
<LI>Il driver prende i dati nei formati YV12 e YUY2. Questo significa che alcuni
|
||
codec non funzioneranno. Alcuni vecchi codec VfW (Video for Windows), per esempio,
|
||
non sono compatibili con questo driver. Il messaggio d'errore che vedrai <20>:
|
||
<CODE>Sorry, selected video_out device is incompatible with this codec.
|
||
</CODE></LI>
|
||
<LI>OSD non <20> attualmente supportato, quindi non vedrai i
|
||
sottotitoli.</LI>
|
||
</UL>
|
||
</P>
|
||
|
||
|
||
|
||
<P><B><A NAME=2.3.1.A>2.3.1.A. Supporto TV-out</A></B></P>
|
||
|
||
<P><B><A NAME=2.3.1.A.1>2.3.1.A.1. Schede Matrox</A></B></P>
|
||
|
||
<P>Sotto Linux hai due modi per far funzionare l'output TV :</P>
|
||
|
||
<P>
|
||
<UL>
|
||
<LI><B>XFree86</B>: usando il driver e il modulo HAL, disponibile al
|
||
<A HREF="http://www.matrox.com">sito della Matrox</A>. Questo ti dar<61> X sulla
|
||
TV.<BR> <B>Questo metodo non da una riproduzione accelerata</B> come
|
||
sotto Windoze! Il secondo connettore ha solo il framebuffer YUV, il <I>BES</I>
|
||
(Back End Scaler, il ridimensionatore YUV sulle schede G200/G400/G450/G550) non funziona
|
||
su questo! Il driver per windows in qualche modo aggira questo problema, probabilmente usando il motore
|
||
3D per zoomare, e il framebuffer YUV per visualizzare l'immagine zoomata.
|
||
Se vuoi veramente usare X, usa le opzioni <CODE>-vo x11 -fs -zoom</CODE>,
|
||
ma sar<61> <B>LENTO</B>, e ha la protezione da copia <B>Macrovision</B>
|
||
abilitata (puoi "aggirare" Macrovision usando
|
||
<A HREF="http://avifile.sourceforge.net/mgamacro.pl">questo</A> script perl.
|
||
</LI>
|
||
<LI><B>Framebuffer</B>: usando i <B>moduli matroxfb</B> dei kernel 2.4.
|
||
I kernel 2.2 non hanno la possibilit<69> di usare il TVout, quindi sono inutili per questo.
|
||
Devi abilitare TUTTE le voci relative al matroxfb durante la compilazione (eccetto il
|
||
MultiHead), e compilarle come <B>moduli</B>!
|
||
<UL>
|
||
<LI>
|
||
Entra in <CODE>TVout/matroxset</CODE> e fai <CODE>make</CODE>. Installa
|
||
<CODE>matroxset</CODE> da qualche parte nel tuo PATH.</LI>
|
||
<LI>
|
||
Se non hai <CODE>fbset</CODE> installato, entra in
|
||
<CODE>TVout/fbset</CODE> e fai <CODE>make</CODE>. Installa
|
||
<CODE>fbset</CODE> da qualche parte nel tuo PATH.</LI>
|
||
<LI>
|
||
Poi entra nella directory <CODE>TVout/</CODE> dei sorgenti di <B>MPlayer</B>,
|
||
ed esegui <CODE>./modules</CODE> da root. La tua console in modalit<69> testo
|
||
entrer<65> in modalit<69> framebuffer (non si pu<70> tornare indietro!).</LI>
|
||
<LI>Quindi, esegui lo script <CODE>./matroxtv</CODE>. Questo ti presenter<65> un
|
||
menu molto semplice. Premi <B>2</B> e <B>ENTER</B>. Ora dovresti avere la stessa immagine
|
||
sul monitor e sulla TV. L'opzione <B>3.</B>
|
||
cambier<65> al display indipendente, ma a quel punto <B>non puoi usare X</B>! Se
|
||
l'immagine della TV (PAL !) ha delle strane strisce, lo script non <20> stato in grado di
|
||
settare correttamente la risoluzione (a 640x512 di default). Usa altre voci del menu
|
||
a caso e andr<64> a posto :)</LI>
|
||
</UL>
|
||
|
||
<P>
|
||
Yoh. Il prossimo compito <20> quello di far scomparire il cursore su tty1 (o quello che <20>),
|
||
e disattivare lo spegnimento dello schermo. Esegui i seguenti comandi:</P>
|
||
|
||
<P>
|
||
<CODE>echo -e '\033[?25l'</CODE> o <CODE>setterm -cursor off<BR>
|
||
setterm -blank 0</CODE>
|
||
</P>
|
||
|
||
<P>
|
||
Probabilmente vorrai metterli in uno script, e anche pulire lo
|
||
schermo.. Per riavere il cursore :<BR><CODE>echo -e '\033[?25h'</CODE>
|
||
o <CODE>setterm -cursor on</CODE>
|
||
</P>
|
||
|
||
<P>Inizia la riproduzione del filmato con <CODE>mplayer -vo mga -fs -screenw 640
|
||
-screenh 512 <nomefile></CODE><BR>
|
||
(se usi X, ora cambia a matroxfb con per esempio CTRL-ALT-F1 !)<BR>
|
||
Cambia 640x512 se hai impostato la risoluzione diversamente..<BR>
|
||
<B>Goditi l' ultra-veloce output TV Matrox (meglio di Xv) !</B>
|
||
</P>
|
||
</LI>
|
||
</LI>
|
||
</UL>
|
||
</P>
|
||
|
||
|
||
<P><B><A NAME=2.3.1.A.2>2.3.1.A.2. Schede ATI</A></B></P>
|
||
|
||
<P>
|
||
<b>Poche parole sul TV-out di ATI:</b><BR>
|
||
Attualmente ATI non vuole supportare nessuno dei suoi chip TV-out sotto Linux.
|
||
Sotto c'<27> la risposta ufficiale di ATI Inc.:
|
||
|
||
<P>
|
||
<code>
|
||
<i>
|
||
<br>> Ciao!
|
||
<br>>
|
||
<br>> Sulle vostre pagine scrivete che supportate gli sviluppatori linux.
|
||
<br>> Attualmente partecipo al progetto mplayer (www.mplayerhq.hu)
|
||
<br>> Sono interessato ad abilitare il TV-out su chip Radeon VE durante
|
||
<br>> la riproduzione di filmati. Sarebbe bello aggiungere questa caratteristica al driver radeonfb
|
||
<br>> (che si trova nell'albero CVS del progetto mplayer in main/drivers/radeon).
|
||
<br>> Ho la possibilit<69> di avere della documentazione tecnica ufficiale?
|
||
</i>
|
||
<br>Non possiamo fornire documentazione relativa al TV out a causa della presenza di macrovision.
|
||
<br>Anche il decoding mpeg2 <20> qualcosa che POTREMMO considerare nel futuro ma non
|
||
<br>al momento. Questo <20> dovuto ancora a informazioni proprietarie e di terze
|
||
<br>parti.
|
||
</code>
|
||
</P>
|
||
|
||
<P>Peccato vero?</P>
|
||
|
||
<P>
|
||
<code>
|
||
<B>D:Cos'<27> Macrovision?</B><BR>
|
||
R:E' un meccanismo di protezione dalla copia.</code>
|
||
</P>
|
||
|
||
<P>Significa che se loro rilasciano qualunque informazione relativa al TV-out allora gli
|
||
hacker saranno in grado di disabilitare la protezione dalla copia sui loro chip. Quindi
|
||
non abbiamo possibilit<69> di far funzionare il TV-out sulle ATI.</P>
|
||
|
||
<P>Qual'<27> lo stato dei chip tv-out ATI sotto Linux:
|
||
<LI><b>ATI Mach64</b> ha <i>ImpacTV</i> che <20> supportato da <A HREF="http://gatos.sf.net">gatos</A>.
|
||
<LI><b>ASIC Radeon VIVO</b> ha <i>Rage Theatre</i> che <20> supportato da <A HREF="http://gatos.sf.net">gatos</A>.
|
||
<LI><b>Radeon VE</b> e <b>Rage PRO LT</b> hanno <i>ImpacTV2+</i> che non <20> supportato sotto Linux.
|
||
Ma con <B>MPlayer</B> ottieni <B>piena accelerazione hardware</B> e <B>TV out</B>
|
||
per le Radeon !
|
||
Guarda le sezioni <a href=#2.3.1.12>driver VESA</a> e <A HREF=#2.3.1.14>accelerazione Radeon
|
||
</A>.</P>
|
||
|
||
<P>
|
||
Fortunatamente, i possessori di CPU abbastanza potenti (Duron, Celeron2 e migliori) <b>possono vedere
|
||
i film sulla TV</b> attraverso i <a href=#2.3.1.12>driver VESA</a>.
|
||
</P>
|
||
|
||
<P>
|
||
Dovrei dire anche delle buone parole a ATI Inc. :<br>
|
||
<b>producono dei BIOS della migliore qualit<69>.</b>
|
||
</P>
|
||
|
||
<P>
|
||
I <b>driver VESA</b> non usano nessuna accelerazione hardware ma simulano
|
||
<b>DGA</b> con una finestra di 64K, che <20> configurata con le funzioni a 32-bit
|
||
del BIOS. Le schede ATI hanno una <b>memoria video</b> abbastanza veloce (chip DIMM o DDR
|
||
con accesso a 64 - 128-bit) quindi non <20> un collo di bottiglia per loro. Non ci sono limitazioni
|
||
per la scelta della modalit<69> video da mostrare sulla TV (come in altre
|
||
schede) quindi puoi usare <b>qualunque modalit<69> video</b> sulla tua <b>TV</b> (da
|
||
<b>320x200</b> fino a <b>1024x768</b>).<br>
|
||
D'altra parte (si sa con certezza almeno per le <b>Radeon</b>) c'<27> una modalit<69> <b>DGA</b>
|
||
che <20> riconosciuta automaticamente e in questo caso otterrai una velocit<69> paragonabile a quella
|
||
dei driver <b>-vo dga</b> e <b>-vo fbdev</b>.<br>
|
||
L'unica cosa che devi fare - <b>connettere la TV prima di avviare il tuo
|
||
PC</b> in quanto il BIOS video si inizializza una sola volta durante la procedura di POST.
|
||
</P>
|
||
|
||
<P>
|
||
Per dettagli vedi le sezioni <a href="video.html#2.3.1.12">VESA</a> di questa
|
||
documentazione.
|
||
</P>
|
||
|
||
|
||
<P><B><A NAME=2.3.1.A.3>2.3.1.A.3. Voodoo 3</A></B></P>
|
||
|
||
<P>
|
||
Guarda a <A HREF="http://www.iki.fi/too/tvout-voodoo3-3000-xfree">questa URL</A>.
|
||
</P>
|
||
|
||
</BODY>
|
||
</HTML>
|