CTS测试中testRecommendedStreamConfigurations[1]项
(1)源码简介
//cts/tests/camera/src/android/hardware/camera2/cts/ExtendedCameraCharacteristicsTest.javaprivate void verifyRecommendedSnapshotConfiguration(String cameraId, CameraCharacteristics c,RecommendedStreamConfigurationMap snapshotConfig) {verifyCommonRecommendedConfiguration(cameraId, c, snapshotConfig, /*checkNoInput*/ true,/*checkNoHighRes*/ false, /*checkNoHighSpeed*/ true, /*checkNoPrivate*/false,/*checkNoDepth*/ false);//(1)获取sensor支持的大小Rect activeRect = CameraTestUtils.getValueNotNull(c, CameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE);Size arraySize = new Size(activeRect.width(), activeRect.height());//(2)获取支持的Jpeg Size(BLOB类型)Set<Size> snapshotSizeSet = snapshotConfig.getOutputSizes(ImageFormat.JPEG);Size[] snapshotSizes = new Size[snapshotSizeSet.size()];snapshotSizes = snapshotSizeSet.toArray(snapshotSizes);//(3)获取最大的Jpeg SizeSize maxJpegSize = CameraTestUtils.getMaxSize(snapshotSizes);assertTrue(String.format("Maximum recommended Jpeg size %s should be within 3 percent " +"of the area of the advertised array size %s for ID: %s",maxJpegSize.toString(), arraySize.toString(), cameraId),isSizeWithinSensorMargin(maxJpegSize, arraySize).first.booleanValue());}public @Nullable Set<Size> getOutputSizes(@Format int format) {return getUnmodifiableSizeSet(mRecommendedMap.getOutputSizes(format));}
可以看到此项当中的某一条条件判断就是要求metadata当中配置的最大Jpeg Size需要同Sensor Array Size相差不大。
(2)Failed Demo
03-03 09:17:26.672 12620 12640 E TestRunner: failed: testRecommendedStreamConfigurations[1](android.hardware.camera2.cts.ExtendedCameraCharacteristicsTest)
03-03 09:17:26.672 12620 12640 E TestRunner: ----- begin exception -----
03-03 09:17:26.674 12620 12640 E TestRunner: junit.framework.AssertionFailedError: Maximum recommended Jpeg size 4096x2304 should be within 3 percent of the area of the advertised array size 4224x3136 for ID: 0
03-03 09:17:26.674 12620 12640 E TestRunner: at junit.framework.Assert.fail(Assert.java:50)
03-03 09:17:26.674 12620 12640 E TestRunner: at junit.framework.Assert.assertTrue(Assert.java:20)
03-03 09:17:26.674 12620 12640 E TestRunner: at android.hardware.camera2.cts.ExtendedCameraCharacteristicsTest.verifyRecommendedSnapshotConfiguration(ExtendedCameraCharacteristicsTest.java:660)
03-03 09:17:26.674 12620 12640 E TestRunner: at android.hardware.camera2.cts.ExtendedCameraCharacteristicsTest.testRecommendedStreamConfigurations(ExtendedCameraCharacteristicsTest.java:908)
可以看到目前Camera ID 0配置的Maximum recommended Jpeg size 为 4096x2304,和sensor Array Size相差太大,所以需要做如下修改。
(3)修改方案
需要在如下文件中添加上对应的Size列表
//imgsensor_metadata/common/config_static_metadata_project.h CONFIG_METADATA_BEGIN(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_WITH_DURATIONS_CANDIDATES)CONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_BLOB, MINT64) //13mpCONFIG_ENTRY_VALUE(4160, MINT64)CONFIG_ENTRY_VALUE(3120, MINT64)CONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT64)CONFIG_ENTRY_VALUE(66666666, MINT64)CONFIG_ENTRY_VALUE(33333333, MINT64)//...
CONFIG_METADATA_END()
CONFIG_METADATA_BEGIN(MTK_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_CANDIDATES)//new hiddenCONFIG_ENTRY_VALUE(4160, MINT32)CONFIG_ENTRY_VALUE(3120, MINT32)CONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_BLOB, MINT32)CONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT32)CONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_SNAPSHOT , MINT32)//...
CONFIG_METADATA_END()
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
