qdutils: Support Get/Set of UBWC CR Stats metadata
CRs-Fixed: 2073410
Change-Id: I133307d63d301a24af183b18a330eb160459c805
diff --git a/libqdutils/qdMetaData.cpp b/libqdutils/qdMetaData.cpp
index e5a4826..857b710 100644
--- a/libqdutils/qdMetaData.cpp
+++ b/libqdutils/qdMetaData.cpp
@@ -125,6 +125,14 @@
data->color = *((ColorMetaData *)param);
#endif
break;
+ case SET_UBWC_CR_STATS_INFO: {
+ struct UBWCStats* stats = (struct UBWCStats*)param;
+ int numelems = sizeof(data->ubwcCRStats) / sizeof(struct UBWCStats);
+ for (int i = 0; i < numelems; i++) {
+ data->ubwcCRStats[i] = stats[i];
+ }
+ break;
+ }
default:
ALOGE("Unknown paramType %d", paramType);
break;
@@ -171,6 +179,8 @@
int ret = -EINVAL;
if (data == nullptr)
return ret;
+ if (param == nullptr)
+ return ret;
switch (paramType) {
case GET_PP_PARAM_INTERLACED:
@@ -247,6 +257,16 @@
}
#endif
break;
+ case GET_UBWC_CR_STATS_INFO:
+ if (data->operation & SET_UBWC_CR_STATS_INFO) {
+ struct UBWCStats* stats = (struct UBWCStats*)param;
+ int numelems = sizeof(data->ubwcCRStats) / sizeof(struct UBWCStats);
+ for (int i = 0; i < numelems; i++) {
+ stats[i] = data->ubwcCRStats[i];
+ }
+ ret = 0;
+ }
+ break;
default:
ALOGE("Unknown paramType %d", paramType);
break;