luxlabs header browser preview


@class FigMetalContext, NSString, NSMutableDictionary, NSDictionary, DenoiseFusePipeline, RegWarp, DeviceParameters;

@interface GNRProcessor : NSObject <SidecarWriter, SampleBufferProcessor> {
    NSMutableDictionary *_tuningParams;
    NSMutableDictionary *_tuningParamsPlist;
    id /* block */ _callback;
    int _isAsynchronous;
    int _ctxCreateSynchronization;
    int _gpuPriority;
    NSDictionary *_debugConfigurationOptions;
    BOOL _disableispDGainFactorFix;
    BOOL _hasBeenSetup;
    BOOL _isMultiFrameProcessing;
    int _fusionAlgo;
    int _aggregateErr;
    struct { struct opaqueCMSampleBuffer *buffer; struct frameProperties_t { BOOL isPreBracketedFrame; int bracketedCaptureSequenceNumber; long long averageFocusScore; struct exposureParameters { float gain; float red_gain; float blue_gain; float digital_gain; float exposure_time; float average_focus_score; float normalized_snr; float original_exposure_bias; float exposure_bias; BOOL is_long; } exposureParams; BOOL metadataHasROI; struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } ROI; BOOL registrationComplete; BOOL hasValidRegistration; struct { void /* unknown type, empty encoding */ columns[3]; } regHomography; BOOL metadataHasLtmCurves; struct ltmCurves { unsigned short ltmLut[1584]; unsigned short globalLtmLut[257]; unsigned short gtcLut[257]; } ltmCurves; BOOL hasFaces; } info; } _errorRecoveryData;
    DenoiseFusePipeline *_denoiseFusePipeline;
    struct __CVBuffer { } *_outputPixelBuffer;
    struct opaqueCMSampleBuffer { } *_prebracketedEV0SampleBuffer;
    struct frameProperties_t { BOOL isPreBracketedFrame; int bracketedCaptureSequenceNumber; long long averageFocusScore; struct exposureParameters { float gain; float red_gain; float blue_gain; float digital_gain; float exposure_time; float average_focus_score; float normalized_snr; float original_exposure_bias; float exposure_bias; BOOL is_long; } exposureParams; BOOL metadataHasROI; struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } ROI; BOOL registrationComplete; BOOL hasValidRegistration; struct { void /* unknown type, empty encoding */ columns[3]; } regHomography; BOOL metadataHasLtmCurves; struct ltmCurves { unsigned short ltmLut[1584]; unsigned short globalLtmLut[257]; unsigned short gtcLut[257]; } ltmCurves; BOOL hasFaces; } _prebracketedProperties;
    struct opaqueCMSampleBuffer { } *_evmSampleBuffer;
    struct frameProperties_t { BOOL isPreBracketedFrame; int bracketedCaptureSequenceNumber; long long averageFocusScore; struct exposureParameters { float gain; float red_gain; float blue_gain; float digital_gain; float exposure_time; float average_focus_score; float normalized_snr; float original_exposure_bias; float exposure_bias; BOOL is_long; } exposureParams; BOOL metadataHasROI; struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } ROI; BOOL registrationComplete; BOOL hasValidRegistration; struct { void /* unknown type, empty encoding */ columns[3]; } regHomography; BOOL metadataHasLtmCurves; struct ltmCurves { unsigned short ltmLut[1584]; unsigned short globalLtmLut[257]; unsigned short gtcLut[257]; } ltmCurves; BOOL hasFaces; } _evmProperties;
    struct opaqueCMSampleBuffer { } *_ev0SampleBuffer;
    struct frameProperties_t { BOOL isPreBracketedFrame; int bracketedCaptureSequenceNumber; long long averageFocusScore; struct exposureParameters { float gain; float red_gain; float blue_gain; float digital_gain; float exposure_time; float average_focus_score; float normalized_snr; float original_exposure_bias; float exposure_bias; BOOL is_long; } exposureParams; BOOL metadataHasROI; struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } ROI; BOOL registrationComplete; BOOL hasValidRegistration; struct { void /* unknown type, empty encoding */ columns[3]; } regHomography; BOOL metadataHasLtmCurves; struct ltmCurves { unsigned short ltmLut[1584]; unsigned short globalLtmLut[257]; unsigned short gtcLut[257]; } ltmCurves; BOOL hasFaces; } _ev0Properties;
    struct opaqueCMSampleBuffer *_bracketSampleBuffers[4];
    struct frameProperties_t { BOOL isPreBracketedFrame; int bracketedCaptureSequenceNumber; long long averageFocusScore; struct exposureParameters { float gain; float red_gain; float blue_gain; float digital_gain; float exposure_time; float average_focus_score; float normalized_snr; float original_exposure_bias; float exposure_bias; BOOL is_long; } exposureParams; BOOL metadataHasROI; struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } ROI; BOOL registrationComplete; BOOL hasValidRegistration; struct { void /* unknown type, empty encoding */ columns[3]; } regHomography; BOOL metadataHasLtmCurves; struct ltmCurves { unsigned short ltmLut[1584]; unsigned short globalLtmLut[257]; unsigned short gtcLut[257]; } ltmCurves; BOOL hasFaces; } _bracketProperties[4];
    int _cntBracketSampleBuffers;
    struct FusionConfiguration { int fusionAlgo; struct { void /* unknown type, empty encoding */ columns[3]; } xforms3x3[4]; int frameCount; BOOL fixPyramidAlignment; int registrationReference; int longest; int evm; int ev0; int evp; } _fusionConf;
    BOOL _requestTuningParams;
    DeviceParameters *_deviceTuningParams;
    RegWarp *_registrationPipelineRW;
    FigMetalContext *_metal;
    unsigned int _fusionOptions;
    struct __CVPixelBufferPool { } *_outputPixelBufferPool;
    NSMutableDictionary *_sidecar;
    int _registrationReferenceFrameIndex;
}

