# HG changeset patch # User ben # Date 1176547157 0 # Node ID 46597c69d84376a5c791261ecd8a764771f27f26 # Parent 46593cc4aeba190fffedb06478bc734f9da1a1dd added conditional vidix drivers compilation diff -r 46593cc4aeba -r 46597c69d843 configure --- a/configure Sat Apr 14 10:07:36 2007 +0000 +++ b/configure Sat Apr 14 10:39:17 2007 +0000 @@ -334,6 +334,9 @@ Video output: --disable-vidix-internal disable internal VIDIX [for x86 *nix] --disable-vidix-external disable external VIDIX [for x86 *nix] + --with-vidix-drivers[=*] list of VIDIX drivers to be compiled in + Available: all,cyberblade,mach64,mga,mga_crtc2, + nvidia,pm3,radeon,rage128,savage,sis,unichrome --enable-gl enable OpenGL video output [autodetect] --enable-dga[=n] enable DGA [n in {1, 2} ] support [autodetect] --enable-vesa enable VESA video output [autodetect] @@ -588,6 +591,7 @@ _smbsupport=auto _vidix_internal=auto _vidix_external=auto +_vidix_drivers="all" _joystick=no _xvid=auto _x264=auto @@ -955,6 +959,9 @@ --disable-vidix-internal) _vidix_internal=no ;; --enable-vidix-external) _vidix_external=yes ;; --disable-vidix-external) _vidix_external=no ;; + --with-vidix-drivers=*) + _vidix_drivers=`echo $ac_option | cut -d '=' -f 2` + ;; --enable-joystick) _joystick=yes ;; --disable-joystick) _joystick=no ;; --enable-xvid) _xvid=yes ;; @@ -7320,6 +7327,86 @@ _def_vidix='#undef CONFIG_VIDIX' fi +if test "$_vidix" = yes ; then + if test "$_vidix_drivers" = all || test `echo "$_vidix_drivers" | grep -e cyberblade`; then + _def_vidix_drv_cyberblade='#define CONFIG_VIDIX_DRV_CYBERBLADE 1' + _vidix_drv_cyberblade=yes + else + _def_vidix_drv_cyberblade='#undef CONFIG_VIDIX_DRV_CYBERBLADE' + _vidix_drv_cyberblade=no + fi + if test "$_vidix_drivers" = all || test `echo "$_vidix_drivers" | grep -e mach64`; then + _def_vidix_drv_mach64='#define CONFIG_VIDIX_DRV_MACH64 1' + _vidix_drv_mach64=yes + else + _def_vidix_drv_mach64='#undef CONFIG_VIDIX_DRV_MACH64' + _vidix_drv_mach64=no + fi + if test "$_vidix_drivers" = all || test `echo "$_vidix_drivers" | grep -e mga`; then + _def_vidix_drv_mga='#define CONFIG_VIDIX_DRV_MGA 1' + _vidix_drv_mga=yes + else + _def_vidix_drv_mga='#undef CONFIG_VIDIX_DRV_MGA' + _vidix_drv_mga=no + fi + if test "$_vidix_drivers" = all || test `echo "$_vidix_drivers" | grep -e mga_crtc2`; then + _def_vidix_drv_mga_crtc2='#define CONFIG_VIDIX_DRV_MGA_CRTC2 1' + _vidix_drv_mga_crtc2=yes + else + _def_vidix_drv_mga_crtc2='#undef CONFIG_VIDIX_DRV_MGA_CRTC2' + _vidix_drv_mga_crtc2=no + fi + if test "$_vidix_drivers" = all || test `echo "$_vidix_drivers" | grep -e nvidia`; then + _def_vidix_drv_nvidia='#define CONFIG_VIDIX_DRV_NVIDIA 1' + _vidix_drv_nvidia=yes + else + _def_vidix_drv_nvidia='#undef CONFIG_VIDIX_DRV_NVIDIA' + _vidix_drv_nvidia=no + fi + if test "$_vidix_drivers" = all || test `echo "$_vidix_drivers" | grep -e pm3`; then + _def_vidix_drv_pm3='#define CONFIG_VIDIX_DRV_PM3 1' + _vidix_drv_pm3=yes + else + _def_vidix_drv_pm3='#undef CONFIG_VIDIX_DRV_PM3' + _vidix_drv_pm3=no + fi + if test "$_vidix_drivers" = all || test `echo "$_vidix_drivers" | grep -e radeon`; then + _def_vidix_drv_radeon='#define CONFIG_VIDIX_DRV_RADEON 1' + _vidix_drv_radeon=yes + else + _def_vidix_drv_radeon='#undef CONFIG_VIDIX_DRV_RADEON' + _vidix_drv_radeon=no + fi + if test "$_vidix_drivers" = all || test `echo "$_vidix_drivers" | grep -e rage128`; then + _def_vidix_drv_rage128='#define CONFIG_VIDIX_DRV_RAGE128 1' + _vidix_drv_rage128=yes + else + _def_vidix_drv_rage128='#undef CONFIG_VIDIX_DRV_RAGE128' + _vidix_drv_rage128=no + fi + if test "$_vidix_drivers" = all || test `echo "$_vidix_drivers" | grep -e savage`; then + _def_vidix_drv_savage='#define CONFIG_VIDIX_DRV_SAVAGE 1' + _vidix_drv_savage=yes + else + _def_vidix_drv_savage='#undef CONFIG_VIDIX_DRV_SAVAGE' + _vidix_drv_savage=no + fi + if test "$_vidix_drivers" = all || test `echo "$_vidix_drivers" | grep -e sis`; then + _def_vidix_drv_sis='#define CONFIG_VIDIX_DRV_SIS 1' + _vidix_drv_sis=yes + else + _def_vidix_drv_sis='#undef CONFIG_VIDIX_DRV_SIS' + _vidix_drv_sis=no + fi + if test "$_vidix_drivers" = all || test `echo "$_vidix_drivers" | grep -e unichrome`; then + _def_vidix_drv_unichrome='#define CONFIG_VIDIX_DRV_UNICHROME 1' + _vidix_drv_unichrome=yes + else + _def_vidix_drv_unichrome='#undef CONFIG_VIDIX_DRV_UNICHROME' + _vidix_drv_unichrome=no + fi +fi + if test "$_vidix_internal" = yes ; then _def_vidix_pfx="#define MP_VIDIX_PFX \"$_libdir\" \"/mplayer/vidix/\" " elif test "$_vidix_external" = yes ; then @@ -7693,6 +7780,17 @@ CONFIG_MUXERS=$_mencoder RADIO=$_radio RADIO_CAPTURE=$_radio_capture +CONFIG_VIDIX_CYBERBLADE=$_vidix_drv_cyberblade +CONFIG_VIDIX_MACH64=$_vidix_drv_mach64 +CONFIG_VIDIX_MGA=$_vidix_drv_mga +CONFIG_VIDIX_MGA_CRTC2=$_vidix_drv_mga_crtc2 +CONFIG_VIDIX_NVIDIA=$_vidix_drv_nvidia +CONFIG_VIDIX_PM3=$_vidix_drv_pm3 +CONFIG_VIDIX_RADEON=$_vidix_drv_radeon +CONFIG_VIDIX_RAGE128=$_vidix_drv_rage128 +CONFIG_VIDIX_SAVAGE=$_vidix_drv_savage +CONFIG_VIDIX_SIS=$_vidix_drv_sis +CONFIG_VIDIX_UNICHROME=$_vidix_drv_unichrome # --- Some stuff for autoconfigure ---- $_target_arch @@ -8367,6 +8465,17 @@ /* enables / disables VIDIX usage */ $_def_vidix +$_def_vidix_drv_cyberblade +$_def_vidix_drv_mach64 +$_def_vidix_drv_mga +$_def_vidix_drv_mga_crtc2 +$_def_vidix_drv_nvidia +$_def_vidix_drv_pm3 +$_def_vidix_drv_radeon +$_def_vidix_drv_rage128 +$_def_vidix_drv_savage +$_def_vidix_drv_sis +$_def_vidix_drv_unichrome $_def_vidix_pfx /* enables / disables new input joystick support */ diff -r 46593cc4aeba -r 46597c69d843 vidix/Makefile --- a/vidix/Makefile Sat Apr 14 10:07:36 2007 +0000 +++ b/vidix/Makefile Sat Apr 14 10:39:17 2007 +0000 @@ -3,15 +3,29 @@ LIBNAME_MPLAYER = libvidix.a SRCS_MPLAYER = vidixlib.c \ + drivers.c \ dha.c \ mtrr.c \ pci.c \ pci_names.c \ - pci_dev_ids.c \ - $(wildcard *.c) + pci_dev_ids.c -OBJS_MPLAYER = mga_crtc2_vid.o \ - rage128_vid.o \ +SRCS_MPLAYER-$(CONFIG_VIDIX_CYBERBLADE) += cyberblade_vid.c +SRCS_MPLAYER-$(CONFIG_VIDIX_MACH64) += mach64_vid.c +SRCS_MPLAYER-$(CONFIG_VIDIX_MGA) += mga_vid.c +SRCS_MPLAYER-$(CONFIG_VIDIX_NVIDIA) += nvidia_vid.c +SRCS_MPLAYER-$(CONFIG_VIDIX_PM3) += pm3_vid.c +SRCS_MPLAYER-$(CONFIG_VIDIX_RADEON) += radeon_vid.c +SRCS_MPLAYER-$(CONFIG_VIDIX_SAVAGE) += savage_vid.c +SRCS_MPLAYER-$(CONFIG_VIDIX_SIS) += sis_vid.c sis_bridge.c +SRCS_MPLAYER-$(CONFIG_VIDIX_UNICHROME) += unichrome_vid.c + +ifeq ($(CONFIG_VIDIX_MGA_CRTC2), yes) +OBJS_MPLAYER += mga_crtc2_vid.o +endif +ifeq ($(CONFIG_VIDIX_RAGE128),yes) +OBJS_MPLAYER += rage128_vid.o +endif # If you want libdha to use svgalib_helper for hardware access, # uncomment this statement, and change the -I to the correct directory diff -r 46593cc4aeba -r 46597c69d843 vidix/drivers.c --- a/vidix/drivers.c Sat Apr 14 10:07:36 2007 +0000 +++ b/vidix/drivers.c Sat Apr 14 10:39:17 2007 +0000 @@ -26,6 +26,7 @@ #include "config.h" #include "libavutil/common.h" #include "mpbswap.h" +#include "config.h" VDXDriver *first_driver = NULL; @@ -54,17 +55,39 @@ void vidix_register_all_drivers (void) { +#ifdef CONFIG_VIDIX_DRV_CYBERBLADE vidix_register_driver (&cyberblade_drv); +#endif +#ifdef CONFIG_VIDIX_DRV_MACH64 vidix_register_driver (&mach64_drv); +#endif +#ifdef CONFIG_VIDIX_DRV_MGA vidix_register_driver (&mga_drv); +#endif +#ifdef CONFIG_VIDIX_DRV_MGA_CRTC2 vidix_register_driver (&mga_crtc2_drv); +#endif +#ifdef CONFIG_VIDIX_DRV_NVIDIA vidix_register_driver (&nvidia_drv); +#endif +#ifdef CONFIG_VIDIX_DRV_PM3 vidix_register_driver (&pm3_drv); +#endif +#ifdef CONFIG_VIDIX_DRV_RADEON vidix_register_driver (&radeon_drv); +#endif +#ifdef CONFIG_VIDIX_DRV_RAGE128 vidix_register_driver (&rage128_drv); +#endif +#ifdef CONFIG_VIDIX_DRV_SAVAGE vidix_register_driver (&savage_drv); +#endif +#ifdef CONFIG_VIDIX_DRV_SIS vidix_register_driver (&sis_drv); +#endif +#ifdef CONFIG_VIDIX_DRV_UNICHROME vidix_register_driver (&unichrome_drv); +#endif } static int vidix_probe_driver (VDXContext *ctx, VDXDriver *drv,