diff options
author | Paul Kocialkowski <paul.kocialkowski@bootlin.com> | 2018-07-18 14:20:19 +0200 |
---|---|---|
committer | Paul Kocialkowski <paul.kocialkowski@bootlin.com> | 2018-07-18 14:40:36 +0200 |
commit | 829abae8952798b1bcc4140ca41ac48a42451fda (patch) | |
tree | d0c930b0e4088eead383a78c9b1241f79035e62c | |
parent | 3119125a2aa2fc36240cfe9d40725bd1634dcf06 (diff) | |
download | libva-v4l2-request-829abae8952798b1bcc4140ca41ac48a42451fda.tar.gz libva-v4l2-request-829abae8952798b1bcc4140ca41ac48a42451fda.tar.bz2 libva-v4l2-request-829abae8952798b1bcc4140ca41ac48a42451fda.zip |
surface: Add basic support for CreateSurfaces2
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
-rw-r--r-- | src/request.c | 1 | ||||
-rw-r--r-- | src/surface.c | 17 | ||||
-rw-r--r-- | src/surface.h | 6 |
3 files changed, 21 insertions, 3 deletions
diff --git a/src/request.c b/src/request.c index 7113f77..0b661a2 100644 --- a/src/request.c +++ b/src/request.c @@ -86,6 +86,7 @@ VAStatus VA_DRIVER_INIT_FUNC(VADriverContextP context) vtable->vaDestroyConfig = RequestDestroyConfig; vtable->vaGetConfigAttributes = RequestGetConfigAttributes; vtable->vaCreateSurfaces = RequestCreateSurfaces; + vtable->vaCreateSurfaces2 = RequestCreateSurfaces2; vtable->vaDestroySurfaces = RequestDestroySurfaces; vtable->vaCreateContext = RequestCreateContext; vtable->vaDestroyContext = RequestDestroyContext; diff --git a/src/surface.c b/src/surface.c index 43dd1c8..85ee72f 100644 --- a/src/surface.c +++ b/src/surface.c @@ -42,9 +42,12 @@ #include "v4l2.h" #include "video.h" -VAStatus RequestCreateSurfaces(VADriverContextP context, int width, int height, - int format, int surfaces_count, - VASurfaceID *surfaces_ids) +VAStatus RequestCreateSurfaces2(VADriverContextP context, unsigned int format, + unsigned int width, unsigned int height, + VASurfaceID *surfaces_ids, + unsigned int surfaces_count, + VASurfaceAttrib *attributes, + unsigned int attributes_count) { struct request_data *driver_data = context->pDriverData; struct object_surface *surface_object; @@ -171,6 +174,14 @@ VAStatus RequestCreateSurfaces(VADriverContextP context, int width, int height, return VA_STATUS_SUCCESS; } +VAStatus RequestCreateSurfaces(VADriverContextP context, int width, int height, + int format, int surfaces_count, + VASurfaceID *surfaces_ids) +{ + return RequestCreateSurfaces2(context, format, width, height, + surfaces_ids, surfaces_count, NULL, 0); +} + VAStatus RequestDestroySurfaces(VADriverContextP context, VASurfaceID *surfaces_ids, int surfaces_count) { diff --git a/src/surface.h b/src/surface.h index efee317..45e727c 100644 --- a/src/surface.h +++ b/src/surface.h @@ -75,6 +75,12 @@ struct object_surface { int request_fd; }; +VAStatus RequestCreateSurfaces2(VADriverContextP context, unsigned int format, + unsigned int width, unsigned int height, + VASurfaceID *surfaces_ids, + unsigned int surfaces_count, + VASurfaceAttrib *attributes, + unsigned int attributes_count); VAStatus RequestCreateSurfaces(VADriverContextP context, int width, int height, int format, int surfaces_count, VASurfaceID *surfaces_ids); |