Android13 相机CTS测试与问题分析(二)

四.思路:

查看log-》找到测试源码code-》弄清测试原理-》分析rootcause –》复测

五.CtsCameraTestCases模块

5.1 android.hardware.camera2.cts.BurstCaptureRawTest#testTimestamp[1]

log:

junit.framework.AssertionFailedError: Available sizes for RAW format must include either the pre-corrected active array size, or the full pixel array size : No elements from [4640x3488] in [4640x3480, 4640x3480]

log源码:

cts/tests/camera/utils/src/android/hardware/camera2/cts/helpers/AssertHelpers.java

原因:setting中配置的activeDimension不是4640*3488

解决:

+++ b/vendor/qcom/proprietary/chi-cdk/oem/qcom/sensor/s5k3p9/s5k3p9_sensor.xml
@@ -13882,8 +13882,8 @@
         <dimension>
             <xStart>0</xStart>
             <yStart>0</yStart>
-            <width>4208</width>
-            <height>3120</height>
+            <width>4640</width>
+            <height>3488</height>
         </dimension>
     </opticalBlackRegionInfo>
     <!--Information about the pixel array
@@ -13894,7 +13894,7 @@
             <xStart>0</xStart>
             <yStart>0</yStart>
             <width>4640</width>
-            <height>3480</height>
+            <height>3488</height>
         </activeDimension>
         <!--Dummy pixels surrounding the active pixel array -->
         <dummyInfo>

复测:Pass

5.2 android.hardware.camera2.cts.BurstCaptureRawTest#testTimestamp[1]

Log:

java.lang.Throwable(Test failed for camera 0: The standard deviation of frame interval is larger then threshold: stddev = 16134081.93, threshold = 5000000.00.

测试case

cts/tests/camera/src/android/hardware/camera2/cts/BurstCaptureRawTest.java

解决:关闭无用Log、增加DefaultMaxIFEPipelineDelay=4

--- a/vendor/qcom/proprietary/camx/src/core/camxpipeline.cpp
+++ b/vendor/qcom/proprietary/camx/src/core/camxpipeline.cpp
@@ -60,7 +60,9 @@ static const struct NodeVendorTag PipelineVendorTags[] =
 
 static const UINT SingleMetadataResult           = 1;
 static const UINT DefaultFPS                     = 30;
-static const UINT DefaultMaxIFEPipelineDelay     = 3;
+//fix cts for android.hardware.camera2.cts.BurstCaptureRawTest#testTimestamp
+//static const UINT DefaultMaxIFEPipelineDelay     = 3;
+static const UINT DefaultMaxIFEPipelineDelay     = 4;
 static const UINT DefaultMaxBPSPipelineDelay     = DefaultMaxIFEPipelineDelay + 2;
 static const UINT DefaultNodesRequestDoneTimeout = 300;   ///< Default nodes request done time out in ms
 static const UINT DefaultStreamOnTimeout         = (LivePendingRequestTimeoutDefault - 100);

复测:Pass

5.3 android.hardware.camera2.cts.BurstCaptureTest#testJpegBurst[1]

log:

junit.framework.AssertionFailedError: Cam 1: Target FPS range of (x, 24) where x &lt;= 15 must be supported

源码:

cts/tests/camera/utils/src/android/hardware/camera2/cts/CameraTestUtils.java

 分析:adb shell dumpsys media.camera > camera.info

Front:

      android.control.aeAvailableTargetFpsRanges (10014): int32[8]

        [15 15 24 24 ]

        [13 30 30 30 ]

-》(15,15); (24,24), (13,30),(30,30)无(15,24)这一组

解决:增加一组(15,24)

--- a/vendor/qcom/proprietary/camx/src/hwl/titan17x/camxtitan17xcontext.cpp
+++ b/vendor/qcom/proprietary/camx/src/hwl/titan17x/camxtitan17xcontext.cpp
@@ -479,6 +479,7 @@ static const RangeINT32 SupportedDefaultTargetFpsRanges[MaxTagValues] =
     {  7, 30 },
     { 10, 10 },
     { 15, 15 },
+    { 15, 24 },
     { 24, 24 },
     { 30, 30 }
 };

验证:adb shell dumpsys media.camera //新增15,24

      android.control.aeAvailableTargetFpsRanges (10014): int32[10]

        [15 15 15 24 ]

        [24 24 13 30 ]

        [30 30 ]

复测:Pass

5.4 android.hardware.camera2.cts.BurstCaptureTest#testJpegBurst[1]

Log:

junit.framework.AssertionFailedError: Cam 1: Target FPS range of (x, 24) where x &lt;= 15 must be supported

分析:adb shell dumpsys media.camera

      android.control.aeAvailableTargetFpsRanges (10014): int32[6]

        [24 24 16 30 ]

        [30 30 ]

实测:16-30 最小fps>15

-》确认是min fps=16 > 15导致

-》和FAE确认是修改tuning参数引起,

解决:FAE修改min fps –》修改AE曝光表

--- a/vendor/qcom/proprietary/chi-cdk/oem/qcom/tuning/e7165uo_fae_s5k4h7/Scenario.Default/XML/STATS/Arbitration.xml
+++ b/vendor/qcom/proprietary/chi-cdk/oem/qcom/tuning/e7165uo_fae_s5k4h7/Scenario.Default/XML/STATS/Arbitration.xml
@@ -31,17 +31,17 @@
       <gain type="float" range="[1,512]">8</gain>
       <expTime type="ulong" range="[1,60000000000]">41666667</expTime>
       <incrementPriority range="[0,2]">AECExpIncExpTime</incrementPriority>
-      <expIndex type="float" range="[-100,1000]">342.9969</expIndex>
+      <expIndex type="float" range="[-100,1000]">342.996918</expIndex>
     </expKneeEntries>
     <expKneeEntries>
       <gain type="float" range="[1,512]">16</gain>
       <expTime type="ulong" range="[1,60000000000]">50000000</expTime>
       <incrementPriority range="[0,2]">AECExpIncExpTime</incrementPriority>
-      <expIndex type="float" range="[-100,1000]">372.6148</expIndex>
+      <expIndex type="float" range="[-100,1000]">372.614777</expIndex>
     </expKneeEntries>
     <expKneeEntries>
       <gain type="float" range="[1,512]">32</gain>
-      <expTime type="ulong" range="[1,60000000000]">66666660</expTime>
+      <expTime type="ulong" range="[1,60000000000]">66666667</expTime>
       <incrementPriority range="[0,2]">AECExpIncGain</incrementPriority>
       <expIndex type="float" range="[-100,1000]">405.7971</expIndex>
     </expKneeEntries>

复测:Pass

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值