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;