@class NSString, CVAFilterInfimumConvolution, CVAFilterBox, CVAFilterHybridResampling, MPSImageBox; @protocol MTLPipelineLibrarySPI, MTLResourceGroupSPI, MTLSamplerState, MTLLibrary, MTLTexture, MTLComputePipelineState, MTLDeviceSPI; @interface CVAFilterGuided : ImageSaverRegistrator { id<MTLDeviceSPI> _device; id<MTLLibrary> _library; id<MTLPipelineLibrarySPI> _pipelineLibrary; CVAFilterBox *_boxFilter; CVAFilterHybridResampling *_hybridResampler; id<MTLTexture> _gfSrcWithGuide; id<MTLTexture> _gfMeanSrcWithGuide; id<MTLTexture> _gfSrcGuide; id<MTLTexture> _gfMeanSrcGuide; id<MTLTexture> _gfRRRGRB; id<MTLTexture> _gfGGGBBB; id<MTLTexture> _gfMeanRRRGRB; id<MTLTexture> _gfMeanGGGBBB; id<MTLTexture> _gfTmp; id<MTLTexture> _gfTmp2; id<MTLTexture> _gfMeanWeight; id<MTLTexture> _gfMeanNormalizationFactor; id<MTLTexture> _convolutedCoeff; id<MTLTexture> _upscaledCoeff; id<MTLTexture> _inputAlphaDownsampled; id<MTLTexture> _inputAlphaBlurred; id<MTLSamplerState> _inputAlphaBlurredSampler; id<MTLTexture> _gammaMatteTexture; id<MTLTexture> _alphaTexture; id<MTLTexture> _hybridUpscalingIntermediateTexture; id<MTLTexture> _hybridUpscalingIntermediateR32Texture; id<MTLTexture> _srcTexture; id<MTLTexture> _lowResGammaMatte; id<MTLResourceGroupSPI> _alphaPostprocessingTemporaryTexturesResourceGroup; id<MTLResourceGroupSPI> _rg_inputAlphaDownsampled; id<MTLResourceGroupSPI> _rg_inputAlphaBlurred; id<MTLComputePipelineState> _guidedFilterApplyRGBAKernel; id<MTLComputePipelineState> _guidedFilterInvertKernel; id<MTLComputePipelineState> _guidedFilterMultiplyKernel; id<MTLComputePipelineState> _guidedFilterEmbedGuideKernel; id<MTLComputePipelineState> _guidedFilterPremultiplyKernel; id<MTLComputePipelineState> _guidedFilterSecondOrderProductsKernel; id<MTLComputePipelineState> _guidedFilterRegressionKernel; id<MTLComputePipelineState> _postProcessAlphaKernel; CVAFilterInfimumConvolution *_infConvolution; MPSImageBox *_mpsBox; int _smallGuidedFilterKernelSize; } @property (readonly) NSString *label; - (void)encodeRegressionToCommandBuffer:(id)a0 inSourceTexture:(id)a1 inGuidanceTexture:(id)a2 inWeightTexture:(id)a3 outCoeffTexture:(id)a4 epsilon:(float)a5; - (id)initWithDevice:(id)a0 library:(id)a1 pipelineLibrary:(id)a2 commandQueue:(id)a3 textureSize:(struct { unsigned long long x0; unsigned long long x1; unsigned long long x2; })a4 alphaSize:(struct { unsigned long long x0; unsigned long long x1; unsigned long long x2; })a5 kernelSize:(int)a6 infConvolutionDownsampling:(int)a7 laplacianLimitingDownsampling:(int)a8 laplacianLimitingBlurSize:(int)a9 error:(id *)a10; - (void)encodeHybridUpSamplingToCommandBuffer:(id)a0 source:(id)a1 destination:(id)a2; - (void)encodePostProcessAlphaToCommandBuffer:(id)a0 source:(id)a1 destination:(id)a2 alphaMaxLaplacian:(float)a3 infConvOrientation:(float)a4 infConvMajorRadius:(float)a5 infConvMinorRadius:(float)a6 gammaExponent:(float)a7 enableInfConvolution:(BOOL)a8; - (void)initSourceTexture:(struct __CVBuffer { } *)a0; - (void)encodeFilterApplyToBuffer:(id)a0 coeff:(id)a1 source:(id)a2 destination:(id)a3; - (void)encodeReconstructToCommandBuffer:(id)a0 inGuidancePixelBuffer:(struct __CVBuffer { } *)a1 inCoeffTexture:(id)a2 outFilteredTexture:(id)a3; - (void).cxx_destruct; @end