MTK camera CTS 调试遇到的问题及处理方法

 

一、CTS camera帧率测试不过

log:

Wanted *at least* 3 times:
-> at android.hardware.camera2.cts.RobustnessTest.testOutputCombination(RobustnessTest.java:1500)
But was 2 times:
-> at java.lang.reflect.Method.invoke(Native Method)
)
java.lang.Throwable(Test failed for camera 0: Output combination { [PRIV, PREVIEW] [YUV, PREVIEW] [JPEG, MAXIMUM] } failed due to:
captureCallback.onCaptureCompleted(
android.hardware.camera2.impl.CameraCaptureSessionImpl@fddb6bb,
android.hardware.camera2.CaptureRequest@34673ec7,
isA(android.hardware.camera2.TotalCaptureResult)
);
Wanted *at least* 3 times:
-> at android.hardware.camera2.cts.RobustnessTest.testOutputCombination(RobustnessTest.java:1500)
But was 2 times:
-> at java.lang.reflect.Method.invoke(Native Method)
)

 

问题:拍照速度不够

处理:

1、修改iic通讯速率:

kernel-3.18/drivers/misc/mediatek/imgsensor/src/mt6580/kd_sensorlist.c
@@ -3810,7 +3810,7 @@ static int CAMERA_HW_i2c_probe(struct i2c_client *client, const struct i2c_devic
        spin_lock(&kdsensor_drv_lock);
        g_pstI2Cclient = client;
        /* set I2C clock rate */
-       g_pstI2Cclient->timing = 100;   /* 100k */
+       g_pstI2Cclient->timing = 400;   /* 100k */
        g_pstI2Cclient->ext_flag &= ~I2C_POLLING_FLAG;  /* No I2C polling busy waiting */
 
        spin_unlock(&kdsensor_drv_lock);
2、减少delay frame:

kernel-3.18/drivers/misc/mediatek/imgsensor/src/mt6580/gc8024_mipi_raw/gc8024mipi_Sensor.c
@@ -189,11 +189,11 @@ static imgsensor_info_struct imgsensor_info = {
     .ihdr_le_firstline = 0,  //1,le first ; 0, se first
     .sensor_mode_num = 3,      //support sensor mode num
 
-    .cap_delay_frame = 2,        //enter capture delay frame num
-    .pre_delay_frame = 2,         //enter preview delay frame num
-    .video_delay_frame = 2,        //enter video delay frame num
-    .hs_video_delay_frame = 2,    //enter high speed video  delay frame num
-    .slim_video_delay_frame = 2,//enter slim video delay frame num
+    .cap_delay_frame = 0,        //enter capture delay frame num
+    .pre_delay_frame = 0,         //enter preview delay frame num
+    .video_delay_frame = 0,        //enter video delay frame num
+    .hs_video_delay_frame = 0,    //enter high speed video  delay frame num
+    .slim_video_delay_frame = 0,//enter slim video delay frame num
 
     .isp_driving_current = ISP_DRIVING_6MA, //mclk driving current
 

3、插值分辨率:

vendor/mediatek/proprietary/custom/mt6580/hal/sendepfeature/gc8024_mipi_raw/config.ftbl.gc8024mipi_raw.h

 #if 1
     //  Video Size
     FTABLE_CONFIG_AS_TYPE_OF_DEFAULT_VALUES(
-        KEY_AS_(MtkCameraParameters::KEY_VIDEO_SIZE), 
+        KEY_AS_(MtkCameraParameters::KEY_VIDEO_SIZE),
         SCENE_AS_DEFAULT_SCENE(
-            ITEM_AS_DEFAULT_("1280x720"), 
+            ITEM_AS_DEFAULT_("640x480"),
             ITEM_AS_VALUES_(
                                                                "176x144",      "320x240",      "352x288",      "480x320",      "640x480",      "720x480",
                                                                "864x480",      "800x600",              "1280x720",     "1280x768",     "1280x960", 
-                                                               "1920x1080",    "1920x1088"
+                                                               "1920x1080",   
             )
         ), 
     )
 

3、改HDR效果

+++ b/vendor/mediatek/proprietary/custom/mt6580/hal/camera/camera_custom_hdr.cpp
@@ -273,9 +273,9 @@ MVOID getHDRExpSetting(const HDRExpSettingInputParam_T& rInput, HDRExpSettingOut
 {
     static MUINT32 HDRFlag = CUST_HDR_CAPTURE_ALGORITHM;
     MUINT32 HDR_NEOverExp_Percent   = CUST_HDR_NEOverExp_Percent;
-    MUINT32 u4MaxHDRExpTimeInUS     = 200000; // Manually set, no longer than 0.5s (unit: us)
+    MUINT32 u4MaxHDRExpTimeInUS     = 80000; // Manually set, no longer than 0.5s (unit: us)
     MUINT32 u4MaxSafeHDRExpTimeInUS = 31250; // Manually set, no longer than 0.5s (unit: us)
-    MUINT32 u4MaxHDRSensorGain      = 4848; //Manually set, no larger than max gain in normal capture
+    MUINT32 u4MaxHDRSensorGain      = 1024; //Manually set, no larger than max gain in normal capture
     MUINT32 u4TimeMode  = 1;                // 0:Depend on default AE parameters; 1: Manually set
     MUINT32 u4GainMode  = 1;                // 0:Depend on default AE parameters; 1: Manually set

你可能感兴趣的:(MTK camera CTS 调试遇到的问题及处理方法)