@class NSString, FigMetalContext; @protocol MTLComputePipelineState; @interface LTMStatsCompute : NSObject { FigMetalContext *_metalContext; id _calcLTMStatisticsPipelineState; id _calcLocalHistogramShift; id _localHistAndThumKernelPipelineState; id _globalHistKernelPipelineState; id _collectLocalHistKernelPipelineState; struct { unsigned long long width; unsigned long long height; unsigned long long depth; } _threadgroupSize; } @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (void)rewriteAntiAliasingCoefficients:(unsigned int *)a0; - (void).cxx_destruct; - (int)allocateResources; - (id)initWithMetalContext:(id)a0; - (int)purgeResources; - (int)prewarmShaders; - (float)calcExposureRatio:(const struct sRefDriverInputs { BOOL x0; unsigned short x1; unsigned int x2; union uBTColorEntry16 { unsigned short x0; struct uBT88 { unsigned char x0; unsigned char x1; } x1; } x3; unsigned int x4; float x5; float x6; unsigned short x7; unsigned short x8; unsigned short x9; unsigned short x10; unsigned int x11; float x12; unsigned short x13; BOOL x14; unsigned char x15; unsigned char x16; unsigned int x17; union uBTColorEntry16 { unsigned short x0; struct uBT88 { unsigned char x0; unsigned char x1; } x1; } x18; float x19; BOOL x20; unsigned char x21; BOOL x22; BOOL x23; float x24; float x25; float x26; float x27; unsigned short x28[512]; float x29; struct sBTRect { int x0; int x1; unsigned int x2; unsigned int x3; } x30; struct sAWBColorCorrectionMatrix_local { union uBTColorEntry16 { unsigned short x0; struct uBT88 { unsigned char x0; unsigned char x1; } x1; } x0[9]; } x31; BOOL x32; struct sBTRGGB16 { union uBTColorEntry16 { unsigned short x0; struct uBT88 { unsigned char x0; unsigned char x1; } x1; } x0; union uBTColorEntry16 { unsigned short x0; struct uBT88 { unsigned char x0; unsigned char x1; } x1; } x1; union uBTColorEntry16 { unsigned short x0; struct uBT88 { unsigned char x0; unsigned char x1; } x1; } x2; union uBTColorEntry16 { unsigned short x0; struct uBT88 { unsigned char x0; unsigned char x1; } x1; } x3; } x33; struct sBTRGGB16 { union uBTColorEntry16 { unsigned short x0; struct uBT88 { unsigned char x0; unsigned char x1; } x1; } x0; union uBTColorEntry16 { unsigned short x0; struct uBT88 { unsigned char x0; unsigned char x1; } x1; } x1; union uBTColorEntry16 { unsigned short x0; struct uBT88 { unsigned char x0; unsigned char x1; } x1; } x2; union uBTColorEntry16 { unsigned short x0; struct uBT88 { unsigned char x0; unsigned char x1; } x1; } x3; } x34; struct sBTRGGB16 { union uBTColorEntry16 { unsigned short x0; struct uBT88 { unsigned char x0; unsigned char x1; } x1; } x0; union uBTColorEntry16 { unsigned short x0; struct uBT88 { unsigned char x0; unsigned char x1; } x1; } x1; union uBTColorEntry16 { unsigned short x0; struct uBT88 { unsigned char x0; unsigned char x1; } x1; } x2; union uBTColorEntry16 { unsigned short x0; struct uBT88 { unsigned char x0; unsigned char x1; } x1; } x3; } x35; unsigned int x36; unsigned char x37; struct sFaceInfo { struct sCIspFDRect { int x0; int x1; unsigned int x2; unsigned int x3; } x0[10]; unsigned int x1; } x38; BOOL x39; int x40; BOOL x41; float x42; } *)a0; - (int)computeInputParametersForImageWidth:(id)a0 calcGlobalHistOnROI:(BOOL)a1 enableAntiAliasing:(BOOL)a2 with:(struct sRefDriverInputs { BOOL x0; unsigned short x1; unsigned int x2; union uBTColorEntry16 { unsigned short x0; struct uBT88 { unsigned char x0; unsigned char x1; } x1; } x3; unsigned int x4; float x5; float x6; unsigned short x7; unsigned short x8; unsigned short x9; unsigned short x10; unsigned int x11; float x12; unsigned short x13; BOOL x14; unsigned char x15; unsigned char x16; unsigned int x17; union uBTColorEntry16 { unsigned short x0; struct uBT88 { unsigned char x0; unsigned char x1; } x1; } x18; float x19; BOOL x20; unsigned char x21; BOOL x22; BOOL x23; float x24; float x25; float x26; float x27; unsigned short x28[512]; float x29; struct sBTRect { int x0; int x1; unsigned int x2; unsigned int x3; } x30; struct sAWBColorCorrectionMatrix_local { union uBTColorEntry16 { unsigned short x0; struct uBT88 { unsigned char x0; unsigned char x1; } x1; } x0[9]; } x31; BOOL x32; struct sBTRGGB16 { union uBTColorEntry16 { unsigned short x0; struct uBT88 { unsigned char x0; unsigned char x1; } x1; } x0; union uBTColorEntry16 { unsigned short x0; struct uBT88 { unsigned char x0; unsigned char x1; } x1; } x1; union uBTColorEntry16 { unsigned short x0; struct uBT88 { unsigned char x0; unsigned char x1; } x1; } x2; union uBTColorEntry16 { unsigned short x0; struct uBT88 { unsigned char x0; unsigned char x1; } x1; } x3; } x33; struct sBTRGGB16 { union uBTColorEntry16 { unsigned short x0; struct uBT88 { unsigned char x0; unsigned char x1; } x1; } x0; union uBTColorEntry16 { unsigned short x0; struct uBT88 { unsigned char x0; unsigned char x1; } x1; } x1; union uBTColorEntry16 { unsigned short x0; struct uBT88 { unsigned char x0; unsigned char x1; } x1; } x2; union uBTColorEntry16 { unsigned short x0; struct uBT88 { unsigned char x0; unsigned char x1; } x1; } x3; } x34; struct sBTRGGB16 { union uBTColorEntry16 { unsigned short x0; struct uBT88 { unsigned char x0; unsigned char x1; } x1; } x0; union uBTColorEntry16 { unsigned short x0; struct uBT88 { unsigned char x0; unsigned char x1; } x1; } x1; union uBTColorEntry16 { unsigned short x0; struct uBT88 { unsigned char x0; unsigned char x1; } x1; } x2; union uBTColorEntry16 { unsigned short x0; struct uBT88 { unsigned char x0; unsigned char x1; } x1; } x3; } x35; unsigned int x36; unsigned char x37; struct sFaceInfo { struct sCIspFDRect { int x0; int x1; unsigned int x2; unsigned int x3; } x0[10]; unsigned int x1; } x38; BOOL x39; int x40; BOOL x41; float x42; } *)a3 to:(struct { struct { unsigned int x0; unsigned int x1[3]; unsigned int x2[3]; unsigned int x3; } x0; struct { BOOL x0; unsigned short x1; unsigned int x2; unsigned int x3; unsigned int x4; unsigned int x5; unsigned int x6[4]; float x7[4]; } x1; struct { BOOL x0; unsigned int x1; unsigned int x2; unsigned int x3; unsigned int x4; unsigned int x5; unsigned int x6; unsigned int x7; unsigned int x8; unsigned int x9; unsigned int x10; unsigned int x11; unsigned int x12; unsigned int x13; unsigned int x14; BOOL x15; unsigned int x16; BOOL x17; unsigned int x18[25]; } x2; struct { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; unsigned int x4; unsigned int x5; unsigned int x6; unsigned int x7; int x8; unsigned int x9; } x3; } *)a4; - (int)createShaders:(id)a0; - (int)encodeLTMStatisticsCalculationOptimized:(id)a0 params:(struct { struct { unsigned int x0; unsigned int x1[3]; unsigned int x2[3]; unsigned int x3; } x0; struct { BOOL x0; unsigned short x1; unsigned int x2; unsigned int x3; unsigned int x4; unsigned int x5; unsigned int x6[4]; float x7[4]; } x1; struct { BOOL x0; unsigned int x1; unsigned int x2; unsigned int x3; unsigned int x4; unsigned int x5; unsigned int x6; unsigned int x7; unsigned int x8; unsigned int x9; unsigned int x10; unsigned int x11; unsigned int x12; unsigned int x13; unsigned int x14; BOOL x15; unsigned int x16; BOOL x17; unsigned int x18[25]; } x2; struct { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; unsigned int x4; unsigned int x5; unsigned int x6; unsigned int x7; int x8; unsigned int x9; } x3; } *)a1 globalHistogram:(id)a2 localHistogram:(id)a3 thumbnail:(id)a4; - (int)encodeLTMStatisticsCalculationPrecise:(id)a0 paramsGlobalHist:(struct { struct { unsigned int x0; unsigned int x1[3]; unsigned int x2[3]; unsigned int x3; } x0; struct { BOOL x0; unsigned short x1; unsigned int x2; unsigned int x3; unsigned int x4; unsigned int x5; unsigned int x6[4]; float x7[4]; } x1; struct { BOOL x0; unsigned int x1; unsigned int x2; unsigned int x3; unsigned int x4; unsigned int x5; unsigned int x6; unsigned int x7; unsigned int x8; unsigned int x9; unsigned int x10; unsigned int x11; unsigned int x12; unsigned int x13; unsigned int x14; BOOL x15; unsigned int x16; BOOL x17; unsigned int x18[25]; } x2; struct { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; unsigned int x4; unsigned int x5; unsigned int x6; unsigned int x7; int x8; unsigned int x9; } x3; } *)a1 globalHistogram:(id)a2 localHistogram:(id)a3 thumbnail:(id)a4; @end