mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 11:36:00 +00:00
Merge "Camera: Update readoutTimeout requirement"
This commit is contained in:
committed by
Android (Google) Code Review
commit
2c04afb02a
@@ -35,8 +35,9 @@ struct ShutterMsg {
|
||||
|
||||
/**
|
||||
* Timestamp for the capture readout. This must be in the same time domain
|
||||
* as v3_2.timestamp, and the value must be v3_2.timestamp + exposureTime
|
||||
* for a rolling shutter sensor.
|
||||
* as v3_2.timestamp, and for a rolling shutter sensor, the value must be
|
||||
* v3_2.timestamp + exposureTime + t_crop_top where t_crop_top is the exposure time
|
||||
* skew of the cropped lines on the top.
|
||||
*/
|
||||
uint64_t readoutTimestamp;
|
||||
};
|
||||
|
||||
@@ -4796,15 +4796,24 @@ void CameraHidlTest::processCaptureRequestInternal(uint64_t bufferUsage,
|
||||
ASSERT_EQ(testStream.id, inflightReq.resultOutputBuffers[0].streamId);
|
||||
|
||||
// For camera device 3.8 or newer, shutterReadoutTimestamp must be
|
||||
// available, and it must be shutterTimestamp + exposureTime.
|
||||
// available, and it must be >= shutterTimestamp + exposureTime, and
|
||||
// < shutterTimestamp + exposureTime + rollingShutterSkew / 2.
|
||||
if (deviceVersion >= CAMERA_DEVICE_API_VERSION_3_8) {
|
||||
ASSERT_TRUE(inflightReq.shutterReadoutTimestampValid);
|
||||
ASSERT_FALSE(inflightReq.collectedResult.isEmpty());
|
||||
if (inflightReq.collectedResult.exists(ANDROID_SENSOR_EXPOSURE_TIME)) {
|
||||
camera_metadata_entry_t exposureTimeResult = inflightReq.collectedResult.find(
|
||||
ANDROID_SENSOR_EXPOSURE_TIME);
|
||||
ASSERT_EQ(inflightReq.shutterReadoutTimestamp - inflightReq.shutterTimestamp,
|
||||
exposureTimeResult.data.i64[0]);
|
||||
nsecs_t exposureToReadout =
|
||||
inflightReq.shutterReadoutTimestamp - inflightReq.shutterTimestamp;
|
||||
ASSERT_GE(exposureToReadout, exposureTimeResult.data.i64[0]);
|
||||
if (inflightReq.collectedResult.exists(ANDROID_SENSOR_ROLLING_SHUTTER_SKEW)) {
|
||||
camera_metadata_entry_t rollingShutterSkew =
|
||||
inflightReq.collectedResult.find(
|
||||
ANDROID_SENSOR_ROLLING_SHUTTER_SKEW);
|
||||
ASSERT_LT(exposureToReadout, exposureTimeResult.data.i64[0] +
|
||||
rollingShutterSkew.data.i64[0] / 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user