[Libva] [Libva-intel-driver PATCH 8/9] Export the profile/entrypoints for the wrapped backend drivers
Zhao Yakui
yakui.zhao at intel.com
Sat Sep 5 18:39:15 PDT 2015
Signed-off-by: Zhao Yakui <yakui.zhao at intel.com>
Signed-off-by: Sean V Kelley <seanvk at posteo.de>
---
src/i965_drv_video.c | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
diff --git a/src/i965_drv_video.c b/src/i965_drv_video.c
index a2d2cc8..00860f8 100644
--- a/src/i965_drv_video.c
+++ b/src/i965_drv_video.c
@@ -564,6 +564,25 @@ i965_QueryConfigProfiles(VADriverContextP ctx,
profile_list[i++] = VAProfileHEVCMain;
}
+ if (i965->wrapper_pdrvctx) {
+ VAProfile wrapper_list[4];
+ int wrapper_num;
+ VADriverContextP pdrvctx;
+ VAStatus va_status;
+
+ pdrvctx = i965->wrapper_pdrvctx;
+ CALL_VTABLE(pdrvctx, va_status,
+ vaQueryConfigProfiles(pdrvctx,
+ wrapper_list, &wrapper_num));
+
+ if (va_status == VA_STATUS_SUCCESS) {
+ int j;
+ for (j = 0; j < wrapper_num; j++)
+ if (wrapper_list[j] != VAProfileNone)
+ profile_list[i++] = wrapper_list[j];
+ }
+ }
+
/* If the assert fails then I965_MAX_PROFILES needs to be bigger */
ASSERT_RET(i <= I965_MAX_PROFILES, VA_STATUS_ERROR_OPERATION_FAILED);
*num_profiles = i;
@@ -648,6 +667,20 @@ i965_QueryConfigEntrypoints(VADriverContextP ctx,
break;
+ case VAProfileVP9Profile0:
+ if (i965->wrapper_pdrvctx) {
+ VAStatus va_status = VA_STATUS_SUCCESS;
+ VADriverContextP pdrvctx = i965->wrapper_pdrvctx;
+
+ CALL_VTABLE(pdrvctx, va_status,
+ vaQueryConfigEntrypoints(pdrvctx, profile,
+ entrypoint_list,
+ num_entrypoints));
+ return va_status;
+ }
+
+ break;
+
default:
break;
}
@@ -745,6 +778,13 @@ i965_validate_config(VADriverContextP ctx, VAProfile profile,
break;
+ case VAProfileVP9Profile0:
+ if (i965->wrapper_pdrvctx)
+ va_status = VA_STATUS_SUCCESS;
+ else
+ va_status = VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT;
+ break;
+
default:
va_status = VA_STATUS_ERROR_UNSUPPORTED_PROFILE;
break;
--
1.8.4.2
More information about the Libva
mailing list