libqdutils: Add Video performance mode metadata
Add Video performance mode flag to the gralloc
buffer metadata
CRs-Fixed: 2159379
Change-Id: Ifacabf55a45eb77b890ed278ad23c9a5d37d3382
diff --git a/libqdutils/qdMetaData.cpp b/libqdutils/qdMetaData.cpp
index af2adf7..3ccbc99 100644
--- a/libqdutils/qdMetaData.cpp
+++ b/libqdutils/qdMetaData.cpp
@@ -132,6 +132,9 @@
}
break;
}
+ case SET_VIDEO_PERF_MODE:
+ data->isVideoPerfMode = *((uint32_t *)param);
+ break;
default:
ALOGE("Unknown paramType %d", paramType);
break;
@@ -266,6 +269,12 @@
ret = 0;
}
break;
+ case GET_VIDEO_PERF_MODE:
+ if (data->operation & SET_VIDEO_PERF_MODE) {
+ *((uint32_t *)param) = data->isVideoPerfMode;
+ ret = 0;
+ }
+ break;
default:
ALOGE("Unknown paramType %d", paramType);
break;
diff --git a/libqdutils/qdMetaData.h b/libqdutils/qdMetaData.h
index e704f6c..237c6f8 100644
--- a/libqdutils/qdMetaData.h
+++ b/libqdutils/qdMetaData.h
@@ -138,13 +138,16 @@
* [1] : Bottom field, if it is interlaced.
*/
struct UBWCStats ubwcCRStats[2];
+ /* Set by camera to indicate that this buffer will be used for a High
+ * Performance Video Usecase */
+ uint32_t isVideoPerfMode;
};
enum DispParamType {
SET_VT_TIMESTAMP = 0x0001,
COLOR_METADATA = 0x0002,
PP_PARAM_INTERLACED = 0x0004,
- UNUSED2 = 0x0008,
+ SET_VIDEO_PERF_MODE = 0x0008,
UNUSED3 = 0x0010,
UNUSED4 = 0x0020,
SET_UBWC_CR_STATS_INFO = 0x0040,
@@ -163,6 +166,7 @@
GET_VT_TIMESTAMP = 0x0001,
GET_COLOR_METADATA = 0x0002,
GET_PP_PARAM_INTERLACED = 0x0004,
+ GET_VIDEO_PERF_MODE = 0x0008,
GET_UBWC_CR_STATS_INFO = 0x0040,
GET_BUFFER_GEOMETRY = 0x0080,
GET_REFRESH_RATE = 0x0100,