diff options
author | Austin Yuan <shengquan.yuan@intel.com> | 2009-06-19 03:30:16 +0800 |
---|---|---|
committer | Austin Yuan <shengquan.yuan@intel.com> | 2009-06-19 03:30:16 +0800 |
commit | 71b5fec133c15cf4b2af641f3b1c387e17aadc56 (patch) | |
tree | 88db22d981c69cfa51b120fbd1ffbd7786f29ab4 | |
parent | 0068a944932eeb5c7757b124854c6fdbaf2918c9 (diff) | |
download | libva-71b5fec133c15cf4b2af641f3b1c387e17aadc56.tar.gz |
refine vaCreateSurfaceFromMrstV4L2Buf to vaCreateSurfaceFromV4L2Buf to make it more generic
Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
-rw-r--r-- | src/va.c | 25 | ||||
-rwxr-xr-x | src/va_backend.h | 20 |
2 files changed, 17 insertions, 28 deletions
@@ -34,6 +34,8 @@ #include <dlfcn.h> #include <unistd.h> +#include <linux/videodev2.h> + #define VA_STR_VERSION VA_BUILD_DATE VA_BUILD_GIT #define VA_MAJOR_VERSION 0 @@ -1242,29 +1244,22 @@ VAStatus vaCreateSurfaceFromCIFrame ( } -VAStatus vaCreateSurfaceFromMrstV4L2Buf( +VAStatus vaCreateSurfaceFromV4L2Buf( VADisplay dpy, - unsigned int width, - unsigned int height, - unsigned int size, - unsigned int fourcc, - unsigned int luma_stride, - unsigned int chroma_u_stride, - unsigned int chroma_v_stride, - unsigned int luma_offset, - unsigned int chroma_u_offset, - unsigned int chroma_v_offset, - VASurfaceID *surface /* out */ + 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 */ ) { VADriverContextP ctx; CHECK_DISPLAY(dpy); ctx = CTX(dpy); - TRACE(vtable.vaCreateSurfaceFromMrstV4L2Buf); + TRACE(vtable.vaCreateSurfaceFromV4L2Buf); - if (ctx->vtable.vaCreateSurfaceFromMrstV4L2Buf) - return ctx->vtable.vaCreateSurfaceFromMrstV4L2Buf( ctx, width, height, size, fourcc, luma_stride, chroma_u_stride, chroma_v_stride, luma_offset, chroma_u_offset, chroma_v_offset, surface ); + if (ctx->vtable.vaCreateSurfaceFromV4L2Buf) + return ctx->vtable.vaCreateSurfaceFromV4L2Buf( ctx, v4l2_fd, v4l2_fmt, v4l2_buf, surface ); else return VA_STATUS_ERROR_UNKNOWN; } diff --git a/src/va_backend.h b/src/va_backend.h index fee5181..f8456ad 100755 --- a/src/va_backend.h +++ b/src/va_backend.h @@ -38,6 +38,7 @@ #endif #include <stdlib.h> +#include <linux/videodev2.h> typedef struct VADriverContext *VADriverContextP; @@ -382,19 +383,12 @@ struct VADriverVTable ); - VAStatus (*vaCreateSurfaceFromMrstV4L2Buf) ( - VADriverContextP ctx, - unsigned int width, - unsigned int height, - unsigned int size, - unsigned int fourcc, - unsigned int luma_stride, - unsigned int chroma_u_stride, - unsigned int chroma_v_stride, - unsigned int luma_offset, - unsigned int chroma_u_offset, - unsigned int chroma_v_offset, - 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 */ ); VAStatus (*vaCopySurfaceToBuffer) ( |