commonsys-intf: display: add CVP metadata support

Add set and get CVP (Computer Vision Program) metadata
interface for producer (camera) to set and consumer
(video) to get it.

Change-Id: Ib3c5b3a9bcf8a6a56ec265d6ccbee2fd4b28aca8
diff --git a/libqdmetadata/qdMetaData.h b/libqdmetadata/qdMetaData.h
index ad2a2a9..b98384f 100644
--- a/libqdmetadata/qdMetaData.h
+++ b/libqdmetadata/qdMetaData.h
@@ -38,6 +38,7 @@
 
 #define MAX_UBWC_STATS_LENGTH 32
 #define GRAPHICS_METADATA_SIZE 4096
+#define CVP_METADATA_SIZE 1024
 
 enum ColorSpace_t{
     ITU_R_601,
@@ -105,6 +106,11 @@
     uint32_t data[GRAPHICS_METADATA_SIZE];
 } GraphicsMetadata;
 
+typedef struct CVPMetadata {
+    uint32_t size; /* payload size in bytes */
+    uint8_t payload[CVP_METADATA_SIZE];
+} CVPMetadata;
+
 struct MetaData_t {
     int32_t operation;
     int32_t interlaced;
@@ -148,6 +154,11 @@
     /* Populated and used by adreno during buffer size calculation.
      * Set only for RGB formats. */
     GraphicsMetadata graphics_metadata;
+    /*
+     * Producer (camera) will set cvp metadata and consumer (video) will
+     * use it. The format of metadata is known to producer and consumer.
+     */
+    CVPMetadata cvpMetadata;
 };
 
 enum DispParamType {
@@ -167,6 +178,7 @@
     SET_IGC                    = 0x2000,
     SET_SINGLE_BUFFER_MODE     = 0x4000,
     SET_S3D_COMP               = 0x8000,
+    SET_CVP_METADATA           = 0x00010000,
 };
 
 enum DispFetchParamType {
@@ -186,6 +198,7 @@
     GET_IGC                   = 0x2000,
     GET_SINGLE_BUFFER_MODE    = 0x4000,
     GET_S3D_COMP              = 0x8000,
+    GET_CVP_METADATA          = 0x00010000,
 };
 
 struct private_handle_t;