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;