luxlabs header browser preview


@class NSString, VNRTuning, VNRPyramid, CMIVNRPrepareDescriptor, NSDictionary, CMIExternalMemoryResource, FigMetalContext, VNRShaders;
@protocol MTLDevice, MTLCommandBuffer, MTLTexture, MTLCommandQueue;

@interface CMIVNRProcessor : NSObject <MetalImageBufferProcessor> {
    id<MTLCommandBuffer> _metalCommandBuffer;
    CMIVNRPrepareDescriptor *_prepareDescriptor;
    FigMetalContext *_metalContext;
}

@property (readonly) VNRTuning *tuning;
@property (retain, nonatomic) id<MTLDevice> metalDevice;
@property (readonly) id<MTLCommandBuffer> metalCommandBuffer;
@property (retain, nonatomic) VNRShaders *metalShaders;
@property (retain, nonatomic) id<MTLTexture> previousLumaTex;
@property (retain, nonatomic) id<MTLTexture> previousChromaTex;
@property (retain, nonatomic) VNRPyramid *inputPyramid;
@property (retain, nonatomic) VNRPyramid *previousOutputPyramid;
@property (retain, nonatomic) VNRPyramid *deghostPyramid;
@property (retain, nonatomic) VNRPyramid *outputPyramid;
@property (nonatomic) unsigned long long frameIndex;
@property (retain, nonatomic) struct __CVBuffer { } *inputPixelBuffer;
@property (retain, nonatomic) NSDictionary *inputMetadata;
@property (retain, nonatomic) struct __CVBuffer { } *outputPixelBuffer;
@property (retain, nonatomic) id<MTLCommandQueue> metalCommandQueue;
@property (readonly, nonatomic) BOOL supportsExternalMemoryResource;
@property (retain, nonatomic) CMIExternalMemoryResource *externalMemoryResource;
@property (retain, nonatomic) NSDictionary *tuningParameters;
@property (retain, nonatomic) NSDictionary *cameraInfoByPortType;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (id)_productTypeFromMGGetProductType:(int)a0;
+ (id)getDefaultTuningParameters;
+ (id)getTuningParametersForCurrentDevice;

- (int)resetState;
- (int)prewarm;
- (void)dealloc;
- (int)finishProcessing;
- (int)process;
- (void).cxx_destruct;
- (int)prepareToProcess:(unsigned int)a0;
- (id)initWithCommandQueue:(id)a0;
- (int)purgeResources;
- (int)setup;
- (int)prepareToProcess:(unsigned int)a0 prepareDescriptor:(id)a1;
- (id)bindTextureToPixelBuffer:(struct __CVBuffer { } *)a0 plane:(unsigned long long)a1 metalPixelFormat:(unsigned long long)a2 usage:(unsigned long long)a3;
- (int)fillInputPyramid:(id)a0 previousOutputPyramid:(id)a1 deghostPyramid:(id)a2 inputLuma:(id)a3 inputChroma:(id)a4 previousOutputLuma:(id)a5 previousOutputChroma:(id)a6;
- (int)fuseWithInputPyramid:(id)a0 deghostPyramid:(id)a1 previousOutputPyramid:(id)a2 outputPyramid:(id)a3 inputLuma:(id)a4 inputChroma:(id)a5 previousOutputLuma:(id)a6 previousOutputChroma:(id)a7 outputLuma:(id)a8 outputChroma:(id)a9 frameIdx:(unsigned long long)a10;
- (int)propagateDeghostingScoresDownPyramid:(id)a0;
- (void)waitUntilScheduledWithWorkloadName:(const char *)a0;

@end