gralloc: add private field to indicate chromaticity
Separate differentiation between gamuts (wide vs narrow) and
chromaticities (BT.601 vs BT.709).
Change-Id: I892408fae5d12034067c02fe41b03f21b4274af5
diff --git a/include/exynos_format.h b/include/exynos_format.h
index 01c4657..aca1103 100644
--- a/include/exynos_format.h
+++ b/include/exynos_format.h
@@ -48,13 +48,22 @@
HAL_PIXEL_FORMAT_CUSTOM_MAX
};
-// Colorspace Gamuts
+// Gamut (colorspace range)
enum {
HAL_PIXEL_GAMUT_DEFAULT = 0,
// Values range 0-255
- HAL_PIXEL_GAMUT_JFIF_8,
+ HAL_PIXEL_GAMUT_WIDE_8,
// Values range 16-235
- HAL_PIXEL_GAMUT_BT601_8
+ HAL_PIXEL_GAMUT_NARROW_8
+};
+
+// Chromaticities (colorspace parameters)
+enum {
+ HAL_PIXEL_CHROMA_DEFAULT = 0,
+ // BT.601 "Standard Definition" color space
+ HAL_PIXEL_CHROMA_BT601_8,
+ // BT.709 "High Definition" color space
+ HAL_PIXEL_CHROMA_BT709_8
};
struct ADDRS {
diff --git a/include/gralloc_priv.h b/include/gralloc_priv.h
index 7a1e3e0..6dd1597 100644
--- a/include/gralloc_priv.h
+++ b/include/gralloc_priv.h
@@ -87,6 +87,7 @@
int stride;
int vstride;
int gamut;
+ int chroma;
// FIXME: the attributes below should be out-of-line
void *base;
@@ -98,7 +99,7 @@
#ifdef __cplusplus
static const int sNumFds = 3;
- static const int sNumInts = 16;
+ static const int sNumInts = 17;
static const int sMagic = 0x3141592;
@@ -106,7 +107,8 @@
int h, int format, int stride, int vstride) :
fd(fd), fd1(-1), fd2(-1), magic(sMagic), flags(flags), size(size),
offset(0), format(format), width(w), height(h), stride(stride),
- vstride(vstride), gamut(0), base(0), handle(0), handle1(0), handle2(0)
+ vstride(vstride), gamut(0), chroma(0), base(0), handle(0), handle1(0),
+ handle2(0)
{
version = sizeof(native_handle);
numInts = sNumInts + 2;
@@ -117,8 +119,8 @@
int h, int format, int stride, int vstride) :
fd(fd), fd1(fd1), fd2(-1), magic(sMagic), flags(flags), size(size),
offset(0), format(format), width(w), height(h), stride(stride),
- vstride(vstride), gamut(0), base(0), base1(0), base2(0), handle(0),
- handle1(0), handle2(0)
+ vstride(vstride), gamut(0), chroma(0), base(0), base1(0), base2(0),
+ handle(0), handle1(0), handle2(0)
{
version = sizeof(native_handle);
numInts = sNumInts + 1;
@@ -129,8 +131,8 @@
int h, int format, int stride, int vstride) :
fd(fd), fd1(fd1), fd2(fd2), magic(sMagic), flags(flags), size(size),
offset(0), format(format), width(w), height(h), stride(stride),
- vstride(vstride), gamut(0), base(0), base1(0), base2(0), handle(0),
- handle1(0), handle2(0)
+ vstride(vstride), gamut(0), chroma(0), base(0), base1(0), base2(0),
+ handle(0), handle1(0), handle2(0)
{
version = sizeof(native_handle);
numInts = sNumInts;