summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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