summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Kocialkowski <paul.kocialkowski@bootlin.com>2018-07-18 14:20:19 +0200
committerPaul Kocialkowski <paul.kocialkowski@bootlin.com>2018-07-18 14:40:36 +0200
commit829abae8952798b1bcc4140ca41ac48a42451fda (patch)
treed0c930b0e4088eead383a78c9b1241f79035e62c
parent3119125a2aa2fc36240cfe9d40725bd1634dcf06 (diff)
downloadlibva-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.c1
-rw-r--r--src/surface.c17
-rw-r--r--src/surface.h6
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);