PixArt 原相 PAS6167 camera sensor在视频聊天软件上的调试问题处理

平台:MTK23C,视频需求要求的分辨率为80x64,112x80

问题:优米视频聊天软件实现方法为先preview,之后就是连续的capture,通过MTK的API调用PAS6167,不是直接调用


解决方案:

   1. 先把80x64,112x80这两个分辨率做好,并在MTK的标准相机测试,测试方法就是在CameraApp.c文件中。设定此相应preview和capture的分辨率,并测试此分辨率下的preview和capture是否都正常。

   2. 要求方案商给我一个全局变量或函数,让PAS6167知道视频软件什么时修执行连续拍照连续拍照时,第一次调用capture时,须令continuing_capture=0,让我们的PAS6167先初行一次正常的capture初始化,从第二次capture开始,使continuing_capture=1,执行(continuing_capture==1)的代码当退出视频软件时,continuing_capture要致0,不然会影响一般相机capture。


调试过程遇到的问题及解决方法:

     1. PAS6167 Capture直接使用80x64此分辨率在MTK上有问题,MTK会以为数据没有发送完一直在等(直接超时中断),在视频软件上一直没有图像。

      而Preview直接使用80x64此分辨率则没有此问题,后来把Capture的分辨率改为80x67就正常了。

    2. 在室内环境切换到户外环境出现过曝问题,因为连续的Capture过程中没有做AE引起,修改代码后就AE就能收敛了。

       先去掉以下4行

                 PixSensor_AE_Mode(KAL_FALSE);

                 exposure_pixels=PAS6167_Read_Shutter();

                 。。。。

                   exposure_pixels=exposure_pixels*preview_pclk_division/capture_pclk_division;

                 PAS6167_Write_Shutter(exposure_pixels);

       然后再加入PixSensor_AE_Mode(KAL_TRUE); , 加在 PAS6167_Output_Enable(KAL_TRUE);前

    3. 但对灯管或光线强的户外环境,连续的Capture过程中会每几帧就出现一帧亮度过亮的现象,AE在强光下收剑有问题,把preview这三行代码

        write_cmos_sensor(0xef,0x00);

        write_cmos_sensor(0x6B,0x07);//R_AE_minStage[4:0]

        write_cmos_sensor(0xef,0x00);     

      拷到capture函数相应地方就解决,但AE的收剑会比之前小一些。

    4. 帧率过慢,不到1帧,不过优米视频软件正常的帧率也就2帧左右。执行连续拍照功能时,把PixSensor_Skip_Frame(3);去掉,帧率有改善。

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★博文作者未开放评论功能