• 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

  • 相关阅读:
    利用大模型反馈故障的解决方案
    【CPP】数据结构
    数据建模之查文献找数据以及数据预处理
    go 验证字符串中是否包含中文或英文
    css 使用二
    C/C++数据结构——队列
    CPU架构 -- ARMv7与ARMv8协处理器比较
    浙江大学计算机考研资料汇总
    机器学习入门小结
    Linux 救援模式
  • 原文地址:https://blog.csdn.net/m0_72053187/article/details/126016444