summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Bian <jonathan.bian@intel.com>2012-09-16 21:26:00 -0700
committerXiang, Haihao <haihao.xiang@intel.com>2013-06-05 09:38:35 +0800
commit5f762795ebc7ba1d54c104bd3c4cc26a22c96f8a (patch)
tree95c0ceb15a5d85032483374ef5f9a41703ac2a34
parent9d2ed7dfe9a28667abcc6c326a17bfecb6e30bdc (diff)
downloadlibva-5f762795ebc7ba1d54c104bd3c4cc26a22c96f8a.tar.gz
Changed values for VASurfaceAttribMemoryType from fourcc to bit fields.
-rw-r--r--va/va.h21
-rw-r--r--va/va_android.h4
-rw-r--r--va/va_drmcommon.h8
3 files changed, 19 insertions, 14 deletions
diff --git a/va/va.h b/va/va.h
index 78e0e9f..42b77f8 100644
--- a/va/va.h
+++ b/va/va.h
@@ -655,7 +655,7 @@ typedef enum {
VASurfaceAttribMinHeight,
/** \brief Maximal height in pixels (int, read-only). */
VASurfaceAttribMaxHeight,
- /** \brief Surface memory type in fourcc (int, read/write). */
+ /** \brief Surface memory type expressed in bit fields (int, read/write). */
VASurfaceAttribMemoryType,
/** \brief External buffer descriptor (pointer, write). */
VASurfaceAttribExternalBufferDescriptor,
@@ -673,14 +673,19 @@ typedef struct _VASurfaceAttrib {
VAGenericValue value;
} VASurfaceAttrib;
-/** @name VASurfaceAttribMemoryType values in fourcc */
+/**
+ * @name VASurfaceAttribMemoryType values in bit fields.
+ * Bit 0:7 are reserved for generic types, Bit 31:28 are reserved for
+ * Linux DRM, Bit 23:20 are reserved for Android. DRM and Android specific
+ * types are defined in DRM and Android header files.
+ */
/**@{*/
-/** \brief VA memory type (default) is supported. VAVA in fourcc */
-#define VA_SURFACE_ATTRIB_MEM_TYPE_VA 0x41564156
-/** \brief V4L2 buffer memory type is supported. V4L2 in fourcc */
-#define VA_SURFACE_ATTRIB_MEM_TYPE_V4L2 0x324C3456
-/** \brief User pointer memory type is supported. UPTR in fourcc */
-#define VA_SURFACE_ATTRIB_MEM_TYPE_USER_PTR 0x52545055
+/** \brief VA memory type (default) is supported. */
+#define VA_SURFACE_ATTRIB_MEM_TYPE_VA 0x00000001
+/** \brief V4L2 buffer memory type is supported. */
+#define VA_SURFACE_ATTRIB_MEM_TYPE_V4L2 0x00000002
+/** \brief User pointer memory type is supported. */
+#define VA_SURFACE_ATTRIB_MEM_TYPE_USER_PTR 0x00000004
/**@}*/
/**
diff --git a/va/va_android.h b/va/va_android.h
index a9a8e52..a5d0e2f 100644
--- a/va/va_android.h
+++ b/va/va_android.h
@@ -26,8 +26,8 @@
#include <va/va.h>
-/** \brief Android Gralloc buffer memory type "AGRA" in fourcc */
-#define VA_SURFACE_ATTRIB_MEM_TYPE_ANDROID_GRALLOC 0x41524741
+/** \brief Android Gralloc buffer memory type. */
+#define VA_SURFACE_ATTRIB_MEM_TYPE_ANDROID_GRALLOC 0x00100000
#ifdef __cplusplus
extern "C" {
diff --git a/va/va_drmcommon.h b/va/va_drmcommon.h
index 47dd371..76820a3 100644
--- a/va/va_drmcommon.h
+++ b/va/va_drmcommon.h
@@ -68,9 +68,9 @@ struct drm_state {
int auth_type;
};
-/** \brief Kernel DRM buffer memory type "KDRM" in fourcc */
-#define VA_SURFACE_ATTRIB_MEM_TYPE_KERNEL_DRM 0x4D52444B
-/** \brief DRM PRIME memory type "DPRI" in fourcc */
-#define VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME 0x49525044
+/** \brief Kernel DRM buffer memory type. */
+#define VA_SURFACE_ATTRIB_MEM_TYPE_KERNEL_DRM 0x10000000
+/** \brief DRM PRIME memory type. */
+#define VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME 0x20000000
#endif /* VA_DRM_COMMON_H */