luxlabs header browser preview


@class BWRamp, NSString, NSArray, FigCaptureMachPortSendRight, CIContext, BWPreviewRegistration, BWPixelBufferPool, BWSpringSimulation, NSObject, NSMutableDictionary, BWFencedAnimationQueue, BWMemoryPoolFlushAssertion;
@protocol BWPreviewStitcherDelegate, OS_dispatch_queue, OS_dispatch_group;

@interface BWPreviewStitcherNode : BWNode {
    struct { int width; int height; } _outputDimensions;
    int _rotationDegrees;
    BOOL _flipHorizontal;
    BOOL _flipVertical;
    double _primaryCaptureRectYInset;
    int _primaryCaptureRectPixelInset;
    double _primaryCaptureRectCenterX;
    int _primaryCaptureRectCenterXPixelOffset;
    int _primaryCaptureRectCenterXPixelOffsetFudge;
    BOOL _previewsWideBeforeSlaveStreamStarts;
    BOOL _generatesHistogram;
    int _maxLossyCompressionLevel;
    BOOL _superWideFallbackForMacroSceneEnabled;
    BOOL _haveSuperWideCamera;
    BOOL _haveTeleCamera;
    float _superWideBaseZoomFactor;
    float _wideBaseZoomFactor;
    float _teleBaseZoomFactor;
    float _superWideCorrectedBaseZoomFactor;
    float _wideBaseZoomFactorOverride;
    BOOL _wideBaseZoomFactorDynamicOverrideEnabled;
    float _wideBaseZoomFactorDynamicOverride;
    float _wideBaseZoomFactorDynamicOverrideScaled;
    float _wideBaseZoomFactorOverrideMacro;
    float _widePinholeFocalLengthInfinity;
    float _widePinholeFocalLengthMacro;
    float _dynamicWideBaseZoomFactorSmoothingFactor;
    BOOL _inputBuffersHaveHorizontalOverscanOnly;
    float _dynamicCameraScaleMSRMarginPercentage;
    NSArray *_wideNondisruptiveSwitchingZoomFactors;
    float _wideNondisruptiveSwitchingScaleFactor;
    float _lastWideNondisruptiveSwitchingScaleFactor;
    BOOL _wideNondisruptiveSwitchingCroppedFrameEnabled;
    BOOL _wideNondisruptiveSwitchingCurrentFrameIsCropped;
    float _teleBaseZoomFactorOverride;
    struct { int width; int height; } _sensorBinningFactor;
    float _shiftSmoothingFactor;
    BOOL _applyShift;
    struct CGPoint { double x; double y; } _superWideToWideBravoShift;
    struct CGPoint { double x; double y; } _wideToTeleBravoShift;
    struct OpaqueVTPixelRotationSession { } *_intermediateRotationSession;
    struct OpaqueVTPixelRotationSession { } *_outputRotationSession;
    struct opaqueCMFormatDescription { } *_outputFormatDescription;
    struct CGAffineTransform { double a; double b; double c; double d; double tx; double ty; } _outputTransform;
    id<BWPreviewStitcherDelegate> _delegate;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _configurationLock;
    BOOL _deviceIsStationary;
    BOOL _pendingRegistrationAfterDeviceBecomesStationary;
    BOOL _registrationEnabled;
    int _lastRegisteredFrameCaptureID;
    BOOL _lastRegistrationEnabled;
    int _registrationType;
    BOOL _excludeStaticComponentFromAlignmentShiftsEnabled;
    BWPreviewRegistration *_registration;
    BOOL _registrationResourcesAllocated;
    BOOL _firstRegistrationCompleted;
    BOOL _firstRegistrationIsSynchronous;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _shiftCorrectionsUpdateLock;
    struct BWPreviewStitcherShiftCorrection { struct CGPoint { double x; double y; } currentValue; struct CGPoint { double x; double y; } updatedValue; BOOL valueIsUpdated; BOOL lastRegistrationWasValid; int registeredFrameCaptureID; BWRamp *rampX; BWRamp *rampY; } _wideToTeleShiftCorrections[3];
    struct BWPreviewStitcherShiftCorrection { struct CGPoint { double x; double y; } currentValue; struct CGPoint { double x; double y; } updatedValue; BOOL valueIsUpdated; BOOL lastRegistrationWasValid; int registeredFrameCaptureID; BWRamp *rampX; BWRamp *rampY; } _superWideToWideShiftCorrections[3];
    int _registrationFrameSkipCount;
    int _registrationUpdateRampFrameCount;
    BOOL _registerFirstFrame;
    double _primaryCameraAspectRatio;
    float _lastPrimaryCameraAspectRatio;
    FigCaptureMachPortSendRight *_fencePortSendRight;
    BOOL _displaysWidestCameraOnly;
    BOOL _displaysPrimaryCameraOnly;
    BOOL _drawWiderCameraOnly;
    BOOL _currentZoomRequiresWiderCamera;
    BOOL _lastZoomingOrSwitchingCameras;
    float _rampZoomFactorOfInterest;
    float _rampStartZoomFactor;
    NSString *_lastRecommendedMasterPortType;
    NSString *_lastPreferredMasterPortType;
    NSString *_lastNarrowerPortType;
    BOOL _lastNarrowerCameraIsTele;
    BWRamp *_teleOpacityRamp;
    BWPixelBufferPool *_teleOpacityPool;
    BWMemoryPoolFlushAssertion *_teleOpacityPoolReadyAssertion;
    struct { int width; int height; } _teleOpacityPoolDimensions;
    CIContext *_teleOpacityCIContext;
    BOOL _teleOpacityRampForSuperMacroFallbackTransition;
    int _screenScale;
    BOOL _frameRateBasedRampsEnabled;
    NSObject<OS_dispatch_queue> *_ciPreheatingQueue;
    NSObject<OS_dispatch_group> *_ciPreheatingGroup;
    BOOL _havePreheatedCI;
    struct { long long value; int timescale; unsigned int flags; long long epoch; } _firstFramePTS;
    BOOL _edgeFeatheringEnabled;
    BOOL _showFeatherGradient;
    float _edgeFeatheringAspectCompensation;
    float _zoomInFeatheringInnerRadiusStart;
    float _zoomInFeatheringInnerRadiusEnd;
    float _zoomInFeatheringOuterRadiusStart;
    float _zoomInFeatheringOuterRadiusEnd;
    float _zoomOutFeatheringInnerRadiusStart;
    float _zoomOutFeatheringInnerRadiusEnd;
    float _zoomOutFeatheringOuterRadiusStart;
    float _zoomOutFeatheringOuterRadiusEnd;
    BOOL _featherEdgesForOpacityRamp;
    struct opaqueCMSampleBuffer { } *_lastSampleBuffer;
    struct { long long value; int timescale; unsigned int flags; long long epoch; } _lastRenderedPTS;
    BOOL _multiCameraStitchingEnabled;
    BOOL _aspectRatioChanging;
    long long _lastRenderTime;
    float _additionalZoomFactor;
    float _additionalZoomFactorSpringStartFactor;
    struct { long long value; int timescale; unsigned int flags; long long epoch; } _additionalZoomFactorSpringStartPTS;
    BWSpringSimulation *_additionalZoomFactorSpring;
    NSMutableDictionary *_blackFilledBorderRectsBySurfaceID;
    BOOL _forceBlackFillBorderEnabled;
    int _overCaptureStatus;
    struct BWSmartCameraScene { BOOL enabled; BOOL confident; float confidenceFilterRatio; float filteredConfidence; float confidenceThreshold; float confidenceHysteresisValueLag; short confidenceHysteresisTemporalLagBeforeConfident; short confidenceHysteresisTemporalLagBeforeNotConfident; short currentTemporalHysteresis; BOOL resetTemporalHysteresisAndFilteringOnNextUpdate; char *name; } _wideFocusDistanceFarEnoughForStitching;
    BOOL _hideSuperWideOverCaptureWhenTooClose;
    BOOL _superWideOccludedByWide;
    BOOL _superWideDrawingSuspendedUntilFocusImproves;
    BOOL _hideSuperWideStitchingWhenTooClose;
    BOOL _hidePartialOverCapture;
    struct BWSmartCameraScene { BOOL enabled; BOOL confident; float confidenceFilterRatio; float filteredConfidence; float confidenceThreshold; float confidenceHysteresisValueLag; short confidenceHysteresisTemporalLagBeforeConfident; short confidenceHysteresisTemporalLagBeforeNotConfident; short currentTemporalHysteresis; BOOL resetTemporalHysteresisAndFilteringOnNextUpdate; char *name; } _widerCameraFoVFillsOverCapture;
    float _uiZoomFactor;
    BOOL _deviceTooHotDimmingEnabled;
    int _wideFallbackMode;
    struct BWSmartCameraScene { BOOL enabled; BOOL confident; float confidenceFilterRatio; float filteredConfidence; float confidenceThreshold; float confidenceHysteresisValueLag; short confidenceHysteresisTemporalLagBeforeConfident; short confidenceHysteresisTemporalLagBeforeNotConfident; short currentTemporalHysteresis; BOOL resetTemporalHysteresisAndFilteringOnNextUpdate; char *name; } _wideFocusDistanceFarEnoughToUseTele;
    BOOL _wideFocusingOneShot;
    BOOL _teleFocusingOneShot;
    BWRamp *_wideFallbackShiftRamp;
    struct CGPoint { double x; double y; } _wideFallbackRecenteringShiftOffset;
    BOOL _wantWideFallbackDueToTeleAEAF;
    BOOL _wideFallbackShiftRampTargetValueIsWide;
    BOOL _wideFallbackUserInitiatedTuningEnabled;
    BOOL _lastWideCameraFallbackWasUserInitiated;
    int _lastRecommendedMasterSelectionReason;
    struct BWSmartCameraScene { BOOL enabled; BOOL confident; float confidenceFilterRatio; float filteredConfidence; float confidenceThreshold; float confidenceHysteresisValueLag; short confidenceHysteresisTemporalLagBeforeConfident; short confidenceHysteresisTemporalLagBeforeNotConfident; short currentTemporalHysteresis; BOOL resetTemporalHysteresisAndFilteringOnNextUpdate; char *name; } _wideFocusDistanceFarEnoughToUseWide;
    BWRamp *_superWideFallbackShiftRamp;
    BOOL _superWideFallbackShiftRampTargetValueIsSuperWide;
    struct CGPoint { double x; double y; } _superWideFallbackRecenteringShiftOffset;
    float _superWideFallbackRecenteringStrength;
    BOOL _wantSuperWideFallback;
    BOOL _superWideFallbackTransitioningWithStreamingPortTypesChanged;
    BOOL _superMacroUserInitiatedFallbackTuningEnabled;
    BOOL _lastSuperWideCameraFallbackWasUserInitiated;
    BOOL _inSuperMacroRange;
    BOOL _superMacroRangeRegistrationTuningEnabled;
    struct BWSmartCameraScene { BOOL enabled; BOOL confident; float confidenceFilterRatio; float filteredConfidence; float confidenceThreshold; float confidenceHysteresisValueLag; short confidenceHysteresisTemporalLagBeforeConfident; short confidenceHysteresisTemporalLagBeforeNotConfident; short currentTemporalHysteresis; BOOL resetTemporalHysteresisAndFilteringOnNextUpdate; char *name; } _superWideFocusDistanceFarEnoughForRegistration;
    BOOL _superMacroOpacityRampOnFullPrimaryRectEnabled;
    BOOL _superMacroEdgeFeatheringBlurEnabled;
    float _superMacroEdgeFeatheringBlurInset;
    BOOL _superMacroEdgeFeatheringShowBlurMask;
    BOOL _waitsForRegistrationToComplete;
    BWFencedAnimationQueue *_fencedAnimationQueue;
    BOOL _momentMovieRecordingRecenteringEnabled;
    int _momentMovieRecordingRecenteringShiftRampFrameCount;
    BOOL _borderBlurEnabled;
    float _borderBlurStrength;
    BOOL _borderStretchEnabled;
    float _borderStretchScaleFactor;
    float _borderStretchNextNarrowerBaseZoomFactorMultiplier;
    BOOL _zoomPIPOverlayEnabled;
    BOOL _zoomPIPSingleStreamModeEnabled;
    BOOL _zoomPIPUseNarrowerCamera;
    float _zoomPIPMinimumUIZoomFactor;
    BOOL _previewTapRegistered;
    BOOL _fractionalSourceRectEnabled;
    BOOL _propagateDepth;
    BOOL _parallaxMitigationBasedOnZoomFactorEnabled;
}

