summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--AUTHORS3
-rw-r--r--ChangeLog3
-rw-r--r--configure.ac72
3 files changed, 78 insertions, 0 deletions
diff --git a/AUTHORS b/AUTHORS
index 06c9f3992..003fc511f 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -422,4 +422,7 @@ Njål T. Borch <Njaal.Borch@njaal.net>
Ramon van der Aar <rvda@itsec-ps.nl>
Network Buffer Controler patch
+Jack Steven Kelliher <kelliher@xmission.com>
+ XvMC support
+
(let us know if we've forgotten anyone)
diff --git a/ChangeLog b/ChangeLog
index 549fbc038..5df60cf3f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+xine-lib (1-rc2)
+ * XvMC support for hardware accelerated mpeg2 playback (-V xvmc)
+
xine-lib (1-rc1)
* fix incorrect colours when blending frame with a big-endian RGB pixel format
* add support for chroma keyed overlay graphics to video_out_pgx64
diff --git a/configure.ac b/configure.ac
index 445386461..0d8ed0a68 100644
--- a/configure.ac
+++ b/configure.ac
@@ -340,6 +340,16 @@ dnl but only dynamic linking is possible when using libtool < 1.4.0
AC_PREREQ_LIBTOOL(1.4.0, xv_lib="libXv.a", xv_lib="libXv.so")
+dnl ---------------------------------------------
+dnl Checks for XvMC extension
+dnl ---------------------------------------------
+dnl static linking with libXvMC is preferred!
+dnl but only dynamic linking is possible when using libtool < 1.4.0
+
+AC_PREREQ_LIBTOOL(1.4.0, xvmc_lib="libXvMC.a", xvmc_lib="libXvMC.so")
+
+AC_PREREQ_LIBTOOL(1.4.0, xvmc_lib_nv="libXvMCNVIDIA.a", xv_lib_nv="libXvMCNVIDIA_dynamic.so.1")
+
dnl ---------------------------------------------
dnl Check for OpenGL & [GLut | GLU]
@@ -399,6 +409,14 @@ case "$host_or_hostalias" in
echo "warning: hppa linker - disabling static libXv"
xv_lib="libXv.so"
fi
+ if test "$xvmc_lib" = "libXvMC.a"; then
+ echo "warning: hppa linker - disabling static libXvMC"
+ xvmc_lib="libXvMC.so"
+ fi
+ if test "$xvmc_lib_nv" = "libXvMCNVIDIA.a"; then
+ echo "warning: hppa linker - disabling static libXvMCNVIDIA"
+ xvmc_lib_nv="libXvMCNVIDIA_dynamic.so.1"
+ fi
;;
i386-*-freebsd*)
@@ -470,6 +488,44 @@ AC_SUBST(XV_LIB)
AC_SUBST(EXTRA_X_LIBS)
AC_SUBST(EXTRA_X_CFLAGS)
+AC_ARG_WITH(xvmc-path,[ --with-xvmc-path=path Where $xvmc_lib is installed],
+ xvmc_path="$withval", xvmc_path="/usr/X11R6/lib")
+
+AC_CHECK_LIB(XvMC, XvMCQueryExtension,
+ [ AC_MSG_CHECKING(for $xvmc_lib location)
+ if test -f "$xvmc_path/$xvmc_lib_nv"; then
+ if test -f "$xvmc_path/$xvmc_lib"; then
+ AC_MSG_RESULT(found in $xvmc_path)
+ XVMC_LIB="-L$xvmc_path -lXvMC -lXvMCNVIDIA"
+ AC_DEFINE(HAVE_XVMC,1,[Define this if you have libXvMC installed])
+ ac_have_xvmc="yes"
+ if test x$xvmc_lib = "xlibXvMC.a" ; then
+ AC_DEFINE(HAVE_XVMC_STATIC,1,[Define this if you have libXvMC.a])
+ fi
+ else
+ AC_MSG_RESULT(not found in $xvmc_path)
+ echo
+ echo "****************************************************************"
+ echo "* if you don't have a libXvMC.so on your system, use: *"
+ echo "* ld --whole-archive -shared -o libXvMC.so.1 libXvMC.a *"
+ echo "* then: ln -s libXvMC.so.1 libXvMC.so *"
+ echo "* to create it or try to use --with-xvmc-path to set the *"
+ echo "* location of libXvMC.so *"
+ echo "****************************************************************"
+ echo
+ fi
+ fi ],, [$X_LIBS $X_PRE_LIBS -lXext $X_EXTRA_LIBS])
+
+AM_CONDITIONAL(HAVE_XVMC, test x$ac_have_xvmc = "xyes")
+AM_CONDITIONAL(HAVE_XVMC_STATIC, test x$ac_have_xvmc = "xyes" -a x$xvmc_lib = "xlibXvMC.a")
+dnl
+dnl xine_check use XvMC functions API.
+dnl
+if test x$ac_have_xvmc = "xyes"; then
+ EXTRA_X_LIBS="-L$xvmc_path $XVMC_LIBS -lXext"
+ EXTRA_X_CFLAGS=""
+fi
+AC_SUBST(XVMC_LIB)
dnl ---------------------------------------------
dnl Checks for Xinerama extension
@@ -1728,6 +1784,22 @@ if test x"$no_x" != "xyes"; then
echo " - Xv (XVideo *shared*)"
fi
fi
+ dnl XvMC
+ if test x$ac_have_xvmc = "xyes"; then
+ if test x$xvmc_lib="xlibXvMC.a"; then
+ echo " - XvMC (XVideo *static*)"
+ else
+ echo " - XvMC (XVideo *shared*)"
+ fi
+ fi
+ dnl XvMCNVIDIA
+ if test x$ac_have_xvmc = "xyes"; then
+ if test x$xvmc_lib="xlibXvMCNVIDIA.a"; then
+ echo " - XvMCNVIDIA (XVideo *static*)"
+ else
+ echo " - XvMCNVIDIA (XVideo *shared*)"
+ fi
+ fi
if test x$ac_have_opengl = "xyes" -a x$ac_have_glut="xyes" -o \
x$ac_have_opengl = "xyes" -a x$ac_have_glu="xyes"; then
echo " - OpenGL"