gralloc: Add support for 8-bit RAW MIPI stream
Define new HAL color format for RAW-8 stream and
add support for buffer allocation with RAW-8 format.
Change-Id: I1ee1dbd270d25c27e52c5dd023345c8283c658d2
diff --git a/libgralloc/alloc_controller.cpp b/libgralloc/alloc_controller.cpp
index 805948b..5d80e6d 100644
--- a/libgralloc/alloc_controller.cpp
+++ b/libgralloc/alloc_controller.cpp
@@ -248,6 +248,9 @@
case HAL_PIXEL_FORMAT_RAW10:
aligned_w = ALIGN(width * 10 / 8, 8);
break;
+ case HAL_PIXEL_FORMAT_RAW8:
+ aligned_w = ALIGN(width, 8);
+ break;
case HAL_PIXEL_FORMAT_YCbCr_420_SP_TILED:
aligned_w = ALIGN(width, 128);
break;
@@ -556,7 +559,9 @@
case HAL_PIXEL_FORMAT_RAW10:
size = ALIGN(alignedw * alignedh, 4096);
break;
-
+ case HAL_PIXEL_FORMAT_RAW8:
+ size = alignedw * alignedh;
+ break;
// adreno formats
case HAL_PIXEL_FORMAT_YCrCb_420_SP_ADRENO: // NV21
size = ALIGN(alignedw*alignedh, 4096);
@@ -794,6 +799,7 @@
case HAL_PIXEL_FORMAT_NV21_ZSL:
case HAL_PIXEL_FORMAT_RAW16:
case HAL_PIXEL_FORMAT_RAW10:
+ case HAL_PIXEL_FORMAT_RAW8:
getYuvSPPlaneInfo(hnd->base, width, height, 1, ycbcr);
std::swap(ycbcr->cb, ycbcr->cr);
break;
diff --git a/libgralloc/gralloc_priv.h b/libgralloc/gralloc_priv.h
index 5782180..6f42ac2 100644
--- a/libgralloc/gralloc_priv.h
+++ b/libgralloc/gralloc_priv.h
@@ -120,6 +120,7 @@
#define HAL_PIXEL_FORMAT_YCbCr_420_P010 0x11F
#define HAL_PIXEL_FORMAT_CbYCrY_422_I 0x120
#define HAL_PIXEL_FORMAT_BGR_888 0x121
+#define HAL_PIXEL_FORMAT_RAW8 0x123
#define HAL_PIXEL_FORMAT_INTERLACE 0x180