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 ¶
- Frame processing: An interface for accessing a range of different video-processing features. (VTFrameProcessor, VTFrameProcessorConfiguration, VTFrameProcessorFrame, VTFrameProcessorParameters, VTFrameRateConversionConfiguration)
Motion Estimation ¶
- VTMotionEstimationSession (VTMotionEstimationOutputHandler)
Compression ¶
- Encoding video for low-latency conferencing: Configure a compression session to optimize encoding for video-conferencing apps.
- Encoding video for live streaming: Configure a compression session to encode video for live streaming.
- Encoding video for offline transcoding: Configure a compression session to transcode video in offline workflows.
- VTCompressionSession: An object that compresses video data. (VTEncodeInfoFlags)
- VTDecompressionSession: An object that decompresses video data. (VTDecompressionMultiImageCapableOutputHandler, VTDecodeFrameFlags, VTDecodeInfoFlags, VTDecompressionOutputCallback, VTDecompressionOutputCallbackRecord)
Media Extension ¶
- VTExtensionPropertiesKey: A key in a Media Extension extension properties dictionary.
- VTCopyVideoDecoderExtensionProperties: Returns information about the Media Extension video decoder required to decode the specified format.
HDR Metadata ¶
- VTHDRPerFrameMetadataGenerationSession: An object that generates per-frame HDR metadata. (VTHDRPerFrameMetadataGenerationHDRFormatType)
Codec Support ¶
- VTIsHardwareDecodeSupported: Returns a Boolean value that indicates whether the current system supports hardware decode for the specified codec.
- VTRegisterProfessionalVideoWorkflowVideoEncoders: Loads encoders appropriate for the client’s professional video workflows.
- VTRegisterProfessionalVideoWorkflowVideoDecoders: Loads decoders appropriate for the client’s professional video workflows.
- VTRegisterSupplementalVideoDecoderIfAvailable: Registers a video decoder for the specified codec type, if one exists on the current system.
- VTCopySupportedPropertyDictionaryForEncoder: Builds a list of supported properties and encoder ID for an encoder.
- VTCopyVideoEncoderList: Builds a list of available video encoders.
- Video Encoder List Keys: Dictionary key constants to use to retrieve video encoder information.
Utilities ¶
- VTCreateCGImageFromCVPixelBuffer: Creates a Core Graphics bitmap image or image mask using the provided pixel buffer.
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 ¶
- Error Code Constants: Constants for Video Toolbox operation error codes.
Variables ¶
Key Types ¶
- VTSuperResolutionScalerConfiguration - Configuration that you use to set up the super-resolution processor.
- VTFrameRateConversionConfiguration - An object that enables the frame rate conversion on a frame processing session.
- VTMotionBlurConfiguration - A configuration object to enable motion blur on a frame processing session.
- VTOpticalFlowConfiguration - A configuration object that enables optical flow on a frame processing session.
- VTLowLatencySuperResolutionScalerConfiguration - An object you use to configure frame processor for low-latency super-resolution scaler processing.
- VTLowLatencyFrameInterpolationConfiguration - Configuration that you use to program Video Toolbox frame processor for low-latency frame interpolation.
- VTTemporalNoiseFilterConfiguration - A configuration object to initiate a frame processor and use temporal noise-filter processor.
- VTMotionBlurParameters - This object contains both input and output parameters necessary to run the motion blur processor on a frame.
- VTFrameRateConversionParameters - An object that contains the required input and output parameters to run a frame rate conversion processor on a frame.
- VTSuperResolutionScalerParameters - An object that contains both input and output parameters that the super-resolution processor needs to run on a frame.
Code generated from Apple documentation. DO NOT EDIT.
Index ¶
- Constants
- Variables
- func NewErrorBlock(handler ErrorHandler) (objc.ID, func())
- func NewVTCompressionOutputHandlerBlock(handler VTCompressionOutputHandler) (objc.ID, func())
- func NewVTFrameProcessorParametersErrorBlock(handler VTFrameProcessorParametersErrorHandler) (objc.ID, func())
- func NewVTMotionEstimationOutputHandlerBlock(handler VTMotionEstimationOutputHandler) (objc.ID, func())
- func NewVTRAWProcessingOutputHandlerBlock(handler VTRAWProcessingOutputHandler) (objc.ID, func())
- func NewVTRAWProcessingParameterChangeHandlerBlock(handler VTRAWProcessingParameterChangeHandler) (objc.ID, func())
- func VTCompressionSessionBeginPass(session VTCompressionSessionRef, ...) int32
- func VTCompressionSessionCompleteFrames(session VTCompressionSessionRef, ...) int32
- func VTCompressionSessionCreate(allocator corefoundation.CFAllocatorRef, width int32, height int32, ...) int32
- func VTCompressionSessionEncodeFrame(session VTCompressionSessionRef, imageBuffer corevideo.CVImageBufferRef, ...) int32
- func VTCompressionSessionEncodeFrameWithOutputHandler(session VTCompressionSessionRef, imageBuffer corevideo.CVImageBufferRef, ...) int32
- func VTCompressionSessionEncodeMultiImageFrame(session VTCompressionSessionRef, ...) int32
- func VTCompressionSessionEncodeMultiImageFrameWithOutputHandler(session VTCompressionSessionRef, ...) int32
- func VTCompressionSessionEndPass(session VTCompressionSessionRef, furtherPassesRequestedOut *bool, ...) int32
- func VTCompressionSessionGetPixelBufferPool(session VTCompressionSessionRef) corevideo.CVPixelBufferPoolRef
- func VTCompressionSessionGetTimeRangesForNextPass(session VTCompressionSessionRef, timeRangeCountOut *int, ...) int32
- func VTCompressionSessionGetTypeID() uint
- func VTCompressionSessionInvalidate(session VTCompressionSessionRef)
- func VTCompressionSessionPrepareToEncodeFrames(session VTCompressionSessionRef) int32
- func VTCopyRAWProcessorExtensionProperties(formatDesc uintptr, ...) int32
- func VTCopySupportedPropertyDictionaryForEncoder(width int32, height int32, codecType uint32, ...) int32
- func VTCopyVideoDecoderExtensionProperties(formatDesc uintptr, ...) int32
- func VTCopyVideoEncoderList(options corefoundation.CFDictionaryRef, ...) int32
- func VTCreateCGImageFromCVPixelBuffer(pixelBuffer corevideo.CVPixelBufferRef, options corefoundation.CFDictionaryRef, ...) int32
- func VTDecompressionSessionCanAcceptFormatDescription(session VTDecompressionSessionRef, newFormatDesc uintptr) bool
- func VTDecompressionSessionCopyBlackPixelBuffer(session VTDecompressionSessionRef, pixelBufferOut *corevideo.CVImageBufferRef) int32
- func VTDecompressionSessionCreate(allocator corefoundation.CFAllocatorRef, videoFormatDescription uintptr, ...) int32
- func VTDecompressionSessionDecodeFrame(session VTDecompressionSessionRef, sampleBuffer uintptr, ...) int32
- func VTDecompressionSessionDecodeFrameWithMultiImageCapableOutputHandler(session VTDecompressionSessionRef, sampleBuffer uintptr, ...) int32
- func VTDecompressionSessionDecodeFrameWithOptions(session VTDecompressionSessionRef, sampleBuffer uintptr, ...) int32
- func VTDecompressionSessionDecodeFrameWithOptionsAndOutputHandler(session VTDecompressionSessionRef, sampleBuffer uintptr, ...) int32
- func VTDecompressionSessionDecodeFrameWithOutputHandler(session VTDecompressionSessionRef, sampleBuffer uintptr, ...) int32
- func VTDecompressionSessionFinishDelayedFrames(session VTDecompressionSessionRef) int32
- func VTDecompressionSessionGetTypeID() uint
- func VTDecompressionSessionInvalidate(session VTDecompressionSessionRef)
- func VTDecompressionSessionSetMultiImageCallback(decompressionSession VTDecompressionSessionRef, ...) int32
- func VTDecompressionSessionWaitForAsynchronousFrames(session VTDecompressionSessionRef) int32
- func VTFrameSiloAddSampleBuffer(silo VTFrameSiloRef, sampleBuffer uintptr) int32
- func VTFrameSiloCallBlockForEachSampleBuffer(silo VTFrameSiloRef, timeRange coremedia.CMTimeRange, ...) int32
- func VTFrameSiloCallFunctionForEachSampleBuffer(silo VTFrameSiloRef, timeRange coremedia.CMTimeRange, refcon uintptr, ...) int32
- func VTFrameSiloCreate(allocator corefoundation.CFAllocatorRef, fileURL corefoundation.CFURLRef, ...) int32
- func VTFrameSiloGetProgressOfCurrentPass(silo VTFrameSiloRef, progressOut *float32) int32
- func VTFrameSiloGetTypeID() uint
- func VTFrameSiloSetTimeRangesForNextPass(silo VTFrameSiloRef, timeRangeCount int, timeRangeArray *coremedia.CMTimeRange) int32
- func VTHDRPerFrameMetadataGenerationSessionAttachMetadata(hdrPerFrameMetadataGenerationSession VTHDRPerFrameMetadataGenerationSessionRef, ...) int32
- func VTHDRPerFrameMetadataGenerationSessionCreate(allocator corefoundation.CFAllocatorRef, framesPerSecond float32, ...) int32
- func VTHDRPerFrameMetadataGenerationSessionGetTypeID() uint
- func VTIsHardwareDecodeSupported(codecType uint32) bool
- func VTIsStereoMVHEVCDecodeSupported() bool
- func VTIsStereoMVHEVCEncodeSupported() bool
- func VTMotionEstimationSessionCompleteFrames(session VTMotionEstimationSessionRef) int32
- func VTMotionEstimationSessionCopySourcePixelBufferAttributes(motionEstimationSession VTMotionEstimationSessionRef, ...) int32
- func VTMotionEstimationSessionCreate(allocator corefoundation.CFAllocatorRef, ...) int32
- func VTMotionEstimationSessionEstimateMotionVectors(session VTMotionEstimationSessionRef, ...) int32
- func VTMotionEstimationSessionGetTypeID() uint
- func VTMotionEstimationSessionInvalidate(session VTMotionEstimationSessionRef)
- func VTMultiPassStorageClose(multiPassStorage VTMultiPassStorageRef) int32
- func VTMultiPassStorageCreate(allocator corefoundation.CFAllocatorRef, fileURL corefoundation.CFURLRef, ...) int32
- func VTMultiPassStorageGetTypeID() uint
- func VTPixelRotationSessionCreate(allocator corefoundation.CFAllocatorRef, ...) int32
- func VTPixelRotationSessionGetTypeID() uint
- func VTPixelRotationSessionInvalidate(session VTPixelRotationSessionRef)
- func VTPixelRotationSessionRotateImage(session VTPixelRotationSessionRef, sourceBuffer corevideo.CVPixelBufferRef, ...) int32
- func VTPixelTransferSessionCreate(allocator corefoundation.CFAllocatorRef, ...) int32
- func VTPixelTransferSessionGetTypeID() uint
- func VTPixelTransferSessionInvalidate(session VTPixelTransferSessionRef)
- func VTPixelTransferSessionTransferImage(session VTPixelTransferSessionRef, sourceBuffer corevideo.CVPixelBufferRef, ...) int32
- func VTRAWProcessingSessionCompleteFrames(session VTRAWProcessingSessionRef) int32
- func VTRAWProcessingSessionCopyProcessingParameters(session VTRAWProcessingSessionRef, ...) int32
- func VTRAWProcessingSessionCreate(allocator corefoundation.CFAllocatorRef, formatDescription uintptr, ...) int32
- func VTRAWProcessingSessionGetTypeID() uint
- func VTRAWProcessingSessionInvalidate(session VTRAWProcessingSessionRef)
- func VTRAWProcessingSessionProcessFrame(session VTRAWProcessingSessionRef, inputPixelBuffer corevideo.CVPixelBufferRef, ...) int32
- func VTRAWProcessingSessionSetParameterChangedHander(session VTRAWProcessingSessionRef, ...) int32deprecated
- func VTRAWProcessingSessionSetParameterChangedHandler(session VTRAWProcessingSessionRef, ...) int32
- func VTRAWProcessingSessionSetProcessingParameters(session VTRAWProcessingSessionRef, ...) int32
- func VTRegisterProfessionalVideoWorkflowVideoDecoders()
- func VTRegisterProfessionalVideoWorkflowVideoEncoders()
- func VTRegisterSupplementalVideoDecoderIfAvailable(codecType uint32)
- func VTSessionCopyProperty(session VTSessionRef, propertyKey corefoundation.CFStringRef, ...) int32
- func VTSessionCopySerializableProperties(session VTSessionRef, allocator corefoundation.CFAllocatorRef, ...) int32
- func VTSessionCopySupportedPropertyDictionary(session VTSessionRef, ...) int32
- func VTSessionSetProperties(session VTSessionRef, propertyDictionary corefoundation.CFDictionaryRef) int32
- func VTSessionSetProperty(session VTSessionRef, propertyKey corefoundation.CFStringRef, ...) int32
- type ErrorHandler
- type IVTFrameProcessor
- type IVTFrameProcessorFrame
- type IVTFrameProcessorOpticalFlow
- type IVTFrameRateConversionConfiguration
- type IVTFrameRateConversionParameters
- type IVTLowLatencyFrameInterpolationConfiguration
- type IVTLowLatencyFrameInterpolationParameters
- type IVTLowLatencySuperResolutionScalerConfiguration
- type IVTLowLatencySuperResolutionScalerParameters
- type IVTMotionBlurConfiguration
- type IVTMotionBlurParameters
- type IVTOpticalFlowConfiguration
- type IVTOpticalFlowParameters
- type IVTSuperResolutionScalerConfiguration
- type IVTSuperResolutionScalerParameters
- type IVTTemporalNoiseFilterConfiguration
- type IVTTemporalNoiseFilterParameters
- type KVT
- type KVTQPModulationLevel
- type VTCompressionOutputCallback
- type VTCompressionOutputHandler
- type VTCompressionSessionOptionFlags
- type VTCompressionSessionRef
- type VTDecodeFrameFlags
- type VTDecodeInfoFlags
- type VTDecompressionMultiImageCapableOutputHandler
- type VTDecompressionOutputCallback
- type VTDecompressionOutputCallbackRecord
- func (s *VTDecompressionOutputCallbackRecord) DecompressionOutputCallback() uintptr
- func (s *VTDecompressionOutputCallbackRecord) DecompressionOutputRefCon() uintptr
- func (s *VTDecompressionOutputCallbackRecord) SetDecompressionOutputCallback(v uintptr)
- func (s *VTDecompressionOutputCallbackRecord) SetDecompressionOutputRefCon(v uintptr)
- type VTDecompressionOutputHandler
- type VTDecompressionOutputMultiImageCallback
- type VTDecompressionSessionRef
- type VTEncodeInfoFlags
- type VTExtensionPropertiesKey
- type VTFrameProcessor
- func (v VTFrameProcessor) Autorelease() VTFrameProcessor
- func (v VTFrameProcessor) EndSession()
- func (v VTFrameProcessor) Init() VTFrameProcessor
- func (v VTFrameProcessor) ProcessWithCommandBufferParameters(commandBuffer metal.MTLCommandBuffer, parameters VTFrameProcessorParameters)
- func (v VTFrameProcessor) ProcessWithParameters(ctx context.Context, parameters VTFrameProcessorParameters) (VTFrameProcessorParameters, error)
- func (v VTFrameProcessor) ProcessWithParametersCompletionHandler(parameters VTFrameProcessorParameters, ...)
- func (v VTFrameProcessor) ProcessWithParametersError(parameters VTFrameProcessorParameters) (bool, error)
- func (v VTFrameProcessor) StartSessionWithConfigurationError(configuration VTFrameProcessorConfiguration) (bool, error)
- type VTFrameProcessorClass
- type VTFrameProcessorConfiguration
- type VTFrameProcessorConfigurationObject
- func (o VTFrameProcessorConfigurationObject) BaseObject() objectivec.Object
- func (o VTFrameProcessorConfigurationObject) DestinationPixelBufferAttributes() foundation.INSDictionary
- func (o VTFrameProcessorConfigurationObject) FrameSupportedPixelFormats() []foundation.NSNumber
- func (o VTFrameProcessorConfigurationObject) NextFrameCount() int
- func (o VTFrameProcessorConfigurationObject) PreviousFrameCount() int
- func (o VTFrameProcessorConfigurationObject) SourcePixelBufferAttributes() foundation.INSDictionary
- type VTFrameProcessorError
- type VTFrameProcessorFrame
- func (v VTFrameProcessorFrame) Autorelease() VTFrameProcessorFrame
- func (v VTFrameProcessorFrame) Buffer() corevideo.CVImageBufferRef
- func (v VTFrameProcessorFrame) Init() VTFrameProcessorFrame
- func (v VTFrameProcessorFrame) InitWithBufferPresentationTimeStamp(buffer corevideo.CVImageBufferRef, presentationTimeStamp coremedia.CMTime) VTFrameProcessorFrame
- func (v VTFrameProcessorFrame) PresentationTimeStamp() coremedia.CMTime
- type VTFrameProcessorFrameClass
- type VTFrameProcessorOpticalFlow
- func (v VTFrameProcessorOpticalFlow) Autorelease() VTFrameProcessorOpticalFlow
- func (v VTFrameProcessorOpticalFlow) BackwardFlow() corevideo.CVImageBufferRef
- func (v VTFrameProcessorOpticalFlow) ForwardFlow() corevideo.CVImageBufferRef
- func (v VTFrameProcessorOpticalFlow) Init() VTFrameProcessorOpticalFlow
- func (v VTFrameProcessorOpticalFlow) InitWithForwardFlowBackwardFlow(forwardFlow corevideo.CVImageBufferRef, ...) VTFrameProcessorOpticalFlow
- type VTFrameProcessorOpticalFlowClass
- type VTFrameProcessorParameters
- type VTFrameProcessorParametersCMTimeBoolErrorHandler
- type VTFrameProcessorParametersErrorHandler
- type VTFrameProcessorParametersObject
- func (o VTFrameProcessorParametersObject) BaseObject() objectivec.Object
- func (o VTFrameProcessorParametersObject) DestinationFrame() IVTFrameProcessorFrame
- func (o VTFrameProcessorParametersObject) DestinationFrames() []VTFrameProcessorFrame
- func (o VTFrameProcessorParametersObject) SourceFrame() IVTFrameProcessorFrame
- type VTFrameRateConversionConfiguration
- func NewVTFrameRateConversionConfiguration() VTFrameRateConversionConfiguration
- func NewVTFrameRateConversionConfigurationWithFrameWidthFrameHeightUsePrecomputedFlowQualityPrioritizationRevision(frameWidth int, frameHeight int, usePrecomputedFlow bool, ...) VTFrameRateConversionConfiguration
- func VTFrameRateConversionConfigurationFromID(id objc.ID) VTFrameRateConversionConfiguration
- func (v VTFrameRateConversionConfiguration) Autorelease() VTFrameRateConversionConfiguration
- func (v VTFrameRateConversionConfiguration) DestinationPixelBufferAttributes() foundation.INSDictionary
- func (v VTFrameRateConversionConfiguration) FrameHeight() int
- func (v VTFrameRateConversionConfiguration) FrameSupportedPixelFormats() []foundation.NSNumber
- func (v VTFrameRateConversionConfiguration) FrameWidth() int
- func (v VTFrameRateConversionConfiguration) Init() VTFrameRateConversionConfiguration
- func (v VTFrameRateConversionConfiguration) InitWithFrameWidthFrameHeightUsePrecomputedFlowQualityPrioritizationRevision(frameWidth int, frameHeight int, usePrecomputedFlow bool, ...) VTFrameRateConversionConfiguration
- func (o VTFrameRateConversionConfiguration) NextFrameCount() int
- func (o VTFrameRateConversionConfiguration) PreviousFrameCount() int
- func (v VTFrameRateConversionConfiguration) QualityPrioritization() VTFrameRateConversionConfigurationQualityPrioritization
- func (v VTFrameRateConversionConfiguration) Revision() VTFrameRateConversionConfigurationRevision
- func (v VTFrameRateConversionConfiguration) SourcePixelBufferAttributes() foundation.INSDictionary
- func (v VTFrameRateConversionConfiguration) UsePrecomputedFlow() bool
- type VTFrameRateConversionConfigurationClass
- func (vc VTFrameRateConversionConfigurationClass) Alloc() VTFrameRateConversionConfiguration
- func (vc VTFrameRateConversionConfigurationClass) Class() objc.Class
- func (_VTFrameRateConversionConfigurationClass VTFrameRateConversionConfigurationClass) DefaultRevision() VTFrameRateConversionConfigurationRevision
- func (_VTFrameRateConversionConfigurationClass VTFrameRateConversionConfigurationClass) IsSupported() bool
- func (_VTFrameRateConversionConfigurationClass VTFrameRateConversionConfigurationClass) ProcessorSupported() bool
- func (_VTFrameRateConversionConfigurationClass VTFrameRateConversionConfigurationClass) SupportedRevisions() foundation.NSIndexSet
- type VTFrameRateConversionConfigurationQualityPrioritization
- type VTFrameRateConversionConfigurationRevision
- type VTFrameRateConversionParameters
- func NewVTFrameRateConversionParameters() VTFrameRateConversionParameters
- func NewVTFrameRateConversionParametersWithSourceFrameNextFrameOpticalFlowInterpolationPhaseSubmissionModeDestinationFrames(sourceFrame IVTFrameProcessorFrame, nextFrame IVTFrameProcessorFrame, ...) VTFrameRateConversionParameters
- func VTFrameRateConversionParametersFromID(id objc.ID) VTFrameRateConversionParameters
- func (v VTFrameRateConversionParameters) Autorelease() VTFrameRateConversionParameters
- func (o VTFrameRateConversionParameters) DestinationFrame() IVTFrameProcessorFrame
- func (v VTFrameRateConversionParameters) DestinationFrames() []VTFrameProcessorFrame
- func (v VTFrameRateConversionParameters) Init() VTFrameRateConversionParameters
- func (v VTFrameRateConversionParameters) InitWithSourceFrameNextFrameOpticalFlowInterpolationPhaseSubmissionModeDestinationFrames(sourceFrame IVTFrameProcessorFrame, nextFrame IVTFrameProcessorFrame, ...) VTFrameRateConversionParameters
- func (v VTFrameRateConversionParameters) InterpolationPhase() []foundation.NSNumber
- func (v VTFrameRateConversionParameters) NextFrame() IVTFrameProcessorFrame
- func (v VTFrameRateConversionParameters) OpticalFlow() IVTFrameProcessorOpticalFlow
- func (v VTFrameRateConversionParameters) SourceFrame() IVTFrameProcessorFrame
- func (v VTFrameRateConversionParameters) SubmissionMode() VTFrameRateConversionParametersSubmissionMode
- type VTFrameRateConversionParametersClass
- type VTFrameRateConversionParametersSubmissionMode
- type VTFrameSiloRef
- type VTHDRPerFrameMetadataGenerationHDRFormatType
- type VTHDRPerFrameMetadataGenerationSessionRef
- type VTInt32Point
- type VTInt32Size
- type VTLowLatencyFrameInterpolationConfiguration
- func NewVTLowLatencyFrameInterpolationConfiguration() VTLowLatencyFrameInterpolationConfiguration
- func NewVTLowLatencyFrameInterpolationConfigurationWithFrameWidthFrameHeightNumberOfInterpolatedFrames(frameWidth int, frameHeight int, numberOfInterpolatedFrames int) VTLowLatencyFrameInterpolationConfiguration
- func NewVTLowLatencyFrameInterpolationConfigurationWithFrameWidthFrameHeightSpatialScaleFactor(frameWidth int, frameHeight int, spatialScaleFactor int) VTLowLatencyFrameInterpolationConfiguration
- func VTLowLatencyFrameInterpolationConfigurationFromID(id objc.ID) VTLowLatencyFrameInterpolationConfiguration
- func (v VTLowLatencyFrameInterpolationConfiguration) Autorelease() VTLowLatencyFrameInterpolationConfiguration
- func (v VTLowLatencyFrameInterpolationConfiguration) DestinationPixelBufferAttributes() foundation.INSDictionary
- func (v VTLowLatencyFrameInterpolationConfiguration) FrameHeight() int
- func (v VTLowLatencyFrameInterpolationConfiguration) FrameSupportedPixelFormats() []foundation.NSNumber
- func (v VTLowLatencyFrameInterpolationConfiguration) FrameWidth() int
- func (v VTLowLatencyFrameInterpolationConfiguration) Init() VTLowLatencyFrameInterpolationConfiguration
- func (v VTLowLatencyFrameInterpolationConfiguration) InitWithFrameWidthFrameHeightNumberOfInterpolatedFrames(frameWidth int, frameHeight int, numberOfInterpolatedFrames int) VTLowLatencyFrameInterpolationConfiguration
- func (v VTLowLatencyFrameInterpolationConfiguration) InitWithFrameWidthFrameHeightSpatialScaleFactor(frameWidth int, frameHeight int, spatialScaleFactor int) VTLowLatencyFrameInterpolationConfiguration
- func (o VTLowLatencyFrameInterpolationConfiguration) NextFrameCount() int
- func (v VTLowLatencyFrameInterpolationConfiguration) NumberOfInterpolatedFrames() int
- func (o VTLowLatencyFrameInterpolationConfiguration) PreviousFrameCount() int
- func (v VTLowLatencyFrameInterpolationConfiguration) SourcePixelBufferAttributes() foundation.INSDictionary
- func (v VTLowLatencyFrameInterpolationConfiguration) SpatialScaleFactor() int
- type VTLowLatencyFrameInterpolationConfigurationClass
- func (vc VTLowLatencyFrameInterpolationConfigurationClass) Alloc() VTLowLatencyFrameInterpolationConfiguration
- func (vc VTLowLatencyFrameInterpolationConfigurationClass) Class() objc.Class
- func (_VTLowLatencyFrameInterpolationConfigurationClass VTLowLatencyFrameInterpolationConfigurationClass) IsSupported() bool
- type VTLowLatencyFrameInterpolationParameters
- func NewVTLowLatencyFrameInterpolationParameters() VTLowLatencyFrameInterpolationParameters
- func NewVTLowLatencyFrameInterpolationParametersWithSourceFramePreviousFrameInterpolationPhaseDestinationFrames(sourceFrame IVTFrameProcessorFrame, previousFrame IVTFrameProcessorFrame, ...) VTLowLatencyFrameInterpolationParameters
- func VTLowLatencyFrameInterpolationParametersFromID(id objc.ID) VTLowLatencyFrameInterpolationParameters
- func (v VTLowLatencyFrameInterpolationParameters) Autorelease() VTLowLatencyFrameInterpolationParameters
- func (o VTLowLatencyFrameInterpolationParameters) DestinationFrame() IVTFrameProcessorFrame
- func (v VTLowLatencyFrameInterpolationParameters) DestinationFrames() []VTFrameProcessorFrame
- func (v VTLowLatencyFrameInterpolationParameters) Init() VTLowLatencyFrameInterpolationParameters
- func (v VTLowLatencyFrameInterpolationParameters) InitWithSourceFramePreviousFrameInterpolationPhaseDestinationFrames(sourceFrame IVTFrameProcessorFrame, previousFrame IVTFrameProcessorFrame, ...) VTLowLatencyFrameInterpolationParameters
- func (v VTLowLatencyFrameInterpolationParameters) InterpolationPhase() []foundation.NSNumber
- func (v VTLowLatencyFrameInterpolationParameters) PreviousFrame() IVTFrameProcessorFrame
- func (v VTLowLatencyFrameInterpolationParameters) SourceFrame() IVTFrameProcessorFrame
- type VTLowLatencyFrameInterpolationParametersClass
- type VTLowLatencySuperResolutionScalerConfiguration
- func NewVTLowLatencySuperResolutionScalerConfiguration() VTLowLatencySuperResolutionScalerConfiguration
- func NewVTLowLatencySuperResolutionScalerConfigurationWithFrameWidthFrameHeightScaleFactor(frameWidth int, frameHeight int, scaleFactor float32) VTLowLatencySuperResolutionScalerConfiguration
- func VTLowLatencySuperResolutionScalerConfigurationFromID(id objc.ID) VTLowLatencySuperResolutionScalerConfiguration
- func (v VTLowLatencySuperResolutionScalerConfiguration) Autorelease() VTLowLatencySuperResolutionScalerConfiguration
- func (v VTLowLatencySuperResolutionScalerConfiguration) DestinationPixelBufferAttributes() foundation.INSDictionary
- func (v VTLowLatencySuperResolutionScalerConfiguration) FrameHeight() int
- func (v VTLowLatencySuperResolutionScalerConfiguration) FrameSupportedPixelFormats() []foundation.NSNumber
- func (v VTLowLatencySuperResolutionScalerConfiguration) FrameWidth() int
- func (v VTLowLatencySuperResolutionScalerConfiguration) Init() VTLowLatencySuperResolutionScalerConfiguration
- func (v VTLowLatencySuperResolutionScalerConfiguration) InitWithFrameWidthFrameHeightScaleFactor(frameWidth int, frameHeight int, scaleFactor float32) VTLowLatencySuperResolutionScalerConfiguration
- func (o VTLowLatencySuperResolutionScalerConfiguration) NextFrameCount() int
- func (o VTLowLatencySuperResolutionScalerConfiguration) PreviousFrameCount() int
- func (v VTLowLatencySuperResolutionScalerConfiguration) ScaleFactor() float32
- func (v VTLowLatencySuperResolutionScalerConfiguration) SourcePixelBufferAttributes() foundation.INSDictionary
- type VTLowLatencySuperResolutionScalerConfigurationClass
- func (vc VTLowLatencySuperResolutionScalerConfigurationClass) Alloc() VTLowLatencySuperResolutionScalerConfiguration
- func (vc VTLowLatencySuperResolutionScalerConfigurationClass) Class() objc.Class
- func (_VTLowLatencySuperResolutionScalerConfigurationClass VTLowLatencySuperResolutionScalerConfigurationClass) IsSupported() bool
- func (_VTLowLatencySuperResolutionScalerConfigurationClass VTLowLatencySuperResolutionScalerConfigurationClass) MaximumDimensions() coremedia.CMVideoDimensions
- func (_VTLowLatencySuperResolutionScalerConfigurationClass VTLowLatencySuperResolutionScalerConfigurationClass) MinimumDimensions() coremedia.CMVideoDimensions
- func (_VTLowLatencySuperResolutionScalerConfigurationClass VTLowLatencySuperResolutionScalerConfigurationClass) SupportedScaleFactorsForFrameWidthFrameHeight(frameWidth int, frameHeight int) []foundation.NSNumber
- type VTLowLatencySuperResolutionScalerParameters
- func NewVTLowLatencySuperResolutionScalerParameters() VTLowLatencySuperResolutionScalerParameters
- func NewVTLowLatencySuperResolutionScalerParametersWithSourceFrameDestinationFrame(sourceFrame IVTFrameProcessorFrame, destinationFrame IVTFrameProcessorFrame) VTLowLatencySuperResolutionScalerParameters
- func VTLowLatencySuperResolutionScalerParametersFromID(id objc.ID) VTLowLatencySuperResolutionScalerParameters
- func (v VTLowLatencySuperResolutionScalerParameters) Autorelease() VTLowLatencySuperResolutionScalerParameters
- func (v VTLowLatencySuperResolutionScalerParameters) DestinationFrame() IVTFrameProcessorFrame
- func (o VTLowLatencySuperResolutionScalerParameters) DestinationFrames() []VTFrameProcessorFrame
- func (v VTLowLatencySuperResolutionScalerParameters) Init() VTLowLatencySuperResolutionScalerParameters
- func (v VTLowLatencySuperResolutionScalerParameters) InitWithSourceFrameDestinationFrame(sourceFrame IVTFrameProcessorFrame, destinationFrame IVTFrameProcessorFrame) VTLowLatencySuperResolutionScalerParameters
- func (v VTLowLatencySuperResolutionScalerParameters) SourceFrame() IVTFrameProcessorFrame
- type VTLowLatencySuperResolutionScalerParametersClass
- type VTMotionBlurConfiguration
- func NewVTMotionBlurConfiguration() VTMotionBlurConfiguration
- func NewVTMotionBlurConfigurationWithFrameWidthFrameHeightUsePrecomputedFlowQualityPrioritizationRevision(frameWidth int, frameHeight int, usePrecomputedFlow bool, ...) VTMotionBlurConfiguration
- func VTMotionBlurConfigurationFromID(id objc.ID) VTMotionBlurConfiguration
- func (v VTMotionBlurConfiguration) Autorelease() VTMotionBlurConfiguration
- func (v VTMotionBlurConfiguration) DestinationPixelBufferAttributes() foundation.INSDictionary
- func (v VTMotionBlurConfiguration) FrameHeight() int
- func (v VTMotionBlurConfiguration) FrameSupportedPixelFormats() []foundation.NSNumber
- func (v VTMotionBlurConfiguration) FrameWidth() int
- func (v VTMotionBlurConfiguration) Init() VTMotionBlurConfiguration
- func (v VTMotionBlurConfiguration) InitWithFrameWidthFrameHeightUsePrecomputedFlowQualityPrioritizationRevision(frameWidth int, frameHeight int, usePrecomputedFlow bool, ...) VTMotionBlurConfiguration
- func (o VTMotionBlurConfiguration) NextFrameCount() int
- func (o VTMotionBlurConfiguration) PreviousFrameCount() int
- func (v VTMotionBlurConfiguration) QualityPrioritization() VTMotionBlurConfigurationQualityPrioritization
- func (v VTMotionBlurConfiguration) Revision() VTMotionBlurConfigurationRevision
- func (v VTMotionBlurConfiguration) SourcePixelBufferAttributes() foundation.INSDictionary
- func (v VTMotionBlurConfiguration) UsePrecomputedFlow() bool
- type VTMotionBlurConfigurationClass
- func (vc VTMotionBlurConfigurationClass) Alloc() VTMotionBlurConfiguration
- func (vc VTMotionBlurConfigurationClass) Class() objc.Class
- func (_VTMotionBlurConfigurationClass VTMotionBlurConfigurationClass) DefaultRevision() VTMotionBlurConfigurationRevision
- func (_VTMotionBlurConfigurationClass VTMotionBlurConfigurationClass) IsSupported() bool
- func (_VTMotionBlurConfigurationClass VTMotionBlurConfigurationClass) ProcessorSupported() bool
- func (_VTMotionBlurConfigurationClass VTMotionBlurConfigurationClass) SupportedRevisions() foundation.NSIndexSet
- type VTMotionBlurConfigurationQualityPrioritization
- type VTMotionBlurConfigurationRevision
- type VTMotionBlurParameters
- func NewVTMotionBlurParameters() VTMotionBlurParameters
- func NewVTMotionBlurParametersWithSourceFrameNextFramePreviousFrameNextOpticalFlowPreviousOpticalFlowMotionBlurStrengthSubmissionModeDestinationFrame(sourceFrame IVTFrameProcessorFrame, nextFrame IVTFrameProcessorFrame, ...) VTMotionBlurParameters
- func VTMotionBlurParametersFromID(id objc.ID) VTMotionBlurParameters
- func (v VTMotionBlurParameters) Autorelease() VTMotionBlurParameters
- func (v VTMotionBlurParameters) DestinationFrame() IVTFrameProcessorFrame
- func (o VTMotionBlurParameters) DestinationFrames() []VTFrameProcessorFrame
- func (v VTMotionBlurParameters) Init() VTMotionBlurParameters
- func (v VTMotionBlurParameters) InitWithSourceFrameNextFramePreviousFrameNextOpticalFlowPreviousOpticalFlowMotionBlurStrengthSubmissionModeDestinationFrame(sourceFrame IVTFrameProcessorFrame, nextFrame IVTFrameProcessorFrame, ...) VTMotionBlurParameters
- func (v VTMotionBlurParameters) MotionBlurStrength() int
- func (v VTMotionBlurParameters) NextFrame() IVTFrameProcessorFrame
- func (v VTMotionBlurParameters) NextOpticalFlow() IVTFrameProcessorOpticalFlow
- func (v VTMotionBlurParameters) PreviousFrame() IVTFrameProcessorFrame
- func (v VTMotionBlurParameters) PreviousOpticalFlow() IVTFrameProcessorOpticalFlow
- func (v VTMotionBlurParameters) SourceFrame() IVTFrameProcessorFrame
- func (v VTMotionBlurParameters) SubmissionMode() VTMotionBlurParametersSubmissionMode
- type VTMotionBlurParametersClass
- type VTMotionBlurParametersSubmissionMode
- type VTMotionEstimationFrameFlags
- type VTMotionEstimationInfoFlags
- type VTMotionEstimationOutputHandler
- type VTMotionEstimationSessionRef
- type VTMultiPassStorageRef
- type VTOpticalFlowConfiguration
- func (v VTOpticalFlowConfiguration) Autorelease() VTOpticalFlowConfiguration
- func (v VTOpticalFlowConfiguration) DestinationPixelBufferAttributes() foundation.INSDictionary
- func (v VTOpticalFlowConfiguration) FrameHeight() int
- func (v VTOpticalFlowConfiguration) FrameSupportedPixelFormats() []foundation.NSNumber
- func (v VTOpticalFlowConfiguration) FrameWidth() int
- func (v VTOpticalFlowConfiguration) Init() VTOpticalFlowConfiguration
- func (v VTOpticalFlowConfiguration) InitWithFrameWidthFrameHeightQualityPrioritizationRevision(frameWidth int, frameHeight int, ...) VTOpticalFlowConfiguration
- func (o VTOpticalFlowConfiguration) NextFrameCount() int
- func (o VTOpticalFlowConfiguration) PreviousFrameCount() int
- func (v VTOpticalFlowConfiguration) QualityPrioritization() VTOpticalFlowConfigurationQualityPrioritization
- func (v VTOpticalFlowConfiguration) Revision() VTOpticalFlowConfigurationRevision
- func (v VTOpticalFlowConfiguration) SourcePixelBufferAttributes() foundation.INSDictionary
- type VTOpticalFlowConfigurationClass
- func (vc VTOpticalFlowConfigurationClass) Alloc() VTOpticalFlowConfiguration
- func (vc VTOpticalFlowConfigurationClass) Class() objc.Class
- func (_VTOpticalFlowConfigurationClass VTOpticalFlowConfigurationClass) DefaultRevision() VTOpticalFlowConfigurationRevision
- func (_VTOpticalFlowConfigurationClass VTOpticalFlowConfigurationClass) IsSupported() bool
- func (_VTOpticalFlowConfigurationClass VTOpticalFlowConfigurationClass) ProcessorSupported() bool
- func (_VTOpticalFlowConfigurationClass VTOpticalFlowConfigurationClass) SupportedRevisions() foundation.NSIndexSet
- type VTOpticalFlowConfigurationQualityPrioritization
- type VTOpticalFlowConfigurationRevision
- type VTOpticalFlowParameters
- func NewVTOpticalFlowParameters() VTOpticalFlowParameters
- func NewVTOpticalFlowParametersWithSourceFrameNextFrameSubmissionModeDestinationOpticalFlow(sourceFrame IVTFrameProcessorFrame, nextFrame IVTFrameProcessorFrame, ...) VTOpticalFlowParameters
- func VTOpticalFlowParametersFromID(id objc.ID) VTOpticalFlowParameters
- func (v VTOpticalFlowParameters) Autorelease() VTOpticalFlowParameters
- func (o VTOpticalFlowParameters) DestinationFrame() IVTFrameProcessorFrame
- func (o VTOpticalFlowParameters) DestinationFrames() []VTFrameProcessorFrame
- func (v VTOpticalFlowParameters) DestinationOpticalFlow() IVTFrameProcessorOpticalFlow
- func (v VTOpticalFlowParameters) Init() VTOpticalFlowParameters
- func (v VTOpticalFlowParameters) InitWithSourceFrameNextFrameSubmissionModeDestinationOpticalFlow(sourceFrame IVTFrameProcessorFrame, nextFrame IVTFrameProcessorFrame, ...) VTOpticalFlowParameters
- func (v VTOpticalFlowParameters) NextFrame() IVTFrameProcessorFrame
- func (v VTOpticalFlowParameters) SourceFrame() IVTFrameProcessorFrame
- func (v VTOpticalFlowParameters) SubmissionMode() VTOpticalFlowParametersSubmissionMode
- type VTOpticalFlowParametersClass
- type VTOpticalFlowParametersSubmissionMode
- type VTPixelRotationSessionRef
- type VTPixelTransferSessionRef
- type VTRAWProcessingOutputHandler
- type VTRAWProcessingParameterChangeHandler
- type VTRAWProcessingSessionRef
- type VTSessionRef
- type VTSuperResolutionScalerConfiguration
- func NewVTSuperResolutionScalerConfiguration() VTSuperResolutionScalerConfiguration
- func NewVTSuperResolutionScalerConfigurationWithFrameWidthFrameHeightScaleFactorInputTypeUsePrecomputedFlowQualityPrioritizationRevision(frameWidth int, frameHeight int, scaleFactor int, ...) VTSuperResolutionScalerConfiguration
- func VTSuperResolutionScalerConfigurationFromID(id objc.ID) VTSuperResolutionScalerConfiguration
- func (v VTSuperResolutionScalerConfiguration) Autorelease() VTSuperResolutionScalerConfiguration
- func (v VTSuperResolutionScalerConfiguration) ConfigurationModelPercentageAvailable() float32
- func (v VTSuperResolutionScalerConfiguration) ConfigurationModelStatus() VTSuperResolutionScalerConfigurationModelStatus
- func (v VTSuperResolutionScalerConfiguration) DestinationPixelBufferAttributes() foundation.INSDictionary
- func (v VTSuperResolutionScalerConfiguration) DownloadConfigurationModel(ctx context.Context) error
- func (v VTSuperResolutionScalerConfiguration) DownloadConfigurationModelWithCompletionHandler(completionHandler ErrorHandler)
- func (v VTSuperResolutionScalerConfiguration) FrameHeight() int
- func (v VTSuperResolutionScalerConfiguration) FrameSupportedPixelFormats() []foundation.NSNumber
- func (v VTSuperResolutionScalerConfiguration) FrameWidth() int
- func (v VTSuperResolutionScalerConfiguration) Init() VTSuperResolutionScalerConfiguration
- func (v VTSuperResolutionScalerConfiguration) InitWithFrameWidthFrameHeightScaleFactorInputTypeUsePrecomputedFlowQualityPrioritizationRevision(frameWidth int, frameHeight int, scaleFactor int, ...) VTSuperResolutionScalerConfiguration
- func (v VTSuperResolutionScalerConfiguration) InputType() VTSuperResolutionScalerConfigurationInputType
- func (o VTSuperResolutionScalerConfiguration) NextFrameCount() int
- func (v VTSuperResolutionScalerConfiguration) PrecomputedFlow() bool
- func (o VTSuperResolutionScalerConfiguration) PreviousFrameCount() int
- func (v VTSuperResolutionScalerConfiguration) QualityPrioritization() VTSuperResolutionScalerConfigurationQualityPrioritization
- func (v VTSuperResolutionScalerConfiguration) Revision() VTSuperResolutionScalerConfigurationRevision
- func (v VTSuperResolutionScalerConfiguration) ScaleFactor() int
- func (v VTSuperResolutionScalerConfiguration) SourcePixelBufferAttributes() foundation.INSDictionary
- type VTSuperResolutionScalerConfigurationClass
- func (vc VTSuperResolutionScalerConfigurationClass) Alloc() VTSuperResolutionScalerConfiguration
- func (vc VTSuperResolutionScalerConfigurationClass) Class() objc.Class
- func (_VTSuperResolutionScalerConfigurationClass VTSuperResolutionScalerConfigurationClass) DefaultRevision() VTSuperResolutionScalerConfigurationRevision
- func (_VTSuperResolutionScalerConfigurationClass VTSuperResolutionScalerConfigurationClass) IsSupported() bool
- func (_VTSuperResolutionScalerConfigurationClass VTSuperResolutionScalerConfigurationClass) SupportedRevisions() foundation.NSIndexSet
- func (_VTSuperResolutionScalerConfigurationClass VTSuperResolutionScalerConfigurationClass) SupportedScaleFactors() []foundation.NSNumber
- type VTSuperResolutionScalerConfigurationInputType
- type VTSuperResolutionScalerConfigurationModelStatus
- type VTSuperResolutionScalerConfigurationQualityPrioritization
- type VTSuperResolutionScalerConfigurationRevision
- type VTSuperResolutionScalerParameters
- func NewVTSuperResolutionScalerParameters() VTSuperResolutionScalerParameters
- func NewVTSuperResolutionScalerParametersWithSourceFramePreviousFramePreviousOutputFrameOpticalFlowSubmissionModeDestinationFrame(sourceFrame IVTFrameProcessorFrame, previousFrame IVTFrameProcessorFrame, ...) VTSuperResolutionScalerParameters
- func VTSuperResolutionScalerParametersFromID(id objc.ID) VTSuperResolutionScalerParameters
- func (v VTSuperResolutionScalerParameters) Autorelease() VTSuperResolutionScalerParameters
- func (v VTSuperResolutionScalerParameters) DestinationFrame() IVTFrameProcessorFrame
- func (o VTSuperResolutionScalerParameters) DestinationFrames() []VTFrameProcessorFrame
- func (v VTSuperResolutionScalerParameters) Init() VTSuperResolutionScalerParameters
- func (v VTSuperResolutionScalerParameters) InitWithSourceFramePreviousFramePreviousOutputFrameOpticalFlowSubmissionModeDestinationFrame(sourceFrame IVTFrameProcessorFrame, previousFrame IVTFrameProcessorFrame, ...) VTSuperResolutionScalerParameters
- func (v VTSuperResolutionScalerParameters) OpticalFlow() IVTFrameProcessorOpticalFlow
- func (v VTSuperResolutionScalerParameters) PreviousFrame() IVTFrameProcessorFrame
- func (v VTSuperResolutionScalerParameters) PreviousOutputFrame() IVTFrameProcessorFrame
- func (v VTSuperResolutionScalerParameters) SourceFrame() IVTFrameProcessorFrame
- func (v VTSuperResolutionScalerParameters) SubmissionMode() VTSuperResolutionScalerParametersSubmissionMode
- type VTSuperResolutionScalerParametersClass
- type VTSuperResolutionScalerParametersSubmissionMode
- type VTTemporalNoiseFilterConfiguration
- func NewVTTemporalNoiseFilterConfiguration() VTTemporalNoiseFilterConfiguration
- func NewVTTemporalNoiseFilterConfigurationWithFrameWidthFrameHeightSourcePixelFormat(frameWidth int, frameHeight int, sourcePixelFormat uint32) VTTemporalNoiseFilterConfiguration
- func VTTemporalNoiseFilterConfigurationFromID(id objc.ID) VTTemporalNoiseFilterConfiguration
- func (v VTTemporalNoiseFilterConfiguration) Autorelease() VTTemporalNoiseFilterConfiguration
- func (v VTTemporalNoiseFilterConfiguration) DestinationPixelBufferAttributes() foundation.INSDictionary
- func (v VTTemporalNoiseFilterConfiguration) FrameHeight() int
- func (v VTTemporalNoiseFilterConfiguration) FrameSupportedPixelFormats() []foundation.NSNumber
- func (v VTTemporalNoiseFilterConfiguration) FrameWidth() int
- func (v VTTemporalNoiseFilterConfiguration) Init() VTTemporalNoiseFilterConfiguration
- func (v VTTemporalNoiseFilterConfiguration) InitWithFrameWidthFrameHeightSourcePixelFormat(frameWidth int, frameHeight int, sourcePixelFormat uint32) VTTemporalNoiseFilterConfiguration
- func (v VTTemporalNoiseFilterConfiguration) NextFrameCount() int
- func (v VTTemporalNoiseFilterConfiguration) PreviousFrameCount() int
- func (v VTTemporalNoiseFilterConfiguration) SourcePixelBufferAttributes() foundation.INSDictionary
- type VTTemporalNoiseFilterConfigurationClass
- func (vc VTTemporalNoiseFilterConfigurationClass) Alloc() VTTemporalNoiseFilterConfiguration
- func (vc VTTemporalNoiseFilterConfigurationClass) Class() objc.Class
- func (_VTTemporalNoiseFilterConfigurationClass VTTemporalNoiseFilterConfigurationClass) IsSupported() bool
- func (_VTTemporalNoiseFilterConfigurationClass VTTemporalNoiseFilterConfigurationClass) MaximumDimensions() coremedia.CMVideoDimensions
- func (_VTTemporalNoiseFilterConfigurationClass VTTemporalNoiseFilterConfigurationClass) MinimumDimensions() coremedia.CMVideoDimensions
- func (_VTTemporalNoiseFilterConfigurationClass VTTemporalNoiseFilterConfigurationClass) SupportedSourcePixelFormats() []foundation.NSNumber
- type VTTemporalNoiseFilterParameters
- func NewVTTemporalNoiseFilterParameters() VTTemporalNoiseFilterParameters
- func NewVTTemporalNoiseFilterParametersWithSourceFrameNextFramesPreviousFramesDestinationFrameFilterStrengthHasDiscontinuity(sourceFrame IVTFrameProcessorFrame, nextFrames []VTFrameProcessorFrame, ...) VTTemporalNoiseFilterParameters
- func VTTemporalNoiseFilterParametersFromID(id objc.ID) VTTemporalNoiseFilterParameters
- func (v VTTemporalNoiseFilterParameters) Autorelease() VTTemporalNoiseFilterParameters
- func (v VTTemporalNoiseFilterParameters) DestinationFrame() IVTFrameProcessorFrame
- func (o VTTemporalNoiseFilterParameters) DestinationFrames() []VTFrameProcessorFrame
- func (v VTTemporalNoiseFilterParameters) FilterStrength() float32
- func (v VTTemporalNoiseFilterParameters) HasDiscontinuity() bool
- func (v VTTemporalNoiseFilterParameters) Init() VTTemporalNoiseFilterParameters
- func (v VTTemporalNoiseFilterParameters) InitWithSourceFrameNextFramesPreviousFramesDestinationFrameFilterStrengthHasDiscontinuity(sourceFrame IVTFrameProcessorFrame, nextFrames []VTFrameProcessorFrame, ...) VTTemporalNoiseFilterParameters
- func (v VTTemporalNoiseFilterParameters) NextFrames() []VTFrameProcessorFrame
- func (v VTTemporalNoiseFilterParameters) PreviousFrames() []VTFrameProcessorFrame
- func (v VTTemporalNoiseFilterParameters) SetFilterStrength(value float32)
- func (v VTTemporalNoiseFilterParameters) SetHasDiscontinuity(value bool)
- func (v VTTemporalNoiseFilterParameters) SourceFrame() IVTFrameProcessorFrame
- type VTTemporalNoiseFilterParametersClass
Constants ¶
const KVTUnlimitedFrameDelayCount int32 = -1
Variables ¶
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 // // 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 // // 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 )
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.
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.
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.
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.
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.
func VTCompressionSessionEndPass ¶
func VTCompressionSessionEndPass(session VTCompressionSessionRef, furtherPassesRequestedOut *bool, reserved *uint32) int32
VTCompressionSessionEndPass marks the end of a compression pass.
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.
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.
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.
func VTDecompressionSessionCanAcceptFormatDescription ¶
func VTDecompressionSessionCanAcceptFormatDescription(session VTDecompressionSessionRef, newFormatDesc uintptr) bool
VTDecompressionSessionCanAcceptFormatDescription indicates whether the session can decode frames with the given format description.
func VTDecompressionSessionCopyBlackPixelBuffer ¶
func VTDecompressionSessionCopyBlackPixelBuffer(session VTDecompressionSessionRef, pixelBufferOut *corevideo.CVImageBufferRef) int32
VTDecompressionSessionCopyBlackPixelBuffer copies a black pixel buffer from the decompression session.
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.
func VTDecompressionSessionDecodeFrame ¶
func VTDecompressionSessionDecodeFrame(session VTDecompressionSessionRef, sampleBuffer uintptr, decodeFlags VTDecodeFrameFlags, sourceFrameRefCon unsafe.Pointer, infoFlagsOut *VTDecodeInfoFlags) int32
VTDecompressionSessionDecodeFrame decompresses a video frame.
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.
func VTDecompressionSessionDecodeFrameWithOptions ¶
func VTDecompressionSessionDecodeFrameWithOptions(session VTDecompressionSessionRef, sampleBuffer uintptr, decodeFlags VTDecodeFrameFlags, frameOptions corefoundation.CFDictionaryRef, sourceFrameRefCon unsafe.Pointer, infoFlagsOut *VTDecodeInfoFlags) int32
VTDecompressionSessionDecodeFrameWithOptions.
func VTDecompressionSessionDecodeFrameWithOptionsAndOutputHandler ¶
func VTDecompressionSessionDecodeFrameWithOptionsAndOutputHandler(session VTDecompressionSessionRef, sampleBuffer uintptr, decodeFlags VTDecodeFrameFlags, frameOptions corefoundation.CFDictionaryRef, infoFlagsOut *VTDecodeInfoFlags, outputHandler VTDecompressionOutputHandler) int32
VTDecompressionSessionDecodeFrameWithOptionsAndOutputHandler.
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.
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.
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.
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.
func VTFrameSiloCreate ¶
func VTFrameSiloCreate(allocator corefoundation.CFAllocatorRef, fileURL corefoundation.CFURLRef, timeRange coremedia.CMTimeRange, options corefoundation.CFDictionaryRef, frameSiloOut *VTFrameSiloRef) int32
VTFrameSiloCreate creates a frame silo object using a temporary file.
func VTFrameSiloGetProgressOfCurrentPass ¶
func VTFrameSiloGetProgressOfCurrentPass(silo VTFrameSiloRef, progressOut *float32) int32
VTFrameSiloGetProgressOfCurrentPass gets the progress of the current pass.
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.
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.
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.
func VTIsHardwareDecodeSupported ¶
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.
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.
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.
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.
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.
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.
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.
func VTRAWProcessingSessionSetParameterChangedHandler ¶
func VTRAWProcessingSessionSetParameterChangedHandler(session VTRAWProcessingSessionRef, parameterChangeHandler VTRAWProcessingParameterChangeHandler) int32
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.
func VTRegisterProfessionalVideoWorkflowVideoEncoders ¶
func VTRegisterProfessionalVideoWorkflowVideoEncoders()
VTRegisterProfessionalVideoWorkflowVideoEncoders loads encoders appropriate for the client’s professional video workflows.
func VTRegisterSupplementalVideoDecoderIfAvailable ¶
func VTRegisterSupplementalVideoDecoderIfAvailable(codecType uint32)
VTRegisterSupplementalVideoDecoderIfAvailable registers a video decoder for the specified codec type, if one exists on the current system.
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.
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.
func VTSessionCopySupportedPropertyDictionary ¶
func VTSessionCopySupportedPropertyDictionary(session VTSessionRef, supportedPropertyDictionaryOut *corefoundation.CFDictionaryRef) int32
VTSessionCopySupportedPropertyDictionary retrieves a dictionary enumerating all the supported properties of a video toolbox session.
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 ¶
- IVTFrameProcessor.StartSessionWithConfigurationError: Starts a new session and configures the processor pipeline.
- IVTFrameProcessor.ProcessWithParametersCompletionHandler: Asynchronously performs the video effect specified in the start session.
- IVTFrameProcessor.ProcessWithCommandBufferParameters: Asynchronously performs the video effect specified in the start session specifically for Metal.
- IVTFrameProcessor.EndSession: Performs all necessary tasks to end the session.
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 ¶
- IVTFrameProcessorFrame.InitWithBufferPresentationTimeStamp: Creates a frame object with a pixel buffer and presentation time.
Inspecting the frame ¶
- IVTFrameProcessorFrame.Buffer: The pixel buffer specified when the object was created.
- IVTFrameProcessorFrame.PresentationTimeStamp: The presentation timestamp specified when the object was created.
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 ¶
- IVTFrameProcessorOpticalFlow.InitWithForwardFlowBackwardFlow: Creates an object with forward and backward optical flow pixel buffers.
Inspecting the configuration ¶
- IVTFrameProcessorOpticalFlow.BackwardFlow: The backward optical flow pixel buffer that was provided when the object was created.
- IVTFrameProcessorOpticalFlow.ForwardFlow: The forward optical flow pixel that was provided when the object was created.
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 ¶
- IVTFrameRateConversionConfiguration.InitWithFrameWidthFrameHeightUsePrecomputedFlowQualityPrioritizationRevision: Creates a new frame rate conversion configuration with specified flow width and height.
Inspecting the configuration ¶
- IVTFrameRateConversionConfiguration.FrameWidth: The width of a source frame in pixels.
- IVTFrameRateConversionConfiguration.FrameHeight: The height of a source frame in pixels.
- IVTFrameRateConversionConfiguration.UsePrecomputedFlow: A Boolean value to indicates whether the optical flow will be provided by the user.
- IVTFrameRateConversionConfiguration.QualityPrioritization: A value that specifies whether to prioritize quality or performance.
Inspecting revision information ¶
- IVTFrameRateConversionConfiguration.Revision: The specific algorithm or configuration revision to use to perform the request.
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 ¶
- IVTFrameRateConversionParameters.NextFrame: The next source frame in presentation time order.
- IVTFrameRateConversionParameters.OpticalFlow: A property that defines the optical flow for an object.
- IVTFrameRateConversionParameters.InterpolationPhase: An array of floating-point values that indicate which intervals to insert a frame between the current and next frame.
- IVTFrameRateConversionParameters.SubmissionMode: A value describing the processing request in a parameters submission object.
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 ¶
- IVTLowLatencyFrameInterpolationConfiguration.InitWithFrameWidthFrameHeightNumberOfInterpolatedFrames: Creates a new low-latency frame interpolation configuration for frame-rate conversion.
- IVTLowLatencyFrameInterpolationConfiguration.InitWithFrameWidthFrameHeightSpatialScaleFactor: Creates a new low-latency frame interpolation configuration for spatial scaling and temporal scaling.
Inspecting the configuration ¶
- IVTLowLatencyFrameInterpolationConfiguration.FrameWidth: Width of source frames in pixels.
- IVTLowLatencyFrameInterpolationConfiguration.FrameHeight: Height of source frames in pixels.
- IVTLowLatencyFrameInterpolationConfiguration.NumberOfInterpolatedFrames: Number of uniformly spaced frames for which you configured the processor.
- IVTLowLatencyFrameInterpolationConfiguration.SpatialScaleFactor: Configured spatial scale factor as an integer.
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 ¶
- IVTLowLatencyFrameInterpolationParameters.PreviousFrame: Previous frame that you provided when creating the low-latency frame interpolation parameters object.
- IVTLowLatencyFrameInterpolationParameters.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
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 ¶
- IVTLowLatencySuperResolutionScalerConfiguration.InitWithFrameWidthFrameHeightScaleFactor: Creates a new low-latency super-resolution scaler configuration with specified frame width and height.
Inspecting the configuration ¶
- IVTLowLatencySuperResolutionScalerConfiguration.FrameWidth: Width of source frame in pixels.
- IVTLowLatencySuperResolutionScalerConfiguration.FrameHeight: Height of source frame in pixels.
- IVTLowLatencySuperResolutionScalerConfiguration.ScaleFactor: Scale factor with which you initialized the configuration.
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 ¶
- IVTLowLatencySuperResolutionScalerParameters.InitWithSourceFrameDestinationFrame: Creates a new low-latency, super-resolution scaler 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 ¶
- IVTMotionBlurConfiguration.InitWithFrameWidthFrameHeightUsePrecomputedFlowQualityPrioritizationRevision: Creates a new motion blur configuration with specified flow width and height.
Inspecting the configuration ¶
- IVTMotionBlurConfiguration.FrameWidth: The width of a source frame in pixels.
- IVTMotionBlurConfiguration.FrameHeight: The height of a source frame in pixels.
- IVTMotionBlurConfiguration.UsePrecomputedFlow: A Boolean value to indicates whether the the optical flow will be provided by the user.
- IVTMotionBlurConfiguration.QualityPrioritization: A value that specifies whether to prioritize quality or performance.
Inspecting revision information ¶
- IVTMotionBlurConfiguration.Revision: The specific algorithm or configuration revision that is to be used to perform the request.
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 ¶
- IVTMotionBlurParameters.NextFrame: The next source frame in presentation time order.
- IVTMotionBlurParameters.PreviousFrame: The previous source frame in presentation time order.
- IVTMotionBlurParameters.MotionBlurStrength: A value that indicates the strength of blur to apply.
- IVTMotionBlurParameters.NextOpticalFlow: Optional optical flow object that contains forward and backward optical flow with the next frame.
- IVTMotionBlurParameters.PreviousOpticalFlow: Optional optical flow object that contains forward and backward optical flow with the previous frame.
- IVTMotionBlurParameters.SubmissionMode: A value describing the processing request in a parameters submission object.
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 ¶
- IVTOpticalFlowConfiguration.FrameWidth: The width of a source frame in pixels.
- IVTOpticalFlowConfiguration.FrameHeight: The height of source frame in pixels.
- IVTOpticalFlowConfiguration.QualityPrioritization: A value that specifies whether to prioritize quality or performance.
Inspecting revision information ¶
- IVTOpticalFlowConfiguration.Revision: The specific algorithm or configuration revision that is to be used to perform the request.
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 ¶
- IVTOpticalFlowParameters.NextFrame: The next source frame in presentation time order.
- IVTOpticalFlowParameters.DestinationOpticalFlow: A user allocated mutable optical flow that will receive the results.
- IVTOpticalFlowParameters.SubmissionMode: A value describing the processing request in a parameters submission object.
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 ¶
- IVTSuperResolutionScalerConfiguration.InitWithFrameWidthFrameHeightScaleFactorInputTypeUsePrecomputedFlowQualityPrioritizationRevision: Creates a new super-resolution scaler processor configuration.
Inspecting the configuration ¶
- IVTSuperResolutionScalerConfiguration.FrameWidth: Width of source frame in pixels.
- IVTSuperResolutionScalerConfiguration.FrameHeight: Height of source frame in pixels.
- IVTSuperResolutionScalerConfiguration.ScaleFactor: Indicates the scale factor between input and output.
- IVTSuperResolutionScalerConfiguration.InputType: Indicates the type of input.
- IVTSuperResolutionScalerConfiguration.PrecomputedFlow: Indicates that you provide optical flow.
- IVTSuperResolutionScalerConfiguration.QualityPrioritization: A parameter to control quality and performance levels.
Managing the configuration model ¶
- IVTSuperResolutionScalerConfiguration.ConfigurationModelStatus: Reports the download status of models that the system needs for the current configuration.
- IVTSuperResolutionScalerConfiguration.ConfigurationModelPercentageAvailable: Returns a floating point value between 0.0 and 1.0 indicating the percentage of required model assets that have been downloaded.
- IVTSuperResolutionScalerConfiguration.DownloadConfigurationModelWithCompletionHandler: Downloads models that the system needs for the current configuration.
Inspecting revision information ¶
- IVTSuperResolutionScalerConfiguration.Revision: The specific algorithm or configuration revision you use to perform the request.
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 ¶
- IVTSuperResolutionScalerParameters.InitWithSourceFramePreviousFramePreviousOutputFrameOpticalFlowSubmissionModeDestinationFrame: Creates a new super-resolution scaler parameters instance.
Inspecting the parameters ¶
- IVTSuperResolutionScalerParameters.PreviousFrame: Previous source frame in presentation time order, which is `nil` for the first frame.
- IVTSuperResolutionScalerParameters.PreviousOutputFrame: Previous output frame in presentation time order, which is `nil` for the first frame.
- IVTSuperResolutionScalerParameters.OpticalFlow: Optional object that contains forward and backward optical flow with the previous frame.
- IVTSuperResolutionScalerParameters.SubmissionMode: Ordering of the input frames in this submission relative to the previous submission.
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 ¶
- IVTTemporalNoiseFilterConfiguration.InitWithFrameWidthFrameHeightSourcePixelFormat: Creates a new temporal noise-processor configuration.
Inspecting the configuration ¶
- IVTTemporalNoiseFilterConfiguration.FrameWidth: Width of source frame in pixels.
- IVTTemporalNoiseFilterConfiguration.FrameHeight: Height of source frame in pixels.
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 ¶
- IVTTemporalNoiseFilterParameters.InitWithSourceFrameNextFramesPreviousFramesDestinationFrameFilterStrengthHasDiscontinuity: Creates a new VTTemporalNoiseFilterParameters object.
Inspecting the parameters ¶
- IVTTemporalNoiseFilterParameters.NextFrames: Future reference frames in presentation time order that you use to process the source frame.
- IVTTemporalNoiseFilterParameters.PreviousFrames: Past reference frames in presentation time order that you use to process the source frame.
- IVTTemporalNoiseFilterParameters.FilterStrength: 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.
- IVTTemporalNoiseFilterParameters.SetFilterStrength
- IVTTemporalNoiseFilterParameters.HasDiscontinuity: A Boolean that indicates sequence discontinuity, forcing the processor to reset prior to processing the source frame.
- IVTTemporalNoiseFilterParameters.SetHasDiscontinuity
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 )
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 ¶
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 ¶
func (e VTCompressionSessionOptionFlags) String() 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 ¶
- VTFrameProcessor.StartSessionWithConfigurationError: Starts a new session and configures the processor pipeline.
- VTFrameProcessor.ProcessWithParametersCompletionHandler: Asynchronously performs the video effect specified in the start session.
- VTFrameProcessor.ProcessWithCommandBufferParameters: Asynchronously performs the video effect specified in the start session specifically for Metal.
- VTFrameProcessor.EndSession: Performs all necessary tasks to end the session.
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 ¶
func (v VTFrameProcessor) Init() VTFrameProcessor
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.
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 ¶
func (vc VTFrameProcessorClass) Alloc() VTFrameProcessor
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 (o VTFrameProcessorConfigurationObject) BaseObject() objectivec.Object
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.
func (VTFrameProcessorConfigurationObject) FrameSupportedPixelFormats ¶
func (o VTFrameProcessorConfigurationObject) FrameSupportedPixelFormats() []foundation.NSNumber
A list of supported pixel formats for the current configuration.
func (VTFrameProcessorConfigurationObject) NextFrameCount ¶
func (o VTFrameProcessorConfigurationObject) NextFrameCount() int
Returns the number of “next” frames that this processor requires for processing.
func (VTFrameProcessorConfigurationObject) PreviousFrameCount ¶
func (o VTFrameProcessorConfigurationObject) PreviousFrameCount() int
Returns the number of “previous” frames that this processor requires for processing.
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.
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 ¶
- VTFrameProcessorFrame.InitWithBufferPresentationTimeStamp: Creates a frame object with a pixel buffer and presentation time.
Inspecting the frame ¶
- VTFrameProcessorFrame.Buffer: The pixel buffer specified when the object was created.
- VTFrameProcessorFrame.PresentationTimeStamp: The presentation timestamp specified when the object was created.
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].
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 ¶
func (v VTFrameProcessorFrame) Autorelease() VTFrameProcessorFrame
Autorelease adds the receiver to the current autorelease pool.
func (VTFrameProcessorFrame) Buffer ¶
func (v VTFrameProcessorFrame) Buffer() corevideo.CVImageBufferRef
The pixel buffer specified when the object was created.
See: https://developer.apple.com/documentation/VideoToolbox/VTFrameProcessorFrame/buffer
func (VTFrameProcessorFrame) Init ¶
func (v VTFrameProcessorFrame) Init() VTFrameProcessorFrame
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].
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 ¶
func (vc VTFrameProcessorFrameClass) Alloc() VTFrameProcessorFrame
Alloc allocates memory for a new instance of the class.
func (VTFrameProcessorFrameClass) Class ¶
func (vc VTFrameProcessorFrameClass) Class() objc.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 ¶
- VTFrameProcessorOpticalFlow.InitWithForwardFlowBackwardFlow: Creates an object with forward and backward optical flow pixel buffers.
Inspecting the configuration ¶
- VTFrameProcessorOpticalFlow.BackwardFlow: The backward optical flow pixel buffer that was provided when the object was created.
- VTFrameProcessorOpticalFlow.ForwardFlow: The forward optical flow pixel that was provided when the object was created.
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.
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 ¶
func (v VTFrameProcessorOpticalFlow) Autorelease() VTFrameProcessorOpticalFlow
Autorelease adds the receiver to the current autorelease pool.
func (VTFrameProcessorOpticalFlow) BackwardFlow ¶
func (v VTFrameProcessorOpticalFlow) BackwardFlow() corevideo.CVImageBufferRef
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 ¶
func (v VTFrameProcessorOpticalFlow) ForwardFlow() corevideo.CVImageBufferRef
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 ¶
func (v VTFrameProcessorOpticalFlow) Init() VTFrameProcessorOpticalFlow
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.
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 ¶
func (vc VTFrameProcessorOpticalFlowClass) Alloc() VTFrameProcessorOpticalFlow
Alloc allocates memory for a new instance of the class.
func (VTFrameProcessorOpticalFlowClass) Class ¶
func (vc VTFrameProcessorOpticalFlowClass) Class() objc.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 (o VTFrameProcessorParametersObject) BaseObject() objectivec.Object
func (VTFrameProcessorParametersObject) DestinationFrame ¶
func (o VTFrameProcessorParametersObject) DestinationFrame() IVTFrameProcessorFrame
Destination frame that contains the destination frame for processors which output a single processed frame.
func (VTFrameProcessorParametersObject) DestinationFrames ¶
func (o VTFrameProcessorParametersObject) DestinationFrames() []VTFrameProcessorFrame
Array of destination frames for processors which may output more than one processed frame.
func (VTFrameProcessorParametersObject) SourceFrame ¶
func (o VTFrameProcessorParametersObject) SourceFrame() IVTFrameProcessorFrame
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 ¶
- VTFrameRateConversionConfiguration.InitWithFrameWidthFrameHeightUsePrecomputedFlowQualityPrioritizationRevision: Creates a new frame rate conversion configuration with specified flow width and height.
Inspecting the configuration ¶
- VTFrameRateConversionConfiguration.FrameWidth: The width of a source frame in pixels.
- VTFrameRateConversionConfiguration.FrameHeight: The height of a source frame in pixels.
- VTFrameRateConversionConfiguration.UsePrecomputedFlow: A Boolean value to indicates whether the optical flow will be provided by the user.
- VTFrameRateConversionConfiguration.QualityPrioritization: A value that specifies whether to prioritize quality or performance.
Inspecting revision information ¶
- VTFrameRateConversionConfiguration.Revision: The specific algorithm or configuration revision to use to perform the request.
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.
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 ¶
func (v VTFrameRateConversionConfiguration) Autorelease() VTFrameRateConversionConfiguration
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.
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.
func (VTFrameRateConversionConfiguration) FrameSupportedPixelFormats ¶
func (v VTFrameRateConversionConfiguration) FrameSupportedPixelFormats() []foundation.NSNumber
Supported pixel formats available for source frames for current configuration.
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 ¶
func (v VTFrameRateConversionConfiguration) Init() VTFrameRateConversionConfiguration
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.
func (VTFrameRateConversionConfiguration) NextFrameCount ¶
func (o VTFrameRateConversionConfiguration) NextFrameCount() int
Returns the number of “next” frames that this processor requires for processing.
func (VTFrameRateConversionConfiguration) PreviousFrameCount ¶
func (o VTFrameRateConversionConfiguration) PreviousFrameCount() int
Returns the number of “previous” frames that this processor requires for processing.
func (VTFrameRateConversionConfiguration) QualityPrioritization ¶
func (v VTFrameRateConversionConfiguration) QualityPrioritization() VTFrameRateConversionConfigurationQualityPrioritization
A value that specifies whether to prioritize quality or performance.
func (VTFrameRateConversionConfiguration) Revision ¶
func (v VTFrameRateConversionConfiguration) Revision() VTFrameRateConversionConfigurationRevision
The specific algorithm or configuration revision to use to perform the request.
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.
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.
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 ¶
func (vc VTFrameRateConversionConfigurationClass) Alloc() VTFrameRateConversionConfiguration
Alloc allocates memory for a new instance of the class.
func (VTFrameRateConversionConfigurationClass) Class ¶
func (vc VTFrameRateConversionConfigurationClass) Class() objc.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.
func (VTFrameRateConversionConfigurationClass) IsSupported ¶
func (_VTFrameRateConversionConfigurationClass VTFrameRateConversionConfigurationClass) IsSupported() bool
Reports whether the system supports this processor.
func (VTFrameRateConversionConfigurationClass) ProcessorSupported ¶
func (_VTFrameRateConversionConfigurationClass VTFrameRateConversionConfigurationClass) ProcessorSupported() bool
A Boolean value that indicates whether the processor supported on the current configuration.
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.
type VTFrameRateConversionConfigurationQualityPrioritization ¶
type VTFrameRateConversionConfigurationQualityPrioritization int
const ( // VTFrameRateConversionConfigurationQualityPrioritizationNormal: A normal quality prioritization level. VTFrameRateConversionConfigurationQualityPrioritizationNormal VTFrameRateConversionConfigurationQualityPrioritization = 1 // VTFrameRateConversionConfigurationQualityPrioritizationQuality: A quality prioritization level. VTFrameRateConversionConfigurationQualityPrioritizationQuality VTFrameRateConversionConfigurationQualityPrioritization = 2 )
func (VTFrameRateConversionConfigurationQualityPrioritization) String ¶
func (e VTFrameRateConversionConfigurationQualityPrioritization) String() string
type VTFrameRateConversionConfigurationRevision ¶
type VTFrameRateConversionConfigurationRevision int
const ( // VTFrameRateConversionConfigurationRevision1: An algorithm or implementation that represents the first revision. VTFrameRateConversionConfigurationRevision1 VTFrameRateConversionConfigurationRevision = 1 )
func (VTFrameRateConversionConfigurationRevision) String ¶
func (e VTFrameRateConversionConfigurationRevision) String() 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 ¶
- VTFrameRateConversionParameters.NextFrame: The next source frame in presentation time order.
- VTFrameRateConversionParameters.OpticalFlow: A property that defines the optical flow for an object.
- VTFrameRateConversionParameters.InterpolationPhase: An array of floating-point values that indicate which intervals to insert a frame between the current and next frame.
- VTFrameRateConversionParameters.SubmissionMode: A value describing the processing request in a parameters submission object.
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.
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 ¶
func (v VTFrameRateConversionParameters) Autorelease() VTFrameRateConversionParameters
Autorelease adds the receiver to the current autorelease pool.
func (VTFrameRateConversionParameters) DestinationFrame ¶
func (o VTFrameRateConversionParameters) DestinationFrame() IVTFrameProcessorFrame
Destination frame that contains the destination frame for processors which output a single processed frame.
func (VTFrameRateConversionParameters) DestinationFrames ¶
func (v VTFrameRateConversionParameters) DestinationFrames() []VTFrameProcessorFrame
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.
func (VTFrameRateConversionParameters) Init ¶
func (v VTFrameRateConversionParameters) Init() VTFrameRateConversionParameters
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.
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.
func (VTFrameRateConversionParameters) NextFrame ¶
func (v VTFrameRateConversionParameters) NextFrame() IVTFrameProcessorFrame
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 ¶
func (v VTFrameRateConversionParameters) OpticalFlow() IVTFrameProcessorOpticalFlow
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 ¶
func (v VTFrameRateConversionParameters) SourceFrame() IVTFrameProcessorFrame
The current source frame.
Discussion ¶
This value must be non-nil.
See: https://developer.apple.com/documentation/VideoToolbox/VTFrameRateConversionParameters/sourceFrame
func (VTFrameRateConversionParameters) SubmissionMode ¶
func (v VTFrameRateConversionParameters) SubmissionMode() VTFrameRateConversionParametersSubmissionMode
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.
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 ¶
func (vc VTFrameRateConversionParametersClass) Alloc() VTFrameRateConversionParameters
Alloc allocates memory for a new instance of the class.
func (VTFrameRateConversionParametersClass) Class ¶
func (vc VTFrameRateConversionParametersClass) Class() objc.Class
Class returns the underlying Objective-C class pointer.
type VTFrameRateConversionParametersSubmissionMode ¶
type VTFrameRateConversionParametersSubmissionMode int
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 ¶
func (e VTFrameRateConversionParametersSubmissionMode) String() 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 ¶
- VTLowLatencyFrameInterpolationConfiguration.InitWithFrameWidthFrameHeightNumberOfInterpolatedFrames: Creates a new low-latency frame interpolation configuration for frame-rate conversion.
- VTLowLatencyFrameInterpolationConfiguration.InitWithFrameWidthFrameHeightSpatialScaleFactor: Creates a new low-latency frame interpolation configuration for spatial scaling and temporal scaling.
Inspecting the configuration ¶
- VTLowLatencyFrameInterpolationConfiguration.FrameWidth: Width of source frames in pixels.
- VTLowLatencyFrameInterpolationConfiguration.FrameHeight: Height of source frames in pixels.
- VTLowLatencyFrameInterpolationConfiguration.NumberOfInterpolatedFrames: Number of uniformly spaced frames for which you configured the processor.
- VTLowLatencyFrameInterpolationConfiguration.SpatialScaleFactor: Configured spatial scale factor as an integer.
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.
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.
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 ¶
func (v VTLowLatencyFrameInterpolationConfiguration) Autorelease() VTLowLatencyFrameInterpolationConfiguration
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.
func (VTLowLatencyFrameInterpolationConfiguration) FrameHeight ¶
func (v VTLowLatencyFrameInterpolationConfiguration) FrameHeight() int
Height of source frames in pixels.
func (VTLowLatencyFrameInterpolationConfiguration) FrameSupportedPixelFormats ¶
func (v VTLowLatencyFrameInterpolationConfiguration) FrameSupportedPixelFormats() []foundation.NSNumber
Available supported pixel formats for current configuration.
func (VTLowLatencyFrameInterpolationConfiguration) FrameWidth ¶
func (v VTLowLatencyFrameInterpolationConfiguration) FrameWidth() int
Width of source frames in pixels.
func (VTLowLatencyFrameInterpolationConfiguration) Init ¶
func (v VTLowLatencyFrameInterpolationConfiguration) Init() VTLowLatencyFrameInterpolationConfiguration
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.
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.
func (VTLowLatencyFrameInterpolationConfiguration) NextFrameCount ¶
func (o VTLowLatencyFrameInterpolationConfiguration) NextFrameCount() int
Returns the number of “next” frames that this processor requires for processing.
func (VTLowLatencyFrameInterpolationConfiguration) NumberOfInterpolatedFrames ¶
func (v VTLowLatencyFrameInterpolationConfiguration) NumberOfInterpolatedFrames() int
Number of uniformly spaced frames for which you configured the processor.
func (VTLowLatencyFrameInterpolationConfiguration) PreviousFrameCount ¶
func (o VTLowLatencyFrameInterpolationConfiguration) PreviousFrameCount() int
Returns the number of “previous” frames that this processor requires for processing.
func (VTLowLatencyFrameInterpolationConfiguration) SourcePixelBufferAttributes ¶
func (v VTLowLatencyFrameInterpolationConfiguration) 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.
func (VTLowLatencyFrameInterpolationConfiguration) SpatialScaleFactor ¶
func (v VTLowLatencyFrameInterpolationConfiguration) SpatialScaleFactor() int
Configured spatial scale factor as an integer.
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 ¶
func (vc VTLowLatencyFrameInterpolationConfigurationClass) Alloc() VTLowLatencyFrameInterpolationConfiguration
Alloc allocates memory for a new instance of the class.
func (VTLowLatencyFrameInterpolationConfigurationClass) Class ¶
func (vc VTLowLatencyFrameInterpolationConfigurationClass) Class() objc.Class
Class returns the underlying Objective-C class pointer.
func (VTLowLatencyFrameInterpolationConfigurationClass) IsSupported ¶
func (_VTLowLatencyFrameInterpolationConfigurationClass VTLowLatencyFrameInterpolationConfigurationClass) IsSupported() bool
Reports whether the system supports this processor.
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 ¶
- VTLowLatencyFrameInterpolationParameters.PreviousFrame: Previous frame that you provided when creating the low-latency frame interpolation parameters object.
- 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
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.
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 ¶
func (v VTLowLatencyFrameInterpolationParameters) Autorelease() VTLowLatencyFrameInterpolationParameters
Autorelease adds the receiver to the current autorelease pool.
func (VTLowLatencyFrameInterpolationParameters) DestinationFrame ¶
func (o VTLowLatencyFrameInterpolationParameters) DestinationFrame() IVTFrameProcessorFrame
Destination frame that contains the destination frame for processors which output a single processed frame.
func (VTLowLatencyFrameInterpolationParameters) DestinationFrames ¶
func (v VTLowLatencyFrameInterpolationParameters) DestinationFrames() []VTFrameProcessorFrame
Array of destination frames that you provided when creating the low-latency frame interpolation parameters object.
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.
func (VTLowLatencyFrameInterpolationParameters) InterpolationPhase ¶
func (v VTLowLatencyFrameInterpolationParameters) InterpolationPhase() []foundation.NSNumber
Array of interpolation phases that you provided when creating the low-latency frame interpolation parameters object.
func (VTLowLatencyFrameInterpolationParameters) PreviousFrame ¶
func (v VTLowLatencyFrameInterpolationParameters) PreviousFrame() IVTFrameProcessorFrame
Previous frame that you provided when creating the low-latency frame interpolation parameters object.
func (VTLowLatencyFrameInterpolationParameters) SourceFrame ¶
func (v VTLowLatencyFrameInterpolationParameters) SourceFrame() IVTFrameProcessorFrame
Source frame that you provided when creating the low-latency frame interpolation parameters object.
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 ¶
func (vc VTLowLatencyFrameInterpolationParametersClass) Alloc() VTLowLatencyFrameInterpolationParameters
Alloc allocates memory for a new instance of the class.
func (VTLowLatencyFrameInterpolationParametersClass) Class ¶
func (vc VTLowLatencyFrameInterpolationParametersClass) Class() objc.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 ¶
- VTLowLatencySuperResolutionScalerConfiguration.InitWithFrameWidthFrameHeightScaleFactor: Creates a new low-latency super-resolution scaler configuration with specified frame width and height.
Inspecting the configuration ¶
- VTLowLatencySuperResolutionScalerConfiguration.FrameWidth: Width of source frame in pixels.
- VTLowLatencySuperResolutionScalerConfiguration.FrameHeight: Height of source frame in pixels.
- VTLowLatencySuperResolutionScalerConfiguration.ScaleFactor: Scale factor with which you initialized the configuration.
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.
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 ¶
func (v VTLowLatencySuperResolutionScalerConfiguration) Autorelease() VTLowLatencySuperResolutionScalerConfiguration
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.
func (VTLowLatencySuperResolutionScalerConfiguration) FrameHeight ¶
func (v VTLowLatencySuperResolutionScalerConfiguration) FrameHeight() int
Height of source frame in pixels.
func (VTLowLatencySuperResolutionScalerConfiguration) FrameSupportedPixelFormats ¶
func (v VTLowLatencySuperResolutionScalerConfiguration) FrameSupportedPixelFormats() []foundation.NSNumber
Available supported pixel formats for source frames for current configuration.
func (VTLowLatencySuperResolutionScalerConfiguration) FrameWidth ¶
func (v VTLowLatencySuperResolutionScalerConfiguration) FrameWidth() int
Width of source frame in pixels.
func (VTLowLatencySuperResolutionScalerConfiguration) Init ¶
func (v VTLowLatencySuperResolutionScalerConfiguration) Init() VTLowLatencySuperResolutionScalerConfiguration
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.
func (VTLowLatencySuperResolutionScalerConfiguration) NextFrameCount ¶
func (o VTLowLatencySuperResolutionScalerConfiguration) NextFrameCount() int
Returns the number of “next” frames that this processor requires for processing.
func (VTLowLatencySuperResolutionScalerConfiguration) PreviousFrameCount ¶
func (o VTLowLatencySuperResolutionScalerConfiguration) PreviousFrameCount() int
Returns the number of “previous” frames that this processor requires for processing.
func (VTLowLatencySuperResolutionScalerConfiguration) ScaleFactor ¶
func (v VTLowLatencySuperResolutionScalerConfiguration) ScaleFactor() float32
Scale factor with which you initialized the configuration.
func (VTLowLatencySuperResolutionScalerConfiguration) SourcePixelBufferAttributes ¶
func (v VTLowLatencySuperResolutionScalerConfiguration) 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.
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 ¶
func (vc VTLowLatencySuperResolutionScalerConfigurationClass) Alloc() VTLowLatencySuperResolutionScalerConfiguration
Alloc allocates memory for a new instance of the class.
func (VTLowLatencySuperResolutionScalerConfigurationClass) Class ¶
func (vc VTLowLatencySuperResolutionScalerConfigurationClass) Class() objc.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.
func (VTLowLatencySuperResolutionScalerConfigurationClass) MaximumDimensions ¶
func (_VTLowLatencySuperResolutionScalerConfigurationClass VTLowLatencySuperResolutionScalerConfigurationClass) MaximumDimensions() coremedia.CMVideoDimensions
Maximum dimensions for a source frame for the processor.
func (VTLowLatencySuperResolutionScalerConfigurationClass) MinimumDimensions ¶
func (_VTLowLatencySuperResolutionScalerConfigurationClass VTLowLatencySuperResolutionScalerConfigurationClass) MinimumDimensions() coremedia.CMVideoDimensions
Minimum dimensions for a source frame for the processor.
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.
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 ¶
- VTLowLatencySuperResolutionScalerParameters.InitWithSourceFrameDestinationFrame: Creates a new low-latency, super-resolution scaler 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`.
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 ¶
func (v VTLowLatencySuperResolutionScalerParameters) Autorelease() VTLowLatencySuperResolutionScalerParameters
Autorelease adds the receiver to the current autorelease pool.
func (VTLowLatencySuperResolutionScalerParameters) DestinationFrame ¶
func (v VTLowLatencySuperResolutionScalerParameters) DestinationFrame() IVTFrameProcessorFrame
Destination frame that contains user-allocated pixel buffer that receives the scaled processor output.
func (VTLowLatencySuperResolutionScalerParameters) DestinationFrames ¶
func (o VTLowLatencySuperResolutionScalerParameters) DestinationFrames() []VTFrameProcessorFrame
Array of destination frames for processors which may output more than one processed frame.
func (VTLowLatencySuperResolutionScalerParameters) Init ¶
func (v VTLowLatencySuperResolutionScalerParameters) Init() VTLowLatencySuperResolutionScalerParameters
Init initializes the instance.
func (VTLowLatencySuperResolutionScalerParameters) InitWithSourceFrameDestinationFrame ¶
func (v VTLowLatencySuperResolutionScalerParameters) InitWithSourceFrameDestinationFrame(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`.
func (VTLowLatencySuperResolutionScalerParameters) SourceFrame ¶
func (v VTLowLatencySuperResolutionScalerParameters) SourceFrame() IVTFrameProcessorFrame
Current source frame, which must be non `nil`.
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 ¶
func (vc VTLowLatencySuperResolutionScalerParametersClass) Alloc() VTLowLatencySuperResolutionScalerParameters
Alloc allocates memory for a new instance of the class.
func (VTLowLatencySuperResolutionScalerParametersClass) Class ¶
func (vc VTLowLatencySuperResolutionScalerParametersClass) Class() objc.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 ¶
- VTMotionBlurConfiguration.InitWithFrameWidthFrameHeightUsePrecomputedFlowQualityPrioritizationRevision: Creates a new motion blur configuration with specified flow width and height.
Inspecting the configuration ¶
- VTMotionBlurConfiguration.FrameWidth: The width of a source frame in pixels.
- VTMotionBlurConfiguration.FrameHeight: The height of a source frame in pixels.
- VTMotionBlurConfiguration.UsePrecomputedFlow: A Boolean value to indicates whether the the optical flow will be provided by the user.
- VTMotionBlurConfiguration.QualityPrioritization: A value that specifies whether to prioritize quality or performance.
Inspecting revision information ¶
- 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
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.
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 ¶
func (v VTMotionBlurConfiguration) Autorelease() VTMotionBlurConfiguration
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.
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.
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 ¶
func (v VTMotionBlurConfiguration) Init() VTMotionBlurConfiguration
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.
func (VTMotionBlurConfiguration) NextFrameCount ¶
func (o VTMotionBlurConfiguration) NextFrameCount() int
Returns the number of “next” frames that this processor requires for processing.
func (VTMotionBlurConfiguration) PreviousFrameCount ¶
func (o VTMotionBlurConfiguration) PreviousFrameCount() int
Returns the number of “previous” frames that this processor requires for processing.
func (VTMotionBlurConfiguration) QualityPrioritization ¶
func (v VTMotionBlurConfiguration) QualityPrioritization() VTMotionBlurConfigurationQualityPrioritization
A value that specifies whether to prioritize quality or performance.
func (VTMotionBlurConfiguration) Revision ¶
func (v VTMotionBlurConfiguration) Revision() VTMotionBlurConfigurationRevision
The specific algorithm or configuration revision that is to be used to perform the request.
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.
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 ¶
func (vc VTMotionBlurConfigurationClass) Alloc() VTMotionBlurConfiguration
Alloc allocates memory for a new instance of the class.
func (VTMotionBlurConfigurationClass) Class ¶
func (vc VTMotionBlurConfigurationClass) Class() objc.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
const ( // VTMotionBlurConfigurationQualityPrioritizationNormal: A normal quality prioritization level. VTMotionBlurConfigurationQualityPrioritizationNormal VTMotionBlurConfigurationQualityPrioritization = 1 // VTMotionBlurConfigurationQualityPrioritizationQuality: A quality prioritization level. VTMotionBlurConfigurationQualityPrioritizationQuality VTMotionBlurConfigurationQualityPrioritization = 2 )
func (VTMotionBlurConfigurationQualityPrioritization) String ¶
func (e VTMotionBlurConfigurationQualityPrioritization) String() 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 ¶
func (e VTMotionBlurConfigurationRevision) String() 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 ¶
- VTMotionBlurParameters.NextFrame: The next source frame in presentation time order.
- VTMotionBlurParameters.PreviousFrame: The previous source frame in presentation time order.
- VTMotionBlurParameters.MotionBlurStrength: A value that indicates the strength of blur to apply.
- VTMotionBlurParameters.NextOpticalFlow: Optional optical flow object that contains forward and backward optical flow with the next frame.
- VTMotionBlurParameters.PreviousOpticalFlow: Optional optical flow object that contains forward and backward optical flow with the previous frame.
- VTMotionBlurParameters.SubmissionMode: A value describing the processing request in a parameters submission object.
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.
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 ¶
func (v VTMotionBlurParameters) Autorelease() VTMotionBlurParameters
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.
func (VTMotionBlurParameters) Init ¶
func (v VTMotionBlurParameters) Init() VTMotionBlurParameters
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.
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 ¶
func (v VTMotionBlurParameters) NextFrame() IVTFrameProcessorFrame
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 ¶
func (v VTMotionBlurParameters) NextOpticalFlow() IVTFrameProcessorOpticalFlow
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 ¶
func (v VTMotionBlurParameters) PreviousFrame() IVTFrameProcessorFrame
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 ¶
func (v VTMotionBlurParameters) SourceFrame() IVTFrameProcessorFrame
The current source frame.
Discussion ¶
This value must be non nil.
See: https://developer.apple.com/documentation/VideoToolbox/VTMotionBlurParameters/sourceFrame
func (VTMotionBlurParameters) SubmissionMode ¶
func (v VTMotionBlurParameters) SubmissionMode() VTMotionBlurParametersSubmissionMode
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.
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 ¶
func (vc VTMotionBlurParametersClass) Alloc() VTMotionBlurParameters
Alloc allocates memory for a new instance of the class.
func (VTMotionBlurParametersClass) Class ¶
func (vc VTMotionBlurParametersClass) Class() objc.Class
Class returns the underlying Objective-C class pointer.
type VTMotionBlurParametersSubmissionMode ¶
type VTMotionBlurParametersSubmissionMode int
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 ¶
func (e VTMotionBlurParametersSubmissionMode) String() 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 ¶
func (e VTMotionEstimationFrameFlags) String() string
type VTMotionEstimationInfoFlags ¶
type VTMotionEstimationInfoFlags uint32
See: https://developer.apple.com/documentation/VideoToolbox/VTMotionEstimationInfoFlags
const (
KVTMotionEstimationInfoFlags_Reserved0 VTMotionEstimationInfoFlags = 1
)
func (VTMotionEstimationInfoFlags) String ¶
func (e VTMotionEstimationInfoFlags) String() 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 ¶
- VTOpticalFlowConfiguration.FrameWidth: The width of a source frame in pixels.
- VTOpticalFlowConfiguration.FrameHeight: The height of source frame in pixels.
- VTOpticalFlowConfiguration.QualityPrioritization: A value that specifies whether to prioritize quality or performance.
Inspecting revision information ¶
- 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
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.
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 ¶
func (v VTOpticalFlowConfiguration) Autorelease() VTOpticalFlowConfiguration
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.
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.
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 ¶
func (v VTOpticalFlowConfiguration) Init() VTOpticalFlowConfiguration
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.
func (VTOpticalFlowConfiguration) NextFrameCount ¶
func (o VTOpticalFlowConfiguration) NextFrameCount() int
Returns the number of “next” frames that this processor requires for processing.
func (VTOpticalFlowConfiguration) PreviousFrameCount ¶
func (o VTOpticalFlowConfiguration) PreviousFrameCount() int
Returns the number of “previous” frames that this processor requires for processing.
func (VTOpticalFlowConfiguration) QualityPrioritization ¶
func (v VTOpticalFlowConfiguration) QualityPrioritization() VTOpticalFlowConfigurationQualityPrioritization
A value that specifies whether to prioritize quality or performance.
Discussion ¶
See VEFrameRateConversionConfigurationQualityPrioritization for more info.
func (VTOpticalFlowConfiguration) Revision ¶
func (v VTOpticalFlowConfiguration) Revision() VTOpticalFlowConfigurationRevision
The specific algorithm or configuration revision that is to be used to perform the request.
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.
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 ¶
func (vc VTOpticalFlowConfigurationClass) Alloc() VTOpticalFlowConfiguration
Alloc allocates memory for a new instance of the class.
func (VTOpticalFlowConfigurationClass) Class ¶
func (vc VTOpticalFlowConfigurationClass) Class() objc.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
const ( // VTOpticalFlowConfigurationQualityPrioritizationNormal: A normal quality prioritization level. VTOpticalFlowConfigurationQualityPrioritizationNormal VTOpticalFlowConfigurationQualityPrioritization = 1 // VTOpticalFlowConfigurationQualityPrioritizationQuality: A quality prioritization level. VTOpticalFlowConfigurationQualityPrioritizationQuality VTOpticalFlowConfigurationQualityPrioritization = 2 )
func (VTOpticalFlowConfigurationQualityPrioritization) String ¶
func (e VTOpticalFlowConfigurationQualityPrioritization) String() string
type VTOpticalFlowConfigurationRevision ¶
type VTOpticalFlowConfigurationRevision int
const ( // VTOpticalFlowConfigurationRevision1: An algorithm or implementation that represents the first revision. VTOpticalFlowConfigurationRevision1 VTOpticalFlowConfigurationRevision = 1 )
func (VTOpticalFlowConfigurationRevision) String ¶
func (e VTOpticalFlowConfigurationRevision) String() string
type VTOpticalFlowParameters ¶
type VTOpticalFlowParameters struct {
objectivec.Object
}
An object that describes frame-level optical flow parameters.
Creating a parameters object ¶
Inspecting the parameters ¶
- VTOpticalFlowParameters.NextFrame: The next source frame in presentation time order.
- VTOpticalFlowParameters.DestinationOpticalFlow: A user allocated mutable optical flow that will receive the results.
- VTOpticalFlowParameters.SubmissionMode: A value describing the processing request in a parameters submission object.
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.
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 ¶
func (v VTOpticalFlowParameters) Autorelease() VTOpticalFlowParameters
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.
func (VTOpticalFlowParameters) DestinationFrames ¶
func (o VTOpticalFlowParameters) DestinationFrames() []VTFrameProcessorFrame
Array of destination frames for processors which may output more than one processed frame.
func (VTOpticalFlowParameters) DestinationOpticalFlow ¶
func (v VTOpticalFlowParameters) DestinationOpticalFlow() IVTFrameProcessorOpticalFlow
A user allocated mutable optical flow that will receive the results.
func (VTOpticalFlowParameters) Init ¶
func (v VTOpticalFlowParameters) Init() VTOpticalFlowParameters
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.
func (VTOpticalFlowParameters) NextFrame ¶
func (v VTOpticalFlowParameters) NextFrame() IVTFrameProcessorFrame
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 ¶
func (v VTOpticalFlowParameters) SourceFrame() IVTFrameProcessorFrame
The current source frame.
Discussion ¶
This must be a non-nil value.
See: https://developer.apple.com/documentation/VideoToolbox/VTOpticalFlowParameters/sourceFrame
func (VTOpticalFlowParameters) SubmissionMode ¶
func (v VTOpticalFlowParameters) SubmissionMode() VTOpticalFlowParametersSubmissionMode
A value describing the processing request in a parameters submission object.
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 ¶
func (vc VTOpticalFlowParametersClass) Alloc() VTOpticalFlowParameters
Alloc allocates memory for a new instance of the class.
func (VTOpticalFlowParametersClass) Class ¶
func (vc VTOpticalFlowParametersClass) Class() objc.Class
Class returns the underlying Objective-C class pointer.
type VTOpticalFlowParametersSubmissionMode ¶
type VTOpticalFlowParametersSubmissionMode int
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 ¶
func (e VTOpticalFlowParametersSubmissionMode) String() 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 ¶
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 ¶
- VTSuperResolutionScalerConfiguration.InitWithFrameWidthFrameHeightScaleFactorInputTypeUsePrecomputedFlowQualityPrioritizationRevision: Creates a new super-resolution scaler processor configuration.
Inspecting the configuration ¶
- VTSuperResolutionScalerConfiguration.FrameWidth: Width of source frame in pixels.
- VTSuperResolutionScalerConfiguration.FrameHeight: Height of source frame in pixels.
- VTSuperResolutionScalerConfiguration.ScaleFactor: Indicates the scale factor between input and output.
- VTSuperResolutionScalerConfiguration.InputType: Indicates the type of input.
- VTSuperResolutionScalerConfiguration.PrecomputedFlow: Indicates that you provide optical flow.
- VTSuperResolutionScalerConfiguration.QualityPrioritization: A parameter to control quality and performance levels.
Managing the configuration model ¶
- VTSuperResolutionScalerConfiguration.ConfigurationModelStatus: Reports the download status of models that the system needs for the current configuration.
- VTSuperResolutionScalerConfiguration.ConfigurationModelPercentageAvailable: Returns a floating point value between 0.0 and 1.0 indicating the percentage of required model assets that have been downloaded.
- VTSuperResolutionScalerConfiguration.DownloadConfigurationModelWithCompletionHandler: Downloads models that the system needs for the current configuration.
Inspecting revision information ¶
- VTSuperResolutionScalerConfiguration.Revision: The specific algorithm or configuration revision you use to perform the request.
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.
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 ¶
func (v VTSuperResolutionScalerConfiguration) Autorelease() VTSuperResolutionScalerConfiguration
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.
func (VTSuperResolutionScalerConfiguration) ConfigurationModelStatus ¶
func (v VTSuperResolutionScalerConfiguration) ConfigurationModelStatus() VTSuperResolutionScalerConfigurationModelStatus
Reports the download status of models that the system needs for the current configuration.
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.
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.
func (VTSuperResolutionScalerConfiguration) FrameHeight ¶
func (v VTSuperResolutionScalerConfiguration) FrameHeight() int
Height of source frame in pixels.
func (VTSuperResolutionScalerConfiguration) FrameSupportedPixelFormats ¶
func (v VTSuperResolutionScalerConfiguration) FrameSupportedPixelFormats() []foundation.NSNumber
Available supported pixel formats for source frames for current configuration.
func (VTSuperResolutionScalerConfiguration) FrameWidth ¶
func (v VTSuperResolutionScalerConfiguration) FrameWidth() int
Width of source frame in pixels.
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.
func (VTSuperResolutionScalerConfiguration) InputType ¶
func (v VTSuperResolutionScalerConfiguration) InputType() VTSuperResolutionScalerConfigurationInputType
Indicates the type of input.
func (VTSuperResolutionScalerConfiguration) NextFrameCount ¶
func (o VTSuperResolutionScalerConfiguration) NextFrameCount() int
Returns the number of “next” frames that this processor requires for processing.
func (VTSuperResolutionScalerConfiguration) PrecomputedFlow ¶
func (v VTSuperResolutionScalerConfiguration) PrecomputedFlow() bool
Indicates that you provide optical flow.
func (VTSuperResolutionScalerConfiguration) PreviousFrameCount ¶
func (o VTSuperResolutionScalerConfiguration) PreviousFrameCount() int
Returns the number of “previous” frames that this processor requires for processing.
func (VTSuperResolutionScalerConfiguration) QualityPrioritization ¶
func (v VTSuperResolutionScalerConfiguration) QualityPrioritization() VTSuperResolutionScalerConfigurationQualityPrioritization
A parameter to control quality and performance levels.
Discussion ¶
For more information about supported levels, see VTSuperResolutionScalerConfiguration.QualityPrioritization.
func (VTSuperResolutionScalerConfiguration) Revision ¶
func (v VTSuperResolutionScalerConfiguration) Revision() VTSuperResolutionScalerConfigurationRevision
The specific algorithm or configuration revision you use to perform the request.
func (VTSuperResolutionScalerConfiguration) ScaleFactor ¶
func (v VTSuperResolutionScalerConfiguration) ScaleFactor() int
Indicates the scale factor between input and output.
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.
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 ¶
func (vc VTSuperResolutionScalerConfigurationClass) Class() objc.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.
func (VTSuperResolutionScalerConfigurationClass) IsSupported ¶
func (_VTSuperResolutionScalerConfigurationClass VTSuperResolutionScalerConfigurationClass) IsSupported() bool
Reports whether the system supports this processor.
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.
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.
type VTSuperResolutionScalerConfigurationInputType ¶
type VTSuperResolutionScalerConfigurationInputType int
const ( VTSuperResolutionScalerConfigurationInputTypeImage VTSuperResolutionScalerConfigurationInputType = 2 VTSuperResolutionScalerConfigurationInputTypeVideo VTSuperResolutionScalerConfigurationInputType = 1 )
func (VTSuperResolutionScalerConfigurationInputType) String ¶
func (e VTSuperResolutionScalerConfigurationInputType) String() string
type VTSuperResolutionScalerConfigurationModelStatus ¶
type VTSuperResolutionScalerConfigurationModelStatus int
const ( VTSuperResolutionScalerConfigurationModelStatusDownloadRequired VTSuperResolutionScalerConfigurationModelStatus = 0 VTSuperResolutionScalerConfigurationModelStatusDownloading VTSuperResolutionScalerConfigurationModelStatus = 1 VTSuperResolutionScalerConfigurationModelStatusReady VTSuperResolutionScalerConfigurationModelStatus = 2 )
func (VTSuperResolutionScalerConfigurationModelStatus) String ¶
func (e VTSuperResolutionScalerConfigurationModelStatus) String() string
type VTSuperResolutionScalerConfigurationQualityPrioritization ¶
type VTSuperResolutionScalerConfigurationQualityPrioritization int
const (
VTSuperResolutionScalerConfigurationQualityPrioritizationNormal VTSuperResolutionScalerConfigurationQualityPrioritization = 1
)
func (VTSuperResolutionScalerConfigurationQualityPrioritization) String ¶
func (e VTSuperResolutionScalerConfigurationQualityPrioritization) String() string
type VTSuperResolutionScalerConfigurationRevision ¶
type VTSuperResolutionScalerConfigurationRevision int
const (
VTSuperResolutionScalerConfigurationRevision1 VTSuperResolutionScalerConfigurationRevision = 1
)
func (VTSuperResolutionScalerConfigurationRevision) String ¶
func (e VTSuperResolutionScalerConfigurationRevision) String() 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 ¶
- VTSuperResolutionScalerParameters.InitWithSourceFramePreviousFramePreviousOutputFrameOpticalFlowSubmissionModeDestinationFrame: Creates a new super-resolution scaler parameters instance.
Inspecting the parameters ¶
- VTSuperResolutionScalerParameters.PreviousFrame: Previous source frame in presentation time order, which is `nil` for the first frame.
- VTSuperResolutionScalerParameters.PreviousOutputFrame: Previous output frame in presentation time order, which is `nil` for the first frame.
- VTSuperResolutionScalerParameters.OpticalFlow: Optional object that contains forward and backward optical flow with the previous frame.
- VTSuperResolutionScalerParameters.SubmissionMode: Ordering of the input frames in this submission relative to the previous submission.
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.
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 ¶
func (v VTSuperResolutionScalerParameters) Autorelease() VTSuperResolutionScalerParameters
Autorelease adds the receiver to the current autorelease pool.
func (VTSuperResolutionScalerParameters) DestinationFrame ¶
func (v VTSuperResolutionScalerParameters) DestinationFrame() IVTFrameProcessorFrame
Destination frame that contains user-allocated pixel buffer that receives the results.
func (VTSuperResolutionScalerParameters) DestinationFrames ¶
func (o VTSuperResolutionScalerParameters) DestinationFrames() []VTFrameProcessorFrame
Array of destination frames for processors which may output more than one processed frame.
func (VTSuperResolutionScalerParameters) Init ¶
func (v VTSuperResolutionScalerParameters) Init() VTSuperResolutionScalerParameters
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.
func (VTSuperResolutionScalerParameters) OpticalFlow ¶
func (v VTSuperResolutionScalerParameters) OpticalFlow() IVTFrameProcessorOpticalFlow
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 ¶
func (v VTSuperResolutionScalerParameters) PreviousFrame() IVTFrameProcessorFrame
Previous source frame in presentation time order, which is `nil` for the first frame.
func (VTSuperResolutionScalerParameters) PreviousOutputFrame ¶
func (v VTSuperResolutionScalerParameters) PreviousOutputFrame() IVTFrameProcessorFrame
Previous output frame in presentation time order, which is `nil` for the first frame.
func (VTSuperResolutionScalerParameters) SourceFrame ¶
func (v VTSuperResolutionScalerParameters) SourceFrame() IVTFrameProcessorFrame
Current source frame, which must be non `nil`.
See: https://developer.apple.com/documentation/VideoToolbox/VTSuperResolutionScalerParameters/sourceFrame
func (VTSuperResolutionScalerParameters) SubmissionMode ¶
func (v VTSuperResolutionScalerParameters) SubmissionMode() VTSuperResolutionScalerParametersSubmissionMode
Ordering of the input frames in this submission relative to the previous submission.
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 ¶
func (vc VTSuperResolutionScalerParametersClass) Alloc() VTSuperResolutionScalerParameters
Alloc allocates memory for a new instance of the class.
func (VTSuperResolutionScalerParametersClass) Class ¶
func (vc VTSuperResolutionScalerParametersClass) Class() objc.Class
Class returns the underlying Objective-C class pointer.
type VTSuperResolutionScalerParametersSubmissionMode ¶
type VTSuperResolutionScalerParametersSubmissionMode int
const ( VTSuperResolutionScalerParametersSubmissionModeRandom VTSuperResolutionScalerParametersSubmissionMode = 1 VTSuperResolutionScalerParametersSubmissionModeSequential VTSuperResolutionScalerParametersSubmissionMode = 2 )
func (VTSuperResolutionScalerParametersSubmissionMode) String ¶
func (e VTSuperResolutionScalerParametersSubmissionMode) String() 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 ¶
- VTTemporalNoiseFilterConfiguration.InitWithFrameWidthFrameHeightSourcePixelFormat: Creates a new temporal noise-processor configuration.
Inspecting the configuration ¶
- VTTemporalNoiseFilterConfiguration.FrameWidth: Width of source frame in pixels.
- VTTemporalNoiseFilterConfiguration.FrameHeight: Height of source frame in pixels.
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.
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 ¶
func (v VTTemporalNoiseFilterConfiguration) Autorelease() VTTemporalNoiseFilterConfiguration
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.
func (VTTemporalNoiseFilterConfiguration) FrameHeight ¶
func (v VTTemporalNoiseFilterConfiguration) FrameHeight() int
Height of source frame in pixels.
func (VTTemporalNoiseFilterConfiguration) FrameSupportedPixelFormats ¶
func (v VTTemporalNoiseFilterConfiguration) FrameSupportedPixelFormats() []foundation.NSNumber
Supported pixel formats for source frames for current configuration.
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 ¶
func (v VTTemporalNoiseFilterConfiguration) Init() VTTemporalNoiseFilterConfiguration
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.
func (VTTemporalNoiseFilterConfiguration) NextFrameCount ¶
func (v VTTemporalNoiseFilterConfiguration) NextFrameCount() int
Maximum number of future reference frames that the processor can use to process a source frame.
func (VTTemporalNoiseFilterConfiguration) PreviousFrameCount ¶
func (v VTTemporalNoiseFilterConfiguration) PreviousFrameCount() int
Maximum number of past reference frames that the processor can use to process a source frame.
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.
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 ¶
func (vc VTTemporalNoiseFilterConfigurationClass) Alloc() VTTemporalNoiseFilterConfiguration
Alloc allocates memory for a new instance of the class.
func (VTTemporalNoiseFilterConfigurationClass) Class ¶
func (vc VTTemporalNoiseFilterConfigurationClass) Class() objc.Class
Class returns the underlying Objective-C class pointer.
func (VTTemporalNoiseFilterConfigurationClass) IsSupported ¶
func (_VTTemporalNoiseFilterConfigurationClass VTTemporalNoiseFilterConfigurationClass) IsSupported() bool
Reports whether the system supports this processor.
func (VTTemporalNoiseFilterConfigurationClass) MaximumDimensions ¶
func (_VTTemporalNoiseFilterConfigurationClass VTTemporalNoiseFilterConfigurationClass) MaximumDimensions() coremedia.CMVideoDimensions
The maximum dimensions of a source frame that the processor supports.
func (VTTemporalNoiseFilterConfigurationClass) MinimumDimensions ¶
func (_VTTemporalNoiseFilterConfigurationClass VTTemporalNoiseFilterConfigurationClass) MinimumDimensions() coremedia.CMVideoDimensions
The minimum dimensions of a source frame that the processor supports.
func (VTTemporalNoiseFilterConfigurationClass) SupportedSourcePixelFormats ¶
func (_VTTemporalNoiseFilterConfigurationClass VTTemporalNoiseFilterConfigurationClass) SupportedSourcePixelFormats() []foundation.NSNumber
List of all supported pixel formats for source frames.
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 ¶
- VTTemporalNoiseFilterParameters.InitWithSourceFrameNextFramesPreviousFramesDestinationFrameFilterStrengthHasDiscontinuity: Creates a new VTTemporalNoiseFilterParameters object.
Inspecting the parameters ¶
- VTTemporalNoiseFilterParameters.NextFrames: Future reference frames in presentation time order that you use to process the source frame.
- VTTemporalNoiseFilterParameters.PreviousFrames: Past reference frames in presentation time order that you use to process the source frame.
- VTTemporalNoiseFilterParameters.FilterStrength: 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.
- VTTemporalNoiseFilterParameters.SetFilterStrength
- VTTemporalNoiseFilterParameters.HasDiscontinuity: A Boolean that indicates sequence discontinuity, forcing the processor to reset prior to processing the source frame.
- VTTemporalNoiseFilterParameters.SetHasDiscontinuity
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.
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 ¶
func (v VTTemporalNoiseFilterParameters) Autorelease() VTTemporalNoiseFilterParameters
Autorelease adds the receiver to the current autorelease pool.
func (VTTemporalNoiseFilterParameters) DestinationFrame ¶
func (v VTTemporalNoiseFilterParameters) DestinationFrame() IVTFrameProcessorFrame
Destination frame that contains a user-allocated pixel buffer that receives the output frame.
func (VTTemporalNoiseFilterParameters) DestinationFrames ¶
func (o VTTemporalNoiseFilterParameters) DestinationFrames() []VTFrameProcessorFrame
Array of destination frames for processors which may output more than one processed frame.
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.
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.
func (VTTemporalNoiseFilterParameters) Init ¶
func (v VTTemporalNoiseFilterParameters) Init() VTTemporalNoiseFilterParameters
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.
func (VTTemporalNoiseFilterParameters) NextFrames ¶
func (v VTTemporalNoiseFilterParameters) NextFrames() []VTFrameProcessorFrame
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 ¶
func (v VTTemporalNoiseFilterParameters) PreviousFrames() []VTFrameProcessorFrame
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.
func (VTTemporalNoiseFilterParameters) SetFilterStrength ¶
func (v VTTemporalNoiseFilterParameters) SetFilterStrength(value float32)
func (VTTemporalNoiseFilterParameters) SetHasDiscontinuity ¶
func (v VTTemporalNoiseFilterParameters) SetHasDiscontinuity(value bool)
func (VTTemporalNoiseFilterParameters) SourceFrame ¶
func (v VTTemporalNoiseFilterParameters) SourceFrame() IVTFrameProcessorFrame
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 ¶
func (vc VTTemporalNoiseFilterParametersClass) Alloc() VTTemporalNoiseFilterParameters
Alloc allocates memory for a new instance of the class.
func (VTTemporalNoiseFilterParametersClass) Class ¶
func (vc VTTemporalNoiseFilterParametersClass) Class() objc.Class
Class returns the underlying Objective-C class pointer.
Source Files
¶
- blocks.gen.go
- doc.gen.go
- enums.gen.go
- functions.gen.go
- generate.go
- global_vars.gen.go
- is_supported_protocol.gen.go
- maximum_dimensions_protocol.gen.go
- minimum_dimensions_protocol.gen.go
- typedefs.gen.go
- types.gen.go
- undefined_types.gen.go
- vt_frame_processor.gen.go
- vt_frame_processor_configuration_protocol.gen.go
- vt_frame_processor_frame.gen.go
- vt_frame_processor_optical_flow.gen.go
- vt_frame_processor_parameters_protocol.gen.go
- vt_frame_rate_conversion_configuration.gen.go
- vt_frame_rate_conversion_parameters.gen.go
- vt_low_latency_frame_interpolation_configuration.gen.go
- vt_low_latency_frame_interpolation_parameters.gen.go
- vt_low_latency_super_resolution_scaler_configuration.gen.go
- vt_low_latency_super_resolution_scaler_parameters.gen.go
- vt_motion_blur_configuration.gen.go
- vt_motion_blur_parameters.gen.go
- vt_optical_flow_configuration.gen.go
- vt_optical_flow_parameters.gen.go
- vt_super_resolution_scaler_configuration.gen.go
- vt_super_resolution_scaler_parameters.gen.go
- vt_temporal_noise_filter_configuration.gen.go
- vt_temporal_noise_filter_parameters.gen.go