Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b7bd5852 authored by Emilian Peev's avatar Emilian Peev
Browse files

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
parent daaf58b6
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -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:
+1 −0
Original line number Diff line number Diff line
@@ -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