高通平台ISP模块触发方式和条件
VOID IQInterface::UpdateAECGain(
ISPIQModuleType mType,
ISPInputData* pInputData,
FLOAT gtmPercentage)
{
FLOAT gain = pInputData->triggerData.AECShortGain;
FLOAT drc_gain = pInputData->triggerData.DRCGain;
// Gain before GTM module is triggered by short gain
pInputData->triggerData.AECGain = gain;
if (mType == ISPIQModuleType::IFEGTM ||
mType == ISPIQModuleType::IFEGamma ||
mType == ISPIQModuleType::IFECST ||
mType == ISPIQModuleType::BPSGTM ||
mType == ISPIQModuleType::BPSGamma ||
mType == ISPIQModuleType::BPSCST ||
mType == ISPIQModuleType::BPSHNR ||
mType == ISPIQModuleType::IPECAC ||
mType == ISPIQModuleType::IPEICA ||
mType == ISPIQModuleType::IPEANR ||
mType == ISPIQModuleType::IPETF ||
mType == ISPIQModuleType::IPECST ||
mType == ISPIQModuleType::IPELTM ||
mType == ISPIQModuleType::IPEHNR ||
mType == ISPIQModuleType::IPELENR)
{
// Gain betweem GTM & LTM ( includes ) will be triggered by shortGain*power(DRCGain,gtm_perc)
pInputData->triggerData.AECGain = gain * static_cast<FLOAT>(CamX::Utils::Power(drc_gain, gtmPercentage));
}
if (mType == ISPIQModuleType::IPEColorCorrection ||
mType == ISPIQModuleType::IPEGamma ||
mType == ISPIQModuleType::IPE2DLUT ||
mType == ISPIQModuleType::IPEChromaEnhancement ||
mType == ISPIQModuleType::IPEChromaSuppression ||
mType == ISPIQModuleType::IPESCE ||
mType == ISPIQModuleType::IPEASF ||
mType == ISPIQModuleType::IPEUpscaler ||
mType == ISPIQModuleType::IPEGrainAdder)
{
// Gain post LTM will be triggered by shortGain*DRCGain
pInputData->triggerData.AECGain = gain * drc_gain;
}
}
模块
|
AEC gain trigger
|
Black level、Linearization、LSC、PDPC、ABF、GIC、Demosaic
|
shortgain
|
GTM、Gamma、CST、HNR、CAC、ICA、ANR、TF、HNR、LENR、LTM
|
shortGain*power(DRCGain,gtm_perc)
|
ColorCorrection、2DLUT、ChromaEnhancement、ChromaSuppression、SCE、ASF、Upscaler、GrainAdder
|
shortGain*DRCGain
|