videotoolbox

package
v0.6.17 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 22, 2026 License: MIT Imports: 17 Imported by: 0

Documentation

Overview

Package videotoolbox provides Go bindings for the VideoToolbox framework.

Work directly with hardware-accelerated video encoding and decoding capabilities.

VideoToolbox is a low-level framework that provides direct access to hardware encoders and decoders. It provides services for video compression and decompression, and for conversion between raster image formats stored in CoreVideo pixel buffers. These services are provided in the form of session objects (compression, decompression, and pixel transfer), which are vended as Core Foundation (CF) types. Apps that don’t need direct access to hardware encoders and decoders shouldn’t need to use VideoToolbox directly.

Frame Processing

Motion Estimation

Compression

Media Extension

HDR Metadata

Codec Support

Utilities

Data Types

  • VTInt32Point: A structure that represents a 32-bit integer point value.
  • VTInt32Size: A structure that represents a 32-bit integer size value.

Errors

Variables

Key Types

Code generated from Apple documentation. DO NOT EDIT.

Index

Constants

View Source
const KVTUnlimitedFrameDelayCount int32 = -1

Variables

View Source
var (
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTAlphaChannelMode_PremultipliedAlpha
	KVTAlphaChannelMode_PremultipliedAlpha string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTAlphaChannelMode_StraightAlpha
	KVTAlphaChannelMode_StraightAlpha string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCameraCalibrationExtrinsicOriginSource_StereoCameraSystemBaseline
	KVTCameraCalibrationExtrinsicOriginSource_StereoCameraSystemBaseline string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCameraCalibrationLensAlgorithmKind_ParametricLens
	KVTCameraCalibrationLensAlgorithmKind_ParametricLens string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCameraCalibrationLensDomain_Color
	KVTCameraCalibrationLensDomain_Color string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCameraCalibrationLensRole_Left
	KVTCameraCalibrationLensRole_Left string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCameraCalibrationLensRole_Mono
	KVTCameraCalibrationLensRole_Mono string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCameraCalibrationLensRole_Right
	KVTCameraCalibrationLensRole_Right string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPreset_Balanced
	KVTCompressionPreset_Balanced string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPreset_HighQuality
	KVTCompressionPreset_HighQuality string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPreset_HighSpeed
	KVTCompressionPreset_HighSpeed string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPreset_VideoConferencing
	KVTCompressionPreset_VideoConferencing string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyCameraCalibrationKey_ExtrinsicOrientationQuaternion
	KVTCompressionPropertyCameraCalibrationKey_ExtrinsicOrientationQuaternion string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyCameraCalibrationKey_ExtrinsicOriginSource
	KVTCompressionPropertyCameraCalibrationKey_ExtrinsicOriginSource string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyCameraCalibrationKey_IntrinsicMatrix
	KVTCompressionPropertyCameraCalibrationKey_IntrinsicMatrix string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyCameraCalibrationKey_IntrinsicMatrixProjectionOffset
	KVTCompressionPropertyCameraCalibrationKey_IntrinsicMatrixProjectionOffset string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyCameraCalibrationKey_IntrinsicMatrixReferenceDimensions
	KVTCompressionPropertyCameraCalibrationKey_IntrinsicMatrixReferenceDimensions string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyCameraCalibrationKey_LensAlgorithmKind
	KVTCompressionPropertyCameraCalibrationKey_LensAlgorithmKind string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyCameraCalibrationKey_LensDistortions
	KVTCompressionPropertyCameraCalibrationKey_LensDistortions string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyCameraCalibrationKey_LensDomain
	KVTCompressionPropertyCameraCalibrationKey_LensDomain string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyCameraCalibrationKey_LensFrameAdjustmentsPolynomialX
	KVTCompressionPropertyCameraCalibrationKey_LensFrameAdjustmentsPolynomialX string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyCameraCalibrationKey_LensFrameAdjustmentsPolynomialY
	KVTCompressionPropertyCameraCalibrationKey_LensFrameAdjustmentsPolynomialY string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyCameraCalibrationKey_LensIdentifier
	KVTCompressionPropertyCameraCalibrationKey_LensIdentifier string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyCameraCalibrationKey_LensRole
	KVTCompressionPropertyCameraCalibrationKey_LensRole string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyCameraCalibrationKey_RadialAngleLimit
	KVTCompressionPropertyCameraCalibrationKey_RadialAngleLimit string
	// KVTCompressionPropertyKey_AllowFrameReordering is a Boolean value that indicates whether frame reordering is enabled.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_AllowFrameReordering
	KVTCompressionPropertyKey_AllowFrameReordering string
	// KVTCompressionPropertyKey_AllowOpenGOP is enables Open GOP (Group Of Pictures) encoding.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_AllowOpenGOP
	KVTCompressionPropertyKey_AllowOpenGOP string
	// KVTCompressionPropertyKey_AllowTemporalCompression is a Boolean value indicating whether temporal compression is enabled.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_AllowTemporalCompression
	KVTCompressionPropertyKey_AllowTemporalCompression string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_AlphaChannelMode
	KVTCompressionPropertyKey_AlphaChannelMode string
	// KVTCompressionPropertyKey_AspectRatio16x9 is a Boolean value indicating whether the DV video stream should have the 16x9 flag set.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_AspectRatio16x9
	KVTCompressionPropertyKey_AspectRatio16x9 string
	// KVTCompressionPropertyKey_AverageBitRate is the long-term desired average bit rate in bits per second.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_AverageBitRate
	KVTCompressionPropertyKey_AverageBitRate string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_BaseLayerBitRateFraction
	KVTCompressionPropertyKey_BaseLayerBitRateFraction string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_BaseLayerFrameRate
	KVTCompressionPropertyKey_BaseLayerFrameRate string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_BaseLayerFrameRateFraction
	KVTCompressionPropertyKey_BaseLayerFrameRateFraction string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_CalculateMeanSquaredError
	KVTCompressionPropertyKey_CalculateMeanSquaredError string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_CameraCalibrationDataLensCollection
	KVTCompressionPropertyKey_CameraCalibrationDataLensCollection string
	// KVTCompressionPropertyKey_CleanAperture is the clean aperture for encoded frames.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_CleanAperture
	KVTCompressionPropertyKey_CleanAperture string
	// KVTCompressionPropertyKey_ColorPrimaries is the color primaries for compressed content.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_ColorPrimaries
	KVTCompressionPropertyKey_ColorPrimaries string
	// KVTCompressionPropertyKey_ConstantBitRate is requires that the encoder use a Constant Bit Rate algorithm.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_ConstantBitRate
	KVTCompressionPropertyKey_ConstantBitRate string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_ConstantQualityFactor
	KVTCompressionPropertyKey_ConstantQualityFactor string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_ContentLightLevelInfo
	KVTCompressionPropertyKey_ContentLightLevelInfo string
	// KVTCompressionPropertyKey_DataRateLimits is zero, one, or two hard limits on data rate.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_DataRateLimits
	KVTCompressionPropertyKey_DataRateLimits string
	// KVTCompressionPropertyKey_Depth is the pixel depth of the encoded video.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_Depth
	KVTCompressionPropertyKey_Depth string
	// KVTCompressionPropertyKey_EnableLTR is enables Long Term Reference (LTR) frames during encoding.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_EnableLTR
	KVTCompressionPropertyKey_EnableLTR string
	// KVTCompressionPropertyKey_EncoderID is specifies a particular video encoder by its ID string.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_EncoderID
	KVTCompressionPropertyKey_EncoderID string
	// KVTCompressionPropertyKey_EstimatedAverageBytesPerFrame is an estimate of the expected size in bytes of a single encoded frame based on the current configuration.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_EstimatedAverageBytesPerFrame
	KVTCompressionPropertyKey_EstimatedAverageBytesPerFrame string
	// KVTCompressionPropertyKey_ExpectedDuration is the expected total duration of the compression session, if known.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_ExpectedDuration
	KVTCompressionPropertyKey_ExpectedDuration string
	// KVTCompressionPropertyKey_ExpectedFrameRate is the expected frame rate, if known.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_ExpectedFrameRate
	KVTCompressionPropertyKey_ExpectedFrameRate string
	// KVTCompressionPropertyKey_FieldCount is the field count indicating whether the frames should be encoded progressive (1) or interlaced (2).
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_FieldCount
	KVTCompressionPropertyKey_FieldCount string
	// KVTCompressionPropertyKey_FieldDetail is field ordering for encoded interlaced frames.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_FieldDetail
	KVTCompressionPropertyKey_FieldDetail string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_GammaLevel
	KVTCompressionPropertyKey_GammaLevel string
	// KVTCompressionPropertyKey_H264EntropyMode is the entropy encoding mode for H.264 compression.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_H264EntropyMode
	KVTCompressionPropertyKey_H264EntropyMode string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_HDRMetadataInsertionMode
	KVTCompressionPropertyKey_HDRMetadataInsertionMode string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_HasLeftStereoEyeView
	KVTCompressionPropertyKey_HasLeftStereoEyeView string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_HasRightStereoEyeView
	KVTCompressionPropertyKey_HasRightStereoEyeView string
	// KVTCompressionPropertyKey_HeroEye is a value that indicates which eye is the primary eye when rendering in 2D.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_HeroEye
	KVTCompressionPropertyKey_HeroEye string
	// KVTCompressionPropertyKey_HorizontalDisparityAdjustment is a value that indicates a relative shift of the left and right images, which changes the zero parallax plane.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_HorizontalDisparityAdjustment
	KVTCompressionPropertyKey_HorizontalDisparityAdjustment string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_HorizontalFieldOfView
	KVTCompressionPropertyKey_HorizontalFieldOfView string
	// KVTCompressionPropertyKey_ICCProfile is the ICC profile for compressed content.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_ICCProfile
	KVTCompressionPropertyKey_ICCProfile string
	// KVTCompressionPropertyKey_MVHEVCLeftAndRightViewIDs is specifies which view identifier corresponds to the left eye and right eye.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_MVHEVCLeftAndRightViewIDs
	KVTCompressionPropertyKey_MVHEVCLeftAndRightViewIDs string
	// KVTCompressionPropertyKey_MVHEVCVideoLayerIDs is the identifiers of the video layers to encode in a multiview encoding operation.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_MVHEVCVideoLayerIDs
	KVTCompressionPropertyKey_MVHEVCVideoLayerIDs string
	// KVTCompressionPropertyKey_MVHEVCViewIDs is the identifiers of the views corresponding to the video layers in a multiview encoding operation.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_MVHEVCViewIDs
	KVTCompressionPropertyKey_MVHEVCViewIDs string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_MasteringDisplayColorVolume
	KVTCompressionPropertyKey_MasteringDisplayColorVolume string
	// KVTCompressionPropertyKey_MaxAllowedFrameQP is the maximum allowed encoded frame QP (Quantization Parameter).
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_MaxAllowedFrameQP
	KVTCompressionPropertyKey_MaxAllowedFrameQP string
	// KVTCompressionPropertyKey_MaxFrameDelayCount is the maximum number of frames that a compressor is allowed to hold before it must output a compressed frame.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_MaxFrameDelayCount
	KVTCompressionPropertyKey_MaxFrameDelayCount string
	// KVTCompressionPropertyKey_MaxH264SliceBytes is the maximum slice size for H.264 encoding.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_MaxH264SliceBytes
	KVTCompressionPropertyKey_MaxH264SliceBytes string
	// KVTCompressionPropertyKey_MaxKeyFrameInterval is the maximum interval between key frames, also known as the key frame rate.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_MaxKeyFrameInterval
	KVTCompressionPropertyKey_MaxKeyFrameInterval string
	// KVTCompressionPropertyKey_MaxKeyFrameIntervalDuration is the maximum duration from one key frame to the next in seconds.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_MaxKeyFrameIntervalDuration
	KVTCompressionPropertyKey_MaxKeyFrameIntervalDuration string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_MaximizePowerEfficiency
	KVTCompressionPropertyKey_MaximizePowerEfficiency string
	// KVTCompressionPropertyKey_MaximumRealTimeFrameRate is a value that specifies the maximum real time rate at which frames can be submitted to a compression session.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_MaximumRealTimeFrameRate
	KVTCompressionPropertyKey_MaximumRealTimeFrameRate string
	// KVTCompressionPropertyKey_MinAllowedFrameQP is the minimum allowed encoded frame QP (Quantization Parameter).
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_MinAllowedFrameQP
	KVTCompressionPropertyKey_MinAllowedFrameQP string
	// KVTCompressionPropertyKey_MoreFramesAfterEnd is a Boolean value indicating whether and how a compression session concatenates frames with other compressed frames to form a longer series.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_MoreFramesAfterEnd
	KVTCompressionPropertyKey_MoreFramesAfterEnd string
	// KVTCompressionPropertyKey_MoreFramesBeforeStart is a Boolean value that indicates whether and how a compression session concatenates frames with other compressed frames to form a longer series.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_MoreFramesBeforeStart
	KVTCompressionPropertyKey_MoreFramesBeforeStart string
	// KVTCompressionPropertyKey_MultiPassStorage is a property key that enables multipass compression and provides storage for encoder private data.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_MultiPassStorage
	KVTCompressionPropertyKey_MultiPassStorage string
	// KVTCompressionPropertyKey_NumberOfPendingFrames is the number of pending frames in the compression session.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_NumberOfPendingFrames
	KVTCompressionPropertyKey_NumberOfPendingFrames string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_OutputBitDepth
	KVTCompressionPropertyKey_OutputBitDepth string
	// KVTCompressionPropertyKey_PixelAspectRatio is the pixel aspect ratio for encoded frames.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_PixelAspectRatio
	KVTCompressionPropertyKey_PixelAspectRatio string
	// KVTCompressionPropertyKey_PixelBufferPoolIsShared is a Boolean value indicating whether the common pixel buffer pool is shared between the video encoder and the session client.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_PixelBufferPoolIsShared
	KVTCompressionPropertyKey_PixelBufferPoolIsShared string
	// KVTCompressionPropertyKey_PixelTransferProperties is properties for configuring a pixel transfer session.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_PixelTransferProperties
	KVTCompressionPropertyKey_PixelTransferProperties string
	// KVTCompressionPropertyKey_PreserveAlphaChannel is a key that specifies whether to encode the alpha channel of input video frames.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_PreserveAlphaChannel
	KVTCompressionPropertyKey_PreserveAlphaChannel string
	// KVTCompressionPropertyKey_PreserveDynamicHDRMetadata is specifies whether to preserve dynamic HDR metadata on the input pixel buffer.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_PreserveDynamicHDRMetadata
	KVTCompressionPropertyKey_PreserveDynamicHDRMetadata string
	// KVTCompressionPropertyKey_PrioritizeEncodingSpeedOverQuality is a hint for the video encoder to maximize its speed during encoding, sacrificing quality if needed.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_PrioritizeEncodingSpeedOverQuality
	KVTCompressionPropertyKey_PrioritizeEncodingSpeedOverQuality string
	// KVTCompressionPropertyKey_ProfileLevel is the profile and level for the encoded bitstream.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_ProfileLevel
	KVTCompressionPropertyKey_ProfileLevel string
	// KVTCompressionPropertyKey_ProgressiveScan is a Boolean value indicating whether the DV video stream should have the progressive flag set.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_ProgressiveScan
	KVTCompressionPropertyKey_ProgressiveScan string
	// KVTCompressionPropertyKey_ProjectionKind is a value that indicates the projection kind.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_ProjectionKind
	KVTCompressionPropertyKey_ProjectionKind string
	// KVTCompressionPropertyKey_Quality is the desired compression quality.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_Quality
	KVTCompressionPropertyKey_Quality string
	// KVTCompressionPropertyKey_RealTime is a Boolean value indicating whether it’s recommended that the video encoder perform compression in real time.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_RealTime
	KVTCompressionPropertyKey_RealTime string
	// KVTCompressionPropertyKey_RecommendedParallelizationLimit is the recommended number of compression sessions to instantiate in a parallel encoding configuration.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_RecommendedParallelizationLimit
	KVTCompressionPropertyKey_RecommendedParallelizationLimit string
	// KVTCompressionPropertyKey_RecommendedParallelizedSubdivisionMinimumDuration is the recommended minimum duration for a given subdivision in a parallel encoding configuration.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_RecommendedParallelizedSubdivisionMinimumDuration
	KVTCompressionPropertyKey_RecommendedParallelizedSubdivisionMinimumDuration string
	// KVTCompressionPropertyKey_RecommendedParallelizedSubdivisionMinimumFrameCount is the recommended minimum number of video frames for a given subdivision in a parallel encoding configuration.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_RecommendedParallelizedSubdivisionMinimumFrameCount
	KVTCompressionPropertyKey_RecommendedParallelizedSubdivisionMinimumFrameCount string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_ReferenceBufferCount
	KVTCompressionPropertyKey_ReferenceBufferCount string
	// KVTCompressionPropertyKey_SourceFrameCount is the number of source frames, if known.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_SourceFrameCount
	KVTCompressionPropertyKey_SourceFrameCount string
	// KVTCompressionPropertyKey_SpatialAdaptiveQPLevel is a value that controls spatial adaptation of the quantization parameter (QP) based on per-frame statistics.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_SpatialAdaptiveQPLevel
	KVTCompressionPropertyKey_SpatialAdaptiveQPLevel string
	// KVTCompressionPropertyKey_StereoCameraBaseline is a value that specifies the distance between centers of the lenses of the camera system.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_StereoCameraBaseline
	KVTCompressionPropertyKey_StereoCameraBaseline string
	// KVTCompressionPropertyKey_SuggestedLookAheadFrameCount is a value that requests that the encoder retain the specified number of frames during encoding.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_SuggestedLookAheadFrameCount
	KVTCompressionPropertyKey_SuggestedLookAheadFrameCount string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_SupportedPresetDictionaries
	KVTCompressionPropertyKey_SupportedPresetDictionaries string
	// KVTCompressionPropertyKey_SupportsBaseFrameQP is a value that indicates whether the encoder supports base frame QP requests.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_SupportsBaseFrameQP
	KVTCompressionPropertyKey_SupportsBaseFrameQP string
	// KVTCompressionPropertyKey_TargetQualityForAlpha is the target quality to use for encoding the alpha channel.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_TargetQualityForAlpha
	KVTCompressionPropertyKey_TargetQualityForAlpha string
	// KVTCompressionPropertyKey_TransferFunction is the transfer function for compressed content.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_TransferFunction
	KVTCompressionPropertyKey_TransferFunction string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_UsingGPURegistryID
	KVTCompressionPropertyKey_UsingGPURegistryID string
	// KVTCompressionPropertyKey_UsingHardwareAcceleratedVideoEncoder is a Boolean value indicating whether a hardware-accelerated video encoder is used.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_UsingHardwareAcceleratedVideoEncoder
	KVTCompressionPropertyKey_UsingHardwareAcceleratedVideoEncoder string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_VBVBufferDuration
	KVTCompressionPropertyKey_VBVBufferDuration string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_VBVInitialDelayPercentage
	KVTCompressionPropertyKey_VBVInitialDelayPercentage string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_VBVMaxBitRate
	KVTCompressionPropertyKey_VBVMaxBitRate string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_VariableBitRate
	KVTCompressionPropertyKey_VariableBitRate string
	// KVTCompressionPropertyKey_VideoEncoderPixelBufferAttributes is the video encoder’s pixel buffer attributes for the compression session.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_VideoEncoderPixelBufferAttributes
	KVTCompressionPropertyKey_VideoEncoderPixelBufferAttributes string
	// KVTCompressionPropertyKey_ViewPackingKind is a value that indicates the view packing kind.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_ViewPackingKind
	KVTCompressionPropertyKey_ViewPackingKind string
	// KVTCompressionPropertyKey_YCbCrMatrix is the YCbCr matrix for compressed content.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTCompressionPropertyKey_YCbCrMatrix
	KVTCompressionPropertyKey_YCbCrMatrix string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecodeFrameOptionKey_ContentAnalyzerCropRectangle
	KVTDecodeFrameOptionKey_ContentAnalyzerCropRectangle string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecodeFrameOptionKey_ContentAnalyzerRotation
	KVTDecodeFrameOptionKey_ContentAnalyzerRotation string
	// KVTDecompressionPropertyKey_AllowBitstreamToChangeFrameDimensions is a Boolean value that indicates whether a decoder is allowed to output buffers matching reduced frame dimensions in the bitstream rather than under-filling them.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionPropertyKey_AllowBitstreamToChangeFrameDimensions
	KVTDecompressionPropertyKey_AllowBitstreamToChangeFrameDimensions string
	// KVTDecompressionPropertyKey_ContentHasInterframeDependencies is an optional Boolean property indicating if the content being decoded has interframe dependencies, if the decoder knows.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionPropertyKey_ContentHasInterframeDependencies
	KVTDecompressionPropertyKey_ContentHasInterframeDependencies string
	// KVTDecompressionPropertyKey_DecoderProducesRAWOutput is a value that indicates whether the decoder can produce RAW output requiring a RAW processing session for post-decode processing.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionPropertyKey_DecoderProducesRAWOutput
	KVTDecompressionPropertyKey_DecoderProducesRAWOutput string
	// KVTDecompressionPropertyKey_DeinterlaceMode is modes for requesting a specific deinterlacing technique.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionPropertyKey_DeinterlaceMode
	KVTDecompressionPropertyKey_DeinterlaceMode string
	// KVTDecompressionPropertyKey_FieldMode is modes for special handling of interlaced content (optional).
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionPropertyKey_FieldMode
	KVTDecompressionPropertyKey_FieldMode string
	// KVTDecompressionPropertyKey_GeneratePerFrameHDRDisplayMetadata is a key that indicates to generate per frame HDR Metadata and attach it to the resulting decoded pixel buffers.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionPropertyKey_GeneratePerFrameHDRDisplayMetadata
	KVTDecompressionPropertyKey_GeneratePerFrameHDRDisplayMetadata string
	// KVTDecompressionPropertyKey_MaxOutputPresentationTimeStampOfFramesBeingDecoded is the maximum output presentation timestamp of the frames currently being decoded.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionPropertyKey_MaxOutputPresentationTimeStampOfFramesBeingDecoded
	KVTDecompressionPropertyKey_MaxOutputPresentationTimeStampOfFramesBeingDecoded string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionPropertyKey_MaximizePowerEfficiency
	KVTDecompressionPropertyKey_MaximizePowerEfficiency string
	// KVTDecompressionPropertyKey_MinOutputPresentationTimeStampOfFramesBeingDecoded is the minimum output presentation timestamp of the frames currently being decoded.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionPropertyKey_MinOutputPresentationTimeStampOfFramesBeingDecoded
	KVTDecompressionPropertyKey_MinOutputPresentationTimeStampOfFramesBeingDecoded string
	// KVTDecompressionPropertyKey_NumberOfFramesBeingDecoded is returns the number of frames currently being decoded.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionPropertyKey_NumberOfFramesBeingDecoded
	KVTDecompressionPropertyKey_NumberOfFramesBeingDecoded string
	// KVTDecompressionPropertyKey_OnlyTheseFrames is requests that frames be filtered by type.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionPropertyKey_OnlyTheseFrames
	KVTDecompressionPropertyKey_OnlyTheseFrames string
	// KVTDecompressionPropertyKey_OutputPoolRequestedMinimumBufferCount is the requested minimum buffer count that a decompression session should use for its output pixel buffer pool, without releasing buffers while the number in use is below this level.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionPropertyKey_OutputPoolRequestedMinimumBufferCount
	KVTDecompressionPropertyKey_OutputPoolRequestedMinimumBufferCount string
	// KVTDecompressionPropertyKey_PixelBufferPool is a pixel buffer pool for pixel buffers being output by the decompression session.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionPropertyKey_PixelBufferPool
	KVTDecompressionPropertyKey_PixelBufferPool string
	// KVTDecompressionPropertyKey_PixelBufferPoolIsShared is a Boolean value indicating whether a common pixel buffer pool is shared between the video decoder and the session client.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionPropertyKey_PixelBufferPoolIsShared
	KVTDecompressionPropertyKey_PixelBufferPoolIsShared string
	// KVTDecompressionPropertyKey_PixelFormatsWithReducedResolutionSupport is pixel formats that support reduced-resolution decoding (optional).
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionPropertyKey_PixelFormatsWithReducedResolutionSupport
	KVTDecompressionPropertyKey_PixelFormatsWithReducedResolutionSupport string
	// KVTDecompressionPropertyKey_PixelTransferProperties is specific pixel transfer features to be used during decompression.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionPropertyKey_PixelTransferProperties
	KVTDecompressionPropertyKey_PixelTransferProperties string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionPropertyKey_PropagatePerFrameHDRDisplayMetadata
	KVTDecompressionPropertyKey_PropagatePerFrameHDRDisplayMetadata string
	// KVTDecompressionPropertyKey_RealTime is a Boolean value indicating whether it’s recommended that the video decoder perform decompression in real time.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionPropertyKey_RealTime
	KVTDecompressionPropertyKey_RealTime string
	// KVTDecompressionPropertyKey_ReducedCoefficientDecode is requests approximation during decoding.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionPropertyKey_ReducedCoefficientDecode
	KVTDecompressionPropertyKey_ReducedCoefficientDecode string
	// KVTDecompressionPropertyKey_ReducedFrameDelivery is the proportion of frames that should be delivered, indicating that the rest may be dropped.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionPropertyKey_ReducedFrameDelivery
	KVTDecompressionPropertyKey_ReducedFrameDelivery string
	// KVTDecompressionPropertyKey_ReducedResolutionDecode is request decoding at smaller resolutions than full-size (optional).
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionPropertyKey_ReducedResolutionDecode
	KVTDecompressionPropertyKey_ReducedResolutionDecode string
	// KVTDecompressionPropertyKey_RequestRAWOutput is for decoders that produce RAW output, this property requests that the decompression session provides unprocessed output.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionPropertyKey_RequestRAWOutput
	KVTDecompressionPropertyKey_RequestRAWOutput string
	// KVTDecompressionPropertyKey_RequestedMVHEVCVideoLayerIDs is requests multi-image decoding of specific MV-HEVC video layers.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionPropertyKey_RequestedMVHEVCVideoLayerIDs
	KVTDecompressionPropertyKey_RequestedMVHEVCVideoLayerIDs string
	// KVTDecompressionPropertyKey_SuggestedQualityOfServiceTiers is an array of dictionaries that describe decreasing quality-of-service levels that clients can use to maintain realtime playback (optional).
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionPropertyKey_SuggestedQualityOfServiceTiers
	KVTDecompressionPropertyKey_SuggestedQualityOfServiceTiers string
	// KVTDecompressionPropertyKey_SupportedPixelFormatsOrderedByPerformance is an array indicating speed tradeoffs between pixel formats (optional).
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionPropertyKey_SupportedPixelFormatsOrderedByPerformance
	KVTDecompressionPropertyKey_SupportedPixelFormatsOrderedByPerformance string
	// KVTDecompressionPropertyKey_SupportedPixelFormatsOrderedByQuality is an array indicating quality levels among pixel formats.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionPropertyKey_SupportedPixelFormatsOrderedByQuality
	KVTDecompressionPropertyKey_SupportedPixelFormatsOrderedByQuality string
	// KVTDecompressionPropertyKey_ThreadCount is the number of threads used by a codec or the suggested number of threads to use (optional).
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionPropertyKey_ThreadCount
	KVTDecompressionPropertyKey_ThreadCount string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionPropertyKey_UsingGPURegistryID
	KVTDecompressionPropertyKey_UsingGPURegistryID string
	// KVTDecompressionPropertyKey_UsingHardwareAcceleratedVideoDecoder is indicates if a hardware-accelerated video decoder is being used.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionPropertyKey_UsingHardwareAcceleratedVideoDecoder
	KVTDecompressionPropertyKey_UsingHardwareAcceleratedVideoDecoder string
	// KVTDecompressionProperty_DeinterlaceMode_Temporal is a temporal deinterlace mode.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionProperty_DeinterlaceMode_Temporal
	KVTDecompressionProperty_DeinterlaceMode_Temporal string
	// KVTDecompressionProperty_DeinterlaceMode_VerticalFilter is a vertical filter deinterlace mode.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionProperty_DeinterlaceMode_VerticalFilter
	KVTDecompressionProperty_DeinterlaceMode_VerticalFilter string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionProperty_FieldMode_BothFields
	KVTDecompressionProperty_FieldMode_BothFields string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionProperty_FieldMode_BottomFieldOnly
	KVTDecompressionProperty_FieldMode_BottomFieldOnly string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionProperty_FieldMode_DeinterlaceFields
	KVTDecompressionProperty_FieldMode_DeinterlaceFields string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionProperty_FieldMode_SingleField
	KVTDecompressionProperty_FieldMode_SingleField string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionProperty_FieldMode_TopFieldOnly
	KVTDecompressionProperty_FieldMode_TopFieldOnly string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionProperty_OnlyTheseFrames_AllFrames
	KVTDecompressionProperty_OnlyTheseFrames_AllFrames string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionProperty_OnlyTheseFrames_IFrames
	KVTDecompressionProperty_OnlyTheseFrames_IFrames string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionProperty_OnlyTheseFrames_KeyFrames
	KVTDecompressionProperty_OnlyTheseFrames_KeyFrames string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionProperty_OnlyTheseFrames_NonDroppableFrames
	KVTDecompressionProperty_OnlyTheseFrames_NonDroppableFrames string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionProperty_TemporalLevelLimit
	KVTDecompressionProperty_TemporalLevelLimit string
	// KVTDecompressionResolutionKey_Height is a key to specify the resolution height.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionResolutionKey_Height
	KVTDecompressionResolutionKey_Height string
	// KVTDecompressionResolutionKey_Width is a key to specify the resolution width.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDecompressionResolutionKey_Width
	KVTDecompressionResolutionKey_Width string
	// KVTDownsamplingMode_Average is average missing samples (default center).
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDownsamplingMode_Average
	KVTDownsamplingMode_Average string
	// KVTDownsamplingMode_Decimate is default, decimate extra samples.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTDownsamplingMode_Decimate
	KVTDownsamplingMode_Decimate string
	// KVTEncodeFrameOptionKey_AcknowledgedLTRTokens is enable Long Term Reference (LTR) frames during encoding.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTEncodeFrameOptionKey_AcknowledgedLTRTokens
	KVTEncodeFrameOptionKey_AcknowledgedLTRTokens string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTEncodeFrameOptionKey_BaseFrameQP
	KVTEncodeFrameOptionKey_BaseFrameQP string
	// KVTEncodeFrameOptionKey_ForceKeyFrame is boolean value indicating whether the current frame is forced to be a key frame.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTEncodeFrameOptionKey_ForceKeyFrame
	KVTEncodeFrameOptionKey_ForceKeyFrame string
	// KVTEncodeFrameOptionKey_ForceLTRRefresh is a Boolean value that indicates whether to force Long Term Reference (LTR).
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTEncodeFrameOptionKey_ForceLTRRefresh
	KVTEncodeFrameOptionKey_ForceLTRRefresh string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTH264EntropyMode_CABAC
	KVTH264EntropyMode_CABAC string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTH264EntropyMode_CAVLC
	KVTH264EntropyMode_CAVLC string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTHDRMetadataInsertionMode_Auto
	KVTHDRMetadataInsertionMode_Auto string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTHDRMetadataInsertionMode_None
	KVTHDRMetadataInsertionMode_None string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTHDRMetadataInsertionMode_RequestSDRRangePreservation
	KVTHDRMetadataInsertionMode_RequestSDRRangePreservation string
	// KVTHDRPerFrameMetadataGenerationOptionsKey_HDRFormats is specifies an array of HDR formats to generate.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTHDRPerFrameMetadataGenerationOptionsKey_HDRFormats
	KVTHDRPerFrameMetadataGenerationOptionsKey_HDRFormats string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTHeroEye_Left
	KVTHeroEye_Left string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTHeroEye_Right
	KVTHeroEye_Right string
	// KVTMotionEstimationSessionCreationOption_DetectTrueMotion is enable multi pass true motion detection.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTMotionEstimationSessionCreationOption_DetectTrueMotion
	KVTMotionEstimationSessionCreationOption_DetectTrueMotion string
	// KVTMotionEstimationSessionCreationOption_Label is a label you use to log and track resources.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTMotionEstimationSessionCreationOption_Label
	KVTMotionEstimationSessionCreationOption_Label string
	// KVTMotionEstimationSessionCreationOption_MotionVectorSize is the size of the search blocks that motion estimation session uses.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTMotionEstimationSessionCreationOption_MotionVectorSize
	KVTMotionEstimationSessionCreationOption_MotionVectorSize string
	// KVTMotionEstimationSessionCreationOption_UseMultiPassSearch is an option to use for higher quality motion estimation.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTMotionEstimationSessionCreationOption_UseMultiPassSearch
	KVTMotionEstimationSessionCreationOption_UseMultiPassSearch string
	// KVTMultiPassStorageCreationOption_DoNotDelete is indicates that the multipass storage object’s backing store should not be deleted when finalized.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTMultiPassStorageCreationOption_DoNotDelete
	KVTMultiPassStorageCreationOption_DoNotDelete string
	// KVTPixelRotationPropertyKey_FlipHorizontalOrientation is a key that specifies a horizontal flip.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTPixelRotationPropertyKey_FlipHorizontalOrientation
	KVTPixelRotationPropertyKey_FlipHorizontalOrientation string
	// KVTPixelRotationPropertyKey_FlipVerticalOrientation is a key that specifies a vertical flip.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTPixelRotationPropertyKey_FlipVerticalOrientation
	KVTPixelRotationPropertyKey_FlipVerticalOrientation string
	// KVTPixelRotationPropertyKey_Rotation is a key that specifies the amount of rotation in degrees.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTPixelRotationPropertyKey_Rotation
	KVTPixelRotationPropertyKey_Rotation string
	// KVTPixelTransferPropertyKey_DestinationCleanAperture is the clean aperture for destination image buffers.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTPixelTransferPropertyKey_DestinationCleanAperture
	KVTPixelTransferPropertyKey_DestinationCleanAperture string
	// KVTPixelTransferPropertyKey_DestinationColorPrimaries is the color primaries to be used for destination image buffers.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTPixelTransferPropertyKey_DestinationColorPrimaries
	KVTPixelTransferPropertyKey_DestinationColorPrimaries string
	// KVTPixelTransferPropertyKey_DestinationICCProfile is the International Color Consortium (ICC) profile for destination image buffers.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTPixelTransferPropertyKey_DestinationICCProfile
	KVTPixelTransferPropertyKey_DestinationICCProfile string
	// KVTPixelTransferPropertyKey_DestinationPixelAspectRatio is the pixel aspect ratio for destination image buffers.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTPixelTransferPropertyKey_DestinationPixelAspectRatio
	KVTPixelTransferPropertyKey_DestinationPixelAspectRatio string
	// KVTPixelTransferPropertyKey_DestinationTransferFunction is the color transfer function to be used for destination image buffers.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTPixelTransferPropertyKey_DestinationTransferFunction
	KVTPixelTransferPropertyKey_DestinationTransferFunction string
	// KVTPixelTransferPropertyKey_DestinationYCbCrMatrix is the color matrix to be used for YCbCr to RGB conversions involving the destination image buffers.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTPixelTransferPropertyKey_DestinationYCbCrMatrix
	KVTPixelTransferPropertyKey_DestinationYCbCrMatrix string
	// KVTPixelTransferPropertyKey_DownsamplingMode is the specific chroma downsampling technique to be used.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTPixelTransferPropertyKey_DownsamplingMode
	KVTPixelTransferPropertyKey_DownsamplingMode string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTPixelTransferPropertyKey_RealTime
	KVTPixelTransferPropertyKey_RealTime string
	// KVTPixelTransferPropertyKey_ScalingMode is scaling mode for images during transfer between source and destination buffers.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTPixelTransferPropertyKey_ScalingMode
	KVTPixelTransferPropertyKey_ScalingMode string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H263_Profile0_Level10
	KVTProfileLevel_H263_Profile0_Level10 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H263_Profile0_Level45
	KVTProfileLevel_H263_Profile0_Level45 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H263_Profile3_Level45
	KVTProfileLevel_H263_Profile3_Level45 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H264_Baseline_1_3
	KVTProfileLevel_H264_Baseline_1_3 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H264_Baseline_3_0
	KVTProfileLevel_H264_Baseline_3_0 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H264_Baseline_3_1
	KVTProfileLevel_H264_Baseline_3_1 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H264_Baseline_3_2
	KVTProfileLevel_H264_Baseline_3_2 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H264_Baseline_4_0
	KVTProfileLevel_H264_Baseline_4_0 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H264_Baseline_4_1
	KVTProfileLevel_H264_Baseline_4_1 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H264_Baseline_4_2
	KVTProfileLevel_H264_Baseline_4_2 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H264_Baseline_5_0
	KVTProfileLevel_H264_Baseline_5_0 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H264_Baseline_5_1
	KVTProfileLevel_H264_Baseline_5_1 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H264_Baseline_5_2
	KVTProfileLevel_H264_Baseline_5_2 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H264_Baseline_AutoLevel
	KVTProfileLevel_H264_Baseline_AutoLevel string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H264_ConstrainedBaseline_AutoLevel
	KVTProfileLevel_H264_ConstrainedBaseline_AutoLevel string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H264_ConstrainedHigh_AutoLevel
	KVTProfileLevel_H264_ConstrainedHigh_AutoLevel string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H264_Extended_5_0
	KVTProfileLevel_H264_Extended_5_0 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H264_Extended_AutoLevel
	KVTProfileLevel_H264_Extended_AutoLevel string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H264_High_3_0
	KVTProfileLevel_H264_High_3_0 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H264_High_3_1
	KVTProfileLevel_H264_High_3_1 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H264_High_3_2
	KVTProfileLevel_H264_High_3_2 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H264_High_4_0
	KVTProfileLevel_H264_High_4_0 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H264_High_4_1
	KVTProfileLevel_H264_High_4_1 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H264_High_4_2
	KVTProfileLevel_H264_High_4_2 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H264_High_5_0
	KVTProfileLevel_H264_High_5_0 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H264_High_5_1
	KVTProfileLevel_H264_High_5_1 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H264_High_5_2
	KVTProfileLevel_H264_High_5_2 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H264_High_AutoLevel
	KVTProfileLevel_H264_High_AutoLevel string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H264_Main_3_0
	KVTProfileLevel_H264_Main_3_0 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H264_Main_3_1
	KVTProfileLevel_H264_Main_3_1 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H264_Main_3_2
	KVTProfileLevel_H264_Main_3_2 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H264_Main_4_0
	KVTProfileLevel_H264_Main_4_0 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H264_Main_4_1
	KVTProfileLevel_H264_Main_4_1 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H264_Main_4_2
	KVTProfileLevel_H264_Main_4_2 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H264_Main_5_0
	KVTProfileLevel_H264_Main_5_0 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H264_Main_5_1
	KVTProfileLevel_H264_Main_5_1 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H264_Main_5_2
	KVTProfileLevel_H264_Main_5_2 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_H264_Main_AutoLevel
	KVTProfileLevel_H264_Main_AutoLevel string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_HEVC_Main10_AutoLevel
	KVTProfileLevel_HEVC_Main10_AutoLevel string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_HEVC_Main42210_AutoLevel
	KVTProfileLevel_HEVC_Main42210_AutoLevel string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_HEVC_Main_AutoLevel
	KVTProfileLevel_HEVC_Main_AutoLevel string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_HEVC_Monochrome10_AutoLevel
	KVTProfileLevel_HEVC_Monochrome10_AutoLevel string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_HEVC_Monochrome_AutoLevel
	KVTProfileLevel_HEVC_Monochrome_AutoLevel string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_MP4V_AdvancedSimple_L0
	KVTProfileLevel_MP4V_AdvancedSimple_L0 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_MP4V_AdvancedSimple_L1
	KVTProfileLevel_MP4V_AdvancedSimple_L1 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_MP4V_AdvancedSimple_L2
	KVTProfileLevel_MP4V_AdvancedSimple_L2 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_MP4V_AdvancedSimple_L3
	KVTProfileLevel_MP4V_AdvancedSimple_L3 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_MP4V_AdvancedSimple_L4
	KVTProfileLevel_MP4V_AdvancedSimple_L4 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_MP4V_Main_L2
	KVTProfileLevel_MP4V_Main_L2 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_MP4V_Main_L3
	KVTProfileLevel_MP4V_Main_L3 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_MP4V_Main_L4
	KVTProfileLevel_MP4V_Main_L4 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_MP4V_Simple_L0
	KVTProfileLevel_MP4V_Simple_L0 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_MP4V_Simple_L1
	KVTProfileLevel_MP4V_Simple_L1 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_MP4V_Simple_L2
	KVTProfileLevel_MP4V_Simple_L2 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProfileLevel_MP4V_Simple_L3
	KVTProfileLevel_MP4V_Simple_L3 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProjectionKind_Equirectangular
	KVTProjectionKind_Equirectangular string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProjectionKind_HalfEquirectangular
	KVTProjectionKind_HalfEquirectangular string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProjectionKind_ParametricImmersive
	KVTProjectionKind_ParametricImmersive string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTProjectionKind_Rectilinear
	KVTProjectionKind_Rectilinear string
	// KVTPropertyDocumentationKey is dictionary key to access any documentation intended for developers only.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTPropertyDocumentationKey
	KVTPropertyDocumentationKey string
	// KVTPropertyReadWriteStatusKey is dictionary key to access the read/write status of a property.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTPropertyReadWriteStatusKey
	KVTPropertyReadWriteStatusKey string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTPropertyReadWriteStatus_ReadOnly
	KVTPropertyReadWriteStatus_ReadOnly string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTPropertyReadWriteStatus_ReadWrite
	KVTPropertyReadWriteStatus_ReadWrite string
	// KVTPropertyShouldBeSerializedKey is dictionary key to access the serializable status of a property.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTPropertyShouldBeSerializedKey
	KVTPropertyShouldBeSerializedKey string
	// KVTPropertySupportedValueListKey is dictionary key to access the array of of supported values.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTPropertySupportedValueListKey
	KVTPropertySupportedValueListKey string
	// KVTPropertySupportedValueMaximumKey is dictionary key to access the maximum value of a property.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTPropertySupportedValueMaximumKey
	KVTPropertySupportedValueMaximumKey string
	// KVTPropertySupportedValueMinimumKey is dictionary key to access the minimum value of a property.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTPropertySupportedValueMinimumKey
	KVTPropertySupportedValueMinimumKey string
	// KVTPropertyTypeKey is dictionary key used to access the property type.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTPropertyTypeKey
	KVTPropertyTypeKey string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTPropertyType_Boolean
	KVTPropertyType_Boolean string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTPropertyType_Enumeration
	KVTPropertyType_Enumeration string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTPropertyType_Number
	KVTPropertyType_Number string
	// KVTRAWProcessingParameterListElement_Description is the value corresponding to this key is a human-readable description for the element, suitable for displaying in a tooltip or other descriptive UI.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTRAWProcessingParameterListElement_Description
	KVTRAWProcessingParameterListElement_Description string
	// KVTRAWProcessingParameterListElement_Label is the value corresponding to this key is a human-readable label for the element, suitable for displaying in a list of options.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTRAWProcessingParameterListElement_Label
	KVTRAWProcessingParameterListElement_Label string
	// KVTRAWProcessingParameterListElement_ListElementID is the value corresponding to this key is a number indicating the index of a list element parameter in a list in the processing parameters dictionary.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTRAWProcessingParameterListElement_ListElementID
	KVTRAWProcessingParameterListElement_ListElementID string
	// KVTRAWProcessingParameterValueType_Boolean is the value corresponding to this key is a string that indicates a Boolean parameter type.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTRAWProcessingParameterValueType_Boolean
	KVTRAWProcessingParameterValueType_Boolean string
	// KVTRAWProcessingParameterValueType_Float is the value corresponding to this key is a string that indicates a floating-point parameter type.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTRAWProcessingParameterValueType_Float
	KVTRAWProcessingParameterValueType_Float string
	// KVTRAWProcessingParameterValueType_Integer is the value corresponding to this key is a string that indicates an integer parameter type.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTRAWProcessingParameterValueType_Integer
	KVTRAWProcessingParameterValueType_Integer string
	// KVTRAWProcessingParameterValueType_List is the value corresponding to this key is a string that indicates a list parameter type.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTRAWProcessingParameterValueType_List
	KVTRAWProcessingParameterValueType_List string
	// KVTRAWProcessingParameterValueType_SubGroup is the value corresponding to this key is a string that indicates a subgroup parameter type.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTRAWProcessingParameterValueType_SubGroup
	KVTRAWProcessingParameterValueType_SubGroup string
	// KVTRAWProcessingParameter_CameraValue is the value corresponding to this key is the “As Shot” value for this parameter as originally captured by the camera.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTRAWProcessingParameter_CameraValue
	KVTRAWProcessingParameter_CameraValue string
	// KVTRAWProcessingParameter_CurrentValue is the value corresponding to this key is the currently configured value for this parameter.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTRAWProcessingParameter_CurrentValue
	KVTRAWProcessingParameter_CurrentValue string
	// KVTRAWProcessingParameter_Description is the value corresponding to this key is a localized string with a description of the parameter suitable for display in a tooltip or other descriptive UI.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTRAWProcessingParameter_Description
	KVTRAWProcessingParameter_Description string
	// KVTRAWProcessingParameter_Enabled is the value corresponding to this key is Boolean indicating whether the parameter is enabled and can be modified.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTRAWProcessingParameter_Enabled
	KVTRAWProcessingParameter_Enabled string
	// KVTRAWProcessingParameter_InitialValue is the value corresponding to this key is the initial value for this parameter as defined by the container and metadata provided at creation time.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTRAWProcessingParameter_InitialValue
	KVTRAWProcessingParameter_InitialValue string
	// KVTRAWProcessingParameter_Key is the value corresponding to this key must match the identifier for one of the permitted processing parameters.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTRAWProcessingParameter_Key
	KVTRAWProcessingParameter_Key string
	// KVTRAWProcessingParameter_ListArray is the value corresponding to this key is an array of dictionaries describing each element in the list.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTRAWProcessingParameter_ListArray
	KVTRAWProcessingParameter_ListArray string
	// KVTRAWProcessingParameter_MaximumValue is the value corresponding to this key is the maximum value allowed for this parameter.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTRAWProcessingParameter_MaximumValue
	KVTRAWProcessingParameter_MaximumValue string
	// KVTRAWProcessingParameter_MinimumValue is the value corresponding to this key is the minimum value allowed for this parameter.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTRAWProcessingParameter_MinimumValue
	KVTRAWProcessingParameter_MinimumValue string
	// KVTRAWProcessingParameter_Name is the value corresponding to this key is a localized string which can be displayed in UI representing this parameter.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTRAWProcessingParameter_Name
	KVTRAWProcessingParameter_Name string
	// KVTRAWProcessingParameter_NeutralValue is the value corresponding to this key is a neutral setting for the processor.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTRAWProcessingParameter_NeutralValue
	KVTRAWProcessingParameter_NeutralValue string
	// KVTRAWProcessingParameter_SubGroup is the value corresponding to this key is an array of dictionaries representing the individual sub-parameters in this group.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTRAWProcessingParameter_SubGroup
	KVTRAWProcessingParameter_SubGroup string
	// KVTRAWProcessingParameter_ValueType is the value corresponding to this key is the type of the parameter.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTRAWProcessingParameter_ValueType
	KVTRAWProcessingParameter_ValueType string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTRAWProcessingPropertyKey_MetadataForSidecarFile
	KVTRAWProcessingPropertyKey_MetadataForSidecarFile string
	// KVTRAWProcessingPropertyKey_MetalDeviceRegistryID is this property requests that the Metal device corresponding to the specified registryID be used for any Metal related processing.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTRAWProcessingPropertyKey_MetalDeviceRegistryID
	KVTRAWProcessingPropertyKey_MetalDeviceRegistryID string
	// KVTRAWProcessingPropertyKey_OutputColorAttachments is the color-related image buffer keys and values that will be attachments to the returned pixel buffers.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTRAWProcessingPropertyKey_OutputColorAttachments
	KVTRAWProcessingPropertyKey_OutputColorAttachments string
	// KVTRotation_0 is a constant that indicates a rotation of 0 degrees.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTRotation_0
	KVTRotation_0 string
	// KVTRotation_180 is a constant that indicates a rotation of 180 degrees.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTRotation_180
	KVTRotation_180 string
	// KVTRotation_CCW90 is a constant that indicates a counterclockwise rotation of 90 degrees.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTRotation_CCW90
	KVTRotation_CCW90 string
	// KVTRotation_CW90 is a constant that indicates a clockwise rotation of 90 degrees.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTRotation_CW90
	KVTRotation_CW90 string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTSampleAttachmentKey_QualityMetrics
	KVTSampleAttachmentKey_QualityMetrics string
	// KVTSampleAttachmentKey_RequireLTRAcknowledgementToken is a number value that contains a unique token for this Long Term Reference (LTR).
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTSampleAttachmentKey_RequireLTRAcknowledgementToken
	KVTSampleAttachmentKey_RequireLTRAcknowledgementToken string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTSampleAttachmentQualityMetricsKey_ChromaBlueMeanSquaredError
	KVTSampleAttachmentQualityMetricsKey_ChromaBlueMeanSquaredError string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTSampleAttachmentQualityMetricsKey_ChromaRedMeanSquaredError
	KVTSampleAttachmentQualityMetricsKey_ChromaRedMeanSquaredError string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTSampleAttachmentQualityMetricsKey_LumaMeanSquaredError
	KVTSampleAttachmentQualityMetricsKey_LumaMeanSquaredError string
	// KVTScalingMode_CropSourceToCleanAperture is the source image buffer’s clean aperture is scaled to the destination clean aperture.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTScalingMode_CropSourceToCleanAperture
	KVTScalingMode_CropSourceToCleanAperture string
	// KVTScalingMode_Letterbox is the source image buffer’s clean aperture is scaled to a rectangle fitted inside the destination clean aperture that preserves the source picture aspect ratio.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTScalingMode_Letterbox
	KVTScalingMode_Letterbox string
	// KVTScalingMode_Normal is the full width and height of the source image buffer is stretched to the full width and height of the destination image buffer.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTScalingMode_Normal
	KVTScalingMode_Normal string
	// KVTScalingMode_Trim is the source image buffer’s clean aperture is scaled to a rectangle that completely fills the destination clean aperture and preserves the source picture aspect ratio.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTScalingMode_Trim
	KVTScalingMode_Trim string
	// KVTVideoDecoderSpecification_EnableHardwareAcceleratedVideoDecoder is a Boolean value indicating whether VideoToolbox uses a hardware-accelerated video decoder, if available.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTVideoDecoderSpecification_EnableHardwareAcceleratedVideoDecoder
	KVTVideoDecoderSpecification_EnableHardwareAcceleratedVideoDecoder string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTVideoDecoderSpecification_PreferredDecoderGPURegistryID
	KVTVideoDecoderSpecification_PreferredDecoderGPURegistryID string
	// KVTVideoDecoderSpecification_RequireHardwareAcceleratedVideoDecoder is a Boolean value indicating whether to require hardware-accelerated decoding.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTVideoDecoderSpecification_RequireHardwareAcceleratedVideoDecoder
	KVTVideoDecoderSpecification_RequireHardwareAcceleratedVideoDecoder string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTVideoDecoderSpecification_RequiredDecoderGPURegistryID
	KVTVideoDecoderSpecification_RequiredDecoderGPURegistryID string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTVideoEncoderListOption_IncludeStandardDefinitionDVEncoders
	KVTVideoEncoderListOption_IncludeStandardDefinitionDVEncoders string
	// KVTVideoEncoderList_CodecName is the encoder’s codec name key.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTVideoEncoderList_CodecName
	KVTVideoEncoderList_CodecName string
	// KVTVideoEncoderList_CodecType is the encoder’s codec type key.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTVideoEncoderList_CodecType
	KVTVideoEncoderList_CodecType string
	// KVTVideoEncoderList_DisplayName is the encoder’s display name key.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTVideoEncoderList_DisplayName
	KVTVideoEncoderList_DisplayName string
	// KVTVideoEncoderList_EncoderID is a key that identifies the encoder ID.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTVideoEncoderList_EncoderID
	KVTVideoEncoderList_EncoderID string
	// KVTVideoEncoderList_EncoderName is a key for the encoder’s name.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTVideoEncoderList_EncoderName
	KVTVideoEncoderList_EncoderName string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTVideoEncoderList_GPURegistryID
	KVTVideoEncoderList_GPURegistryID string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTVideoEncoderList_InstanceLimit
	KVTVideoEncoderList_InstanceLimit string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTVideoEncoderList_IsHardwareAccelerated
	KVTVideoEncoderList_IsHardwareAccelerated string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTVideoEncoderList_PerformanceRating
	KVTVideoEncoderList_PerformanceRating string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTVideoEncoderList_QualityRating
	KVTVideoEncoderList_QualityRating string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTVideoEncoderList_SupportedSelectionProperties
	KVTVideoEncoderList_SupportedSelectionProperties string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTVideoEncoderList_SupportsFrameReordering
	KVTVideoEncoderList_SupportsFrameReordering string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTVideoEncoderList_SupportsMultiPass
	KVTVideoEncoderList_SupportsMultiPass string
	// KVTVideoEncoderSpecification_EnableHardwareAcceleratedVideoEncoder is a Boolean value indicating whether hardware-accelerated video encoding is allowed, if available.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTVideoEncoderSpecification_EnableHardwareAcceleratedVideoEncoder
	KVTVideoEncoderSpecification_EnableHardwareAcceleratedVideoEncoder string
	// KVTVideoEncoderSpecification_EnableLowLatencyRateControl is specifies to select an encoder that supports low-latency operation and enables low-latency mode.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTVideoEncoderSpecification_EnableLowLatencyRateControl
	KVTVideoEncoderSpecification_EnableLowLatencyRateControl string
	// KVTVideoEncoderSpecification_EncoderID is a key that indicates a particular video encoder to use.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTVideoEncoderSpecification_EncoderID
	KVTVideoEncoderSpecification_EncoderID string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTVideoEncoderSpecification_PreferredEncoderGPURegistryID
	KVTVideoEncoderSpecification_PreferredEncoderGPURegistryID string
	// KVTVideoEncoderSpecification_RequireHardwareAcceleratedVideoEncoder is a Boolean value indicating whether hardware-accelerated encoding is required.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTVideoEncoderSpecification_RequireHardwareAcceleratedVideoEncoder
	KVTVideoEncoderSpecification_RequireHardwareAcceleratedVideoEncoder string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTVideoEncoderSpecification_RequiredEncoderGPURegistryID
	KVTVideoEncoderSpecification_RequiredEncoderGPURegistryID string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTViewPackingKind_OverUnder
	KVTViewPackingKind_OverUnder string
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTViewPackingKind_SideBySide
	KVTViewPackingKind_SideBySide string
)
View Source
var (
	// VTFrameProcessorErrorDomain is the error domain of Video Toolbox errors.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorErrorDomain
	VTFrameProcessorErrorDomain foundation.NSErrorDomain
)

