<?xml version="1.0" encoding="utf-8"?>
<!-- synced with 1.38 -->
<chapter id="ports" xreflabel="Ports">
<title>Adaptaciones</title>

<sect1 id="linux">
<title>Linux</title>
<para>
La principal plataforma de desarrollo es Linux en x86, sin embargo
<application>MPlayer</application> funciona en muchas otras adaptaciones de
Linux. Los paquetes binarios de <application>MPlayer</application> están
disponibles desde muchos sitios. Sin embargo <emphasis role="bold">ninguno
de estos paquetes tiene soporte</emphasis>. Reporte los problemas a sus
autores, no a nosotros.
</para>

<sect2 id="debian">
<title>Empaquetado para Debian</title>
<para>
Para construir un paquete de Debian, ejecute la siguiente órden en el directorio
de fuentes de <application>MPlayer</application>:
<screen>fakeroot debian/rules binary</screen>
Y después puede instalar el paquete <filename>.deb</filename> como root de la
manera habitual:
<screen>dpkg -i ../mplayer_<replaceable>version</replaceable>.deb</screen>
</para>

<para>
Christian Marillat ha hecho los paquetes no oficiales de
<application>MPlayer</application> para Debian, de
<application>MEncoder</application> y de tipografías para que en un momento,
pueda (apt-)obtenerlos desde su <ulink url="http://marillat.free.fr/">página
personal</ulink>.
</para>
</sect2>

<sect2 id="rpm">
<title>Empaquetado RPM</title>
<para>
Dominik Mierzejewski ha creado y mantiene los paquetes oficiales RPM para Red Hat de
<application>MPlayer</application>. Están disponibles en su
<ulink url="http://greysector.rangers.eu.org/mplayer.html">página personal</ulink>.
</para>

<para>
Los paquetes RPM para Mandrake están disponibles en el
<ulink url="http://plf.zarb.org/">P.L.F.</ulink>.
SuSE los usa para incluir una versión mutilada de
<application>MPlayer</application> en su distribución.
Esta versión será eliminada en sus próximas liberaciones. Puede obtener RPMs
que funcionan desde
<ulink url="http://packman.links2linux.de/?action=128">links2linux.de</ulink>.
</para>
</sect2>

<sect2 id="arm_linux">
<title>ARM Linux</title>
<para>
<application>MPlayer</application> funciona en PDAs con Linux en CPU ARM p.e.
Sharp Zaurus, Compaq Ipaq. La manera más facil de obtener
<application>MPlayer</application> es bajarlo desde uno de los sitios de
paquetes de <ulink url="http://www.openzaurus.org">OpenZaurus</ulink>. Si
desea compilarlo usted mismo, debe mirar en
<ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/mplayer?nav=index.html|src/.|src/packages">mplayer</ulink>
y el directorio
<ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/libavcodec?nav=index.html|src/.|src/packages">libavcodec</ulink>
en el raiz de la distribución de OpenZaurus. Ahí siempre tienen los Makefile
y parches más recientes usados para construir un
<application>MPlayer</application> desde CVS con
<systemitem class="library">libavcodec</systemitem>.
Si necesita un entorno GUI, puede usar xmms-embebido.
</para>
</sect2>
</sect1>

<sect1 id="bsd">
<title>*BSD</title>
<para>
<application>MPlayer</application> funciona en FreeBSD, OpenBSD, NetBSD,
BSD/OS y Darwin. Hay versiones ports/pkgsrc/fink/etc de
<application>MPlayer</application> disponibles que son probablemente más
faciles de usar que nuestras fuentes en crudo.
</para>

<para>
Para construir <application>MPlayer</application> necesita GNU make (gmake -
el make nativo de BSD no funciona) y una versión reciente de binutils.
</para>

<para>
Si <application>MPlayer</application> se queja de que no encuentra
<filename>/dev/cdrom</filename> o <filename>/dev/dvd</filename>,
cree un enlace simbólico apropiado:
<screen>ln -s /dev/<replaceable>(su_dispositivo_de_cdrom)</replaceable> /dev/cdrom</screen>
</para>

<para>
Para usar DLLs Win32 con <application>MPlayer</application> necesita
re-compilar el kernel con la &quot;<envar>opción USER_LDT</envar>&quot;
(a no ser que ejecute FreeBSD-CURRENT, donde es así por defecto).
</para>


<sect2 id="freebsd">
<title>FreeBSD</title>
<para>
Si su CPU tiene SSE, recompile el kernel con
&quot;<envar>la opción CPU_ENABLE_SSE</envar>&quot; (FreeBSD-STABLE o parches
del kernel son requeridos).
</para>
</sect2>