@property (nonatomic) id<BWPreviewStitcherDelegate> delegate;
@property BOOL displaysWidestCameraOnly;
@property (nonatomic) BOOL stoppingForModeSwitch;
@property (nonatomic) BOOL previewTapRegistered;

+ (void)initialize;

- (int)rotationDegrees;
- (void)prepareForCurrentConfigurationToBecomeLive;
- (void)renderSampleBuffer:(struct opaqueCMSampleBuffer { } *)a0 forInput:(id)a1;
- (void)dealloc;
- (void)configurationWithID:(long long)a0 updatedFormat:(id)a1 didBecomeLiveForInput:(id)a2;
- (id)nodeType;
- (void)didReachEndOfDataForInput:(id)a0;
- (void)didSelectFormat:(id)a0 forInput:(id)a1;
- (id)nodeSubType;
- (void)setFlipHorizontal:(BOOL)a0;
- (void)setRotationDegrees:(int)a0;
- (BOOL)flipVertical;
- (id)previewRegistrationType;
- (BOOL)generatesHistogram;
- (int)maxLossyCompressionLevel;
- (void)setMaxLossyCompressionLevel:(int)a0;
- (void)setGeneratesHistogram:(BOOL)a0;
- (void)setOutputDimensions:(struct { int x0; int x1; })a0;
- (BOOL)flipHorizontal;
- (void)setFlipVertical:(BOOL)a0;
- (struct { int x0; int x1; })outputDimensions;
- (void)setForceBlackFillBorderEnabled:(BOOL)a0;
- (BOOL)centerRegistrationValid;
- (id)focusingDescription;
- (BOOL)forceBlackFillBorderEnabled;
- (id)initWithCameraInfoByPortType:(id)a0 sensorBinningFactor:(struct { int x0; int x1; })a1 inputBuffersHaveHorizontalOverscanOnly:(BOOL)a2 registrationType:(int)a3 registrationMetalCommandQueue:(id)a4 excludeStaticComponentFromAlignmentShifts:(BOOL)a5 propagateDepth:(BOOL)a6 parallaxMitigationBasedOnZoomFactorEnabled:(BOOL)a7 zoomPIPOverlayEnabled:(BOOL)a8 zoomPIPMinimumUIZoomFactor:(float)a9 zoomPIPSingleStreamModeEnabled:(BOOL)a10;
- (id)initWithStitchingDisabledAndZoomPIPOverlayEnabled:(BOOL)a0 zoomPIPMinimumUIZoomFactor:(float)a1 zoomPIPSingleStreamModeEnabled:(BOOL)a2 propagateDepth:(BOOL)a3 parallaxMitigationBasedOnZoomFactorEnabled:(BOOL)a4;
- (id)overCaptureStatusString;
- (BOOL)previewsWideBeforeSlaveStreamStarts;
- (double)primaryCameraAspectRatio;
- (id)primaryCameraShortDisplayName;
- (double)primaryCaptureRectCenterX;
- (double)primaryCaptureRectYInset;
- (void)rampToAdditionalZoomFactor:(double)a0 momentMovieRecordingRecenteringEnabled:(BOOL)a1;
- (void)setPreviewsWideBeforeSlaveStreamStarts:(BOOL)a0;
- (void)setPrimaryCameraAspectRatio:(double)a0;
- (void)setPrimaryCaptureRectAspectRatio:(double)a0 center:(struct CGPoint { double x0; double x1; })a1 fencePortSendRight:(id)a2;
- (void)setPrimaryCaptureRectCenterX:(double)a0;
- (void)setPrimaryCaptureRectYInset:(double)a0;
- (void)setSuperWideFallbackForMacroSceneEnabled:(BOOL)a0;
- (void)setWaitsForRegistrationToComplete:(BOOL)a0;
- (BOOL)superWideFallbackForMacroSceneEnabled;
- (float)superWideFocusDistance;
- (BOOL)tooCloseFor1xStitching;
- (BOOL)tooCloseForSuperWideRegistration;
- (BOOL)waitsForRegistrationToComplete;
- (float)wideBaseZoomFactor;
- (id)wideFallbackDescription;
- (float)wideFocusDistance;

@end