summaryrefslogtreecommitdiff
path: root/src/va.c
diff options
context:
space:
mode:
authorGwenole Beauchesne <gbeauchesne@splitted-desktop.com>2009-07-08 07:56:57 +0000
committerAustin Yuan <shengquan.yuan@intel.com>2009-08-14 22:21:34 +0800
commit2162a793560a02651b3da00bb663f519742bc3fc (patch)
treec09decf27e092fa4b9a9b24e455d24a571df6471 /src/va.c
parenta2523fec99e31a6a2ad0135cbad0afa5b29c34f6 (diff)
downloadlibva-2162a793560a02651b3da00bb663f519742bc3fc.tar.gz
Explicit API extensions versioning from SDS.
Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
Diffstat (limited to 'src/va.c')
-rw-r--r--src/va.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/va.c b/src/va.c
index d7afedc..b409c7c 100644
--- 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);
}