qdutils: Add VT timestamp to the metadata

Add a presentation timestamp that is set by camera for buffers
intended for video telephony.

Change-Id: I8d3ab9e5ea798c6794a74ea6f0f607a303752a6b
CRs-Fixed: 1053401
diff --git a/libqdutils/qdMetaData.cpp b/libqdutils/qdMetaData.cpp
index c676098..51dfa82 100644
--- a/libqdutils/qdMetaData.cpp
+++ b/libqdutils/qdMetaData.cpp
@@ -92,6 +92,9 @@
         case SET_S3D_COMP:
             data->s3dComp = *((S3DGpuComp_t *)param);
             break;
+        case SET_VT_TIMESTAMP:
+            data->vtTimeStamp = *((uint64_t *)param);
+            break;
         default:
             ALOGE("Unknown paramType %d", paramType);
             break;
@@ -190,6 +193,9 @@
         case GET_S3D_COMP:
             *((S3DGpuComp_t *)param) = data->s3dComp;
             break;
+        case GET_VT_TIMESTAMP:
+            *((uint64_t *)param) = data->vtTimeStamp;
+            break;
         default:
             ALOGE("Unknown paramType %d", paramType);
             break;
diff --git a/libqdutils/qdMetaData.h b/libqdutils/qdMetaData.h
index 8c0a0b0..725e094 100644
--- a/libqdutils/qdMetaData.h
+++ b/libqdutils/qdMetaData.h
@@ -86,38 +86,42 @@
     uint32_t isSingleBufferMode;
     /* Indicate GPU to draw S3D layer on dedicate display device */
     struct S3DGpuComp_t s3dComp;
+
+    /* Set by camera to program the VT Timestamp */
+    uint64_t vtTimeStamp;
 };
 
 enum DispParamType {
-    UNUSED0             = 0x0001,
-    UNUSED1             = 0x0002,
-    PP_PARAM_INTERLACED = 0x0004,
-    UNUSED2             = 0x0008,
-    UNUSED3             = 0x0010,
-    UNUSED4             = 0x0020,
-    UNUSED5             = 0x0040,
-    UPDATE_BUFFER_GEOMETRY = 0x0080,
-    UPDATE_REFRESH_RATE = 0x0100,
-    UPDATE_COLOR_SPACE = 0x0200,
-    MAP_SECURE_BUFFER = 0x400,
-    S3D_FORMAT = 0x800,
-    LINEAR_FORMAT = 0x1000,
-    SET_IGC = 0x2000,
-    SET_SINGLE_BUFFER_MODE = 0x4000,
-    SET_S3D_COMP = 0x8000,
+    SET_VT_TIMESTAMP         = 0x0001,
+    UNUSED1                  = 0x0002,
+    PP_PARAM_INTERLACED      = 0x0004,
+    UNUSED2                  = 0x0008,
+    UNUSED3                  = 0x0010,
+    UNUSED4                  = 0x0020,
+    UNUSED5                  = 0x0040,
+    UPDATE_BUFFER_GEOMETRY   = 0x0080,
+    UPDATE_REFRESH_RATE      = 0x0100,
+    UPDATE_COLOR_SPACE       = 0x0200,
+    MAP_SECURE_BUFFER        = 0x0400,
+    S3D_FORMAT               = 0x0800,
+    LINEAR_FORMAT            = 0x1000,
+    SET_IGC                  = 0x2000,
+    SET_SINGLE_BUFFER_MODE   = 0x4000,
+    SET_S3D_COMP             = 0x8000,
 };
 
 enum DispFetchParamType {
-    GET_PP_PARAM_INTERLACED = 0x0004,
-    GET_BUFFER_GEOMETRY = 0x0080,
-    GET_REFRESH_RATE = 0x0100,
-    GET_COLOR_SPACE = 0x0200,
-    GET_MAP_SECURE_BUFFER = 0x400,
-    GET_S3D_FORMAT = 0x800,
-    GET_LINEAR_FORMAT = 0x1000,
-    GET_IGC = 0x2000,
-    GET_SINGLE_BUFFER_MODE = 0x4000,
-    GET_S3D_COMP = 0x8000,
+    GET_VT_TIMESTAMP         = 0x0001,
+    GET_PP_PARAM_INTERLACED  = 0x0004,
+    GET_BUFFER_GEOMETRY      = 0x0080,
+    GET_REFRESH_RATE         = 0x0100,
+    GET_COLOR_SPACE          = 0x0200,
+    GET_MAP_SECURE_BUFFER    = 0x0400,
+    GET_S3D_FORMAT           = 0x0800,
+    GET_LINEAR_FORMAT        = 0x1000,
+    GET_IGC                  = 0x2000,
+    GET_SINGLE_BUFFER_MODE   = 0x4000,
+    GET_S3D_COMP             = 0x8000,
 };
 
 struct private_handle_t;