luxlabs header browser preview


@class Forwarp, NSString, NSObject, SynthesisGridNet, Tiling, Pyramid, Backwarp;
@protocol MTLBuffer, OS_dispatch_semaphore, MTLTexture, MTLCommandQueue, MTLDeviceSPI;

@interface Synthesis : NSObject <FRCSynthesis> {
    id<MTLDeviceSPI> _device;
    id<MTLCommandQueue> _commandQueue;
    Forwarp *_forwarp;
    Backwarp *_backwarp;
    SynthesisGridNet *_gridNet;
    Pyramid *_pyramid;
    struct __CVBuffer { } *_normalizedFirst;
    struct __CVBuffer { } *_normalizedSecond;
    struct __CVBuffer { } *_forwardFlow;
    struct __CVBuffer { } *_backwardFlow;
    id<MTLTexture> _forwardLossTexture[5];
    id<MTLTexture> _backwardLossTexture[5];
    id<MTLTexture> _forwardFlowTexture[5];
    id<MTLTexture> _backwardFlowTexture[5];
    id<MTLBuffer> _bestErrorBuffer[5];
    id<MTLBuffer> _warpOutputBuffer[5];
    id<MTLTexture> _filteredForwardLossTexture;
    id<MTLTexture> _filteredBackwarLossTexture;
    NSObject<OS_dispatch_semaphore> *_completionSemaphore;
    struct { id<MTLTexture> features[5]; } _firstFeatures;
    struct { id<MTLTexture> features[5]; } _secondFeatures;
    struct { struct __CVBuffer *features[5]; } _warpedForwardFeatures[3];
    struct { struct __CVBuffer *features[5]; } _warpedBackwardFeatures[3];
    BOOL _resourcesPreAllocated;
    Tiling *_tiling;
    unsigned int _numTiles;
    long long _originalUsage;
    struct { unsigned long long x0; unsigned long long x1; unsigned long long x2; } *_imageTileInfo;
    struct __CVBuffer *_firstImageTiles[3];
    struct __CVBuffer *_secondImageTiles[3];
    struct __CVBuffer *_forwardFlowTiles[3];
    struct __CVBuffer *_backwardFlowTiles[3];
    struct __CVBuffer *_outputTiles[3];
    unsigned long long _numWarpedBuffers;
    unsigned long long _bufferIndex;
    unsigned long long _pyramidLevels;
    struct __CVPixelBufferPool { } *_normalizedBufferPool;
    id<MTLTexture> _dilatedForwardMask;
    id<MTLTexture> _dilatedBackwardMask;
    id<MTLTexture> _firstWarpedTexture;
    id<MTLTexture> _secondWarpedTexture;
    struct __CVPixelBufferPool { } *_dcBufferPool;
    long long _fullWarpStartLevel;
    BOOL _filterErrorMap;
}

@property (nonatomic) BOOL tilingEnabled;
@property (nonatomic) long long usage;
@property (nonatomic) BOOL framePipeline;
@property (nonatomic) unsigned long long synthesisMode;
@property (nonatomic) int flowLevel;
@property (nonatomic) BOOL temporalFiltering;
@property (nonatomic) BOOL linearSplatting;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

- (void)releaseResources;
- (id)init;
- (void)dealloc;
- (id)initWithMode:(long long)a0;
- (void).cxx_destruct;
- (void)allocateResources;
- (void)allocateFeatures;
- (void)createTilesFromFirstImage:(struct __CVBuffer { } *)a0 secondImage:(struct __CVBuffer { } *)a1 flowForward:(struct __CVBuffer { } *)a2 flowBackward:(struct __CVBuffer { } *)a3;
- (long long)usageForTiling:(long long)a0;
- (void)allocateFeaturesForUsage:(long long)a0 Level:(int)a1;
- (void)releaseFeatures;
- (void)allocateFlowAndLossTextures;
- (void)allocateForwardWarpBuffersForLevel:(int)a0;
- (void)allocateForwardWarpInternalBuffers;
- (void)allocateOutputTile:(struct __CVBuffer **)a0 tileInfo:(struct { unsigned long long x0; unsigned long long x1; unsigned long long x2; } *)a1;
- (void)allocateSplattingTextures;
- (void)allocateWarpedFeatures;
- (id)backwardLossTextureLevel:(int)a0;
- (id)bestErrorBufferLevel:(int)a0;
- (void)calcBackwarpLossFirst:(id)a0 second:(id)a1 timeScale:(float)a2;
- (void)createFeaturePyramid:(struct __CVBuffer { } *)a0 second:(struct __CVBuffer { } *)a1;
- (void)createFeaturesFromFirstImage:(struct __CVBuffer { } *)a0 secondImage:(struct __CVBuffer { } *)a1 flowForward:(struct __CVBuffer { } *)a2 flowBackward:(struct __CVBuffer { } *)a3;
- (BOOL)createModules;
- (void)encodeForwarpInputsForBlendToCommandBuffer:(id)a0 timeScale:(float)a1;
- (void)encodeForwarpToCommandBuffer:(id)a0 level:(int)a1 firstTexture:(id)a2 secondTexture:(id)a3 firstWarpedTexture:(id)a4 secondWarpedTexture:(id)a5 timeScale:(float)a6 useFlowMagnitude:(BOOL)a7;
- (void)encodeSubsampleToCommandBuffer:(id)a0 flow:(id *)a1 loss:(id *)a2;
- (void)filterGridNetOutput:(struct __CVBuffer { } *)a0 timeScale:(float)a1 destination:(struct __CVBuffer { } *)a2;
- (struct { id x0[5]; } *)firstFeatures;
- (id)forwardFlowTextureLevel:(int)a0;
- (id)forwardLossTextureLevel:(int)a0;
- (void)forwardWarpForLevel:(int)a0 feature:(id)a1 flow:(id)a2 error:(id)a3 timeScale:(float)a4 warpedOutput:(id)a5 fullWarp:(BOOL)a6 callback:(id /* block */)a7;
- (void)forwardWarpForLevel:(int)a0 first:(id)a1 second:(id)a2 timeScale:(float)a3 forwardOutput:(id)a4 backwardOutput:(id)a5;
- (void)getWarpedFeatureSizeForLevel:(int)a0 tensorSize:(struct { unsigned long long x0; unsigned long long x1; unsigned long long x2; } *)a1;
- (void)releaseFeaturesForLevel:(int)a0;
- (void)releaseForwardWarpInternalTextures;
- (void)releaseForwardWarpInternalTexturesAndBuffers;
- (void)releaseForwardWarpLinearBuffersForLevel:(int)a0;
- (void)releaseForwardWarpTexturesForLevel:(int)a0;
- (void)releaseSplattingTextures;
- (void)releaseTiles;
- (void)releaseWarpedFeaturesForIndex:(unsigned long long)a0;
- (void)retainFeatures;
- (struct { id x0[5]; } *)secondFeatures;
- (BOOL)switchUsageTo:(long long)a0;
- (struct { unsigned long long x0; unsigned long long x1; unsigned long long x2; })synthesisTensorSizeForLevel:(unsigned int)a0;
- (struct __CVBuffer { } *)synthesizeFrameForTimeScale:(float)a0 frameIndex:(unsigned long long)a1;
- (void)synthesizeFrameFromFeatureForward:(struct { struct __CVBuffer *x0[5]; } *)a0 backward:(struct { struct __CVBuffer *x0[5]; } *)a1 destination:(struct __CVBuffer { } *)a2 callback:(id /* block */)a3;
- (struct __CVBuffer { } *)synthesizeFrameFromFirstImage:(struct __CVBuffer { } *)a0 secondImage:(struct __CVBuffer { } *)a1 flowForward:(struct __CVBuffer { } *)a2 flowBackward:(struct __CVBuffer { } *)a3 timeScale:(float)a4 frameIndex:(unsigned long long)a5;
- (void)synthesizeImageFromFirstImage:(struct __CVBuffer { } *)a0 secondImage:(struct __CVBuffer { } *)a1 flowForward:(struct __CVBuffer { } *)a2 flowBackward:(struct __CVBuffer { } *)a3 timeScale:(float)a4 destination:(struct __CVBuffer { } *)a5;
- (void)synthesizeImageWithFlowSplattingFromFirstImage:(struct __CVBuffer { } *)a0 secondImage:(struct __CVBuffer { } *)a1 flowForward:(struct __CVBuffer { } *)a2 flowBackward:(struct __CVBuffer { } *)a3 timeScale:(float)a4 destination:(struct __CVBuffer { } *)a5;
- (void)synthesizeImageWithForwarpOnlyFromFirstImage:(struct __CVBuffer { } *)a0 secondImage:(struct __CVBuffer { } *)a1 flowForward:(struct __CVBuffer { } *)a2 flowBackward:(struct __CVBuffer { } *)a3 timeScale:(float)a4 destination:(struct __CVBuffer { } *)a5;
- (struct __CVBuffer { } *)synthesizeTilesWithTimeScale:(float)a0;
- (void)warpFeatureLevel:(int)a0 timeScale:(float)a1;
- (void)warpFeaturesPerLayerWithFlowForward:(struct __CVBuffer { } *)a0 flowBackward:(struct __CVBuffer { } *)a1 timeScale:(float)a2;
- (id)warpOutputBufferLevel:(int)a0;
- (struct { struct __CVBuffer *x0[5]; } *)warpedBackwardFeatures;
- (struct { struct __CVBuffer *x0[5]; } *)warpedForwardFeatures;

@end