# HG changeset patch # User nicodvb # Date 1143585856 0 # Node ID 4f7892794a7f9aaf3d6fad1924834c644d28eac7 # Parent 22b229954fa8b78c1dab617b120331c0a8f017cf added support for external VIDIX diff -r 22b229954fa8 -r 4f7892794a7f Makefile --- a/Makefile Tue Mar 28 16:37:09 2006 +0000 +++ b/Makefile Tue Mar 28 22:44:16 2006 +0000 @@ -75,6 +75,10 @@ $(CACA_LIB) \ $(VESA_LIB) \ +ifeq ($(EXTERNAL_VIDIX),yes) +VO_LIBS += $(EXTERNAL_VIDIX_LIB) +endif + AO_LIBS = $(ARTS_LIB) \ $(ESD_LIB) \ $(JACK_LIB) \ diff -r 22b229954fa8 -r 4f7892794a7f configure --- a/configure Tue Mar 28 16:37:09 2006 +0000 +++ b/configure Tue Mar 28 22:44:16 2006 +0000 @@ -273,7 +273,8 @@ --enable-codec=CODEC dnable specified codec Video output: - --disable-vidix disable VIDIX [enable on x86 *nix] + --disable-internal-vidix disable internal VIDIX [for x86 *nix] + --disable-external-vidix disable external VIDIX [for x86 *nix] --enable-gl build with OpenGL render support [autodetect] --enable-dga[=n] build with DGA [n in {1, 2} ] support [autodetect] --enable-vesa build with VESA support [autodetect] @@ -1561,7 +1562,8 @@ _network=yes _winsock2=auto _smbsupport=auto -_vidix=auto +_vidix_internal=auto +_vidix_external=auto _joystick=no _xvid=auto _x264=auto @@ -1798,8 +1800,10 @@ --disable-winsock2) _winsock2=no ;; --enable-smb) _smbsupport=yes ;; --disable-smb) _smbsupport=no ;; - --enable-vidix) _vidix=yes ;; - --disable-vidix) _vidix=no ;; + --enable-internal-vidix) _vidix_internal=yes ;; + --disable-internal-vidix) _vidix_internal=no ;; + --enable-external-vidix) _vidix_external=yes ;; + --disable-external-vidix) _vidix_external=no ;; --enable-joystick) _joystick=yes ;; --disable-joystick) _joystick=no ;; --enable-xvid) _xvid=yes ;; @@ -2285,17 +2289,17 @@ fi fi -if test "$_vidix" = auto ; then - _vidix=no +if test "$_vidix_internal" = auto ; then + _vidix_internal=no # should check for x86 systems supporting VIDIX (does QNX have VIDIX?) - x86 && _vidix=yes - x86_64 && _vidix=yes - ppc && linux && _vidix=yes - alpha && linux && _vidix=yes - qnx && _vidix=no - sunos && _vidix=no - beos && _vidix=no - darwin && _vidix=no + x86 && _vidix_internal=yes + x86_64 && _vidix_internal=yes + ppc && linux && _vidix_internal=yes + alpha && linux && _vidix_internal=yes + qnx && _vidix_internal=no + sunos && _vidix_internal=no + beos && _vidix_internal=no + darwin && _vidix_internal=no fi echocheck "mplayer binary name" @@ -2316,7 +2320,7 @@ # checking for a working awk, I'm using mawk first, because it's fastest - atmos _awk= -if test "$_vidix" = yes ; then +if test "$_vidix_internal" = yes ; then _awk_verc_fail=yes echocheck "awk" for _awk in mawk gawk nawk awk; do @@ -7133,9 +7137,35 @@ linux && _def_linux='#define TARGET_LINUX 1' # TODO cleanup the VIDIX stuff here -echocheck "VIDIX" -_def_vidix='#define CONFIG_VIDIX 1' -test "$_vidix" = no && _def_vidix='#undef CONFIG_VIDIX' +echocheck "VIDIX (internal)" +echores "$_vidix_internal" + +echocheck "VIDIX (external)" +if test "$_vidix_external" = auto; then + _vidix_external=no + cat > $TMPC < +int main(void) { return 0; } +EOF + cc_check -lvidix && _vidix_external=yes +fi +echores "$_vidix_external" + +if test "$_vidix_internal" = yes || test "$_vidix_external" = yes ; then + _vidix=yes + _def_vidix='#define CONFIG_VIDIX 1' +else + _vidix=no + _def_vidix='#undef CONFIG_VIDIX' +fi + +if test "$_vidix_internal" = yes ; then + _def_vidix_pfx="#define MP_VIDIX_PFX \"$_libdir\" \"/mplayer/vidix/\" " +elif test "$_vidix_external" = yes ; then + _ld_vidix_external="-lvidix" + _def_vidix_pfx='#define MP_VIDIX_PFX "" ' +fi + if test "$_vidix" = yes; then _vosrc="$_vosrc vo_cvidix.c" _vomodules="cvidix $_vomodules" @@ -7155,7 +7185,6 @@ else _novomodules="xvidix $_novomodules" fi -echores "$_vidix" echocheck "joystick" _def_joystick='#undef HAVE_JOYSTICK' @@ -7244,7 +7273,9 @@ STREAMING_LIVE555 = $_live MPLAYER_NETWORK_LIB = $_ld_live $_ld_vstream $_ld_network DVBIN = $_dvbin -VIDIX = $_vidix +VIDIX = $_vidix_internal +EXTERNAL_VIDIX = $_vidix_external +EXTERNAL_VIDIX_LIB = $_ld_vidix_external CONFIG_PP = yes CONFIG_MP3LAME = $_mp3lame LIBMENU = $_menu @@ -8023,6 +8054,7 @@ /* enables / disables VIDIX usage */ $_def_vidix +$_def_vidix_pfx /* enables / disables new input joystick support */ $_def_joystick diff -r 22b229954fa8 -r 4f7892794a7f libvo/Makefile --- a/libvo/Makefile Tue Mar 28 16:37:09 2006 +0000 +++ b/libvo/Makefile Tue Mar 28 22:44:16 2006 +0000 @@ -29,6 +29,10 @@ SRCS += vosub_vidix.c endif +ifeq ($(EXTERNAL_VIDIX),yes) +SRCS += vosub_vidix.c +endif + CFLAGS = $(OPTFLAGS) -I. -I.. -I../osdep \ $(LIBAV_INC) \ $(FREETYPE_INC) \ diff -r 22b229954fa8 -r 4f7892794a7f libvo/vosub_vidix.c --- a/libvo/vosub_vidix.c Tue Mar 28 16:37:09 2006 +0000 +++ b/libvo/vosub_vidix.c Tue Mar 28 22:44:16 2006 +0000 @@ -716,7 +716,7 @@ return -1; } #ifndef __MINGW32__ - vidix_handler = vdlOpen(MPLAYER_LIBDIR "/mplayer/vidix/", + vidix_handler = vdlOpen(MP_VIDIX_PFX, drvname ? drvname[0] == ':' ? &drvname[1] : drvname[0] ? drvname : NULL : NULL, TYPE_OUTPUT, verbose);