sdm: Add support for IGC.
- Add support for sRGB IGC.
- Program IGC PP parameters for sRGB contents.
Change-Id: I41b4b0bd8ef60fc7f869c742d084f4c3a3db6635
diff --git a/libqdutils/qdMetaData.cpp b/libqdutils/qdMetaData.cpp
index 952952d..a66704e 100644
--- a/libqdutils/qdMetaData.cpp
+++ b/libqdutils/qdMetaData.cpp
@@ -99,6 +99,9 @@
case LINEAR_FORMAT:
data->linearFormat = *((uint32_t *)param);
break;
+ case SET_IGC:
+ data->igc = *((IGC_t *)param);
+ break;
default:
ALOGE("Unknown paramType %d", paramType);
break;
diff --git a/libqdutils/qdMetaData.h b/libqdutils/qdMetaData.h
index 7688444..532a6d8 100644
--- a/libqdutils/qdMetaData.h
+++ b/libqdutils/qdMetaData.h
@@ -42,6 +42,11 @@
ITU_R_709,
};
+enum IGC_t {
+ IGC_NotSpecified,
+ IGC_sRGB,
+};
+
struct HSICData_t {
int32_t hue;
float saturation;
@@ -79,6 +84,7 @@
int64_t timestamp;
uint32_t refreshrate;
enum ColorSpace_t colorSpace;
+ enum IGC_t igc;
/* Gralloc sets PRIV_SECURE_BUFFER flag to inform that the buffers are from
* ION_SECURE. which should not be mapped. However, for GPU post proc
* feature, GFX needs to map this buffer, in the client context and in SF
@@ -107,6 +113,7 @@
MAP_SECURE_BUFFER = 0x400,
S3D_FORMAT = 0x800,
LINEAR_FORMAT = 0x1000,
+ SET_IGC = 0x2000,
};
struct private_handle_t;