<sect2 id="openbsd">
<title>OpenBSD</title>
<para>
Debido a limitaciones en diferentes versiones de gas (relocalización frente a MMX),
puede ser necesario compilar en dos pasos: Primero asegúrate de que el no-nativo
está el primero en tu <envar>$PATH</envar> y haz <command>gmake -k</command>, después
asegúrate de que la versión nativa es la que se usa y haz <command>gmake</command>.
</para>
</sect2>

<sect2 id="darwin">
<title>Darwin</title>
<para>
Vea la sección <link linkend="macos">Mac OS</link>.
</para>
</sect2>
</sect1>

<sect1 id="solaris">
<title>Sun Solaris</title>
<para>
<application>MPlayer</application> debería funcionar en Solaris 2.6 o posterior.
</para>

<para>
En <emphasis role="bold">UltraSPARCs</emphasis>,
<application>MPlayer</application> tiene la ventaja de las extensiones
<emphasis role="bold">VIS</emphasis> (equivalentes a MMX), actualmente
solo en
<systemitem class="library">libmpeg2</systemitem>,
<systemitem class="library">libvo</systemitem> y
<systemitem class="library">libavcodec</systemitem>, pero no en
<systemitem class="library">mp3lib</systemitem>. Puede ver un archivo
VOB en una CPU a 400MHz. Necesita tener
<ulink url="http://www.sun.com/sparc/vis/mediaLib.html"><systemitem class="library">mLib</systemitem></ulink>
instalado.
</para>

<para>
Para contruir el paquete necesita GNU <application>make</application>
(<filename>gmake</filename>, <filename>/opt/sfw/gmake</filename>), el make
nativo de Solaris no funciona. Errores típicos que puede obtener construyendo
con el make de Solaris en lugar de con el make de GNU:
<screen>
   % /usr/ccs/bin/make
   make: Error fatal en lector: Makefile, línea 25: Fin de línea visto inesperado
</screen>
</para>

<para>
En Solaris SPARC, necesita el Compilador GNU C/C++; no importa si el compilador
GNU C/C++ está configurado con o sin el ensamblador GNU.
</para>

<para>
En Solaris x86, necesita el ensamblador GNU y el compilador GNU C/C++,
¡configurado para usar el ensamblador GNU! El código de
<application>MPlayer</application> en la plataforma
x86 hace dificil el uso de las instrucciones de MMX, SSE y 3DNOW! que no puede
ser compilado usando el ensamblador de Sun <filename>/usr/ccs/bin/as</filename>.
</para>

<para>El script <filename>configure</filename> intenta encontrarlo, qué
programa ensamblador es usado por tu órden &quot;gcc&quot; (en caso de que la
autodetección falle, use la opción
<option>--as=<replaceable>/donde/este/instalado/gnu-as</replaceable></option>
para decirle al script <filename>configure</filename> donde puede encontrar el "as"
de GNU en su sistema).
</para>

<para>
Mensaje de error de <filename>configure</filename> en un sistema Solaris x86
usando GCC sin el ensamblador GNU:
<screen>
   % configure
   ...
   Comprobando ensamblador (/usr/ccs/bin/as) ... , fallo
   Por favor, actualice(baje versión) de binutils a 2.10.1...
</screen>
(Solución: Instalar y usar un gcc configurado con <option>--with-as=gas</option>)
</para>

<para>
Error típico que se obtiene cuando se construye con un compilador GNU C que no
usa GNU as:
<screen>
   % gmake
   ...
   gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math
        -fomit-frame-pointer  -I/usr/local/include   -o mplayer.o mplayer.c
   Assembler: mplayer.c
   "(stdin)", line 3567 : Illegal mnemonic
   "(stdin)", line 3567 : Error de sintaxis
   ... más errores "Illegal mnemonic" y "Error de sintaxis" ...
</screen>
</para>

<para>
Debido a fallos en Solaris 8, puede que no se puedan reproducir discos DVD mayores
de 4 GB:
</para>

