mpv/DOCS/xml/es/video.xml

2305 lines
84 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- synced with 1.23 -->
<sect2 id="video-dev">
<title>Dispositivos de salida de video</title>
<sect3 id="mtrr">
<title>Configurando MTRR</title>
<para>
Es MUY recomendable comprobar si los registros MTRR est<73>n
correctamente establecidos, porque pueden proporcionar un
aumento considerable de rendimiento.
</para>
<para>
Haga <command>/proc/mtrr</command>:
<screen>
<prompt>--($:~)--</prompt> cat /proc/mtrr
reg00: base=0xe4000000 (3648MB), size= 16MB: write-combining, count=9
reg01: base=0xd8000000 (3456MB), size= 128MB: write-combining, count=1<!--
--></screen>
</para>
<para>
Esto es lo correcto, muestra mi Matrox G400 con 16MB de memoria.
Tengo esto por usar XFree 4.x.x, que configura los registros MTRR
autom<EFBFBD>ticamente.
</para>
<para>
Si no funciona, deber<65> hacerlo de manera manual. Primero, debe encontrar
la direcci<63>n base. Tiene 3 formas de encontrarla:
<orderedlist>
<listitem><para>
desde los mensajes de inicio de X11, por ejemplo:
<screen>
(--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000
(--) SVGA: Linear framebuffer at 0xD8000000<!--
--></screen>
</para></listitem>
<listitem><para>
de <filename>/proc/pci</filename> (use la <20>rden <command>lspci -v</command>):
<screen>
01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525
Memory at d8000000 (32-bit, prefetchable)
</screen>
</para></listitem>
<listitem><para>
de los mensajes del controlador del kernel mga_vid kernel (use <command>dmesg</command>):
<screen>mga_mem_base = d8000000</screen>
</para></listitem>
</orderedlist>
</para>
<para>
Despu<EFBFBD>s encuentre el tama<6D>o de la memoria. Esto es muy f<>cil, convierta el
tama<EFBFBD>o de la memoria RAM de video a hexadecimal, o use esta tabla:
<informaltable frame="none">
<tgroup cols="2">
<tbody>
<row><entry>1 MB</entry><entry>0x100000</entry></row>
<row><entry>2 MB</entry><entry>0x200000</entry></row>
<row><entry>4 MB</entry><entry>0x400000</entry></row>
<row><entry>8 MB</entry><entry>0x800000</entry></row>
<row><entry>16 MB</entry><entry>0x1000000</entry></row>
<row><entry>32 MB</entry><entry>0x2000000</entry></row>
</tbody>
</tgroup>
</informaltable>
</para>
<para>
Ahora ya conoce la direcci<63>n base y el tama<6D>o de la memoria, <20>vamos
a configurar los registros MTRR!
Por ejemplo, para la tarjeta Matrox de antes (<literal>base=0xd8000000</literal>)
con 32MB ram (<literal>size=0x2000000</literal>) ejecute:
<screen>
echo "base=0xd8000000 size=0x2000000 type=write-combining" &gt;| /proc/mtrr
</screen>
</para>
<para>
No todas las CPUs soportan MTRRs. Por ejemplo K6-2's antiguos (alrededor
de 266MHz, stepping 0) no soportan MTRR, pero stepping 12's lo
soportan (<command>cat /proc/cpuinfo</command> para comprobarlo).
</para>
</sect3>
<sect3 id="output-trad">
<title>Salidas de video para tarjetas de video tradicionales</title>
<sect4 id="xv">
<title>Xv</title>
<para>
Bajo XFree86 4.0.2 o posterior, puede usar las rutinas de hardware YUV de su
tarjeta gr<67>fica usando la extensi<73>n XVideo. Esto es lo que usa la opci<63>n
<option>-vo xv</option>. Adem<65>s, este controlador soporta ajustes de
brillo/contraste/saturaci<63>n/etc (a menos que use el antiguo, lento codec
DirectShow DivX, que tiene soporte siempre), vea la p<>gina de manual.
</para>
<para>
Para que esto funcione, aseg<65>rese de comprobar lo siguiente:
<orderedlist>
<listitem><para>
Tiene que usar XFree86 4.0.2 o posterior (otras versiones no tienen XVideo)
</para></listitem>
<listitem><para>
Su tarjeta actualmente soporta aceleraci<63>n hardware (las modernas lo hacen)
</para></listitem>
<listitem><para>
X carga la extensi<73>n XVideo, esto es algo como:
<programlisting>(II) Loading extension XVideo</programlisting>
en <filename>/var/log/XFree86.0.log</filename>
<note><para>
Esto carga solo la extensi<73>n de XFree86. En una instalaci<63>n buena, siempre
es cargado, y no importa si el soporte XVideo para la
<emphasis role="bold">tarjeta</emphasis> ha sido cargado!
</para></note>
</para></listitem>
<listitem><para>
Su tarjeta tiene soporte Xv bajo Linux. Para comprobarlo, pruebe
<command>xvinfo</command>, es parte de la distribuci<63>no XFree86. Debe mostrar
un texto largo, similar a <20>ste:
<screen>
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)
(...etc...)<!--
--></screen>
Debe soportar formatos de pixel YUY2 packed, y YV12 planar para ser
usables con <application>MPlayer</application>.
</para></listitem>
<listitem><para>
Y finalmente, compruebe si <application>MPlayer</application> fue
compilado con soporte 'xv'. <filename>./configure</filename> muestra
esto.
</para></listitem>
</orderedlist>
</para>
<sect5 id="tdfx">
<title>Tarjetas 3dfx</title>
<para>
Controladores antiguos 3dfx se sabe que tienen problemas con la aceleraci<63>n
XVideo, no soportan ni YUY2 ni YV12, ni nada. Verifique que tiene XFree86
versi<EFBFBD>n 4.2.0 o posterior, este funciona bien con YV12 y YUY2. Versiones
previas, incluyendo 4.1.0, <emphasis role="bold">falla con YV12</emphasis>.
Si experiencia efectos extra<72>os usando <option>-vo xv</option>, pruebe SDL
(tiene XVideo tambi<62>n) y vea si eso puede ayudarle. Compruebe la
<link linkend="sdl">secci<EFBFBD>n SDL</link> para m<>s detalles.
</para>
<para>
<EFBFBD><emphasis role="bold">O</emphasis>, pruebe el NUEVO controlador
<option>-vo tdfxfb</option>! Vea la secci<63>n <link linkend="tdfxfb">tdfxfb</link>.
</para>
</sect5>
<sect5 id="s3">
<title>Tarjetas S3</title>
<para>
Las S3 Savage3D deben funcionar bien, pero para Savage4, use XFree86 version 4.0.3
o posterior (en caso de problemas con la imagen, pruebe 16bpp). Como para
S3 Virge: hay soporte xv, pero la tarjeta es lenta por s<> misma, ser<65> mejor que
la venda.
</para>
<note>
<para>
Actualmente no est<73> claro qu<71> modelos de Savage carecen de soporte YV12, y
convierten por controlador (lento). Si sospecha de su tarjeta, obtenga un
controlador nuevo, o pregunte de forma correcta en la lista de correo
mplayer-users por un controlador con soporte para MMX/3DNow.
</para>
</note>
</sect5>
<sect5 id="nvidia">
<title>Tarjetas nVidia</title>
<para>
nVidia no es siempre una buena elecci<63>n bajo Linux (de acuerdo con nVidia esto
<link linkend="nvidia-opinions">no es verdad</link>)... El controlador de
c<EFBFBD>digo abierto de XFree86 tiene soporte en la mayor<6F>a de los casos, pero para
algunas tarjetas, tiene que usar un controlador de c<>digo-cerrado de nVidia,
disponible en el sitio web de nVidia. Siempre necesitar<61> ese controlador de
todos modos si quiere tambi<62>n aceleraci<63>n 3D.
</para>
<para>
Las tarjetas Riva128 no tienen soporte XVideo con el controlador nVidia de
XFree86 :( Las quejas a nVidia.
</para>
<para>
Sin embargo, MPlayer contiene un controlador <link linkend="vidix">Vidix</link>
(<link linkend="vidix-nvidia">nvidia_vid</link>) para la mayor<6F>a de las
tarjetas nVidia. Actualmente est<73> en estado beta, y tiene algunos problemas.
Para m<>s informaci<63>n, <link linkend="vidix-nvidia">clic aqu<71></link>.
</para>
</sect5>
<sect5 id="ati">
<title>Tarjetas ATI</title>
<para>
El <ulink url="http://www.linuxvideo.org/gatos">controlador GATOS</ulink>
(que es el que deber<65>a de usar, a menos que tenga una Rage128 o Radeon) tiene
VSYNC activado por defecto. Esto significa que tiene velocidad de decodificaci<63>n (!)
sincronizado con la tasa de refresco del monitor. Si la reproducci<63>n es lenta, pruebe
a desactivar VSYNC, o establezca una tasa de refresco a n*(fps de la pel<65>cula) Hz.
</para>
<para>
Radeon VE - si necesita X, use XFree86 4.2.0 o posterior para esta tarjeta.
No tiene soporte de salida de TV. Por supuesto con <application>MPlayer</application>
puede felizmente obtener gr<67>ficos <emphasis role="bold">acelerados</emphasis>, con o
sin <emphasis role="bold">salida TV</emphasis>, y no se necesitan bibliotecas o X.
Lea la secci<63>n <link linkend="vidix">VIDIX</link>.
</para>
</sect5>
<sect5 id="neomagic">
<title>Tarjetas NeoMagic</title>
<para>
Estas tarjetas se pueden encontrar en algunos port<72>tiles. Debe usar XFree86 4.3.0 o
posterior, o incluso los controladores de Stefan Seyfried
<ulink url="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver/">Xv-capable</ulink>.
Elija el que corresponda a su versi<73>n de XFree86.
</para>
<para>
XFree86 4.3.0 incluye soporte Xv, a pesar de eso Bohdan Horst envi<76> un peque<75>o
<ulink url="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver/neo_driver.patch">parche</ulink>
contra los fuentes de XFree86 que aceleran las operaciones de framebuffer (y XVideo por tanto)
hasta cuatro veces. El parche ha sido incluido en XFree86 CVS y deber<65> estar en la
siguiente liberaci<63>n despu<70>s de la 4.3.0.
</para>
<para>
Para permitir reproducci<63>n de contenido de tama<6D>o de DVD cambie su XF86Config como este:
<programlisting>
Section "Device"
[...]
Driver "neomagic"
<emphasis>Option "OverlayMem" "829440"</emphasis>
[...]
EndSection<!--
--></programlisting>
</para>
</sect5>
<sect5 id="trident">
<title>Tarjetas Trident</title>
<para>
Si quiere usar xv con una tarjeta trident, sepa que no funciona con
4.1.0, instale XFree 4.2.0. 4.2.0 a<>ade soporte para xv en pantalla completa
con la tarjeta Cyberblade XP.
</para>
<para>
Alternativamente, MPlayer contiene un controlador <link linkend="vidix">Vidix</link>
para la tarjeta Cyberblade/i1.
</para>
</sect5>
<sect5 id="kyro">
<title>Tarjetas Kyro/PowerVR</title>
<para>
Si quiere usar Xv con una tarjeta basada en Kyro (por ejemplo Hercules
Prophet 4000XT), debe descargar los controladores desde
<ulink url="http://www.powervr.com/">el sitio de PowerVR</ulink>
</para>
</sect5>
</sect4>
<!-- ********** -->
<sect4 id="dga">
<title>DGA</title>
<formalpara>
<title>PRE<EFBFBD>MBULO</title>
<para>
Este documento intenta explicar en pocas palabras que es DGA en general
y que puede hacer el controlador de video DGA de <application>MPlayer</application>
(y qu<71> no puede hacer).
</para>
</formalpara>
<formalpara>
<title>QU<EFBFBD> ES DGA</title>
<para>
<acronym>DGA</acronym> es una abreviatura para <emphasis>Direct Graphics
Access</emphasis> y eso significa que es un programa que pasa por alto
el servidor X y modifica directamente la memoria de framebuffer. T<>cnicamente
hablando esto se hace mapeando la memoria del framebuffer en el rango de
memoria de su proceso. Esto es permitido por el kernel solo si tiene privilegios
de superusuario. Puede obtenerlos identificandose como
<systemitem class="username">root</systemitem> o estableciendo el bit SUID en
el ejecutable de <application>MPlayer</application> (<emphasis role="bold">no
recomendado</emphasis>).
</para>
</formalpara>
<para>
Hay dos versiones de DGA: DGA1 es usado por XFree 3.x.x y DGA2 fue
introducido con Xfree 4.0.1.
</para>
<para>
DGA1 provee solo acceso directo al framebuffer como se describe m<>s arriba.
Para cambiar la resoluci<63>n de la se<73>al de video debe apoyarse en la extensi<73>n
XVidMode.
</para>
<para>
DGA2 incorpora las caracter<65>sticas de la extensi<73>n XVidMode y tambi<62>n
permite cambiar la profundidad de color de la pantalla. Con eso puede,
b<EFBFBD>sicamente ejecutar un servidor X con profundidad de color de 32 bit,
cambiando a una profundidad de 15 bits y viceversa.
</para>
<para>
Sin embargo DGA tiene algunos problemas. Parece ser muy dependiente del
chip gr<67>fico que usa en la implementaci<63>n del controlador de video en
el servidor X que controla a este chip. Por eso no funciona en todos los
sistemas...
</para>
<formalpara>
<title>INSTALANDO SOPORTE DGA PARA MPLAYER</title>
<para>Primero asegura que X carga la extensi<73>n DGA, mira en
<filename>/var/log/XFree86.0.log</filename>:
<programlisting>(II) Loading extension XFree86-DGA</programlisting>
Vea, XFree86 4.0.x o posterior es <20>ALTAMENTE RECOMENDADO!
El controlador DGA de <application>MPlayer</application> es autodetectado
por <filename>./configure</filename>, o puede forzarlo con <option>--enable-dga</option>.
</para>
</formalpara>
<para>
Si el controlador no puede cambiar a una resoluci<63>n menor, experimente
con opciones <option>-vm</option> (solo con X 3.3.x), <option>-fs</option>,
<option>-bpp</option>, <option>-zoom</option> para encontrar un modo de
video donde quepa la pel<65>cula. No hay un conversor bueno por ahora :(
</para>
<para>
H<EFBFBD>gase <systemitem class="username">root</systemitem>. DGA necesita acceso
root para permitir escribir directamente en la memoria de video. Si quiere
ejecutarlo como usuario, entonces instale <application>MPlayer</application>
SUID root:
<screen>
chown root /usr/local/bin/mplayer
chmod 750 /usr/local/bin/mplayer
chmod +s /usr/local/bin/mplayer
</screen>
Ahora funciona como usuario simple, tambi<62>n.
</para>
<caution>
<title>Riesgos de seguridad</title>
<para>
<EFBFBD>Esto es un <emphasis role="bold">gran</emphasis> riesgo de seguridad!
<emphasis role="bold">Nunca</emphasis> haga esto en un servidor o en un ordenador
que pueda ser accedido por otra gente porque pueden ganar privilegios de root
a trav<61>s del <application>MPlayer</application> SUID root.
</para>
</caution>
<para>
Ahora use la opci<63>n <option>-vo dga</option>, y ya debe ir! (espero :) Tambi<62>n
debe probar si la opci<63>n <option>-vo sdl:dga</option> funciona para usted!
<EFBFBD>Esto es mucho m<>s r<>pido!
</para>
<formalpara id="dga-modelines">
<title>CAMBIOS DE RESOLUCI<43>N</title>
<para>
El controlador DGA le permite cambiar la resoluci<63>n de la se<73>al de salida.
Esto evita tener que hacer escalado por software (lento) y al mismo tiempo
provee imagen a pantalla completa. Idealmente debe cambiarse a la resoluci<63>n
exacta (excepto para respetar relaci<63>n de aspecto) de los datos de video, pero
el servidor X solo permite cambiar resoluciones predefinidas en
<filename>/etc/X11/XF86Config</filename>
<filename>/etc/X11/XF86Config</filename>
(<filename>/etc/X11/XF86Config-4</filename> para XFree 4.X.X respectivamente).
Estas son definidas por las llamadas modelines y dependen de las capacidades
de su hardware de video. El servidor X escanea este archivo de configuraci<63>n
durante el inicio y desactiva los modelines que no sirvan para su hardware.
Puede encontrar que modos sobreviven en el archivo de historial de X11. Puede
encontrarse en: <filename>/var/log/XFree86.0.log</filename>.
</para>
</formalpara>
<para>
Se sabe que estas entradas funcionan bien con un chip Riva128, usando el
modulo de controlador nv.o del servidor X.
</para>
<para><programlisting>
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
</programlisting></para>
<formalpara>
<title>DGA &amp; MPLAYER</title>
<para>
DGA es usado en dos lugares con <application>MPlayer</application>: El
controlador SDL puede prepararse para que lo use (<option>-vo sdl:dga</option>)
y el controlador DGA (<option>-vo dga</option>. Lo mencionado m<>s arriba es
correcto para ambos; en las siguientes secciones explicar<61> c<>mo funciona
el controlador DGA para <application>MPlayer</application>.
</para>
</formalpara>
<formalpara>
<title>CARACTERISTICAS</title>
<para>
El controlador DGA es invocado especificando <option>-vo dga</option> en la
l<EFBFBD>nea de <20>rdenes. El comportamiento por defecto es cambiar a una resoluci<63>n
que coincida con la resoluci<63>n original del video o tan cercana como sea
posible. De forma deliberada ignora las opciones <option>-vm</option> y
<option>-fs</option> (activando el cambio de modo de video y pantalla
completa) - siempre intenta cubrir tanta <20>rea de su pantalla como sea
posible cambiando el modo de video, lo que lo hace usar un ciclo adicional
de su CPU para escalar la imagen. Si no le gusta este modo que elije puede
forzar que se elija el modo que se ajuste m<>s a la resoluci<63>n especificada
por <option>-x</option> y <option>-y</option>. Proporcionando la opci<63>n
<option>-v</option>, el controlador DGA imprimir<69>, junto con otro mont<6E>n
de cosas, una lista de todas las resoluciones soportadas por su archivo
<filename>XF86Config</filename> actual. Teniendo DGA2 tambi<62>n puede forzar
que se use cierta profundidad de color usando la opci<63>n <option>-bpp</option>.
Profundidades de color v<>lidas son 15, 16, 24 y 32. Depende de su hardware
que est<73>n soportadas de manera nativa o que se hagan mediante una conversi<73>n
por software (posiblemente lento).
</para>
</formalpara>
<para>
Si tiene la suerte suficiente para tener memoria fuera de pantalla restante
donde colocar una imagen entera, el controlador DGA usar<61> doblebuffering,
lo que puede resultar en una reproducci<63>n de la pel<65>cula mucho m<>s suave.
Le informar<61> de cu<63>ndo est<73> activado o no el doble-buffer.
</para>
<para>
Doblebuffering significa que el siguiente marco de su video est<73> siendo
dibujado en alguna zona de memoria fuera de la pantalla mientras se muestra
el marco actual. Cuando el siguiente marco est<73> listo, el chip de gr<67>ficos
solo dice la posici<63>n en memoria donde se encuentra y muestra los datos
que hay all<6C>. Mientras tanto el otro buffer en memoria es rellenado de nuevo
con nuevos datos de video.
</para>
<para>
Doblebuffering puede ser activado usando la opci<63>n <option>-double</option>
y desactivado con <option>-nodouble</option>. Actualmente la opci<63>n por
defecto es doblebuffering desactivado. Cuando use el controlador DGA,
la informaci<63>n en pantalla (OSD) solo funciona si est<73> el doblebuffering activado.
Sin embargo, activar doblebufferint puede resultar en una falta grande
de velocidad (en mi K6-II+ 525 usa un 20% adicional de tiempo de CPU!) dependiendo
de la implementaci<63>n de DGA para su hardware.
</para>
<formalpara>
<title>ASUNTOS SOBRE VELOCIDAD</title>
<para>
Generalmente hablando, el acceso DGA al framebuffer debe ser al menos tan
r<EFBFBD>pido como usar el controlador X11 con el beneficio adicional de obtener
una imagen a pantalla completa. Los porcentajes de velocidad son impresos por
<application>MPlayer</application> y se tienen que interpretar con cuidado,
por ejemplo, con el controlador X11 no se incluye el tiempo usado por
el servidor X necesario para realizar el dibujo en pantalla. Conecte un
terminal serie a su equipo e inicie <command>top</command> para ver qu<71>
es realmente lo que est<73> ocurriendo en su equipo.
</para>
</formalpara>
<para>
Generalmente hablando, el aumento de velocidad por usar DGA frente al uso
'normal' usando X11 depende en gran medida de su tarjeta gr<67>fica y de c<>mo
de optimizado est<73> el m<>dulo del servidor X.
</para>
<para>
Si tiene un sistema lento, mejor use 15 o 16 bit de profundidad de color porque
requieren solo la mitad de ancho de banda de memoria que una pantalla de 32 bit.
</para>
<para>
Usar una profundidad de color de 24 bit sigue siendo incluso buena idea aunque
su tarjeta soporte 32 bit de forma nativa porque transfiere 25% menos datos que
el modo 32/32.
</para>
<para>
He visto algunos archivos AVI reproducidos en un Pentium MMX 266. Las CPUs
AMD K6-2 deben funcionar a 400 MHz o superior.
</para>
<formalpara>
<title>FALLOS CONOCIDOS</title>
<para>
Bien, de acuerdo con algunos desarrolladores de XFree, DGA es bastante
bestia. Ellos aconsejan que es mejor no usarlo. Su implementaci<63>n no
funciona bien con todos los controladores de chipsets para XFree existentes.
</para>
</formalpara>
<itemizedlist>
<listitem><simpara>
Con XFree 4.0.3 y <filename>nv.o</filename> hay un fallo que resulta en
extra<72>os colores.
</simpara></listitem>
<listitem><simpara>
El controlador ATI requiere cambiar el modo original m<>s de una vez una
vez finaliza el uso de DGA.
</simpara></listitem>
<listitem><simpara>
Algunos controladores s<>mplemente fallan al volver a la resoluci<63>n
normal (use
<keycap>Ctrl</keycap>+<keycap>Alt</keycap>+<keycap>Keypad +</keycap> y
<keycap>Ctrl</keycap>+<keycap>Alt</keycap>+<keycap>Keypad -</keycap>
para volver al modo normal de manera manual).
</simpara></listitem>
<listitem><simpara>
Algunos controladores s<>mplemente muestran colores extra<72>os.
</simpara></listitem>
<listitem><simpara>
Algunos controladores se quejan de la cantidad de memoria que intenta
mapear el espacio de direcciones del proceso, incluso cuando vo_dga no
quiere usar doblebuffering (<28>SIS?).
</simpara></listitem>
<listitem><simpara>
Algunos controladores parecen fallar informando de un <20>nico modo
v<>lido. En este caso el controlador DGA falla diciendole que no tiene
sentido el modo 100000x100000 o algo as<61>.
</simpara></listitem>
<listitem><simpara>
OSD solo funciona con doblebuffering activado (si no parpadea).
</simpara></listitem>
</itemizedlist>
</sect4>
<!--</sect3>-->
<!-- ********** -->
<sect4 id="sdl">
<title>SDL</title>
<para>
<acronym>SDL</acronym> (Simple Directmedia Layer) es b<>sicamente una
interfaz unificada de video/audio. Los programas que la usan solo tienen
que preocuparse de SDL, y no del controlador de video o audio que SDL est<73>
usando. Por ejemplo una versi<73>n de Doom que use SDL puede usarse en
svgalib, aalib, X, fbdev, y otros, solo tiene que especificar el (por
ejemplo) controlador de video a usar con la variable de entorno
<envar>SDL_VIDEODRIVER</envar>. Bueno, te<74>ricamente.
</para>
<para>
Con <application>MPlayer</application>, se usa la caracter<65>stica del escalador
software del controlador X11 para tarjetas/controladores que no soportan
XVideo, hasta que hagamos nuestro propio (m<>s r<>pido, m<>s bonito) escalador
por software. Tambi<62>n usamos su salida aalib, pero ahora tenemos el nuestro propio
que es m<>s confortable. Su modo DGA fue mejor que el nuestro, hasta hace poco.
<EFBFBD>Lo quiere probar ahora? :)
</para>
<para>
Tambi<EFBFBD>n ayuda con algunos controladores/tarjetas con fallos si el video va
a saltos (sin ser un problema de sistema lento), o el audio va con retardo.
</para>
<para>
La salida de video SDL permite mostrar los subt<62>tulos debajo de la pel<65>cula,
en la (si est<73> presente) banda negra.
</para>
<variablelist>
<title>Hay varias opciones en la l<>nea de <20>rdenes para SDL:</title>
<varlistentry>
<term><option>-vo sdl:<replaceable>nombre</replaceable></option></term>
<listitem><simpara>
especifica el controlador de SDL de video a usar (i.e. <literal>aalib</literal>,
<literal>dga</literal>, <literal>x11</literal>)
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><option>-ao sdl:<replaceable>nombre</replaceable></option></term>
<listitem><simpara>
especifica el controlador de SDL de audio a usar (i.e. <literal>dsp</literal>,
<literal>esd</literal>, <literal>arts</literal>)
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><option>-noxv</option></term>
<listitem><simpara>
desactiva la aceleraci<63>n hardware XVideo
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><option>-forcexv</option></term>
<listitem><simpara>
intenta forzar la aceleraci<63>n XVideo
</simpara></listitem>
</varlistentry>
</variablelist>
<table>
<title>Teclas solo para SDL</title>
<tgroup cols="2">
<thead>
<row><entry>Tecla</entry><entry>Acci<EFBFBD>n</entry></row>
</thead>
<tbody>
<row><entry><keycap>c</keycap></entry><entry>
cambia entre los modos de pantalla completa disponibles
</entry></row>
<row><entry><keycap>n</keycap></entry><entry>
regresa al modo normal
</entry></row>
</tbody>
</tgroup>
</table>
<itemizedlist>
<title>Fallos conocidos:</title>
<listitem><simpara>
Al pulsar teclas bajo una consola sdl:aalib el controlador la repite
indefinidamente. (<28>Mejor use la opci<63>n <option>-vo aa</option>!) Es un
fallo de SDL, yo no puedo cambiarlo (probado con SDL 1.2.1).
</simpara></listitem>
<listitem><simpara>
<20>NO USE SDL con GUI! El comportamiento no ser<65> el esperado.
</simpara></listitem>
</itemizedlist>
</sect4>
<sect4 id="svgalib">
<title>SVGAlib</title>
<formalpara>
<title>INSTALACI<EFBFBD>N</title>
<para>
Debe instalar svgalib y su paquete de desarrollo para construir
<application>MPlayer</application> con el controlador SVGAlib (es autodetectado,
aunque tambi<62>n puede forzarse), y no se olvide de editar
<filename>/etc/vga/libvga.config</filename> para configurar su tarjeta y su
monitor.
</para>
</formalpara>
<note>
<para>
Aseg<EFBFBD>rese de no usar la opci<63>n <option>-fs</option>, porque cambia el estado
del uso del escalador software, y es lento. Si realmente lo necesita, use
la opci<63>n <option>-sws 4</option> lo que le producir<69> peor calidad, pero
es algo m<>s r<>pido.
</para>
</note>
<formalpara><title>SOPORTE EGA (4BPP)</title>
<para>
SVGAlib incorpora EGAlib, y <application>MPlayer</application> tiene la
posibilidad de mostrar cualquier pel<65>cula en 16 colores, de manera que se
puede usar con las siguientes configuraciones de equipos:
</para>
</formalpara>
<itemizedlist>
<listitem><simpara>
Tarjeta EGA con monitor EGA: 320x200x4bpp, 640x200x4bpp, 640x350x4bpp
</simpara></listitem>
<listitem><simpara>
Tarjeta EGA con monitor CGA: 320x200x4bpp, 640x200x4bpp
</simpara></listitem>
</itemizedlist>
<para>
El valor bpp (bits por pixel) debe establecerse a 4 manualmente:
<option>-bpp 4</option>
</para>
<para>
La pel<65>cula probablemente deber<65> ser escalada para ajustarse al modo EGA:
<screen>-vf scale=640:350</screen>
o
<screen>-vf scale=320:200</screen>
</para>
<para>
Para eso se necesita una rutina de escalado de mala calidad pero r<>pida:
<screen>-sws 4</screen>
</para>
<para>
Quiz<EFBFBD> la correcci<63>n autom<6F>tica de relaci<63>n de aspecto deber<65> desactivarse:
<screen>-noaspect</screen>
</para>
<note><para>
De acuerdo con mi experiencia la mejor calidad de imagen
en pantallas EGA puede obtenerse decrementando el brillo un poco:
<option>-vf eq=-20:0</option>. Tambi<62>n necesit<69> bajar la tasa de
muestreo en mi equipo, porque el sonido no funcionaba a 44kHz:
<option>-srate 22050</option>.
</para></note>
<para>
Puede activar OSD y subt<62>tulos solo con el filtro <systemitem>expand</systemitem>,
vea la p<>gina de manual para los par<61>metros concretos.
</para>
</sect4>
<sect4 id="fbdev">
<title>Salida en framebuffer (FBdev)</title>
<para>
Si se construye o no el objetivo FBdev es autodetectado durante el
<filename>./configure</filename>. Lea la documentaci<63>n del framebuffer en
los fuentes del n<>cleo (<filename>Documentation/fb/*</filename>) para m<>s
informaci<EFBFBD>n.
</para>
<para>
Si su tarjeta no soporta el est<73>ndar VBE 2.0 (tarjetas ISA/PCI antiguas, tales
como S3 Trio64), solo VBE 1.2 (<28>o anterior?): Bueno, VESAfb sigue funcionando,
pero necesitar<61> cargar SciTech Display Doctor (formalmente UniVBE) antes de
iniciar Linux. Use un disco de inicio DOS o similar. Y no olvide registrar
UniVBE ;))
</para>
<para>
La salida FBdev toma par<61>metros adicionales sobre los otros:
</para>
<variablelist>
<varlistentry>
<term><option>-fb</option></term>
<listitem><simpara>
especifica el dispositivo framebuffer a usar (<filename>/dev/fb0</filename>)
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><option>-fbmode</option></term>
<listitem><simpara>
nombre del modo a usar (de acuerdo con <filename>/etc/fb.modes</filename>)
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><option>-fbmodeconfig</option></term>
<listitem><simpara>
archivo de configuraci<63>n de modos (por defecto <filename>/etc/fb.modes</filename>)
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><option>-monitor_hfreq</option></term>
<term><option>-monitor_vfreq</option></term>
<term><option>-monitor_dotclock</option></term>
<listitem><simpara>
valores importantes <emphasis role="bold">important</emphasis>, vea
<filename>example.conf</filename>
</simpara></listitem>
</varlistentry>
</variablelist>
<para>
Si desea cambiar a un modo espec<65>fico, use
<screen>mplayer -vm -fbmode <replaceable>nombre_del_modo</replaceable> <replaceable>nombrearchivo</replaceable></screen>
</para>
<itemizedlist>
<listitem><para>
<option>-vm</option> sin m<>s opciones elije el mejor modo desde
<filename>/etc/fb.modes</filename>. Puede usarse junto con
las opciones <option>-x</option> y <option>-y</option> tambi<62>n. La opci<63>n
<option>-flip</option> est<73> soportada solo si el formato de pixel de la
pel<65>cula coincide con el formato de pixel del modo de video. Preste atenci<63>n
al valor bpp, el controlador fbdev intentar<61> usar el actual, o si especifica
uno con la opci<63>n <option>-bpp</option>, pues ese.
</para></listitem>
<listitem><para>
La opci<63>n <option>-zoom</option> no est<73> soportada (use <option>-vf scale</option>).
No puede usar modos de 8bpp (o menos).
</para></listitem>
<listitem><para>
Posiblemente quiera desactivar el cursor:
<screen>echo -e '\033[?25l'</screen>
o
<screen>setterm -cursor off</screen>
y el protector de pantalla:
<screen>setterm -blank 0</screen>
Para volver a activar el cursor:
<screen>echo -e '\033[?25h'</screen>
o
<screen>setterm -cursor on</screen>
</para></listitem>
</itemizedlist>
<note>
<para>
Los cambios de modo de video para FBdev <emphasis>no funcionan</emphasis> con
el framebuffer VESA, y no nos pida que funcione, porque no es una limitaci<63>n
de <application>MPlayer</application>.
</para>
</note>
</sect4>
<sect4 id="mga_vid">
<title>Framebuffer de Matrox (mga_vid)</title>
<para>
Esta secci<63>n se encarga de describir el soporte de Matrox
G200/G400/G450/G550 BES (Back-End Scaler), el controlador del n<>cleo mga_vid.
Est<EFBFBD> en activo desarrollo poro A'rpi, y tiene soporte de VSYNC por hardware
con triple buffering. Funciona tanto en consola con frambuffer como bajo X.
</para>
<warning>
<para>
<EFBFBD>Esto es solo en Linux! En sistemas no-Linux (probado en FreeBSD), puede
usar en su lugar <link linkend="vidix">VIDIX</link>!
</para>
</warning>
<procedure>
<title>Instalaci<EFBFBD>n:</title>
<step><para>
Para usarlo, primero tendr<64> que compilar <filename>mga_vid.o</filename>:
<screen>
cd drivers
make<!--
--></screen>
</para></step>
<step><para>
Cree ahora el dispositivo <filename>/dev/mga_vid</filename>:
<screen>mknod /dev/mga_vid c 178 0</screen>
y cargue el controlador con
<screen>insmod mga_vid.o</screen>
</para></step>
<step><para>
Deber<65> verificar la autodetecci<63>n del tama<6D>o de memoria
usando la <20>rden <command>dmesg</command>. Si es incorrecta,
use la opci<63>n <option>mga_ram_size</option> (antes haga
<command>rmmod mga_vid</command>), especifique el tama<6D>o
de la memoria de la tarjeta gr<67>fica en MB:
<screen>insmod mga_vid.o mga_ram_size=16</screen>
</para></step>
<step><para>
Para que se cargue/descargue autom<6F>ticamente cuando sea necesario,
primero inserte la siguiente l<>nea al final de
<filename>/etc/modules.conf</filename>:
<programlisting>alias char-major-178 mga_vid</programlisting>
Despu<70>s copie el m<>dulo <filename>mga_vid.o</filename> al lugar
apropiado bajo <filename>/lib/modules<replaceable>versi<EFBFBD>n de
kernel</replaceable>/<replaceable>dondesea</replaceable></filename>.
</para><para>
Y despu<70>s ejecute
<screen>depmod -a</screen>
</para></step>
<step><para>
Ahora deber<65> (re)compilar <application>MPlayer</application>,
<filename>./configure</filename> detectar<61>
<filename>/dev/mga_vid</filename> y construir<69> el controlador 'mga'.
Luego lo podr<64> usar con <application>MPlayer</application> mediante
<option>-vo mga</option> si tiene una consola matroxfb, o
<option>-vo xmga</option> bajo XFree86 3.x.x <20> 4.x.x.
</para></step>
</procedure>
<para>
El controlador mga_vid coopera con Xv.
</para>
<para>
El archivo de dispositivo <filename>/dev/mga_vid</filename> puede ser le<6C>do
para obtener informai<61>n, por ejemplo mediante <screen>cat /dev/mga_vid</screen>
y puede se escrito para realizar cambios en el brillo:
<screen>echo "brightness=120" &gt; /dev/mga_vid</screen>
</para>
</sect4>
<sect4 id="tdfxfb" xreflabel="3Dfx YUV support (tdfxfb)">
<title>Soporte 3Dfx YUV</title>
<para>
Este controlador usa el controlador framebuffer del kernel tdfx para
reproducir las pel<65>culas con aceleraci<63>n YUV. Necesita un kernel con
soporte tdfxfb, y recompilar con
<screen>./configure --enable-tdfxfb</screen>
</para>
</sect4>
<sect4 id="opengl">
<title>Salida OpenGL</title>
<para>
<application>MPlayer</application> permite mostrar pel<65>culas usando OpenGL,
pero si su plataforma/controlador soporta xv como es el caso en un PC con
Linux, usa xv en su lugar, el rendimiento en OpenGL es considerablemente
peor. Si tiene una implementaci<63>n de X11 sin soporte para xv, OpenGL es una
alternativa viable.
</para>
<para>
Desafortunadamente no todos los controladores soportan esta caracter<65>stica.
Los controladores Utah-GLX (para XFree86 3.3.6) lo soportan para todas las
tarjetas.
Vea <ulink url="http://utah-glx.sourceforge.net"/> para detalles sobre su
instalaci<EFBFBD>n.
</para>
<para>
XFree86(DRI) 4.0.3 o posterior soportan OpenGL con tarjetas Matrox y Radeon,
4.2.0 o posterior soportan Rage128.
Vea <ulink url="http://dri.sourceforge.net"/> para instrucciones de descarga
e instalaci<63>n.
</para>
<para>
Un consejo de uno de nuestros usuarios: la salida de video GL puede usarse
para obtener salida de TV con sincronizaci<63>n vertical. Puede establecer
una variable de entorno (por lo menos con nVidia):
</para>
<para>
<command>export $__GL_SYNC_TO_VBLANK=1</command>
</para>
</sect4>
<sect4 id="aalib">
<title>AAlib - reproduciendo en modo texto</title>
<para>
AAlib es una biblioteca para mostrar gr<67>ficos en modo texto, usando un
render ASCII potente. Hay <emphasis>montones</emphasis> de programas que
tienen soporte para AAlib, como Doom, Quake, etc.
<application>MPlayer</application> contiene un controlador que funciona
bastante bien para ello. Si <filename>./configure</filename> detecta
que aalib est<73> instalado, el controlador aalib libvo ser<65> compilado.
</para>
<para>
Puede usar algunas teclas en la ventana AA para cambiar las opciones
de renderizado:
</para>
<informaltable>
<tgroup cols="2">
<thead>
<row><entry>Tecla</entry><entry>Acci<EFBFBD>n</entry></row>
</thead>
<tbody>
<row><entry><keycap>1</keycap></entry><entry>
reducir contraste
</entry></row>
<row><entry><keycap>2</keycap></entry><entry>
aumentar contraste
</entry></row>
<row><entry><keycap>3</keycap></entry><entry>
reducir brillo
</entry></row>
<row><entry><keycap>4</keycap></entry><entry>
aumentar brillo
</entry></row>
<row><entry><keycap>5</keycap></entry><entry>
cambiar renderizado r<>pido activado/desactivado
</entry></row>
<row><entry><keycap>6</keycap></entry><entry>
establece el modo de difuminado (ninguno, distribuci<63>n de error,
Floyd Steinberg)
</entry></row>
<row><entry><keycap>7</keycap></entry><entry>
invierte la imagen
</entry></row>
<row><entry><keycap>8</keycap></entry><entry>
cambia entre control de aa y <application>MPlayer</application>
</entry></row>
</tbody>
</tgroup>
</informaltable>
<variablelist>
<title>Pueden usarse las siguientes opciones en la l<>nea de <20>rdenes:</title>
<varlistentry>
<term><option>-aaosdcolor=<replaceable>V</replaceable></option></term>
<listitem><para>
cambia el color OSD
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-aasubcolor=<replaceable>V</replaceable></option></term>
<listitem><para>
cambia el color de los subt<62>tulos
</para><para>
donde <replaceable>V</replaceable> puede ser:
<literal>0</literal> (normal),
<literal>1</literal> (oscuro),
<literal>2</literal> (negrita),
<literal>3</literal> (tipograf<61>a negrita),
<literal>4</literal> (invertido),
<literal>5</literal> (especial).
</para></listitem>
</varlistentry>
</variablelist>
<variablelist>
<title>AAlib provee por s<> mismo una gran cantidad de opciones. Aqu<71> est<73>n
algunas de las m<>s importantes:</title>
<varlistentry>
<term><option>-aadriver</option></term>
<listitem><simpara>
establecer el controlador aa recomendado (X11, curses, Linux)
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><option>-aaextended</option></term>
<listitem><simpara>
usar los 256 caracteres
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><option>-aaeight</option></term>
<listitem><simpara>
usar ASCII de ocho bit
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><option>-aahelp</option></term>
<listitem><simpara>
muestra todas las opciones de aalib
</simpara></listitem>
</varlistentry>
</variablelist>
<note>
<para>
El renderizado hace un uso intensivo de la CPU, especialmente usando
AA-en-X (usando aalib bajo X), y hace un uso menos intenso de CPU en
una consola est<73>ndar, sin framebuffer. Use SVGATextMode para establecer
un modo texto grande, <20>y disfr<66>telo! (en las tarjetas Hercules con
pantalla secundaria queda muy bien :)) (pero en mi humilde opini<6E>n
puede usar la opci<63>n <option>-vf 1bpp</option> para obtener gr<67>ficos
en hgafb :)
</para>
</note>
<para>
Use la opci<63>n <option>-framedrop</option> si su ordenador no es lo
suficientemente r<>pido para renderizar todos los marcos!
</para>
<para>
Al reproducir en un terminal puede obtener mejor velocidad y calidad
usando el controlador Linux, en lugar del curses (<option>-aadriver linux</option>).
Pero lo malo es que necesita permisos de escritura en
<filename>/dev/vcsa<replaceable>&lt;terminal&gt;</replaceable></filename>!
Esto no es autom<6F>ticamente detectado por aalib, pero vo_aa intenta encontrar
el mejor modo.
Vea <ulink url="http://aa-project.sourceforge.net/tune"/> para m<>s detalles
y ajustes.
</para>
</sect4>
<sect4 id="vesa">
<title>VESA - salida en VESA BIOS</title>
<para>
Este controlador fue dise<73>ado e introducido como un
<emphasis role="bold">controlador gen<65>rico</emphasis> para cualquier tarjeta
gr<EFBFBD>fica que tenga una BIOS compatible con VESA VBE 2.0. Otra ventaja
de este controlador es que intenta forzar la activaci<63>n de la salida
de TV.
<citetitle>VESA BIOS EXTENSION (VBE) Version 3.0 Fecha: 16 de Septiembre,
1998</citetitle> (P<>gina 70) dice:
</para>
<blockquote>
<formalpara><title>Dise<EFBFBD>os de controlador-dual</title>
<para>
VBE 3.0 soporta el dise<73>o de controlador-dual asumiendo que ambos controladores
norlmanmente son proporcionados por el mismo OEM, bajo el control de una ROM
BIOS <20>nica en la misma tarjeta gr<67>fica, es posible esconder el hecho
de que hay dos controladores presentes para la aplicaci<63>n. Esto tiene la
limitaci<EFBFBD>n de prevenir el uso simult<6C>neo de controladores independientes,
pero permite a las aplicaciones que se hayan desarrollado antes de la liberaci<63>n
de VBE 3.0 operar normalmente. La funci<63>n VBE 00h (Devuelve Informaci<63>n sobre
el Controlador) devuelve informaci<63>n combinada de ambos controladores, incluyendo
una lista combinada de los modos disponibles. Cada una de las funciones VBE
restantes operan en el controlador activo.
</para>
</formalpara>
</blockquote>
<para>
Por ello puede hacer que la salida-TV funcione usando este controlador.
(Yo creo que la salida-TV normalmente tiene una cabeza individual o
al menos una salida individual.)
</para>
<itemizedlist spacing="compact">
<title>VENTAJAS</title>
<listitem><simpara>
Le permite ver sus pel<65>culas <emphasis role="bold">incluso si Linux no
conoce</emphasis> su hardware de video.
</simpara></listitem>
<listitem><simpara>
No necesita tener instalado nada relacionado con gr<67>ficos en su Linux
(como X11 (tambi<62>n conocido como XFree86), fbdev ni nada por el estilo).
Este controlador puede funcionar en <emphasis role="bold">modo-texto</emphasis>.
</simpara></listitem>
<listitem><simpara>
Puede hacer <emphasis role="bold">funcionar la salida-TV</emphasis>.
(Esto es conocido al menos para las tarjetas ATI).
</simpara></listitem>
<listitem><simpara>
Este controlador llama al manejador <function>int 10h</function> y no
realiza una emulaci<63>n - hace llamas <emphasis role="bold">reales</emphasis>
de BIOS <emphasis>real</emphasis> en <emphasis>modo-real</emphasis>.
(actualmente en modo vm86).
</simpara></listitem>
<listitem><simpara>
Puede usar VIDIX con <20>l, obteniendo pantalla de gr<67>ficos acelerados
<emphasis role="bold">y</emphasis> salida TV al mismo tiempo!
(Recomendado para tarjetas ATI.)
</simpara></listitem>
<listitem><simpara>
Si tiene VESA VBE 3.0+, y especifica
<systemitem>monitor_hfreq, monitor_vfreq, monitor_dotclock</systemitem> en
alg<6C>n sitio (archivo de configuraci<63>n, o l<>nea de <20>rdenes) podr<64> obtener
la tasa de refresco mayor posible. (Usando la F<>rmula de Temporizaci<63>n General).
Para activar <20>sta caracter<65>stica debe especificar <emphasis role="bold">todas</emphasis>
las opciones de su monitor.
</simpara></listitem>
</itemizedlist>
<itemizedlist spacing="compact">
<title>DESVENTAJAS</title>
<listitem><simpara>
Solo funciona en <emphasis role="bold">sistemas x86</emphasis>.
</simpara></listitem>
<listitem><simpara>
Solo puede ser usado por <systemitem class="username">root</systemitem>.
</simpara></listitem>
<listitem><simpara>
En la actualidad solo est<73> disponible para <emphasis role="bold">Linux</emphasis>.
</simpara></listitem>
</itemizedlist>
<important>
<para>
No use este controlador con <emphasis role="bold">GCC 2.96</emphasis>!
<EFBFBD>No funcionar<61>!
</para>
</important>
<variablelist>
<title>OPCIONES EN LA L<>NEA DE <20>RDENES PARA VESA</title>
<varlistentry>
<term><option>-vo vesa:<replaceable>opts</replaceable></option></term>
<listitem><simpara>
reconocidas actualmente: <literal>dga</literal> para forzar el modo dga
y <literal>nodga</literal> para desactivar el modo dga. En modo dga puede
activar doble buffering mediante la opci<63>n <option>-double</option>. Nota:
puede omitir estos par<61>metros activando
<emphasis role="bold">autodetecci<EFBFBD>n</emphasis> del modo dga.
</simpara></listitem>
</varlistentry>
</variablelist>
<itemizedlist spacing="compact">
<title>PROBLEMAS CONOCIDOS Y SUS SOLUCIONES</title>
<listitem><simpara>
Si tiene instalada una tipograf<61>a <emphasis role="bold">NLS</emphasis> en
su equipo Linux y ejecuta el controlador VESA en modo-texto entonces despu<70>s
de terminar <application>MPlayer</application> tendr<64> cargada una
<emphasis role="bold">tipograf<EFBFBD>a ROM</emphasis> en lugar de la nacional.
Puede cargar de nuevo la tipograf<61>a nacional usando la utilidad
<command>setsysfont</command> de la distribuci<63>n Mandrake por ejemplo.
(<emphasis role="bold">Consejo</emphasis>: La misma utilidad se usa para
la localizaci<63>n de fbdev).
</simpara></listitem>
<listitem><simpara>
Algunos <emphasis role="bold">controladores gr<67>ficos para Linux</emphasis>
no actualizan el <emphasis role="bold">modo BIOS</emphasis> activo en la
memoria DOS. Si tiene ese problema - use siempre el controlador VESA solo
en <emphasis role="bold">modo-texto</emphasis>. De otro modo
el modo texto (#03) ser<65> activado de todas maneras y tendr<64> que reiniciar
la computadora.
</simpara></listitem>
<listitem><simpara>
Adem<65>s puede obtener una pantalla <emphasis role="bold">negra</emphasis> cuando
el controlador VESA termine. Para volver al estado original de la pantalla -
s<>mplemente cambie a otra consola (pulsando <keycap>Alt</keycap>+<keycap>F&lt;x&gt;</keycap>)
y vuelva a la consola original del mismo modo.
</simpara></listitem>
<listitem><simpara>
Para hacer que <emphasis role="bold">funcione la salida-TV</emphasis> deber<65>
tener conectado el conector de TV antes de iniciar el PC porque la BIOS de video
lo inicia autom<6F>ticamente durante el proceso POST.
</simpara></listitem>
</itemizedlist>
</sect4>
<sect4 id="x11">
<title>X11</title>
<para>
Evite usarlo si es posible. La salida a X11 (usa la extensi<73>n de memoria
compartida), sin ninguna aceleraci<63>n hardware. Soporta (acelerado por
MMX/3DNow/SSE, pero sigue siendo lento) escalado por software, use las
opciones <option>-fs -zoom</option>. La mayor<6F>a de las tarjetas tienen
soporte de escalado por hardware, use la salida <option>-vo xv</option>
para obtenerlo, o <option>-vo xmga</option> para las Matrox.
</para>
<para>
El problema es que la mayor<6F>a de los controladores de las tarjetas no
soportan aceleraci<63>n hardware en un monitor/TV secundario. En esos casos,
puede ver una ventana de color verde/azul en lugar de la pel<65>cula. Aqu<71> es
donde entra en escena este controlador, pero necesitar<61> una CPU potente
para escalar por software. No use el escalador+salida por software de SDL,
<EFBFBD>obtendr<EFBFBD> una peor calidad de imagen!
</para>
<para>
El escalado por software es muy lento, mejor pruebe a cambiar el modo de video.
Es muy simple. Vea los <link linkend="dga-modelines">la secci<63>n de modos de
DGA</link>, e insertela en su <filename>XF86Config</filename>.
<itemizedlist spacing="compact">
<listitem><simpara>
Si tiene XFree86 4.x.x: use la opcio<69>n <option>-vm</option>. Esto cambiar<61>
a una resoluci<63>n donde la pel<65>cula se ajuste. Si no lo hace:
</simpara></listitem>
<listitem><simpara>
Con XFree86 3.x.x: tiene que cambiar entre las resoluciones disponibles
con las teclas
<keycap>Ctrl</keycap>+<keycap>Alt</keycap>+<keycap>plus</keycap>
y
<keycap>Ctrl</keycap>+<keycap>Alt</keycap>+<keycap>minus</keycap>.
</simpara></listitem>
</itemizedlist>
</para>
<para>
Si no puede encontrar los modos que ha insertado, consule la salida de
XFree86. Algunos controladores no pueden usar pixelclocks bajos que son
necesarios para modos de video de baja resoluci<63>n.
</para>
</sect4>
<sect4 id="vidix">
<title>VIDIX</title>
<formalpara>
<title>PRE<EFBFBD>MBULO</title>
<para>
<acronym>VIDIX</acronym> es la abreviatura para
<emphasis role="bold">VID</emphasis>eo<emphasis role="bold">I</emphasis>nterface
para *ni<emphasis role="bold">X</emphasis>.
VIDIX ha sido dise<73>ado e introducido como una interfaz para los controladores de
espacio de usuario que proveen tanto rendimiento de video como mga_vid lo hace para
las tarjetas Matrox. Tambi<62>n es muy portable.
</para>
</formalpara>
<para>
Esta interfaz ha sido dise<73>ada como un intento por ajustar las interfaces
de aceleraci<63>n de video existentes (conocidas como mga_vid, rage128_vid, radeon_vid,
pm3_vid) en un esquema fijo. Provee una interfaz de alto nivel a los chips
que es conocida como BES (BackEnd scalers) u OV (Video Overlays). No provee
interfaz a bajo nivel de cosas conocidas por los servidores gr<67>ficos.
(No quiero competir con el equipo X11 en el cambio de modos de gr<67>fidcos).
Es decir, el principal objetivo de esta interfaz es maximizar la velocidad
de la reproducci<63>n de video.
</para>
<itemizedlist spacing="compact">
<title>USO</title>
<listitem><simpara>
Puede usar un controlador de salida de video individual:
<option>-vo xvidix</option>. Este controlador ha sido desarrollado como u
front end de X11 a la tecnolog<6F>a VIDIX. Requiere un servidor X y puede funcionar
solo bajo un servidor X. Note que, como accede directamente al hardware y
no usa el controlador X, los mapas de pixels en cach<63> en la memoria de la
tarjeta gr<67>fica pueden estar corruptos. Puede prevenir esto limitando la
cantidad de memoria de video usada por X con la opci<63>n "VideoRam" de
XF86Config en la secci<63>n device. Debe establecer el valor a la cantidad de
memoria instalada en su tarjeta menos 4MB. Si tiene menos de 8MB de ram de
video, puede usar la opci<63>n "XaaNoPixmapCache" en la secci<63>n screen en su lugar.
</simpara></listitem>
<listitem><simpara>
Hay un controlador de consola vidix: <option>-vo cvidix</option>.
Requiere un framebuffer inicializado y funcionando para muchas tarjetas (o
fastidiar<61> su pantalla), y obtendr<64> un efecto similar al que se obtiene con
<option>-vo mga</option> o <option>-vo fbdev</option>. Las tarjetas nVidia, sin
embargo, son capaces de mostrar gr<67>ficos reales de video sobre una consola
de texto real. Vea la <link linkend="vidix-nvidia">secci<EFBFBD>n nvidia_vid</link>
para m<>s informaci<63>n.
</simpara></listitem>
<listitem><simpara>
Puede usar el subdispositivo VIDIX aplicado a varios controladores de salida
de video, tales como: <option>-vo vesa:vidix</option>
(<emphasis role="bold">solo en Linux</emphasis>) y <option>-vo fbdev:vidix</option>.
</simpara></listitem>
</itemizedlist>
<para>
Como ve no impora qu<71> controlador de salida de video se usa con
<emphasis role="bold">VIDIX</emphasis>.
</para>
<itemizedlist spacing="compact">
<title>REQUISITOS</title>
<listitem><simpara>
La tarjeta gr<67>fica debe estar en modo gr<67>fico (excepto las tarjetas nVidia
con el controlador de salida <option>-vo cvidix</option>.
</simpara></listitem>
<listitem><simpara>
El controlador de salida de video de <application>MPlayer</application> debe
conocer el modo de video activo y ser capaz de decir al subdispositivo
VIDIX algunas caracter<65>sticas de video del servidor.
</simpara></listitem>
</itemizedlist>
<formalpara>
<title>MODOS DE USO</title>
<para>
Cuando VIDIX se usa como <emphasis role="bold">subdispositivo</emphasis>
(<option>-vo vesa:vidix</option>) entonces la configuraci<63>n del modo de video
es hecha por el dispositivo de salida de video (<emphasis role="bold">vo_server</emphasis>
en pocas palabras). Por ese motivo puede pasar en la l<>nea de <20>rdenes de
<application>MPlayer</application> las mismas teclas que para vo_server.
Adem<EFBFBD>s entiende <option>-double</option> como un par<61>metro visible globalmente.
(Recomiendo usar esto con VIDIX por lo menos en tarjetas ATI). Como para
<option>-vo xvidix</option> : actualmente reconoce las siguientes opciones:
<option>-fs -zoom -x -y -double</option>.
</para>
</formalpara>
<para>
Tambi<EFBFBD>n puede especificar el controlador VIDIX directamente con un tercer
argumento en la l<>nea de <20>rdenes:
<screen>mplayer -vo xvidix:mga_vid.so -fs -zoom -double file.avi</screen>
or
<screen>mplayer -vo vesa:vidix:radeon_vid.so -fs -zoom -double -bpp 32 file.avi</screen>
Pero esto es peligroso, y no deber<65>a hacerlo. En ese caso el controlador
se ve forzado y el resultado puede ser impredicible (puede incluso
<emphasis role="bold">dejar colgado</emphasis> su ordenador). Debe hacerlo
SOLO si est<73> absolutamente seguro de que funciona, y
<application>MPlayer</application> no lo hace autom<6F>ticamente. Por favor
en ese caso d<>gaselo a los desarrolladores. La manera correcta de usar VIDIX es
sin argumentos para activar la autodetecci<63>n del controlador.
</para>
<para>
VIDIX es una tecnolog<6F>a nueva y es extremadamente posible que en su
sistema no funcione. En ese caso la <20>nica soluci<63>n para usted es
portarlo (principalmente con libdha). Pero se supone que debe de funcionar
en los sistemas en los que funciona X11.
</para>
<para>
Debido a que VIDIX requiere acceso directo al hardware puede ejecutarlo
como root o establecer el bit SUID en el binario de
<application>MPlayer</application> (<emphasis role="bold">Advertencia:
<EFBFBD>eso es un riesgo de seguridad!</emphasis>). De manera alternativa,
puede usar un m<>dulo especial del kernel, como esto:
</para>
<procedure>
<step><para>
Descargue la <ulink url="http://www.arava.co.il/matan/svgalib/">versi<EFBFBD>n de desarrollo</ulink>
de svgalib (por ejemplo 1.9.17), <emphasis role="bold">O</emphasis>
descargue una versi<73>n hecha por Alex especialmente para usar con
<application>MPlayer</application> (no necesita el c<>digo fuente de svgalib para
compilar) desde
<ulink url="http://www.mplayerhq.hu/~alex/svgalib_helper-1.9.17-mplayer.tar.bz2">aqu<EFBFBD></ulink>.
</para></step>
<step><para>
Compile el m<>dulo en el directorio <filename class="directory">svgalib_helper</filename>
(puede encontrarse dentro del directorio
<filename class="directory">svgalib-1.9.17/kernel/</filename> si ha descargado el
c<>digo fuente del sitio de svgalib) e insmod<6F>elo.
</para></step>
<step><para>
Para crear los dispositivos necesarios en el directorio
<filename class="directory">/dev</filename>, haga un <screen>make device</screen>
en el directorio <filename class="directory">svgalib_helper</filename> como root.
</para></step>
<step><para>
Mueva el directorio <filename class="directory">svgalib_helper</filename> a
<filename class="directory">mplayer/main/libdha/svgalib_helper</filename>.
</para></step>
<step><para>
Requerido si descarga el c<>digo fuente desde el sitio de svgalib: Borre el comentario
antes de la l<>nea CFLAGS que contiene la cadena "svgalib_helper" en
<filename class="directory">libdha/Makefile</filename>.
</para></step>
<step><para>
Recompile e instale libdha.
</para></step>
</procedure>
<sect5 id="vidix-ati">
<title>Tarjetas ATI</title>
<para>
Actualmente la mayor<6F>a de las tarjetas ATI est<73>n soportadas de manera nativa,
desde la Mach64 hasta las m<>s nuevas Radeons.
</para>
<para>
Hay dos binarios compilados: <filename>radeon_vid</filename> para Radeon y
<filename>rage128_vid</filename> para tarjetas Rage 128. Puede forzar uno
o dejar que el sistema VIDIX pruebe autom<6F>ticamente todos los controladores
disponibles.
</para>
</sect5>
<sect5 id="vidix-mga">
<title>Tarjetas Matrox</title>
<para>
Hemos sido informados de que funcionan Matrox G200,G400,G450 y G550.
</para>
<para>
El controlador soporta ecualizadores de video y debe ser casi tan r<>pido como el
<link linkend="mga_vid">Matrox framebuffer</link>
</para>
</sect5>
<sect5 id="vidix-trident">
<title>Tarjetas Trident</title>
<para>
Hay un controlador disponible para los chipset Trident Ciberblade/i1, que
puede ser encontrado en las placas base VIA Epia.
</para>
<para>
El controlador ha sido escrito y es mantenido por,
<ulink url="http://www.blackfiveservices.co.uk/EPIAVidix.shtml">Alastair M.
Robinson</ulink>.
</para>
</sect5>
<sect5 id="vidix-3dlabs">
<title>Tarjetas 3DLabs</title>
<para>
Aunque hay un controlador para los chips 3DLabs GLINT R3 y Permedia3, ninguno
ha sido probado, as<61> que cualquier comentario o informe ser<65> bienvenido.
</para>
</sect5>
<sect5 id="vidix-nvidia">
<title>Tarjetas nVidia</title>
<para>
Hay controladores para nVidia relativamente recientes, se sabe que funcionan bien
con los chipset Riva 128, TNT y GeForce2, tambi<62>n se nos ha informado de que funciona
con otros.
</para>
<itemizedlist spacing="compact">
<title>LIMITACIONES</title>
<listitem><para>
Es recomendable usar los controladores binarios de nVidia para X antes de usar el
controlador VIDIX, porque algunos de los registros que es necesario inicializar
a<>n no han sido descubiertos, por lo que probablemente falle con el controlador
de C<>digo Abierto de XFree86 <filename>nv.o</filename>.
</para></listitem>
<listitem><para>
Actualmente solo los codecs que tienen salida en el espacio de color UYVY son los
que funcionan junto con este controlador. Desafortunadamente, esto excluye
todo decodificador simple de la familia libavcodec. Esto nos deja con los
siguientes codecs populares usables: <systemitem>cvid, divxds, xvid, divx4,
wmv7, wmv8</systemitem> y algunos otros. Por favor tenga en cuenta que esto
es solo algo temporal. La sintaxis de uso es la siguiente:
<screen>
mplayer -vf formay=uyvy -vc divxds archivodivx3.avi
</screen>
<para></listitem>
</itemizedlist>
<para>
Una caracter<65>stica <20>nica del controlador nvidia_vid es la habilidad de mostrar
video en <emphasis role="bold">una consola de texto solo, plano y puro</emphasis>
- sin framebuffer o X magic ni nada. Para conseguir esto, se ha de usar la
salida de video <option>cvidix</option>, como muestra el siguiente ejemplo:
<screen>
mplayer -vf formay=uyvy -vc divxds -vo cvidix ejemplo.avi
</screen>
</para>
<para>
<EFBFBD>Esperamos que nos informe!
</para>
</sect5>
<sect5 id="vidix-sis">
<title>Tarjetas SiS</title>
<para>
Se trata de un c<>digo muy experimental, al igual que el nvidia_vid.
</para>
<para>
Ha sido probado en SiS 650/651/740 (los chipset m<>s comunes usados en las versiones
SiS de las placas base "Shuttle XPC")
</para>
<para>
<EFBFBD>Esperamos que nos informe!
</para>
</sect5>
</sect4>
<sect4 id="directfb">
<title>DirectFB</title>
<blockquote><para>
&quot;DirectFB es una biblioteca de gr<67>ficos que ha sido dise<73>ada
con los sistemas embebidos en mente. Ofrece el m<>ximo rendimientdo en
aceleraci<EFBFBD>n hardware con el m<>nimo uso de recursos y sobrecarga.&quot; -
cita de <ulink url="http://www.directfb.org"/>
</para></blockquote>
<para>No incluir<69> las caracter<65>sticas de DirectFB en esta secci<63>n.</para>
<para>
Aunque <application>MPlayer</application> no est<73> reconocido como un &quot;proveedor
de video&quot; en DirectFB, este controlador de salida debe activar la reproducci<63>n
de video a trav<61>s del DirectFB. Tiene - por supuesto - aceleraci<63>n, en mi Matrox
G400 la velocidad para DirectFB es la misma que con XVideo.
</para>
<para>
Intente usar siempre la versi<73>n m<>s reciente de DirectFB. Puede usar las opciones
de DirectFB en la l<>nea de <20>rdenes, usando la opci<63>n <option>-dfbopts</option>.
La capa de selecci<63>n puede hacerse con el m<>todo de subdispositivo, p.e.:
<option>-vo directfb:2</option> (la capa -1 se usa por defecto: autodetectado)
</para>
</sect4>
<sect4 id="dfbmga">
<title>DirectFB/Matrox (dfbmga)</title>
<para>
Lea por favor la <link linkend="directfb">secci<EFBFBD>n principal de DirectFB</link> o
la informaci<63>n general.
</para>
<para>Este controlador de salida de video activa CRTC2 (en un segundo monitor) en la
tarjeta G400/G450/G550, mostrando video <emphasis role="bold">independientemente</emphasis>
del monitor primario.
</para>
<para>
Instrucciones sobre c<>mo hacer que esto funcione se pueden encontrar en la
<ulink url="../../tech/directfb.txt">secci<EFBFBD>n tech</ulink>
o directamente en la
<ulink url="http://www.sci.fi/~syrjala/directfb/Matrox_TV-out_README.txt">web personal</ulink>
de Ville Syrjala.
</para>
<note><para>
La primera versi<73>n de DirectFB que hace que esto funcione fue 0.9.17 (tiene fallos,
necesita el parche <systemitem>surfacemanager</systemitem> de la URL de m<>s arriba).
De todos modos se est<73> trabajando para portar el c<>digo de CRTC2 a
<emphasis role="bold">mga_vid</emphasis>.
</para></note>
</sect4>
</sect3>
<sect3 id="mpeg_decoders">
<title>Decodificadores MPEG</title>
<sect4 id="dvb">
<title>DVB</title>
<para>
<application>MPlayer</application> soporta tarjetas con el chipset Siemens DVB
de vendedores como Siemens, Technotrend, Galaxis o Hauppauge. Los <20>ltimos
controladores DVB est<73>n disponibles en
<ulink url="http://www.linuxtv.org">el sitio de Linux TV</ulink>. Si quiere hacer
transcoding de software deber<65> usar al menos una CPU de 1GHz.
</para>
<para>
<filename>configure</filename>debe detectar su tarjeta DVB. Si no lo hace,
fuerce la detecci<63>n con
</para>
<para><screen>./configure --enable-dvb</screen></para>
<para>Si tiene cabeceras ost en una ruta no est<73>ndar, establezca la ruta con</para>
<para><screen>./configure --with-extraincdir=<replaceable>directorio de fuentes de DVB</replaceable>/ost/include
</screen></para>
<para>Y luego compile e instale del modo habitual.</para>
<formalpara>
<title>USO</title>
<para>
Decodificaci<EFBFBD>n por hardware (reproducci<63>n de archivos est<73>ndar MPEG1/2) puede hacerse
con esta <20>rden:
</para>
</formalpara>
<para><screen>mplayer -ao mpegpes -vo mpegpes file.mpg|vob</screen></para>
<para>
Decodificaci<EFBFBD>n software o transcoding de formatos diferentes a MPEG1 puede hacerse
usando una <20>rden como esta:
</para>
<para><screen>
mplayer -ao mpegpes -vo mpegpes yourfile.ext
mplayer -ao mpegpes -vo mpegpes -vf expand yourfile.ext
</screen></para>
<para>
Tenga en cuenta que las tarjetas DVB solo soportan altugas de 288 y 576 para PAL o
240 y 480 para NTSC. Usted <emphasis role="bold">debe</emphasis> escalar para
otras alturas a<>adiendo <option>scale=ancho:alto</option> con el ancho y el alto
que quiera para la opci<63>n <option>-vf</option>. Las tarjetas DVB aceptan varios
anchos, como 720, 704, 640, 512, 480, 352 etc y hacen el escalado por hardware
en direcci<63>n horizontal, de modo que no necesita escalar horizontalmente en
la mayor<6F>a de los casos. Para un DivX de 512x384 (aspecto 4:3) pruebe:
</para>
<para><screen>mplayer -ao mpegpes -vo mpegpes -vf scale=512:576</screen></para>
<para>Si tiene una pel<65>cula widescreen y no quiere escalar a altura completa,
puede usar el filtro <option>expand=w:h</option> para a<>adir bandas negras.
Para ver un DivX de 640x384, pruebe:
</para>
<para><screen>mplayer -ao mpegpes -vo mpegpes -vf expand=640:576 file.avi
</screen></para>
<para>Si su CPU es demasiado lenta para un DivX de tama<6D>o completo de 720x576,
pruebe a subescalar:</para>
<para><screen>mplayer -ao mpegpes -vo mpegpes -vf scale=352:576 file.avi
</screen></para>
<para>Si la velocidad no mejora, pruebe a subescalar verticalmente, tambi<62>n:</para>
<para><screen>mplayer -ao mpegpes -vo mpegpes -vf scale=352:288 file.avi
</screen></para>
<para>
For OSD and subtitles use the OSD feature of the expand filter. So, instead of
Para OSD y subt<62>tulos use la caracter<65>stica OSD del filtro expand. Para ello, en lugar de
<option>expand=w:h</option> o <option>expand=w:h:x:y</option>, use
<option>expand=w:h:x:y:1</option> (el 5<> par<61>metro <option>:1</option>
al final habilitar<61> el renderizado OSD). Puede que quiera mover la imagen hacia arriba
un poco para obtener una zona negra m<>s grande para los subt<62>tulos. Tambi<62>n puede mover
los subt<62>tulos hacia arriba, si quedan fuera de la pantalla de TV, use la
opci<EFBFBD>n <option>-subpos &lt;0-100&gt;</option> para ajustar esto (<option>-subpos 80</option>)
es una buena elecci<63>n).
</para>
<para>
Para reproducir pel<65>culas que no sean de 25fps en una TV PAL o con una CPU lenta,
a<EFBFBD>ada la opci<63>n <option>-framedrop</option>.
</para>
<para>
Para mantener la raz<61>n de aspecto de los archivos DivX y obtener los
par<EFBFBD>mtros <20>ptimos de escalado (escalado horizontal por hardware y
escalado vertical por software manteniendo la raz<61>n de aspecto correcta),
use el filtro dvbscale:
</para>
<para><screen>
para una TV 4:3: -vf dvbscale,scale=-1:0,expand=-1:576:-1:-1:1
para una TV 16:9: -vf dvbscale=1024,scale=-1:0,expand=-1:576:-1:-1:1
</screen></para>
<formalpara>
<title>FUTURO</title>
<para>
Si tiene alguna pregunta o desea oir anuncios sobre caracter<65>sticas futuas
y tomar parte en discusiones acerca de estos asuntos, <20>nase a nuestra lista
de correo
<ulink url="http://mplayerhq.hu/mailman/listinfo/mplayer-dvb">MPlayer-DVB</ulink>
Por favor, recuerde que el idioma en la lista de correo es el Ingl<67>s.
</para>
</formalpara>
<para>
En el futuro puede esperar la habilidad de mostrar OSD y subt<62>tulos usando
las caracter<65>sticas nativas de OSD de las tarjetas DVB, as<61> como una
reproducci<EFBFBD>n m<>s fluida de pel<65>culas que no est<73>n a 25fps y transcoding en
tiempo real entre MPEG2 y MPEG4 (descompresi<73>n parcial).
</para>
</sect4>
<sect4 id="dxr2">
<title>DXR2</title>
<para>MPlayer soporta reproducci<63>n acelerada por hardware con la tarjeta Creative DXR2.</para>
<para>
Lo primero que necesita tener es los controladores DRX2 correctamente instalados. Puede
encontrar estos controladores e instrucciones para su instalaci<63>n en el sitio
<ulink url="http://dxr2.sourceforge.net/">DXR2 Resource Center</ulink>.
</para>
<variablelist>
<title>USO</title>
<varlistentry>
<term><option>-vo dxr2</option></term>
<listitem><para>activa la salida TV</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-vo dxr2:x11</option> o <option>-vo dxr2:xv</option></term>
<listitem><para>activa la salida Overlay en X11</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-dxr2 &lt;opci<EFBFBD>n1:opci<63>n2:...&gt;</option></term>
<listitem><para>Esta opci<63>n se usa para manejar el controlador DXR2.</para></listitem>
</varlistentry>
</variablelist>
<para>
El chipset de overlay usado en DXR2 tiene una calidad bastante mala pero
la configuraci<63>n por defecto debe funcionar para todo el mundo. El OSD puede
ser usable con overlay (no en una TV) dibujando sobre el colorkey. Con la
configuraci<EFBFBD>n de colorkey por defecto puede obtener resultados variables, normalmente
ver<EFBFBD> el colorkey alrededor de los caracteres o alg<6C>n otro efecto divertido. Pero
si ajusta bien la configuraci<63>n del colorkey debe ser capaz de obtener resultados
aceptables.
</para>
<para>Por favor, vea la p<>gina de manual para ver las opciones disponibles.</para>
</sect4>
<sect4 id="dxr3">
<title>DXR3/Hollywood+</title>
<para>
<application>MPlayer</application> soporta reproducci<63>n acelerada por hardware
con las tarjetas Creative DXR3 y Sigma Designs Hollywood. Ambas tarjetas usan
el chip decodificador em8300 MPEG de Sigma Designs.
</para>
<para>
Lo primero que necesita es tener el controlador DXR3/H+ correctamente instalado,
versi<EFBFBD>n 0.12.0 o posterior. Puede encontrar estos controladores e instrucciones
para su instalaci<63>n en el sitio
<ulink url="http://dxr3.sourceforge.net/">DXR3 &amp; Hollywood Plus para Linux</ulink>.
<filename>configure</filename> debe detectar su tarjeta autom<6F>ticamente, y la compilaci<63>n
debe funcionar sin problemas.
</para>
<!-- FIXME: find a more clear presentation -->
<variablelist>
<title>USO</title>
<varlistentry>
<term><option>-vo dxr3:prebuf:sync:norm=x:<replaceable>dispositivo</replaceable></option></term>
<listitem><para>
<option>overlay</option> activa overlay en lugar de TVOut. Requiere que tenga
una configuraci<63>n de overlay que funcione correctamente. La manera facil de
configurar el overlay es iniciar primero autocal. Despu<70>s ejecute MPlayer con
salida dxr3 y sin overlay, ejecute dxr3view. En dxr3view puede tocar la
configuraci<EFBFBD>n de overlay y ver los efectos en tiempo real, quiz<69> esta caracter<65>stica
est<EFBFBD> soportada en el GUI de MPlayer en el futuro. Cuando overlay est<73> correctamente
configurado ya no necesitar<61> usar m<>s dxr3view.
<option>prebuf</option> activa el prebuffering. Prebuffering es una caracter<65>stica del
chip em8300 que se activa para mantener m<>s de un marco por video al mismo tiempo. Esto
significa que cuando est<73> ejecutando con prebufferint MPlayer intentar<61> mantener lleno
el buffer de video con datos todo el tiempo. Si est<73> en una m<>quina lenta MPlayer
probablemente usa un valor cercano a, o totalmente de 100% de CPU. Esto ocurre
normalemente si reproduce flujos MPEG (como DVDs, SVCDs a.s.o.) ya que MPlayer no
tiene recodificador a MPEG y llena el buffer muy r<>pido.
Con reproducci<63>n de video con prebufferint es <emphasis role="bold">mucho</emphasis>
menos sensible a otros programas que quieran uso de CPU, no elimina marcos a menos
que alguna aplicaci<63>n aproveche la CPU un largo periodo de tiempo.
Cuando ejecuta sin prebuffering el em8300 es mucho m<>s sensible a cargar la CPU,
por lo que le sugerimos que active en MPlayer la opci<63>n <option>-framedrop</option>
para evitar posibles p<>rdidas de sincronizaci<63>n.
<option>sync</option> activa el nuevo motor de sincronizaci<63>n. Esta es actualmente
una caracter<65>stica experimental. Con la caracter<65>stica de sincronizaci<63>n activada en
el reloj interno de em8300 se monitoriza todas las veces, si comienza a desviarse del
reloj de MPlayer es puesto a cero causando que em8300 se salte algunos marcos que
est<EFBFBD>n comenzando a tener retardo.
<option>norm=x</option> establece la norma de TV de la tarjeta DXR3 sin la
necesidad de herramientas externas como em8300setup. Normas v<>lidas son
5 = NTSC, 4 = PAL-60, 3 = PAL. Normas especiales son 2 (auto-ajuste usando
PAL/PAL-60) y 1 (auto-ajuste usando PAL/NTSC) porque deciden qu<71> norma usar
consultando la tasa de im<69>genes por segundo de la pel<65>cula. norm = 0 (por
defecto) no cambia la norma actual.
<option><replaceable>dispositivo</replaceable></option> = n<>mero de dispositivo
a usar si tiene m<>s de una tarjeta em8300.
Cualquiera de esas opciones se pueden dejar sin especificar.
<option>:prebuf:sync</option> parece que se obtiene un mejor funcionamiento cuando
se reproducen pel<65>culas DivX. La gente ha informado sobre problemas usando la
opci<EFBFBD>n prebuf mientras se reproduc<75>an archivos MPEG1/2. Puede que desee intentar
la reproducci<63>n sin ninguna opci<63>n primero, y si tiene problemas de sincron<6F>a,
o problemas con los subt<62>tulos, probar con la opci<63>n <option>:sync</option>.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-ao oss:/dev/em8300_ma-<replaceable>X</replaceable></option></term>
<listitem><para>
Para la salida de audio, donde <replaceable>X</replaceable> es el n<>mero de dispositivo
(0 si hay una tarjeta).
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-aop list=resample:fout=<replaceable>xxxxx</replaceable></option></term>
<listitem><para>
El em8300 no puede reproducir tasas de muestreo menores de 44100Hz. Si la tasa
de muestreo es mejor que 44100Hz elija 44100Hz o 48000Hz dependiendo de cual
se ajuste mejor. P.e. si la pel<65>ula usa 22050Hz use 44100Hz ya que
44100 / 2 = 22050, si es 24000Hz use 48000Hz porque 48000 / 2 = 24000 y de ese
modo con cualquier valor que tenga. Esto no funciona con salida de audio
digital (<option>-ac hwac3</option>).
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-vf lavc/fame</option></term>
<listitem><para>
Para ver contenido no-MPEG en el em8300 (p.e. DivX o RealVideo) deber<65> especificar
un filtro de video MPEG1 como libavcodec (lavc) o libfame (fame). Actualmente
lavc es m<>s r<>pido y da mejor calidad de imagen, por lo que le sugerimos que lo
use a menos que tenga alg<6C>n problema con <20>l. Vea la p<>gina de manual para m<>s
informaci<EFBFBD>n acerca de <option>-vf lavc/fame</option>.
El uso de lavc es altamente recomendado. Actualmente no hay manera de establecer
los fps del em8300 lo que significa que son fijos a 29.97fps. Debido a esto es
altamente recomendable que use <option>-vf lavc=<replaceable>quality</replaceable>:25</option>
especialmente si est<73> usando prebuffering. <20>Y por qu<71> 25 y no 29.97? bien, el motivo
es que cuando usa 29.97 la imagen se vuelve un poco saltarina. La raz<61>n de por qu<71>
ocurre esto no la conocemos. Si establece un valor entre 25 y 27 la imagen se vuelve
estable. Por ahora todo lo que puede haer es aceptar esto sin preguntarse por qu<71>.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-vf expand=-1:-1:-1:-1:1</option></term>
<listitem><para>
A pesar de que el controlador DXR3 puede poner OSD en el video MPEG1/2/4, tiene
una calidad mucho peor que el tradicional OSD de <application>MPlayer</application>,
adem<EFBFBD>s de varios problemas de refresco. La l<>nea de <20>rdenes de arriba convertir<69>
primero la entrada de video a MPEG4 (esto es obligatorio, lo siento), y despu<70>s
aplicar<EFBFBD> un filtro de expansi<73>n que no expandir<69> nada (-1: por defecto), pero
servir<EFBFBD> para aplicar OSD normal sobre la imagen (esto es lo que hace el "1" del
final).
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-ac hwac3</option></term>
<listitem><para>
El em8300 permite la reproducci<63>n de audio AC3 (sonido surround) a trav<61>s de
la salida de audio digital de la tarjeta. Vea la opci<63>n <option>-ao oss</option>
de m<>s arriba, debe usarse para especificar salida DXR3 en lugar de una tarjeta
de sonido.
</para></listitem>
</varlistentry>
</variablelist>
</sect4>
</sect3>
<sect3 id="other">
<title>Otro hardware de visualizaci<63>n</title>
<sect4 id="zr">
<title>Zr</title>
<para>
Se trata de un controlador de pantalla (<option>-vo zr</option>) para un n<>mero
de tarjetas de captura/reproducci<63>n de MJPEG (probado con DC10+ y Buz, y tambi<62>n
debe funcionar con LML33, el DC10). El controlador funciona codificando el marco
a JPEG y envi<76>ndolo luego a la tarjeta. Para la codificaci<63>n JPEG se usa
<systemitem>libavcodec</systemitem>, y adem<65>s es obligatorio usarlo. Con el modo
especial <emphasis>cinerama</emphasis>, puede ver pel<65>culas en wide screen real
suponiendo que tiene dos proyectores y dos tarjetas MJPEG. Dependiendo de la
configuraci<EFBFBD>n de resoluci<63>n y calidad, este controlador puede requerir una gran
cantidad de potencia de CPU, recuerde especificar <option>-framedrop</option>
si su m<>quina es demasiado lenta. Nota: Mi AMD K6-2 350MHz es (con
<option>-framedrop</option>) bastante adecuada para reproducir material del
tama<EFBFBD>o de VCD y escalar a menor tama<6D>o del original las pel<65>culas.
</para>
<para>
Este controlador se comunica con el controlador del kernel disponible en
<ulink url="http://mjpeg.sourceforge.net"/>, por eso
antes de nada deber<65> tener este funcionando. La presencia de una tarjeta MJPEG
es autodetectada por el script <filename>configure</filename>, si la autodetecci<63>n
falla, fu<66>rcela con
<screen>./configure --enable-zr</screen>
</para>
<para>
La salida puede ser controlada con varias opciones, una descripci<63>n larga
de las opciones puede encontrarse en la p<>gina de manual, una lista corta de
las opciones puede verse ejecutando
<screen>mplayer -zrhelp</screen>
</para>
<para>
Piense que el escalado y el OSD (informaci<63>n en pantalla) no son manejados
por este controlador pero pueden hacerse usando filtros de video. Por ejemplo,
suponta que tiene una pel<65>cula con una resoluci<63>n de 512x272 y desea verla
en pantalla completa con su DC10+. Hay tres posibilidades principalmente, puede
escalar la pel<65>cula a un ancho de 768, 384 o 192. Por motivos de rendimiento
y calidad, puede que quiera elegir escalar la pel<65>cula a 384x204 usando el
escalador por software r<>pido bilineal. La l<>nea de <20>rdenes es
<screen>mplayer -vo zr -sws 0 -vf scale=384:204 movie.avi</screen>
</para>
<para>
Se puede recortar con el filtro <systemitem>crop</systemitem> y tambi<62>n
por este controlador directamente. Supongamos que tenemos una pel<65>cula que
es demasiado ancha para mostrarla en su Buz y que quiere usar <option>-zrcrop</option>
para hacer la pel<65>cula menos ancha, entonces puede que le sea <20>til la siguiente
<EFBFBD>rden
<screen>mplayer -vo zr -zrcrop 720x320+80+0 benhur.avi</screen>
</para>
<para>
si quiere usar el filtro <option>crop</option>, puede que desee hacer
<screen>mplayer -vo zr -vf crop=720:320:80:0 benhur.avi</screen>
</para>
<para>
Si aparece <option>-zrcrop</option> m<>s veces invoca el modo
<emphasis>cinerama</emphasis>, p.e. si quiere distribuir la pel<65>cula en varias
TV's o proyectores para crear una pantalla m<>s grande. Supongamos que tiene
dos proyectores. Uno lo conecta a su Buz en <systemitem>/dev/video1</systemitem>
y el otro lo conecta a su DC10+ en <systemitem>/dev/video0</systemitem>. La pel<65>cula
tiene una resoluci<63>n de 704x288. Supongamos tambi<62>n que que quiere el proyector de
la derecha en blanco y negro y el otro debe tener im<69>genes JPEG con calidad 10, para
todo esto deber<65> usar la siguiente <20>rden
<screen>
mplayer -vo zr -zrdev /dev/video0 -zrcrop 352x288+352+0 -zrxdoff 0 -zrbw \
-zrcrop 352x288+0+0 -zrdev /dev/video1 -zrquality 10 movie.avi
</screen>
</para>
<para>
Puede ver que las opciones que aparecen antes del segundo <option>-zrcrop</option>
solo se aplican al DC10+ y que las opciones despu<70>s del segundo
<option>-zrcrop</option> se aplican al Buz. El n<>mero m<>ximo de tarjetas
MJPEG que pueden participar en el modo <emphasis>cinerama</emphasis> es cuatro,
de modo que puede construirse una pantalla de 2x2.
</para>
<para>
Finalmente un apunte importante: No inicie o pare XawTV en el dispositivo de
reproduccion durante la misma, porque puede colgar su ordenador. Sin embargo
s<EFBFBD> va bien si <emphasis role="bold">PRIMERO</emphasis> inicia XawTV,
<emphasis role="bold">DESPU<EFBFBD>S</emphasis> inicia <application>MPlayer</application>,
espera a que <application>MPlayer</application> termine y
<emphasis role="bold">DESPU<EFBFBD>S</emphasis> detiene XawTV.
</para>
</sect4>
<sect4 id="blinkenlights">
<title>Blinkenlights</title>
<para>
Este controlador permite la reproducci<63>n usando el protocolo UDP Blinkenlinghts. Si no
sabe qu<71> es <ulink url="http://www.blinkenlinghts.de/">Blinkenlinghts</ulink>
no necesita este controlador.
</para>
</sect4>
</sect3>
<sect3 id="tvout">
<title>Soporte de salida-TV</title>
<sect4 id="tvout-mga-g400">
<title>Tarjetas Matrox G400</title>
<para>
Bajo Linux tiene dos maneras de que la salida de TV de la G400 funcione:
</para>
<important>
<para>
para instrucciones sobre salida-TV de Matrox G450/G550 , <20>vaya a la secci<63>n siguiente!
</para>
</important>
<variablelist>
<varlistentry>
<term>XFree86</term>
<listitem><para>
Usando el controladoro y el m<>dulo HAL, disponible en
<ulink url="http://www.matrox.com">el sitio web de Matrox</ulink>.
Esto har<61> que tenga salida de TV bajo X.
</para><para>
<emphasis role="bold">Este m<>todo no obtiene reproducci<63>n acelerada</emphasis>
<20>como bajo Windows! La segunda salida tiene solo framebuffer YUV, el
<emphasis>BES</emphasis> (Back End Scaler, el escalador YUV en las tarjetas
G200/G400/G450/G550) no funciona all<6C>! El controlador de windows arregla esto
de alg<6C>n modo, probablemente usando el motor 3D para el zoom, y el framebuffer
YUV para mostrar la imagen ampliada. Si realmente desea usar X, use
las opciones <option>-vo x11 -fs -zoom</option>, pero ir<69>
<emphasis role="bold">LENTO</emphasis>, y tendr<64> la protecci<63>n de
<emphasis role="bold">Macrovision</emphasis> activada (puede saltarse la
protecci<63>n de Macrovisi<73>n usando <20>ste
<ulink url="http://avifile.sourceforge.net/mgamacro.pl">script en perl</ulink>).
</para></listitem>
</varlistentry>
<varlistentry>
<term>Framebuffer</term>
<listitem><para>
Usando los <emphasis role="bold">m<EFBFBD>dulos matroxfb</emphasis> en los kernel 2.4.
Los kernel 2.2 no tienen la caracter<65>stica de TVout, por lo que no se pueden
usar para esto. Tiene que activar todas las caracter<65>sticas espec<65>ficas de
matroxfb durante la compilaci<63>n (excepto MultiHead), <20>y compilarlo como
<emphasis role="bold">m<EFBFBD>dulos</emphasis>! Tambi<62>n necesita activar I2C.
</para>
<procedure>
<step><para>
Entre en <filename class="directory">TVout/matroxset</filename> y escriba
<command>make</command>. Instale <filename class="directory">matroxset</filename> en
cualquier sitio que se encuentre en su <envar>PATH</envar>.
</para></step>
<step><para>
Si no tiene <command>fbset</command> instalado, entre en
<filename class="directory">TVout/fbset</filename> y escriba <command>make</command>.
Instale <filename class="directory">fbset</filename> en cualquier sitio
que se encuentre en su <envar>PATH</envar>.
</para></step>
<step><para>
Si no tiene <command>con2fb</command> instalado, entre en
<filename class="directory">TVout/con2fb</filename> y escriba <command>make</command>.
Instale <filename class="directory">con2fb</filename> en cualquier sitio
que se encuentre en su <envar>PATH</envar>.
</para></step>
<step><para>
Despu<70>s entre en el directorio <filename class="directory">TVout/</filename>
de los fuentes de <application>MPlayer</application>, y ejecute
<filename>./modules</filename> como root. Su consola de modo-texto
entrar<61> en modo framebuffer (<28>no hay marcha atr<74>s!).
</para></step>
<step><para>
A continuaci<63>n, EDITE y ejecute el script <filename>./matroxtv</filename>.
Esto mostrar<61> un men<65> muy simple. Pulse <keycap>2</keycap> y
<keycap>Enter</keycap>. Ahora debe tener la misma imagen en su monitor,
y TV. Si la imagen TV (PAL por defecto) tiene algunos efectos extra<72>os,
el script no ha sido capaz de establecer la resoluci<63>n correcta (a 640x512
por defecto). Pruebe otras resoluciones desde el men<65>o experimente un poco
con fbset.
</para></step>
<step><para>
Bueno. La siguiente tarea es hacer que el cursor en tty1 (o donde sea)
desaparezca, y desactive el apagado autom<6F>tico del monitor. Ejecute
las siguientes <20>rdenes:
<screen>
echo -e '\033[?25l'
setterm -blank 0<!--
--></screen>
or
<screen>
setterm -cursor off
setterm -blank 0<!--
--></screen>
Probablemente desee poner lo de arriba en un script, y tambi<62>n limpiar
la pantalla. Para hacer que regrese el cursor:
<screen>echo -e '\033[?25h'</screen> o
<screen>setterm -cursor on</screen>
</para></step>
<step><para>
Muy bien chaval. Inicie la reproducci<63>n con
<screen>
mplayer -vo mga -fs -screenw 640 -screenh 512 <replaceable>nombrearchivo</replaceable><!--
--></screen>
(Si usa X, ahora cambie a matroxfb con por ejemplo
<keycap>Ctrl</keycap>+<keycap>Alt</keycap>+<keycap>F1</keycap>.)
Cambie <literal>640</literal> y <literal>512</literal> si establece
otra resoluci<63>n...
</para></step>
<step><para>
<emphasis role="bold"><EFBFBD>Disfrute de la salida de TV ultra-r<>pida ultra-buena
de Matrox (mejor que Xv)!</emphasis>
</para></step>
</procedure>
</listitem>
</varlistentry>
</variablelist>
<formalpara>
<title>Fabricando un cable de salida de TV para Matrox</title>
<para>
Nadie se hace responsable, ni se ofrece ninguna garant<6E>a por ning<6E>n
da<EFBFBD>o causado por esta documentaci<63>n.
</para>
</formalpara>
<formalpara>
<title>Cable para G400</title>
<para>
El conector de cuatro contactos de CRTC2 es una se<73>al de video compuesto.
La toma de tierra son los contactos sexto, s<>ptimo y octavo. (informaci<63>n
proporcionada por Bal<61>zs R<>cz)
</para>
</formalpara>
<formalpara>
<title>Cable para G450</title>
<para>
Los cuatro primeros contactos del conector CRTC2 son la se<73>al de video
compuesto. La tierra es el quinto, sexto, s<>ptimo, y decimoquinto contactos
(5, 6, 7, 15). (informaci<63>n proporcionada por Bal<61>zs Kerekes)
</para>
</formalpara>
</sect4>
<sect4 id="tv-out_matrox_g450">
<title>Tarjetas Matrox G450/G550</title>
<para>
El soporte para salida de TV en estas tarjetas ha sido introducido recientemente,
y a<>n no est<73> en la rama principal del kernel. Actualmente el
m<EFBFBD>dulo <emphasis role="bold">mga_vid</emphasis> no puede usarse AFAIK, porque
el controlador de G450/G550 funciona solo en una configuraci<63>n: el primer chip
CRTC (con muchas m<>s caracter<65>sticas) en la primera pantalla (en el monitor),
y el segundo CRTC (no <emphasis role="bold">BES</emphasis> - para explicaci<63>n
sobre BES, vea la secci<63>n de G400 m<>s arriba) en TV. Actualmente solo puede
usar el controlador de salida <emphasis>fbdev</emphasis> de
<application>MPlayer</application>.
</para>
<para>
Actualmente el primer CRTC no puede ser enrutado hacia el segundo monitor. El
autor del controlador del kernel matroxfb - Petr Vandrovec - quiz<69> a<>ada soporte
para ello, mostrando la salida del CRTC primario en ambas pantallas al mismo
tiempo, como recomendamos actualmente para G400, vea la secci<63>n anterior.
</para>
<para>
El parche para el kernel necesario y un 'como' detallado es descargable desde
<ulink url="http://www.bglug.ca/matrox_tvout/"/>
</para>
</sect4>
<sect4 id="tvout-ati">
<title>Tarjetas ATI</title>
<formalpara>
<title>PRE<EFBFBD>MBULO</title>
<para>
Actualmente ATI no soporta ning<6E>n chip de salida de TV bajo Linux,
debido a los problemas de licencia de la tecnolog<6F>a Macrovision.
</para>
</formalpara>
<itemizedlist>
<title>ESTADO DE LA SALIDA DE TV DE LAS TARJETAS ATI EN LINUX</title>
<listitem><simpara>
<emphasis role="bold">ATI Mach64</emphasis>:
soportado por <ulink url="http://gatos.sf.net">gatos</ulink>.
</simpara></listitem>
<listitem><simpara>
<emphasis role="bold">ASIC Radeon VIVO</emphasis>:
soportado por <ulink url="http://gatos.sf.net">gatos</ulink>.
</simpara></listitem>
<listitem><simpara>
<emphasis role="bold">Radeon</emphasis> y <emphasis role="bold">Rage128</emphasis>:
soportados por <application>MPlayer</application>!
Consulte el <link linkend="vesa">controlador VESA</link> y la secciones
<link linkend="vidix">VIDIX</link>.
</simpara></listitem>
<listitem><simpara>
<emphasis role="bold">Rage Mobility P/M, Radeon, Rage 128, Mobility M3/M4</emphasis>:
soportado por <ulink url="http://www.stud.uni-hamburg.de/users/lennart/projects/atitvout/">atitvout</ulink>.
</simpara></listitem>
</itemizedlist>
<para>
En otras tarjetas, use el controlador <link linkend="vesa">VESA</link>,
sin VIDIX. Lo malo es que se necesita una CPU potente.
</para>
<para>
Lo <20>nico que necesita hacer - <emphasis role="bold">Tener el conector
de TV conectado antes de iniciar su PC</emphasis> porque la BIOS de video
se inicializa por s<> misma solo una vez durante el proceso POST.
</para>
</sect4>
<sect4 id="tvout-voodoo">
<title>Voodoo 3</title>
<para>
Consulte <ulink url="http://www.iki.fi/too/tvout-voodoo3-3000-xfree">esta URL</ulink>.
</para>
</sect4>
<sect4 id="tvout-nvidia">
<title>nVidia</title>
<para>
Lo primero, DEBE descargar los controladores de fuente-cerrada desde
<ulink url="http://nvidia.com"/>. No voy a describir el proceso de instalaci<63>n y configuraci<63>n
porque no es el objetivo que pretende cubrir esta documentaci<63>n.
</para>
<para>
Despu<EFBFBD>s de que XFree86, XVideo, y la aceleraci<63>n 3D est<73>n funcionando correctamente,
edite su secci<63>n Devide sobre la tarjeta en el archivo <filename>XF86Config</filename>,
de acuerdo con el siguiente ejemplo (adaptado para su tarjeta/TV):
<programlisting>
Section "Device"
Identifier "GeForce"
VendorName "ASUS"
BoardName "nVidia GeForce2/MX 400"
Driver "nvidia"
#Option "NvAGP" "1"
Option "NoLogo"
Option "CursorShadow" "on"
Option "TwinView"
Option "TwinViewOrientation" "Clone"
Option "MetaModes" "1024x768,640x480"
Option "ConnectedMonitor" "CRT, TV"
Option "TVStandard" "PAL-B"
Option "TVOutFormat" "Composite"
EndSection
</programlisting>
</para>
<para>
Por supuesto lo importante es la parte del TwinView.
</para>
</sect4>
</sect3>
</sect2>