@protocol MTLDevice, MTLLibrary, MTLCommandQueue, MTLComputePipelineState; @interface Backwarp : NSObject { id _device; id _commandQueue; id _mtlLibrary; id _backwarpKernel; id _backwarpLossKernel; id _flowUpscaleKernel; id _backwarpLossWithFlowMagnitudeKernel; id _subsampleFlowKernel; id _subsampleErrorKernel; id _upscaleErrorKernel; id _subsampleInputKernel; id _padTextureKernel; id _reverseFlowKernel; id _flowSplattingWarpKernel; id _flowReshuffleKernel; BOOL _interleaved; } - (void)dealloc; - (void).cxx_destruct; - (void)setupMetal; - (void)calcBackwarpLoss:(id)a0 second:(id)a1 flow:(id)a2 timeScale:(float)a3 destination:(id)a4; - (void)copyTextureWithPaddingSource:(id)a0 destination:(id)a1; - (void)encodeBackwarpLossToCommandBuffer:(id)a0 first:(id)a1 second:(id)a2 flow:(id)a3 timeScale:(float)a4 destination:(id)a5; - (void)encodeBackwarpLossWithFlowMagnitudeToCommandBuffer:(id)a0 first:(id)a1 second:(id)a2 flow:(id)a3 timeScale:(float)a4 gamma:(float)a5 protectionThreshold:(float)a6 destination:(id)a7; - (void)encodeFlowSplattingWarpToCommandBuffer:(id)a0 source:(id)a1 flow:(id)a2 timeScale:(float)a3 destination:(id)a4; - (void)encodePaddingTextureToCommandBuffer:(id)a0 source:(id)a1 destination:(id)a2; - (void)encodeReShuffleFlowToCommandBuffer:(id)a0 shuffledFlow:(id)a1 previousFlow:(id)a2 destination:(id)a3; - (void)encodeReverseFlowToCommandBuffer:(id)a0 source:(id)a1 destination:(id)a2; - (void)encodeSubsampleErrorToCommandBuffer:(id)a0 source:(id)a1 destination:(id)a2; - (void)encodeSubsampleFlowToCommandBuffer:(id)a0 source:(id)a1 destination:(id)a2; - (void)encodeSubsampleInputToCommandBufferr:(id)a0 source:(id)a1 destination:(id)a2; - (void)encodeSubsampleToCommandBufferr:(id)a0 source:(id)a1 destination:(id)a2 kernel:(id)a3; - (void)encodeToCommandBuffer:(id)a0 source:(id)a1 flow:(id)a2 destination:(id)a3 upscaledFlow:(id)a4; - (void)encodeUpscaleErrorToCommandBuffer:(id)a0 source:(id)a1 destination:(id)a2; - (void)encodeUpscaleFlowToCommandBuffer:(id)a0 source:(id)a1 destination:(id)a2; - (id)initWithDevice:(id)a0 interleaved:(BOOL)a1; - (void)reverseFlowWithSource:(id)a0 destination:(id)a1; - (void)upscaleFlow:(id)a0 destination:(id)a1; - (void)warpImage:(id)a0 to:(id)a1 withFlow:(id)a2 upscaledFlow:(id)a3; @end