Functions

func NewErrorBlock

func NewErrorBlock(handler ErrorHandler) (objc.ID, func())

NewErrorBlock wraps a Go ErrorHandler as an Objective-C block. The caller must defer the returned cleanup function.

Used by:

func NewVTCompressionOutputHandlerBlock

func NewVTCompressionOutputHandlerBlock(handler VTCompressionOutputHandler) (objc.ID, func())

NewVTCompressionOutputHandlerBlock wraps a Go VTCompressionOutputHandler as an Objective-C block. The caller must defer the returned cleanup function.

func NewVTFrameProcessorParametersErrorBlock

func NewVTFrameProcessorParametersErrorBlock(handler VTFrameProcessorParametersErrorHandler) (objc.ID, func())

NewVTFrameProcessorParametersErrorBlock wraps a Go VTFrameProcessorParametersErrorHandler as an Objective-C block. The caller must defer the returned cleanup function.

Used by:

func NewVTMotionEstimationOutputHandlerBlock

func NewVTMotionEstimationOutputHandlerBlock(handler VTMotionEstimationOutputHandler) (objc.ID, func())

NewVTMotionEstimationOutputHandlerBlock wraps a Go VTMotionEstimationOutputHandler as an Objective-C block. The caller must defer the returned cleanup function.

func NewVTRAWProcessingOutputHandlerBlock

func NewVTRAWProcessingOutputHandlerBlock(handler VTRAWProcessingOutputHandler) (objc.ID, func())

NewVTRAWProcessingOutputHandlerBlock wraps a Go VTRAWProcessingOutputHandler as an Objective-C block. The caller must defer the returned cleanup function.

func NewVTRAWProcessingParameterChangeHandlerBlock

func NewVTRAWProcessingParameterChangeHandlerBlock(handler VTRAWProcessingParameterChangeHandler) (objc.ID, func())

NewVTRAWProcessingParameterChangeHandlerBlock wraps a Go VTRAWProcessingParameterChangeHandler as an Objective-C block. The caller must defer the returned cleanup function.

func VTCompressionSessionBeginPass

func VTCompressionSessionBeginPass(session VTCompressionSessionRef, beginPassFlags VTCompressionSessionOptionFlags, reserved *uint32) int32

VTCompressionSessionBeginPass marks the start of a specific compression pass.

See: https://developer.apple.com/documentation/VideoToolbox/VTCompressionSessionBeginPass(_:flags:_:)

func VTCompressionSessionCompleteFrames

func VTCompressionSessionCompleteFrames(session VTCompressionSessionRef, completeUntilPresentationTimeStamp coremedia.CMTime) int32

VTCompressionSessionCompleteFrames forces the compression session to complete the encoding of frames.

See: https://developer.apple.com/documentation/VideoToolbox/VTCompressionSessionCompleteFrames(_:untilPresentationTimeStamp:)

func VTCompressionSessionCreate

func VTCompressionSessionCreate(allocator corefoundation.CFAllocatorRef, width int32, height int32, codecType uint32, encoderSpecification corefoundation.CFDictionaryRef, sourceImageBufferAttributes corefoundation.CFDictionaryRef, compressedDataAllocator corefoundation.CFAllocatorRef, outputCallback VTCompressionOutputCallback, outputCallbackRefCon unsafe.Pointer, compressionSessionOut *VTCompressionSessionRef) int32

VTCompressionSessionCreate creates an object that compresses video frames.

See: https://developer.apple.com/documentation/VideoToolbox/VTCompressionSessionCreate(allocator:width:height:codecType:encoderSpecification:imageBufferAttributes:compressedDataAllocator:outputCallback:refcon:compressionSessionOut:)

func VTCompressionSessionEncodeFrame

func VTCompressionSessionEncodeFrame(session VTCompressionSessionRef, imageBuffer corevideo.CVImageBufferRef, presentationTimeStamp coremedia.CMTime, duration coremedia.CMTime, frameProperties corefoundation.CFDictionaryRef, sourceFrameRefcon unsafe.Pointer, infoFlagsOut *VTEncodeInfoFlags) int32

VTCompressionSessionEncodeFrame presents frames to the compression session.

See: https://developer.apple.com/documentation/VideoToolbox/VTCompressionSessionEncodeFrame(_:imageBuffer:presentationTimeStamp:duration:frameProperties:sourceFrameRefcon:infoFlagsOut:)

func VTCompressionSessionEncodeFrameWithOutputHandler

func VTCompressionSessionEncodeFrameWithOutputHandler(session VTCompressionSessionRef, imageBuffer corevideo.CVImageBufferRef, presentationTimeStamp coremedia.CMTime, duration coremedia.CMTime, frameProperties corefoundation.CFDictionaryRef, infoFlagsOut *VTEncodeInfoFlags, outputHandler VTCompressionOutputHandler) int32

VTCompressionSessionEncodeFrameWithOutputHandler presents frames to the compression session and invokes the output callback when compression is complete.

See: https://developer.apple.com/documentation/VideoToolbox/VTCompressionSessionEncodeFrame(_:imageBuffer:presentationTimeStamp:duration:frameProperties:infoFlagsOut:outputHandler:)

func VTCompressionSessionEncodeMultiImageFrame

func VTCompressionSessionEncodeMultiImageFrame(session VTCompressionSessionRef, taggedBufferGroup coremedia.CMTaggedBufferGroupRef, presentationTimeStamp coremedia.CMTime, duration coremedia.CMTime, frameProperties corefoundation.CFDictionaryRef, sourceFrameRefcon unsafe.Pointer, infoFlagsOut *VTEncodeInfoFlags) int32

VTCompressionSessionEncodeMultiImageFrame passes a multi-image frame to a compression session for encoding.

See: https://developer.apple.com/documentation/VideoToolbox/VTCompressionSessionEncodeMultiImageFrame

func VTCompressionSessionEncodeMultiImageFrameWithOutputHandler

func VTCompressionSessionEncodeMultiImageFrameWithOutputHandler(session VTCompressionSessionRef, taggedBufferGroup coremedia.CMTaggedBufferGroupRef, presentationTimeStamp coremedia.CMTime, duration coremedia.CMTime, frameProperties corefoundation.CFDictionaryRef, infoFlagsOut *VTEncodeInfoFlags, outputHandler VTCompressionOutputHandler) int32

VTCompressionSessionEncodeMultiImageFrameWithOutputHandler passes a multi-image frame to a compression session for encoding and provides a callback to handle the output.

See: https://developer.apple.com/documentation/VideoToolbox/VTCompressionSessionEncodeMultiImageFrameWithOutputHandler

func VTCompressionSessionEndPass

func VTCompressionSessionEndPass(session VTCompressionSessionRef, furtherPassesRequestedOut *bool, reserved *uint32) int32

VTCompressionSessionEndPass marks the end of a compression pass.

See: https://developer.apple.com/documentation/VideoToolbox/VTCompressionSessionEndPass(_:furtherPassesRequestedOut:_:)

func VTCompressionSessionGetPixelBufferPool

func VTCompressionSessionGetPixelBufferPool(session VTCompressionSessionRef) corevideo.CVPixelBufferPoolRef

VTCompressionSessionGetPixelBufferPool returns a pool that provides ideal source pixel buffers for a compression session.

See: https://developer.apple.com/documentation/VideoToolbox/VTCompressionSessionGetPixelBufferPool(_:)

func VTCompressionSessionGetTimeRangesForNextPass

func VTCompressionSessionGetTimeRangesForNextPass(session VTCompressionSessionRef, timeRangeCountOut *int, timeRangeArrayOut *objc.ID) int32

VTCompressionSessionGetTimeRangesForNextPass retrieves the time ranges for the next pass.

See: https://developer.apple.com/documentation/VideoToolbox/VTCompressionSessionGetTimeRangesForNextPass(_:timeRangeCountOut:timeRangeArrayOut:)

func VTCompressionSessionGetTypeID

func VTCompressionSessionGetTypeID() uint

VTCompressionSessionGetTypeID retrieves the Core Foundation type identifier for the compression session.

See: https://developer.apple.com/documentation/VideoToolbox/VTCompressionSessionGetTypeID()

func VTCompressionSessionInvalidate

func VTCompressionSessionInvalidate(session VTCompressionSessionRef)

VTCompressionSessionInvalidate tears down a compression session.

See: https://developer.apple.com/documentation/VideoToolbox/VTCompressionSessionInvalidate(_:)

func VTCompressionSessionPrepareToEncodeFrames

func VTCompressionSessionPrepareToEncodeFrames(session VTCompressionSessionRef) int32

VTCompressionSessionPrepareToEncodeFrames enables the encoder to perform any necessary resource allocation before the encoder begins encoding frames (optional).

See: https://developer.apple.com/documentation/VideoToolbox/VTCompressionSessionPrepareToEncodeFrames(_:)

func VTCopyRAWProcessorExtensionProperties

func VTCopyRAWProcessorExtensionProperties(formatDesc uintptr, mediaExtensionPropertiesOut *corefoundation.CFDictionaryRef) int32

VTCopyRAWProcessorExtensionProperties returns information about the Media Extension RAW processor supporting the specified format.

See: https://developer.apple.com/documentation/VideoToolbox/VTCopyRAWProcessorExtensionProperties

func VTCopySupportedPropertyDictionaryForEncoder

func VTCopySupportedPropertyDictionaryForEncoder(width int32, height int32, codecType uint32, encoderSpecification corefoundation.CFDictionaryRef, encoderIDOut *corefoundation.CFStringRef, supportedPropertiesOut *corefoundation.CFDictionaryRef) int32

VTCopySupportedPropertyDictionaryForEncoder builds a list of supported properties and encoder ID for an encoder.

See: https://developer.apple.com/documentation/VideoToolbox/VTCopySupportedPropertyDictionaryForEncoder(width:height:codecType:encoderSpecification:encoderIDOut:supportedPropertiesOut:)

func VTCopyVideoDecoderExtensionProperties

func VTCopyVideoDecoderExtensionProperties(formatDesc uintptr, mediaExtensionPropertiesOut *corefoundation.CFDictionaryRef) int32

VTCopyVideoDecoderExtensionProperties returns information about the Media Extension video decoder required to decode the specified format.

See: https://developer.apple.com/documentation/VideoToolbox/VTCopyVideoDecoderExtensionProperties

func VTCopyVideoEncoderList

func VTCopyVideoEncoderList(options corefoundation.CFDictionaryRef, listOfVideoEncodersOut *corefoundation.CFArrayRef) int32

VTCopyVideoEncoderList builds a list of available video encoders.

