From: Gwenole Beauchesne <gwenole.beauche...@intel.com>

Signed-off-by: Gwenole Beauchesne <gwenole.beauche...@intel.com>
---
 va/va.h |   36 ++++++++++++++++++++++++++++++++++++
 1 files changed, 36 insertions(+), 0 deletions(-)

diff --git a/va/va.h b/va/va.h
index 1e0c9b7..7e3d7b7 100644
--- a/va/va.h
+++ b/va/va.h
@@ -147,6 +147,14 @@ typedef int VAStatus;      /* Return status type from 
functions */
 #define VA_STATUS_ERROR_INVALID_IMAGE_FORMAT    0x00000016
 #define VA_STATUS_ERROR_DECODING_ERROR          0x00000017
 #define VA_STATUS_ERROR_ENCODING_ERROR          0x00000018
+/**
+ * \brief An invalid/unsupported value was supplied.
+ *
+ * This is a catch-all error code for invalid or unsupported values.
+ * e.g. value exceeding the valid range, invalid type in the context
+ * of generic attribute values.
+ */
+#define VA_STATUS_ERROR_INVALID_VALUE           0x00000019
 #define VA_STATUS_ERROR_UNKNOWN                        0xFFFFFFFF
 
 /* De-interlacing flags for vaPutSurface() */
@@ -433,6 +441,34 @@ typedef VAGenericID VASurfaceID;
 #define VA_INVALID_ID          0xffffffff
 #define VA_INVALID_SURFACE     VA_INVALID_ID
 
+/** \brief Generic value types. */
+typedef enum  {
+    VAGenericValueTypeInteger = 1,      /**< 32-bit signed integer. */
+    VAGenericValueTypeFloat,            /**< 32-bit floating-point value. */
+    VAGenericValueTypePointer,          /**< Generic pointer type */
+    VAGenericValueTypeFunc              /**< Pointer to function */
+} VAGenericValueType;
+
+/** \brief Generic function type. */
+typedef void (*VAGenericFunc)(void);
+
+/** \brief Generic value. */
+typedef struct _VAGenericValue {
+    /** \brief Value type. See #VAGenericValueType. */
+    VAGenericValueType  type;
+    /** \brief Value holder. */
+    union {
+        /** \brief 32-bit signed integer. */
+        int             i;
+        /** \brief 32-bit float. */
+        float           f;
+        /** \brief Generic pointer. */
+        void           *p;
+        /** \brief Pointer to function. */
+        VAGenericFunc   fn;
+    }                   value;
+} VAGenericValue;
+
 /* 
  * vaCreateSurfaces - Create an array of surfaces used for decode and display  
  *  dpy: display
-- 
1.7.4.1

_______________________________________________
Libva mailing list
Libva@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libva

Reply via email to