88 lines
2.7 KiB
Diff
88 lines
2.7 KiB
Diff
commit 890acc1975ed9f6b7173ff6fbf9d689943590913
|
|
Author: Gwenole Beauchesne <gbeauchesne@splitted-desktop.com>
|
|
Date: Wed Jun 24 11:32:40 2009 +0000
|
|
|
|
Explicit API extensions from SDS.
|
|
|
|
diff --git a/configure.ac b/configure.ac
|
|
index 3999dc4..17b0403 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -28,6 +28,9 @@ m4_define([libva_micro_version], [0])
|
|
m4_define([libva_version],
|
|
[libva_major_version.libva_minor_version.libva_micro_version])
|
|
|
|
+# increase this number for each API change
|
|
+m4_define([libva_sds_version], [4])
|
|
+
|
|
# if the library source code has changed, increment revision
|
|
m4_define([libva_lt_revision], [0])
|
|
# if any interface was added/removed/changed, then inc current, reset revision
|
|
@@ -52,11 +55,14 @@ AC_SUBST(LIBVA_MINOR_VERSION)
|
|
AC_SUBST(LIBVA_MICRO_VERSION)
|
|
AC_SUBST(LIBVA_VERSION)
|
|
|
|
+LIBVA_SDS_VERSION=libva_sds_version
|
|
+AC_SUBST(LIBVA_SDS_VERSION)
|
|
+
|
|
LIBVA_LT_CURRENT=libva_lt_current
|
|
LIBVA_LT_REV=libva_lt_revision
|
|
LIBVA_LT_AGE=libva_lt_age
|
|
LIBVA_LT_VERSION="$LIBVA_LT_CURRENT:$LIBVA_LT_REV:$LIBVA_LT_AGE"
|
|
-LIBVA_LT_LDFLAGS="-version-info $LIBVA_LT_VERSION"
|
|
+LIBVA_LT_LDFLAGS="-version-info $LIBVA_LT_VERSION -release $LIBVA_VERSION.$LIBVA_SDS_VERSION"
|
|
AC_SUBST(LIBVA_LT_VERSION)
|
|
AC_SUBST(LIBVA_LT_LDFLAGS)
|
|
|
|
diff --git a/src/va.c b/src/va.c
|
|
index f9791f8..b60ac12 100644
|
|
--- a/src/va.c
|
|
+++ b/src/va.c
|
|
@@ -35,6 +35,7 @@
|
|
#include <linux/videodev2.h>
|
|
|
|
#define DRIVER_INIT_FUNC "__vaDriverInit_0_31"
|
|
+#define DRIVER_INIT_FUNC_SDS "__vaDriverInit_0_31_sds"
|
|
|
|
#define DRIVER_EXTENSION "_drv_video.so"
|
|
|
|
@@ -160,6 +161,11 @@ static VAStatus va_openDriver(VADisplay dpy, char *driver_name)
|
|
init_func = (VADriverInit) dlsym(handle, DRIVER_INIT_FUNC);
|
|
if (!init_func)
|
|
{
|
|
+ /* Then try SDS extensions (VDPAU and XvBA backends) */
|
|
+ init_func = (VADriverInit) dlsym(handle, DRIVER_INIT_FUNC_SDS);
|
|
+ }
|
|
+ if (!init_func)
|
|
+ {
|
|
va_errorMessage("%s has no function %s\n", driver_path, DRIVER_INIT_FUNC);
|
|
dlclose(handle);
|
|
}
|
|
diff --git a/src/va_version.h.in b/src/va_version.h.in
|
|
index c9ea97a..197c482 100644
|
|
--- a/src/va_version.h.in
|
|
+++ b/src/va_version.h.in
|
|
@@ -47,6 +47,13 @@
|
|
#define VA_MICRO_VERSION (@LIBVA_MICRO_VERSION@)
|
|
|
|
/**
|
|
+ * VA_SDS_VERSION:
|
|
+ *
|
|
+ * The version of the SDS API extensions to the VA library
|
|
+ */
|
|
+#define VA_SDS_VERSION (@LIBVA_SDS_VERSION@)
|
|
+
|
|
+/**
|
|
* VA_VERSION:
|
|
*
|
|
* The full version of the VA library, like 1.2.3
|
|
@@ -59,7 +66,7 @@
|
|
* The full version of the VA library, in string form (suited for
|
|
* string concatenation)
|
|
*/
|
|
-#define VA_VERSION_S "@LIBVA_VERSION@"
|
|
+#define VA_VERSION_S "@LIBVA_VERSION@-sds@LIBVA_SDS_VERSION@"
|
|
|
|
/**
|
|
* VA_VERSION_HEX:
|