See: https://developer.apple.com/documentation/VideoToolbox/VTCopyVideoEncoderList(_:_:)

func VTCreateCGImageFromCVPixelBuffer

func VTCreateCGImageFromCVPixelBuffer(pixelBuffer corevideo.CVPixelBufferRef, options corefoundation.CFDictionaryRef, imageOut *coregraphics.CGImageRef) int32

VTCreateCGImageFromCVPixelBuffer creates a Core Graphics bitmap image or image mask using the provided pixel buffer.

See: https://developer.apple.com/documentation/VideoToolbox/VTCreateCGImageFromCVPixelBuffer(_:options:imageOut:)

func VTDecompressionSessionCanAcceptFormatDescription

func VTDecompressionSessionCanAcceptFormatDescription(session VTDecompressionSessionRef, newFormatDesc uintptr) bool

VTDecompressionSessionCanAcceptFormatDescription indicates whether the session can decode frames with the given format description.

See: https://developer.apple.com/documentation/VideoToolbox/VTDecompressionSessionCanAcceptFormatDescription(_:formatDescription:)

func VTDecompressionSessionCopyBlackPixelBuffer

func VTDecompressionSessionCopyBlackPixelBuffer(session VTDecompressionSessionRef, pixelBufferOut *corevideo.CVImageBufferRef) int32

VTDecompressionSessionCopyBlackPixelBuffer copies a black pixel buffer from the decompression session.

See: https://developer.apple.com/documentation/VideoToolbox/VTDecompressionSessionCopyBlackPixelBuffer(_:pixelBufferOut:)

func VTDecompressionSessionCreate

func VTDecompressionSessionCreate(allocator corefoundation.CFAllocatorRef, videoFormatDescription uintptr, videoDecoderSpecification corefoundation.CFDictionaryRef, destinationImageBufferAttributes corefoundation.CFDictionaryRef, outputCallback *VTDecompressionOutputCallbackRecord, decompressionSessionOut *VTDecompressionSessionRef) int32

VTDecompressionSessionCreate creates a session for decompressing video frames.

See: https://developer.apple.com/documentation/VideoToolbox/VTDecompressionSessionCreate(allocator:formatDescription:decoderSpecification:imageBufferAttributes:outputCallback:decompressionSessionOut:)

func VTDecompressionSessionDecodeFrame

func VTDecompressionSessionDecodeFrame(session VTDecompressionSessionRef, sampleBuffer uintptr, decodeFlags VTDecodeFrameFlags, sourceFrameRefCon unsafe.Pointer, infoFlagsOut *VTDecodeInfoFlags) int32

VTDecompressionSessionDecodeFrame decompresses a video frame.

See: https://developer.apple.com/documentation/VideoToolbox/VTDecompressionSessionDecodeFrame(_:sampleBuffer:flags:frameRefcon:infoFlagsOut:)

func VTDecompressionSessionDecodeFrameWithMultiImageCapableOutputHandler

func VTDecompressionSessionDecodeFrameWithMultiImageCapableOutputHandler(session VTDecompressionSessionRef, sampleBuffer uintptr, decodeFlags VTDecodeFrameFlags, infoFlagsOut *VTDecodeInfoFlags, multiImageCapableOutputHandler VTDecompressionMultiImageCapableOutputHandler) int32

VTDecompressionSessionDecodeFrameWithMultiImageCapableOutputHandler decompresses a multi-image frame and calls the specified output handler upon completion.

See: https://developer.apple.com/documentation/VideoToolbox/VTDecompressionSessionDecodeFrameWithMultiImageCapableOutputHandler

func VTDecompressionSessionDecodeFrameWithOptionsAndOutputHandler

func VTDecompressionSessionDecodeFrameWithOptionsAndOutputHandler(session VTDecompressionSessionRef, sampleBuffer uintptr, decodeFlags VTDecodeFrameFlags, frameOptions corefoundation.CFDictionaryRef, infoFlagsOut *VTDecodeInfoFlags, outputHandler VTDecompressionOutputHandler) int32

VTDecompressionSessionDecodeFrameWithOptionsAndOutputHandler.

See: https://developer.apple.com/documentation/VideoToolbox/VTDecompressionSessionDecodeFrame(_:sampleBuffer:flags:frameOptions:infoFlagsOut:outputHandler:)

func VTDecompressionSessionDecodeFrameWithOutputHandler

func VTDecompressionSessionDecodeFrameWithOutputHandler(session VTDecompressionSessionRef, sampleBuffer uintptr, decodeFlags VTDecodeFrameFlags, infoFlagsOut *VTDecodeInfoFlags, outputHandler VTDecompressionOutputHandler) int32

VTDecompressionSessionDecodeFrameWithOutputHandler decompresses a video frame and invokes the output callback when the decompression completes.

See: https://developer.apple.com/documentation/VideoToolbox/VTDecompressionSessionDecodeFrame(_:sampleBuffer:flags:infoFlagsOut:outputHandler:)

func VTDecompressionSessionFinishDelayedFrames

func VTDecompressionSessionFinishDelayedFrames(session VTDecompressionSessionRef) int32

VTDecompressionSessionFinishDelayedFrames directs the decompression session to emit all delayed frames.

See: https://developer.apple.com/documentation/VideoToolbox/VTDecompressionSessionFinishDelayedFrames(_:)

func VTDecompressionSessionGetTypeID

func VTDecompressionSessionGetTypeID() uint

VTDecompressionSessionGetTypeID returns the Core Foundation type identifier for the decompression session.

See: https://developer.apple.com/documentation/VideoToolbox/VTDecompressionSessionGetTypeID()

func VTDecompressionSessionInvalidate

func VTDecompressionSessionInvalidate(session VTDecompressionSessionRef)

VTDecompressionSessionInvalidate tears down a decompression session.

See: https://developer.apple.com/documentation/VideoToolbox/VTDecompressionSessionInvalidate(_:)

func VTDecompressionSessionSetMultiImageCallback

func VTDecompressionSessionSetMultiImageCallback(decompressionSession VTDecompressionSessionRef, outputMultiImageCallback VTDecompressionOutputMultiImageCallback, outputMultiImageRefcon unsafe.Pointer) int32

VTDecompressionSessionSetMultiImageCallback provides a callback capable of receiving multiple images for individual frame decoding requests.

See: https://developer.apple.com/documentation/VideoToolbox/VTDecompressionSessionSetMultiImageCallback

func VTDecompressionSessionWaitForAsynchronousFrames

func VTDecompressionSessionWaitForAsynchronousFrames(session VTDecompressionSessionRef) int32

VTDecompressionSessionWaitForAsynchronousFrames waits for any and all outstanding asynchronous and delayed frames to complete, then returns.

See: https://developer.apple.com/documentation/VideoToolbox/VTDecompressionSessionWaitForAsynchronousFrames(_:)

func VTFrameSiloAddSampleBuffer

func VTFrameSiloAddSampleBuffer(silo VTFrameSiloRef, sampleBuffer uintptr) int32

VTFrameSiloAddSampleBuffer adds a sample buffer to a frame silo object.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameSiloAddSampleBuffer(_:sampleBuffer:)

func VTFrameSiloCallBlockForEachSampleBuffer

func VTFrameSiloCallBlockForEachSampleBuffer(silo VTFrameSiloRef, timeRange coremedia.CMTimeRange, handler func(uintptr) int32) int32

VTFrameSiloCallBlockForEachSampleBuffer retrieves sample buffers from a frame silo object.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameSiloCallBlockForEachSampleBuffer(_:in:handler:)

func VTFrameSiloCallFunctionForEachSampleBuffer

func VTFrameSiloCallFunctionForEachSampleBuffer(silo VTFrameSiloRef, timeRange coremedia.CMTimeRange, refcon uintptr, callback func(unsafe.Pointer, uintptr) int32) int32

VTFrameSiloCallFunctionForEachSampleBuffer retrieves sample buffers from a frame silo object.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameSiloCallFunctionForEachSampleBuffer(_:in:refcon:callback:)

func VTFrameSiloGetProgressOfCurrentPass

func VTFrameSiloGetProgressOfCurrentPass(silo VTFrameSiloRef, progressOut *float32) int32

VTFrameSiloGetProgressOfCurrentPass gets the progress of the current pass.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameSiloGetProgressOfCurrentPass(_:progressOut:)

func VTFrameSiloGetTypeID

func VTFrameSiloGetTypeID() uint

VTFrameSiloGetTypeID retrieves the Core Foundation type identifier for the frame silo object.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameSiloGetTypeID()

func VTFrameSiloSetTimeRangesForNextPass

func VTFrameSiloSetTimeRangesForNextPass(silo VTFrameSiloRef, timeRangeCount int, timeRangeArray *coremedia.CMTimeRange) int32

VTFrameSiloSetTimeRangesForNextPass begins a new pass of samples to be added to a frame silo object.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameSiloSetTimeRangesForNextPass(_:timeRangeCount:timeRangeArray:)

func VTHDRPerFrameMetadataGenerationSessionAttachMetadata

func VTHDRPerFrameMetadataGenerationSessionAttachMetadata(hdrPerFrameMetadataGenerationSession VTHDRPerFrameMetadataGenerationSessionRef, pixelBuffer corevideo.CVPixelBufferRef, sceneChange bool) int32

VTHDRPerFrameMetadataGenerationSessionAttachMetadata attaches per-frame metadata to the pixel buffer and the backing IOSurface.

See: https://developer.apple.com/documentation/VideoToolbox/VTHDRPerFrameMetadataGenerationSessionAttachMetadata

func VTHDRPerFrameMetadataGenerationSessionCreate

func VTHDRPerFrameMetadataGenerationSessionCreate(allocator corefoundation.CFAllocatorRef, framesPerSecond float32, options corefoundation.CFDictionaryRef, hdrPerFrameMetadataGenerationSessionOut *VTHDRPerFrameMetadataGenerationSessionRef) int32

VTHDRPerFrameMetadataGenerationSessionCreate creates a metadata generation session object.

See: https://developer.apple.com/documentation/VideoToolbox/VTHDRPerFrameMetadataGenerationSessionCreate

func VTHDRPerFrameMetadataGenerationSessionGetTypeID

func VTHDRPerFrameMetadataGenerationSessionGetTypeID() uint

VTHDRPerFrameMetadataGenerationSessionGetTypeID retrieves the Core Foundation type identifier for the session.

See: https://developer.apple.com/documentation/VideoToolbox/VTHDRPerFrameMetadataGenerationSessionGetTypeID

func VTIsHardwareDecodeSupported

func VTIsHardwareDecodeSupported(codecType uint32) bool

VTIsHardwareDecodeSupported returns a Boolean value that indicates whether the current system supports hardware decode for the specified codec.

See: https://developer.apple.com/documentation/VideoToolbox/VTIsHardwareDecodeSupported(_:)

func VTIsStereoMVHEVCDecodeSupported

func VTIsStereoMVHEVCDecodeSupported() bool

VTIsStereoMVHEVCDecodeSupported returns a Boolean value that indicates whether the system supports MV-HEVC decoding.

See: https://developer.apple.com/documentation/VideoToolbox/VTIsStereoMVHEVCDecodeSupported()

func VTIsStereoMVHEVCEncodeSupported

func VTIsStereoMVHEVCEncodeSupported() bool

VTIsStereoMVHEVCEncodeSupported returns a Boolean value that indicates whether the system supports MV-HEVC encoding.

See: https://developer.apple.com/documentation/VideoToolbox/VTIsStereoMVHEVCEncodeSupported()

func VTMotionEstimationSessionCompleteFrames

func VTMotionEstimationSessionCompleteFrames(session VTMotionEstimationSessionRef) int32

VTMotionEstimationSessionCompleteFrames directs the motion-estimation session to emit all pending frames and waits for completion.

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionEstimationSessionCompleteFrames

func VTMotionEstimationSessionCopySourcePixelBufferAttributes

func VTMotionEstimationSessionCopySourcePixelBufferAttributes(motionEstimationSession VTMotionEstimationSessionRef, attributesOut *corefoundation.CFDictionaryRef) int32

VTMotionEstimationSessionCopySourcePixelBufferAttributes copies the attributes for source pixel buffers expected by motion-estimation session.

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionEstimationSessionCopySourcePixelBufferAttributes

func VTMotionEstimationSessionCreate

func VTMotionEstimationSessionCreate(allocator corefoundation.CFAllocatorRef, motionVectorProcessorSelectionOptions corefoundation.CFDictionaryRef, width uint32, height uint32, motionEstimationSessionOut *VTMotionEstimationSessionRef) int32

VTMotionEstimationSessionCreate creates a session you use to generate a pixel buffer of motion vectors from two pixel buffers.

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionEstimationSessionCreate

func VTMotionEstimationSessionEstimateMotionVectors

func VTMotionEstimationSessionEstimateMotionVectors(session VTMotionEstimationSessionRef, referenceImage corevideo.CVPixelBufferRef, currentImage corevideo.CVPixelBufferRef, motionEstimationFrameFlags VTMotionEstimationFrameFlags, additionalFrameOptions corefoundation.CFDictionaryRef, outputHandler VTMotionEstimationOutputHandler) int32

VTMotionEstimationSessionEstimateMotionVectors creates a new pixel buffer that contains motion vectors between the input pixel buffers.

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionEstimationSessionEstimateMotionVectors

func VTMotionEstimationSessionGetTypeID

func VTMotionEstimationSessionGetTypeID() uint

VTMotionEstimationSessionGetTypeID get the CoreFoundation type identifier for motion-estimation session type.

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionEstimationSessionGetTypeID

func VTMotionEstimationSessionInvalidate

func VTMotionEstimationSessionInvalidate(session VTMotionEstimationSessionRef)

VTMotionEstimationSessionInvalidate tears down a motion-estimation session.

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionEstimationSessionInvalidate

func VTMultiPassStorageClose

func VTMultiPassStorageClose(multiPassStorage VTMultiPassStorageRef) int32

VTMultiPassStorageClose ensures that any pending data is written to the multipass storage file and closes the file.

See: https://developer.apple.com/documentation/VideoToolbox/VTMultiPassStorageClose(_:)

func VTMultiPassStorageCreate

func VTMultiPassStorageCreate(allocator corefoundation.CFAllocatorRef, fileURL corefoundation.CFURLRef, timeRange coremedia.CMTimeRange, options corefoundation.CFDictionaryRef, multiPassStorageOut *VTMultiPassStorageRef) int32

VTMultiPassStorageCreate creates a multipass storage object using a temporary file.

See: https://developer.apple.com/documentation/VideoToolbox/VTMultiPassStorageCreate(allocator:fileURL:timeRange:options:multiPassStorageOut:)

func VTMultiPassStorageGetTypeID

func VTMultiPassStorageGetTypeID() uint

VTMultiPassStorageGetTypeID retrieves the Core Foundation type identifier for the multipass storage object.

See: https://developer.apple.com/documentation/VideoToolbox/VTMultiPassStorageGetTypeID()

func VTPixelRotationSessionCreate

func VTPixelRotationSessionCreate(allocator corefoundation.CFAllocatorRef, pixelRotationSessionOut *VTPixelRotationSessionRef) int32

VTPixelRotationSessionCreate creates a session to rotate images between pixel buffers.

See: https://developer.apple.com/documentation/VideoToolbox/VTPixelRotationSessionCreate(_:_:)

func VTPixelRotationSessionGetTypeID

func VTPixelRotationSessionGetTypeID() uint

VTPixelRotationSessionGetTypeID returns the Core Foundation type identifier for the rotation session.

See: https://developer.apple.com/documentation/VideoToolbox/VTPixelRotationSessionGetTypeID()

func VTPixelRotationSessionInvalidate

func VTPixelRotationSessionInvalidate(session VTPixelRotationSessionRef)

VTPixelRotationSessionInvalidate tears down a pixel rotation session.

See: https://developer.apple.com/documentation/VideoToolbox/VTPixelRotationSessionInvalidate(_:)

func VTPixelRotationSessionRotateImage

func VTPixelRotationSessionRotateImage(session VTPixelRotationSessionRef, sourceBuffer corevideo.CVPixelBufferRef, destinationBuffer corevideo.CVPixelBufferRef) int32

VTPixelRotationSessionRotateImage rotates a source pixel buffer and writes the output to the destination pixel buffer.

See: https://developer.apple.com/documentation/VideoToolbox/VTPixelRotationSessionRotateImage(_:_:_:)

func VTPixelTransferSessionCreate

func VTPixelTransferSessionCreate(allocator corefoundation.CFAllocatorRef, pixelTransferSessionOut *VTPixelTransferSessionRef) int32

VTPixelTransferSessionCreate creates a session for transferring images between Core Video image buffers that hold pixels in main memory.

See: https://developer.apple.com/documentation/VideoToolbox/VTPixelTransferSessionCreate(allocator:pixelTransferSessionOut:)

func VTPixelTransferSessionGetTypeID

func VTPixelTransferSessionGetTypeID() uint

VTPixelTransferSessionGetTypeID retrieves the Core Foundation type identifier for the pixel transfer session.

See: https://developer.apple.com/documentation/VideoToolbox/VTPixelTransferSessionGetTypeID()

func VTPixelTransferSessionInvalidate

func VTPixelTransferSessionInvalidate(session VTPixelTransferSessionRef)

VTPixelTransferSessionInvalidate tears down a pixel transfer session.

See: https://developer.apple.com/documentation/VideoToolbox/VTPixelTransferSessionInvalidate(_:)

func VTPixelTransferSessionTransferImage

func VTPixelTransferSessionTransferImage(session VTPixelTransferSessionRef, sourceBuffer corevideo.CVPixelBufferRef, destinationBuffer corevideo.CVPixelBufferRef) int32

VTPixelTransferSessionTransferImage copies and/or converts an image from one pixel buffer to another.

See: https://developer.apple.com/documentation/VideoToolbox/VTPixelTransferSessionTransferImage(_:from:to:)

func VTRAWProcessingSessionCompleteFrames

func VTRAWProcessingSessionCompleteFrames(session VTRAWProcessingSessionRef) int32

VTRAWProcessingSessionCompleteFrames forces the RAW Processor to complete processing frames.

See: https://developer.apple.com/documentation/VideoToolbox/VTRAWProcessingSessionCompleteFrames

func VTRAWProcessingSessionCopyProcessingParameters

func VTRAWProcessingSessionCopyProcessingParameters(session VTRAWProcessingSessionRef, outParameterArray *corefoundation.CFArrayRef) int32

VTRAWProcessingSessionCopyProcessingParameters copies an array of dictionaries describing the parameters provided by the RAW Processor for frame processing.

See: https://developer.apple.com/documentation/VideoToolbox/VTRAWProcessingSessionCopyProcessingParameters

func VTRAWProcessingSessionCreate

func VTRAWProcessingSessionCreate(allocator corefoundation.CFAllocatorRef, formatDescription uintptr, outputPixelBufferAttributes corefoundation.CFDictionaryRef, processingSessionOptions corefoundation.CFDictionaryRef, processingSessionOut *VTRAWProcessingSessionRef) int32

VTRAWProcessingSessionCreate creates a RAW video frame processing session.

See: https://developer.apple.com/documentation/VideoToolbox/VTRAWProcessingSessionCreate

func VTRAWProcessingSessionGetTypeID

func VTRAWProcessingSessionGetTypeID() uint

VTRAWProcessingSessionGetTypeID returns the type identifier for a RAW processing session.

See: https://developer.apple.com/documentation/VideoToolbox/VTRAWProcessingSessionGetTypeID

func VTRAWProcessingSessionInvalidate

func VTRAWProcessingSessionInvalidate(session VTRAWProcessingSessionRef)

VTRAWProcessingSessionInvalidate tears down a RAW processing session.

See: https://developer.apple.com/documentation/VideoToolbox/VTRAWProcessingSessionInvalidate

func VTRAWProcessingSessionProcessFrame

func VTRAWProcessingSessionProcessFrame(session VTRAWProcessingSessionRef, inputPixelBuffer corevideo.CVPixelBufferRef, frameOptions corefoundation.CFDictionaryRef, outputHandler VTRAWProcessingOutputHandler) int32

VTRAWProcessingSessionProcessFrame submits RAW frames for format-specific processing using sequence and frame level parameters.

See: https://developer.apple.com/documentation/VideoToolbox/VTRAWProcessingSessionProcessFrame

func VTRAWProcessingSessionSetParameterChangedHander deprecated

func VTRAWProcessingSessionSetParameterChangedHander(session VTRAWProcessingSessionRef, parameterChangeHandler VTRAWProcessingParameterChangeHandler) int32

VTRAWProcessingSessionSetParameterChangedHander provides a block which will be called when the session changes the set of processing parameters.

Deprecated: Deprecated since macOS 26.0.

See: https://developer.apple.com/documentation/VideoToolbox/VTRAWProcessingSessionSetParameterChangedHander

func VTRAWProcessingSessionSetParameterChangedHandler

func VTRAWProcessingSessionSetParameterChangedHandler(session VTRAWProcessingSessionRef, parameterChangeHandler VTRAWProcessingParameterChangeHandler) int32

VTRAWProcessingSessionSetParameterChangedHandler.

See: https://developer.apple.com/documentation/VideoToolbox/VTRAWProcessingSessionSetParameterChangedHandler

func VTRAWProcessingSessionSetProcessingParameters

func VTRAWProcessingSessionSetProcessingParameters(session VTRAWProcessingSessionRef, processingParameters corefoundation.CFDictionaryRef) int32

VTRAWProcessingSessionSetProcessingParameters sets a collection of RAW Processing parameters.

See: https://developer.apple.com/documentation/VideoToolbox/VTRAWProcessingSessionSetProcessingParameters

func VTRegisterProfessionalVideoWorkflowVideoDecoders

func VTRegisterProfessionalVideoWorkflowVideoDecoders()

VTRegisterProfessionalVideoWorkflowVideoDecoders loads decoders appropriate for the client’s professional video workflows.

See: https://developer.apple.com/documentation/VideoToolbox/VTRegisterProfessionalVideoWorkflowVideoDecoders()

func VTRegisterProfessionalVideoWorkflowVideoEncoders

func VTRegisterProfessionalVideoWorkflowVideoEncoders()

VTRegisterProfessionalVideoWorkflowVideoEncoders loads encoders appropriate for the client’s professional video workflows.

See: https://developer.apple.com/documentation/VideoToolbox/VTRegisterProfessionalVideoWorkflowVideoEncoders()

func VTRegisterSupplementalVideoDecoderIfAvailable

func VTRegisterSupplementalVideoDecoderIfAvailable(codecType uint32)

VTRegisterSupplementalVideoDecoderIfAvailable registers a video decoder for the specified codec type, if one exists on the current system.

See: https://developer.apple.com/documentation/VideoToolbox/VTRegisterSupplementalVideoDecoderIfAvailable(_:)

func VTSessionCopyProperty

func VTSessionCopyProperty(session VTSessionRef, propertyKey corefoundation.CFStringRef, allocator corefoundation.CFAllocatorRef, propertyValueOut unsafe.Pointer) int32

VTSessionCopyProperty retrieves a property on a Video Toolbox session.

See: https://developer.apple.com/documentation/VideoToolbox/VTSessionCopyProperty(_:key:allocator:valueOut:)

func VTSessionCopySerializableProperties

func VTSessionCopySerializableProperties(session VTSessionRef, allocator corefoundation.CFAllocatorRef, dictionaryOut *corefoundation.CFDictionaryRef) int32

VTSessionCopySerializableProperties retrieves the set of serializable property keys and their current values.

See: https://developer.apple.com/documentation/VideoToolbox/VTSessionCopySerializableProperties(_:allocator:dictionaryOut:)

func VTSessionCopySupportedPropertyDictionary

func VTSessionCopySupportedPropertyDictionary(session VTSessionRef, supportedPropertyDictionaryOut *corefoundation.CFDictionaryRef) int32

VTSessionCopySupportedPropertyDictionary retrieves a dictionary enumerating all the supported properties of a video toolbox session.

See: https://developer.apple.com/documentation/VideoToolbox/VTSessionCopySupportedPropertyDictionary(_:supportedPropertyDictionaryOut:)

func VTSessionSetProperties

func VTSessionSetProperties(session VTSessionRef, propertyDictionary corefoundation.CFDictionaryRef) int32

VTSessionSetProperties sets multiple properties at once.

See: https://developer.apple.com/documentation/VideoToolbox/VTSessionSetProperties(_:propertyDictionary:)

func VTSessionSetProperty

func VTSessionSetProperty(session VTSessionRef, propertyKey corefoundation.CFStringRef, propertyValue corefoundation.CFTypeRef) int32

VTSessionSetProperty sets a property on a VideoToolbox session.

See: https://developer.apple.com/documentation/VideoToolbox/VTSessionSetProperty(_:key:value:)

Types

type ErrorHandler

type ErrorHandler = func(error)

ErrorHandler is the signature for a completion handler block.

Used by:

type IVTFrameProcessor

type IVTFrameProcessor interface {
	objectivec.IObject

	// Starts a new session and configures the processor pipeline.
	StartSessionWithConfigurationError(configuration VTFrameProcessorConfiguration) (bool, error)
	// Asynchronously performs the video effect specified in the start session.
	ProcessWithParametersCompletionHandler(parameters VTFrameProcessorParameters, completionHandler VTFrameProcessorParametersErrorHandler)
	// Asynchronously performs the video effect specified in the start session specifically for Metal.
	ProcessWithCommandBufferParameters(commandBuffer metal.MTLCommandBuffer, parameters VTFrameProcessorParameters)
	// Performs all necessary tasks to end the session.
	EndSession()

	// Synchronously performs the configured video effect.
	ProcessWithParametersError(parameters VTFrameProcessorParameters) (bool, error)
}

An interface definition for the VTFrameProcessor class.

Processing frames

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessor

type IVTFrameProcessorFrame

type IVTFrameProcessorFrame interface {
	objectivec.IObject

	// Creates a frame object with a pixel buffer and presentation time.
	InitWithBufferPresentationTimeStamp(buffer corevideo.CVImageBufferRef, presentationTimeStamp coremedia.CMTime) VTFrameProcessorFrame

	// The pixel buffer specified when the object was created.
	Buffer() corevideo.CVImageBufferRef
	// The presentation timestamp specified when the object was created.
	PresentationTimeStamp() coremedia.CMTime
}

An interface definition for the VTFrameProcessorFrame class.

Creating a frame object

Inspecting the frame

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorFrame

type IVTFrameProcessorOpticalFlow

type IVTFrameProcessorOpticalFlow interface {
	objectivec.IObject

	// Creates an object with forward and backward optical flow pixel buffers.
	InitWithForwardFlowBackwardFlow(forwardFlow corevideo.CVImageBufferRef, backwardFlow corevideo.CVImageBufferRef) VTFrameProcessorOpticalFlow

	// The backward optical flow pixel buffer that was provided when the object was created.
	BackwardFlow() corevideo.CVImageBufferRef
	// The forward optical flow pixel that was provided when the object was created.
	ForwardFlow() corevideo.CVImageBufferRef
}

An interface definition for the VTFrameProcessorOpticalFlow class.

Creating an optical flow configuration

Inspecting the configuration

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorOpticalFlow

type IVTFrameRateConversionConfiguration

type IVTFrameRateConversionConfiguration interface {
	objectivec.IObject

	// Creates a new frame rate conversion configuration with specified flow width and height.
	InitWithFrameWidthFrameHeightUsePrecomputedFlowQualityPrioritizationRevision(frameWidth int, frameHeight int, usePrecomputedFlow bool, qualityPrioritization VTFrameRateConversionConfigurationQualityPrioritization, revision VTFrameRateConversionConfigurationRevision) VTFrameRateConversionConfiguration

	// The width of a source frame in pixels.
	FrameWidth() int
	// The height of a source frame in pixels.
	FrameHeight() int
	// A Boolean value to indicates whether the optical flow will be provided by the user.
	UsePrecomputedFlow() bool
	// A value that specifies whether to prioritize quality or performance.
	QualityPrioritization() VTFrameRateConversionConfigurationQualityPrioritization

	// The specific algorithm or configuration revision to use to perform the request.
	Revision() VTFrameRateConversionConfigurationRevision
}

An interface definition for the VTFrameRateConversionConfiguration class.

Creating a frame rate conversion configuration

Inspecting the configuration

Inspecting revision information

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameRateConversionConfiguration

type IVTFrameRateConversionParameters

type IVTFrameRateConversionParameters interface {
	objectivec.IObject

	// The next source frame in presentation time order.
	NextFrame() IVTFrameProcessorFrame
	// A property that defines the optical flow for an object.
	OpticalFlow() IVTFrameProcessorOpticalFlow
	// An array of floating-point values that indicate which intervals to insert a frame between the current and next frame.
	InterpolationPhase() []foundation.NSNumber
	// A value describing the processing request in a parameters submission object.
	SubmissionMode() VTFrameRateConversionParametersSubmissionMode

	// Creates a new frame rate conversion parameters object.
	InitWithSourceFrameNextFrameOpticalFlowInterpolationPhaseSubmissionModeDestinationFrames(sourceFrame IVTFrameProcessorFrame, nextFrame IVTFrameProcessorFrame, opticalFlow IVTFrameProcessorOpticalFlow, interpolationPhase []foundation.NSNumber, submissionMode VTFrameRateConversionParametersSubmissionMode, destinationFrame []VTFrameProcessorFrame) VTFrameRateConversionParameters
}

An interface definition for the VTFrameRateConversionParameters class.

Inspecting the parameters

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameRateConversionParameters

type IVTLowLatencyFrameInterpolationConfiguration

type IVTLowLatencyFrameInterpolationConfiguration interface {
	objectivec.IObject

	// Creates a new low-latency frame interpolation configuration for frame-rate conversion.
	InitWithFrameWidthFrameHeightNumberOfInterpolatedFrames(frameWidth int, frameHeight int, numberOfInterpolatedFrames int) VTLowLatencyFrameInterpolationConfiguration
	// Creates a new low-latency frame interpolation configuration for spatial scaling and temporal scaling.
	InitWithFrameWidthFrameHeightSpatialScaleFactor(frameWidth int, frameHeight int, spatialScaleFactor int) VTLowLatencyFrameInterpolationConfiguration

	// Width of source frames in pixels.
	FrameWidth() int
	// Height of source frames in pixels.
	FrameHeight() int
	// Number of uniformly spaced frames for which you configured the processor.
	NumberOfInterpolatedFrames() int
	// Configured spatial scale factor as an integer.
	SpatialScaleFactor() int
}

An interface definition for the VTLowLatencyFrameInterpolationConfiguration class.

Creating a frame interpolation configuration

Inspecting the configuration

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencyFrameInterpolationConfiguration

type IVTLowLatencyFrameInterpolationParameters

type IVTLowLatencyFrameInterpolationParameters interface {
	objectivec.IObject

	// Previous frame that you provided when creating the low-latency frame interpolation parameters object.
	PreviousFrame() IVTFrameProcessorFrame
	// Array of interpolation phases that you provided when creating the low-latency frame interpolation parameters object.
	InterpolationPhase() []foundation.NSNumber

	// Creates a new low-latency frame interpolation parameters object.
	InitWithSourceFramePreviousFrameInterpolationPhaseDestinationFrames(sourceFrame IVTFrameProcessorFrame, previousFrame IVTFrameProcessorFrame, interpolationPhase []foundation.NSNumber, destinationFrames []VTFrameProcessorFrame) VTLowLatencyFrameInterpolationParameters
}

An interface definition for the VTLowLatencyFrameInterpolationParameters class.

Inspecting the parameters

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencyFrameInterpolationParameters

type IVTLowLatencySuperResolutionScalerConfiguration

type IVTLowLatencySuperResolutionScalerConfiguration interface {
	objectivec.IObject

	// Creates a new low-latency super-resolution scaler configuration with specified frame width and height.
	InitWithFrameWidthFrameHeightScaleFactor(frameWidth int, frameHeight int, scaleFactor float32) VTLowLatencySuperResolutionScalerConfiguration

	// Width of source frame in pixels.
	FrameWidth() int
	// Height of source frame in pixels.
	FrameHeight() int
	// Scale factor with which you initialized the configuration.
	ScaleFactor() float32
}

An interface definition for the VTLowLatencySuperResolutionScalerConfiguration class.

Creating a super resolution scaler configuration

Inspecting the configuration

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencySuperResolutionScalerConfiguration

type IVTLowLatencySuperResolutionScalerParameters

type IVTLowLatencySuperResolutionScalerParameters interface {
	objectivec.IObject

	// Creates a new low-latency, super-resolution scaler parameters object.
	InitWithSourceFrameDestinationFrame(sourceFrame IVTFrameProcessorFrame, destinationFrame IVTFrameProcessorFrame) VTLowLatencySuperResolutionScalerParameters
}

An interface definition for the VTLowLatencySuperResolutionScalerParameters class.

Creating a parameters object

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencySuperResolutionScalerParameters

type IVTMotionBlurConfiguration

