summaryrefslogtreecommitdiff
path: root/va
diff options
context:
space:
mode:
authorAustin Yuan <shengquan.yuan@gmail.com>2011-01-07 16:16:36 +0800
committerAustin Yuan <shengquan.yuan@gmail.com>2011-01-07 16:16:36 +0800
commit1e3a0f7995f5b638ba0ffbab6f4b1122a03d0c21 (patch)
tree7668f391b0964f3542afd6ee133f5605c71d1fe2 /va
parent1764bd178bd46dcc9756a180579ec5f3db688a93 (diff)
downloadlibva-1e3a0f7995f5b638ba0ffbab6f4b1122a03d0c21.tar.gz
Add prototype of vaCreateSurfacesForUserPtr for mfld share buffer
Signed-off-by: Austin Yuan <shengquan.yuan@gmail.com>
Diffstat (limited to 'va')
-rw-r--r--va/va_tpi.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/va/va_tpi.h b/va/va_tpi.h
index 1fe4b8d..eb0b1d4 100644
--- a/va/va_tpi.h
+++ b/va/va_tpi.h
@@ -68,6 +68,31 @@ VAStatus vaPutSurfaceBuf (
unsigned int flags /* de-interlacing flags */
);
+
+/*
+ * The surfaces could be shared and accessed with extern devices
+ * which has special requirements, e.g. stride alignment
+ * This API is used to force libVA video surfaces are allocated
+ * according to these external requirements
+ * Special API for V4L2 user pointer support
+ */
+VAStatus vaCreateSurfacesForUserPtr(
+ VADisplay dpy,
+ int width,
+ int height,
+ int format,
+ int num_surfaces,
+ VASurfaceID *surfaces, /* out */
+ unsigned size, /* total buffer size need to be allocated */
+ unsigned int fourcc, /* expected fourcc */
+ unsigned int luma_stride, /* luma stride, could be width aligned with a special value */
+ unsigned int chroma_u_stride, /* chroma stride */
+ unsigned int chroma_v_stride,
+ unsigned int luma_offset, /* could be 0 */
+ unsigned int chroma_u_offset, /* UV offset from the beginning of the memory */
+ unsigned int chroma_v_offset
+);
+
#ifdef __cplusplus
}
#endif