summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIgor Murashkin <iam@google.com>2013-01-31 17:17:43 -0800
committerIgor Murashkin <iam@google.com>2013-02-08 13:40:59 -0800
commit9e00e66ebcea150e75536e065419128efd4ee5b8 (patch)
treedcc944a001d03f9a70b6a88af8cde5b6bedd90aa
parent016806a71b911c8da0cffb7fa4dae0eab433a020 (diff)
downloadsystem_core-9e00e66ebcea150e75536e065419128efd4ee5b8.zip
system_core-9e00e66ebcea150e75536e065419128efd4ee5b8.tar.gz
system_core-9e00e66ebcea150e75536e065419128efd4ee5b8.tar.bz2
graphics.h: add new Y8, Y16 formats
Change-Id: I0cb3786d91f442b5f3b665dd78bf5f0dd4ae4cf0
-rw-r--r--include/system/graphics.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/include/system/graphics.h b/include/system/graphics.h
index 82b5fcc..c8b9d40 100644
--- a/include/system/graphics.h
+++ b/include/system/graphics.h
@@ -87,6 +87,64 @@ enum {
*/
HAL_PIXEL_FORMAT_YV12 = 0x32315659, // YCrCb 4:2:0 Planar
+
+ /*
+ * Android Y8 format:
+ *
+ * This format is exposed outside of the HAL to the framework.
+ * The expected gralloc usage flags are SW_* and HW_CAMERA_*,
+ * and no other HW_ flags will be used.
+ *
+ * Y8 is a YUV planar format comprised of a WxH Y plane,
+ * with each pixel being represented by 8 bits.
+ *
+ * It is equivalent to just the Y plane from YV12.
+ *
+ * This format assumes
+ * - an even width
+ * - an even height
+ * - a horizontal stride multiple of 16 pixels
+ * - a vertical stride equal to the height
+ *
+ * y_size = stride * height
+ * c_stride = ALIGN(stride/2, 16)
+ * c_size = c_stride * height/2
+ * size = y_size + c_size * 2
+ * cr_offset = y_size
+ * cb_offset = y_size + c_size
+ *
+ */
+ HAL_PIXEL_FORMAT_Y8 = 0x20203859,
+
+ /*
+ * Android Y16 format:
+ *
+ * This format is exposed outside of the HAL to the framework.
+ * The expected gralloc usage flags are SW_* and HW_CAMERA_*,
+ * and no other HW_ flags will be used.
+ *
+ * Y16 is a YUV planar format comprised of a WxH Y plane,
+ * with each pixel being represented by 16 bits.
+ *
+ * It is just like Y8, but has double the bits per pixel (little endian).
+ *
+ * This format assumes
+ * - an even width
+ * - an even height
+ * - a horizontal stride multiple of 16 pixels
+ * - a vertical stride equal to the height
+ * - strides are specified in pixels, not in bytes
+ *
+ * y_size = stride * height
+ * c_stride = ALIGN(stride/2, 16)
+ * c_size = c_stride * height/2
+ * size = y_size + c_size * 2
+ * cr_offset = y_size
+ * cb_offset = y_size + c_size
+ *
+ */
+ HAL_PIXEL_FORMAT_Y16 = 0x20363159,
+
/*
* Android RAW sensor format:
*