<itemizedlist>
<listitem><para>
El controlador sd(7D) en Solaris 8 x86 tiene un error cuando accede a un bloque
de disco >4GB en un dispositivo usando un tamaño de bloque lógico != DEV_BSIZE
(p.e. CD-ROM y medios DVD). Debido a un error de desbordamiento de entero de
32Bit, un módulo de 4GB de dirección de disco es accedido.
(<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22516"/>).
Este problema no existe en la versión SPARC de Solaris 8.
</para></listitem>

<listitem><para>
Un error similar está presente en el código de sistema de archivos hsfs(7FS)
(aka ISO9660), hsfs no puede soportar particiones/discos mayores de 4GB, todos
los datos se acceden módulo 4GB
(<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22592"/>).
El problema hsfs puede ser corregido instalando el parche 109764-04 (sparc) /
109765-04 (x86).
</para></listitem>
</itemizedlist>

<para>
En Solaris con una CPU UltraSPARC, puede obtener alguna velocidad extra usando
las instrucciones VIS de la CPU para algunas operaciones que consumen un tiempo.
La acelación VIS puede ser usada en <application>MPlayer</application>
llamando a funciones en la
<ulink url="http://www.sun.com/sparc/vis/mediaLib.html">mediaLib</ulink> de Sun.
</para>

<para>
Las operaciones aceleradas de mediaLib son usadas por el decodificador mpeg2 de
video y por la conversión en espacio de color en los controladoers de salida de
video.
</para>
</sect1>

<sect1 id="hpux">
<title>HP UX</title>
<para>
Martin Gansser mantiene un
<ulink url="http://cloud.prohosting.com/patos/docs/mplayer_on_hpux11.htm">COMO</ulink>
de mucho valor acerca de cómo compilar <application>MPlayer</application> en HP-UX. ¡Tiene
incluso una sección de FAQ!
</para>

<para>
De todos modos, nuestro código crudo de <application>MPlayer</application> se usa para
compilar en HP-UX sin problemas.
</para>
</sect1>

<sect1 id="qnx">
<title>QNX</title>
<para>
Funciona. Necesita descargar SDL para QNX, e instalarlo. Después ejecute
<application>MPlayer</application> con las opciones <option>-vo sdl:photon</option>
y <option>-ao sdl:nto</option> y debe ir rápido.
</para>

<para>
La salida <option>-vo x11</option> puede ser más lenta que en Linux, porque QNX
solo tiene <emphasis>emulación</emphasis> de X que es MUY lenta. Use SDL.
</para>
</sect1>

<sect1 id="windows">
<title>Windows</title>

<para>Sí, <application>MPlayer</application> funciona en Windows bajo
  <ulink url="http://www.cygwin.com/">Cygwin</ulink> y
  <ulink url="http://www.mingw.org/">MinGW</ulink>.
  No tiene aún una interfaz gráfica (GUI), pero la versión en línea de órdenes
  es casi completamente funcional. <ulink url="../../tech/patches.txt">Los parches</ulink>
  son siempre bienvenidos. Debe consultar también la lista de correo
  <ulink url="http://mplayerhq.hu/mailman/listinfo/mplayer-cygwin/">mplayer-cygwin</ulink>
  para obtener ayuda y la información de última hora.</para>

<para>Se obtienen mejores resultados con el controlador de salida DirectX nativo
  (<option>-vo directx</option>) y el controlador nativo de salida de audio de
  Windows (<option>-ao win32</option>). Alternativas son OpenGL y SDL, pero el
  rendimiento de OpenGL varía en gran medida entre sistemas y se sabe que SDL
  distorsiona el sonido y la imagen o bloquea algunos sistemas. Si la imagen se ve
  distorsionada, pruebe a desactivar la aceleración por hardware con
  <option>-vo directx:noaccel</option>.
  Descargue
  <ulink url="http://www.videolan.org/vlc/dx7headers.tgz">los archivos de cabecera de DirectX 7</ulink>
  para compilar el controlador de salida de video de DirectX.</para>

<para>PUede usar codecs Win32 y Real Win32 (los Real de Linux no) si lo desea. Ponga
  los codecs en algún lugar de su ruta/path o
  pase la opción <option>--codecsdir=<replaceable>c:/ruta/a/sus/codecs</replaceable></option>
  (alternativamente
  <option>--codecsdir=<replaceable>/ruta/a/sus/codecs</replaceable></option> solo en Cygwin) a
  <filename>configure</filename>. Tenemos informes de que las DLLs de Real
  deben tener permisos de escritura para el usuario que usa
  <application>MPlayer</application>, pero solo en algunos sistemas.
  Pruebe ha dar permisos de escritura si tiene problemas. Las DLLs de
  QuickTime también funcionan, pero debe colocarlas en su directorio de
  sistema de Windows
  (<filename class="directory"><replaceable>C:\Windows\system\</replaceable></filename>
  o similar).</para>

<para>La consola de Cygwin/MinGW es extrañamente lenta. Redirigir la salida o usar
  la opción <option>-quiet</option> se ha informado que mejora el rendimiento en algunos
  sistemas. El renderizado directo (<option>-dr</option>) también puede ayudar.
  Puede prevenir el parpadeo de OSD a través de doble buffer con la opción
  <option>-double</option>. Si la reproducción va a saltos, pruebe
  <option>-autosync 100</option>. Si alguna de estas opciones le ayuda, puede que
  desee ponerlas en su archivo de configuración.</para>

<para>Sascha Sommer libera binarios oficiales para Windows de vez en
  cuando, Joey Parrish hace paquetes completos para Windows no oficiales
  con instalador. Búsquelos en la sección de Windows de
  <ulink url="http://www.mplayerhq.hu/projects.html#windows">nuestra
  página de proyectos</ulink>.</para>

<sect2 id="cygwin">
<title>Cygwin</title>

<para>Versiones de <application>Cygwin</application> anteriores a la
  1.5.0 no incluyen <filename>inttypes.h</filename>. Ponga esto
  <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/contrib/inttypes.h">inttypes.h</ulink>
  en <filename class="directory">/usr/include/</filename> para hacer que
  <application>MPlayer</application> compile.</para>

<para>Los archivos de cabecera de DirectX han de ser extraidos a
  <filename class="directory">/usr/include/</filename> o a
  <filename class="directory">/usr/local/include/</filename>.</para>

<para>Las instrucciones y los archivos para hacer que SDL funcione bajo Cygwin pueden
  encontrarse en el
  <ulink url="http://www.libsdl.org/extras/win32/cygwin/">sitio de libsdl</ulink>.</para>

<para>Puede reproducir VCDs reproduciendo los archivos <filename>.DAT</filename> o
  <filename>.MPG</filename> que Windows muestra en los VCDs. Esto funciona de la
  siguiente manera (ajuste para la letra de unidad de su CD-ROM):</para>

<screen>mplayer <replaceable>d:/mpegav/avseq01.dat</replaceable></screen>

<screen>mplayer <replaceable>/cygdrive/d/MPEG2/AVSEQ01.MPG</replaceable></screen>

<para>Para DVDs también funciona, ajuste <option>-dvd-device</option> para la letra
  de unidad de su DVD-ROM:</para>

<screen>mplayer dvd://<replaceable>&lt;título&gt;</replaceable> -dvd-device '\\.\d:'</screen>

</sect2>


<sect2 id="mingw">
<title>MinGW</title>

<para>Instalar una versión de MinGW que pueda usarse para compilar
  <application>MPlayer</application> es bastante artificioso, pero ya
  funciona fuera de la caja. Solo instale MinGW 3.1.0 o posterior y MSYS
  1.0.9 o posterior y diga a MSYS en la postinstalación que MinGW
  está instalado.</para>

<para>Si usa una versión de MinGW anterior a la 3.1.0, necesita reemplazar
  <filename>/mingw/include/sys/types.h</filename> con esta
  <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/contrib/types.h">
  <filename>types.h</filename></ulink>.</para>

<para>Extraiga los archivos de cabecera de DirectX a
  <filename class="directory">/mingw/include/</filename>.</para>

<para>VCDs y DVDs funcionan casi como en Cygwin (ajustando la letra de la unidad de su
  CD-ROM/DVD-ROM):</para>

<screen>mplayer <replaceable>d:/mpegav/avseq01.dat</replaceable></screen>

<screen>mplayer <replaceable>/d/MPEG2/AVSEQ01.MPG</replaceable></screen>

<screen>mplayer dvd://i<replaceable>&lt;título&gt;</replaceable> -dvd-device <replaceable>/d/</replaceable></screen>

</sect2>

</sect1>

<sect1 id="macos">
<title>Mac OS</title>
<para>
Solo Mac OS X 10.2 y superiores están soportados por el código en crudo
de <application>MPlayer</application>. ¡Siéntase libre para añadir soporte
para versiones más antiguas de Mac OS y envíe parches!
</para>

<para>
El GCC 3.x modificado por Apple es el preferido para compilar
<application>MPlayer</application> especialmente usando
<systemitem class="library">libavcodec</systemitem> ya que
el GCC 2.95.x modificado por Apple no soporta bien la sintaxis C99.
</para>

<para>
Solo puede obtener un GUI Aqua para <application>MPlayer</application> junto con los
binarios compilados de <application>MPlayer</application> para Mac OS X desde el
proyecto <ulink url="http://mplayerosx.sf.net/">MPlayerOSX</ulink>.
</para>

</sect1>

</chapter>
