aboutsummaryrefslogtreecommitdiffstats
path: root/meta-emenlow/recipes-graphics/libva/libva-0.31.0/300_sds_version.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-emenlow/recipes-graphics/libva/libva-0.31.0/300_sds_version.patch')
-rw-r--r--meta-emenlow/recipes-graphics/libva/libva-0.31.0/300_sds_version.patch87
1 files changed, 87 insertions, 0 deletions
diff --git a/meta-emenlow/recipes-graphics/libva/libva-0.31.0/300_sds_version.patch b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/300_sds_version.patch
new file mode 100644
index 00000000..07531c90
--- /dev/null
+++ b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/300_sds_version.patch
@@ -0,0 +1,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: