gralloc: add private field to indicate chromaticity
authorAlex Ray <aray@google.com>
Tue, 5 Mar 2013 20:47:50 +0000 (12:47 -0800)
committerAlex Ray <aray@google.com>
Wed, 6 Mar 2013 22:01:34 +0000 (14:01 -0800)
Separate differentiation between gamuts (wide vs narrow) and
chromaticities (BT.601 vs BT.709).

Change-Id: I892408fae5d12034067c02fe41b03f21b4274af5

include/exynos_format.h
include/gralloc_priv.h

index 01c4657a39a8dbbdc1c588d66f7a40f9f30af876..aca11031793aafcaf0cb4ed5b5d9da8ba90604b5 100644 (file)
@@ -48,13 +48,22 @@ enum {
     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 {
index 7a1e3e086efddf6f8e4108b6710f5666b0999987..6dd1597379f18bc6c8c8e91686a078ebd91ca61a 100644 (file)
@@ -87,6 +87,7 @@ struct private_handle_t {
     int     stride;
     int     vstride;
     int     gamut;
+    int     chroma;
 
     // FIXME: the attributes below should be out-of-line
     void    *base;
@@ -98,7 +99,7 @@ struct private_handle_t {
 
 #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 @@ struct private_handle_t {
                     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 @@ struct private_handle_t {
                     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 @@ struct private_handle_t {
                     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;