• AE custom flow


    1.ae custom 大概flow为:

    整体分为3部分,3A managers 即 3a mgr(ae_mgr、awb_mgr、af_mgr、flash_mgr、flicker_mgr),ae客制化主要是通过ae_mgr获取参数,从而往下传递到algo、aao、pso、tsf中。

    所以ae custom经过迭代优化,这边将他简单的分成如下几个

    CPP:ae_mgr.cpp、aaobufmgr.cpp、psobufmgr.cpp、tsfdft.cpp、ae_tuning_cutom.cpp、

    新增的参数文件、isp_tuning_custom.cpp

    各cpp调用方法:

    整套flow都是在init的时候完成参数的查找,所以ae_mgr.cpp:

    Aeinit->setCamScenarioMode->OplusSetAEParams->isAEEnableda->getAESesorParamData

    在ae_mgr中通过aeinit,往algo里传递m_rAEInitInput.eSensorDev,然后通过当前传来的ScenarioMode(preview、video、capture、custom1、custom2、custom3、custom4),去找ae_tuning_custom.cpp中的getAESesorParamData、isAEEnableda方法,完成参数调用和校验。

    -------------------------------------------------------------------------------------------------------

    aaobufmgr.cpp、psobufmgr.cpp、tsfdft.cpp:

    通过init,获取通过ae_mgr得到的参数信息,从而完成静态信息的存储等。

    -------------------------------------------------------------------------------------------------------

    ae_tuning_custom.cpp:

    isAEEnableda->getAESesorParamData->getAEParamData

    isAEEnableda用来校验参数是否调用成功,校验参数是否调用成功需要核查2项:

    1.OplusSetAEParams:AE_LOG( "[%s()] Main sensorDevID: 0x%04x m_bEnableAE:%d\n", __FUNCTION__, sInfo.sensorDevID, m_bEnableAE);

    2.isAEEnableda:ALOGD("[%s] No SensorID Mapping parameters uSensorDevID:0x%04x, eSensorDev:%d\n", __FUNCTION__, uSensorDevID, eSensorDev);

    这两个是否能打印出来决定是否调用成功。

    getAESesorParamDatas通过这个方法来调用对应ScenarioMode的aeParamsData

    getAEParamData,通过这个调用参数中的ae参数

    -------------------------------------------------------------------------------------------------------

    isp_tuning_custom.cpp:

    ratioMapping,客制化对应的ratio,可用来调整shading。

    -------------------------------------------------------------------------------------------------------

    tuning_params.cpp:

    isAEEnabled->getAEParamData->getAEParam

    isAEEnabled用来校验参数是否调用成功,成功返回ture,否则就false,

    getAEParamData->getAEParm获取参数,可通过DP查看参数是否生效。

    以上就是整个ae custom flow,主要来讲ae cutom将ae_mgr和参数建立一个清晰的通道,所以之后完全可以把针对sensor的客制化按照此方法客制化出去,类似于高通extension.xml

  • 相关阅读:
    如何为 SAST 工具设置误报基准?
    Inner Join与Left Join
    Day51:动态规划 LeedCode 300.最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组
    html入门综合练习
    通过snmp获取设备每个接口的配置IP地址,网段信息和VLAN接口号
    这些嵌入式系统安全性的知识你需要了解
    工控安全PLC固件逆向二
    Ansible_自动化运维实战(一)
    代码签名证书以及如何申请
    MySQL学习笔记9
  • 原文地址:https://blog.csdn.net/m0_72053187/article/details/126016444