summaryrefslogtreecommitdiffstats
path: root/meta-emenlow/recipes-graphics/libva/libva-0.31.0/300_sds_version.patch
blob: 07531c90cb3a4f6dca2974369998279ebad03f3b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
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: