@class UniLibrary, UniMorphology, UniKernel, NSArray; @protocol MTLCommandQueue; @interface ApplyBlurmap : NSObject { id _mtlQueue; UniLibrary *_library; UniKernel *_preprocess; UniKernel *_preprocessScaled; UniKernel *_highlightRecovery; UniKernel *_prefilterX; UniKernel *_prefilterY; UniKernel *_sparseNoAlpha; UniKernel *_sparseNoAlphaRayFg; UniKernel *_sparseWithAlpha; UniKernel *_gainmapMultiply; UniKernel *_gainmapRGBMultiply; UniKernel *_antialiasX; UniKernel *_antialiasY; UniKernel *_antialiasRGBAX; UniKernel *_antialiasRGBAY; UniKernel *_addNoiseOnly; UniKernel *_yuv1; UniKernel *_yuv2; UniKernel *_localContrast; UniKernel *_extractPositiveBlurValues; UniKernel *_extractNegativeBlurValues; UniKernel *_blendRaytraced; UniMorphology *_morphology; NSArray *_segmentArray; NSArray *_fgSegmentArray; struct rendering_config_params { float simulatedAperture; float defaultSimulatedAperture; float preFilterBlurStrength; int preFilterRadius; float maxBlur; float sharpRadius; float softRadius; float lumaNoiseModelCoeff; float lumaNoiseAmplitude; float highlightBoostGain; int minNRings; int maxNRings; int nRings; float basePixelWeight; float antiAliasBlurStrength; int antiAliasRadius; float relativeWeightThreshold; float alphaEpsilon; float alphaGain; float shapeObstructionCoeff; float ringAmplitude; float ringSharpness; float blendingQuarterResAlphaGain; float blendingFullResAlphaGain; int xhlrbIterations; float xhlrbBlurRadiusT0; float xhlrbBlurRadiusT1; float xhlrbMaxIntensityT0; float xhlrbMaxIntensityT1; float xhlrbMinIntensityT0; float xhlrbMinIntensityT1; float xhlrbPreFilterGain; float xhlrbWeightGain; float xhlrbIntensityGain; float ohlbPreFilterGain; float ohlbWeightGain; float ohlbIntensityGain; int xhlrbTileSize; float gainMapHeadroom; float linearBoostGain; int fgMinNRings; int fgMaxNRings; int fgNRings; float fgTraceStepScale; float fgHitThreshold; float fgAlphaSmoothstepStart; float fgAlphaSmoothstepEnd; float fgBlurWeightSmoothstepStart; float fgBlurWeightSmoothstepEnd; float fgAARadius; float bicubicDownsampleParamB; float bicubicDownsampleParamC; } _config_params; } - (id)init; - (void)dealloc; - (void).cxx_destruct; - (id)imageUsingArgs:(id)a0; - (id)backgroundImageUsingArgs:(id)a0; - (id)imageUsingArgs:(id)a0 backgroundBlur:(id)a1; - (id)initWithMetalQueue:(id)a0; - (void)_setROICallbacks; - (id)applyBackgroundUsingConfig:(const struct rendering_config_params { float x0; float x1; float x2; int x3; float x4; float x5; float x6; float x7; float x8; float x9; int x10; int x11; int x12; float x13; float x14; int x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; int x24; float x25; float x26; float x27; float x28; float x29; float x30; float x31; float x32; float x33; float x34; float x35; float x36; int x37; float x38; float x39; int x40; int x41; int x42; float x43; float x44; float x45; float x46; float x47; float x48; float x49; float x50; float x51; } *)a0 inputBlurMap:(id)a1 inputAlpha:(id)a2 inputGainMap:(id)a3 inputImage:(id)a4 inputLuma:(id)a5 inputChroma:(id)a6 inputHalfRes1:(id)a7 inputHalfRes2:(id)a8 scale:(float)a9 coreImageRender:(BOOL)a10 version:(int)a11 context:(id)a12 captureFolderMiscPath:(id)a13; - (id)applyForegroundUsingConfig:(const struct rendering_config_params { float x0; float x1; float x2; int x3; float x4; float x5; float x6; float x7; float x8; float x9; int x10; int x11; int x12; float x13; float x14; int x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; int x24; float x25; float x26; float x27; float x28; float x29; float x30; float x31; float x32; float x33; float x34; float x35; float x36; int x37; float x38; float x39; int x40; int x41; int x42; float x43; float x44; float x45; float x46; float x47; float x48; float x49; float x50; float x51; } *)a0 image:(id)a1 inputBlurMap:(id)a2 inputAlpha:(id)a3 inputGainMap:(id)a4 inputImage:(id)a5 inputLuma:(id)a6 inputChroma:(id)a7 inputIntermediate:(id)a8 inputHalfRes1:(id)a9 inputHalfRes2:(id)a10 inputHalfResRG:(id)a11 outputLuma:(id)a12 outputChroma:(id)a13 scale:(float)a14 coreImageRender:(BOOL)a15 version:(int)a16 context:(id)a17 captureFolderMiscPath:(id)a18; - (id)applyHairnetUsingConfig:(const struct rendering_config_params { float x0; float x1; float x2; int x3; float x4; float x5; float x6; float x7; float x8; float x9; int x10; int x11; int x12; float x13; float x14; int x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; int x24; float x25; float x26; float x27; float x28; float x29; float x30; float x31; float x32; float x33; float x34; float x35; float x36; int x37; float x38; float x39; int x40; int x41; int x42; float x43; float x44; float x45; float x46; float x47; float x48; float x49; float x50; float x51; } *)a0 hairnetParams:(struct hairnet_params { float x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; } *)a1 inputImage:(id)a2 inputBackBlurImage:(id)a3 inputBlurMap:(id)a4 inputAlpha:(id)a5 scale:(float)a6 coreImageRender:(BOOL)a7 version:(int)a8 context:(id)a9 captureFolderMiscPath:(id)a10; - (struct rendering_dynamic_params { void /* unknown type, blank encoding */ x0; void /* unknown type, blank encoding */ x1; void /* unknown type, blank encoding */ x2; void /* unknown type, blank encoding */ x3; void /* unknown type, blank encoding */ x4; void /* unknown type, blank encoding */ x5; void /* unknown type, blank encoding */ x6; void /* unknown type, blank encoding */ x7; void /* unknown type, blank encoding */ x8; void /* unknown type, blank encoding */ x9; void /* unknown type, blank encoding */ x10; })computeDynamicParams; - (id)createLocalContrastImage:(id)a0 coreImageRender:(BOOL)a1 morphologicalRadius:(double)a2 inputHalfRes1:(id)a3 inputHalfResRGTex:(id)a4 device:(id)a5 context:(id)a6; - (int)enqueueRenderingUsingArgs:(id)a0; - (int)enqueueRenderingUsingRenderingConfig:(const struct rendering_config_params { float x0; float x1; float x2; int x3; float x4; float x5; float x6; float x7; float x8; float x9; int x10; int x11; int x12; float x13; float x14; int x15; float x16; float x17; float x18; float x19; float x20; float x21; float x22; float x23; int x24; float x25; float x26; float x27; float x28; float x29; float x30; float x31; float x32; float x33; float x34; float x35; float x36; int x37; float x38; float x39; int x40; int x41; int x42; float x43; float x44; float x45; float x46; float x47; float x48; float x49; float x50; float x51; } *)a0 inputBlurMap:(id)a1 inputAlpha:(id)a2 inputGainMap:(id)a3 inputLuma:(id)a4 inputChroma:(id)a5 inputIntermediate:(id)a6 inputHalfRes1:(id)a7 inputHalfRes2:(id)a8 inputHalfResRG:(id)a9 outputLuma:(id)a10 outputChroma:(id)a11 scale:(float)a12 version:(int)a13 context:(id)a14 captureFolderMiscPath:(id)a15; - (id)erodeAndDilate:(id)a0 radius:(int)a1 coreImageRender:(BOOL)a2 context:(id)a3 extent:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a4 pixelFormat:(unsigned long long)a5; - (id)gainMapToLightMap:(id)a0 inputImage:(id)a1 inputLuma:(id)a2 inputChroma:(id)a3 headroom:(float)a4 context:(id)a5; - (id)hairnetModelPath; - (int)loadModels:(const void *)a0; - (int)loadShaders; - (int)setOptions:(const void *)a0 isPrewarm:(BOOL)a1; - (int)unloadModels; @end