type IVTMotionBlurConfiguration interface {
	objectivec.IObject

	// Creates a new motion blur configuration with specified flow width and height.
	InitWithFrameWidthFrameHeightUsePrecomputedFlowQualityPrioritizationRevision(frameWidth int, frameHeight int, usePrecomputedFlow bool, qualityPrioritization VTMotionBlurConfigurationQualityPrioritization, revision VTMotionBlurConfigurationRevision) VTMotionBlurConfiguration

	// The width of a source frame in pixels.
	FrameWidth() int
	// The height of a source frame in pixels.
	FrameHeight() int
	// A Boolean value to indicates whether the the optical flow will be provided by the user.
	UsePrecomputedFlow() bool
	// A value that specifies whether to prioritize quality or performance.
	QualityPrioritization() VTMotionBlurConfigurationQualityPrioritization

	// The specific algorithm or configuration revision that is to be used to perform the request.
	Revision() VTMotionBlurConfigurationRevision
}

An interface definition for the VTMotionBlurConfiguration class.

Creating a motion blur configuration

Inspecting the configuration

Inspecting revision information

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionBlurConfiguration

type IVTMotionBlurParameters

type IVTMotionBlurParameters interface {
	objectivec.IObject

	InitWithSourceFrameNextFramePreviousFrameNextOpticalFlowPreviousOpticalFlowMotionBlurStrengthSubmissionModeDestinationFrame(sourceFrame IVTFrameProcessorFrame, nextFrame IVTFrameProcessorFrame, previousFrame IVTFrameProcessorFrame, nextOpticalFlow IVTFrameProcessorOpticalFlow, previousOpticalFlow IVTFrameProcessorOpticalFlow, motionBlurStrength int, submissionMode VTMotionBlurParametersSubmissionMode, destinationFrame IVTFrameProcessorFrame) VTMotionBlurParameters

	// The next source frame in presentation time order.
	NextFrame() IVTFrameProcessorFrame
	// The previous source frame in presentation time order.
	PreviousFrame() IVTFrameProcessorFrame
	// A value that indicates the strength of blur to apply.
	MotionBlurStrength() int
	// Optional optical flow object that contains forward and backward optical flow with the next frame.
	NextOpticalFlow() IVTFrameProcessorOpticalFlow
	// Optional optical flow object that contains forward and backward optical flow with the previous frame.
	PreviousOpticalFlow() IVTFrameProcessorOpticalFlow
	// A value describing the processing request in a parameters submission object.
	SubmissionMode() VTMotionBlurParametersSubmissionMode
}

An interface definition for the VTMotionBlurParameters class.

Creating a parameters object

Inspecting the parameters

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionBlurParameters

type IVTOpticalFlowConfiguration

type IVTOpticalFlowConfiguration interface {
	objectivec.IObject

	InitWithFrameWidthFrameHeightQualityPrioritizationRevision(frameWidth int, frameHeight int, qualityPrioritization VTOpticalFlowConfigurationQualityPrioritization, revision VTOpticalFlowConfigurationRevision) VTOpticalFlowConfiguration

	// The width of a source frame in pixels.
	FrameWidth() int
	// The height of source frame in pixels.
	FrameHeight() int
	// A value that specifies whether to prioritize quality or performance.
	QualityPrioritization() VTOpticalFlowConfigurationQualityPrioritization

	// The specific algorithm or configuration revision that is to be used to perform the request.
	Revision() VTOpticalFlowConfigurationRevision
}

An interface definition for the VTOpticalFlowConfiguration class.

Creating an optical flow configuration

Inspecting the configuration

Inspecting revision information

See: https://developer.apple.com/documentation/VideoToolbox/VTOpticalFlowConfiguration

type IVTOpticalFlowParameters

type IVTOpticalFlowParameters interface {
	objectivec.IObject

	InitWithSourceFrameNextFrameSubmissionModeDestinationOpticalFlow(sourceFrame IVTFrameProcessorFrame, nextFrame IVTFrameProcessorFrame, submissionMode VTOpticalFlowParametersSubmissionMode, destinationOpticalFlow IVTFrameProcessorOpticalFlow) VTOpticalFlowParameters

	// The next source frame in presentation time order.
	NextFrame() IVTFrameProcessorFrame
	// A user allocated mutable optical flow that will receive the results.
	DestinationOpticalFlow() IVTFrameProcessorOpticalFlow
	// A value describing the processing request in a parameters submission object.
	SubmissionMode() VTOpticalFlowParametersSubmissionMode
}

An interface definition for the VTOpticalFlowParameters class.

Creating a parameters object

Inspecting the parameters

See: https://developer.apple.com/documentation/VideoToolbox/VTOpticalFlowParameters

type IVTSuperResolutionScalerConfiguration

type IVTSuperResolutionScalerConfiguration interface {
	objectivec.IObject

	// Creates a new super-resolution scaler processor configuration.
	InitWithFrameWidthFrameHeightScaleFactorInputTypeUsePrecomputedFlowQualityPrioritizationRevision(frameWidth int, frameHeight int, scaleFactor int, inputType VTSuperResolutionScalerConfigurationInputType, usePrecomputedFlow bool, qualityPrioritization VTSuperResolutionScalerConfigurationQualityPrioritization, revision VTSuperResolutionScalerConfigurationRevision) VTSuperResolutionScalerConfiguration

	// Width of source frame in pixels.
	FrameWidth() int
	// Height of source frame in pixels.
	FrameHeight() int
	// Indicates the scale factor between input and output.
	ScaleFactor() int
	// Indicates the type of input.
	InputType() VTSuperResolutionScalerConfigurationInputType
	// Indicates that you provide optical flow.
	PrecomputedFlow() bool
	// A parameter to control quality and performance levels.
	QualityPrioritization() VTSuperResolutionScalerConfigurationQualityPrioritization

	// Reports the download status of models that the system needs for the current configuration.
	ConfigurationModelStatus() VTSuperResolutionScalerConfigurationModelStatus
	// Returns a floating point value between 0.0 and 1.0 indicating the percentage of required model assets that have been downloaded.
	ConfigurationModelPercentageAvailable() float32
	// Downloads models that the system needs for the current configuration.
	DownloadConfigurationModelWithCompletionHandler(completionHandler ErrorHandler)

	// The specific algorithm or configuration revision you use to perform the request.
	Revision() VTSuperResolutionScalerConfigurationRevision
}

An interface definition for the VTSuperResolutionScalerConfiguration class.

Creating a super resolution scaler configuration

Inspecting the configuration

Managing the configuration model

Inspecting revision information

See: https://developer.apple.com/documentation/VideoToolbox/VTSuperResolutionScalerConfiguration

type IVTSuperResolutionScalerParameters

type IVTSuperResolutionScalerParameters interface {
	objectivec.IObject

	// Creates a new super-resolution scaler parameters instance.
	InitWithSourceFramePreviousFramePreviousOutputFrameOpticalFlowSubmissionModeDestinationFrame(sourceFrame IVTFrameProcessorFrame, previousFrame IVTFrameProcessorFrame, previousOutputFrame IVTFrameProcessorFrame, opticalFlow IVTFrameProcessorOpticalFlow, submissionMode VTSuperResolutionScalerParametersSubmissionMode, destinationFrame IVTFrameProcessorFrame) VTSuperResolutionScalerParameters

	// Previous source frame in presentation time order, which is `nil` for the first frame.
	PreviousFrame() IVTFrameProcessorFrame
	// Previous output frame in presentation time order, which is `nil` for the first frame.
	PreviousOutputFrame() IVTFrameProcessorFrame
	// Optional object that contains forward and backward optical flow with the previous frame.
	OpticalFlow() IVTFrameProcessorOpticalFlow
	// Ordering of the input frames in this submission relative to the previous submission.
	SubmissionMode() VTSuperResolutionScalerParametersSubmissionMode
}

An interface definition for the VTSuperResolutionScalerParameters class.

Creating a parameters object

Inspecting the parameters

See: https://developer.apple.com/documentation/VideoToolbox/VTSuperResolutionScalerParameters

type IVTTemporalNoiseFilterConfiguration

type IVTTemporalNoiseFilterConfiguration interface {
	objectivec.IObject
	VTFrameProcessorConfiguration

	// Creates a new temporal noise-processor configuration.
	InitWithFrameWidthFrameHeightSourcePixelFormat(frameWidth int, frameHeight int, sourcePixelFormat uint32) VTTemporalNoiseFilterConfiguration

	// Width of source frame in pixels.
	FrameWidth() int
	// Height of source frame in pixels.
	FrameHeight() int
}

An interface definition for the VTTemporalNoiseFilterConfiguration class.

Creating a temporal noise filter configuration

Inspecting the configuration

See: https://developer.apple.com/documentation/VideoToolbox/VTTemporalNoiseFilterConfiguration

type IVTTemporalNoiseFilterParameters

type IVTTemporalNoiseFilterParameters interface {
	objectivec.IObject

	// Creates a new [VTTemporalNoiseFilterParameters] object.
	InitWithSourceFrameNextFramesPreviousFramesDestinationFrameFilterStrengthHasDiscontinuity(sourceFrame IVTFrameProcessorFrame, nextFrames []VTFrameProcessorFrame, previousFrames []VTFrameProcessorFrame, destinationFrame IVTFrameProcessorFrame, filterStrength float32, hasDiscontinuity bool) VTTemporalNoiseFilterParameters

	// Future reference frames in presentation time order that you use to process the source frame.
	NextFrames() []VTFrameProcessorFrame
	// Past reference frames in presentation time order that you use to process the source frame.
	PreviousFrames() []VTFrameProcessorFrame
	// A parameter to control the strength of noise-filtering. The value can range from the minimum strength of 0.0 to the maximum strength of 1.0. Change in filter strength causes the processor to flush all frames in the queue prior to processing the source frame.
	FilterStrength() float32
	SetFilterStrength(value float32)
	// A Boolean that indicates sequence discontinuity, forcing the processor to reset prior to processing the source frame.
	HasDiscontinuity() bool
	SetHasDiscontinuity(value bool)
}

An interface definition for the VTTemporalNoiseFilterParameters class.

Creating a parameters object

Inspecting the parameters

See: https://developer.apple.com/documentation/VideoToolbox/VTTemporalNoiseFilterParameters

type KVT

type KVT int32
const (
	KVTAllocationFailedErr                        KVT = -12904
	KVTColorCorrectionImageRotationFailedErr      KVT = -12219
	KVTColorCorrectionPixelTransferFailedErr      KVT = -12212
	KVTColorSyncTransformConvertFailedErr         KVT = -12919
	KVTCouldNotCreateColorCorrectionDataErr       KVT = -12918
	KVTCouldNotCreateInstanceErr                  KVT = -12907
	KVTCouldNotFindExtensionErr                   KVT = -19510
	KVTCouldNotFindTemporalFilterErr              KVT = -12217
	KVTCouldNotFindVideoDecoderErr                KVT = -12906
	KVTCouldNotFindVideoEncoderErr                KVT = -12908
	KVTCouldNotOutputTaggedBufferGroupErr         KVT = -17699
	KVTExtensionConflictErr                       KVT = -19511
	KVTExtensionDisabledErr                       KVT = -17697
	KVTFormatDescriptionChangeNotSupportedErr     KVT = -12916
	KVTFrameSiloInvalidTimeRangeErr               KVT = -12216
	KVTFrameSiloInvalidTimeStampErr               KVT = -12215
	KVTImageRotationNotSupportedErr               KVT = -12914
	KVTInsufficientSourceColorDataErr             KVT = -12917
	KVTInvalidSessionErr                          KVT = -12903
	KVTLogTransferFunctionMismatchErr             KVT = 0
	KVTMultiPassStorageIdentifierMismatchErr      KVT = -12213
	KVTMultiPassStorageInvalidErr                 KVT = -12214
	KVTParameterErr                               KVT = -12902
	KVTPixelRotationNotSupportedErr               KVT = -12914
	KVTPixelTransferNotPermittedErr               KVT = -12218
	KVTPixelTransferNotSupportedErr               KVT = -12905
	KVTPropertyNotSupportedErr                    KVT = -12900
	KVTPropertyReadOnlyErr                        KVT = -12901
	KVTSessionMalfunctionErr                      KVT = -17691
	KVTVideoDecoderAuthorizationErr               KVT = -12210
	KVTVideoDecoderBadDataErr                     KVT = -12909
	KVTVideoDecoderCallbackMessagingErr           KVT = -17695
	KVTVideoDecoderMalfunctionErr                 KVT = -12911
	KVTVideoDecoderNeedsRosettaErr                KVT = -17692
	KVTVideoDecoderNotAvailableNowErr             KVT = -12913
	KVTVideoDecoderReferenceMissingErr            KVT = -17694
	KVTVideoDecoderRemovedErr                     KVT = -17690
	KVTVideoDecoderUnknownErr                     KVT = -17696
	KVTVideoDecoderUnsupportedDataFormatErr       KVT = -12910
	KVTVideoEncoderAuthorizationErr               KVT = -12211
	KVTVideoEncoderAutoWhiteBalanceNotLockedErr   KVT = -19512
	KVTVideoEncoderMVHEVCVideoLayerIDsMismatchErr KVT = -17698
	KVTVideoEncoderMalfunctionErr                 KVT = -12912
	KVTVideoEncoderNeedsRosettaErr                KVT = -17693
	KVTVideoEncoderNotAvailableNowErr             KVT = -12915
)

func (KVT) String

func (e KVT) String() string

type KVTQPModulationLevel

type KVTQPModulationLevel int32
const (
	KVTQPModulationLevel_Default KVTQPModulationLevel = -1
	KVTQPModulationLevel_Disable KVTQPModulationLevel = 0
)

func (KVTQPModulationLevel) String

func (e KVTQPModulationLevel) String() string

type VTCompressionOutputCallback

type VTCompressionOutputCallback = func(outputCallbackRefCon unsafe.Pointer, sourceFrameRefCon unsafe.Pointer, status int32, infoFlags uint, sampleBuffer uintptr)

VTCompressionOutputCallback is a callback for the system to invoke when it’s finished compressing a frame.

See: https://developer.apple.com/documentation/VideoToolbox/VTCompressionOutputCallback

type VTCompressionOutputHandler

type VTCompressionOutputHandler = func(status int32, infoFlags uint, sampleBuffer unsafe.Pointer)

VTCompressionOutputHandler is a callback for the system to invoke when it’s finished compressing a frame.

See: https://developer.apple.com/documentation/VideoToolbox/VTCompressionOutputHandler

type VTCompressionSessionOptionFlags

type VTCompressionSessionOptionFlags uint32

See: https://developer.apple.com/documentation/VideoToolbox/VTCompressionSessionOptionFlags

const (
	// KVTCompressionSessionBeginFinalPass: A flag that indicates the last pass in a multi-pass compression session.
	KVTCompressionSessionBeginFinalPass VTCompressionSessionOptionFlags = 1
)

func (VTCompressionSessionOptionFlags) String

type VTCompressionSessionRef

type VTCompressionSessionRef uintptr

VTCompressionSessionRef is a reference to a VideoToolbox compression session.

See: https://developer.apple.com/documentation/VideoToolbox/VTCompressionSession

type VTDecodeFrameFlags

type VTDecodeFrameFlags uint32

See: https://developer.apple.com/documentation/VideoToolbox/VTDecodeFrameFlags

const (
	// KVTDecodeFrame_1xRealTimePlayback: A flag that provides a hint to the video decoder that it’s ok to use a low-power mode that can’t decode faster than realtime.
	KVTDecodeFrame_1xRealTimePlayback VTDecodeFrameFlags = 4
	// KVTDecodeFrame_DoNotOutputFrame: A flag that provides a hint to the decompression session and video decoder not to return a frame.
	KVTDecodeFrame_DoNotOutputFrame VTDecodeFrameFlags = 2
	// KVTDecodeFrame_EnableAsynchronousDecompression: A flag that indicates to enable asynchronous decompression.
	KVTDecodeFrame_EnableAsynchronousDecompression VTDecodeFrameFlags = 1
	// KVTDecodeFrame_EnableTemporalProcessing: A flag that indicates to enable temporal processing.
	KVTDecodeFrame_EnableTemporalProcessing VTDecodeFrameFlags = 8
)

func (VTDecodeFrameFlags) String

func (e VTDecodeFrameFlags) String() string

type VTDecodeInfoFlags

type VTDecodeInfoFlags uint32

See: https://developer.apple.com/documentation/VideoToolbox/VTDecodeInfoFlags

const (
	// KVTDecodeInfo_Asynchronous: A flag that indicates the decode operation ran asynchronously.
	KVTDecodeInfo_Asynchronous VTDecodeInfoFlags = 1
	// KVTDecodeInfo_FrameDropped: A flag that indicates the decode operation dropped a frame.
	KVTDecodeInfo_FrameDropped     VTDecodeInfoFlags = 2
	KVTDecodeInfo_FrameInterrupted VTDecodeInfoFlags = 16
	// KVTDecodeInfo_ImageBufferModifiable: A flag that indicates the image buffer is safe to modify.
	KVTDecodeInfo_ImageBufferModifiable VTDecodeInfoFlags = 4
	// KVTDecodeInfo_SkippedLeadingFrameDropped: A flag that indicates whether the decode process skips leading frames after dropping a synchronization frame.
	KVTDecodeInfo_SkippedLeadingFrameDropped VTDecodeInfoFlags = 8
)

func (VTDecodeInfoFlags) String

func (e VTDecodeInfoFlags) String() string

type VTDecompressionMultiImageCapableOutputHandler

type VTDecompressionMultiImageCapableOutputHandler = func(status int32, infoFlags uint, imageBuffer corevideo.CVImageBufferRef, taggedBufferGroup *uintptr, presentationTimeStamp coremedia.CMTime, presentationDuration coremedia.CMTime)

VTDecompressionMultiImageCapableOutputHandler is a type alias for callback that the system invokes when it finishes decompressing a frame.

See: https://developer.apple.com/documentation/VideoToolbox/VTDecompressionMultiImageCapableOutputHandler

type VTDecompressionOutputCallback

type VTDecompressionOutputCallback = func(decompressionOutputRefCon unsafe.Pointer, sourceFrameRefCon unsafe.Pointer, status int32, infoFlags uint, imageBuffer uintptr, presentationTimeStamp coremedia.CMTime, presentationDuration coremedia.CMTime)

VTDecompressionOutputCallback is the prototype for the callback invoked when frame decompression is complete.

See: https://developer.apple.com/documentation/VideoToolbox/VTDecompressionOutputCallback

type VTDecompressionOutputCallbackRecord

type VTDecompressionOutputCallbackRecord struct {
	// contains filtered or unexported fields
}

VTDecompressionOutputCallbackRecord

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/VideoToolbox/VTDecompressionOutputCallbackRecord

func (*VTDecompressionOutputCallbackRecord) DecompressionOutputCallback

func (s *VTDecompressionOutputCallbackRecord) DecompressionOutputCallback() uintptr

DecompressionOutputCallback returns a raw C code address from the record's packed storage. The address is not callable from Go. To call C through it, use purego to bind a Go function value to the address.

func (*VTDecompressionOutputCallbackRecord) DecompressionOutputRefCon

func (s *VTDecompressionOutputCallbackRecord) DecompressionOutputRefCon() uintptr

DecompressionOutputRefCon returns the DecompressionOutputRefCon field from the record's packed storage.

func (*VTDecompressionOutputCallbackRecord) SetDecompressionOutputCallback

func (s *VTDecompressionOutputCallbackRecord) SetDecompressionOutputCallback(v uintptr)

SetDecompressionOutputCallback stores a raw C code address in the record's packed storage. Use purego.NewCallback to obtain the address for a Go callback. The callback and its address must outlive every use C can make through this record.

v is stored as a raw address. The storage is a byte array, so the garbage collector scans it as integers and an address written here keeps nothing alive. v must name C-owned memory, or Go memory the caller pins with runtime.Pinner for as long as C reads the record.

func (*VTDecompressionOutputCallbackRecord) SetDecompressionOutputRefCon

func (s *VTDecompressionOutputCallbackRecord) SetDecompressionOutputRefCon(v uintptr)

SetDecompressionOutputRefCon updates the DecompressionOutputRefCon field in the record's packed storage.

v is stored as a raw address. The storage is a byte array, so the garbage collector scans it as integers and an address written here keeps nothing alive. v must name C-owned memory, or Go memory the caller pins with runtime.Pinner for as long as C reads the record.

type VTDecompressionOutputHandler

type VTDecompressionOutputHandler = func(status int32, infoFlags uint, imageBuffer corevideo.CVImageBufferRef, presentationTimeStamp coremedia.CMTime, presentationDuration coremedia.CMTime)

VTDecompressionOutputHandler is the prototype for the block invoked when frame decompression is complete.

See: https://developer.apple.com/documentation/VideoToolbox/VTDecompressionOutputHandler

type VTDecompressionOutputMultiImageCallback

type VTDecompressionOutputMultiImageCallback = func(decompressionOutputMultiImageRefCon unsafe.Pointer, sourceFrameRefCon unsafe.Pointer, status int32, infoFlags uint, taggedBufferGroup uintptr, presentationTimeStamp coremedia.CMTime, presentationDuration coremedia.CMTime)

VTDecompressionOutputMultiImageCallback is a callback that the system invokes when multi-image frame decompression completes.

See: https://developer.apple.com/documentation/VideoToolbox/VTDecompressionOutputMultiImageCallback

type VTDecompressionSessionRef

type VTDecompressionSessionRef uintptr

VTDecompressionSessionRef is a reference to a decompression session.

See: https://developer.apple.com/documentation/VideoToolbox/VTDecompressionSession

type VTEncodeInfoFlags

type VTEncodeInfoFlags uint32

See: https://developer.apple.com/documentation/VideoToolbox/VTEncodeInfoFlags

const (
	// KVTEncodeInfo_Asynchronous: A flag that indicates that an encode operation ran asynchronously.
	KVTEncodeInfo_Asynchronous VTEncodeInfoFlags = 1
	// KVTEncodeInfo_FrameDropped: A flag that indicates that a frame dropped during encoding.
	KVTEncodeInfo_FrameDropped VTEncodeInfoFlags = 2
)

func (VTEncodeInfoFlags) String

func (e VTEncodeInfoFlags) String() string

type VTExtensionPropertiesKey

type VTExtensionPropertiesKey = corefoundation.CFStringRef

VTExtensionPropertiesKey is a key in a Media Extension extension properties dictionary.

See: https://developer.apple.com/documentation/VideoToolbox/VTExtensionPropertiesKey

var (
	// KVTExtensionProperties_CodecNameKey is a dictionary key for the user readable name string of the codec.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTExtensionProperties_CodecNameKey
	KVTExtensionProperties_CodecNameKey VTExtensionPropertiesKey
	// KVTExtensionProperties_ContainingBundleNameKey is a dictionary key for the extension host application localized name.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/VTExtensionPropertiesKey/containingBundleName
	KVTExtensionProperties_ContainingBundleNameKey VTExtensionPropertiesKey
	// KVTExtensionProperties_ContainingBundleURLKey is a dictionary key for the URL of the extension host application.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/VTExtensionPropertiesKey/containingBundleURL
	KVTExtensionProperties_ContainingBundleURLKey VTExtensionPropertiesKey
	// KVTExtensionProperties_ExtensionIdentifierKey is a dictionary key for the video decoder extension identifier.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/VTExtensionPropertiesKey/extensionIdentifier
	KVTExtensionProperties_ExtensionIdentifierKey VTExtensionPropertiesKey
	// KVTExtensionProperties_ExtensionNameKey is a dictionary key for the localized extension name.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/VTExtensionPropertiesKey/extensionName
	KVTExtensionProperties_ExtensionNameKey VTExtensionPropertiesKey
	// KVTExtensionProperties_ExtensionURLKey is a dictionary key for the URL of the extension.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/VTExtensionPropertiesKey/extensionURL
	KVTExtensionProperties_ExtensionURLKey VTExtensionPropertiesKey
)

type VTFrameProcessor

type VTFrameProcessor struct {
	objectivec.Object
}

A class that creates a new frame processor for the configured video effect.

Overview

Use this class to perform frame by frame processing on your video. Start by specifying a video effect by passing a VTFrameProcessorConfiguration object to the VTFrameProcessor.StartSessionWithConfigurationError call. Once the session is created, VTFrameProcessor.ProcessWithParametersCompletionHandler is called in a loop to process your video’s frames one at a time. Once all the frames are processed, call an VTFrameProcessor.EndSession to finish all pending processing.

For successful processing, the caller needs to ensure that all buffers passed to the processWithParameters interface are unmodified (including attachments) until the function returns or the callback is received in the case of asynchronous mode.

Processing frames

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessor

func NewVTFrameProcessor

func NewVTFrameProcessor() VTFrameProcessor

NewVTFrameProcessor creates a new VTFrameProcessor instance.

func VTFrameProcessorFromID

func VTFrameProcessorFromID(id objc.ID) VTFrameProcessor

VTFrameProcessorFromID constructs a VTFrameProcessor from an objc.ID.

A class that creates a new frame processor for the configured video effect.

func (VTFrameProcessor) Autorelease

func (v VTFrameProcessor) Autorelease() VTFrameProcessor

Autorelease adds the receiver to the current autorelease pool.

func (VTFrameProcessor) EndSession

func (v VTFrameProcessor) EndSession()

Performs all necessary tasks to end the session.

Discussion

After this call completes, no new frames can be processed unless VTFrameProcessor.StartSessionWithConfigurationError is called again.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessor/endSession()

func (VTFrameProcessor) Init

Init initializes the instance.

func (VTFrameProcessor) ProcessWithCommandBufferParameters

func (v VTFrameProcessor) ProcessWithCommandBufferParameters(commandBuffer metal.MTLCommandBuffer, parameters VTFrameProcessorParameters)

Asynchronously performs the video effect specified in the start session specifically for Metal.

commandBuffer: An existing Metal command buffer where the frame processing will be inserted.

parameters: A VTFrameProcessorParameters based object to specify additional frame based parameters to be used during processing. It needs to match the configuration type used during start session.

Discussion

This function allows you to add the effect to an existing Metal command buffer. This can be used by clients that have an existing Metal pipeline and want to add this effect to it.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessor/process(with:parameters:)

func (VTFrameProcessor) ProcessWithParameters

func (v VTFrameProcessor) ProcessWithParameters(ctx context.Context, parameters VTFrameProcessorParameters) (VTFrameProcessorParameters, error)

ProcessWithParameters is a synchronous wrapper around VTFrameProcessor.ProcessWithParametersCompletionHandler. It blocks until the completion handler fires or the context is cancelled.

func (VTFrameProcessor) ProcessWithParametersCompletionHandler

func (v VTFrameProcessor) ProcessWithParametersCompletionHandler(parameters VTFrameProcessorParameters, completionHandler VTFrameProcessorParametersErrorHandler)

Asynchronously performs the video effect specified in the start session.

parameters: A VTFrameProcessorParameters object to specify additional parameters to use during processing. It needs to match the configuration type used during start session.

completionHandler: This completion handler is called when the frame processing is completed. The completion handler will receive the same parameters object that was provided to the original call, as well as an NSError which will contain an error code if processing was not successful.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessor/process(parameters:completionHandler:)

func (VTFrameProcessor) ProcessWithParametersError

func (v VTFrameProcessor) ProcessWithParametersError(parameters VTFrameProcessorParameters) (bool, error)

Synchronously performs the configured video effect.

parameters: Frame processing parameters to specify additional frame based parameters to be used during processing. The parameters need to match the configuration type used during start session.

Discussion

Frame level settings and frame level input/output parameters are passed by using the respective VTFrameProcessorParameters for the effect that the frame processor is configured for.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessor/processWithParameters:error:

func (VTFrameProcessor) StartSessionWithConfigurationError

func (v VTFrameProcessor) StartSessionWithConfigurationError(configuration VTFrameProcessorConfiguration) (bool, error)

Starts a new session and configures the processor pipeline.

configuration: A configuration object for the video effect that will be applied in the subsequent processing calls.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessor/startSession(configuration:)

type VTFrameProcessorClass

type VTFrameProcessorClass struct {
	// contains filtered or unexported fields
}

func GetVTFrameProcessorClass

func GetVTFrameProcessorClass() VTFrameProcessorClass

GetVTFrameProcessorClass returns the class object for VTFrameProcessor.

func (VTFrameProcessorClass) Alloc

Alloc allocates memory for a new instance of the class.

func (VTFrameProcessorClass) Class

func (vc VTFrameProcessorClass) Class() objc.Class

Class returns the underlying Objective-C class pointer.

type VTFrameProcessorConfiguration

type VTFrameProcessorConfiguration interface {
	objectivec.IObject

	// A dictionary of pixel buffer attributes that define what the source and reference frames passed to the processor must conform to.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorConfiguration/sourcePixelBufferAttributes
	SourcePixelBufferAttributes() foundation.INSDictionary

	// A dictionary of pixel buffer attributes that define which output frames passed to the processor must conform to.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorConfiguration/destinationPixelBufferAttributes
	DestinationPixelBufferAttributes() foundation.INSDictionary

	// Returns the number of “next” frames that this processor requires for processing.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorConfiguration/nextFrameCount-533br
	NextFrameCount() int

	// Returns the number of “previous” frames that this processor requires for processing.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorConfiguration/previousFrameCount-20ke2
	PreviousFrameCount() int

	// A list of supported pixel formats for the current configuration.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorConfiguration/frameSupportedPixelFormats
	FrameSupportedPixelFormats() []foundation.NSNumber
}

A protocol that describes the configuration of a processor to use during a video processing session.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorConfiguration

type VTFrameProcessorConfigurationObject

type VTFrameProcessorConfigurationObject struct {
	objectivec.Object
}

VTFrameProcessorConfigurationObject wraps an existing Objective-C object that conforms to the VTFrameProcessorConfiguration protocol.

func VTFrameProcessorConfigurationObjectFromID

func VTFrameProcessorConfigurationObjectFromID(id objc.ID) VTFrameProcessorConfigurationObject

VTFrameProcessorConfigurationObjectFromID constructs a VTFrameProcessorConfigurationObject from an objc.ID. The object is determined to conform to the protocol at runtime.

func (VTFrameProcessorConfigurationObject) BaseObject

func (VTFrameProcessorConfigurationObject) DestinationPixelBufferAttributes

func (o VTFrameProcessorConfigurationObject) DestinationPixelBufferAttributes() foundation.INSDictionary

A dictionary of pixel buffer attributes that define which output frames passed to the processor must conform to.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorConfiguration/destinationPixelBufferAttributes

func (VTFrameProcessorConfigurationObject) FrameSupportedPixelFormats

func (o VTFrameProcessorConfigurationObject) FrameSupportedPixelFormats() []foundation.NSNumber

A list of supported pixel formats for the current configuration.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorConfiguration/frameSupportedPixelFormats

func (VTFrameProcessorConfigurationObject) NextFrameCount

func (o VTFrameProcessorConfigurationObject) NextFrameCount() int

Returns the number of “next” frames that this processor requires for processing.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorConfiguration/nextFrameCount-533br

func (VTFrameProcessorConfigurationObject) PreviousFrameCount

func (o VTFrameProcessorConfigurationObject) PreviousFrameCount() int

Returns the number of “previous” frames that this processor requires for processing.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorConfiguration/previousFrameCount-20ke2

func (VTFrameProcessorConfigurationObject) SourcePixelBufferAttributes

func (o VTFrameProcessorConfigurationObject) SourcePixelBufferAttributes() foundation.INSDictionary

A dictionary of pixel buffer attributes that define what the source and reference frames passed to the processor must conform to.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorConfiguration/sourcePixelBufferAttributes

type VTFrameProcessorError

type VTFrameProcessorError int

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorError-swift.struct/Code

