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

Commit 44bafe5d authored by Changyeon Jo's avatar Changyeon Jo Committed by Automerger Merge Worker
Browse files

Corrects color format requirements am: bfbbba63 am: 217a6ff3 am:...

Corrects color format requirements am: bfbbba63 am: 217a6ff3 am: 5f7a17c1 am: 2518cc96 am: 54c5c20d

Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2182380



Change-Id: I239aa6cc32fff1e9465904370f3ec08f2b3bbc93
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents e55f19a9 54c5c20d
Loading
Loading
Loading
Loading
+17 −7
Original line number Original line Diff line number Diff line
@@ -96,6 +96,14 @@ typedef struct {
} RawStreamConfig;
} RawStreamConfig;
constexpr const size_t kStreamCfgSz = sizeof(RawStreamConfig) / sizeof(int32_t);
constexpr const size_t kStreamCfgSz = sizeof(RawStreamConfig) / sizeof(int32_t);


const std::unordered_set<int32_t> gSupportedColorFormats ({
    HAL_PIXEL_FORMAT_RGBA_8888,
    HAL_PIXEL_FORMAT_BGRA_8888,
    HAL_PIXEL_FORMAT_YCRCB_420_SP,  // NV21
    HAL_PIXEL_FORMAT_YV12,          // YV12
    HAL_PIXEL_FORMAT_YCBCR_422_I    // YUY2
});

} // anonymous namespace
} // anonymous namespace




@@ -251,7 +259,7 @@ protected:
            RawStreamConfig *ptr = reinterpret_cast<RawStreamConfig *>(streamCfgs.data.i32);
            RawStreamConfig *ptr = reinterpret_cast<RawStreamConfig *>(streamCfgs.data.i32);
            for (unsigned offset = 0; offset < streamCfgs.count; offset += kStreamCfgSz) {
            for (unsigned offset = 0; offset < streamCfgs.count; offset += kStreamCfgSz) {
                if (ptr->direction == ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT &&
                if (ptr->direction == ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT &&
                    ptr->format == HAL_PIXEL_FORMAT_RGBA_8888) {
                    isSupportedColorFormat(ptr->format)) {
                    targetCfg.width = ptr->width;
                    targetCfg.width = ptr->width;
                    targetCfg.height = ptr->height;
                    targetCfg.height = ptr->height;
                    targetCfg.format = static_cast<PixelFormat>(ptr->format);
                    targetCfg.format = static_cast<PixelFormat>(ptr->format);
@@ -264,6 +272,10 @@ protected:
        return targetCfg;
        return targetCfg;
    }
    }


    bool isSupportedColorFormat(int32_t format) {
        return gSupportedColorFormats.find(format) != gSupportedColorFormats.end();
    }

    sp<IEvsEnumerator>              pEnumerator;   // Every test needs access to the service
    sp<IEvsEnumerator>              pEnumerator;   // Every test needs access to the service
    std::vector<CameraDesc>         cameraInfo;    // Empty unless/until loadCameraList() is called
    std::vector<CameraDesc>         cameraInfo;    // Empty unless/until loadCameraList() is called
    bool                            mIsHwModule;   // boolean to tell current module under testing
    bool                            mIsHwModule;   // boolean to tell current module under testing
@@ -2018,12 +2030,13 @@ TEST_P(EvsHidlTest, CameraUseStreamConfigToDisplay) {
            RawStreamConfig *ptr = reinterpret_cast<RawStreamConfig *>(streamCfgs.data.i32);
            RawStreamConfig *ptr = reinterpret_cast<RawStreamConfig *>(streamCfgs.data.i32);
            for (unsigned offset = 0; offset < streamCfgs.count; offset += kStreamCfgSz) {
            for (unsigned offset = 0; offset < streamCfgs.count; offset += kStreamCfgSz) {
                if (ptr->direction == ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT &&
                if (ptr->direction == ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT &&
                    ptr->format == HAL_PIXEL_FORMAT_RGBA_8888) {
                    isSupportedColorFormat(ptr->format)) {


                    if (ptr->width * ptr->height > maxArea &&
                    if (ptr->width * ptr->height > maxArea &&
                        ptr->framerate >= minReqFps) {
                        ptr->framerate >= minReqFps) {
                        targetCfg.width = ptr->width;
                        targetCfg.width = ptr->width;
                        targetCfg.height = ptr->height;
                        targetCfg.height = ptr->height;
                        targetCfg.format = static_cast<PixelFormat>(ptr->format);


                        maxArea = ptr->width * ptr->height;
                        maxArea = ptr->width * ptr->height;
                        foundCfg = true;
                        foundCfg = true;
@@ -2032,8 +2045,6 @@ TEST_P(EvsHidlTest, CameraUseStreamConfigToDisplay) {
                ++ptr;
                ++ptr;
            }
            }
        }
        }
        targetCfg.format =
            static_cast<PixelFormat>(HAL_PIXEL_FORMAT_RGBA_8888);


        if (!foundCfg) {
        if (!foundCfg) {
            // Current EVS camera does not provide stream configurations in the
            // Current EVS camera does not provide stream configurations in the
@@ -2121,12 +2132,13 @@ TEST_P(EvsHidlTest, MultiCameraStreamUseConfig) {
            RawStreamConfig *ptr = reinterpret_cast<RawStreamConfig *>(streamCfgs.data.i32);
            RawStreamConfig *ptr = reinterpret_cast<RawStreamConfig *>(streamCfgs.data.i32);
            for (unsigned offset = 0; offset < streamCfgs.count; offset += kStreamCfgSz) {
            for (unsigned offset = 0; offset < streamCfgs.count; offset += kStreamCfgSz) {
                if (ptr->direction == ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT &&
                if (ptr->direction == ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT &&
                    ptr->format == HAL_PIXEL_FORMAT_RGBA_8888) {
                    isSupportedColorFormat(ptr->format)) {


                    if (ptr->width * ptr->height > maxArea &&
                    if (ptr->width * ptr->height > maxArea &&
                        ptr->framerate >= minReqFps) {
                        ptr->framerate >= minReqFps) {
                        targetCfg.width = ptr->width;
                        targetCfg.width = ptr->width;
                        targetCfg.height = ptr->height;
                        targetCfg.height = ptr->height;
                        targetCfg.format = static_cast<PixelFormat>(ptr->format);


                        maxArea = ptr->width * ptr->height;
                        maxArea = ptr->width * ptr->height;
                        foundCfg = true;
                        foundCfg = true;
@@ -2135,8 +2147,6 @@ TEST_P(EvsHidlTest, MultiCameraStreamUseConfig) {
                ++ptr;
                ++ptr;
            }
            }
        }
        }
        targetCfg.format =
            static_cast<PixelFormat>(HAL_PIXEL_FORMAT_RGBA_8888);


        if (!foundCfg) {
        if (!foundCfg) {
            LOG(INFO) << "Device " << cam.v1.cameraId
            LOG(INFO) << "Device " << cam.v1.cameraId