From e23807f92885e4df6a6ec3ea3177d2d3a5e0a581 Mon Sep 17 00:00:00 2001 From: Paul Kocialkowski Date: Thu, 21 Jun 2018 09:55:42 +0200 Subject: [PATCH] Add dummy vaPutSurface implementation As it turns out vaPutSurface is one of the required core functions. Signed-off-by: Paul Kocialkowski --- src/sunxi_cedrus.c | 1 + src/surface.c | 10 ++++++++++ src/surface.h | 6 ++++++ 3 files changed, 17 insertions(+) diff --git a/src/sunxi_cedrus.c b/src/sunxi_cedrus.c index cf12801..f76cc5d 100644 --- a/src/sunxi_cedrus.c +++ b/src/sunxi_cedrus.c @@ -99,6 +99,7 @@ VAStatus VA_DRIVER_INIT_FUNC(VADriverContextP context) vtable->vaEndPicture = SunxiCedrusEndPicture; vtable->vaSyncSurface = SunxiCedrusSyncSurface; vtable->vaQuerySurfaceStatus = SunxiCedrusQuerySurfaceStatus; + vtable->vaPutSurface = SunxiCedrusPutSurface; vtable->vaQueryImageFormats = SunxiCedrusQueryImageFormats; vtable->vaCreateImage = SunxiCedrusCreateImage; vtable->vaDeriveImage = SunxiCedrusDeriveImage; diff --git a/src/surface.c b/src/surface.c index 5e4bf8a..13d5858 100644 --- a/src/surface.c +++ b/src/surface.c @@ -223,6 +223,16 @@ VAStatus SunxiCedrusQuerySurfaceStatus(VADriverContextP context, return VA_STATUS_SUCCESS; } +VAStatus SunxiCedrusPutSurface(VADriverContextP context, VASurfaceID surface_id, + void *draw, short src_x, short src_y, unsigned short src_width, + unsigned short src_height, short dst_x, short dst_y, + unsigned short dst_width, unsigned short dst_height, + VARectangle *cliprects, unsigned int cliprects_count, + unsigned int flags) +{ + return VA_STATUS_ERROR_UNIMPLEMENTED; +} + VAStatus SunxiCedrusLockSurface(VADriverContextP context, VASurfaceID surface_id, unsigned int *fourcc, unsigned int *luma_stride, unsigned int *chroma_u_stride, unsigned int *chroma_v_stride, diff --git a/src/surface.h b/src/surface.h index 0773ff0..1bbd868 100644 --- a/src/surface.h +++ b/src/surface.h @@ -62,6 +62,12 @@ VAStatus SunxiCedrusSyncSurface(VADriverContextP context, VASurfaceID surface_id); VAStatus SunxiCedrusQuerySurfaceStatus(VADriverContextP context, VASurfaceID surface_id, VASurfaceStatus *status); +VAStatus SunxiCedrusPutSurface(VADriverContextP context, VASurfaceID surface_id, + void *draw, short src_x, short src_y, unsigned short src_width, + unsigned short src_height, short dst_x, short dst_y, + unsigned short dst_width, unsigned short dst_height, + VARectangle *cliprects, unsigned int cliprects_count, + unsigned int flags); VAStatus SunxiCedrusLockSurface(VADriverContextP context, VASurfaceID surface_id, unsigned int *fourcc, unsigned int *luma_stride, unsigned int *chroma_u_stride, unsigned int *chroma_v_stride,