const (
	// VTFrameProcessorAssetDownloadFailed: Returned if download of a required model asset for the processor failed
	VTFrameProcessorAssetDownloadFailed VTFrameProcessorError = -19743
	// VTFrameProcessorFatalError: A fatal error occurred during processing.
	VTFrameProcessorFatalError VTFrameProcessorError = -19734
	// VTFrameProcessorInitializationFailed: The session failed to initialize the processing pipeline.
	VTFrameProcessorInitializationFailed VTFrameProcessorError = -19736
	// VTFrameProcessorInvalidFrameTiming: A provided frame object has a presentation time stamp which isn’t supported by the processor.
	VTFrameProcessorInvalidFrameTiming VTFrameProcessorError = -19742
	// VTFrameProcessorInvalidParameterError: A provided parameter isn’t valid.
	VTFrameProcessorInvalidParameterError VTFrameProcessorError = -19741
	// VTFrameProcessorMemoryAllocationFailure: The session or processor is unable to allocate the required memory.
	VTFrameProcessorMemoryAllocationFailure VTFrameProcessorError = -19738
	// VTFrameProcessorProcessingError: The processor encountered an issue that prevents it from processing the provided frame.
	VTFrameProcessorProcessingError VTFrameProcessorError = -19740
	// VTFrameProcessorRevisionNotSupported: The specified revision isn’t supported by the configured processor.
	VTFrameProcessorRevisionNotSupported VTFrameProcessorError = -19739
	// VTFrameProcessorSessionAlreadyActive: An attempt is made to start a session that is already started.
	VTFrameProcessorSessionAlreadyActive VTFrameProcessorError = -19733
	// VTFrameProcessorSessionLevelError: The processing failed and current session should be stopped.
	VTFrameProcessorSessionLevelError VTFrameProcessorError = -19735
	// VTFrameProcessorSessionNotStarted: The session is used to process frames without being started.
	VTFrameProcessorSessionNotStarted VTFrameProcessorError = -19732
	// VTFrameProcessorUnknownError: The processor failed for an unknown reason.
	VTFrameProcessorUnknownError VTFrameProcessorError = -19730
	// VTFrameProcessorUnsupportedInput: One or more frames is in a format which isn’t supported by the processor.
	VTFrameProcessorUnsupportedInput VTFrameProcessorError = -19737
	// VTFrameProcessorUnsupportedResolution: The processor failed due to an unsupported resolution.
	VTFrameProcessorUnsupportedResolution VTFrameProcessorError = -19731
)

func (VTFrameProcessorError) String

func (e VTFrameProcessorError) String() string

type VTFrameProcessorFrame

type VTFrameProcessorFrame struct {
	objectivec.Object
}

An object that wraps video frames to send to the processor, as source, reference, or output frames.

Overview

Instances retain the buffer backing them.

Creating a frame object

Inspecting the frame

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorFrame

func NewVTFrameProcessorFrame

func NewVTFrameProcessorFrame() VTFrameProcessorFrame

NewVTFrameProcessorFrame creates a new VTFrameProcessorFrame instance.

func NewVTFrameProcessorFrameWithBufferPresentationTimeStamp

func NewVTFrameProcessorFrameWithBufferPresentationTimeStamp(buffer corevideo.CVImageBufferRef, presentationTimeStamp coremedia.CMTime) VTFrameProcessorFrame

Creates a frame object with a pixel buffer and presentation time.

buffer: A pixel buffer for the frame. This value must be non-NULL and IOSurface backed.

presentationTimeStamp: The presentation timestamp of the buffer.

Discussion

Initialization fails if you specify a [NULL] buffer or one that isn’t backed by an [IOSurface].

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorFrame/init(buffer:presentationTimeStamp:)

func VTFrameProcessorFrameFromID

func VTFrameProcessorFrameFromID(id objc.ID) VTFrameProcessorFrame

VTFrameProcessorFrameFromID constructs a VTFrameProcessorFrame from an objc.ID.

An object that wraps video frames to send to the processor, as source, reference, or output frames.

func (VTFrameProcessorFrame) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (VTFrameProcessorFrame) Buffer

The pixel buffer specified when the object was created.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorFrame/buffer

func (VTFrameProcessorFrame) Init

Init initializes the instance.

func (VTFrameProcessorFrame) InitWithBufferPresentationTimeStamp

func (v VTFrameProcessorFrame) InitWithBufferPresentationTimeStamp(buffer corevideo.CVImageBufferRef, presentationTimeStamp coremedia.CMTime) VTFrameProcessorFrame

Creates a frame object with a pixel buffer and presentation time.

buffer: A pixel buffer for the frame. This value must be non-NULL and IOSurface backed.

presentationTimeStamp: The presentation timestamp of the buffer.

Discussion

Initialization fails if you specify a [NULL] buffer or one that isn’t backed by an [IOSurface].

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorFrame/init(buffer:presentationTimeStamp:)

func (VTFrameProcessorFrame) PresentationTimeStamp

func (v VTFrameProcessorFrame) PresentationTimeStamp() coremedia.CMTime

The presentation timestamp specified when the object was created.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorFrame/presentationTimeStamp

type VTFrameProcessorFrameClass

type VTFrameProcessorFrameClass struct {
	// contains filtered or unexported fields
}

func GetVTFrameProcessorFrameClass

func GetVTFrameProcessorFrameClass() VTFrameProcessorFrameClass

GetVTFrameProcessorFrameClass returns the class object for VTFrameProcessorFrame.

func (VTFrameProcessorFrameClass) Alloc

Alloc allocates memory for a new instance of the class.

func (VTFrameProcessorFrameClass) Class

Class returns the underlying Objective-C class pointer.

type VTFrameProcessorOpticalFlow

type VTFrameProcessorOpticalFlow struct {
	objectivec.Object
}

A class to wrap bidirectional optical flow to send to the processor.

Overview

Instances retain the buffers backing them.

Creating an optical flow configuration

Inspecting the configuration

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorOpticalFlow

func NewVTFrameProcessorOpticalFlow

func NewVTFrameProcessorOpticalFlow() VTFrameProcessorOpticalFlow

NewVTFrameProcessorOpticalFlow creates a new VTFrameProcessorOpticalFlow instance.

func NewVTFrameProcessorOpticalFlowWithForwardFlowBackwardFlow

func NewVTFrameProcessorOpticalFlowWithForwardFlowBackwardFlow(forwardFlow corevideo.CVImageBufferRef, backwardFlow corevideo.CVImageBufferRef) VTFrameProcessorOpticalFlow

Creates an object with forward and backward optical flow pixel buffers.

forwardFlow: A pixel buffer that contains forward optical flow. This value must be non-NULL and IOSurface backed.

backwardFlow: A pixel buffer that contains backward optical flow. his value must be non-NULL and IOSurface backed.

Discussion

Instances retain the buffers backing them. Returns NULL if a NULL CVPixelBuffer is provided or if CVPixelBuffers are not IOSurface backed.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorOpticalFlow/init(forwardFlow:backwardFlow:)

func VTFrameProcessorOpticalFlowFromID

func VTFrameProcessorOpticalFlowFromID(id objc.ID) VTFrameProcessorOpticalFlow

VTFrameProcessorOpticalFlowFromID constructs a VTFrameProcessorOpticalFlow from an objc.ID.

A class to wrap bidirectional optical flow to send to the processor.

func (VTFrameProcessorOpticalFlow) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (VTFrameProcessorOpticalFlow) BackwardFlow

The backward optical flow pixel buffer that was provided when the object was created.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorOpticalFlow/backwardFlow

func (VTFrameProcessorOpticalFlow) ForwardFlow

The forward optical flow pixel that was provided when the object was created.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorOpticalFlow/forwardFlow

func (VTFrameProcessorOpticalFlow) Init

Init initializes the instance.

func (VTFrameProcessorOpticalFlow) InitWithForwardFlowBackwardFlow

func (v VTFrameProcessorOpticalFlow) InitWithForwardFlowBackwardFlow(forwardFlow corevideo.CVImageBufferRef, backwardFlow corevideo.CVImageBufferRef) VTFrameProcessorOpticalFlow

Creates an object with forward and backward optical flow pixel buffers.

forwardFlow: A pixel buffer that contains forward optical flow. This value must be non-NULL and IOSurface backed.

backwardFlow: A pixel buffer that contains backward optical flow. his value must be non-NULL and IOSurface backed.

Discussion

Instances retain the buffers backing them. Returns NULL if a NULL CVPixelBuffer is provided or if CVPixelBuffers are not IOSurface backed.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorOpticalFlow/init(forwardFlow:backwardFlow:)

type VTFrameProcessorOpticalFlowClass

type VTFrameProcessorOpticalFlowClass struct {
	// contains filtered or unexported fields
}

func GetVTFrameProcessorOpticalFlowClass

func GetVTFrameProcessorOpticalFlowClass() VTFrameProcessorOpticalFlowClass

GetVTFrameProcessorOpticalFlowClass returns the class object for VTFrameProcessorOpticalFlow.

func (VTFrameProcessorOpticalFlowClass) Alloc

Alloc allocates memory for a new instance of the class.

func (VTFrameProcessorOpticalFlowClass) Class

Class returns the underlying Objective-C class pointer.

type VTFrameProcessorParameters

type VTFrameProcessorParameters interface {
	objectivec.IObject

	// A processor frame that contains the current source frame to use for all processing features.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorParameters/sourceFrame
	SourceFrame() IVTFrameProcessorFrame

	// Destination frame that contains the destination frame for processors which output a single processed frame.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorParameters/destinationFrame-3im3l
	DestinationFrame() IVTFrameProcessorFrame

	// Array of destination frames for processors which may output more than one processed frame.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorParameters/destinationFrames-8yges
	DestinationFrames() []VTFrameProcessorFrame
}

The base protocol for input and output processing parameters for a frame processor implementation.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorParameters

type VTFrameProcessorParametersCMTimeBoolErrorHandler

type VTFrameProcessorParametersCMTimeBoolErrorHandler = func(VTFrameProcessorParameters, coremedia.CMTime, bool, error)

VTFrameProcessorParametersCMTimeBoolErrorHandler handles This frame output handler is called once for each destination frame in the provided parameters if no errors are encountered.

Used by:

  • [VTFrameProcessor.ProcessWithParametersFrameOutputHandler]

type VTFrameProcessorParametersErrorHandler

type VTFrameProcessorParametersErrorHandler = func(VTFrameProcessorParameters, error)

VTFrameProcessorParametersErrorHandler handles This completion handler is called when the frame processing is completed. The error can be type-asserted to *foundation.NSError for Domain, Code, and UserInfo.

Used by:

type VTFrameProcessorParametersObject

type VTFrameProcessorParametersObject struct {
	objectivec.Object
}

VTFrameProcessorParametersObject wraps an existing Objective-C object that conforms to the VTFrameProcessorParameters protocol.

func VTFrameProcessorParametersObjectFromID

func VTFrameProcessorParametersObjectFromID(id objc.ID) VTFrameProcessorParametersObject

VTFrameProcessorParametersObjectFromID constructs a VTFrameProcessorParametersObject from an objc.ID. The object is determined to conform to the protocol at runtime.

func (VTFrameProcessorParametersObject) BaseObject

func (VTFrameProcessorParametersObject) DestinationFrame

Destination frame that contains the destination frame for processors which output a single processed frame.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorParameters/destinationFrame-3im3l

func (VTFrameProcessorParametersObject) DestinationFrames

Array of destination frames for processors which may output more than one processed frame.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorParameters/destinationFrames-8yges

func (VTFrameProcessorParametersObject) SourceFrame

A processor frame that contains the current source frame to use for all processing features.

Discussion

This property must not be [NULL].

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorParameters/sourceFrame

type VTFrameRateConversionConfiguration

type VTFrameRateConversionConfiguration struct {
	objectivec.Object
}

An object that enables the frame rate conversion on a frame processing session.

Creating a frame rate conversion configuration

Inspecting the configuration

Inspecting revision information

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameRateConversionConfiguration

func NewVTFrameRateConversionConfiguration

func NewVTFrameRateConversionConfiguration() VTFrameRateConversionConfiguration

NewVTFrameRateConversionConfiguration creates a new VTFrameRateConversionConfiguration instance.

func NewVTFrameRateConversionConfigurationWithFrameWidthFrameHeightUsePrecomputedFlowQualityPrioritizationRevision

func NewVTFrameRateConversionConfigurationWithFrameWidthFrameHeightUsePrecomputedFlowQualityPrioritizationRevision(frameWidth int, frameHeight int, usePrecomputedFlow bool, qualityPrioritization VTFrameRateConversionConfigurationQualityPrioritization, revision VTFrameRateConversionConfigurationRevision) VTFrameRateConversionConfiguration

Creates a new frame rate conversion configuration with specified flow width and height.

frameWidth: The width of source frame in pixels. The maximum value is 8192 pixels for macOS, and 4096 pixels for iOS.

frameHeight: The height of source frame in pixels. The maximum value is 4320 pixels for macOS, and 2160 pixels for iOS.

usePrecomputedFlow: If true the optical flow will be provided by the user, else this configuration will compute the optical flow on the fly.

qualityPrioritization: Instance to control quality and performance levels. See VEFrameRateConversionConfigurationQualityPrioritization for more information.

revision: The specific algorithm or configuration revision that is used to perform the request.

Discussion

Initialization fails if the dimensions are out of range or if the revision is unsupported.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameRateConversionConfiguration/init(frameWidth:frameHeight:usePrecomputedFlow:qualityPrioritization:revision:)

func VTFrameRateConversionConfigurationFromID

func VTFrameRateConversionConfigurationFromID(id objc.ID) VTFrameRateConversionConfiguration

VTFrameRateConversionConfigurationFromID constructs a VTFrameRateConversionConfiguration from an objc.ID.

An object that enables the frame rate conversion on a frame processing session.

func (VTFrameRateConversionConfiguration) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (VTFrameRateConversionConfiguration) DestinationPixelBufferAttributes

func (v VTFrameRateConversionConfiguration) DestinationPixelBufferAttributes() foundation.INSDictionary

A dictionary of pixel buffer attributes describing the requirements for pixel buffers used as destination frames.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameRateConversionConfiguration/destinationPixelBufferAttributes

func (VTFrameRateConversionConfiguration) FrameHeight

func (v VTFrameRateConversionConfiguration) FrameHeight() int

The height of a source frame in pixels.

Discussion

The maximum value is 4320 pixels for macOS, and 2160 pixels for iOS.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameRateConversionConfiguration/frameHeight

func (VTFrameRateConversionConfiguration) FrameSupportedPixelFormats

func (v VTFrameRateConversionConfiguration) FrameSupportedPixelFormats() []foundation.NSNumber

Supported pixel formats available for source frames for current configuration.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameRateConversionConfiguration/frameSupportedPixelFormats-9w7f9

func (VTFrameRateConversionConfiguration) FrameWidth

func (v VTFrameRateConversionConfiguration) FrameWidth() int

The width of a source frame in pixels.

Discussion

The maximum value is 8192 pixels for macOS, and 4096 pixels for iOS.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameRateConversionConfiguration/frameWidth

func (VTFrameRateConversionConfiguration) Init

Init initializes the instance.

func (VTFrameRateConversionConfiguration) InitWithFrameWidthFrameHeightUsePrecomputedFlowQualityPrioritizationRevision

func (v VTFrameRateConversionConfiguration) InitWithFrameWidthFrameHeightUsePrecomputedFlowQualityPrioritizationRevision(frameWidth int, frameHeight int, usePrecomputedFlow bool, qualityPrioritization VTFrameRateConversionConfigurationQualityPrioritization, revision VTFrameRateConversionConfigurationRevision) VTFrameRateConversionConfiguration

Creates a new frame rate conversion configuration with specified flow width and height.

frameWidth: The width of source frame in pixels. The maximum value is 8192 pixels for macOS, and 4096 pixels for iOS.

frameHeight: The height of source frame in pixels. The maximum value is 4320 pixels for macOS, and 2160 pixels for iOS.

usePrecomputedFlow: If true the optical flow will be provided by the user, else this configuration will compute the optical flow on the fly.

qualityPrioritization: Instance to control quality and performance levels. See VEFrameRateConversionConfigurationQualityPrioritization for more information.

revision: The specific algorithm or configuration revision that is used to perform the request.

Discussion

Initialization fails if the dimensions are out of range or if the revision is unsupported.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameRateConversionConfiguration/init(frameWidth:frameHeight:usePrecomputedFlow:qualityPrioritization:revision:)

func (VTFrameRateConversionConfiguration) NextFrameCount

func (o VTFrameRateConversionConfiguration) NextFrameCount() int

Returns the number of “next” frames that this processor requires for processing.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorConfiguration/nextFrameCount-533br

func (VTFrameRateConversionConfiguration) PreviousFrameCount

func (o VTFrameRateConversionConfiguration) PreviousFrameCount() int

Returns the number of “previous” frames that this processor requires for processing.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorConfiguration/previousFrameCount-20ke2

func (VTFrameRateConversionConfiguration) Revision

The specific algorithm or configuration revision to use to perform the request.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameRateConversionConfiguration/revision-swift.property

func (VTFrameRateConversionConfiguration) SourcePixelBufferAttributes

func (v VTFrameRateConversionConfiguration) SourcePixelBufferAttributes() foundation.INSDictionary

A dictionary of pixel buffer attributes describing requirements for pixel buffers used as source frames and reference frames.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameRateConversionConfiguration/sourcePixelBufferAttributes

func (VTFrameRateConversionConfiguration) UsePrecomputedFlow

func (v VTFrameRateConversionConfiguration) UsePrecomputedFlow() bool

A Boolean value to indicates whether the optical flow will be provided by the user.

Discussion

If `false` this configuration computes the optical flow on the fly.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameRateConversionConfiguration/usePrecomputedFlow

type VTFrameRateConversionConfigurationClass

type VTFrameRateConversionConfigurationClass struct {
	// contains filtered or unexported fields
}

func GetVTFrameRateConversionConfigurationClass

func GetVTFrameRateConversionConfigurationClass() VTFrameRateConversionConfigurationClass

GetVTFrameRateConversionConfigurationClass returns the class object for VTFrameRateConversionConfiguration.

func (VTFrameRateConversionConfigurationClass) Alloc

Alloc allocates memory for a new instance of the class.

func (VTFrameRateConversionConfigurationClass) Class

Class returns the underlying Objective-C class pointer.

func (VTFrameRateConversionConfigurationClass) DefaultRevision

func (_VTFrameRateConversionConfigurationClass VTFrameRateConversionConfigurationClass) DefaultRevision() VTFrameRateConversionConfigurationRevision

The default revision of a particular algorithm or configuration.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameRateConversionConfiguration/defaultRevision

func (VTFrameRateConversionConfigurationClass) IsSupported

func (_VTFrameRateConversionConfigurationClass VTFrameRateConversionConfigurationClass) IsSupported() bool

Reports whether the system supports this processor.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameRateConversionConfiguration/isSupported

func (VTFrameRateConversionConfigurationClass) ProcessorSupported

func (_VTFrameRateConversionConfigurationClass VTFrameRateConversionConfigurationClass) ProcessorSupported() bool

A Boolean value that indicates whether the processor supported on the current configuration.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameRateConversionConfiguration/processorSupported

func (VTFrameRateConversionConfigurationClass) SupportedRevisions

func (_VTFrameRateConversionConfigurationClass VTFrameRateConversionConfigurationClass) SupportedRevisions() foundation.NSIndexSet

The collection of currently-supported algorithms or configuration revisions for the class of configurations.

Discussion

Use this property to determine the supported revisions for each configuration at runtime.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameRateConversionConfiguration/supportedRevisions

type VTFrameRateConversionConfigurationQualityPrioritization

type VTFrameRateConversionConfigurationQualityPrioritization int

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameRateConversionConfiguration/QualityPrioritization-swift.enum

const (
	// VTFrameRateConversionConfigurationQualityPrioritizationNormal: A normal quality prioritization level.
	VTFrameRateConversionConfigurationQualityPrioritizationNormal VTFrameRateConversionConfigurationQualityPrioritization = 1
	// VTFrameRateConversionConfigurationQualityPrioritizationQuality: A quality prioritization level.
	VTFrameRateConversionConfigurationQualityPrioritizationQuality VTFrameRateConversionConfigurationQualityPrioritization = 2
)

func (VTFrameRateConversionConfigurationQualityPrioritization) String

type VTFrameRateConversionConfigurationRevision

type VTFrameRateConversionConfigurationRevision int

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameRateConversionConfiguration/Revision-swift.enum

const (
	// VTFrameRateConversionConfigurationRevision1: An algorithm or implementation that represents the first revision.
	VTFrameRateConversionConfigurationRevision1 VTFrameRateConversionConfigurationRevision = 1
)

func (VTFrameRateConversionConfigurationRevision) String

type VTFrameRateConversionParameters

type VTFrameRateConversionParameters struct {
	objectivec.Object
}

An object that contains the required input and output parameters to run a frame rate conversion processor on a frame.

Overview

This object is used in the processWithParameters call of a VTFrameProcessor class. The output parameter is a destinationFrame where the output frame is returned as a VTFrameProcessorMutableFrame back to the caller function once the processing completes.

The parameters within VTFrameRateConversionParameters are frame level parameters.

Inspecting the parameters

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameRateConversionParameters

func NewVTFrameRateConversionParameters

func NewVTFrameRateConversionParameters() VTFrameRateConversionParameters

NewVTFrameRateConversionParameters creates a new VTFrameRateConversionParameters instance.

func NewVTFrameRateConversionParametersWithSourceFrameNextFrameOpticalFlowInterpolationPhaseSubmissionModeDestinationFrames

func NewVTFrameRateConversionParametersWithSourceFrameNextFrameOpticalFlowInterpolationPhaseSubmissionModeDestinationFrames(sourceFrame IVTFrameProcessorFrame, nextFrame IVTFrameProcessorFrame, opticalFlow IVTFrameProcessorOpticalFlow, interpolationPhase []foundation.NSNumber, submissionMode VTFrameRateConversionParametersSubmissionMode, destinationFrame []VTFrameProcessorFrame) VTFrameRateConversionParameters

Creates a new frame rate conversion parameters object.

sourceFrame: The current source frame. This must be a non nil value.

nextFrame: The next source frame in presentation time order. This value can be set to nil for the last frame.

opticalFlow: A property that defines the optical flow for an object. An optional VTFrameProcessorReadOnlyOpticalFlow contains the forward and backward optical flow of the next frame. This value is only needed if the optical flow is pre-computed. For the first frame it will always be nil.

interpolationPhase: Array of float numbers to indicate which intervals to insert a frame between the current and next frame. Array size indicates how many frames are needed to interpolate and needs to match destinationFrames size, where there is one interval for each destination frame. Float number values should be between 0 and 1, e.g. to insert one frame in the middle, a value of 0.5 can be used.

submissionMode: A value describing the processing request in a parameters submission object.

destinationFrame: A caller-allocated NSArray of VTFrameProcessorFrame that contains pixel buffers that receive the results. The array must contain the same number of elements as interpolationPhase NSArray.

Discussion

Initialization fails if the `sourceFrame` or `nextFrame` arguments are [NULL], if `sourceFrame` and reference frames don’t have the same pixel format, or if the `interpolationPhase` array count does not match the `destinationFrames` array count.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameRateConversionParameters/initWithSourceFrame:nextFrame:opticalFlow:interpolationPhase:submissionMode:destinationFrames:

func VTFrameRateConversionParametersFromID

func VTFrameRateConversionParametersFromID(id objc.ID) VTFrameRateConversionParameters

VTFrameRateConversionParametersFromID constructs a VTFrameRateConversionParameters from an objc.ID.

An object that contains the required input and output parameters to run a frame rate conversion processor on a frame.

func (VTFrameRateConversionParameters) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (VTFrameRateConversionParameters) DestinationFrame

Destination frame that contains the destination frame for processors which output a single processed frame.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorParameters/destinationFrame-3im3l

func (VTFrameRateConversionParameters) DestinationFrames

A caller-allocated array of frames that contains the pixel buffers to receive the results.

Discussion

This array must contain the same number of elements as the `interpolationPhase` property.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameRateConversionParameters/destinationFrames

func (VTFrameRateConversionParameters) Init

Init initializes the instance.

func (VTFrameRateConversionParameters) InitWithSourceFrameNextFrameOpticalFlowInterpolationPhaseSubmissionModeDestinationFrames

func (v VTFrameRateConversionParameters) InitWithSourceFrameNextFrameOpticalFlowInterpolationPhaseSubmissionModeDestinationFrames(sourceFrame IVTFrameProcessorFrame, nextFrame IVTFrameProcessorFrame, opticalFlow IVTFrameProcessorOpticalFlow, interpolationPhase []foundation.NSNumber, submissionMode VTFrameRateConversionParametersSubmissionMode, destinationFrame []VTFrameProcessorFrame) VTFrameRateConversionParameters

Creates a new frame rate conversion parameters object.

sourceFrame: The current source frame. This must be a non nil value.

nextFrame: The next source frame in presentation time order. This value can be set to nil for the last frame.

opticalFlow: A property that defines the optical flow for an object. An optional VTFrameProcessorReadOnlyOpticalFlow contains the forward and backward optical flow of the next frame. This value is only needed if the optical flow is pre-computed. For the first frame it will always be nil.

interpolationPhase: Array of float numbers to indicate which intervals to insert a frame between the current and next frame. Array size indicates how many frames are needed to interpolate and needs to match destinationFrames size, where there is one interval for each destination frame. Float number values should be between 0 and 1, e.g. to insert one frame in the middle, a value of 0.5 can be used.

submissionMode: A value describing the processing request in a parameters submission object.

destinationFrame: A caller-allocated NSArray of VTFrameProcessorFrame that contains pixel buffers that receive the results. The array must contain the same number of elements as interpolationPhase NSArray.

Discussion

Initialization fails if the `sourceFrame` or `nextFrame` arguments are [NULL], if `sourceFrame` and reference frames don’t have the same pixel format, or if the `interpolationPhase` array count does not match the `destinationFrames` array count.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameRateConversionParameters/initWithSourceFrame:nextFrame:opticalFlow:interpolationPhase:submissionMode:destinationFrames:

func (VTFrameRateConversionParameters) InterpolationPhase

func (v VTFrameRateConversionParameters) InterpolationPhase() []foundation.NSNumber

An array of floating-point values that indicate which intervals to insert a frame between the current and next frame.

Discussion

Array size indicates how many frames are needed to interpolate and needs to match destinationFrames array size, where there is one interval for each destination frame. Float number values should be between 0 and 1, e.g. to insert one frame in the middle, a value of 0.5 can be used.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameRateConversionParameters/interpolationPhase-6wdns

func (VTFrameRateConversionParameters) NextFrame

The next source frame in presentation time order.

Discussion

For the last frame this value will be nil.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameRateConversionParameters/nextFrame

func (VTFrameRateConversionParameters) OpticalFlow

A property that defines the optical flow for an object.

Discussion

An optional VTFrameProcessorReadOnlyOpticalFlow contains the forward and backward optical flow of the next frame. This value is only needed if the optical flow is pre-computed. For the first frame it will always be nil.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameRateConversionParameters/opticalFlow

func (VTFrameRateConversionParameters) SourceFrame

The current source frame.

Discussion

This value must be non-nil.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameRateConversionParameters/sourceFrame

func (VTFrameRateConversionParameters) SubmissionMode

A value describing the processing request in a parameters submission object.

Discussion

Set to VTFrameRateConversionParametersSubmissionModeSequential to indicate that the current submission follows the presentation time order without jumping or skipping when compared to the previous submission. Using the submission mode sequential will yield better performance. Set to VTFrameRateConversionParametersSubmissionModeRandom to indicate a skip or a jump in frame sequence. If the submission mode random is set, the internal cache will be cleared during the processWithParameters call.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameRateConversionParameters/submissionMode-swift.property

type VTFrameRateConversionParametersClass

type VTFrameRateConversionParametersClass struct {
	// contains filtered or unexported fields
}

func GetVTFrameRateConversionParametersClass

func GetVTFrameRateConversionParametersClass() VTFrameRateConversionParametersClass

GetVTFrameRateConversionParametersClass returns the class object for VTFrameRateConversionParameters.

func (VTFrameRateConversionParametersClass) Alloc

Alloc allocates memory for a new instance of the class.

func (VTFrameRateConversionParametersClass) Class

Class returns the underlying Objective-C class pointer.

type VTFrameRateConversionParametersSubmissionMode

type VTFrameRateConversionParametersSubmissionMode int

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameRateConversionParameters/SubmissionMode-swift.enum

const (
	// VTFrameRateConversionParametersSubmissionModeRandom: A submission follow presentation time order with a jump or skip in a frame sequence.
	VTFrameRateConversionParametersSubmissionModeRandom VTFrameRateConversionParametersSubmissionMode = 1
	// VTFrameRateConversionParametersSubmissionModeSequential: A submission follow presentation time order without a jump or skip when compared to a previous submission.
	VTFrameRateConversionParametersSubmissionModeSequential VTFrameRateConversionParametersSubmissionMode = 2
	// VTFrameRateConversionParametersSubmissionModeSequentialReferencesUnchanged: You are submitting frames sequentially.
	VTFrameRateConversionParametersSubmissionModeSequentialReferencesUnchanged VTFrameRateConversionParametersSubmissionMode = 3
)

func (VTFrameRateConversionParametersSubmissionMode) String

type VTFrameSiloRef

type VTFrameSiloRef uintptr

VTFrameSiloRef is an object that stores a large number of sample buffers, as produced by a multipass compression session.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameSilo

type VTHDRPerFrameMetadataGenerationHDRFormatType

type VTHDRPerFrameMetadataGenerationHDRFormatType = corefoundation.CFStringRef

VTHDRPerFrameMetadataGenerationHDRFormatType is the HDR format type.

See: https://developer.apple.com/documentation/VideoToolbox/VTHDRPerFrameMetadataGenerationHDRFormatType

var (
	// KVTHDRPerFrameMetadataGenerationHDRFormatType_DolbyVision is specifies that DolbyVision data should be generated and attached for each pixel buffer.
	//
	// See: https://developer.apple.com/documentation/VideoToolbox/kVTHDRPerFrameMetadataGenerationHDRFormatType_DolbyVision
	KVTHDRPerFrameMetadataGenerationHDRFormatType_DolbyVision VTHDRPerFrameMetadataGenerationHDRFormatType
)

type VTHDRPerFrameMetadataGenerationSessionRef

type VTHDRPerFrameMetadataGenerationSessionRef uintptr

VTHDRPerFrameMetadataGenerationSessionRef is a mechanism for generating HDR Per Frame Metadata and attaching that metadata to a pixel buffer and the backing IOSurface.

See: https://developer.apple.com/documentation/VideoToolbox/VTHDRPerFrameMetadataGenerationSessionRef

type VTInt32Point

type VTInt32Point struct {
	X int32 // The x-coordinate of the point.
	Y int32 // The y-coordinate of the point.

}

VTInt32Point - A structure that represents a 32-bit integer point value.

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/VideoToolbox/VTInt32Point

type VTInt32Size

type VTInt32Size struct {
	Width  int32 // The width of the size.
	Height int32 // The height of the size.

}

VTInt32Size - A structure that represents a 32-bit integer size value.

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/VideoToolbox/VTInt32Size

type VTLowLatencyFrameInterpolationConfiguration

type VTLowLatencyFrameInterpolationConfiguration struct {
	objectivec.Object
}

Configuration that you use to program Video Toolbox frame processor for low-latency frame interpolation.

Overview

This configuration can do either purely temporal interpolation (frame-rate conversion) or temporal and spatial interpolation (scaling and frame-rate conversion). This processor requires a source frame and a previous frame. It does temporal scaling, which interpolates frames between the previous frame and the source frame. When performing both temporal and spatial interpolation, the processor can only perform 2x upscaling, and a single frame of temporal interpolation. When performing spatial scaling, the processor produces upscaled intermediate frames and an upscaled `sourceFrame`, but it does not upscale the previous reference frame you provided.

Creating a frame interpolation configuration

Inspecting the configuration

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencyFrameInterpolationConfiguration

func NewVTLowLatencyFrameInterpolationConfiguration

func NewVTLowLatencyFrameInterpolationConfiguration() VTLowLatencyFrameInterpolationConfiguration

NewVTLowLatencyFrameInterpolationConfiguration creates a new VTLowLatencyFrameInterpolationConfiguration instance.

func NewVTLowLatencyFrameInterpolationConfigurationWithFrameWidthFrameHeightNumberOfInterpolatedFrames

func NewVTLowLatencyFrameInterpolationConfigurationWithFrameWidthFrameHeightNumberOfInterpolatedFrames(frameWidth int, frameHeight int, numberOfInterpolatedFrames int) VTLowLatencyFrameInterpolationConfiguration

Creates a new low-latency frame interpolation configuration for frame-rate conversion.

frameWidth: Width of source frame in pixels.

frameHeight: Height of source frame in pixels.

numberOfInterpolatedFrames: The number of uniformly spaced frames that you want to be used for interpolation.

Discussion

The available interpolation points are the equal to the value of (2^x - 1), where x is equal to `numberOfInterpolatedFrames`. For example,

- If you request 1 interpolated frame, 1 interpolation point at 0.5 is available. - If you request 2 interpolated frames, 3 interpolation points at 0.25, 0.5 and 0.75 are available. You don’t need to use all available interpolation points. Setting a higher `numberOfInterpolatedFrames` increases the resolution of interpolation in some cases, but also increases latency.

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencyFrameInterpolationConfiguration/init(frameWidth:frameHeight:numberOfInterpolatedFrames:)

func NewVTLowLatencyFrameInterpolationConfigurationWithFrameWidthFrameHeightSpatialScaleFactor

func NewVTLowLatencyFrameInterpolationConfigurationWithFrameWidthFrameHeightSpatialScaleFactor(frameWidth int, frameHeight int, spatialScaleFactor int) VTLowLatencyFrameInterpolationConfiguration

