diff options
author | Austin Yuan <shengquan.yuan@gmail.com> | 2010-05-08 02:03:56 +0800 |
---|---|---|
committer | Austin Yuan <shengquan.yuan@gmail.com> | 2010-05-08 02:03:56 +0800 |
commit | 70074679333c236bca857a0242ae34442a4874f6 (patch) | |
tree | 8332e3266d31ab1851dcbc7e1ecfef8cb1f95728 /va/va_backend.h | |
parent | 03a6cbe5a8c41aa5311a1ddb67bb93a0ae3539b4 (diff) | |
download | libva-70074679333c236bca857a0242ae34442a4874f6.tar.gz |
Seperate 3rd party API (e.g. vaCreateSurfaceFromXXX) into a libva-tpi.so
and driver table memory is allocated by driver if driver wants to support it.
Signed-off-by: Austin Yuan <shengquan.yuan@gmail.com>
Diffstat (limited to 'va/va_backend.h')
-rw-r--r-- | va/va_backend.h | 34 |
1 files changed, 15 insertions, 19 deletions
diff --git a/va/va_backend.h b/va/va_backend.h index 423de2d..9ba9000 100644 --- a/va/va_backend.h +++ b/va/va_backend.h @@ -338,22 +338,7 @@ struct VADriverVTable int num_attributes ); - /* device specific */ - VAStatus (*vaCreateSurfaceFromCIFrame) ( - VADriverContextP ctx, - unsigned long frame_id, - VASurfaceID *surface /* out */ - ); - - - VAStatus (*vaCreateSurfaceFromV4L2Buf) ( - VADriverContextP ctx, - int v4l2_fd, /* file descriptor of V4L2 device */ - struct v4l2_format *v4l2_fmt, /* format of V4L2 */ - struct v4l2_buffer *v4l2_buf, /* V4L2 buffer */ - VASurfaceID *surface /* out */ - ); - + /* used by va trace */ VAStatus (*vaBufferInfo) ( VADriverContextP ctx, VAContextID context, /* in */ @@ -363,8 +348,8 @@ struct VADriverVTable unsigned int *num_elements /* out */ ); - - VAStatus (*vaCopySurfaceToBuffer) ( + /* lock/unlock surface for external access */ + VAStatus (*vaLockSurface) ( VADriverContextP ctx, VASurfaceID surface, unsigned int *fourcc, /* out for follow argument */ @@ -374,7 +359,17 @@ struct VADriverVTable unsigned int *luma_offset, unsigned int *chroma_u_offset, unsigned int *chroma_v_offset, - void **buffer + unsigned int *buffer_name, /* if it is not NULL, assign the low lever + * surface buffer name + */ + void **buffer /* if it is not NULL, map the surface buffer for + * CPU access + */ + ); + + VAStatus (*vaUnlockSurface) ( + VADriverContextP ctx, + VASurfaceID surface ); }; @@ -382,6 +377,7 @@ struct VADriverContext { void *pDriverData; struct VADriverVTable vtable; + void *vtable_tpi; /* the structure is malloc-ed */ void *native_dpy; int x11_screen; |