CtsCameraTestCases fail
这个模块是CTS/VTS 问题比较多的模块。
解决方案
首先检查测试Camera的条件:
1. 保证前后摄像头都不要被遮挡。
2. 保证环境亮度,lv值至少在60以上。
3. 保证preview的帧率至少在24fps以上,capture的帧率在15fps以上
4. feature table中,preview size跟picture 的size满足如下条件:
1)preview size的最大值不能大于picture size的最大值。
2)preview size 最大值的比例跟picture size的最大值比例要保持一致,比例差值不大于+-0.001。
3)picture size跟preview size的宽高必须是16的倍数
5 Feature Table fps range:
另要根据camera sensor的能力来填写fps range信息。Google CTS要求至少有一条range是在min <= 15, max >= 30, 且必须有fixed fps: 30;还有一个原则是: 最小不要小于5fps.
另外,由于video mode night需要15fps, video可能还需要20fps.
一般的配置如下(Base: 1000x):
(5000,30000),
(15000,15000), // 如果fps性能偏差,可以改成(5000,15000)
(20000,20000),
(30000,30000), // 一定需要有
如支持PIP, 还需要配置:(24000,24000)
对于 android.hardware.camera2.cts.AllocationTest#testAllocationFromCameraFlexibleYuv项目
1: 最大picture size 小于 最大preview size
2: 配置的preview size的宽高不满足2的整数倍(平台要求要设置为16整数倍)
3: 最大preview size和picture size比例要一致
对于 android.hardware.cts.CameraTest#testPreviewFpsRange 项目
./vendor/qcom/proprietary/mm-camera/mm-camera2/media-controller/mct/pipeline/mct_pipeline.c
static cam_fps_range_t default_fps_ranges[] = {
对于 android.hardware.camera2.cts.ExtendedCameraCharacteristicsTest#testAvailableStreamConfigs 可试试
./frameworks/ex/camera2/portability/src/com/android/ex/camera2/portability/AndroidCamera2AgentImpl.java
@@ -741,7 +741,8 @@ class AndroidCamera2AgentImpl extends CameraAgent {
mCaptureReader.close();
}
mCaptureReader = ImageReader.newInstance(
- mPhotoSize.width(), mPhotoSize.height(), ImageFormat.JPEG, 1);
+ // mPhotoSize.width(), mPhotoSize.height(), ImageFormat.JPEG, 1);
+ 1920, 1080, ImageFormat.JPEG, 1);
try {
mCamera.createCaptureSession(
对于 testJpegThumbnailSize,可试试
a/LINUX/android/vendor/qcom/proprietary/mm-camera/mm-camera2/media-controller/mct/pipeline/mct_pipeline.c
+++
b/LINUX/android/vendor/qcom/proprietary/mm-camera/mm-camera2/media-controller/mct/pipeline/mct_pipeline.c
@@
-68,6 +68,7 @@ static cam_dimension_t default_picture_sizes[] = {
{ 4096,
2160},// true 4K
{ 3264, 2448}, // 8MP
{ 2592, 1944}, // 5MP
+ { 2592, 1458}, // 16:9
{ 2048, 1536}, // 3MP QXGA
{ 1920, 1080}, //
HD1080
{ 1600, 1200}, // 2MP UXGA
@@ -81,8 +82,6 @@ static cam_dimension_t default_picture_sizes[] = {
{ 640, 480}, // VGA
{ 352, 288}, // CIF
{ 320, 240}, // QVGA
- { 176, 144}, // QCIF
- { 160, 120}
};
Camera项目相互之间还会产生影响,是比较麻烦的,一般修改之后最好进行模块回归全测。