Creates a new low-latency frame interpolation configuration for spatial scaling and temporal scaling.

frameWidth: Width of source frame in pixels.

frameHeight: Height of source frame in pixels.

spatialScaleFactor: The requested spatial scale factor as an integer. Currently, the processor supports only 2x spatial scaling.

Discussion

When you configure the processor for spatial scaling, the low-latency frame interpolation processor only supports 2x spatial upscaling and a single frame of temporal interpolation at a 0.5 interpolation phase.

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencyFrameInterpolationConfiguration/init(frameWidth:frameHeight:spatialScaleFactor:)

func VTLowLatencyFrameInterpolationConfigurationFromID

func VTLowLatencyFrameInterpolationConfigurationFromID(id objc.ID) VTLowLatencyFrameInterpolationConfiguration

VTLowLatencyFrameInterpolationConfigurationFromID constructs a VTLowLatencyFrameInterpolationConfiguration from an objc.ID.

Configuration that you use to program Video Toolbox frame processor for low-latency frame interpolation.

func (VTLowLatencyFrameInterpolationConfiguration) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (VTLowLatencyFrameInterpolationConfiguration) DestinationPixelBufferAttributes

func (v VTLowLatencyFrameInterpolationConfiguration) DestinationPixelBufferAttributes() foundation.INSDictionary

Pixel buffer attributes dictionary that describes requirements for pixel buffers which represent destination frames.

Discussion

Use [CVPixelBufferCreateResolvedAttributesDictionary] to combine this dictionary with your pixel buffer attributes dictionary.

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencyFrameInterpolationConfiguration/destinationPixelBufferAttributes

func (VTLowLatencyFrameInterpolationConfiguration) FrameHeight

Height of source frames in pixels.

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencyFrameInterpolationConfiguration/frameHeight

func (VTLowLatencyFrameInterpolationConfiguration) FrameSupportedPixelFormats

func (v VTLowLatencyFrameInterpolationConfiguration) FrameSupportedPixelFormats() []foundation.NSNumber

Available supported pixel formats for current configuration.

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencyFrameInterpolationConfiguration/frameSupportedPixelFormats

func (VTLowLatencyFrameInterpolationConfiguration) FrameWidth

Width of source frames in pixels.

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencyFrameInterpolationConfiguration/frameWidth

func (VTLowLatencyFrameInterpolationConfiguration) Init

Init initializes the instance.

func (VTLowLatencyFrameInterpolationConfiguration) InitWithFrameWidthFrameHeightNumberOfInterpolatedFrames

func (v VTLowLatencyFrameInterpolationConfiguration) InitWithFrameWidthFrameHeightNumberOfInterpolatedFrames(frameWidth int, frameHeight int, numberOfInterpolatedFrames int) VTLowLatencyFrameInterpolationConfiguration

Creates a new low-latency frame interpolation configuration for frame-rate conversion.

frameWidth: Width of source frame in pixels.

frameHeight: Height of source frame in pixels.

numberOfInterpolatedFrames: The number of uniformly spaced frames that you want to be used for interpolation.

Discussion

The available interpolation points are the equal to the value of (2^x - 1), where x is equal to `numberOfInterpolatedFrames`. For example,

- If you request 1 interpolated frame, 1 interpolation point at 0.5 is available. - If you request 2 interpolated frames, 3 interpolation points at 0.25, 0.5 and 0.75 are available. You don’t need to use all available interpolation points. Setting a higher `numberOfInterpolatedFrames` increases the resolution of interpolation in some cases, but also increases latency.

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencyFrameInterpolationConfiguration/init(frameWidth:frameHeight:numberOfInterpolatedFrames:)

func (VTLowLatencyFrameInterpolationConfiguration) InitWithFrameWidthFrameHeightSpatialScaleFactor

func (v VTLowLatencyFrameInterpolationConfiguration) InitWithFrameWidthFrameHeightSpatialScaleFactor(frameWidth int, frameHeight int, spatialScaleFactor int) VTLowLatencyFrameInterpolationConfiguration

Creates a new low-latency frame interpolation configuration for spatial scaling and temporal scaling.

frameWidth: Width of source frame in pixels.

frameHeight: Height of source frame in pixels.

spatialScaleFactor: The requested spatial scale factor as an integer. Currently, the processor supports only 2x spatial scaling.

Discussion

When you configure the processor for spatial scaling, the low-latency frame interpolation processor only supports 2x spatial upscaling and a single frame of temporal interpolation at a 0.5 interpolation phase.

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencyFrameInterpolationConfiguration/init(frameWidth:frameHeight:spatialScaleFactor:)

func (VTLowLatencyFrameInterpolationConfiguration) NextFrameCount

Returns the number of “next” frames that this processor requires for processing.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorConfiguration/nextFrameCount-533br

func (VTLowLatencyFrameInterpolationConfiguration) NumberOfInterpolatedFrames

func (v VTLowLatencyFrameInterpolationConfiguration) NumberOfInterpolatedFrames() int

Number of uniformly spaced frames for which you configured the processor.

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencyFrameInterpolationConfiguration/numberOfInterpolatedFrames

func (VTLowLatencyFrameInterpolationConfiguration) PreviousFrameCount

func (o VTLowLatencyFrameInterpolationConfiguration) PreviousFrameCount() int

Returns the number of “previous” frames that this processor requires for processing.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorConfiguration/previousFrameCount-20ke2

func (VTLowLatencyFrameInterpolationConfiguration) SourcePixelBufferAttributes

Pixel buffer attributes dictionary that describes requirements for pixel buffers which represent source frames and reference frames.

Discussion

Use [CVPixelBufferCreateResolvedAttributesDictionary] to combine this dictionary with your pixel buffer attributes dictionary.

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencyFrameInterpolationConfiguration/sourcePixelBufferAttributes

func (VTLowLatencyFrameInterpolationConfiguration) SpatialScaleFactor

func (v VTLowLatencyFrameInterpolationConfiguration) SpatialScaleFactor() int

Configured spatial scale factor as an integer.

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencyFrameInterpolationConfiguration/spatialScaleFactor

type VTLowLatencyFrameInterpolationConfigurationClass

type VTLowLatencyFrameInterpolationConfigurationClass struct {
	// contains filtered or unexported fields
}

func GetVTLowLatencyFrameInterpolationConfigurationClass

func GetVTLowLatencyFrameInterpolationConfigurationClass() VTLowLatencyFrameInterpolationConfigurationClass

GetVTLowLatencyFrameInterpolationConfigurationClass returns the class object for VTLowLatencyFrameInterpolationConfiguration.

func (VTLowLatencyFrameInterpolationConfigurationClass) Alloc

Alloc allocates memory for a new instance of the class.

func (VTLowLatencyFrameInterpolationConfigurationClass) Class

Class returns the underlying Objective-C class pointer.

func (VTLowLatencyFrameInterpolationConfigurationClass) IsSupported

func (_VTLowLatencyFrameInterpolationConfigurationClass VTLowLatencyFrameInterpolationConfigurationClass) IsSupported() bool

Reports whether the system supports this processor.

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencyFrameInterpolationConfiguration/isSupported

type VTLowLatencyFrameInterpolationParameters

type VTLowLatencyFrameInterpolationParameters struct {
	objectivec.Object
}

An object that contains both input and output parameters that the low-latency frame interpolation processor needs.

Overview

Use this object in the `processWithParameters` call of VTFrameProcessor class.

VTLowLatencyFrameInterpolationParameters are frame-level parameters.

Inspecting the parameters

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencyFrameInterpolationParameters

func NewVTLowLatencyFrameInterpolationParameters

func NewVTLowLatencyFrameInterpolationParameters() VTLowLatencyFrameInterpolationParameters

NewVTLowLatencyFrameInterpolationParameters creates a new VTLowLatencyFrameInterpolationParameters instance.

func NewVTLowLatencyFrameInterpolationParametersWithSourceFramePreviousFrameInterpolationPhaseDestinationFrames

func NewVTLowLatencyFrameInterpolationParametersWithSourceFramePreviousFrameInterpolationPhaseDestinationFrames(sourceFrame IVTFrameProcessorFrame, previousFrame IVTFrameProcessorFrame, interpolationPhase []foundation.NSNumber, destinationFrames []VTFrameProcessorFrame) VTLowLatencyFrameInterpolationParameters

Creates a new low-latency frame interpolation parameters object.

sourceFrame: Current frame to use for interpolation; must be non `nil`.

previousFrame: Previous frame used for interpolation; must be non `nil`.

interpolationPhase: Array of float numbers that indicate interpolation phase locations at which the processor interpolates the frames. Must be greater than 0 and less than 1.0; for example 0.5 is midway between the previous frame and the source frame. If you enable spatial scaling, the only supported interpolation phase is 0.5.

destinationFrames: Caller-allocated array of VTFrameProcessorFrame to receive the interpolated frames. This must have the same number of elements as the the `interpolationPhase`. If you enable spatial scaling, it must also contain an element to hold the scaled version of sourceFrame.

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencyFrameInterpolationParameters/initWithSourceFrame:previousFrame:interpolationPhase:destinationFrames:

func VTLowLatencyFrameInterpolationParametersFromID

func VTLowLatencyFrameInterpolationParametersFromID(id objc.ID) VTLowLatencyFrameInterpolationParameters

VTLowLatencyFrameInterpolationParametersFromID constructs a VTLowLatencyFrameInterpolationParameters from an objc.ID.

An object that contains both input and output parameters that the low-latency frame interpolation processor needs.

func (VTLowLatencyFrameInterpolationParameters) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (VTLowLatencyFrameInterpolationParameters) DestinationFrame

Destination frame that contains the destination frame for processors which output a single processed frame.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorParameters/destinationFrame-3im3l

func (VTLowLatencyFrameInterpolationParameters) DestinationFrames

Array of destination frames that you provided when creating the low-latency frame interpolation parameters object.

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencyFrameInterpolationParameters/destinationFrames

func (VTLowLatencyFrameInterpolationParameters) Init

Init initializes the instance.

func (VTLowLatencyFrameInterpolationParameters) InitWithSourceFramePreviousFrameInterpolationPhaseDestinationFrames

func (v VTLowLatencyFrameInterpolationParameters) InitWithSourceFramePreviousFrameInterpolationPhaseDestinationFrames(sourceFrame IVTFrameProcessorFrame, previousFrame IVTFrameProcessorFrame, interpolationPhase []foundation.NSNumber, destinationFrames []VTFrameProcessorFrame) VTLowLatencyFrameInterpolationParameters

Creates a new low-latency frame interpolation parameters object.

sourceFrame: Current frame to use for interpolation; must be non `nil`.

previousFrame: Previous frame used for interpolation; must be non `nil`.

interpolationPhase: Array of float numbers that indicate interpolation phase locations at which the processor interpolates the frames. Must be greater than 0 and less than 1.0; for example 0.5 is midway between the previous frame and the source frame. If you enable spatial scaling, the only supported interpolation phase is 0.5.

destinationFrames: Caller-allocated array of VTFrameProcessorFrame to receive the interpolated frames. This must have the same number of elements as the the `interpolationPhase`. If you enable spatial scaling, it must also contain an element to hold the scaled version of sourceFrame.

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencyFrameInterpolationParameters/initWithSourceFrame:previousFrame:interpolationPhase:destinationFrames:

func (VTLowLatencyFrameInterpolationParameters) InterpolationPhase

Array of interpolation phases that you provided when creating the low-latency frame interpolation parameters object.

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencyFrameInterpolationParameters/interpolationPhase-33m49

func (VTLowLatencyFrameInterpolationParameters) PreviousFrame

Previous frame that you provided when creating the low-latency frame interpolation parameters object.

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencyFrameInterpolationParameters/previousFrame

func (VTLowLatencyFrameInterpolationParameters) SourceFrame

Source frame that you provided when creating the low-latency frame interpolation parameters object.

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencyFrameInterpolationParameters/sourceFrame

type VTLowLatencyFrameInterpolationParametersClass

type VTLowLatencyFrameInterpolationParametersClass struct {
	// contains filtered or unexported fields
}

func GetVTLowLatencyFrameInterpolationParametersClass

func GetVTLowLatencyFrameInterpolationParametersClass() VTLowLatencyFrameInterpolationParametersClass

GetVTLowLatencyFrameInterpolationParametersClass returns the class object for VTLowLatencyFrameInterpolationParameters.

func (VTLowLatencyFrameInterpolationParametersClass) Alloc

Alloc allocates memory for a new instance of the class.

func (VTLowLatencyFrameInterpolationParametersClass) Class

Class returns the underlying Objective-C class pointer.

type VTLowLatencySuperResolutionScalerConfiguration

type VTLowLatencySuperResolutionScalerConfiguration struct {
	objectivec.Object
}

An object you use to configure frame processor for low-latency super-resolution scaler processing.

Overview

Use this object to configure a VTFrameProcessor. Query this interface also for important operating details, like the pixel buffer attributes required for frames you submit to the processor.

Creating a super resolution scaler configuration

Inspecting the configuration

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencySuperResolutionScalerConfiguration

func NewVTLowLatencySuperResolutionScalerConfiguration

func NewVTLowLatencySuperResolutionScalerConfiguration() VTLowLatencySuperResolutionScalerConfiguration

NewVTLowLatencySuperResolutionScalerConfiguration creates a new VTLowLatencySuperResolutionScalerConfiguration instance.

func NewVTLowLatencySuperResolutionScalerConfigurationWithFrameWidthFrameHeightScaleFactor

func NewVTLowLatencySuperResolutionScalerConfigurationWithFrameWidthFrameHeightScaleFactor(frameWidth int, frameHeight int, scaleFactor float32) VTLowLatencySuperResolutionScalerConfiguration

Creates a new low-latency super-resolution scaler configuration with specified frame width and height.

frameWidth: Width of source frame in pixels.

frameHeight: Height of source frame in pixels.

scaleFactor: The scale factor to apply. This must be a supported value that VTLowLatencySuperResolutionScalerConfigurationClass.SupportedScaleFactorsForFrameWidthFrameHeight returns.

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencySuperResolutionScalerConfiguration/init(frameWidth:frameHeight:scaleFactor:)

func VTLowLatencySuperResolutionScalerConfigurationFromID

func VTLowLatencySuperResolutionScalerConfigurationFromID(id objc.ID) VTLowLatencySuperResolutionScalerConfiguration

VTLowLatencySuperResolutionScalerConfigurationFromID constructs a VTLowLatencySuperResolutionScalerConfiguration from an objc.ID.

An object you use to configure frame processor for low-latency super-resolution scaler processing.

func (VTLowLatencySuperResolutionScalerConfiguration) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (VTLowLatencySuperResolutionScalerConfiguration) DestinationPixelBufferAttributes

func (v VTLowLatencySuperResolutionScalerConfiguration) DestinationPixelBufferAttributes() foundation.INSDictionary

Pixel buffer attributes dictionary that describes requirements for pixel buffers which represent destination frames.

Discussion

Use [CVPixelBufferCreateResolvedAttributesDictionary] to combine this dictionary with your pixel buffer attributes dictionary.

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencySuperResolutionScalerConfiguration/destinationPixelBufferAttributes

func (VTLowLatencySuperResolutionScalerConfiguration) FrameHeight

Height of source frame in pixels.

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencySuperResolutionScalerConfiguration/frameHeight

func (VTLowLatencySuperResolutionScalerConfiguration) FrameSupportedPixelFormats

func (v VTLowLatencySuperResolutionScalerConfiguration) FrameSupportedPixelFormats() []foundation.NSNumber

Available supported pixel formats for source frames for current configuration.

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencySuperResolutionScalerConfiguration/frameSupportedPixelFormats

func (VTLowLatencySuperResolutionScalerConfiguration) FrameWidth

Width of source frame in pixels.

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencySuperResolutionScalerConfiguration/frameWidth

func (VTLowLatencySuperResolutionScalerConfiguration) Init

Init initializes the instance.

func (VTLowLatencySuperResolutionScalerConfiguration) InitWithFrameWidthFrameHeightScaleFactor

func (v VTLowLatencySuperResolutionScalerConfiguration) InitWithFrameWidthFrameHeightScaleFactor(frameWidth int, frameHeight int, scaleFactor float32) VTLowLatencySuperResolutionScalerConfiguration

Creates a new low-latency super-resolution scaler configuration with specified frame width and height.

frameWidth: Width of source frame in pixels.

frameHeight: Height of source frame in pixels.

scaleFactor: The scale factor to apply. This must be a supported value that VTLowLatencySuperResolutionScalerConfigurationClass.SupportedScaleFactorsForFrameWidthFrameHeight returns.

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencySuperResolutionScalerConfiguration/init(frameWidth:frameHeight:scaleFactor:)

func (VTLowLatencySuperResolutionScalerConfiguration) NextFrameCount

Returns the number of “next” frames that this processor requires for processing.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorConfiguration/nextFrameCount-533br

func (VTLowLatencySuperResolutionScalerConfiguration) PreviousFrameCount

func (o VTLowLatencySuperResolutionScalerConfiguration) PreviousFrameCount() int

Returns the number of “previous” frames that this processor requires for processing.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorConfiguration/previousFrameCount-20ke2

func (VTLowLatencySuperResolutionScalerConfiguration) ScaleFactor

Scale factor with which you initialized the configuration.

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencySuperResolutionScalerConfiguration/scaleFactor

func (VTLowLatencySuperResolutionScalerConfiguration) SourcePixelBufferAttributes

Pixel buffer attributes dictionary that describes requirements for pixel buffers which represent source frames and reference frames.

Discussion

Use [CVPixelBufferCreateResolvedAttributesDictionary] to combine this dictionary with your pixel buffer attributes dictionary.

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencySuperResolutionScalerConfiguration/sourcePixelBufferAttributes

type VTLowLatencySuperResolutionScalerConfigurationClass

type VTLowLatencySuperResolutionScalerConfigurationClass struct {
	// contains filtered or unexported fields
}

func GetVTLowLatencySuperResolutionScalerConfigurationClass

func GetVTLowLatencySuperResolutionScalerConfigurationClass() VTLowLatencySuperResolutionScalerConfigurationClass

GetVTLowLatencySuperResolutionScalerConfigurationClass returns the class object for VTLowLatencySuperResolutionScalerConfiguration.

func (VTLowLatencySuperResolutionScalerConfigurationClass) Alloc

Alloc allocates memory for a new instance of the class.

func (VTLowLatencySuperResolutionScalerConfigurationClass) Class

Class returns the underlying Objective-C class pointer.

func (VTLowLatencySuperResolutionScalerConfigurationClass) IsSupported

func (_VTLowLatencySuperResolutionScalerConfigurationClass VTLowLatencySuperResolutionScalerConfigurationClass) IsSupported() bool

Reports whether the system supports this processor on the current configuration.

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencySuperResolutionScalerConfiguration/isSupported

func (VTLowLatencySuperResolutionScalerConfigurationClass) MaximumDimensions

func (_VTLowLatencySuperResolutionScalerConfigurationClass VTLowLatencySuperResolutionScalerConfigurationClass) MaximumDimensions() coremedia.CMVideoDimensions

Maximum dimensions for a source frame for the processor.

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencySuperResolutionScalerConfiguration/maximumDimensions

func (VTLowLatencySuperResolutionScalerConfigurationClass) MinimumDimensions

func (_VTLowLatencySuperResolutionScalerConfigurationClass VTLowLatencySuperResolutionScalerConfigurationClass) MinimumDimensions() coremedia.CMVideoDimensions

Minimum dimensions for a source frame for the processor.

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencySuperResolutionScalerConfiguration/minimumDimensions

func (VTLowLatencySuperResolutionScalerConfigurationClass) SupportedScaleFactorsForFrameWidthFrameHeight

func (_VTLowLatencySuperResolutionScalerConfigurationClass VTLowLatencySuperResolutionScalerConfigurationClass) SupportedScaleFactorsForFrameWidthFrameHeight(frameWidth int, frameHeight int) []foundation.NSNumber

Returns an array of supported scale factors values, or an empty list if the processor doesn’t support the dimensions.

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencySuperResolutionScalerConfiguration/supportedScaleFactorsForFrameWidth:frameHeight:

type VTLowLatencySuperResolutionScalerParameters

type VTLowLatencySuperResolutionScalerParameters struct {
	objectivec.Object
}

An object that contains both input and output parameters that the low-latency super-resolution scaler frame processor needs.

Overview

Use this object in the `processWithParameters` call of VTFrameProcessor class.

VTLowLatencySuperResolutionScalerParameters are frame-level parameters.

Creating a parameters object

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencySuperResolutionScalerParameters

func NewVTLowLatencySuperResolutionScalerParameters

func NewVTLowLatencySuperResolutionScalerParameters() VTLowLatencySuperResolutionScalerParameters

NewVTLowLatencySuperResolutionScalerParameters creates a new VTLowLatencySuperResolutionScalerParameters instance.

func NewVTLowLatencySuperResolutionScalerParametersWithSourceFrameDestinationFrame

func NewVTLowLatencySuperResolutionScalerParametersWithSourceFrameDestinationFrame(sourceFrame IVTFrameProcessorFrame, destinationFrame IVTFrameProcessorFrame) VTLowLatencySuperResolutionScalerParameters

Creates a new low-latency, super-resolution scaler parameters object.

sourceFrame: Current source frame; must be non `nil`.

destinationFrame: User-allocated pixel buffer that receives the scaled processor output; must be non `nil`.

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencySuperResolutionScalerParameters/init(sourceFrame:destinationFrame:)

func VTLowLatencySuperResolutionScalerParametersFromID

func VTLowLatencySuperResolutionScalerParametersFromID(id objc.ID) VTLowLatencySuperResolutionScalerParameters

VTLowLatencySuperResolutionScalerParametersFromID constructs a VTLowLatencySuperResolutionScalerParameters from an objc.ID.

An object that contains both input and output parameters that the low-latency super-resolution scaler frame processor needs.

func (VTLowLatencySuperResolutionScalerParameters) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (VTLowLatencySuperResolutionScalerParameters) DestinationFrame

Destination frame that contains user-allocated pixel buffer that receives the scaled processor output.

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencySuperResolutionScalerParameters/destinationFrame

func (VTLowLatencySuperResolutionScalerParameters) DestinationFrames

Array of destination frames for processors which may output more than one processed frame.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorParameters/destinationFrames-8yges

func (VTLowLatencySuperResolutionScalerParameters) Init

Init initializes the instance.

func (VTLowLatencySuperResolutionScalerParameters) InitWithSourceFrameDestinationFrame

Creates a new low-latency, super-resolution scaler parameters object.

sourceFrame: Current source frame; must be non `nil`.

destinationFrame: User-allocated pixel buffer that receives the scaled processor output; must be non `nil`.

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencySuperResolutionScalerParameters/init(sourceFrame:destinationFrame:)

func (VTLowLatencySuperResolutionScalerParameters) SourceFrame

Current source frame, which must be non `nil`.

See: https://developer.apple.com/documentation/VideoToolbox/VTLowLatencySuperResolutionScalerParameters/sourceFrame

type VTLowLatencySuperResolutionScalerParametersClass

type VTLowLatencySuperResolutionScalerParametersClass struct {
	// contains filtered or unexported fields
}

func GetVTLowLatencySuperResolutionScalerParametersClass

func GetVTLowLatencySuperResolutionScalerParametersClass() VTLowLatencySuperResolutionScalerParametersClass

GetVTLowLatencySuperResolutionScalerParametersClass returns the class object for VTLowLatencySuperResolutionScalerParameters.

func (VTLowLatencySuperResolutionScalerParametersClass) Alloc

Alloc allocates memory for a new instance of the class.

func (VTLowLatencySuperResolutionScalerParametersClass) Class

Class returns the underlying Objective-C class pointer.

type VTMotionBlurConfiguration

type VTMotionBlurConfiguration struct {
	objectivec.Object
}

A configuration object to enable motion blur on a frame processing session.

Creating a motion blur configuration

Inspecting the configuration

Inspecting revision information

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionBlurConfiguration

func NewVTMotionBlurConfiguration

func NewVTMotionBlurConfiguration() VTMotionBlurConfiguration

NewVTMotionBlurConfiguration creates a new VTMotionBlurConfiguration instance.

func NewVTMotionBlurConfigurationWithFrameWidthFrameHeightUsePrecomputedFlowQualityPrioritizationRevision

func NewVTMotionBlurConfigurationWithFrameWidthFrameHeightUsePrecomputedFlowQualityPrioritizationRevision(frameWidth int, frameHeight int, usePrecomputedFlow bool, qualityPrioritization VTMotionBlurConfigurationQualityPrioritization, revision VTMotionBlurConfigurationRevision) VTMotionBlurConfiguration

Creates a new motion blur configuration with specified flow width and height.

frameWidth: The width of the source frame in pixels. Maximum value is 8192 pixels for macOS, and 4096 pixels for iOS.

frameHeight: The height of the source frame in pixels. Maximum value is 4320 pixels for macOS, and 2160 pixels for iOS.

usePrecomputedFlow: If true it indicates that the optical flow will be provided by the user, if false this configuration will compute the optical flow on the fly.

qualityPrioritization: Instance to control quality and performance levels. See VEMotionBlurConfigurationQualityPrioritization for more information.

revision: The specific algorithm or configuration revision that is to be used to perform the request.

Discussion

Initialization fails if the dimensions are out of range or revision is unsupported.

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionBlurConfiguration/init(frameWidth:frameHeight:usePrecomputedFlow:qualityPrioritization:revision:)

func VTMotionBlurConfigurationFromID

func VTMotionBlurConfigurationFromID(id objc.ID) VTMotionBlurConfiguration

VTMotionBlurConfigurationFromID constructs a VTMotionBlurConfiguration from an objc.ID.

A configuration object to enable motion blur on a frame processing session.

func (VTMotionBlurConfiguration) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (VTMotionBlurConfiguration) DestinationPixelBufferAttributes

func (v VTMotionBlurConfiguration) DestinationPixelBufferAttributes() foundation.INSDictionary

A dictionary of pixel buffer attributes describing the requirements for pixel buffers used as destination frames.

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionBlurConfiguration/destinationPixelBufferAttributes

func (VTMotionBlurConfiguration) FrameHeight

func (v VTMotionBlurConfiguration) FrameHeight() int

The height of a source frame in pixels.

Discussion

The maximum value is 4320 pixels for macOS, and 2160 pixels for iOS.

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionBlurConfiguration/frameHeight

func (VTMotionBlurConfiguration) FrameSupportedPixelFormats

func (v VTMotionBlurConfiguration) FrameSupportedPixelFormats() []foundation.NSNumber

Available supported pixel formats for source frames for current configuration.

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionBlurConfiguration/frameSupportedPixelFormats-5a1iv

func (VTMotionBlurConfiguration) FrameWidth

func (v VTMotionBlurConfiguration) FrameWidth() int

The width of a source frame in pixels.

Discussion

The maximum value is 8192 pixels for macOS, and 4096 pixels for iOS.

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionBlurConfiguration/frameWidth

func (VTMotionBlurConfiguration) Init

Init initializes the instance.

func (VTMotionBlurConfiguration) InitWithFrameWidthFrameHeightUsePrecomputedFlowQualityPrioritizationRevision

func (v VTMotionBlurConfiguration) InitWithFrameWidthFrameHeightUsePrecomputedFlowQualityPrioritizationRevision(frameWidth int, frameHeight int, usePrecomputedFlow bool, qualityPrioritization VTMotionBlurConfigurationQualityPrioritization, revision VTMotionBlurConfigurationRevision) VTMotionBlurConfiguration

Creates a new motion blur configuration with specified flow width and height.

frameWidth: The width of the source frame in pixels. Maximum value is 8192 pixels for macOS, and 4096 pixels for iOS.

frameHeight: The height of the source frame in pixels. Maximum value is 4320 pixels for macOS, and 2160 pixels for iOS.

usePrecomputedFlow: If true it indicates that the optical flow will be provided by the user, if false this configuration will compute the optical flow on the fly.

qualityPrioritization: Instance to control quality and performance levels. See VEMotionBlurConfigurationQualityPrioritization for more information.

revision: The specific algorithm or configuration revision that is to be used to perform the request.

Discussion

Initialization fails if the dimensions are out of range or revision is unsupported.

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionBlurConfiguration/init(frameWidth:frameHeight:usePrecomputedFlow:qualityPrioritization:revision:)

func (VTMotionBlurConfiguration) NextFrameCount

func (o VTMotionBlurConfiguration) NextFrameCount() int

Returns the number of “next” frames that this processor requires for processing.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorConfiguration/nextFrameCount-533br

func (VTMotionBlurConfiguration) PreviousFrameCount

func (o VTMotionBlurConfiguration) PreviousFrameCount() int

Returns the number of “previous” frames that this processor requires for processing.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorConfiguration/previousFrameCount-20ke2

func (VTMotionBlurConfiguration) QualityPrioritization

A value that specifies whether to prioritize quality or performance.

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionBlurConfiguration/qualityPrioritization-swift.property

func (VTMotionBlurConfiguration) Revision

The specific algorithm or configuration revision that is to be used to perform the request.

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionBlurConfiguration/revision-swift.property

func (VTMotionBlurConfiguration) SourcePixelBufferAttributes

func (v VTMotionBlurConfiguration) SourcePixelBufferAttributes() foundation.INSDictionary

A dictionary of pixel buffer attributes describing requirements for pixel buffers used as source frames and reference frames.

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionBlurConfiguration/sourcePixelBufferAttributes

func (VTMotionBlurConfiguration) UsePrecomputedFlow

func (v VTMotionBlurConfiguration) UsePrecomputedFlow() bool

A Boolean value to indicates whether the the optical flow will be provided by the user.

Discussion

If `false` this configuration computes the optical flow on the fly.

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionBlurConfiguration/usePrecomputedFlow

type VTMotionBlurConfigurationClass

type VTMotionBlurConfigurationClass struct {
	// contains filtered or unexported fields
}

func GetVTMotionBlurConfigurationClass

func GetVTMotionBlurConfigurationClass() VTMotionBlurConfigurationClass

GetVTMotionBlurConfigurationClass returns the class object for VTMotionBlurConfiguration.

func (VTMotionBlurConfigurationClass) Alloc

Alloc allocates memory for a new instance of the class.

func (VTMotionBlurConfigurationClass) Class

Class returns the underlying Objective-C class pointer.

func (VTMotionBlurConfigurationClass) DefaultRevision

func (_VTMotionBlurConfigurationClass VTMotionBlurConfigurationClass) DefaultRevision() VTMotionBlurConfigurationRevision

The default revision of a particular algorithm or configuration.

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionBlurConfiguration/defaultRevision

func (VTMotionBlurConfigurationClass) IsSupported

func (_VTMotionBlurConfigurationClass VTMotionBlurConfigurationClass) IsSupported() bool

Reports whether the system supports this processor.

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionBlurConfiguration/isSupported

func (VTMotionBlurConfigurationClass) ProcessorSupported

func (_VTMotionBlurConfigurationClass VTMotionBlurConfigurationClass) ProcessorSupported() bool

A Boolean value that indicates whether the processor is supported.

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionBlurConfiguration/processorSupported

func (VTMotionBlurConfigurationClass) SupportedRevisions

func (_VTMotionBlurConfigurationClass VTMotionBlurConfigurationClass) SupportedRevisions() foundation.NSIndexSet

The collection of currently-supported algorithms or configuration revisions for the class of configurations.

Discussion

This property allows you to check what revisions are available for each configuration at runtime.

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionBlurConfiguration/supportedRevisions

type VTMotionBlurConfigurationQualityPrioritization

type VTMotionBlurConfigurationQualityPrioritization int

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionBlurConfiguration/QualityPrioritization-swift.enum

const (
	// VTMotionBlurConfigurationQualityPrioritizationNormal: A normal quality prioritization level.
	VTMotionBlurConfigurationQualityPrioritizationNormal VTMotionBlurConfigurationQualityPrioritization = 1
	// VTMotionBlurConfigurationQualityPrioritizationQuality: A quality prioritization level.
	VTMotionBlurConfigurationQualityPrioritizationQuality VTMotionBlurConfigurationQualityPrioritization = 2
)

func (VTMotionBlurConfigurationQualityPrioritization) String

type VTMotionBlurConfigurationRevision

type VTMotionBlurConfigurationRevision int

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionBlurConfiguration/Revision-swift.enum

const (
	// VTMotionBlurConfigurationRevision1: An algorithm or implementation that represents the first revision.
	VTMotionBlurConfigurationRevision1 VTMotionBlurConfigurationRevision = 1
)

func (VTMotionBlurConfigurationRevision) String

type VTMotionBlurParameters

type VTMotionBlurParameters struct {
	objectivec.Object
}

This object contains both input and output parameters necessary to run the motion blur processor on a frame.

Overview

This object is used in the processWithParameters call of the VTFrameProcessor class. The output parameter is a destinationFrame where the output frame is returned as a VTFrameProcessorFrame back to the caller function once processWithParameters completes.

