Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(18)

Unified Diff: third_party/libva/va/va_tpi.h

Issue 62273006: Update libva headers to the latest release (1.2.1). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@lkgr
Patch Set: remove two header files, fix comment style Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/libva/va/va_tpi.h
diff --git a/third_party/libva/va/va_tpi.h b/third_party/libva/va/va_tpi.h
index 921c8fed04dac22def10520eefa85059f9bab383..d4a9d063308cadc2323b99e4482515c1656bc2aa 100644
--- a/third_party/libva/va/va_tpi.h
+++ b/third_party/libva/va/va_tpi.h
@@ -21,34 +21,51 @@
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
+#ifndef _VA_TPI_H_
+#define _VA_TPI_H_
-/* Wrap a CI (camera imaging) frame as a VA surface to share captured video between camear
- * and VA encode. With frame_id, VA driver need to call CI interfaces to get the information
- * of the frame, and to determine if the frame can be wrapped as a VA surface
- *
- * Application should make sure the frame is idle before the frame is passed into VA stack
- * and also a vaSyncSurface should be called before application tries to access the frame
- * from CI stack
- */
#include <va/va.h>
#ifdef __cplusplus
extern "C" {
#endif
-VAStatus vaCreateSurfaceFromCIFrame (
- VADisplay dpy,
- unsigned long frame_id,
- VASurfaceID *surface /* out */
-);
-VAStatus vaCreateSurfaceFromV4L2Buf(
- VADisplay dpy,
- 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 */
-);
+typedef enum {
+ VAExternalMemoryNULL, /* it is not external buffer, but requires the implementation allocates
+ * the surface with the input attribute
+ */
+ VAExternalMemoryV4L2Buffer,
+ VAExternalMemoryCIFrame, /* the memory is from camera frames and buffers points the frame ID list */
+ VAExternalMemoryUserPointer, /* the memory is malloc-ed and buffers points to the buffers */
+ VAExternalMemoryKernelDRMBufffer, /* the memory is from kernel DRM buffers and buffers points the
+ * DRM buffer handle list
+ */
+ VAExternalMemoryAndroidGrallocBuffer, /* the memory is from Android Gralloc memory, and buffers points
+ * the gralloc native_handle_t list
+ */
+} VASurfaceMemoryType;
+
+typedef struct _VASurfaceAttributeTPI {
+ VASurfaceMemoryType type;
+ unsigned int width;
+ unsigned int height;
+ unsigned int size;
+ unsigned int pixel_format; /* buffer format */
+ unsigned int tiling; /* the memory is tiling or not */
+ 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; /* U offset from the beginning of the memory */
+ unsigned int chroma_v_offset; /* V offset from the beginning of the memory */
+ unsigned int count; /* buffer count for surface creation */
+ unsigned int *buffers; /* buffer handles or user pointers */
+ unsigned int reserved[4]; /* used to pass additional information, like
+ * Android native window pointer
+ */
+} VASurfaceAttributeTPI;
+
VAStatus vaPutSurfaceBuf (
VADisplay dpy,
@@ -69,51 +86,18 @@ VAStatus vaPutSurfaceBuf (
);
-/*
- * 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(
+VAStatus vaCreateSurfacesWithAttribute (
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
+ VASurfaceAttributeTPI *attribute_tpi
);
-/*
- * Create surface from the Kernel buffer
- */
-VAStatus vaCreateSurfaceFromKBuf(
- VADisplay dpy,
- int width,
- int height,
- int format,
- VASurfaceID *surface, /* out */
- unsigned int kbuf_handle, /* kernel buffer handle*/
- unsigned size, /* kernel buffer size */
- unsigned int kBuf_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
+
+#endif

Powered by Google App Engine
This is Rietveld 408576698