diff options
author | 2020-08-31 17:27:56 -0700 | |
---|---|---|
committer | 2020-09-14 23:34:35 +0000 | |
commit | b7bd5852448442cef587a3c7b0da4805c77dba0f (patch) | |
tree | 091b93de4c99d331836760d35c66686b793c4810 | |
parent | daaf58b6d7feeac35319bb8a772f36986862b715 (diff) |
Add support for RAW_DEPTH10
Add support for 10bit opaque and private RAW_DEPTH10 image format
which is similar to RAW_DEPTH.
Bug: 167250258
Test: Manual using camera application.
Change-Id: I3c9363b816ba0d68d08749f67e2c8dbbe998dd02
-rw-r--r-- | libs/ui/PublicFormat.cpp | 11 | ||||
-rw-r--r-- | libs/ui/include/ui/PublicFormat.h | 1 |
2 files changed, 11 insertions, 1 deletions
diff --git a/libs/ui/PublicFormat.cpp b/libs/ui/PublicFormat.cpp index 70e3ce768c..a6595cfc27 100644 --- a/libs/ui/PublicFormat.cpp +++ b/libs/ui/PublicFormat.cpp @@ -35,6 +35,8 @@ int mapPublicFormatToHalFormat(PublicFormat f) { case PublicFormat::RAW_SENSOR: case PublicFormat::RAW_DEPTH: return HAL_PIXEL_FORMAT_RAW16; + case PublicFormat::RAW_DEPTH10: + return HAL_PIXEL_FORMAT_RAW10; default: // Most formats map 1:1 return static_cast<int>(f); @@ -50,6 +52,7 @@ android_dataspace mapPublicFormatToHalDataspace(PublicFormat f) { case PublicFormat::DEPTH_POINT_CLOUD: case PublicFormat::DEPTH16: case PublicFormat::RAW_DEPTH: + case PublicFormat::RAW_DEPTH10: dataspace = Dataspace::DEPTH; break; case PublicFormat::RAW_SENSOR: @@ -80,6 +83,13 @@ android_dataspace mapPublicFormatToHalDataspace(PublicFormat f) { PublicFormat mapHalFormatDataspaceToPublicFormat(int format, android_dataspace dataSpace) { Dataspace ds = static_cast<Dataspace>(dataSpace); switch (format) { + case HAL_PIXEL_FORMAT_RAW10: + switch (ds) { + case Dataspace::DEPTH: + return PublicFormat::RAW_DEPTH10; + default: + return PublicFormat::RAW10; + } case HAL_PIXEL_FORMAT_RGBA_8888: case HAL_PIXEL_FORMAT_RGBX_8888: case HAL_PIXEL_FORMAT_RGBA_FP16: @@ -87,7 +97,6 @@ PublicFormat mapHalFormatDataspaceToPublicFormat(int format, android_dataspace d case HAL_PIXEL_FORMAT_RGB_888: case HAL_PIXEL_FORMAT_RGB_565: case HAL_PIXEL_FORMAT_Y8: - case HAL_PIXEL_FORMAT_RAW10: case HAL_PIXEL_FORMAT_RAW12: case HAL_PIXEL_FORMAT_YCbCr_420_888: case HAL_PIXEL_FORMAT_YV12: diff --git a/libs/ui/include/ui/PublicFormat.h b/libs/ui/include/ui/PublicFormat.h index 1152cc5526..22274a27d2 100644 --- a/libs/ui/include/ui/PublicFormat.h +++ b/libs/ui/include/ui/PublicFormat.h @@ -50,6 +50,7 @@ enum class PublicFormat { JPEG = 0x100, DEPTH_POINT_CLOUD = 0x101, RAW_DEPTH = 0x1002, // @hide + RAW_DEPTH10 = 0x1003, // @hide YV12 = 0x32315659, Y8 = 0x20203859, Y16 = 0x20363159, // @hide |