The parameters within VTMotionBlurParameters are frame level parameters.

Creating a parameters object

Inspecting the parameters

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionBlurParameters

func NewVTMotionBlurParameters

func NewVTMotionBlurParameters() VTMotionBlurParameters

NewVTMotionBlurParameters creates a new VTMotionBlurParameters instance.

func NewVTMotionBlurParametersWithSourceFrameNextFramePreviousFrameNextOpticalFlowPreviousOpticalFlowMotionBlurStrengthSubmissionModeDestinationFrame

func NewVTMotionBlurParametersWithSourceFrameNextFramePreviousFrameNextOpticalFlowPreviousOpticalFlowMotionBlurStrengthSubmissionModeDestinationFrame(sourceFrame IVTFrameProcessorFrame, nextFrame IVTFrameProcessorFrame, previousFrame IVTFrameProcessorFrame, nextOpticalFlow IVTFrameProcessorOpticalFlow, previousOpticalFlow IVTFrameProcessorOpticalFlow, motionBlurStrength int, submissionMode VTMotionBlurParametersSubmissionMode, destinationFrame IVTFrameProcessorFrame) VTMotionBlurParameters

sourceFrame: The current source frame. This must be a non-nil value.

nextFrame: The next source frame in presentation time order. This value can be set to nil for the last frame.

previousFrame: The previous source frame in presentation time order. This value can be set to nil for the first frame.

nextOpticalFlow: Optional optical flow object that contains forward and backward optical flow with the next frame. For the last frame this will always be nil. This object is only needed if optical flow is pre-computed.

previousOpticalFlow: Optional optical flow object that contains forward and backward optical flow with the next frame. For the first frame this will always be nil. This object is only needed if optical flow is pre-computed.

motionBlurStrength: Number to indicate the strength of blur to apply. This NSInteger number ranges from 1 to 100. The default value is 50.

submissionMode: A value describing the processing request in a parameters submission object.

destinationFrame: A user-allocated pixel buffer that will receive the results.

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionBlurParameters/init(sourceFrame:nextFrame:previousFrame:nextOpticalFlow:previousOpticalFlow:motionBlurStrength:submissionMode:destinationFrame:)

func VTMotionBlurParametersFromID

func VTMotionBlurParametersFromID(id objc.ID) VTMotionBlurParameters

VTMotionBlurParametersFromID constructs a VTMotionBlurParameters from an objc.ID.

This object contains both input and output parameters necessary to run the motion blur processor on a frame.

func (VTMotionBlurParameters) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (VTMotionBlurParameters) DestinationFrame

func (v VTMotionBlurParameters) DestinationFrame() IVTFrameProcessorFrame

A user-allocated pixel buffer that receives the results.

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionBlurParameters/destinationFrame

func (VTMotionBlurParameters) DestinationFrames

func (o VTMotionBlurParameters) DestinationFrames() []VTFrameProcessorFrame

Array of destination frames for processors which may output more than one processed frame.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorParameters/destinationFrames-8yges

func (VTMotionBlurParameters) Init

Init initializes the instance.

func (VTMotionBlurParameters) InitWithSourceFrameNextFramePreviousFrameNextOpticalFlowPreviousOpticalFlowMotionBlurStrengthSubmissionModeDestinationFrame

func (v VTMotionBlurParameters) InitWithSourceFrameNextFramePreviousFrameNextOpticalFlowPreviousOpticalFlowMotionBlurStrengthSubmissionModeDestinationFrame(sourceFrame IVTFrameProcessorFrame, nextFrame IVTFrameProcessorFrame, previousFrame IVTFrameProcessorFrame, nextOpticalFlow IVTFrameProcessorOpticalFlow, previousOpticalFlow IVTFrameProcessorOpticalFlow, motionBlurStrength int, submissionMode VTMotionBlurParametersSubmissionMode, destinationFrame IVTFrameProcessorFrame) VTMotionBlurParameters

sourceFrame: The current source frame. This must be a non-nil value.

nextFrame: The next source frame in presentation time order. This value can be set to nil for the last frame.

previousFrame: The previous source frame in presentation time order. This value can be set to nil for the first frame.

nextOpticalFlow: Optional optical flow object that contains forward and backward optical flow with the next frame. For the last frame this will always be nil. This object is only needed if optical flow is pre-computed.

previousOpticalFlow: Optional optical flow object that contains forward and backward optical flow with the next frame. For the first frame this will always be nil. This object is only needed if optical flow is pre-computed.

motionBlurStrength: Number to indicate the strength of blur to apply. This NSInteger number ranges from 1 to 100. The default value is 50.

submissionMode: A value describing the processing request in a parameters submission object.

destinationFrame: A user-allocated pixel buffer that will receive the results.

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionBlurParameters/init(sourceFrame:nextFrame:previousFrame:nextOpticalFlow:previousOpticalFlow:motionBlurStrength:submissionMode:destinationFrame:)

func (VTMotionBlurParameters) MotionBlurStrength

func (v VTMotionBlurParameters) MotionBlurStrength() int

A value that indicates the strength of blur to apply.

Discussion

The supported range for this value is from 1 and 100. The default value is 50.

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionBlurParameters/motionBlurStrength

func (VTMotionBlurParameters) NextFrame

The next source frame in presentation time order.

Discussion

This value can be set to nil for the last frame.

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionBlurParameters/nextFrame

func (VTMotionBlurParameters) NextOpticalFlow

Optional optical flow object that contains forward and backward optical flow with the next frame.

Discussion

For the last frame this will always be nil. This object is only needed if optical flow is pre-computed.

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionBlurParameters/nextOpticalFlow

func (VTMotionBlurParameters) PreviousFrame

The previous source frame in presentation time order.

Discussion

This value can be set to nil for the first frame.

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionBlurParameters/previousFrame

func (VTMotionBlurParameters) PreviousOpticalFlow

func (v VTMotionBlurParameters) PreviousOpticalFlow() IVTFrameProcessorOpticalFlow

Optional optical flow object that contains forward and backward optical flow with the previous frame.

Discussion

For the first frame this will always be nil. This object is only needed if optical flow is pre-computed.

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionBlurParameters/previousOpticalFlow

func (VTMotionBlurParameters) SourceFrame

The current source frame.

Discussion

This value must be non nil.

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionBlurParameters/sourceFrame

func (VTMotionBlurParameters) SubmissionMode

A value describing the processing request in a parameters submission object.

Discussion

Set to VTMotionBlurParametersSubmissionModeSequential to indicate that the current submission follows the presentation time order without jumping or skipping when compared to the previous submission. Using the submission mode sequential will yield better performance. Set to VTMotionBlurParametersSubmissionModeRandom to indicate a skip or a jump in frame sequence. If submission mode random is set, the internal cache will be cleared during the processWithParameters call.

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionBlurParameters/submissionMode-swift.property

type VTMotionBlurParametersClass

type VTMotionBlurParametersClass struct {
	// contains filtered or unexported fields
}

func GetVTMotionBlurParametersClass

func GetVTMotionBlurParametersClass() VTMotionBlurParametersClass

GetVTMotionBlurParametersClass returns the class object for VTMotionBlurParameters.

func (VTMotionBlurParametersClass) Alloc

Alloc allocates memory for a new instance of the class.

func (VTMotionBlurParametersClass) Class

Class returns the underlying Objective-C class pointer.

type VTMotionBlurParametersSubmissionMode

type VTMotionBlurParametersSubmissionMode int

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionBlurParameters/SubmissionMode-swift.enum

const (
	// VTMotionBlurParametersSubmissionModeRandom: A submission follow presentation time order with a jump or skip in a frame sequence.
	VTMotionBlurParametersSubmissionModeRandom VTMotionBlurParametersSubmissionMode = 1
	// VTMotionBlurParametersSubmissionModeSequential: A submission follow presentation time order without a jump or skip when compared to a previous submission.
	VTMotionBlurParametersSubmissionModeSequential VTMotionBlurParametersSubmissionMode = 2
)

func (VTMotionBlurParametersSubmissionMode) String

type VTMotionEstimationFrameFlags

type VTMotionEstimationFrameFlags uint32

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionEstimationFrameFlags

const (
	// KVTMotionEstimationFrameFlags_CurrentBufferWillBeNextReferenceBuffer: A hint to the motion-estimation session that you are going to reuse the `currentBuffer` as `referenceBuffer` in the next call to VTMotionEstimationSessionEstimateMotionVectors.
	KVTMotionEstimationFrameFlags_CurrentBufferWillBeNextReferenceBuffer VTMotionEstimationFrameFlags = 1
)

func (VTMotionEstimationFrameFlags) String

type VTMotionEstimationInfoFlags

type VTMotionEstimationInfoFlags uint32

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionEstimationInfoFlags

const (
	KVTMotionEstimationInfoFlags_Reserved0 VTMotionEstimationInfoFlags = 1
)

func (VTMotionEstimationInfoFlags) String

type VTMotionEstimationOutputHandler

type VTMotionEstimationOutputHandler = func(status int32, infoFlags uint, additionalInfo corefoundation.CFDictionaryRef, motionVectorPixelBuffer corevideo.CVImageBufferRef)

VTMotionEstimationOutputHandler is a block invoked by motion-estimation session when frame processing is complete.

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionEstimationOutputHandler

type VTMotionEstimationSessionRef

type VTMotionEstimationSessionRef uintptr

VTMotionEstimationSessionRef is a reference to a Video Toolbox motion-estimation session.

See: https://developer.apple.com/documentation/VideoToolbox/VTMotionEstimationSessionRef

type VTMultiPassStorageRef

type VTMultiPassStorageRef uintptr

VTMultiPassStorageRef is an object for storing information for each frame of a multipass compression session.

See: https://developer.apple.com/documentation/VideoToolbox/VTMultiPassStorage

type VTOpticalFlowConfiguration

type VTOpticalFlowConfiguration struct {
	objectivec.Object
}

A configuration object that enables optical flow on a frame processing session.

Creating an optical flow configuration

Inspecting the configuration

Inspecting revision information

See: https://developer.apple.com/documentation/VideoToolbox/VTOpticalFlowConfiguration

func NewVTOpticalFlowConfiguration

func NewVTOpticalFlowConfiguration() VTOpticalFlowConfiguration

NewVTOpticalFlowConfiguration creates a new VTOpticalFlowConfiguration instance.

func NewVTOpticalFlowConfigurationWithFrameWidthFrameHeightQualityPrioritizationRevision

func NewVTOpticalFlowConfigurationWithFrameWidthFrameHeightQualityPrioritizationRevision(frameWidth int, frameHeight int, qualityPrioritization VTOpticalFlowConfigurationQualityPrioritization, revision VTOpticalFlowConfigurationRevision) VTOpticalFlowConfiguration

frameWidth: The width of source frame in pixels. The maximum value is 8192 pixels for macOS, and 4096 pixels for iOS.

frameHeight: The height of source frame in pixels. The maximum value is 4320 pixels for macOS, and 2160 pixels for iOS.

qualityPrioritization: Instance to control quality and performance levels. See VEFrameRateConversionConfigurationQualityPrioritization for more information.

revision: The specific algorithm or configuration revision that is to be used to perform the request.

See: https://developer.apple.com/documentation/VideoToolbox/VTOpticalFlowConfiguration/init(frameWidth:frameHeight:qualityPrioritization:revision:)

func VTOpticalFlowConfigurationFromID

func VTOpticalFlowConfigurationFromID(id objc.ID) VTOpticalFlowConfiguration

VTOpticalFlowConfigurationFromID constructs a VTOpticalFlowConfiguration from an objc.ID.

A configuration object that enables optical flow on a frame processing session.

func (VTOpticalFlowConfiguration) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (VTOpticalFlowConfiguration) DestinationPixelBufferAttributes

func (v VTOpticalFlowConfiguration) DestinationPixelBufferAttributes() foundation.INSDictionary

A dictionary of pixel buffer attributes describing the requirements for pixel buffers used as destination frames.

See: https://developer.apple.com/documentation/VideoToolbox/VTOpticalFlowConfiguration/destinationPixelBufferAttributes

func (VTOpticalFlowConfiguration) FrameHeight

func (v VTOpticalFlowConfiguration) FrameHeight() int

The height of source frame in pixels.

Discussion

The maximum value is 8192 pixels for macOS, and 4096 pixels for iOS.

See: https://developer.apple.com/documentation/VideoToolbox/VTOpticalFlowConfiguration/frameHeight

func (VTOpticalFlowConfiguration) FrameSupportedPixelFormats

func (v VTOpticalFlowConfiguration) FrameSupportedPixelFormats() []foundation.NSNumber

Supported pixel formats for source frames for current configuration.

See: https://developer.apple.com/documentation/VideoToolbox/VTOpticalFlowConfiguration/frameSupportedPixelFormats-85kob

func (VTOpticalFlowConfiguration) FrameWidth

func (v VTOpticalFlowConfiguration) FrameWidth() int

The width of a source frame in pixels.

Discussion

The maximum value is 8192 pixels for macOS, and 4096 pixels for iOS.

See: https://developer.apple.com/documentation/VideoToolbox/VTOpticalFlowConfiguration/frameWidth

func (VTOpticalFlowConfiguration) Init

Init initializes the instance.

func (VTOpticalFlowConfiguration) InitWithFrameWidthFrameHeightQualityPrioritizationRevision

func (v VTOpticalFlowConfiguration) InitWithFrameWidthFrameHeightQualityPrioritizationRevision(frameWidth int, frameHeight int, qualityPrioritization VTOpticalFlowConfigurationQualityPrioritization, revision VTOpticalFlowConfigurationRevision) VTOpticalFlowConfiguration

frameWidth: The width of source frame in pixels. The maximum value is 8192 pixels for macOS, and 4096 pixels for iOS.

frameHeight: The height of source frame in pixels. The maximum value is 4320 pixels for macOS, and 2160 pixels for iOS.

qualityPrioritization: Instance to control quality and performance levels. See VEFrameRateConversionConfigurationQualityPrioritization for more information.

revision: The specific algorithm or configuration revision that is to be used to perform the request.

See: https://developer.apple.com/documentation/VideoToolbox/VTOpticalFlowConfiguration/init(frameWidth:frameHeight:qualityPrioritization:revision:)

func (VTOpticalFlowConfiguration) NextFrameCount

func (o VTOpticalFlowConfiguration) NextFrameCount() int

Returns the number of “next” frames that this processor requires for processing.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorConfiguration/nextFrameCount-533br

func (VTOpticalFlowConfiguration) PreviousFrameCount

func (o VTOpticalFlowConfiguration) PreviousFrameCount() int

Returns the number of “previous” frames that this processor requires for processing.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorConfiguration/previousFrameCount-20ke2

func (VTOpticalFlowConfiguration) QualityPrioritization

A value that specifies whether to prioritize quality or performance.

Discussion

See VEFrameRateConversionConfigurationQualityPrioritization for more info.

See: https://developer.apple.com/documentation/VideoToolbox/VTOpticalFlowConfiguration/qualityPrioritization-swift.property

func (VTOpticalFlowConfiguration) Revision

The specific algorithm or configuration revision that is to be used to perform the request.

See: https://developer.apple.com/documentation/VideoToolbox/VTOpticalFlowConfiguration/revision-swift.property

func (VTOpticalFlowConfiguration) SourcePixelBufferAttributes

func (v VTOpticalFlowConfiguration) SourcePixelBufferAttributes() foundation.INSDictionary

A dictionary of pixel buffer attributes describing requirements for pixel buffers used as source frames and reference frames.

See: https://developer.apple.com/documentation/VideoToolbox/VTOpticalFlowConfiguration/sourcePixelBufferAttributes

type VTOpticalFlowConfigurationClass

type VTOpticalFlowConfigurationClass struct {
	// contains filtered or unexported fields
}

func GetVTOpticalFlowConfigurationClass

func GetVTOpticalFlowConfigurationClass() VTOpticalFlowConfigurationClass

GetVTOpticalFlowConfigurationClass returns the class object for VTOpticalFlowConfiguration.

func (VTOpticalFlowConfigurationClass) Alloc

Alloc allocates memory for a new instance of the class.

func (VTOpticalFlowConfigurationClass) Class

Class returns the underlying Objective-C class pointer.

func (VTOpticalFlowConfigurationClass) DefaultRevision

func (_VTOpticalFlowConfigurationClass VTOpticalFlowConfigurationClass) DefaultRevision() VTOpticalFlowConfigurationRevision

The default revision of a particular algorithm or configuration.

See: https://developer.apple.com/documentation/VideoToolbox/VTOpticalFlowConfiguration/defaultRevision

func (VTOpticalFlowConfigurationClass) IsSupported

func (_VTOpticalFlowConfigurationClass VTOpticalFlowConfigurationClass) IsSupported() bool

Reports whether the system supports this processor.

See: https://developer.apple.com/documentation/VideoToolbox/VTOpticalFlowConfiguration/isSupported

func (VTOpticalFlowConfigurationClass) ProcessorSupported

func (_VTOpticalFlowConfigurationClass VTOpticalFlowConfigurationClass) ProcessorSupported() bool

A boolean value that indicates whether the processor supported on the current configuration.

See: https://developer.apple.com/documentation/VideoToolbox/VTOpticalFlowConfiguration/processorSupported

func (VTOpticalFlowConfigurationClass) SupportedRevisions

func (_VTOpticalFlowConfigurationClass VTOpticalFlowConfigurationClass) SupportedRevisions() foundation.NSIndexSet

A boolean value that indicates whether the processor supported on the current configuration.

See: https://developer.apple.com/documentation/VideoToolbox/VTOpticalFlowConfiguration/supportedRevisions

type VTOpticalFlowConfigurationQualityPrioritization

type VTOpticalFlowConfigurationQualityPrioritization int

See: https://developer.apple.com/documentation/VideoToolbox/VTOpticalFlowConfiguration/QualityPrioritization-swift.enum

const (
	// VTOpticalFlowConfigurationQualityPrioritizationNormal: A normal quality prioritization level.
	VTOpticalFlowConfigurationQualityPrioritizationNormal VTOpticalFlowConfigurationQualityPrioritization = 1
	// VTOpticalFlowConfigurationQualityPrioritizationQuality: A quality prioritization level.
	VTOpticalFlowConfigurationQualityPrioritizationQuality VTOpticalFlowConfigurationQualityPrioritization = 2
)

func (VTOpticalFlowConfigurationQualityPrioritization) String

type VTOpticalFlowConfigurationRevision

type VTOpticalFlowConfigurationRevision int

See: https://developer.apple.com/documentation/VideoToolbox/VTOpticalFlowConfiguration/Revision-swift.enum

const (
	// VTOpticalFlowConfigurationRevision1: An algorithm or implementation that represents the first revision.
	VTOpticalFlowConfigurationRevision1 VTOpticalFlowConfigurationRevision = 1
)

func (VTOpticalFlowConfigurationRevision) String

type VTOpticalFlowParameters

type VTOpticalFlowParameters struct {
	objectivec.Object
}

An object that describes frame-level optical flow parameters.

Creating a parameters object

Inspecting the parameters

See: https://developer.apple.com/documentation/VideoToolbox/VTOpticalFlowParameters

func NewVTOpticalFlowParameters

func NewVTOpticalFlowParameters() VTOpticalFlowParameters

NewVTOpticalFlowParameters creates a new VTOpticalFlowParameters instance.

func NewVTOpticalFlowParametersWithSourceFrameNextFrameSubmissionModeDestinationOpticalFlow

func NewVTOpticalFlowParametersWithSourceFrameNextFrameSubmissionModeDestinationOpticalFlow(sourceFrame IVTFrameProcessorFrame, nextFrame IVTFrameProcessorFrame, submissionMode VTOpticalFlowParametersSubmissionMode, destinationOpticalFlow IVTFrameProcessorOpticalFlow) VTOpticalFlowParameters

sourceFrame: The current source frame. This must be a non-nil value.

nextFrame: The next source frame in presentation time order. This value can be set to nil for the last frame.

submissionMode: A value describing the processing request in a parameters submission object.

destinationOpticalFlow: A user allocated mutable optical flow that will receive the results.

See: https://developer.apple.com/documentation/VideoToolbox/VTOpticalFlowParameters/init(sourceFrame:nextFrame:submissionMode:destinationOpticalFlow:)

func VTOpticalFlowParametersFromID

func VTOpticalFlowParametersFromID(id objc.ID) VTOpticalFlowParameters

VTOpticalFlowParametersFromID constructs a VTOpticalFlowParameters from an objc.ID.

An object that describes frame-level optical flow parameters.

func (VTOpticalFlowParameters) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (VTOpticalFlowParameters) DestinationFrame

func (o VTOpticalFlowParameters) DestinationFrame() IVTFrameProcessorFrame

Destination frame that contains the destination frame for processors which output a single processed frame.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorParameters/destinationFrame-3im3l

func (VTOpticalFlowParameters) DestinationFrames

func (o VTOpticalFlowParameters) DestinationFrames() []VTFrameProcessorFrame

Array of destination frames for processors which may output more than one processed frame.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorParameters/destinationFrames-8yges

func (VTOpticalFlowParameters) DestinationOpticalFlow

func (v VTOpticalFlowParameters) DestinationOpticalFlow() IVTFrameProcessorOpticalFlow

A user allocated mutable optical flow that will receive the results.

See: https://developer.apple.com/documentation/VideoToolbox/VTOpticalFlowParameters/destinationOpticalFlow

func (VTOpticalFlowParameters) Init

Init initializes the instance.

func (VTOpticalFlowParameters) InitWithSourceFrameNextFrameSubmissionModeDestinationOpticalFlow

func (v VTOpticalFlowParameters) InitWithSourceFrameNextFrameSubmissionModeDestinationOpticalFlow(sourceFrame IVTFrameProcessorFrame, nextFrame IVTFrameProcessorFrame, submissionMode VTOpticalFlowParametersSubmissionMode, destinationOpticalFlow IVTFrameProcessorOpticalFlow) VTOpticalFlowParameters

sourceFrame: The current source frame. This must be a non-nil value.

nextFrame: The next source frame in presentation time order. This value can be set to nil for the last frame.

submissionMode: A value describing the processing request in a parameters submission object.

destinationOpticalFlow: A user allocated mutable optical flow that will receive the results.

See: https://developer.apple.com/documentation/VideoToolbox/VTOpticalFlowParameters/init(sourceFrame:nextFrame:submissionMode:destinationOpticalFlow:)

func (VTOpticalFlowParameters) NextFrame

The next source frame in presentation time order.

Discussion

This value can be set to nil for the last frame.

See: https://developer.apple.com/documentation/VideoToolbox/VTOpticalFlowParameters/nextFrame

func (VTOpticalFlowParameters) SourceFrame

The current source frame.

Discussion

This must be a non-nil value.

See: https://developer.apple.com/documentation/VideoToolbox/VTOpticalFlowParameters/sourceFrame

func (VTOpticalFlowParameters) SubmissionMode

A value describing the processing request in a parameters submission object.

See: https://developer.apple.com/documentation/VideoToolbox/VTOpticalFlowParameters/submissionMode-swift.property

type VTOpticalFlowParametersClass

type VTOpticalFlowParametersClass struct {
	// contains filtered or unexported fields
}

func GetVTOpticalFlowParametersClass

func GetVTOpticalFlowParametersClass() VTOpticalFlowParametersClass

GetVTOpticalFlowParametersClass returns the class object for VTOpticalFlowParameters.

func (VTOpticalFlowParametersClass) Alloc

Alloc allocates memory for a new instance of the class.

func (VTOpticalFlowParametersClass) Class

Class returns the underlying Objective-C class pointer.

type VTOpticalFlowParametersSubmissionMode

type VTOpticalFlowParametersSubmissionMode int

See: https://developer.apple.com/documentation/VideoToolbox/VTOpticalFlowParameters/SubmissionMode-swift.enum

const (
	// VTOpticalFlowParametersSubmissionModeRandom: A submission follow presentation time order with a jump or skip in a frame sequence.
	VTOpticalFlowParametersSubmissionModeRandom VTOpticalFlowParametersSubmissionMode = 1
	// VTOpticalFlowParametersSubmissionModeSequential: A submission follow presentation time order without a jump or skip when compared to a previous submission.
	VTOpticalFlowParametersSubmissionModeSequential VTOpticalFlowParametersSubmissionMode = 2
)

func (VTOpticalFlowParametersSubmissionMode) String

type VTPixelRotationSessionRef

type VTPixelRotationSessionRef uintptr

VTPixelRotationSessionRef is a reference to a pixel rotation session.

See: https://developer.apple.com/documentation/VideoToolbox/VTPixelRotationSession

type VTPixelTransferSessionRef

type VTPixelTransferSessionRef = kernel.Pointer

VTPixelTransferSessionRef is a reference to a VideoToolbox pixel transfer session.

See: https://developer.apple.com/documentation/VideoToolbox/VTPixelTransferSession

type VTRAWProcessingOutputHandler

type VTRAWProcessingOutputHandler = func(int32, corevideo.CVImageBufferRef)

VTRAWProcessingOutputHandler is a block the system calls when frame processing is complete.

See: https://developer.apple.com/documentation/VideoToolbox/VTRAWProcessingOutputHandler

type VTRAWProcessingParameterChangeHandler

type VTRAWProcessingParameterChangeHandler = func(newParameters corefoundation.CFArrayRef)

VTRAWProcessingParameterChangeHandler is a function the system calls when processing parameters change.

See: https://developer.apple.com/documentation/VideoToolbox/VTRAWProcessingParameterChangeHandler

type VTRAWProcessingSessionRef

type VTRAWProcessingSessionRef uintptr

VTRAWProcessingSessionRef is an object that processes frames in camera native formats such as RAW or Bayer.

See: https://developer.apple.com/documentation/VideoToolbox/VTRAWProcessingSession

type VTSessionRef

type VTSessionRef = corefoundation.CFTypeRef

VTSessionRef is a reference to a VideoToolbox compression session, decompression session or pixel transfer session.

See: https://developer.apple.com/documentation/VideoToolbox/VTSession

type VTSuperResolutionScalerConfiguration

type VTSuperResolutionScalerConfiguration struct {
	objectivec.Object
}

Configuration that you use to set up the super-resolution processor.

Overview

This configuration enables the super-resolution processor on a VTFrameProcessor session.

Creating a super resolution scaler configuration

Inspecting the configuration

Managing the configuration model

Inspecting revision information

See: https://developer.apple.com/documentation/VideoToolbox/VTSuperResolutionScalerConfiguration

func NewVTSuperResolutionScalerConfiguration

func NewVTSuperResolutionScalerConfiguration() VTSuperResolutionScalerConfiguration

NewVTSuperResolutionScalerConfiguration creates a new VTSuperResolutionScalerConfiguration instance.

func NewVTSuperResolutionScalerConfigurationWithFrameWidthFrameHeightScaleFactorInputTypeUsePrecomputedFlowQualityPrioritizationRevision

func NewVTSuperResolutionScalerConfigurationWithFrameWidthFrameHeightScaleFactorInputTypeUsePrecomputedFlowQualityPrioritizationRevision(frameWidth int, frameHeight int, scaleFactor int, inputType VTSuperResolutionScalerConfigurationInputType, usePrecomputedFlow bool, qualityPrioritization VTSuperResolutionScalerConfigurationQualityPrioritization, revision VTSuperResolutionScalerConfigurationRevision) VTSuperResolutionScalerConfiguration

Creates a new super-resolution scaler processor configuration.

frameWidth: Width of source frame in pixels. With VTSuperResolutionScalerConfigurationInputTypeVideo, maximum width is 1920 on macOS and 1440 on iOS. With VTSuperResolutionScalerConfigurationInputTypeImage, maximum width is 1920.

frameHeight: Height of source frame in pixels. With VTSuperResolutionScalerConfigurationInputTypeVideo, maximum height is 1080. With VTSuperResolutionScalerConfigurationInputTypeImage, maximum height is 1920 on macOS and 1080 on iOS.

scaleFactor: Indicates the scale factor between input and output.

inputType: Indicates the type of input, either video or image.

usePrecomputedFlow: Boolean value to indicate that you provide optical flow; if false, this configuration computes the optical flow on the fly.

qualityPrioritization: A level you use to prioritize quality or performance; for more information about supported levels, see VTSuperResolutionScalerConfiguration.QualityPrioritization.

revision: The specific algorithm or configuration revision you use to perform the request.

Discussion

This processor increases resolution of an image or video. Returns `nil` if dimensions are out of range or revision is unsupported.

See: https://developer.apple.com/documentation/VideoToolbox/VTSuperResolutionScalerConfiguration/init(frameWidth:frameHeight:scaleFactor:inputType:usePrecomputedFlow:qualityPrioritization:revision:)

func VTSuperResolutionScalerConfigurationFromID

func VTSuperResolutionScalerConfigurationFromID(id objc.ID) VTSuperResolutionScalerConfiguration

VTSuperResolutionScalerConfigurationFromID constructs a VTSuperResolutionScalerConfiguration from an objc.ID.

Configuration that you use to set up the super-resolution processor.

func (VTSuperResolutionScalerConfiguration) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (VTSuperResolutionScalerConfiguration) ConfigurationModelPercentageAvailable

func (v VTSuperResolutionScalerConfiguration) ConfigurationModelPercentageAvailable() float32

Returns a floating point value between 0.0 and 1.0 indicating the percentage of required model assets that have been downloaded.

See: https://developer.apple.com/documentation/VideoToolbox/VTSuperResolutionScalerConfiguration/configurationModelPercentageAvailable

func (VTSuperResolutionScalerConfiguration) ConfigurationModelStatus

Reports the download status of models that the system needs for the current configuration.

See: https://developer.apple.com/documentation/VideoToolbox/VTSuperResolutionScalerConfiguration/configurationModelStatus

func (VTSuperResolutionScalerConfiguration) DestinationPixelBufferAttributes

func (v VTSuperResolutionScalerConfiguration) DestinationPixelBufferAttributes() foundation.INSDictionary

Pixel buffer attributes dictionary that describes requirements for pixel buffers which represent destination frames.

Discussion

Use [CVPixelBufferCreateResolvedAttributesDictionary] to combine this dictionary with your pixel buffer attributes dictionary.

See: https://developer.apple.com/documentation/VideoToolbox/VTSuperResolutionScalerConfiguration/destinationPixelBufferAttributes

func (VTSuperResolutionScalerConfiguration) DownloadConfigurationModel

func (v VTSuperResolutionScalerConfiguration) DownloadConfigurationModel(ctx context.Context) error

DownloadConfigurationModel is a synchronous wrapper around VTSuperResolutionScalerConfiguration.DownloadConfigurationModelWithCompletionHandler. It blocks until the completion handler fires or the context is cancelled.

func (VTSuperResolutionScalerConfiguration) DownloadConfigurationModelWithCompletionHandler

func (v VTSuperResolutionScalerConfiguration) DownloadConfigurationModelWithCompletionHandler(completionHandler ErrorHandler)

Downloads models that the system needs for the current configuration.

Discussion

This method downloads model assets required for the current configuration in background. You should call this method if VTSuperResolutionScalerConfiguration.ConfigurationModelStatus is VTSuperResolutionScalerConfigurationModelStatusDownloadRequired. After this method is called, you can query VTSuperResolutionScalerConfiguration.ConfigurationModelPercentageAvailable to determine progress of model asset download process. If the download fails, the completion handler is invoked with an [NSError], and the VTSuperResolutionScalerConfiguration.ConfigurationModelStatus goes back to VTSuperResolutionScalerConfigurationModelStatusDownloadRequired. If the download succeeds, the completion handler is invoked with `nil` NSError.

See: https://developer.apple.com/documentation/VideoToolbox/VTSuperResolutionScalerConfiguration/downloadConfigurationModel(completionHandler:)

func (VTSuperResolutionScalerConfiguration) FrameHeight

func (v VTSuperResolutionScalerConfiguration) FrameHeight() int

Height of source frame in pixels.

See: https://developer.apple.com/documentation/VideoToolbox/VTSuperResolutionScalerConfiguration/frameHeight

func (VTSuperResolutionScalerConfiguration) FrameSupportedPixelFormats

func (v VTSuperResolutionScalerConfiguration) FrameSupportedPixelFormats() []foundation.NSNumber

Available supported pixel formats for source frames for current configuration.

See: https://developer.apple.com/documentation/VideoToolbox/VTSuperResolutionScalerConfiguration/frameSupportedPixelFormats

func (VTSuperResolutionScalerConfiguration) FrameWidth

Width of source frame in pixels.

See: https://developer.apple.com/documentation/VideoToolbox/VTSuperResolutionScalerConfiguration/frameWidth

func (VTSuperResolutionScalerConfiguration) Init

Init initializes the instance.

func (VTSuperResolutionScalerConfiguration) InitWithFrameWidthFrameHeightScaleFactorInputTypeUsePrecomputedFlowQualityPrioritizationRevision

