[CTS] CtsCameraTestCases | Sukha

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项目相互之间还会产生影响,是比较麻烦的,一般修改之后最好进行模块回归全测。

作者: RESSRC

个人资源站

发表评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据