mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 11:36:00 +00:00
Merge "VtsHalCameraProviderV2_4TargetTest: Override rotate&crop" into sc-v2-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
3c2ebae81c
@@ -882,6 +882,7 @@ public:
|
||||
camera_metadata* oldSessionParams, camera_metadata* newSessionParams);
|
||||
|
||||
void verifyRequestTemplate(const camera_metadata_t* metadata, RequestTemplate requestTemplate);
|
||||
static void overrideRotateAndCrop(::android::hardware::hidl_vec<uint8_t> *settings /*in/out*/);
|
||||
|
||||
static bool isDepthOnly(const camera_metadata_t* staticMeta);
|
||||
|
||||
@@ -4660,6 +4661,7 @@ void CameraHidlTest::processCaptureRequestInternal(uint64_t bufferUsage,
|
||||
settings = req;
|
||||
});
|
||||
ASSERT_TRUE(ret.isOk());
|
||||
overrideRotateAndCrop(&settings);
|
||||
|
||||
hidl_handle buffer_handle;
|
||||
StreamBuffer outputBuffer;
|
||||
@@ -4836,6 +4838,7 @@ TEST_P(CameraHidlTest, processMultiCaptureRequestPreview) {
|
||||
settings.setToExternal(
|
||||
reinterpret_cast<uint8_t *> (const_cast<camera_metadata_t *> (settingsBuffer)),
|
||||
get_camera_metadata_size(settingsBuffer));
|
||||
overrideRotateAndCrop(&settings);
|
||||
|
||||
free_camera_metadata(staticMeta);
|
||||
ret = session->close();
|
||||
@@ -4913,6 +4916,7 @@ TEST_P(CameraHidlTest, processMultiCaptureRequestPreview) {
|
||||
reinterpret_cast<uint8_t *> (const_cast<camera_metadata_t *> (
|
||||
filteredSettingsBuffer)),
|
||||
get_camera_metadata_size(filteredSettingsBuffer));
|
||||
overrideRotateAndCrop(&camSettings[0].settings);
|
||||
camSettings[0].fmqSettingsSize = 0;
|
||||
camSettings[0].physicalCameraId = physicalDeviceId;
|
||||
|
||||
@@ -5070,6 +5074,7 @@ TEST_P(CameraHidlTest, processUltraHighResolutionRequest) {
|
||||
settings.setToExternal(
|
||||
reinterpret_cast<uint8_t*>(const_cast<camera_metadata_t*>(settingsBuffer)),
|
||||
get_camera_metadata_size(settingsBuffer));
|
||||
overrideRotateAndCrop(&settings);
|
||||
|
||||
free_camera_metadata(staticMeta);
|
||||
ret = session->close();
|
||||
@@ -5305,6 +5310,7 @@ TEST_P(CameraHidlTest, processCaptureRequestBurstISO) {
|
||||
camera_metadata_t *metaBuffer = requestMeta.release();
|
||||
requestSettings[i].setToExternal(reinterpret_cast<uint8_t *> (metaBuffer),
|
||||
get_camera_metadata_size(metaBuffer), true);
|
||||
overrideRotateAndCrop(&requestSettings[i]);
|
||||
|
||||
requests[i] = {frameNumber + i, 0 /* fmqSettingsSize */, requestSettings[i],
|
||||
emptyInputBuffer, {outputBuffers[i]}};
|
||||
@@ -5531,6 +5537,7 @@ TEST_P(CameraHidlTest, switchToOffline) {
|
||||
camera_metadata_t *metaBuffer = requestMeta.release();
|
||||
requestSettings[i].setToExternal(reinterpret_cast<uint8_t *> (metaBuffer),
|
||||
get_camera_metadata_size(metaBuffer), true);
|
||||
overrideRotateAndCrop(&requestSettings[i]);
|
||||
|
||||
requests[i] = {frameNumber + i, 0 /* fmqSettingsSize */, requestSettings[i],
|
||||
emptyInputBuffer, {outputBuffers[i]}};
|
||||
@@ -5671,6 +5678,7 @@ TEST_P(CameraHidlTest, processCaptureRequestInvalidBuffer) {
|
||||
settings = req;
|
||||
});
|
||||
ASSERT_TRUE(ret.isOk());
|
||||
overrideRotateAndCrop(&settings);
|
||||
|
||||
::android::hardware::hidl_vec<StreamBuffer> emptyOutputBuffers;
|
||||
StreamBuffer emptyInputBuffer = {-1, 0, nullptr, BufferStatus::ERROR, nullptr,
|
||||
@@ -5755,6 +5763,7 @@ TEST_P(CameraHidlTest, flushPreviewRequest) {
|
||||
settings = req;
|
||||
});
|
||||
ASSERT_TRUE(ret.isOk());
|
||||
overrideRotateAndCrop(&settings);
|
||||
|
||||
hidl_handle buffer_handle;
|
||||
if (useHalBufManager) {
|
||||
@@ -8909,6 +8918,25 @@ void CameraHidlTest::verifyRequestTemplate(const camera_metadata_t* metadata,
|
||||
}
|
||||
}
|
||||
|
||||
void CameraHidlTest::overrideRotateAndCrop(
|
||||
::android::hardware::hidl_vec<uint8_t> *settings /*in/out*/) {
|
||||
if (settings == nullptr) {
|
||||
return;
|
||||
}
|
||||
|
||||
::android::hardware::camera::common::V1_0::helper::CameraMetadata requestMeta;
|
||||
requestMeta.append(reinterpret_cast<camera_metadata_t *> (settings->data()));
|
||||
auto entry = requestMeta.find(ANDROID_SCALER_ROTATE_AND_CROP);
|
||||
if ((entry.count > 0) && (entry.data.u8[0] == ANDROID_SCALER_ROTATE_AND_CROP_AUTO)) {
|
||||
uint8_t disableRotateAndCrop = ANDROID_SCALER_ROTATE_AND_CROP_NONE;
|
||||
requestMeta.update(ANDROID_SCALER_ROTATE_AND_CROP, &disableRotateAndCrop, 1);
|
||||
settings->releaseData();
|
||||
camera_metadata_t *metaBuffer = requestMeta.release();
|
||||
settings->setToExternal(reinterpret_cast<uint8_t *> (metaBuffer),
|
||||
get_camera_metadata_size(metaBuffer), true);
|
||||
}
|
||||
}
|
||||
|
||||
GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(CameraHidlTest);
|
||||
INSTANTIATE_TEST_SUITE_P(
|
||||
PerInstance, CameraHidlTest,
|
||||
|
||||
Reference in New Issue
Block a user