@property (nonatomic) int processingType;
@property (nonatomic) BOOL allowModifyingInputBuffers;
@property (nonatomic) int referenceFrameIndex;
@property (nonatomic) BOOL enforceReferenceFrameIndex;
@property (copy, nonatomic) id /* block */ referenceFrameSelectionHandlerBlock;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

- (void)resetState;
- (BOOL)isTele;
- (int)getOptions:(id)a0;
- (void)dealloc;
- (int)setValue:(id)a0 forProperty:(id)a1;
- (float)_computeFusionEffectiveness:(unsigned int)a0;
- (void)finishScheduling;
- (void)EndKTraceEventForBracketFrame:(id)a0 ktraceCode:(int)a1;
- (int)StartKTraceEventForBracketFrame:(id)a0;
- (int)_computeRegistrationOrder;
- (int)setPropertyForReferenceFrameIndex:(int)a0;
- (int)_fuseImages:(struct __CVBuffer { } *)a0;
- (int)_registerImages:(BOOL)a0;
- (int)copyValue:(void *)a0 forProperty:(id)a1;
- (void)loadBracketMetadata:(id)a0 cfp:(struct frameProperties_t { BOOL x0; int x1; long long x2; struct exposureParameters { float x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; BOOL x9; } x3; BOOL x4; struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } x5; BOOL x6; BOOL x7; struct { void /* unknown type, empty encoding */ x0[3]; } x8; BOOL x9; struct ltmCurves { unsigned short x0[1584]; unsigned short x1[257]; unsigned short x2[257]; } x10; BOOL x11; } *)a1 width:(unsigned long long)a2 height:(unsigned long long)a3;
- (int)_appendFrames:(struct opaqueCMSampleBuffer { } *)a0 cfp:(struct frameProperties_t { BOOL x0; int x1; long long x2; struct exposureParameters { float x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; BOOL x9; } x3; BOOL x4; struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } x5; BOOL x6; BOOL x7; struct { void /* unknown type, empty encoding */ x0[3]; } x8; BOOL x9; struct ltmCurves { unsigned short x0[1584]; unsigned short x1[257]; unsigned short x2[257]; } x10; BOOL x11; } *)a1;
- (int)_prepareOutput:(struct opaqueCMSampleBuffer { } *)a0 params:(id)a1;
- (void).cxx_destruct;
- (int)_perFrameProcessing:(id)a0 input:(struct opaqueCMSampleBuffer { } *)a1 cfp:(struct frameProperties_t { BOOL x0; int x1; long long x2; struct exposureParameters { float x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; BOOL x9; } x3; BOOL x4; struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } x5; BOOL x6; BOOL x7; struct { void /* unknown type, empty encoding */ x0[3]; } x8; BOOL x9; struct ltmCurves { unsigned short x0[1584]; unsigned short x1[257]; unsigned short x2[257]; } x10; BOOL x11; } *)a2;
- (void)_createResourcesUsingAttributes:(id)a0 pixelBuffer:(struct __CVBuffer { } *)a1;
- (int)processSampleBuffer:(struct opaqueCMSampleBuffer { } *)a0;
- (void)addToSidecar:(id)a0 forKey:(id)a1;
- (id)initWithOptions:(id)a0;
- (int)_shortFramesDelivered;
- (void)_oneTimeSetupUsingAttributes:(id)a0 fallbackPixelBuffer:(struct __CVBuffer { } *)a1;
- (void)finishPendingProcessing;
- (void)_selectErrorRecoveryFrame;
- (int)processSequence;
- (void)purgeResources;
- (int)_multiFrameProcessing;
- (void)prepareForProcessingPixelBuffersWithAttributes:(id)a0;
- (void)onOutput:(id /* block */)a0;
- (int)_getSharpestFrame;

@end