Merge "sdm: color-manger: hw interface for PA dither."
diff --git a/sdm/include/private/color_params.h b/sdm/include/private/color_params.h
index 1577e2a..8608c16 100644
--- a/sdm/include/private/color_params.h
+++ b/sdm/include/private/color_params.h
@@ -102,8 +102,9 @@
static const uint32_t kSDEGamutV17 = 9;
static const uint32_t kSDEPaV17 = 11;
static const uint32_t kSDEPccV17 = 13;
- static const uint32_t kSDEPADitherV17 = 15;
- static const uint32_t kSDELegacyPP = 17;
+ static const uint32_t kSDELegacyPP = 15;
+ static const uint32_t kSDEPADitherV17 = 16;
+ static const uint32_t kSDEIgcV30 = 17;
uint32_t version[kMaxNumPPFeatures];
PPFeatureVersion() { memset(version, 0, sizeof(version)); }
@@ -307,6 +308,15 @@
uint32_t *c2_data = NULL;
};
+struct SDEIgcV30LUTData {
+ static const int kMaxIgcLUTEntries = 256;
+ uint32_t table_fmt = 0;
+ uint32_t len = 0;
+ uint64_t c0_c1_data = 0;
+ uint64_t c2_data = 0;
+ uint32_t strength = 0;
+};
+
struct SDEPgcLUTData {
static const int kPgcLUTEntries = 1024;
uint32_t len = 0;
@@ -377,6 +387,22 @@
uint32_t *buffer_ = NULL;
};
+class SDEIgcV30LUTWrapper : private SDEIgcV30LUTData {
+ public:
+ static SDEIgcV30LUTWrapper *Init(uint32_t arg __attribute__((__unused__)));
+ ~SDEIgcV30LUTWrapper() {
+ if (buffer_)
+ delete[] buffer_;
+ }
+ inline SDEIgcV30LUTData *GetConfig(void) { return this; }
+
+ private:
+ SDEIgcV30LUTWrapper(const SDEIgcV30LUTWrapper& src) { /* do not create copies */ }
+ SDEIgcV30LUTWrapper& operator=(const SDEIgcV30LUTWrapper&) { return *this; }
+ SDEIgcV30LUTWrapper() {}
+ uint32_t *buffer_ = NULL;
+};
+
class SDEPgcLUTWrapper : private SDEPgcLUTData {
public:
static SDEPgcLUTWrapper *Init(uint32_t arg __attribute__((__unused__)));