@class NSArray, VCPMovieHighlight, AVAssetImageGenerator, VCPColorNormalizationAnalyzer, NSMutableArray; @interface VCPMovieHighlightAnalyzer : NSObject { NSArray *_junkResults; NSArray *_qualityResults; NSArray *_faceResults; NSArray *_petsResults; NSArray *_saliencyResults; NSArray *_actionResults; NSArray *_subtleMotionResults; NSArray *_voiceResults; NSArray *_featureResults; NSArray *_humanActionResults; NSArray *_humanPoseResults; NSArray *_cameraMotionResults; NSArray *_keyFrameResults; NSArray *_sceneResults; NSArray *_orientationResults; NSArray *_mlHighlightScoreResults; NSArray *_mlQualityResults; NSMutableArray *_expressionSegments; NSMutableArray *_internalResults; NSMutableArray *_highlightResults; NSMutableArray *_internalConstraintResults; struct CGSize { double width; double height; } _frameSize; float _maxDurationInSeconds; float _minDurationInSeconds; float _targetDurationInSeconds; float _toleranceInSeconds; int _targetHighlightIndex; struct { struct { long long value; int timescale; unsigned int flags; long long epoch; } start; struct { long long value; int timescale; unsigned int flags; long long epoch; } duration; } _startRange; BOOL _isMaxTrim; BOOL _requestBestTrim; BOOL _requestFullResult; float _maxHighlightScore; float _minHighlightScore; BOOL _isLivePhoto; float _photoOffset; BOOL _verbose; BOOL _hadFlash; BOOL _hadZoom; BOOL _settlingHadZoom; BOOL _isTimelapse; struct { struct { long long value; int timescale; unsigned int flags; long long epoch; } start; struct { long long value; int timescale; unsigned int flags; long long epoch; } duration; } _preferredTimeRange; AVAssetImageGenerator *_imageGenerator; int _numberOfFrames; VCPMovieHighlight *_animatedStickerGating; float _sumScores[3]; int _frameCount; struct array<float, 6UL> { float __elems_[6]; } _prevMotionParamDiff; struct array<float, 6UL> { float __elems_[6]; } _sumMotionParam; struct array<float, 6UL> { float __elems_[6]; } _diffFlipCount; VCPColorNormalizationAnalyzer *_colorNormalizationAnalyzer; } + (float)getMinimumHighlightInSec; + (BOOL)isHeuristicStickerScoreEnabled; - (id)results; - (void).cxx_destruct; - (BOOL)addSegment:(id)a0; - (id)movieSummary; - (void)setMaxHighlightDuration:(float)a0; - (void)SetKeyFramesForSegments:(id)a0; - (void)computeHighlightScoreOfSegment:(id)a0; - (id)settlingEffects; - (float)actionScoreForTimerange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0; - (int)analyzeMotionStability:(struct array<float, 6UL> { float x0[6]; })a0 motionParamDiff:(struct array<float, 6UL> { float x0[6]; })a1; - (float)analyzeOverallQuality:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0 isSettlingEffect:(BOOL)a1 isAnimatedSticker:(BOOL)a2; - (int)analyzeRankingScores:(float)a0 subtleMotion:(float)a1 humanAction:(float)a2; - (id)animatedStickerGating; - (float)cameraMotionScoreForTimerange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0; - (BOOL)checkCameraZoom:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0; - (int)combineMLHighlightScore; - (struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })computeActionFaceTrimFor:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0; - (float)computeActionScoreInTimerange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })computeBestPlaybackCrop:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0; - (int)computeColorNormalization; - (float)computeExpressionScoreInTimerange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0; - (float)computeHighlightScoreOfRange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0; - (int)computeHighlightScoreResults; - (float)computeHumanActionScoreInTimerange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0; - (float)computeHumanPoseScoreInTimerange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0; - (float)computeMLHighlightScoreForTimerange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0; - (float)computeMLQualityScoreForTimerange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0; - (struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })computeQualityTrimFor:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0 withKeyFrame:(BOOL)a1; - (struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })computeSteadyTranslationTrimFor:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0; - (float)computeSubtleMotionScoreInTimerange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0; - (struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })computeTrimWithHighlightScoreFor:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0; - (float)computeVoiceScoreInTimeRange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0; - (int)evaluateSegment:(id)a0; - (float)expressionScoreForTimerange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0; - (id)findBestHighlightSegment:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0 targetTrim:(BOOL)a1; - (struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })findBestTrim:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0; - (void)generateExpressionSegments:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0; - (int)generateHighlights; - (float)highlightScoreForTimeRange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0 average:(BOOL)a1; - (id)highlightScoreResults; - (id)initWithAnalysisType:(unsigned long long)a0 isLivePhoto:(BOOL)a1 photoOffset:(float)a2 hadFlash:(BOOL)a3 hadZoom:(BOOL)a4 settlingHadZoom:(BOOL)a5 isTimelapse:(BOOL)a6 preferredTimeRange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a7 asset:(id)a8; - (id)initWithPostProcessOptions:(id)a0; - (BOOL)isGoodQuality:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0; - (float)junkScoreForTimerange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0 lengthScale:(BOOL)a1; - (void)loadHighlightScoreResults:(id)a0; - (id)maxTrimMovieHighlight:(id)a0; - (int)pickHighlightsFrom:(id)a0; - (id)pickKeyFramesInRange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0; - (int)postProcessMLHighlightScore; - (id)postProcessMovieHighlight:(id)a0; - (int)prepareRequiredQualityResult:(id)a0 junkDetectionResult:(id)a1 descriptorResult:(id)a2 faceResult:(id)a3 petsResult:(id)a4 saliencyResult:(id)a5 actionResult:(id)a6 subtleMotionResult:(id)a7 voiceResult:(id)a8 keyFrameResult:(id)a9 sceneResults:(id)a10 humanActionResults:(id)a11 humanPoseResults:(id)a12 cameraMotionResults:(id)a13 orientationResults:(id)a14 mlHighlightScoreResults:(id)a15 mlQualityResults:(id)a16 frameSize:(struct CGSize { double x0; double x1; })a17; - (float)qualityScoreForTimerange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0; - (float)rankingLevel; - (void)searchFeatureVectorOfSegment:(id)a0; - (int)selectHighlights; - (int)selectHighlightsForTimelapse; - (float)settlingExposureChangeScore:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0; - (float)settlingMotionScore:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0; - (float)settlingSharpnessScore:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0; - (float)settlingSubjectScore:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0; - (float)stickerScaledScore:(float)a0 highPrecisionThreshold:(float)a1 highRecallThreshold:(float)a2; - (float)subtleMotionScoreForTimerange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0; - (id)targetExtendRange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0 maxRange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a1; - (id)targetMovieHighlight:(id)a0 mergedRange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a1 maxRange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a2; - (id)targetProcessRange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0 maxRange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a1; - (id)targetTrimRange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0 searchRange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a1; - (BOOL)updateCropHeatMap:(float *)a0 withResults:(id)a1 timeRange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a2 resultsKey:(id)a3; - (float)visualPleasingScoreForTimerange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0; - (float)voiceScoreForTimerange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0; @end