func (v VTSuperResolutionScalerConfiguration) InitWithFrameWidthFrameHeightScaleFactorInputTypeUsePrecomputedFlowQualityPrioritizationRevision(frameWidth int, frameHeight int, scaleFactor int, inputType VTSuperResolutionScalerConfigurationInputType, usePrecomputedFlow bool, qualityPrioritization VTSuperResolutionScalerConfigurationQualityPrioritization, revision VTSuperResolutionScalerConfigurationRevision) VTSuperResolutionScalerConfiguration

Creates a new super-resolution scaler processor configuration.

frameWidth: Width of source frame in pixels. With VTSuperResolutionScalerConfigurationInputTypeVideo, maximum width is 1920 on macOS and 1440 on iOS. With VTSuperResolutionScalerConfigurationInputTypeImage, maximum width is 1920.

frameHeight: Height of source frame in pixels. With VTSuperResolutionScalerConfigurationInputTypeVideo, maximum height is 1080. With VTSuperResolutionScalerConfigurationInputTypeImage, maximum height is 1920 on macOS and 1080 on iOS.

scaleFactor: Indicates the scale factor between input and output.

inputType: Indicates the type of input, either video or image.

usePrecomputedFlow: Boolean value to indicate that you provide optical flow; if false, this configuration computes the optical flow on the fly.

qualityPrioritization: A level you use to prioritize quality or performance; for more information about supported levels, see VTSuperResolutionScalerConfiguration.QualityPrioritization.

revision: The specific algorithm or configuration revision you use to perform the request.

Discussion

This processor increases resolution of an image or video. Returns `nil` if dimensions are out of range or revision is unsupported.

See: https://developer.apple.com/documentation/VideoToolbox/VTSuperResolutionScalerConfiguration/init(frameWidth:frameHeight:scaleFactor:inputType:usePrecomputedFlow:qualityPrioritization:revision:)

func (VTSuperResolutionScalerConfiguration) NextFrameCount

func (o VTSuperResolutionScalerConfiguration) NextFrameCount() int

Returns the number of “next” frames that this processor requires for processing.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorConfiguration/nextFrameCount-533br

func (VTSuperResolutionScalerConfiguration) PrecomputedFlow

func (v VTSuperResolutionScalerConfiguration) PrecomputedFlow() bool

Indicates that you provide optical flow.

See: https://developer.apple.com/documentation/VideoToolbox/VTSuperResolutionScalerConfiguration/usesPrecomputedFlow

func (VTSuperResolutionScalerConfiguration) PreviousFrameCount

func (o VTSuperResolutionScalerConfiguration) PreviousFrameCount() int

Returns the number of “previous” frames that this processor requires for processing.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorConfiguration/previousFrameCount-20ke2

func (VTSuperResolutionScalerConfiguration) Revision

The specific algorithm or configuration revision you use to perform the request.

See: https://developer.apple.com/documentation/VideoToolbox/VTSuperResolutionScalerConfiguration/revision-swift.property

func (VTSuperResolutionScalerConfiguration) ScaleFactor

func (v VTSuperResolutionScalerConfiguration) ScaleFactor() int

Indicates the scale factor between input and output.

See: https://developer.apple.com/documentation/VideoToolbox/VTSuperResolutionScalerConfiguration/scaleFactor

func (VTSuperResolutionScalerConfiguration) SourcePixelBufferAttributes

func (v VTSuperResolutionScalerConfiguration) SourcePixelBufferAttributes() foundation.INSDictionary

Pixel buffer attributes dictionary that describes requirements for pixel buffers which represent source frames and reference frames.

Discussion

Use [CVPixelBufferCreateResolvedAttributesDictionary] to combine this dictionary with your pixel buffer attributes dictionary.

See: https://developer.apple.com/documentation/VideoToolbox/VTSuperResolutionScalerConfiguration/sourcePixelBufferAttributes

type VTSuperResolutionScalerConfigurationClass

type VTSuperResolutionScalerConfigurationClass struct {
	// contains filtered or unexported fields
}

func GetVTSuperResolutionScalerConfigurationClass

func GetVTSuperResolutionScalerConfigurationClass() VTSuperResolutionScalerConfigurationClass

GetVTSuperResolutionScalerConfigurationClass returns the class object for VTSuperResolutionScalerConfiguration.

func (VTSuperResolutionScalerConfigurationClass) Alloc

Alloc allocates memory for a new instance of the class.

func (VTSuperResolutionScalerConfigurationClass) Class

Class returns the underlying Objective-C class pointer.

func (VTSuperResolutionScalerConfigurationClass) DefaultRevision

func (_VTSuperResolutionScalerConfigurationClass VTSuperResolutionScalerConfigurationClass) DefaultRevision() VTSuperResolutionScalerConfigurationRevision

Provides the default revision of a specific algorithm or configuration.

See: https://developer.apple.com/documentation/VideoToolbox/VTSuperResolutionScalerConfiguration/defaultRevision

func (VTSuperResolutionScalerConfigurationClass) IsSupported

func (_VTSuperResolutionScalerConfigurationClass VTSuperResolutionScalerConfigurationClass) IsSupported() bool

Reports whether the system supports this processor.

See: https://developer.apple.com/documentation/VideoToolbox/VTSuperResolutionScalerConfiguration/isSupported

func (VTSuperResolutionScalerConfigurationClass) SupportedRevisions

func (_VTSuperResolutionScalerConfigurationClass VTSuperResolutionScalerConfigurationClass) SupportedRevisions() foundation.NSIndexSet

Provides the collection of currently supported algorithms or configuration revisions for the class of configuration.

Discussion

A property you use to introspect at runtime which revisions are available for each configuration.

See: https://developer.apple.com/documentation/VideoToolbox/VTSuperResolutionScalerConfiguration/supportedRevisions

func (VTSuperResolutionScalerConfigurationClass) SupportedScaleFactors

func (_VTSuperResolutionScalerConfigurationClass VTSuperResolutionScalerConfigurationClass) SupportedScaleFactors() []foundation.NSNumber

Reports the set of supported scale factors to use when initializing a super-resolution scaler configuration.

See: https://developer.apple.com/documentation/VideoToolbox/VTSuperResolutionScalerConfiguration/supportedScaleFactors-94rce

type VTSuperResolutionScalerConfigurationInputType

type VTSuperResolutionScalerConfigurationInputType int

See: https://developer.apple.com/documentation/VideoToolbox/VTSuperResolutionScalerConfiguration/InputType-swift.enum

const (
	VTSuperResolutionScalerConfigurationInputTypeImage VTSuperResolutionScalerConfigurationInputType = 2
	VTSuperResolutionScalerConfigurationInputTypeVideo VTSuperResolutionScalerConfigurationInputType = 1
)

func (VTSuperResolutionScalerConfigurationInputType) String

type VTSuperResolutionScalerConfigurationModelStatus

type VTSuperResolutionScalerConfigurationModelStatus int

See: https://developer.apple.com/documentation/VideoToolbox/VTSuperResolutionScalerConfiguration/ModelStatus

const (
	VTSuperResolutionScalerConfigurationModelStatusDownloadRequired VTSuperResolutionScalerConfigurationModelStatus = 0
	VTSuperResolutionScalerConfigurationModelStatusDownloading      VTSuperResolutionScalerConfigurationModelStatus = 1
	VTSuperResolutionScalerConfigurationModelStatusReady            VTSuperResolutionScalerConfigurationModelStatus = 2
)

func (VTSuperResolutionScalerConfigurationModelStatus) String

type VTSuperResolutionScalerConfigurationQualityPrioritization

type VTSuperResolutionScalerConfigurationQualityPrioritization int

See: https://developer.apple.com/documentation/VideoToolbox/VTSuperResolutionScalerConfiguration/QualityPrioritization-swift.enum

const (
	VTSuperResolutionScalerConfigurationQualityPrioritizationNormal VTSuperResolutionScalerConfigurationQualityPrioritization = 1
)

func (VTSuperResolutionScalerConfigurationQualityPrioritization) String

type VTSuperResolutionScalerConfigurationRevision

type VTSuperResolutionScalerConfigurationRevision int

See: https://developer.apple.com/documentation/VideoToolbox/VTSuperResolutionScalerConfiguration/Revision-swift.enum

const (
	VTSuperResolutionScalerConfigurationRevision1 VTSuperResolutionScalerConfigurationRevision = 1
)

func (VTSuperResolutionScalerConfigurationRevision) String

type VTSuperResolutionScalerParameters

type VTSuperResolutionScalerParameters struct {
	objectivec.Object
}

An object that contains both input and output parameters that the super-resolution processor needs to run on a frame.

Overview

Use this object in the `processWithParameters` call of the VTFrameProcessor class. The output parameter for this class is `destinationFrame`, where the processor returns the output frame (as VTFrameProcessorFrame) back to you once `processWithParameters` completes.

VTSuperResolutionScalerParameters are frame-level parameters.

Creating a parameters object

Inspecting the parameters

See: https://developer.apple.com/documentation/VideoToolbox/VTSuperResolutionScalerParameters

func NewVTSuperResolutionScalerParameters

func NewVTSuperResolutionScalerParameters() VTSuperResolutionScalerParameters

NewVTSuperResolutionScalerParameters creates a new VTSuperResolutionScalerParameters instance.

func NewVTSuperResolutionScalerParametersWithSourceFramePreviousFramePreviousOutputFrameOpticalFlowSubmissionModeDestinationFrame

func NewVTSuperResolutionScalerParametersWithSourceFramePreviousFramePreviousOutputFrameOpticalFlowSubmissionModeDestinationFrame(sourceFrame IVTFrameProcessorFrame, previousFrame IVTFrameProcessorFrame, previousOutputFrame IVTFrameProcessorFrame, opticalFlow IVTFrameProcessorOpticalFlow, submissionMode VTSuperResolutionScalerParametersSubmissionMode, destinationFrame IVTFrameProcessorFrame) VTSuperResolutionScalerParameters

Creates a new super-resolution scaler parameters instance.

sourceFrame: Current source frame; must be non `nil`.

previousFrame: The previous source frame in presentation time order. For the first frame you can set this to `nil`.

previousOutputFrame: The previous output frame in presentation time order. For the first frame you can set this to `nil`.

opticalFlow: Optional VTFrameProcessorOpticalFlow object that contains forward and backward optical flow between the `sourceFrame` and `previousFrame`. You only need this if optical flow is pre-computed.

submissionMode: Provides a hint to let the processor know whether you are submitting frames in presentation sequence. For more information about supported modes see VTSuperResolutionScalerParameters.SubmissionMode.

destinationFrame: User-allocated pixel buffer that receives the results.

Discussion

Returns `nil` if `sourceFrame` or `destinationFrame` is `nil`, or if `sourceFrame` and reference frames have different pixel formats.

See: https://developer.apple.com/documentation/VideoToolbox/VTSuperResolutionScalerParameters/init(sourceFrame:previousFrame:previousOutputFrame:opticalFlow:submissionMode:destinationFrame:)

func VTSuperResolutionScalerParametersFromID

func VTSuperResolutionScalerParametersFromID(id objc.ID) VTSuperResolutionScalerParameters

VTSuperResolutionScalerParametersFromID constructs a VTSuperResolutionScalerParameters from an objc.ID.

An object that contains both input and output parameters that the super-resolution processor needs to run on a frame.

func (VTSuperResolutionScalerParameters) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (VTSuperResolutionScalerParameters) DestinationFrame

Destination frame that contains user-allocated pixel buffer that receives the results.

See: https://developer.apple.com/documentation/VideoToolbox/VTSuperResolutionScalerParameters/destinationFrame

func (VTSuperResolutionScalerParameters) DestinationFrames

Array of destination frames for processors which may output more than one processed frame.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorParameters/destinationFrames-8yges

func (VTSuperResolutionScalerParameters) Init

Init initializes the instance.

func (VTSuperResolutionScalerParameters) InitWithSourceFramePreviousFramePreviousOutputFrameOpticalFlowSubmissionModeDestinationFrame

func (v VTSuperResolutionScalerParameters) InitWithSourceFramePreviousFramePreviousOutputFrameOpticalFlowSubmissionModeDestinationFrame(sourceFrame IVTFrameProcessorFrame, previousFrame IVTFrameProcessorFrame, previousOutputFrame IVTFrameProcessorFrame, opticalFlow IVTFrameProcessorOpticalFlow, submissionMode VTSuperResolutionScalerParametersSubmissionMode, destinationFrame IVTFrameProcessorFrame) VTSuperResolutionScalerParameters

Creates a new super-resolution scaler parameters instance.

sourceFrame: Current source frame; must be non `nil`.

previousFrame: The previous source frame in presentation time order. For the first frame you can set this to `nil`.

previousOutputFrame: The previous output frame in presentation time order. For the first frame you can set this to `nil`.

opticalFlow: Optional VTFrameProcessorOpticalFlow object that contains forward and backward optical flow between the `sourceFrame` and `previousFrame`. You only need this if optical flow is pre-computed.

submissionMode: Provides a hint to let the processor know whether you are submitting frames in presentation sequence. For more information about supported modes see VTSuperResolutionScalerParameters.SubmissionMode.

destinationFrame: User-allocated pixel buffer that receives the results.

Discussion

Returns `nil` if `sourceFrame` or `destinationFrame` is `nil`, or if `sourceFrame` and reference frames have different pixel formats.

See: https://developer.apple.com/documentation/VideoToolbox/VTSuperResolutionScalerParameters/init(sourceFrame:previousFrame:previousOutputFrame:opticalFlow:submissionMode:destinationFrame:)

func (VTSuperResolutionScalerParameters) OpticalFlow

Optional object that contains forward and backward optical flow with the previous frame.

Discussion

You only need this if optical flow is pre-computed. For the first frame this is `nil`.

See: https://developer.apple.com/documentation/VideoToolbox/VTSuperResolutionScalerParameters/opticalFlow

func (VTSuperResolutionScalerParameters) PreviousFrame

Previous source frame in presentation time order, which is `nil` for the first frame.

See: https://developer.apple.com/documentation/VideoToolbox/VTSuperResolutionScalerParameters/previousFrame

func (VTSuperResolutionScalerParameters) PreviousOutputFrame

Previous output frame in presentation time order, which is `nil` for the first frame.

See: https://developer.apple.com/documentation/VideoToolbox/VTSuperResolutionScalerParameters/previousOutputFrame

func (VTSuperResolutionScalerParameters) SourceFrame

Current source frame, which must be non `nil`.

See: https://developer.apple.com/documentation/VideoToolbox/VTSuperResolutionScalerParameters/sourceFrame

func (VTSuperResolutionScalerParameters) SubmissionMode

Ordering of the input frames in this submission relative to the previous submission.

See: https://developer.apple.com/documentation/VideoToolbox/VTSuperResolutionScalerParameters/submissionMode-swift.property

type VTSuperResolutionScalerParametersClass

type VTSuperResolutionScalerParametersClass struct {
	// contains filtered or unexported fields
}

func GetVTSuperResolutionScalerParametersClass

func GetVTSuperResolutionScalerParametersClass() VTSuperResolutionScalerParametersClass

GetVTSuperResolutionScalerParametersClass returns the class object for VTSuperResolutionScalerParameters.

func (VTSuperResolutionScalerParametersClass) Alloc

Alloc allocates memory for a new instance of the class.

func (VTSuperResolutionScalerParametersClass) Class

Class returns the underlying Objective-C class pointer.

type VTSuperResolutionScalerParametersSubmissionMode

type VTSuperResolutionScalerParametersSubmissionMode int

See: https://developer.apple.com/documentation/VideoToolbox/VTSuperResolutionScalerParameters/SubmissionMode-swift.enum

const (
	VTSuperResolutionScalerParametersSubmissionModeRandom     VTSuperResolutionScalerParametersSubmissionMode = 1
	VTSuperResolutionScalerParametersSubmissionModeSequential VTSuperResolutionScalerParametersSubmissionMode = 2
)

func (VTSuperResolutionScalerParametersSubmissionMode) String

type VTTemporalNoiseFilterConfiguration

type VTTemporalNoiseFilterConfiguration struct {
	objectivec.Object
}

A configuration object to initiate a frame processor and use temporal noise-filter processor.

Overview

The class properties of VTTemporalNoiseFilterConfiguration help to identify the capabilities of temporal noise filter processor on the current platform, prior to initiating a session. You can confirm the availability of temporal noise-filter processor in the current platform by checking the [VTTemporalNoiseFilterConfigurationClass.Supported] class property. Verify the processor’s capability to process source frames by ensuring that the dimensions are no less than VTTemporalNoiseFilterConfigurationClass.MinimumDimensions and no greater than VTTemporalNoiseFilterConfigurationClass.MaximumDimensions. Use the instance properties such as VTTemporalNoiseFilterConfiguration.FrameSupportedPixelFormats, VTTemporalNoiseFilterConfiguration.SourcePixelBufferAttributes, and VTTemporalNoiseFilterConfiguration.DestinationPixelBufferAttributes to ensure that the input and output pixel buffer formats and attributes of the processor align with the client’s specific requirements. The properties VTTemporalNoiseFilterConfiguration.PreviousFrameCount and VTTemporalNoiseFilterConfiguration.NextFrameCount represent the maximum number of preceding and subsequent reference frames, used in the processing of a source frame, to achieve optimum noise-reduction quality.

Creating a temporal noise filter configuration

Inspecting the configuration

See: https://developer.apple.com/documentation/VideoToolbox/VTTemporalNoiseFilterConfiguration

func NewVTTemporalNoiseFilterConfiguration

func NewVTTemporalNoiseFilterConfiguration() VTTemporalNoiseFilterConfiguration

NewVTTemporalNoiseFilterConfiguration creates a new VTTemporalNoiseFilterConfiguration instance.

func NewVTTemporalNoiseFilterConfigurationWithFrameWidthFrameHeightSourcePixelFormat

func NewVTTemporalNoiseFilterConfigurationWithFrameWidthFrameHeightSourcePixelFormat(frameWidth int, frameHeight int, sourcePixelFormat uint32) VTTemporalNoiseFilterConfiguration

Creates a new temporal noise-processor configuration.

frameWidth: Width of source frame in pixels.

frameHeight: Height of source frame in pixels.

Discussion

Returns nil if frameWidth, frameHeight, or sourcePixelFormat is unsupported.

See: https://developer.apple.com/documentation/VideoToolbox/VTTemporalNoiseFilterConfiguration/init(frameWidth:frameHeight:sourcePixelFormat:)

func VTTemporalNoiseFilterConfigurationFromID

func VTTemporalNoiseFilterConfigurationFromID(id objc.ID) VTTemporalNoiseFilterConfiguration

VTTemporalNoiseFilterConfigurationFromID constructs a VTTemporalNoiseFilterConfiguration from an objc.ID.

A configuration object to initiate a frame processor and use temporal noise-filter processor.

func (VTTemporalNoiseFilterConfiguration) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (VTTemporalNoiseFilterConfiguration) DestinationPixelBufferAttributes

func (v VTTemporalNoiseFilterConfiguration) DestinationPixelBufferAttributes() foundation.INSDictionary

Pixel buffer attributes dictionary that describes requirements for pixel buffers which represent destination frames.

Discussion

Use [CVPixelBufferCreateResolvedAttributesDictionary] to combine this dictionary with your pixel buffer attributes dictionary.

See: https://developer.apple.com/documentation/VideoToolbox/VTTemporalNoiseFilterConfiguration/destinationPixelBufferAttributes

func (VTTemporalNoiseFilterConfiguration) FrameHeight

func (v VTTemporalNoiseFilterConfiguration) FrameHeight() int

Height of source frame in pixels.

See: https://developer.apple.com/documentation/VideoToolbox/VTTemporalNoiseFilterConfiguration/frameHeight

func (VTTemporalNoiseFilterConfiguration) FrameSupportedPixelFormats

func (v VTTemporalNoiseFilterConfiguration) FrameSupportedPixelFormats() []foundation.NSNumber

Supported pixel formats for source frames for current configuration.

See: https://developer.apple.com/documentation/VideoToolbox/VTTemporalNoiseFilterConfiguration/frameSupportedPixelFormats

func (VTTemporalNoiseFilterConfiguration) FrameWidth

func (v VTTemporalNoiseFilterConfiguration) FrameWidth() int

Width of source frame in pixels.

See: https://developer.apple.com/documentation/VideoToolbox/VTTemporalNoiseFilterConfiguration/frameWidth

func (VTTemporalNoiseFilterConfiguration) Init

Init initializes the instance.

func (VTTemporalNoiseFilterConfiguration) InitWithFrameWidthFrameHeightSourcePixelFormat

func (v VTTemporalNoiseFilterConfiguration) InitWithFrameWidthFrameHeightSourcePixelFormat(frameWidth int, frameHeight int, sourcePixelFormat uint32) VTTemporalNoiseFilterConfiguration

Creates a new temporal noise-processor configuration.

frameWidth: Width of source frame in pixels.

frameHeight: Height of source frame in pixels.

Discussion

Returns nil if frameWidth, frameHeight, or sourcePixelFormat is unsupported.

See: https://developer.apple.com/documentation/VideoToolbox/VTTemporalNoiseFilterConfiguration/init(frameWidth:frameHeight:sourcePixelFormat:)

func (VTTemporalNoiseFilterConfiguration) NextFrameCount

func (v VTTemporalNoiseFilterConfiguration) NextFrameCount() int

Maximum number of future reference frames that the processor can use to process a source frame.

See: https://developer.apple.com/documentation/VideoToolbox/VTTemporalNoiseFilterConfiguration/nextFrameCount

func (VTTemporalNoiseFilterConfiguration) PreviousFrameCount

func (v VTTemporalNoiseFilterConfiguration) PreviousFrameCount() int

Maximum number of past reference frames that the processor can use to process a source frame.

See: https://developer.apple.com/documentation/VideoToolbox/VTTemporalNoiseFilterConfiguration/previousFrameCount

func (VTTemporalNoiseFilterConfiguration) SourcePixelBufferAttributes

func (v VTTemporalNoiseFilterConfiguration) SourcePixelBufferAttributes() foundation.INSDictionary

Pixel buffer attributes dictionary that describes requirements for pixel buffers which represent source frames and reference frames.

Discussion

Use [CVPixelBufferCreateResolvedAttributesDictionary] to combine this dictionary with your pixel buffer attributes dictionary.

See: https://developer.apple.com/documentation/VideoToolbox/VTTemporalNoiseFilterConfiguration/sourcePixelBufferAttributes

type VTTemporalNoiseFilterConfigurationClass

type VTTemporalNoiseFilterConfigurationClass struct {
	// contains filtered or unexported fields
}

func GetVTTemporalNoiseFilterConfigurationClass

func GetVTTemporalNoiseFilterConfigurationClass() VTTemporalNoiseFilterConfigurationClass

GetVTTemporalNoiseFilterConfigurationClass returns the class object for VTTemporalNoiseFilterConfiguration.

func (VTTemporalNoiseFilterConfigurationClass) Alloc

Alloc allocates memory for a new instance of the class.

func (VTTemporalNoiseFilterConfigurationClass) Class

Class returns the underlying Objective-C class pointer.

func (VTTemporalNoiseFilterConfigurationClass) IsSupported

func (_VTTemporalNoiseFilterConfigurationClass VTTemporalNoiseFilterConfigurationClass) IsSupported() bool

Reports whether the system supports this processor.

See: https://developer.apple.com/documentation/VideoToolbox/VTTemporalNoiseFilterConfiguration/isSupported

func (VTTemporalNoiseFilterConfigurationClass) MaximumDimensions

func (_VTTemporalNoiseFilterConfigurationClass VTTemporalNoiseFilterConfigurationClass) MaximumDimensions() coremedia.CMVideoDimensions

The maximum dimensions of a source frame that the processor supports.

See: https://developer.apple.com/documentation/VideoToolbox/VTTemporalNoiseFilterConfiguration/maximumDimensions

func (VTTemporalNoiseFilterConfigurationClass) MinimumDimensions

func (_VTTemporalNoiseFilterConfigurationClass VTTemporalNoiseFilterConfigurationClass) MinimumDimensions() coremedia.CMVideoDimensions

The minimum dimensions of a source frame that the processor supports.

See: https://developer.apple.com/documentation/VideoToolbox/VTTemporalNoiseFilterConfiguration/minimumDimensions

func (VTTemporalNoiseFilterConfigurationClass) SupportedSourcePixelFormats

func (_VTTemporalNoiseFilterConfigurationClass VTTemporalNoiseFilterConfigurationClass) SupportedSourcePixelFormats() []foundation.NSNumber

List of all supported pixel formats for source frames.

See: https://developer.apple.com/documentation/VideoToolbox/VTTemporalNoiseFilterConfiguration/supportedSourcePixelFormats-1w5i2

type VTTemporalNoiseFilterParameters

type VTTemporalNoiseFilterParameters struct {
	objectivec.Object
}

Encapsulates the frame-level parameters necessary for processing a source frame using temporal noise-filter processor.

Overview

This object is intended for sending input parameters into the `processWithParameters` method of the VTFrameProcessor class. Temporal noise-filter processor utilizes past and future reference frames, provided in presentation time order, to reduce noise from the source frame. The `previousFrameCount` and `nextFrameCount` properties in VTTemporalNoiseFilterConfiguration represent the maximum number of past and future reference frames that the processor can use to achieve optimum noise reduction quality. The number of reference frames provided shall depend on their availability, but at a minimum, you must provide one reference frame, either past or future. The parameter `destinationFrame` stores the output frame that the processor returns to the caller upon the successful completion of the `processWithParameters` operation.

Creating a parameters object

Inspecting the parameters

See: https://developer.apple.com/documentation/VideoToolbox/VTTemporalNoiseFilterParameters

func NewVTTemporalNoiseFilterParameters

func NewVTTemporalNoiseFilterParameters() VTTemporalNoiseFilterParameters

NewVTTemporalNoiseFilterParameters creates a new VTTemporalNoiseFilterParameters instance.

func NewVTTemporalNoiseFilterParametersWithSourceFrameNextFramesPreviousFramesDestinationFrameFilterStrengthHasDiscontinuity

func NewVTTemporalNoiseFilterParametersWithSourceFrameNextFramesPreviousFramesDestinationFrameFilterStrengthHasDiscontinuity(sourceFrame IVTFrameProcessorFrame, nextFrames []VTFrameProcessorFrame, previousFrames []VTFrameProcessorFrame, destinationFrame IVTFrameProcessorFrame, filterStrength float32, hasDiscontinuity bool) VTTemporalNoiseFilterParameters

Creates a new VTTemporalNoiseFilterParameters object.

sourceFrame: Current source frame; must be non `nil`.

nextFrames: Future reference frames in presentation time order to use for processing the source frame. The number of frames can vary from 0 to the number specified by VTTemporalNoiseFilterConfiguration.NextFrameCount property.

previousFrames: Past reference frames in presentation time order to use for processing the source frame. The number of frames can vary from 0 to the number specified by VTTemporalNoiseFilterConfiguration.PreviousFrameCount property.

destinationFrame: User-allocated pixel buffer that receives the output frame. The pixel format of `destinationFrame` must match with that of the `sourceFrame`.

filterStrength: Strength of the noise-filtering to use. The value can range from the minimum strength of 0.0 to the maximum strength of 1.0. Change in filter strength causes the processor to flush all frames in the queue prior to processing the source frame.

hasDiscontinuity: Marks sequence discontinuity, forcing the processor to reset prior to processing the source frame.

See: https://developer.apple.com/documentation/VideoToolbox/VTTemporalNoiseFilterParameters/init(sourceFrame:nextFrames:previousFrames:destinationFrame:filterStrength:hasDiscontinuity:)

func VTTemporalNoiseFilterParametersFromID

func VTTemporalNoiseFilterParametersFromID(id objc.ID) VTTemporalNoiseFilterParameters

VTTemporalNoiseFilterParametersFromID constructs a VTTemporalNoiseFilterParameters from an objc.ID.

Encapsulates the frame-level parameters necessary for processing a source frame using temporal noise-filter processor.

func (VTTemporalNoiseFilterParameters) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (VTTemporalNoiseFilterParameters) DestinationFrame

Destination frame that contains a user-allocated pixel buffer that receives the output frame.

See: https://developer.apple.com/documentation/VideoToolbox/VTTemporalNoiseFilterParameters/destinationFrame

func (VTTemporalNoiseFilterParameters) DestinationFrames

Array of destination frames for processors which may output more than one processed frame.

See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorParameters/destinationFrames-8yges

func (VTTemporalNoiseFilterParameters) FilterStrength

func (v VTTemporalNoiseFilterParameters) FilterStrength() float32

A parameter to control the strength of noise-filtering. The value can range from the minimum strength of 0.0 to the maximum strength of 1.0. Change in filter strength causes the processor to flush all frames in the queue prior to processing the source frame.

See: https://developer.apple.com/documentation/VideoToolbox/VTTemporalNoiseFilterParameters/filterStrength

func (VTTemporalNoiseFilterParameters) HasDiscontinuity

func (v VTTemporalNoiseFilterParameters) HasDiscontinuity() bool

A Boolean that indicates sequence discontinuity, forcing the processor to reset prior to processing the source frame.

See: https://developer.apple.com/documentation/VideoToolbox/VTTemporalNoiseFilterParameters/hasDiscontinuity

func (VTTemporalNoiseFilterParameters) Init

Init initializes the instance.

func (VTTemporalNoiseFilterParameters) InitWithSourceFrameNextFramesPreviousFramesDestinationFrameFilterStrengthHasDiscontinuity

func (v VTTemporalNoiseFilterParameters) InitWithSourceFrameNextFramesPreviousFramesDestinationFrameFilterStrengthHasDiscontinuity(sourceFrame IVTFrameProcessorFrame, nextFrames []VTFrameProcessorFrame, previousFrames []VTFrameProcessorFrame, destinationFrame IVTFrameProcessorFrame, filterStrength float32, hasDiscontinuity bool) VTTemporalNoiseFilterParameters

Creates a new VTTemporalNoiseFilterParameters object.

sourceFrame: Current source frame; must be non `nil`.

nextFrames: Future reference frames in presentation time order to use for processing the source frame. The number of frames can vary from 0 to the number specified by VTTemporalNoiseFilterConfiguration.NextFrameCount property.

previousFrames: Past reference frames in presentation time order to use for processing the source frame. The number of frames can vary from 0 to the number specified by VTTemporalNoiseFilterConfiguration.PreviousFrameCount property.

destinationFrame: User-allocated pixel buffer that receives the output frame. The pixel format of `destinationFrame` must match with that of the `sourceFrame`.

filterStrength: Strength of the noise-filtering to use. The value can range from the minimum strength of 0.0 to the maximum strength of 1.0. Change in filter strength causes the processor to flush all frames in the queue prior to processing the source frame.

hasDiscontinuity: Marks sequence discontinuity, forcing the processor to reset prior to processing the source frame.

See: https://developer.apple.com/documentation/VideoToolbox/VTTemporalNoiseFilterParameters/init(sourceFrame:nextFrames:previousFrames:destinationFrame:filterStrength:hasDiscontinuity:)

func (VTTemporalNoiseFilterParameters) NextFrames

Future reference frames in presentation time order that you use to process the source frame.

Discussion

The number of frames can vary from 0 to the number specified by the `nextFrameCount` property in VTTemporalNoiseFilterConfiguration.

See: https://developer.apple.com/documentation/VideoToolbox/VTTemporalNoiseFilterParameters/nextFrames

func (VTTemporalNoiseFilterParameters) PreviousFrames

Past reference frames in presentation time order that you use to process the source frame.

Discussion

The number of frames can vary from 0 to the number specified by the `previousFrameCount` property in VTTemporalNoiseFilterConfiguration.

See: https://developer.apple.com/documentation/VideoToolbox/VTTemporalNoiseFilterParameters/previousFrames

func (VTTemporalNoiseFilterParameters) SetFilterStrength

func (v VTTemporalNoiseFilterParameters) SetFilterStrength(value float32)

func (VTTemporalNoiseFilterParameters) SetHasDiscontinuity

func (v VTTemporalNoiseFilterParameters) SetHasDiscontinuity(value bool)

func (VTTemporalNoiseFilterParameters) SourceFrame

Current source frame; must be non `nil`.

See: https://developer.apple.com/documentation/VideoToolbox/VTTemporalNoiseFilterParameters/sourceFrame

type VTTemporalNoiseFilterParametersClass

type VTTemporalNoiseFilterParametersClass struct {
	// contains filtered or unexported fields
}

func GetVTTemporalNoiseFilterParametersClass

func GetVTTemporalNoiseFilterParametersClass() VTTemporalNoiseFilterParametersClass

GetVTTemporalNoiseFilterParametersClass returns the class object for VTTemporalNoiseFilterParameters.

func (VTTemporalNoiseFilterParametersClass) Alloc

Alloc allocates memory for a new instance of the class.

func (VTTemporalNoiseFilterParametersClass) Class

Class returns the underlying Objective-C class pointer.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL