OSDN Git Service

Explicit API extensions versioning from SDS.
authorGwenole Beauchesne <gbeauchesne@splitted-desktop.com>
Wed, 8 Jul 2009 07:56:57 +0000 (07:56 +0000)
committerAustin Yuan <shengquan.yuan@intel.com>
Fri, 14 Aug 2009 14:21:34 +0000 (22:21 +0800)
Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
configure.ac
src/va.c
src/va_version.h.in

index b6f7923..3927055 100644 (file)
@@ -28,6 +28,9 @@ m4_define([libva_micro_version], [4])
 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], [2])
+
 # 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 -release $LIBVA_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)
 
index d7afedc..b409c7c 100644 (file)
--- a/src/va.c
+++ b/src/va.c
@@ -40,6 +40,7 @@
 
 
 #define DRIVER_INIT_FUNC       "__vaDriverInit_0_30"
+#define DRIVER_INIT_FUNC_SDS   "__vaDriverInit_0_30_sds"
 
 #define DRIVER_EXTENSION       "_drv_video.so"
 
@@ -166,6 +167,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);
             }
index c9ea97a..197c482 100644 (file)
 #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: