commit 890acc1975ed9f6b7173ff6fbf9d689943590913 Author: Gwenole Beauchesne 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 #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: