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
This commit is contained in:
Naseer Ahmed
2016-08-02 20:06:40 -04:00
committed by Gerrit - the friendly Code Review server
parent cfc854effe
commit e8f254da5d
2 changed files with 36 additions and 26 deletions

View File

@@ -92,6 +92,9 @@ int setMetaData(private_handle_t *handle, DispParamType paramType,
case SET_S3D_COMP: case SET_S3D_COMP:
data->s3dComp = *((S3DGpuComp_t *)param); data->s3dComp = *((S3DGpuComp_t *)param);
break; break;
case SET_VT_TIMESTAMP:
data->vtTimeStamp = *((uint64_t *)param);
break;
default: default:
ALOGE("Unknown paramType %d", paramType); ALOGE("Unknown paramType %d", paramType);
break; break;
@@ -190,6 +193,9 @@ int getMetaData(private_handle_t *handle, DispFetchParamType paramType,
case GET_S3D_COMP: case GET_S3D_COMP:
*((S3DGpuComp_t *)param) = data->s3dComp; *((S3DGpuComp_t *)param) = data->s3dComp;
break; break;
case GET_VT_TIMESTAMP:
*((uint64_t *)param) = data->vtTimeStamp;
break;
default: default:
ALOGE("Unknown paramType %d", paramType); ALOGE("Unknown paramType %d", paramType);
break; break;

View File

@@ -86,10 +86,13 @@ struct MetaData_t {
uint32_t isSingleBufferMode; uint32_t isSingleBufferMode;
/* Indicate GPU to draw S3D layer on dedicate display device */ /* Indicate GPU to draw S3D layer on dedicate display device */
struct S3DGpuComp_t s3dComp; struct S3DGpuComp_t s3dComp;
/* Set by camera to program the VT Timestamp */
uint64_t vtTimeStamp;
}; };
enum DispParamType { enum DispParamType {
UNUSED0 = 0x0001, SET_VT_TIMESTAMP = 0x0001,
UNUSED1 = 0x0002, UNUSED1 = 0x0002,
PP_PARAM_INTERLACED = 0x0004, PP_PARAM_INTERLACED = 0x0004,
UNUSED2 = 0x0008, UNUSED2 = 0x0008,
@@ -99,8 +102,8 @@ enum DispParamType {
UPDATE_BUFFER_GEOMETRY = 0x0080, UPDATE_BUFFER_GEOMETRY = 0x0080,
UPDATE_REFRESH_RATE = 0x0100, UPDATE_REFRESH_RATE = 0x0100,
UPDATE_COLOR_SPACE = 0x0200, UPDATE_COLOR_SPACE = 0x0200,
MAP_SECURE_BUFFER = 0x400, MAP_SECURE_BUFFER = 0x0400,
S3D_FORMAT = 0x800, S3D_FORMAT = 0x0800,
LINEAR_FORMAT = 0x1000, LINEAR_FORMAT = 0x1000,
SET_IGC = 0x2000, SET_IGC = 0x2000,
SET_SINGLE_BUFFER_MODE = 0x4000, SET_SINGLE_BUFFER_MODE = 0x4000,
@@ -108,12 +111,13 @@ enum DispParamType {
}; };
enum DispFetchParamType { enum DispFetchParamType {
GET_VT_TIMESTAMP = 0x0001,
GET_PP_PARAM_INTERLACED = 0x0004, GET_PP_PARAM_INTERLACED = 0x0004,
GET_BUFFER_GEOMETRY = 0x0080, GET_BUFFER_GEOMETRY = 0x0080,
GET_REFRESH_RATE = 0x0100, GET_REFRESH_RATE = 0x0100,
GET_COLOR_SPACE = 0x0200, GET_COLOR_SPACE = 0x0200,
GET_MAP_SECURE_BUFFER = 0x400, GET_MAP_SECURE_BUFFER = 0x0400,
GET_S3D_FORMAT = 0x800, GET_S3D_FORMAT = 0x0800,
GET_LINEAR_FORMAT = 0x1000, GET_LINEAR_FORMAT = 0x1000,
GET_IGC = 0x2000, GET_IGC = 0x2000,
GET_SINGLE_BUFFER_MODE = 0x4000, GET_SINGLE_BUFFER_MODE = 0x4000,