@class NSMutableDictionary, NSDictionary, NSData, FigMetalContext, NSNumber; @interface AWBAlgorithm : NSObject { FigMetalContext *_metalContext; struct CAWBAFE { void /* function */ **x0; int x1; struct CDualLEDsWhitePointProjector *x2; struct { float x0[9]; float x1[9]; struct { float x0; float x1; float x2; float x3; float x4; } x2[6]; struct { float x0[6]; float x1[6]; float x2[6]; float x3[6]; float x4[6]; float x5[6]; } x3; struct { float x0; float x1; } x4[3]; struct { float x0; float x1; } x5[3]; struct { float x0; float x1; } x6[3]; struct { float x0; float x1; } x7[3]; BOOL x8; BOOL x9; } x3; struct CAWBAFEFDAssist *x4; struct CAWBAFEPhotometerAssistPenrose *x5; struct sPhotometerAWBMetadata *x6; struct _FE_3A_Stats_H15 *x7; struct _FE_3A_Stats_H15 *x8; struct _TILE_Stat_Elem *x9; struct _AEAWB_Stat_Elem *x10; struct _HighResAWBAE_Stat_Elem *x11; unsigned int *x12; struct sFEStatCSCConfig { short x0[9]; short x1[9]; short x2[3]; unsigned short x3[3]; unsigned short x4[3]; unsigned short x5[2]; unsigned char x6; } x13; struct sFEStatColorHistConfig { unsigned short x0[15]; unsigned char x1[16]; unsigned short x2; unsigned int x3; unsigned short x4; unsigned int x5; } x14; unsigned int x15; unsigned short x16; unsigned short x17; unsigned short x18; BOOL x19; unsigned int x20; unsigned int x21[3]; unsigned int x22[3]; int x23[3][3]; unsigned int x24; BOOL x25; BOOL x26; BOOL x27; unsigned int x28; unsigned int x29; int x30; unsigned short x31[3]; unsigned short x32[3]; unsigned int x33; float x34; float x35; unsigned short x36; float x37; float x38; float x39; float x40; float x41; float x42; struct sAWBInternalParams { unsigned short x0; unsigned short x1; BOOL x2; BOOL x3; BOOL x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; unsigned int x25; unsigned int x26[1024]; } x43; BOOL x44; struct sAWBDigitalFlashSkyParams { int x0; BOOL x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; } x45; int x46; BOOL x47; float x48; float x49; float x50; unsigned int x51[1024]; unsigned int x52[1024]; short x53[6][4]; unsigned short x54[3]; short x55[9]; unsigned short x56[2]; unsigned short x57[2]; unsigned short x58[13]; unsigned short x59[3]; unsigned short x60[32]; unsigned short x61; char *x62; unsigned char x63[1024]; unsigned char x64[6][1024]; short x65[6]; unsigned char x66; unsigned short x67; unsigned short x68; unsigned short x69; unsigned short x70; float x71; unsigned short x72; unsigned short x73; unsigned short x74; unsigned short x75; BOOL x76; unsigned int x77[3]; float x78; unsigned short x79; int x80; BOOL x81; int x82; short x83[30][2]; unsigned int x84; unsigned short x85[8][3]; unsigned int x86; short x87[6][9]; struct sCSensorCalGain { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; } x88; unsigned short x89; unsigned short x90; unsigned short x91; unsigned short x92; BOOL x93; unsigned int x94; unsigned int x95[4]; unsigned int x96; unsigned int x97; struct sTuningCurvePoint { unsigned int x0; unsigned int x1[8]; unsigned int x2[8]; } x98; struct sTuningCurvePoint { unsigned int x0; unsigned int x1[8]; unsigned int x2[8]; } x99; float x100; float x101; BOOL x102; BOOL x103; BOOL x104; BOOL x105; BOOL x106; float x107; int x108; int x109; unsigned int x110[3]; struct fdAWBMetaData *x111; unsigned short x112[150][4]; unsigned int x113; BOOL x114; BOOL x115; struct sWPStableZoneControlTable { struct sTuningCurvePoint { unsigned int x0; unsigned int x1[8]; unsigned int x2[8]; } x0; struct sTuningCurvePoint { unsigned int x0; unsigned int x1[8]; unsigned int x2[8]; } x1; struct sTuningCurvePoint { unsigned int x0; unsigned int x1[8]; unsigned int x2[8]; } x2; struct sTuningCurvePoint { unsigned int x0; unsigned int x1[8]; unsigned int x2[8]; } x3; } x116; BOOL x117; BOOL x118; unsigned char x119; unsigned char x120; unsigned long long x121; unsigned short x122; unsigned short x123; struct sMetaData *x124; unsigned short x125[3]; int x126; BOOL x127; int x128; float x129[2]; float x130; short x131[30][2]; unsigned int x132[6]; unsigned int x133[6]; BOOL x134; unsigned short x135[6]; unsigned short x136; unsigned short x137[32]; BOOL x138; float x139[192]; struct sAWBTimelapseParams { BOOL x0; BOOL x1; unsigned int x2; struct sAWBTimelapseSmoothingState { float x0; float x1; float x2[3]; float x3[3]; float x4; float x5; float x6; unsigned short x7; BOOL x8; } x3; } x140; float x141; struct sCIspCmdChColorCalIdealSet { unsigned int x0; unsigned short x1; unsigned short x2; union { unsigned int x0; struct sCIspControllerCmdHdrChInfo { unsigned short x0 : 16; unsigned short x1 : 15; unsigned char x2 : 1; } x1; } x3; unsigned short x4; unsigned short x5; unsigned short x6; unsigned short x7; } x142; BOOL x143; int x144; unsigned char x145; } *_AWBAlgorithmObj; struct sMetaData { BOOL metaValid; unsigned int frameCount; unsigned long long timeStamp; unsigned int readOutTime; unsigned int sensorHeight; unsigned int sensorWidth; struct sBTRect { int x; int y; unsigned int width; unsigned int height; } sensorArrayOutputRect; struct sBTRect { int x; int y; unsigned int width; unsigned int height; } validDataRegion; unsigned short blackLevel; unsigned short rangeExpansionGain; unsigned int frameRate; float slotStep; unsigned char channel; unsigned char masterCam; unsigned char masterCamPreview; unsigned char previewMasterCh; unsigned long long pendingPreviewMasterCh; unsigned char binW; unsigned char binH; unsigned int maxLSgainUnadjusted; struct sFlashMetaData { unsigned int gStr; unsigned short pT; unsigned short flashCaptureCount; unsigned char flashCapture; unsigned int Ynl_str; unsigned int Yn_str; unsigned int ExpAdjRatio; int flashStatusAE; int flashStatusAWB; int strobeStatus; unsigned char flashCaptureSequence; BOOL bMultiCam; float isNominalStrobe; float ratio; int ledType; struct sPerModuleLEDCalibData { unsigned char version; unsigned char isvalid; unsigned char programID; float cw_rg; float cw_bg; float ww_rg; float ww_bg; float ledWidePtrn_rg; float ledWidePtrn_bg; float ledSWidePtrn_rg; float ledSWidePtrn_bg; float ledTelePtrn_rg; float ledTelePtrn_bg; float strb_rg; float strb_bg; } pmLEDCalibData; unsigned int flashAuxFrameType; int dualProcessFlashType; int ltmSceneLux; BOOL internalFlashEn; BOOL externalFlash; } flash; struct sAEMetaData { unsigned int request; unsigned int status; unsigned short counter; unsigned long long exposure; unsigned int exposureTime; unsigned int pixelRate; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } gainAnal; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } gainDigiSensor; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } gainDigi; unsigned short gainDigiAE; unsigned short interGainAnal; unsigned long long interEIT; unsigned int vFrameSize; unsigned int totalVMin; unsigned int minVSizeForBracketing; unsigned int flickerFreq; unsigned int sceneBrightnessForLux; float luxLevel; unsigned short luxLevelLow; unsigned short luxLevelHigh; unsigned short preFlashLuxLevel; unsigned short preFlashLuxLevelLow; unsigned short preFlashLuxLevelHigh; unsigned short inverseBinningGainFactor; unsigned short maxHighAGC; unsigned char flashAEDoneFlag; unsigned int contextSwitchConfig; BOOL contextSwitchCompleted; unsigned int sessionType; unsigned int sessionState; unsigned char bracketingMode; unsigned char bracketingOisType; unsigned char bracketingCapture; unsigned char bracketingCaptureCount; unsigned char bracketingCaptureFirst; unsigned char bracketingCaptureLast; unsigned char preBracketing; unsigned int bracketingExpRatio; short focusPos; unsigned char bracketingCaptureDummy; unsigned char bracketingCaptureDummyNeeded; struct sAEFlashMetaData { unsigned int Ynl_str; unsigned int Yn_str; unsigned int Yavg; unsigned int Ytarget; unsigned int ExpAdjRatio; BOOL slowSync; unsigned int slowSyncFlashOnTime; unsigned int exposureTime; unsigned int SSFLeadingMargin; unsigned int SSFTrailingMargin; } flash; BOOL stable; BOOL limitsReached; BOOL drcSuspended; BOOL multiCam; unsigned int aeAverage; unsigned int aeTarget; unsigned short aeMatrixHorCount; unsigned short aeMatrixVerCount; unsigned int aeMatrix[16][16]; unsigned int motionFromAEMatrix; unsigned long long currentEIT; unsigned short hdrRatio; unsigned short ev0Ratio; unsigned short expBias; unsigned short realizedExpBias; unsigned int aeMatrixMin; unsigned int aeMatrixMax; unsigned int expBiasCommandTag; unsigned int manualExposureGainCommandTag; short bracketingCaptureEVStop; struct sCIspMetaDataFDExposureDebug { int faceAverage; int faceWeight; int sceneXl; int sceneXm; int sceneXh; int sceneTarget; int scale; int aeBlend; int aeAverage; int aeTarget; int darkOutlierCount; int brightOutlierCount; } fdAEParams; unsigned short meteringMode; struct sFlickerDetectionDebugParams { int detectStatus; unsigned short count; unsigned int freq[2]; unsigned short confidence[2]; unsigned short waveMatch[2]; } flickerDebugParams; unsigned int isoBase; struct sLuxCalcParams { unsigned int scale; unsigned int scaleShift; } luxCalcParams; unsigned short pseudoYWeight[3]; unsigned short panoExpRatio; int strobePattern; unsigned int strobeAux; unsigned int strobeCurrent; unsigned int bioCaptureGroup; int fIDFlowType; unsigned int maxPulseWidthLCUs[3]; BOOL slowSyncIsSlowSync; float faceExpRatioFiltered; float faceExpRatio; float bodyAdjustRatio; float flashLEDOffLux; float flashPreflashLux; unsigned short flashMixPercentage[512]; unsigned int flashMainFlashLuxFull; BOOL bHDRPrebracketing; int pairedStrobePattern; unsigned int aeMode; int repeatSequence; BOOL isSifrMode; BOOL isVHDRMode; float HRDampingRatio; unsigned int sifrRDOffset; unsigned long long exposureSifr; unsigned int exposureTimeSifr; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } gainAnalSifr; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } gainDigiSensorSifr; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } gainDigiSifr; unsigned char captureFrameType; int sifrSkipRatio; BOOL sifrOffPrepare; BOOL isEV0RatioStable; BOOL splitPDOn; unsigned char SphereRecenteringMode; unsigned int overflowDGain; struct sCIspCmdUBParamsSetMiscData { float analogGainLimit; struct sAWBReflowParam { BOOL bGenerateReflowAWB; BOOL bUsingSingleStillAWB; } awbReflow; } UBMisc; struct sCIspAEMiscData { struct sNextAEParam { unsigned long long exposure; unsigned int exposureTime; unsigned short gainAnal; unsigned short gainDigiSensor; unsigned short gainDigi; unsigned long long exposureSifr; unsigned int exposureTimeSifr; unsigned short gainAnalSifr; unsigned short gainDigiSensorSifr; unsigned short gainDigiSifr; int sifrSkipRatio; unsigned int overflowDGain; unsigned short hdrRatio; unsigned short ev0Ratio; unsigned short panoExpRatio; BOOL vHDROn; unsigned char bracketingCapture; } nextAE; } AEMisc; float AEstatsContrastInsideFace; float AEstatsContrastOutsideFace; BOOL videoHDRSwitchOn; float chSyncExpRatios[6]; float hdrScore; unsigned char clippingDiscontinuity; BOOL extraSoftDGain; unsigned int masterSyncOffset; } ae; struct sAWBMetaData { BOOL bFlashAWBDone; BOOL locked; unsigned short request; unsigned short status; struct sBTRGGB16 { union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } r; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } gr; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } gb; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } b; } awbGains; struct sBTRGGB16 { union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } r; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } gr; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } gb; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } b; } gains; struct sBTRGGB16 { union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } r; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } gr; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } gb; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } b; } gainsNormalized; int eLensShadingMode; unsigned short maxWBGainDown; unsigned short maxColorCalGainDown; unsigned int manualAWBGainCommandTag; unsigned int manualCCTCommandTag; struct sSlaveCameraAWBParam { unsigned short rgCalGain; unsigned short bgCalGain; unsigned int CCTestimate; unsigned int wbGain[3]; unsigned int comboWBGain[3]; int ccm[3][3]; BOOL valid; unsigned long long slaveCh; float pre_rgLogRatio; float pre_bgLogRatio; float daylightWeight; BOOL useSpatialCCM; BOOL isLEDMainFlashforAWB; float flashProjMixWeighting; struct sBTRGGB16 { union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } r; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } gr; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } gb; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } b; } awbGainsFlashProj; } slaveCameraAWBParam[6]; float pre_rgLogRatio; float pre_bgLogRatio; float daylightWeight; int awbColorspace; BOOL useSpatialCCM; struct sBTRGGB16 { union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } r; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } gr; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } gb; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } b; } awbGainsSkinOnly; BOOL isSlowSyncMainFlashforAWB; BOOL isLEDMainFlashforAWB; float flashProjMixWeighting; struct sBTRGGB16 { union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } r; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } gr; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } gb; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } b; } awbGainsFlashProj; BOOL hostMetadataUpdate; struct sAWBColorCorrectionMatrix { union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } coeff[9]; } ccm; unsigned int CCTEstimate; unsigned short displayStrobeCCT; unsigned short rgGain; unsigned short bgGain; unsigned short stable; BOOL usePrevFrameWP; unsigned short useTileStats; unsigned short firstWBGain[3]; unsigned int sceneLuxLevel; unsigned int sceneLuxLevelLow; unsigned int sceneLuxLevelHigh; unsigned int AWBLocked; unsigned int ambientLuxLevel; unsigned int ambientLuxLevelLow; unsigned int ambientLuxLevelHigh; unsigned int rawAverage[4]; unsigned short isHistWPValid; unsigned short fdAWBOutput; unsigned int fdAWBChistMixFactor; unsigned int fdRect[4]; unsigned short grayworldWBGain[3]; unsigned short RGBEstimate[3]; union metaAux { unsigned int all; struct { unsigned char counter : 8; unsigned char bracketCapture : 1; unsigned char bracketCount : 3; unsigned char flashCapture : 1; unsigned char flashCaptureCount : 3; } ; } auxMeta; unsigned int initial_rgLogRatio; unsigned int initial_bgLogRatio; BOOL isDefaultSetting; BOOL bBypassConvergenceFr; unsigned int statFrameCount; BOOL isMatchedSlaveSetting; unsigned int frameCount; unsigned short lowCCTrgBias; unsigned short lowCCTbgBias; unsigned short hiCCTrgBias; unsigned short hiCCTbgBias; unsigned int syncTag; unsigned char bForStatsSlaveCam; BOOL isValidOneFrameAWBSetting; unsigned int singleAWBFrameCount; struct sCameraAWBParam { struct sBTRGGB16 { union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } r; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } gr; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } gb; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } b; } awbGains; struct sBTRGGB16 { union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } r; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } gr; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } gb; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } b; } gains; struct sBTRGGB16 { union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } r; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } gr; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } gb; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } b; } gainsNormalized; unsigned short maxWBGainDown; unsigned short maxColorCalGainDown; unsigned int CCTEstimate; unsigned short rgGain; unsigned short bgGain; struct sAWBColorCorrectionMatrix { union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } coeff[9]; } ccm; struct sBTRGGB16 { union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } r; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } gr; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } gb; union uBTColorEntry16 { unsigned short v16; struct uBT88 { unsigned char fractional; unsigned char integer; } v88; } b; } awbGainsActual; } oneFrameAWB; struct sAWBReflowParam { BOOL bGenerateReflowAWB; BOOL bUsingSingleStillAWB; } awbReflow; struct sBTRect { int x; int y; unsigned int width; unsigned int height; } tileStatsRegionInRaw; BOOL isTileStatsRegionUpdated; unsigned long long semanticChannel; unsigned int semanticFrameCount; unsigned char clrBE2DHistProb; unsigned int clrBE2DHistFrameCount; unsigned char fdAWBVersion; float spatialCCMWeights[192]; } awb; struct sZoomMetaData { unsigned short fesOutputWidth; unsigned short fesOutputHeight; unsigned short ispInputWidth; unsigned short ispInputHeight; BOOL isFEStatOTF; } zoom; BOOL isReprocessing; BOOL isReplay; float tele2WideFOVDelta; float wide2TeleFOVDelta; float wide2SWideFOVDelta; float sWide2WideFOVDelta; float implicitFOVScaleSrcChToDestCh[6][6]; struct sRectSize { unsigned int width; unsigned int height; } FESOutputSize; struct sBTRect { int x; int y; unsigned int width; unsigned int height; } sensorCrop; struct sBTRect { int x; int y; unsigned int width; unsigned int height; } DMACrop; } _sMetaData; int _flickerDetectionStatus; int _flickerDetectionIRRatio; unsigned int _flickerConfidence[2]; float _photometerAWBDebug_externalLux; int _isNominalStrobe; float _flashRatio; int _ledType; struct sPerModuleLEDCalibData { unsigned char version; unsigned char isvalid; unsigned char programID; float cw_rg; float cw_bg; float ww_rg; float ww_bg; float ledWidePtrn_rg; float ledWidePtrn_bg; float ledSWidePtrn_rg; float ledSWidePtrn_bg; float ledTelePtrn_rg; float ledTelePtrn_bg; float strb_rg; float strb_bg; } _pmLEDCalibData; float _sensorClockFreqHz; unsigned short _preFlashLuxLevel; unsigned short _preFlashLuxLevelLow; unsigned short _preFlashLuxLevelHigh; unsigned short _flashLuxLevel; struct { BOOL validAWBData; NSNumber *awbRGain; NSNumber *awbGGain; NSNumber *awbBGain; NSNumber *awbComboRGain; NSNumber *awbComboGGain; NSNumber *awbComboBGain; } _fallbackGains; } @property (retain, nonatomic) NSDictionary *stats; @property (nonatomic) unsigned int numTilesX; @property (nonatomic) unsigned int numTilesY; @property (nonatomic) unsigned int winRegionWidth; @property (nonatomic) unsigned int winRegionHeight; @property (retain, nonatomic) NSData *setFileData; @property (retain, nonatomic) NSNumber *digitalFlash; @property (nonatomic) struct { unsigned int rGain; unsigned int gGain; unsigned int bGain; } awbComboGains; @property (nonatomic) struct { unsigned int rGain; unsigned int gGain; unsigned int bGain; } awbComboGainsNormalized; @property (nonatomic) struct { unsigned int rGain; unsigned int gGain; unsigned int bGain; } awbGains; @property (retain, nonatomic) NSMutableDictionary *outputMetadata; + (int)calculateSTRBKeyFromWideCamera:(struct { int x0; union { struct { float x0; float x1; float x2; float x3; } x0; struct { float x0; float x1; } x1; struct { float x0; float x1; } x2; } x1; } *)a0 moduleConfig:(id)a1; + (int)doAWBConfigLoad:(id)a0 to:(id)a1; + (int)getColorCalibrationsUsingIdealColorCalbrations:(id)a0 absoluteColorCalibrations:(id)a1 colorCalibrationsOut:(id *)a2 awbConfig:(id)a3; - (void)dealloc; - (int)process; - (id).cxx_construct; - (void).cxx_destruct; - (id)initWithMetalContext:(id)a0; - (int)_createShaders; - (int)_updateHRGainDownRatioMetadata; - (int)awbConfigLoad:(id)a0 to:(struct CAWBAFE { void /* function */ **x0; int x1; struct CDualLEDsWhitePointProjector *x2; struct { float x0[9]; float x1[9]; struct { float x0; float x1; float x2; float x3; float x4; } x2[6]; struct { float x0[6]; float x1[6]; float x2[6]; float x3[6]; float x4[6]; float x5[6]; } x3; struct { float x0; float x1; } x4[3]; struct { float x0; float x1; } x5[3]; struct { float x0; float x1; } x6[3]; struct { float x0; float x1; } x7[3]; BOOL x8; BOOL x9; } x3; struct CAWBAFEFDAssist *x4; struct CAWBAFEPhotometerAssistPenrose *x5; struct sPhotometerAWBMetadata *x6; struct _FE_3A_Stats_H15 *x7; struct _FE_3A_Stats_H15 *x8; struct _TILE_Stat_Elem *x9; struct _AEAWB_Stat_Elem *x10; struct _HighResAWBAE_Stat_Elem *x11; unsigned int *x12; struct sFEStatCSCConfig { short x0[9]; short x1[9]; short x2[3]; unsigned short x3[3]; unsigned short x4[3]; unsigned short x5[2]; unsigned char x6; } x13; struct sFEStatColorHistConfig { unsigned short x0[15]; unsigned char x1[16]; unsigned short x2; unsigned int x3; unsigned short x4; unsigned int x5; } x14; unsigned int x15; unsigned short x16; unsigned short x17; unsigned short x18; BOOL x19; unsigned int x20; unsigned int x21[3]; unsigned int x22[3]; int x23[3][3]; unsigned int x24; BOOL x25; BOOL x26; BOOL x27; unsigned int x28; unsigned int x29; int x30; unsigned short x31[3]; unsigned short x32[3]; unsigned int x33; float x34; float x35; unsigned short x36; float x37; float x38; float x39; float x40; float x41; float x42; struct sAWBInternalParams { unsigned short x0; unsigned short x1; BOOL x2; BOOL x3; BOOL x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; float x24; unsigned int x25; unsigned int x26[1024]; } x43; BOOL x44; struct sAWBDigitalFlashSkyParams { int x0; BOOL x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; } x45; int x46; BOOL x47; float x48; float x49; float x50; unsigned int x51[1024]; unsigned int x52[1024]; short x53[6][4]; unsigned short x54[3]; short x55[9]; unsigned short x56[2]; unsigned short x57[2]; unsigned short x58[13]; unsigned short x59[3]; unsigned short x60[32]; unsigned short x61; char *x62; unsigned char x63[1024]; unsigned char x64[6][1024]; short x65[6]; unsigned char x66; unsigned short x67; unsigned short x68; unsigned short x69; unsigned short x70; float x71; unsigned short x72; unsigned short x73; unsigned short x74; unsigned short x75; BOOL x76; unsigned int x77[3]; float x78; unsigned short x79; int x80; BOOL x81; int x82; short x83[30][2]; unsigned int x84; unsigned short x85[8][3]; unsigned int x86; short x87[6][9]; struct sCSensorCalGain { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; } x88; unsigned short x89; unsigned short x90; unsigned short x91; unsigned short x92; BOOL x93; unsigned int x94; unsigned int x95[4]; unsigned int x96; unsigned int x97; struct sTuningCurvePoint { unsigned int x0; unsigned int x1[8]; unsigned int x2[8]; } x98; struct sTuningCurvePoint { unsigned int x0; unsigned int x1[8]; unsigned int x2[8]; } x99; float x100; float x101; BOOL x102; BOOL x103; BOOL x104; BOOL x105; BOOL x106; float x107; int x108; int x109; unsigned int x110[3]; struct fdAWBMetaData *x111; unsigned short x112[150][4]; unsigned int x113; BOOL x114; BOOL x115; struct sWPStableZoneControlTable { struct sTuningCurvePoint { unsigned int x0; unsigned int x1[8]; unsigned int x2[8]; } x0; struct sTuningCurvePoint { unsigned int x0; unsigned int x1[8]; unsigned int x2[8]; } x1; struct sTuningCurvePoint { unsigned int x0; unsigned int x1[8]; unsigned int x2[8]; } x2; struct sTuningCurvePoint { unsigned int x0; unsigned int x1[8]; unsigned int x2[8]; } x3; } x116; BOOL x117; BOOL x118; unsigned char x119; unsigned char x120; unsigned long long x121; unsigned short x122; unsigned short x123; struct sMetaData *x124; unsigned short x125[3]; int x126; BOOL x127; int x128; float x129[2]; float x130; short x131[30][2]; unsigned int x132[6]; unsigned int x133[6]; BOOL x134; unsigned short x135[6]; unsigned short x136; unsigned short x137[32]; BOOL x138; float x139[192]; struct sAWBTimelapseParams { BOOL x0; BOOL x1; unsigned int x2; struct sAWBTimelapseSmoothingState { float x0; float x1; float x2[3]; float x3[3]; float x4; float x5; float x6; unsigned short x7; BOOL x8; } x3; } x140; float x141; struct sCIspCmdChColorCalIdealSet { unsigned int x0; unsigned short x1; unsigned short x2; union { unsigned int x0; struct sCIspControllerCmdHdrChInfo { unsigned short x0 : 16; unsigned short x1 : 15; unsigned char x2 : 1; } x1; } x3; unsigned short x4; unsigned short x5; unsigned short x6; unsigned short x7; } x142; BOOL x143; int x144; unsigned char x145; } *)a1; - (int)calculateEIT:(id)a0 result:(unsigned long long *)a1; - (int)configFaceMetadata:(id)a0; - (int)configFallbackMetadata:(id)a0; - (int)configFlashRFCMetadata:(id)a0 cameraInfo:(id)a1 moduleConfig:(id)a2; - (int)configFlickerDetectionMetadata:(id)a0 moduleConfig:(id)a1; - (int)configPortTypeMetadata:(id)a0; - (int)configWithMetadata:(id)a0 cameraInfo:(id)a1 moduleConfig:(id)a2; - (int)configWithMetadata:(id)a0 colorCal:(id)a1; - (int)initTuningParameters:(id)a0; @end