summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCamus Wong <camusw@codeaurora.org>2017-03-31 16:07:29 -0400
committerGerrit - the friendly Code Review server <code-review@localhost>2017-05-25 20:53:47 -0700
commitc106d08c82f1d4974b51e34b1d00701387773a96 (patch)
treee4dba0d20c077f088aac8691c2438e47cfce6c3e
parent5c5e6fb394d1d75cb3c35e83316541c03b3c6fb9 (diff)
sdm: Add support for new pixel formats in hwc2
Add support for new color formats in HWC2. The new format will be used by camera application. Change-Id: I36c81f84a7e2593565c3098b52cb4e41c8ff8387 CRs-Fixed: 1116491
-rw-r--r--sdm/libs/hwc2/hwc_buffer_allocator.cpp6
-rw-r--r--sdm/libs/hwc2/hwc_display.cpp6
-rw-r--r--sdm/libs/hwc2/hwc_layers.cpp6
3 files changed, 18 insertions, 0 deletions
diff --git a/sdm/libs/hwc2/hwc_buffer_allocator.cpp b/sdm/libs/hwc2/hwc_buffer_allocator.cpp
index bdebc228..3e2247fa 100644
--- a/sdm/libs/hwc2/hwc_buffer_allocator.cpp
+++ b/sdm/libs/hwc2/hwc_buffer_allocator.cpp
@@ -186,6 +186,9 @@ int HWCBufferAllocator::SetBufferInfo(LayerBufferFormat format, int *target, uin
case kFormatBGR565:
*target = HAL_PIXEL_FORMAT_BGR_565;
break;
+ case kFormatBGR888:
+ *target = HAL_PIXEL_FORMAT_BGR_888;
+ break;
case kFormatBGRA8888:
*target = HAL_PIXEL_FORMAT_BGRA_8888;
break;
@@ -201,6 +204,9 @@ int HWCBufferAllocator::SetBufferInfo(LayerBufferFormat format, int *target, uin
case kFormatYCbCr422H2V1Packed:
*target = HAL_PIXEL_FORMAT_YCbCr_422_I;
break;
+ case kFormatCbYCrY422H2V1Packed:
+ *target = HAL_PIXEL_FORMAT_CbYCrY_422_I;
+ break;
case kFormatYCbCr422H2V1SemiPlanar:
*target = HAL_PIXEL_FORMAT_YCbCr_422_SP;
break;
diff --git a/sdm/libs/hwc2/hwc_display.cpp b/sdm/libs/hwc2/hwc_display.cpp
index cbad3d20..fd8f6573 100644
--- a/sdm/libs/hwc2/hwc_display.cpp
+++ b/sdm/libs/hwc2/hwc_display.cpp
@@ -1213,6 +1213,9 @@ LayerBufferFormat HWCDisplay::GetSDMFormat(const int32_t &source, const int flag
case HAL_PIXEL_FORMAT_BGR_565:
format = kFormatBGR565;
break;
+ case HAL_PIXEL_FORMAT_BGR_888:
+ format = kFormatBGR888;
+ break;
case HAL_PIXEL_FORMAT_NV12_ENCODEABLE:
case HAL_PIXEL_FORMAT_YCbCr_420_SP_VENUS:
format = kFormatYCbCr420SemiPlanarVenus;
@@ -1238,6 +1241,9 @@ LayerBufferFormat HWCDisplay::GetSDMFormat(const int32_t &source, const int flag
case HAL_PIXEL_FORMAT_YCbCr_422_I:
format = kFormatYCbCr422H2V1Packed;
break;
+ case HAL_PIXEL_FORMAT_CbYCrY_422_I:
+ format = kFormatCbYCrY422H2V1Packed;
+ break;
case HAL_PIXEL_FORMAT_RGBA_1010102:
format = kFormatRGBA1010102;
break;
diff --git a/sdm/libs/hwc2/hwc_layers.cpp b/sdm/libs/hwc2/hwc_layers.cpp
index da8a1d84..b12a83e6 100644
--- a/sdm/libs/hwc2/hwc_layers.cpp
+++ b/sdm/libs/hwc2/hwc_layers.cpp
@@ -426,6 +426,9 @@ LayerBufferFormat HWCLayer::GetSDMFormat(const int32_t &source, const int flags)
case HAL_PIXEL_FORMAT_RGB_888:
format = kFormatRGB888;
break;
+ case HAL_PIXEL_FORMAT_BGR_888:
+ format = kFormatBGR888;
+ break;
case HAL_PIXEL_FORMAT_RGB_565:
format = kFormatRGB565;
break;
@@ -457,6 +460,9 @@ LayerBufferFormat HWCLayer::GetSDMFormat(const int32_t &source, const int flags)
case HAL_PIXEL_FORMAT_YCbCr_422_I:
format = kFormatYCbCr422H2V1Packed;
break;
+ case HAL_PIXEL_FORMAT_CbYCrY_422_I:
+ format = kFormatCbYCrY422H2V1Packed;
+ break;
case HAL_PIXEL_FORMAT_RGBA_1010102:
format = kFormatRGBA1010102;
break;