Class VideoToolbox


  • public final class VideoToolbox
    extends java.lang.Object
    • Method Detail

      • VTSessionCopySupportedPropertyDictionary

        public static int VTSessionCopySupportedPropertyDictionary​(@NotNull
                                                                   @NotNull org.moe.natj.general.ptr.ConstVoidPtr session,
                                                                   @NotNull
                                                                   @NotNull org.moe.natj.general.ptr.Ptr<CFDictionaryRef> supportedPropertyDictionaryOut)
        [@function] VTSessionCopySupportedPropertyDictionary Returns a dictionary enumerating all the supported properties of a video toolbox session. The keys of the returned dictionary are the supported property keys. The values are themselves dictionaries, each containing the following optional fields:
        1. the type of value, (kVTPropertyTypeKey)
        2. the read/write status of the property (kVTPropertyReadWriteStatusKey),
        3. whether the property is suitable for serialization (kVTPropertyShouldBeSerializedKey),
        4. a range or list of the supported values, if appropriate, and
        5. developer-level documentation for the property (kVTPropertyDocumentationKey).
        The caller must release the returned dictionary. API-Since: 8.0
      • VTSessionSetProperty

        public static int VTSessionSetProperty​(@NotNull
                                               @NotNull org.moe.natj.general.ptr.ConstVoidPtr session,
                                               @NotNull
                                               @NotNull CFStringRef propertyKey,
                                               @Nullable
                                               @Nullable org.moe.natj.general.ptr.ConstVoidPtr propertyValue)
        [@function] VTSessionSetProperty Sets a property on a video toolbox session. Setting a property value to NULL restores the default value. API-Since: 8.0
      • VTSessionCopyProperty

        public static int VTSessionCopyProperty​(@NotNull
                                                @NotNull org.moe.natj.general.ptr.ConstVoidPtr session,
                                                @NotNull
                                                @NotNull CFStringRef propertyKey,
                                                @Nullable
                                                @Nullable CFAllocatorRef allocator,
                                                @Nullable
                                                @Nullable org.moe.natj.general.ptr.VoidPtr propertyValueOut)
        [@function] VTSessionCopyProperty Retrieves a property on a video toolbox session. The caller must release the retrieved property value.
        Note: for most types of property, the returned values should be considered immutable. In particular, for CFPropertyList types, sharing of mutable property value objects between the client, session and codec should be avoided. However, some properties will be used for exchanging service objects that are inherently mutable (eg, CVPixelBufferPool).
        Parameters:
        propertyKey - The key for the property to retrieve.
        allocator - An allocator suitable for use when copying property values.
        propertyValueOut - Points to a variable to receive the property value, which must be a CF-registered type -- the caller may call CFGetTypeID() on it to identify which specific type. The caller must release the this property value.
        Returns:
        noErr if successful; kVTPropertyNotSupportedErr for unrecognized or unsupported properties. API-Since: 8.0
      • VTSessionSetProperties

        public static int VTSessionSetProperties​(@NotNull
                                                 @NotNull org.moe.natj.general.ptr.ConstVoidPtr session,
                                                 @NotNull
                                                 @NotNull CFDictionaryRef propertyDictionary)
        [@function] VTSessionSetProperties Sets multiple properties at once. Sets the properties specified by keys in propertyDictionary to the corresponding values. API-Since: 8.0
      • VTSessionCopySerializableProperties

        public static int VTSessionCopySerializableProperties​(@NotNull
                                                              @NotNull org.moe.natj.general.ptr.ConstVoidPtr session,
                                                              @Nullable
                                                              @Nullable CFAllocatorRef allocator,
                                                              @NotNull
                                                              @NotNull org.moe.natj.general.ptr.Ptr<CFDictionaryRef> dictionaryOut)
        [@function] VTSessionCopySerializableProperties Retrieves the set of serializable property keys and their current values. The serializable properties are those which can be saved and applied to a different session. The caller must release the returned dictionary. API-Since: 8.0
      • VTCompressionSessionCreate

        public static int VTCompressionSessionCreate​(@Nullable
                                                     @Nullable CFAllocatorRef allocator,
                                                     int width,
                                                     int height,
                                                     int codecType,
                                                     @Nullable
                                                     @Nullable CFDictionaryRef encoderSpecification,
                                                     @Nullable
                                                     @Nullable CFDictionaryRef sourceImageBufferAttributes,
                                                     @Nullable
                                                     @Nullable CFAllocatorRef compressedDataAllocator,
                                                     @Nullable
                                                     @Nullable VideoToolbox.Function_VTCompressionSessionCreate outputCallback,
                                                     @Nullable
                                                     @Nullable org.moe.natj.general.ptr.VoidPtr outputCallbackRefCon,
                                                     @NotNull
                                                     @NotNull org.moe.natj.general.ptr.Ptr<VTCompressionSessionRef> compressionSessionOut)
        [@function] VTCompressionSessionCreate Creates a session for compressing video frames. Compressed frames will be emitted through calls to outputCallback.
        Parameters:
        allocator - An allocator for the session. Pass NULL to use the default allocator.
        width - The width of frames, in pixels. If the video encoder cannot support the provided width and height it may change them.
        height - The height of frames in pixels.
        codecType - The codec type.
        encoderSpecification - Specifies a particular video encoder that must be used. Pass NULL to let the video toolbox choose a encoder.
        sourceImageBufferAttributes - Required attributes for source pixel buffers, used when creating a pixel buffer pool for source frames. If you do not want the Video Toolbox to create one for you, pass NULL. (Using pixel buffers not allocated by the Video Toolbox may increase the chance that it will be necessary to copy image data.)
        compressedDataAllocator - An allocator for the compressed data. Pass NULL to use the default allocator. Note: on MacOS 10.12 and later, using a compressedDataAllocator may trigger an extra buffer copy.
        outputCallback - The callback to be called with compressed frames. This function may be called asynchronously, on a different thread from the one that calls VTCompressionSessionEncodeFrame. Pass NULL if and only if you will be calling VTCompressionSessionEncodeFrameWithOutputHandler for encoding frames.
        outputCallbackRefCon - Client-defined reference value for the output callback.
        compressionSessionOut - Points to a variable to receive the new compression session. API-Since: 8.0
      • VTCompressionSessionInvalidate

        public static void VTCompressionSessionInvalidate​(@NotNull
                                                          @NotNull VTCompressionSessionRef session)
        [@function] VTCompressionSessionInvalidate Tears down a compression session. When you are done with a compression session you created, call VTCompressionSessionInvalidate to tear it down and then CFRelease to release your object reference. When a compression session's retain count reaches zero, it is automatically invalidated, but since sessions may be retained by multiple parties, it can be hard to predict when this will happen. Calling VTCompressionSessionInvalidate ensures a deterministic, orderly teardown. API-Since: 8.0
      • VTCompressionSessionGetTypeID

        public static long VTCompressionSessionGetTypeID()
        [@function] VTCompressionSessionGetTypeID Returns the CFTypeID for compression sessions. API-Since: 8.0
      • VTCompressionSessionGetPixelBufferPool

        @Nullable
        public static @Nullable CVPixelBufferPoolRef VTCompressionSessionGetPixelBufferPool​(@NotNull
                                                                                            @NotNull VTCompressionSessionRef session)
        [@function] VTCompressionSessionGetPixelBufferPool Returns a pool that can provide ideal source pixel buffers for a compression session. The compression session creates this pixel buffer pool based on the compressor's pixel buffer attributes and any pixel buffer attributes passed in to VTCompressionSessionCreate. If the source pixel buffer attributes and the compressor pixel buffer attributes cannot be reconciled, the pool is based on the source pixel buffer attributes and the Video Toolbox converts each CVImageBuffer internally.
        While clients can call VTCompressionSessionGetPixelBufferPool once and retain the resulting pool, the call is cheap enough that it's OK to call it once per frame. If a change of session properties causes the compressor's pixel buffer attributes to change, it's possible that VTCompressionSessionGetPixelBufferPool might return a different pool. API-Since: 8.0
      • VTCompressionSessionPrepareToEncodeFrames

        public static int VTCompressionSessionPrepareToEncodeFrames​(@NotNull
                                                                    @NotNull VTCompressionSessionRef session)
        [@function] VTCompressionSessionPrepareToEncodeFrames You can optionally call this function to provide the encoder with an opportunity to perform any necessary resource allocation before it begins encoding frames. This optional call can be used to provide the encoder an opportunity to allocate any resources necessary before it begins encoding frames. If this isn't called, any necessary resources will be allocated on the first VTCompressionSessionEncodeFrame call. Extra calls to this function will have no effect.
        Parameters:
        session - The compression session. API-Since: 8.0
      • VTCompressionSessionEncodeFrame

        public static int VTCompressionSessionEncodeFrame​(@NotNull
                                                          @NotNull VTCompressionSessionRef session,
                                                          @NotNull
                                                          @NotNull CVBufferRef imageBuffer,
                                                          CMTime presentationTimeStamp,
                                                          CMTime duration,
                                                          @Nullable
                                                          @Nullable CFDictionaryRef frameProperties,
                                                          @Nullable
                                                          @Nullable org.moe.natj.general.ptr.VoidPtr sourceFrameRefcon,
                                                          @Nullable
                                                          @Nullable org.moe.natj.general.ptr.IntPtr infoFlagsOut)
        [@function] VTCompressionSessionEncodeFrame Call this function to present frames to the compression session. Encoded frames may or may not be output before the function returns. The client should not modify the pixel data after making this call. The session and/or encoder will retain the image buffer as long as necessary.
        Parameters:
        session - The compression session.
        imageBuffer - A CVImageBuffer containing a video frame to be compressed. Must have a nonzero reference count.
        presentationTimeStamp - The presentation timestamp for this frame, to be attached to the sample buffer. Each presentation timestamp passed to a session must be greater than the previous one.
        duration - The presentation duration for this frame, to be attached to the sample buffer. If you do not have duration information, pass kCMTimeInvalid.
        frameProperties - Contains key/value pairs specifying additional properties for encoding this frame. Note that some session properties may also be changed between frames. Such changes have effect on subsequently encoded frames.
        sourceFrameRefcon - Your reference value for the frame, which will be passed to the output callback function.
        infoFlagsOut - Points to a VTEncodeInfoFlags to receive information about the encode operation. The kVTEncodeInfo_Asynchronous bit may be set if the encode is (or was) running asynchronously. The kVTEncodeInfo_FrameDropped bit may be set if the frame was dropped (synchronously). Pass NULL if you do not want to receive this information. API-Since: 8.0
      • VTCompressionSessionEncodeFrameWithOutputHandler

        public static int VTCompressionSessionEncodeFrameWithOutputHandler​(@NotNull
                                                                           @NotNull VTCompressionSessionRef session,
                                                                           @NotNull
                                                                           @NotNull CVBufferRef imageBuffer,
                                                                           CMTime presentationTimeStamp,
                                                                           CMTime duration,
                                                                           @Nullable
                                                                           @Nullable CFDictionaryRef frameProperties,
                                                                           @Nullable
                                                                           @Nullable org.moe.natj.general.ptr.IntPtr infoFlagsOut,
                                                                           @NotNull
                                                                           @NotNull VideoToolbox.Block_VTCompressionSessionEncodeFrameWithOutputHandler outputHandler)
        [@function] VTCompressionSessionEncodeFrameWithOutputHandler Call this function to present frames to the compression session. Encoded frames may or may not be output before the function returns. The client should not modify the pixel data after making this call. The session and/or encoder will retain the image buffer as long as necessary. Cannot be called with a session created with a VTCompressionOutputCallback.
        Parameters:
        session - The compression session.
        imageBuffer - A CVImageBuffer containing a video frame to be compressed. Must have a nonzero reference count.
        presentationTimeStamp - The presentation timestamp for this frame, to be attached to the sample buffer. Each presentation timestamp passed to a session must be greater than the previous one.
        duration - The presentation duration for this frame, to be attached to the sample buffer. If you do not have duration information, pass kCMTimeInvalid.
        frameProperties - Contains key/value pairs specifying additional properties for encoding this frame. Note that some session properties may also be changed between frames. Such changes have effect on subsequently encoded frames.
        infoFlagsOut - Points to a VTEncodeInfoFlags to receive information about the encode operation. The kVTEncodeInfo_Asynchronous bit may be set if the encode is (or was) running asynchronously. The kVTEncodeInfo_FrameDropped bit may be set if the frame was dropped (synchronously). Pass NULL if you do not want to receive this information.
        outputHandler - The block to be called when encoding the frame is completed. This block may be called asynchronously, on a different thread from the one that calls VTCompressionSessionEncodeFrameWithOutputHandler. API-Since: 9.0
      • VTCompressionSessionCompleteFrames

        public static int VTCompressionSessionCompleteFrames​(@NotNull
                                                             @NotNull VTCompressionSessionRef session,
                                                             CMTime completeUntilPresentationTimeStamp)
        [@function] VTCompressionSessionCompleteFrames Forces the compression session to complete encoding frames. If completeUntilPresentationTimeStamp is numeric, frames with presentation timestamps up to and including this timestamp will be emitted before the function returns. If completeUntilPresentationTimeStamp is non-numeric, all pending frames will be emitted before the function returns. API-Since: 8.0
      • VTCompressionSessionBeginPass

        public static int VTCompressionSessionBeginPass​(@NotNull
                                                        @NotNull VTCompressionSessionRef session,
                                                        int beginPassFlags,
                                                        @Nullable
                                                        @Nullable org.moe.natj.general.ptr.IntPtr reserved)
        [@function] VTCompressionSessionBeginPass Call to announce the start of a specific compression pass. During multi-pass encoding, this function must be called before VTCompressionSessionEncodeFrame. It is an error to call this function when multi-pass encoding has not been enabled by setting kVTCompressionPropertyKey_MultiPassStorage.
        Parameters:
        beginPassFlags - Pass kVTCompressionSessionBeginFinalPass to inform the encoder that the pass must be the final pass. API-Since: 8.0
      • VTCompressionSessionEndPass

        public static int VTCompressionSessionEndPass​(@NotNull
                                                      @NotNull VTCompressionSessionRef session,
                                                      @Nullable
                                                      @Nullable org.moe.natj.general.ptr.BytePtr furtherPassesRequestedOut,
                                                      @Nullable
                                                      @Nullable org.moe.natj.general.ptr.IntPtr reserved)
        [@function] VTCompressionSessionEndPass Call to announce the end of a pass. VTCompressionSessionEndPass can take a long time, since the video encoder may perform significant processing between passes. VTCompressionSessionEndPass will indicate via the furtherPassesRequestedOut argument whether the video encoder would like to perform another pass. There is no particular bound on the number of passes the video encoder may request, but the client is free to disregard this request and use the last-emitted set of frames. It is an error to call this function when multi-pass encoding has not been enabled by setting kVTCompressionPropertyKey_MultiPassStorage.
        Parameters:
        furtherPassesRequestedOut - Points to a Boolean that will be set to true if the video encoder would like to perform another pass, false otherwise. You may pass NULL to indicate that the client is certain to use this as the final pass, in which case the video encoder can skip that evaluation step. API-Since: 8.0
      • VTCompressionSessionGetTimeRangesForNextPass

        public static int VTCompressionSessionGetTimeRangesForNextPass​(@NotNull
                                                                       @NotNull VTCompressionSessionRef session,
                                                                       @NotNull
                                                                       @NotNull org.moe.natj.general.ptr.NIntPtr timeRangeCountOut,
                                                                       @NotNull
                                                                       @NotNull org.moe.natj.general.ptr.Ptr<org.moe.natj.general.ptr.ConstPtr<CMTimeRange>> timeRangeArrayOut)
        [@function] VTCompressionSessionGetTimeRangesForNextPass Retrieves the time ranges for the next pass. If VTCompressionSessionEndPass sets *furtherPassesRequestedOut to true, call VTCompressionSessionGetTimeRangesForNextPass to find out the time ranges for the next pass. Source frames outside these time ranges should be skipped. Each time range is considered to include any frame at its start time and not to include any frame at its end time. It is an error to call this function when multi-pass encoding has not been enabled by setting kVTCompressionPropertyKey_MultiPassStorage, or when VTCompressionSessionEndPass did not set *furtherPassesRequestedOut to true.
        Parameters:
        timeRangeCountOut - Points to a CMItemCount to receive the number of CMTimeRanges.
        timeRangeArrayOut - Points to a const CMTimeRange * to receive a pointer to a C array of CMTimeRanges. The storage for this array belongs to the VTCompressionSession and should not be modified. The pointer will be valid until the next call to VTCompressionSessionEndPass, or until the VTCompressionSession is invalidated or finalized. API-Since: 8.0
      • VTDecompressionSessionCreate

        public static int VTDecompressionSessionCreate​(@Nullable
                                                       @Nullable CFAllocatorRef allocator,
                                                       @NotNull
                                                       @NotNull CMFormatDescriptionRef videoFormatDescription,
                                                       @Nullable
                                                       @Nullable CFDictionaryRef videoDecoderSpecification,
                                                       @Nullable
                                                       @Nullable CFDictionaryRef destinationImageBufferAttributes,
                                                       @Nullable
                                                       @Nullable VTDecompressionOutputCallbackRecord outputCallback,
                                                       @NotNull
                                                       @NotNull org.moe.natj.general.ptr.Ptr<VTDecompressionSessionRef> decompressionSessionOut)
        [@function] VTDecompressionSessionCreate Creates a session for decompressing video frames. Decompressed frames will be emitted through calls to outputCallback.
        Parameters:
        allocator - An allocator for the session. Pass NULL to use the default allocator.
        videoFormatDescription - Describes the source video frames.
        videoDecoderSpecification - Specifies a particular video decoder that must be used. Pass NULL to let the video toolbox choose a decoder.
        destinationImageBufferAttributes - Describes requirements for emitted pixel buffers. Pass NULL to set no requirements.
        outputCallback - The callback to be called with decompressed frames. Pass NULL if and only if you will be calling VTDecompressionSessionDecodeFrameWithOutputHandler for decoding frames.
        decompressionSessionOut - Points to a variable to receive the new decompression session. API-Since: 8.0
      • VTDecompressionSessionInvalidate

        public static void VTDecompressionSessionInvalidate​(@NotNull
                                                            @NotNull VTDecompressionSessionRef session)
        [@function] VTDecompressionSessionInvalidate Tears down a decompression session. When you are done with a decompression session you created, call VTDecompressionSessionInvalidate to tear it down and then CFRelease to release your object reference. When a decompression session's retain count reaches zero, it is automatically invalidated, but since sessions may be retained by multiple parties, it can be hard to predict when this will happen. Calling VTDecompressionSessionInvalidate ensures a deterministic, orderly teardown. API-Since: 8.0
      • VTDecompressionSessionGetTypeID

        public static long VTDecompressionSessionGetTypeID()
        [@function] VTDecompressionSessionGetTypeID Returns the CFTypeID for decompression sessions. API-Since: 8.0
      • VTDecompressionSessionDecodeFrame

        public static int VTDecompressionSessionDecodeFrame​(@NotNull
                                                            @NotNull VTDecompressionSessionRef session,
                                                            @NotNull
                                                            @NotNull CMSampleBufferRef sampleBuffer,
                                                            int decodeFlags,
                                                            @Nullable
                                                            @Nullable org.moe.natj.general.ptr.VoidPtr sourceFrameRefCon,
                                                            @Nullable
                                                            @Nullable org.moe.natj.general.ptr.IntPtr infoFlagsOut)
        [@function] VTDecompressionSessionDecodeFrame Decompresses a video frame. If an error is returned from this function, there will be no callback. Otherwise the callback provided during VTDecompressionSessionCreate will be called.
        Parameters:
        session - The decompression session.
        sampleBuffer - A CMSampleBuffer containing one or more video frames.
        decodeFlags - A bitfield of directives to the decompression session and decoder. The kVTDecodeFrame_EnableAsynchronousDecompression bit indicates whether the video decoder may decompress the frame asynchronously. The kVTDecodeFrame_EnableTemporalProcessing bit indicates whether the decoder may delay calls to the output callback so as to enable processing in temporal (display) order. If both flags are clear, the decompression shall complete and your output callback function will be called before VTDecompressionSessionDecodeFrame returns. If either flag is set, VTDecompressionSessionDecodeFrame may return before the output callback function is called.
        sourceFrameRefCon - Your reference value for the frame. Note that if sampleBuffer contains multiple frames, the output callback function will be called multiple times with this sourceFrameRefCon.
        infoFlagsOut - Points to a VTDecodeInfoFlags to receive information about the decode operation. The kVTDecodeInfo_Asynchronous bit may be set if the decode is (or was) running asynchronously. The kVTDecodeInfo_FrameDropped bit may be set if the frame was dropped (synchronously). Pass NULL if you do not want to receive this information. API-Since: 8.0
      • VTDecompressionSessionDecodeFrameWithOutputHandler

        public static int VTDecompressionSessionDecodeFrameWithOutputHandler​(@NotNull
                                                                             @NotNull VTDecompressionSessionRef session,
                                                                             @NotNull
                                                                             @NotNull CMSampleBufferRef sampleBuffer,
                                                                             int decodeFlags,
                                                                             @Nullable
                                                                             @Nullable org.moe.natj.general.ptr.IntPtr infoFlagsOut,
                                                                             @NotNull
                                                                             @NotNull VideoToolbox.Block_VTDecompressionSessionDecodeFrameWithOutputHandler outputHandler)
        [@function] VTDecompressionSessionDecodeFrameWithOutputHandler Decompresses a video frame. Cannot be called with a session created with a VTDecompressionOutputCallbackRecord. If the VTDecompressionSessionDecodeFrameWithOutputHandler call returns an error, the block will not be called.
        Parameters:
        session - The decompression session.
        sampleBuffer - A CMSampleBuffer containing one or more video frames.
        decodeFlags - A bitfield of directives to the decompression session and decoder. The kVTDecodeFrame_EnableAsynchronousDecompression bit indicates whether the video decoder may decompress the frame asynchronously. The kVTDecodeFrame_EnableTemporalProcessing bit indicates whether the decoder may delay calls to the output callback so as to enable processing in temporal (display) order. If both flags are clear, the decompression shall complete and your output callback function will be called before VTDecompressionSessionDecodeFrame returns. If either flag is set, VTDecompressionSessionDecodeFrame may return before the output callback function is called.
        infoFlagsOut - Points to a VTDecodeInfoFlags to receive information about the decode operation. The kVTDecodeInfo_Asynchronous bit may be set if the decode is (or was) running asynchronously. The kVTDecodeInfo_FrameDropped bit may be set if the frame was dropped (synchronously). Pass NULL if you do not want to receive this information.
        outputHandler - The block to be called when decoding the frame is completed. If the VTDecompressionSessionDecodeFrameWithOutputHandler call returns an error, the block will not be called. API-Since: 9.0
      • VTDecompressionSessionFinishDelayedFrames

        public static int VTDecompressionSessionFinishDelayedFrames​(@NotNull
                                                                    @NotNull VTDecompressionSessionRef session)
        [@function] VTDecompressionSessionFinishDelayedFrames Directs the decompression session to emit all delayed frames. By default, the decompression session may not delay frames indefinitely; frames may only be indefinitely delayed if the client opts in via kVTDecodeFrame_EnableTemporalProcessing. IMPORTANT NOTE: This function may return before all delayed frames are emitted. To wait for them, call VTDecompressionSessionWaitForAsynchronousFrames instead. API-Since: 8.0
      • VTDecompressionSessionCanAcceptFormatDescription

        public static byte VTDecompressionSessionCanAcceptFormatDescription​(@NotNull
                                                                            @NotNull VTDecompressionSessionRef session,
                                                                            @NotNull
                                                                            @NotNull CMFormatDescriptionRef newFormatDesc)
        [@function] VTDecompressionSessionCanAcceptFormatDescription Indicates whether the session can decode frames with the given format description. Some video decoders are able to accommodate minor changes in format without needing to be completely reset in a new session. This function can be used to test whether a format change is sufficiently minor. API-Since: 8.0
      • VTDecompressionSessionWaitForAsynchronousFrames

        public static int VTDecompressionSessionWaitForAsynchronousFrames​(@NotNull
                                                                          @NotNull VTDecompressionSessionRef session)
        [@function] VTDecompressionSessionWaitForAsynchronousFrames Waits for any and all outstanding asynchronous and delayed frames to complete, then returns. This function automatically calls VTDecompressionSessionFinishDelayedFrames, so clients don't have to call both. API-Since: 8.0
      • VTDecompressionSessionCopyBlackPixelBuffer

        public static int VTDecompressionSessionCopyBlackPixelBuffer​(@NotNull
                                                                     @NotNull VTDecompressionSessionRef session,
                                                                     @NotNull
                                                                     @NotNull org.moe.natj.general.ptr.Ptr<CVBufferRef> pixelBufferOut)
        [@function] VTDecompressionSessionCopyBlackPixelBuffer Copies a black pixel buffer from the decompression session. The pixel buffer is in the same format that the session is decompressing to.
        Parameters:
        session - The decompression session.
        pixelBufferOut - Points to a variable to receive the copied pixel buffer. API-Since: 8.0
      • VTFrameSiloGetTypeID

        public static long VTFrameSiloGetTypeID()
        API-Since: 8.0
      • VTFrameSiloCreate

        public static int VTFrameSiloCreate​(@Nullable
                                            @Nullable CFAllocatorRef allocator,
                                            @Nullable
                                            @Nullable CFURLRef fileURL,
                                            CMTimeRange timeRange,
                                            @Nullable
                                            @Nullable CFDictionaryRef options,
                                            @NotNull
                                            @NotNull org.moe.natj.general.ptr.Ptr<VTFrameSiloRef> frameSiloOut)
        [@function] VTFrameSiloCreate Creates a VTFrameSilo object using a temporary file. The returned VTFrameSilo object may be used to gather frames produced by multi-pass encoding.
        Parameters:
        fileURL - Specifies where to put the backing file for the VTFrameSilo object. If you pass NULL for fileURL, the video toolbox will pick a unique temporary file name.
        options - Reserved, pass NULL.
        timeRange - The valid time range for the frame silo. Must be valid for progress reporting.
        frameSiloOut - Points to a VTFrameSiloRef to receive the newly created object. Call CFRelease to release your retain on the created VTFrameSilo object when you are done with it. API-Since: 8.0
      • VTFrameSiloAddSampleBuffer

        public static int VTFrameSiloAddSampleBuffer​(@NotNull
                                                     @NotNull VTFrameSiloRef silo,
                                                     @NotNull
                                                     @NotNull CMSampleBufferRef sampleBuffer)
        [@function] VTFrameSiloAddSampleBuffer Adds a sample buffer to a VTFrameSilo object. Within each pass, sample buffers must have strictly increasing decode timestamps. Passes after the first pass are begun with a call to VTFrameSiloSetTimeRangesForNextPass. After a call to VTFrameSiloSetTimeRangesForNextPass, sample buffer decode timestamps must also be within the stated time ranges. Note that CMTimeRanges are considered to contain their start times but not their end times.
        Returns:
        Returns kVTFrameSiloInvalidTimeStampErr if an attempt is made to add a sample buffer with an inappropriate decode timestamp. API-Since: 8.0
      • VTFrameSiloSetTimeRangesForNextPass

        public static int VTFrameSiloSetTimeRangesForNextPass​(@NotNull
                                                              @NotNull VTFrameSiloRef silo,
                                                              long timeRangeCount,
                                                              @NotNull
                                                              @NotNull CMTimeRange timeRangeArray)
        [@function] VTFrameSiloSetTimeRangesForNextPass Begins a new pass of samples to be added to a VTFrameSilo object. Previously-added sample buffers with decode timestamps within the time ranges will be deleted from the VTFrameSilo. It is not necessary to call VTFrameSiloSetTimeRangesForNextPass before adding the first pass' sample buffers.
        Returns:
        Returns kVTFrameSiloInvalidTimeRangeErr if any time ranges are non-numeric, overlap or are not in ascending order. API-Since: 8.0
      • VTFrameSiloGetProgressOfCurrentPass

        public static int VTFrameSiloGetProgressOfCurrentPass​(@NotNull
                                                              @NotNull VTFrameSiloRef silo,
                                                              @NotNull
                                                              @NotNull org.moe.natj.general.ptr.FloatPtr progressOut)
        [@function] VTFrameSiloGetProgressOfCurrentPass Gets the progress of the current pass. Calculates the current progress based on the most recent sample buffer added and the current pass time ranges.
        Returns:
        Returns kVTFrameSiloInvalidTimeRangeErr if any time ranges are non-numeric, overlap or are not in ascending order. API-Since: 8.0
      • VTFrameSiloCallFunctionForEachSampleBuffer

        public static int VTFrameSiloCallFunctionForEachSampleBuffer​(@NotNull
                                                                     @NotNull VTFrameSiloRef silo,
                                                                     CMTimeRange timeRange,
                                                                     @Nullable
                                                                     @Nullable org.moe.natj.general.ptr.VoidPtr refcon,
                                                                     @NotNull
                                                                     @NotNull VideoToolbox.Function_VTFrameSiloCallFunctionForEachSampleBuffer callback)
        [@function] VTFrameSiloCallFunctionForEachSampleBuffer Retrieves sample buffers from a VTFrameSilo object. You call this function to retrieve sample buffers at the end of a multi-pass compression session.
        Parameters:
        timeRange - The decode time range of sample buffers to retrieve. Pass kCMTimeRangeInvalid to retrieve all sample buffers from the VTFrameSilo.
        callback - A function to be called, in decode order, with each sample buffer that was added. To abort iteration early, return a nonzero status. The VTFrameSilo may write sample buffers and data to the backing file between addition and retrieval; do not expect to get identical object pointers back.
        Returns:
        Returns kVTFrameSiloInvalidTimeRangeErr if any time ranges are non-numeric, overlap or are not in ascending order. Returns any nonzero status returned by the callback function. API-Since: 8.0
      • VTFrameSiloCallBlockForEachSampleBuffer

        public static int VTFrameSiloCallBlockForEachSampleBuffer​(@NotNull
                                                                  @NotNull VTFrameSiloRef silo,
                                                                  CMTimeRange timeRange,
                                                                  @NotNull
                                                                  @NotNull VideoToolbox.Block_VTFrameSiloCallBlockForEachSampleBuffer handler)
        [@function] VTFrameSiloCallBlockForEachSampleBuffer Retrieves sample buffers from a VTFrameSilo object. You call this function to retrieve sample buffers at the end of a multi-pass compression session.
        Parameters:
        timeRange - The decode time range of sample buffers to retrieve. Pass kCMTimeRangeInvalid to retrieve all sample buffers from the VTFrameSilo.
        handler - A block to be called, in decode order, with each sample buffer that was added. To abort iteration early, return a nonzero status. The VTFrameSilo may write sample buffers and data to the backing file between addition and retrieval; do not expect to get identical object pointers back.
        Returns:
        Returns kVTFrameSiloInvalidTimeRangeErr if any time ranges are non-numeric, overlap or are not in ascending order. Returns any nonzero status returned by the handler block. API-Since: 8.0
      • VTMultiPassStorageGetTypeID

        public static long VTMultiPassStorageGetTypeID()
        API-Since: 8.0
      • VTMultiPassStorageCreate

        public static int VTMultiPassStorageCreate​(@Nullable
                                                   @Nullable CFAllocatorRef allocator,
                                                   @Nullable
                                                   @Nullable CFURLRef fileURL,
                                                   CMTimeRange timeRange,
                                                   @Nullable
                                                   @Nullable CFDictionaryRef options,
                                                   @NotNull
                                                   @NotNull org.moe.natj.general.ptr.Ptr<VTMultiPassStorageRef> multiPassStorageOut)
        [@function] VTMultiPassStorageCreate Creates a VTMultiPassStorage object using a temporary file. The returned VTMultiPassStorage object may be used to perform multi-pass encoding; see kVTCompressionPropertyKey_MultiPassStorage. Call CFRelease to release your retain on the created VTMultiPassStorage object when you are done with it.
        Parameters:
        fileURL - Specifies where to put the backing file for the VTMultiPassStorage object. If you pass NULL for fileURL, the video toolbox will pick a unique temporary file name.
        timeRange - Gives a hint to the multi pass storage about valid time stamps for data.
        options - If the file did not exist when the storage was created, the file will be deleted when the VTMultiPassStorage object is finalized, unless you set the kVTMultiPassStorageCreationOption_DoNotDelete option to kCFBooleanTrue in the options dictionary. API-Since: 8.0
      • VTMultiPassStorageClose

        public static int VTMultiPassStorageClose​(@NotNull
                                                  @NotNull VTMultiPassStorageRef multiPassStorage)
        [@function] VTMultiPassStorageClose Ensures that any pending data is written to the multipass storage file and closes the file. After this function is called, all methods on the multipass storage object will fail. It is still necessary to release the object by calling CFRelease. API-Since: 8.0
      • VTCopyVideoEncoderList

        public static int VTCopyVideoEncoderList​(@Nullable
                                                 @Nullable CFDictionaryRef options,
                                                 @NotNull
                                                 @NotNull org.moe.natj.general.ptr.Ptr<CFArrayRef> listOfVideoEncodersOut)
        [@function] VTCopyVideoEncoderList Builds a list of available video encoders. The caller must CFRelease the returned list. API-Since: 8.0
      • VTCreateCGImageFromCVPixelBuffer

        public static int VTCreateCGImageFromCVPixelBuffer​(@NotNull
                                                           @NotNull CVBufferRef pixelBuffer,
                                                           @Nullable
                                                           @Nullable CFDictionaryRef options,
                                                           @NotNull
                                                           @NotNull org.moe.natj.general.ptr.Ptr<CGImageRef> imageOut)
        [@function] VTCreateCGImageFromCVPixelBuffer Creates a CGImage using the provided CVPixelBuffer This routine creates a CGImage representation of the image data contained in the provided CVPixelBuffer. The source CVPixelBuffer may be retained for the lifetime of the CGImage. Changes to the CVPixelBuffer after making this call (other than releasing it) will have undefined results. Not all CVPixelBuffer pixel formats will support conversion into a CGImage compatible pixel format. API-Since: 9.0
        Parameters:
        pixelBuffer - The pixelBuffer to be used as the image data source for the CGImage.
        options - no options currently. pass NULL.
        imageOut - pointer to an address to receive the newly created CGImage.
      • kVTCompressionPropertyKey_NumberOfPendingFrames

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_NumberOfPendingFrames()
        Read-only, CFNumber API-Since: 8.0
      • kVTCompressionPropertyKey_PixelBufferPoolIsShared

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_PixelBufferPoolIsShared()
        Read-only, CFBoolean API-Since: 8.0
      • kVTCompressionPropertyKey_VideoEncoderPixelBufferAttributes

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_VideoEncoderPixelBufferAttributes()
        Read-only, CFDictionary API-Since: 8.0
      • kVTCompressionPropertyKey_MaxKeyFrameInterval

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_MaxKeyFrameInterval()
        Read/write, CFNumber, Optional API-Since: 8.0
      • kVTCompressionPropertyKey_MaxKeyFrameIntervalDuration

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_MaxKeyFrameIntervalDuration()
        Read/write, CFNumber, Optional API-Since: 8.0
      • kVTCompressionPropertyKey_AllowTemporalCompression

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_AllowTemporalCompression()
        Read/Write, CFBoolean, Optional, defaults to true API-Since: 8.0
      • kVTCompressionPropertyKey_AllowFrameReordering

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_AllowFrameReordering()
        Read/Write, CFBoolean, Optional, defaults to true API-Since: 8.0
      • kVTCompressionPropertyKey_AverageBitRate

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_AverageBitRate()
        Read/write, CFNumber, Optional API-Since: 8.0
      • kVTCompressionPropertyKey_DataRateLimits

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_DataRateLimits()
        Read/write, CFArray[CFNumber], [bytes, seconds, bytes, seconds...], Optional API-Since: 8.0
      • kVTCompressionPropertyKey_Quality

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_Quality()
        Read/write, CFNumber, Optional API-Since: 8.0
      • kVTCompressionPropertyKey_MoreFramesBeforeStart

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_MoreFramesBeforeStart()
        Read/write, CFBoolean, Optional API-Since: 8.0
      • kVTCompressionPropertyKey_MoreFramesAfterEnd

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_MoreFramesAfterEnd()
        Read/write, CFBoolean, Optional API-Since: 8.0
      • kVTCompressionPropertyKey_ProfileLevel

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_ProfileLevel()
        Read/write, CFString (enumeration), Optional API-Since: 8.0
      • kVTProfileLevel_H264_Baseline_1_3

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H264_Baseline_1_3()
        API-Since: 8.0
      • kVTProfileLevel_H264_Baseline_3_0

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H264_Baseline_3_0()
        API-Since: 8.0
      • kVTProfileLevel_H264_Baseline_3_1

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H264_Baseline_3_1()
        API-Since: 8.0
      • kVTProfileLevel_H264_Baseline_3_2

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H264_Baseline_3_2()
        API-Since: 8.0
      • kVTProfileLevel_H264_Baseline_4_0

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H264_Baseline_4_0()
        API-Since: 8.0
      • kVTProfileLevel_H264_Baseline_4_1

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H264_Baseline_4_1()
        API-Since: 8.0
      • kVTProfileLevel_H264_Baseline_4_2

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H264_Baseline_4_2()
        API-Since: 8.0
      • kVTProfileLevel_H264_Baseline_5_0

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H264_Baseline_5_0()
        API-Since: 8.0
      • kVTProfileLevel_H264_Baseline_5_1

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H264_Baseline_5_1()
        API-Since: 8.0
      • kVTProfileLevel_H264_Baseline_5_2

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H264_Baseline_5_2()
        API-Since: 8.0
      • kVTProfileLevel_H264_Baseline_AutoLevel

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H264_Baseline_AutoLevel()
        API-Since: 8.0
      • kVTProfileLevel_H264_Main_3_0

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H264_Main_3_0()
        API-Since: 8.0
      • kVTProfileLevel_H264_Main_3_1

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H264_Main_3_1()
        API-Since: 8.0
      • kVTProfileLevel_H264_Main_3_2

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H264_Main_3_2()
        API-Since: 8.0
      • kVTProfileLevel_H264_Main_4_0

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H264_Main_4_0()
        API-Since: 8.0
      • kVTProfileLevel_H264_Main_4_1

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H264_Main_4_1()
        API-Since: 8.0
      • kVTProfileLevel_H264_Main_4_2

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H264_Main_4_2()
        API-Since: 8.0
      • kVTProfileLevel_H264_Main_5_0

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H264_Main_5_0()
        API-Since: 8.0
      • kVTProfileLevel_H264_Main_5_1

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H264_Main_5_1()
        API-Since: 8.0
      • kVTProfileLevel_H264_Main_5_2

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H264_Main_5_2()
        API-Since: 8.0
      • kVTProfileLevel_H264_Main_AutoLevel

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H264_Main_AutoLevel()
        API-Since: 8.0
      • kVTProfileLevel_H264_Extended_5_0

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H264_Extended_5_0()
        API-Since: 8.0
      • kVTProfileLevel_H264_Extended_AutoLevel

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H264_Extended_AutoLevel()
        API-Since: 8.0
      • kVTProfileLevel_H264_High_3_0

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H264_High_3_0()
        API-Since: 8.0
      • kVTProfileLevel_H264_High_3_1

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H264_High_3_1()
        API-Since: 8.0
      • kVTProfileLevel_H264_High_3_2

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H264_High_3_2()
        API-Since: 8.0
      • kVTProfileLevel_H264_High_4_0

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H264_High_4_0()
        API-Since: 8.0
      • kVTProfileLevel_H264_High_4_1

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H264_High_4_1()
        API-Since: 8.0
      • kVTProfileLevel_H264_High_4_2

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H264_High_4_2()
        API-Since: 8.0
      • kVTProfileLevel_H264_High_5_0

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H264_High_5_0()
        API-Since: 8.0
      • kVTProfileLevel_H264_High_5_1

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H264_High_5_1()
        API-Since: 8.0
      • kVTProfileLevel_H264_High_5_2

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H264_High_5_2()
        API-Since: 8.0
      • kVTProfileLevel_H264_High_AutoLevel

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H264_High_AutoLevel()
        API-Since: 8.0
      • kVTProfileLevel_MP4V_Simple_L0

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_MP4V_Simple_L0()
        API-Since: 8.0
      • kVTProfileLevel_MP4V_Simple_L1

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_MP4V_Simple_L1()
        API-Since: 8.0
      • kVTProfileLevel_MP4V_Simple_L2

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_MP4V_Simple_L2()
        API-Since: 8.0
      • kVTProfileLevel_MP4V_Simple_L3

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_MP4V_Simple_L3()
        API-Since: 8.0
      • kVTProfileLevel_MP4V_Main_L2

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_MP4V_Main_L2()
        API-Since: 8.0
      • kVTProfileLevel_MP4V_Main_L3

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_MP4V_Main_L3()
        API-Since: 8.0
      • kVTProfileLevel_MP4V_Main_L4

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_MP4V_Main_L4()
        API-Since: 8.0
      • kVTProfileLevel_MP4V_AdvancedSimple_L0

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_MP4V_AdvancedSimple_L0()
        API-Since: 8.0
      • kVTProfileLevel_MP4V_AdvancedSimple_L1

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_MP4V_AdvancedSimple_L1()
        API-Since: 8.0
      • kVTProfileLevel_MP4V_AdvancedSimple_L2

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_MP4V_AdvancedSimple_L2()
        API-Since: 8.0
      • kVTProfileLevel_MP4V_AdvancedSimple_L3

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_MP4V_AdvancedSimple_L3()
        API-Since: 8.0
      • kVTProfileLevel_MP4V_AdvancedSimple_L4

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_MP4V_AdvancedSimple_L4()
        API-Since: 8.0
      • kVTProfileLevel_H263_Profile0_Level10

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H263_Profile0_Level10()
        API-Since: 8.0
      • kVTProfileLevel_H263_Profile0_Level45

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H263_Profile0_Level45()
        API-Since: 8.0
      • kVTProfileLevel_H263_Profile3_Level45

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H263_Profile3_Level45()
        API-Since: 8.0
      • kVTCompressionPropertyKey_H264EntropyMode

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_H264EntropyMode()
        Read/write, CFString, optional API-Since: 8.0
      • kVTH264EntropyMode_CAVLC

        @NotNull
        public static @NotNull CFStringRef kVTH264EntropyMode_CAVLC()
        API-Since: 8.0
      • kVTH264EntropyMode_CABAC

        @NotNull
        public static @NotNull CFStringRef kVTH264EntropyMode_CABAC()
        API-Since: 8.0
      • kVTCompressionPropertyKey_Depth

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_Depth()
        Read/write, CFNumber (CMPixelFormatType), Optional API-Since: 8.0
      • kVTCompressionPropertyKey_MaxFrameDelayCount

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_MaxFrameDelayCount()
        Read/write, CFNumber, Optional API-Since: 8.0
      • kVTCompressionPropertyKey_MaxH264SliceBytes

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_MaxH264SliceBytes()
        Read/write, CFNumber, Optional API-Since: 8.0
      • kVTCompressionPropertyKey_RealTime

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_RealTime()
        Read/write, CFBoolean or NULL, Optional, default NULL API-Since: 8.0
      • kVTCompressionPropertyKey_SourceFrameCount

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_SourceFrameCount()
        Read/write, CFNumber, Optional API-Since: 8.0
      • kVTCompressionPropertyKey_ExpectedFrameRate

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_ExpectedFrameRate()
        Read/write, CFNumber, Optional API-Since: 8.0
      • kVTCompressionPropertyKey_ExpectedDuration

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_ExpectedDuration()
        Read/write, CFNumber(seconds), Optional API-Since: 8.0
      • kVTEncodeFrameOptionKey_ForceKeyFrame

        @NotNull
        public static @NotNull CFStringRef kVTEncodeFrameOptionKey_ForceKeyFrame()
        CFBoolean API-Since: 8.0
      • kVTCompressionPropertyKey_CleanAperture

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_CleanAperture()
        Read/write, CFDictionary (see CMFormatDescription.h), Optional API-Since: 8.0
      • kVTCompressionPropertyKey_PixelAspectRatio

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_PixelAspectRatio()
        Read/write, CFDictionary (see CMFormatDescription.h), Optional API-Since: 8.0
      • kVTCompressionPropertyKey_FieldCount

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_FieldCount()
        Read/write, CFNumber (see kCMFormatDescriptionExtension_FieldCount), Optional API-Since: 8.0
      • kVTCompressionPropertyKey_FieldDetail

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_FieldDetail()
        Read/write, CFString (see kCMFormatDescriptionExtension_FieldDetail), Optional API-Since: 8.0
      • kVTCompressionPropertyKey_AspectRatio16x9

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_AspectRatio16x9()
        Read/write, CFBoolean, Optional API-Since: 8.0
      • kVTCompressionPropertyKey_ProgressiveScan

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_ProgressiveScan()
        Read/write, CFBoolean, Optional API-Since: 8.0
      • kVTCompressionPropertyKey_ColorPrimaries

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_ColorPrimaries()
        Read/write, CFString (see kCMFormatDescriptionExtension_ColorPrimaries), Optional API-Since: 8.0
      • kVTCompressionPropertyKey_TransferFunction

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_TransferFunction()
        Read/write, CFString (see kCMFormatDescriptionExtension_TransferFunction), Optional API-Since: 8.0
      • kVTCompressionPropertyKey_YCbCrMatrix

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_YCbCrMatrix()
        Read/write, CFString (see kCMFormatDescriptionExtension_YCbCrMatrix), Optional API-Since: 8.0
      • kVTCompressionPropertyKey_ICCProfile

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_ICCProfile()
        Read/write, CFData (see kCMFormatDescriptionExtension_ICCProfile), Optional API-Since: 8.0
      • kVTCompressionPropertyKey_PixelTransferProperties

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_PixelTransferProperties()
        Read/Write, CFDictionary containing properties from VTPixelTransferProperties.h. API-Since: 8.0
      • kVTCompressionPropertyKey_MultiPassStorage

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_MultiPassStorage()
        VTMultiPassStorage, optional, default is NULL API-Since: 8.0
      • kVTPropertyTypeKey

        @NotNull
        public static @NotNull CFStringRef kVTPropertyTypeKey()
        value is CFStringRef, one of the following: API-Since: 8.0
      • kVTPropertyType_Enumeration

        @NotNull
        public static @NotNull CFStringRef kVTPropertyType_Enumeration()
        value is one of a list of CFStrings API-Since: 8.0
      • kVTPropertyType_Boolean

        @NotNull
        public static @NotNull CFStringRef kVTPropertyType_Boolean()
        value is a CFBoolean API-Since: 8.0
      • kVTPropertyType_Number

        @NotNull
        public static @NotNull CFStringRef kVTPropertyType_Number()
        value is a CFNumber API-Since: 8.0
      • kVTPropertyReadWriteStatusKey

        @NotNull
        public static @NotNull CFStringRef kVTPropertyReadWriteStatusKey()
        API-Since: 8.0
      • kVTPropertyReadWriteStatus_ReadOnly

        @NotNull
        public static @NotNull CFStringRef kVTPropertyReadWriteStatus_ReadOnly()
        API-Since: 8.0
      • kVTPropertyReadWriteStatus_ReadWrite

        @NotNull
        public static @NotNull CFStringRef kVTPropertyReadWriteStatus_ReadWrite()
        API-Since: 8.0
      • kVTPropertyShouldBeSerializedKey

        @NotNull
        public static @NotNull CFStringRef kVTPropertyShouldBeSerializedKey()
        CFBoolean, false by default API-Since: 8.0
      • kVTPropertySupportedValueMinimumKey

        @NotNull
        public static @NotNull CFStringRef kVTPropertySupportedValueMinimumKey()
        CFNumber API-Since: 8.0
      • kVTPropertySupportedValueMaximumKey

        @NotNull
        public static @NotNull CFStringRef kVTPropertySupportedValueMaximumKey()
        CFNumber API-Since: 8.0
      • kVTPropertySupportedValueListKey

        @NotNull
        public static @NotNull CFStringRef kVTPropertySupportedValueListKey()
        CFArray of appropriate values API-Since: 8.0
      • kVTPropertyDocumentationKey

        @NotNull
        public static @NotNull CFStringRef kVTPropertyDocumentationKey()
        a CFString for developer eyes only API-Since: 8.0
      • kVTVideoEncoderSpecification_EncoderID

        @NotNull
        public static @NotNull CFStringRef kVTVideoEncoderSpecification_EncoderID()
        CFString API-Since: 8.0
      • kVTDecompressionPropertyKey_PixelBufferPool

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionPropertyKey_PixelBufferPool()
        Read-only, CVPixelBufferPool API-Since: 8.0
      • kVTDecompressionPropertyKey_PixelBufferPoolIsShared

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionPropertyKey_PixelBufferPoolIsShared()
        Read-only, CFBoolean API-Since: 8.0
      • kVTDecompressionPropertyKey_OutputPoolRequestedMinimumBufferCount

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionPropertyKey_OutputPoolRequestedMinimumBufferCount()
        Read/Write, CFNumberRef API-Since: 8.0
      • kVTDecompressionPropertyKey_NumberOfFramesBeingDecoded

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionPropertyKey_NumberOfFramesBeingDecoded()
        Read-only, CFNumber. API-Since: 8.0
      • kVTDecompressionPropertyKey_MinOutputPresentationTimeStampOfFramesBeingDecoded

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionPropertyKey_MinOutputPresentationTimeStampOfFramesBeingDecoded()
        Read-only, CMTime as CFDictionary. API-Since: 8.0
      • kVTDecompressionPropertyKey_MaxOutputPresentationTimeStampOfFramesBeingDecoded

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionPropertyKey_MaxOutputPresentationTimeStampOfFramesBeingDecoded()
        Read-only, CMTime as CFDictionary. API-Since: 8.0
      • kVTDecompressionPropertyKey_ContentHasInterframeDependencies

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionPropertyKey_ContentHasInterframeDependencies()
        Read-only, CFBoolean API-Since: 8.0
      • kVTDecompressionPropertyKey_RealTime

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionPropertyKey_RealTime()
        Read/write, CFBoolean or NULL, Optional, default is true API-Since: 8.0
      • kVTDecompressionPropertyKey_ThreadCount

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionPropertyKey_ThreadCount()
        Read/write, CFNumber API-Since: 8.0
      • kVTDecompressionPropertyKey_FieldMode

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionPropertyKey_FieldMode()
        Read/write, CFString, one of API-Since: 8.0
      • kVTDecompressionProperty_FieldMode_BothFields

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionProperty_FieldMode_BothFields()
        API-Since: 8.0
      • kVTDecompressionProperty_FieldMode_TopFieldOnly

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionProperty_FieldMode_TopFieldOnly()
        API-Since: 8.0
      • kVTDecompressionProperty_FieldMode_BottomFieldOnly

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionProperty_FieldMode_BottomFieldOnly()
        API-Since: 8.0
      • kVTDecompressionProperty_FieldMode_SingleField

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionProperty_FieldMode_SingleField()
        Most appropriate of either TopFieldOnly or BottomFieldOnly API-Since: 8.0
      • kVTDecompressionProperty_FieldMode_DeinterlaceFields

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionProperty_FieldMode_DeinterlaceFields()
        API-Since: 8.0
      • kVTDecompressionPropertyKey_DeinterlaceMode

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionPropertyKey_DeinterlaceMode()
        Read/write, CFString; only applicable if kVTDecompressionPropertyKey_FieldMode is kVTDecompressionProperty_FieldMode_DeinterlaceFields; supported values may include: API-Since: 8.0
      • kVTDecompressionProperty_DeinterlaceMode_VerticalFilter

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionProperty_DeinterlaceMode_VerticalFilter()
        apply 0.25-0.50-0.25 vertical filter to individual interlaced frames; default mode API-Since: 8.0
      • kVTDecompressionProperty_DeinterlaceMode_Temporal

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionProperty_DeinterlaceMode_Temporal()
        apply filter that makes use of a window of multiple frames to generate deinterlaced results, and provides a better result at the expense of a pipeline delay; this mode is only used if kVTDecodeFrame_EnableTemporalProcessing is set, otherwise a non-temporal mode (eg, VerticalFilter) will be used instead API-Since: 8.0
      • kVTDecompressionPropertyKey_ReducedResolutionDecode

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionPropertyKey_ReducedResolutionDecode()
        Read/write, CFDictionary containing width and height keys and CFNumber values: API-Since: 8.0
      • kVTDecompressionResolutionKey_Width

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionResolutionKey_Width()
        CFNumber API-Since: 8.0
      • kVTDecompressionResolutionKey_Height

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionResolutionKey_Height()
        CFNumber API-Since: 8.0
      • kVTDecompressionPropertyKey_ReducedCoefficientDecode

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionPropertyKey_ReducedCoefficientDecode()
        Read/write, CFNumber API-Since: 8.0
      • kVTDecompressionPropertyKey_ReducedFrameDelivery

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionPropertyKey_ReducedFrameDelivery()
        Read/write, CFNumber in range [0.0,1.0]. API-Since: 8.0
      • kVTDecompressionPropertyKey_OnlyTheseFrames

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionPropertyKey_OnlyTheseFrames()
        Read/write, CFString, supported values may include: API-Since: 8.0
      • kVTDecompressionProperty_OnlyTheseFrames_AllFrames

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionProperty_OnlyTheseFrames_AllFrames()
        API-Since: 8.0
      • kVTDecompressionProperty_OnlyTheseFrames_NonDroppableFrames

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionProperty_OnlyTheseFrames_NonDroppableFrames()
        API-Since: 8.0
      • kVTDecompressionProperty_OnlyTheseFrames_IFrames

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionProperty_OnlyTheseFrames_IFrames()
        API-Since: 8.0
      • kVTDecompressionProperty_OnlyTheseFrames_KeyFrames

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionProperty_OnlyTheseFrames_KeyFrames()
        API-Since: 8.0
      • kVTDecompressionPropertyKey_SuggestedQualityOfServiceTiers

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionPropertyKey_SuggestedQualityOfServiceTiers()
        Read-only, CFArray of CFDictionaries containing property key/value pairs API-Since: 8.0
      • kVTDecompressionPropertyKey_SupportedPixelFormatsOrderedByQuality

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionPropertyKey_SupportedPixelFormatsOrderedByQuality()
        Read-only, CFArray[CFNumber(CMPixelFormatType)] ordered best to worst, optional API-Since: 8.0
      • kVTDecompressionPropertyKey_SupportedPixelFormatsOrderedByPerformance

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionPropertyKey_SupportedPixelFormatsOrderedByPerformance()
        Read-only, CFArray[CFNumber(CMPixelFormatType)] ordered fast to slow, optional API-Since: 8.0
      • kVTDecompressionPropertyKey_PixelFormatsWithReducedResolutionSupport

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionPropertyKey_PixelFormatsWithReducedResolutionSupport()
        Read-only, CFArray[CFNumber(CMPixelFormatType)], optional API-Since: 8.0
      • kVTDecompressionPropertyKey_PixelTransferProperties

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionPropertyKey_PixelTransferProperties()
        Read/Write, CFDictionary containing properties from VTPixelTransferProperties.h. API-Since: 8.0
      • kVTMultiPassStorageCreationOption_DoNotDelete

        @NotNull
        public static @NotNull CFStringRef kVTMultiPassStorageCreationOption_DoNotDelete()
        CFBoolean, false by default. Provided for use when debugging video encoders.
      • kVTVideoEncoderList_CodecType

        @NotNull
        public static @NotNull CFStringRef kVTVideoEncoderList_CodecType()
        CFNumber for four-char-code (eg, 'avc1') API-Since: 8.0
      • kVTVideoEncoderList_EncoderID

        @NotNull
        public static @NotNull CFStringRef kVTVideoEncoderList_EncoderID()
        CFString, reverse-DNS-style unique identifier for this encoder; may be passed as kVTVideoEncoderSpecification_EncoderID API-Since: 8.0
      • kVTVideoEncoderList_CodecName

        @NotNull
        public static @NotNull CFStringRef kVTVideoEncoderList_CodecName()
        CFString, for display to user (eg, "H.264") API-Since: 8.0
      • kVTVideoEncoderList_EncoderName

        @NotNull
        public static @NotNull CFStringRef kVTVideoEncoderList_EncoderName()
        CFString, for display to user (eg, "Apple H.264") API-Since: 8.0
      • kVTVideoEncoderList_DisplayName

        @NotNull
        public static @NotNull CFStringRef kVTVideoEncoderList_DisplayName()
        CFString (same as CodecName if there is only one encoder for that format, otherwise same as EncoderName) API-Since: 8.0
      • kVTPixelTransferPropertyKey_ScalingMode

        @NotNull
        public static @NotNull CFStringRef kVTPixelTransferPropertyKey_ScalingMode()
        Read/write, CFStringRef, one of kVTScalingMode_* API-Since: 9.0
      • kVTScalingMode_Normal

        @NotNull
        public static @NotNull CFStringRef kVTScalingMode_Normal()
        Copy full width and height. Write adjusted clean aperture and pixel aspect ratios to compensate for any change in dimensions. API-Since: 9.0
      • kVTScalingMode_CropSourceToCleanAperture

        @NotNull
        public static @NotNull CFStringRef kVTScalingMode_CropSourceToCleanAperture()
        Crop to remove edge processing region; scale remainder to destination clean aperture. API-Since: 9.0
      • kVTScalingMode_Letterbox

        @NotNull
        public static @NotNull CFStringRef kVTScalingMode_Letterbox()
        Preserve aspect ratio of the source, and fill remaining areas with black in to fit destination dimensions API-Since: 9.0
      • kVTScalingMode_Trim

        @NotNull
        public static @NotNull CFStringRef kVTScalingMode_Trim()
        Preserve aspect ratio of the source, and crop picture to fit destination dimensions API-Since: 9.0
      • kVTPixelTransferPropertyKey_DestinationCleanAperture

        @NotNull
        public static @NotNull CFStringRef kVTPixelTransferPropertyKey_DestinationCleanAperture()
        Read/write, CFDictionary with same keys as used in kCVImageBufferCleanApertureKey dictionary. Used as applicable to current kVTPixelTransferPropertyKey_ScalingMode value. API-Since: 9.0
      • kVTPixelTransferPropertyKey_DestinationPixelAspectRatio

        @NotNull
        public static @NotNull CFStringRef kVTPixelTransferPropertyKey_DestinationPixelAspectRatio()
        Read/write, CFDictionary with same keys as used in kCVImageBufferPixelAspectRatioKey dictionary. Used as applicable to current kVTPixelTransferPropertyKey_ScalingMode value. API-Since: 9.0
      • kVTPixelTransferPropertyKey_DownsamplingMode

        @NotNull
        public static @NotNull CFStringRef kVTPixelTransferPropertyKey_DownsamplingMode()
        Read/write, CFStringRef, one of: API-Since: 9.0
      • kVTDownsamplingMode_Decimate

        @NotNull
        public static @NotNull CFStringRef kVTDownsamplingMode_Decimate()
        Default, decimate extra samples API-Since: 9.0
      • kVTDownsamplingMode_Average

        @NotNull
        public static @NotNull CFStringRef kVTDownsamplingMode_Average()
        Average missing samples (default center) API-Since: 9.0
      • kVTPixelTransferPropertyKey_DestinationColorPrimaries

        @NotNull
        public static @NotNull CFStringRef kVTPixelTransferPropertyKey_DestinationColorPrimaries()
        Read/write, CFString (see kCMFormatDescriptionExtension_ColorPrimaries), Optional API-Since: 9.0
      • kVTPixelTransferPropertyKey_DestinationTransferFunction

        @NotNull
        public static @NotNull CFStringRef kVTPixelTransferPropertyKey_DestinationTransferFunction()
        Read/write, CFString (see kCMFormatDescriptionExtension_TransferFunction), Optional API-Since: 9.0
      • kVTPixelTransferPropertyKey_DestinationICCProfile

        @NotNull
        public static @NotNull CFStringRef kVTPixelTransferPropertyKey_DestinationICCProfile()
        Read/write, CFData (see kCMFormatDescriptionExtension_ICCProfile), Optional API-Since: 9.0
      • kVTPixelTransferPropertyKey_DestinationYCbCrMatrix

        @NotNull
        public static @NotNull CFStringRef kVTPixelTransferPropertyKey_DestinationYCbCrMatrix()
        Read/write, CFString (see kCMFormatDescriptionExtension_YCbCrMatrix), Optional API-Since: 9.0
      • VTIsHardwareDecodeSupported

        public static byte VTIsHardwareDecodeSupported​(int codecType)
        [@function] VTIsHardwareDecodeSupported Indicates whether the current system supports hardware decode for a given codec This routine reports whether the current system supports hardware decode. Using this information, clients can make informed decisions regarding remote assets to load, favoring alternate encodings when hardware decode is not supported. This call returning true does not guarantee that hardware decode resources will be available at all times. API-Since: 11.0
      • VTCopySupportedPropertyDictionaryForEncoder

        public static int VTCopySupportedPropertyDictionaryForEncoder​(int width,
                                                                      int height,
                                                                      int codecType,
                                                                      @Nullable
                                                                      @Nullable CFDictionaryRef encoderSpecification,
                                                                      @Nullable
                                                                      @Nullable org.moe.natj.general.ptr.Ptr<CFStringRef> encoderIDOut,
                                                                      @Nullable
                                                                      @Nullable org.moe.natj.general.ptr.Ptr<CFDictionaryRef> supportedPropertiesOut)
        [@function] VTCopySupportedPropertyDictionaryForEncoder Builds a list of supported properties and encoder ID for an encoder The caller must CFRelease the returned supported properties and encoder ID. API-Since: 11.0
      • kVTProfileLevel_HEVC_Main_AutoLevel

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_HEVC_Main_AutoLevel()
        API-Since: 11.0
      • kVTProfileLevel_HEVC_Main10_AutoLevel

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_HEVC_Main10_AutoLevel()
        API-Since: 11.0
      • kVTCompressionPropertyKey_BaseLayerFrameRate

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_BaseLayerFrameRate()
        Read/write, CFNumber, Optional API-Since: 11.0
      • kVTCompressionPropertyKey_MasteringDisplayColorVolume

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_MasteringDisplayColorVolume()
        Read/write, CFData(24 bytes) (see kCMFormatDescriptionExtension_MasteringDisplayColorVolume), Optional API-Since: 11.0
      • kVTCompressionPropertyKey_ContentLightLevelInfo

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_ContentLightLevelInfo()
        Read/write, CFData(4 bytes) (see kCMFormatDescriptionExtension_ContentLightLevelInfo), Optional API-Since: 11.0
      • kVTCompressionPropertyKey_EncoderID

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_EncoderID()
        CFStringRef API-Since: 11.0
      • kVTDecompressionProperty_TemporalLevelLimit

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionProperty_TemporalLevelLimit()
        Read/write, CFNumber API-Since: 11.0
      • kVTCompressionPropertyKey_AllowOpenGOP

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_AllowOpenGOP()
        Read/Write, CFBoolean, Optional API-Since: 12.0
      • kVTCompressionPropertyKey_TargetQualityForAlpha

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_TargetQualityForAlpha()
        Read/write, CFNumber, Optional, NULL by default API-Since: 13.0
      • kVTCompressionPropertyKey_MaximizePowerEfficiency

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_MaximizePowerEfficiency()
        Read/write, CFBoolean or NULL, Optional, default is false API-Since: 12.0
      • kVTVideoEncoderSpecification_RequiredEncoderGPURegistryID

        @NotNull
        public static @NotNull CFStringRef kVTVideoEncoderSpecification_RequiredEncoderGPURegistryID()
        CFNumber, Optional
      • kVTVideoEncoderSpecification_PreferredEncoderGPURegistryID

        @NotNull
        public static @NotNull CFStringRef kVTVideoEncoderSpecification_PreferredEncoderGPURegistryID()
        CFNumber, Optional
      • kVTCompressionPropertyKey_UsingGPURegistryID

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_UsingGPURegistryID()
        CFNumberRef, Read;
      • kVTCompressionPropertyKey_GammaLevel

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_GammaLevel()
        Read/write, CFNumber (see kCMFormatDescriptionExtension_GammaLevel), Optional
      • kVTCompressionPropertyKey_AlphaChannelMode

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_AlphaChannelMode()
        Read/write, Optional, CFString(kVTAlphaChannelMode_*); if property is not set, matches first source frame's attachment; if that's also not set, defaults to premultiplied alpha API-Since: 13.0
      • kVTAlphaChannelMode_StraightAlpha

        @NotNull
        public static @NotNull CFStringRef kVTAlphaChannelMode_StraightAlpha()
        API-Since: 13.0
      • kVTAlphaChannelMode_PremultipliedAlpha

        @NotNull
        public static @NotNull CFStringRef kVTAlphaChannelMode_PremultipliedAlpha()
        API-Since: 13.0
      • kVTDecompressionPropertyKey_MaximizePowerEfficiency

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionPropertyKey_MaximizePowerEfficiency()
        Read/write, CFBoolean or NULL, Optional, default is false API-Since: 8.0
      • kVTVideoDecoderSpecification_RequiredDecoderGPURegistryID

        @NotNull
        public static @NotNull CFStringRef kVTVideoDecoderSpecification_RequiredDecoderGPURegistryID()
        CFNumber, Optional
      • kVTVideoDecoderSpecification_PreferredDecoderGPURegistryID

        @NotNull
        public static @NotNull CFStringRef kVTVideoDecoderSpecification_PreferredDecoderGPURegistryID()
        CFNumber, Optional
      • kVTDecompressionPropertyKey_UsingGPURegistryID

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionPropertyKey_UsingGPURegistryID()
        CFNumberRef, Read;
      • kVTVideoEncoderList_GPURegistryID

        @NotNull
        public static @NotNull CFStringRef kVTVideoEncoderList_GPURegistryID()
        optional. CFNumberRef. If encoder is associated with a specific GPU, this corresponds to the GPU registryID as reported by [MTLDevice registryID].
      • kVTVideoEncoderList_SupportedSelectionProperties

        @NotNull
        public static @NotNull CFStringRef kVTVideoEncoderList_SupportedSelectionProperties()
        optional. CFDictionary. If present, represents a subset of supported properties that may be useful during encoder selection API-Since: 13.0
      • kVTVideoEncoderList_PerformanceRating

        @NotNull
        public static @NotNull CFStringRef kVTVideoEncoderList_PerformanceRating()
        optional. CFNumber. If present, indicates a relative rating value for the encoder compared to other encoders of the same format. API-Since: 13.0
      • kVTVideoEncoderList_QualityRating

        @NotNull
        public static @NotNull CFStringRef kVTVideoEncoderList_QualityRating()
        optional. CFNumber. If present, indicates a Quality Rating value for the encoder relative to other encoders of the same format. This is a highly generalized value and different encoders may have strengths at different resolutions and bitrates. API-Since: 13.0
      • kVTVideoEncoderList_InstanceLimit

        @NotNull
        public static @NotNull CFStringRef kVTVideoEncoderList_InstanceLimit()
        optional. CFBoolean. If present and set to kCFBooleanTrue, there is a global instance limit cap on this encoder. Indicates that an encoder is a scarce resource which may potentially be unavailable. API-Since: 13.0
      • kVTVideoEncoderList_IsHardwareAccelerated

        @NotNull
        public static @NotNull CFStringRef kVTVideoEncoderList_IsHardwareAccelerated()
        optional. CFBoolean. If present and set to kCFBooleanTrue, indicates that the encoder is hardware accelerated. API-Since: 13.0
      • kVTPixelTransferPropertyKey_RealTime

        @NotNull
        public static @NotNull CFStringRef kVTPixelTransferPropertyKey_RealTime()
        Read/write, CFBoolean, default NULL
      • kVTCompressionPropertyKey_PrioritizeEncodingSpeedOverQuality

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_PrioritizeEncodingSpeedOverQuality()
        CFBoolean, Optional API-Since: 14.0
      • kVTCompressionPropertyKey_HDRMetadataInsertionMode

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_HDRMetadataInsertionMode()
        Read/write, CFString, Optional, default is kVTHDRMetadataInsertionMode_Auto API-Since: 14.0
      • kVTHDRMetadataInsertionMode_None

        @NotNull
        public static @NotNull CFStringRef kVTHDRMetadataInsertionMode_None()
        API-Since: 14.0
      • kVTHDRMetadataInsertionMode_Auto

        @NotNull
        public static @NotNull CFStringRef kVTHDRMetadataInsertionMode_Auto()
        API-Since: 14.0
      • kVTCompressionPropertyKey_PreserveDynamicHDRMetadata

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_PreserveDynamicHDRMetadata()
        CFBoolean, Write, Optional API-Since: 14.0
      • kVTDecompressionPropertyKey_PropagatePerFrameHDRDisplayMetadata

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionPropertyKey_PropagatePerFrameHDRDisplayMetadata()
        Read/write, CFBoolean, Optional, default is kCFBooleanTrue API-Since: 14.0
      • kVTVideoEncoderList_SupportsFrameReordering

        @NotNull
        public static @NotNull CFStringRef kVTVideoEncoderList_SupportsFrameReordering()
        optional. CFBoolean. By default, this is assumed to be true if not present. If present and set to kCFBooleanFalse, indicates that the encoder will not use B frames. API-Since: 14.0
      • kVTProfileLevel_H264_ConstrainedBaseline_AutoLevel

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H264_ConstrainedBaseline_AutoLevel()
        API-Since: 15.0
      • kVTProfileLevel_H264_ConstrainedHigh_AutoLevel

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_H264_ConstrainedHigh_AutoLevel()
        API-Since: 15.0
      • kVTCompressionPropertyKey_BaseLayerFrameRateFraction

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_BaseLayerFrameRateFraction()
        Read/write, CFNumber, Optional API-Since: 14.5
      • kVTCompressionPropertyKey_BaseLayerBitRateFraction

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_BaseLayerBitRateFraction()
        Read/write, CFNumber, Optional API-Since: 15.0
      • kVTCompressionPropertyKey_SupportsBaseFrameQP

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_SupportsBaseFrameQP()
        Read only, CFBoolean, Optional, false by default API-Since: 15.0
      • kVTEncodeFrameOptionKey_BaseFrameQP

        @NotNull
        public static @NotNull CFStringRef kVTEncodeFrameOptionKey_BaseFrameQP()
        CFNumberRef, Optional API-Since: 15.0
      • kVTVideoEncoderSpecification_EnableLowLatencyRateControl

        @NotNull
        public static @NotNull CFStringRef kVTVideoEncoderSpecification_EnableLowLatencyRateControl()
        Read/write, CFBoolean, Optional API-Since: 14.5
      • kVTCompressionPropertyKey_MaxAllowedFrameQP

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_MaxAllowedFrameQP()
        Read/write, CFNumberRef, Optional API-Since: 15.0
      • kVTCompressionPropertyKey_EnableLTR

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_EnableLTR()
        Read/write, CFBoolean, Optional API-Since: 15.0
      • kVTEncodeFrameOptionKey_AcknowledgedLTRTokens

        @NotNull
        public static @NotNull CFStringRef kVTEncodeFrameOptionKey_AcknowledgedLTRTokens()
        CFArray[CFNumberRef], Optional API-Since: 15.0
      • kVTEncodeFrameOptionKey_ForceLTRRefresh

        @NotNull
        public static @NotNull CFStringRef kVTEncodeFrameOptionKey_ForceLTRRefresh()
        CFNumberRef, Optional API-Since: 15.0
      • kVTSampleAttachmentKey_RequireLTRAcknowledgementToken

        @NotNull
        public static @NotNull CFStringRef kVTSampleAttachmentKey_RequireLTRAcknowledgementToken()
        CFNumberRef, Optional API-Since: 15.0
      • kVTVideoEncoderListOption_IncludeStandardDefinitionDVEncoders

        @NotNull
        public static @NotNull CFStringRef kVTVideoEncoderListOption_IncludeStandardDefinitionDVEncoders()
        optional. CFBoolean. By default, DV encoders will not be included in the list. If present and set to kCFBooleanTrue, DV encoders will be included. API-Since: 15.0
      • VTPixelTransferSessionCreate

        public static int VTPixelTransferSessionCreate​(@Nullable
                                                       @Nullable CFAllocatorRef allocator,
                                                       @NotNull
                                                       @NotNull org.moe.natj.general.ptr.Ptr<VTPixelTransferSessionRef> pixelTransferSessionOut)
        [@function] VTPixelTransferSessionCreate Creates a session for transferring images between CVPixelBuffers. The function creates a session for transferring images between CVPixelBuffers.
        Parameters:
        allocator - An allocator for the session. Pass NULL to use the default allocator.
        pixelTransferSessionOut - Points to a variable to receive the new pixel transfer session.
      • VTPixelTransferSessionInvalidate

        public static void VTPixelTransferSessionInvalidate​(@NotNull
                                                            @NotNull VTPixelTransferSessionRef session)
        [@function] VTPixelTransferSessionInvalidate Tears down a pixel transfer session. When you are done with a pixel transfer session you created, call VTPixelTransferSessionInvalidate to tear it down and then CFRelease to release your object reference. When a pixel transfer session's retain count reaches zero, it is automatically invalidated, but since sessions may be retained by multiple parties, it can be hard to predict when this will happen. Calling VTPixelTransferSessionInvalidate ensures a deterministic, orderly teardown.
      • VTPixelTransferSessionGetTypeID

        public static long VTPixelTransferSessionGetTypeID()
        [@function] VTPixelTransferSessionGetTypeID Returns the CFTypeID for pixel transfer sessions.
      • VTPixelTransferSessionTransferImage

        public static int VTPixelTransferSessionTransferImage​(@NotNull
                                                              @NotNull VTPixelTransferSessionRef session,
                                                              @NotNull
                                                              @NotNull CVBufferRef sourceBuffer,
                                                              @NotNull
                                                              @NotNull CVBufferRef destinationBuffer)
        [@function] VTPixelTransferSessionTransferImage Copies and/or converts an image from one pixel buffer to another. By default, the full width and height of sourceBuffer are scaled to the full width and height of destinationBuffer. By default, all existing attachments on destinationBuffer are removed and new attachments are set describing the transferred image. Unrecognised attachments on sourceBuffer will be propagated to destinationBuffer. Some properties will modify this behaviour; see VTPixelTransferProperties.h for more details.
        Parameters:
        session - The pixel transfer session.
        sourceBuffer - The source buffer.
        destinationBuffer - The destination buffer.
        Returns:
        If the transfer was successful, noErr; otherwise an error code, such as kVTPixelTransferNotSupportedErr.
      • VTPixelRotationSessionCreate

        public static int VTPixelRotationSessionCreate​(@Nullable
                                                       @Nullable CFAllocatorRef allocator,
                                                       @NotNull
                                                       @NotNull org.moe.natj.general.ptr.Ptr<VTPixelRotationSessionRef> pixelRotationSessionOut)
        [@function] VTPixelRotationSessionCreate Creates a session for rotating images between CVPixelBuffers.
        Parameters:
        allocator - An allocator for the session. Pass NULL to use the default allocator.
        pixelRotationSessionOut - Points to a variable to receive the new pixel rotation session. API-Since: 16.0
      • VTPixelRotationSessionInvalidate

        public static void VTPixelRotationSessionInvalidate​(@NotNull
                                                            @NotNull VTPixelRotationSessionRef session)
        [@function] VTPixelRotationSessionInvalidate Tears down a pixel rotation session. When you are done with an image rotation session you created, call VTPixelRotationSessionInvalidate to tear it down and then VTPixelRotationSessionRelease to release your object reference. When an pixel rotation session's retain count reaches zero, it is automatically invalidated, but since sessions may be retained by multiple parties, it can be hard to predict when this will happen. Calling VTPixelRotationSessionInvalidate ensures a deterministic, orderly teardown. API-Since: 16.0
      • VTPixelRotationSessionGetTypeID

        public static long VTPixelRotationSessionGetTypeID()
        [@function] VTPixelRotationSessionGetTypeID Returns the CFTypeID for pixel rotation sessions. API-Since: 16.0
      • VTPixelRotationSessionRotateImage

        public static int VTPixelRotationSessionRotateImage​(@NotNull
                                                            @NotNull VTPixelRotationSessionRef session,
                                                            @NotNull
                                                            @NotNull CVBufferRef sourceBuffer,
                                                            @NotNull
                                                            @NotNull CVBufferRef destinationBuffer)
        [@function] VTPixelRotationSessionRotateImage Rotates a pixel buffer. Rotates sourceBuffer and places the output in destinationBuffer. For 90 and 270 degree rotations, the width and height of destinationBuffer must be the inverse of sourceBuffer. For 180 degree rotations, the width and height of destinationBuffer and sourceBuffer must match. By default, all existing attachments on destinationBuffer are removed and new attachments are set describing the transferred image. Unrecognised attachments on sourceBuffer will be propagated to destinationBuffer. Some properties may modify this behaviour; see VTPixelRotationProperties.h for more details.
        Parameters:
        session - The pixel rotation session.
        sourceBuffer - The source buffer.
        destinationBuffer - The destination buffer.
        Returns:
        If the transfer was successful, noErr; otherwise an error code, such as kVTPixelRotationNotSupportedErr. API-Since: 16.0
      • kVTCompressionPropertyKey_ConstantBitRate

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_ConstantBitRate()
        CFNumber bits per second, Optional API-Since: 16.0
      • kVTCompressionPropertyKey_EstimatedAverageBytesPerFrame

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_EstimatedAverageBytesPerFrame()
        Read Only, CFNumber (bytes per frame) API-Since: 16.0
      • kVTProfileLevel_HEVC_Main42210_AutoLevel

        @NotNull
        public static @NotNull CFStringRef kVTProfileLevel_HEVC_Main42210_AutoLevel()
        API-Since: 15.4
      • kVTCompressionPropertyKey_OutputBitDepth

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_OutputBitDepth()
        Read/write, Optional, CFNumber, NULL by default API-Since: 15.4
      • kVTCompressionPropertyKey_PreserveAlphaChannel

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_PreserveAlphaChannel()
        Read/write, CFBoolean, Optional, (effectively) kCFBooleanTrue by default API-Since: 16.0
      • kVTCompressionPropertyKey_ReferenceBufferCount

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_ReferenceBufferCount()
        CFNumber, Optional API-Since: 16.0
      • kVTCompressionPropertyKey_MinAllowedFrameQP

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_MinAllowedFrameQP()
        Read/write, CFNumberRef, Optional API-Since: 16.0
      • kVTPixelRotationPropertyKey_Rotation

        @NotNull
        public static @NotNull CFStringRef kVTPixelRotationPropertyKey_Rotation()
        [@constant] kVTPixelRotationPropertyKey_Rotation Specifies the amount of rotation in degrees. Specifies the amount of rotation to apply when copying source to destination. Valid values: kVTRotation_0, kVTRotation_CW90, kVTRotation_180, and kVTRotation_CCW90 default is kVTRotation_0. API-Since: 16.0
      • kVTRotation_0

        @NotNull
        public static @NotNull CFStringRef kVTRotation_0()
        API-Since: 16.0
      • kVTRotation_CW90

        @NotNull
        public static @NotNull CFStringRef kVTRotation_CW90()
        API-Since: 16.0
      • kVTRotation_180

        @NotNull
        public static @NotNull CFStringRef kVTRotation_180()
        API-Since: 16.0
      • kVTRotation_CCW90

        @NotNull
        public static @NotNull CFStringRef kVTRotation_CCW90()
        API-Since: 16.0
      • kVTPixelRotationPropertyKey_FlipHorizontalOrientation

        @NotNull
        public static @NotNull CFStringRef kVTPixelRotationPropertyKey_FlipHorizontalOrientation()
        [@constant] kVTPixelRotationPropertyKey_FlipHorizontalOrientation Specifies the horizontal flip. kVTPixelRotationPropertyKey_FlipHorizontalOrientation must pass a CFBoolean as value. true will apply a horizontal flip after the rotation. default is false; API-Since: 16.0
      • kVTPixelRotationPropertyKey_FlipVerticalOrientation

        @NotNull
        public static @NotNull CFStringRef kVTPixelRotationPropertyKey_FlipVerticalOrientation()
        [@constant] kVTPixelRotationPropertyKey_FlipVerticalOrientation Specifies the vertical flip. kVTPixelRotationPropertyKey_FlipVerticalOrientation must pass a CFBoolean as value. true will apply a vertical flip after the rotation. default is false; API-Since: 16.0
      • VTIsStereoMVHEVCEncodeSupported

        public static byte VTIsStereoMVHEVCEncodeSupported()
        [@function] VTIsStereoMVHEVCEncodeSupported Indicates whether the current system supports stereo MV-HEVC encode. This call returning true does not guarantee that encode resources will be available at all times. API-Since: 17.0
      • VTCompressionSessionEncodeMultiImageFrame

        public static int VTCompressionSessionEncodeMultiImageFrame​(@NotNull
                                                                    @NotNull VTCompressionSessionRef session,
                                                                    @NotNull
                                                                    @NotNull CMTaggedBufferGroupRef taggedBufferGroup,
                                                                    CMTime presentationTimeStamp,
                                                                    CMTime duration,
                                                                    @Nullable
                                                                    @Nullable CFDictionaryRef frameProperties,
                                                                    @Nullable
                                                                    @Nullable org.moe.natj.general.ptr.VoidPtr sourceFrameRefcon,
                                                                    @Nullable
                                                                    @Nullable org.moe.natj.general.ptr.IntPtr infoFlagsOut)
        [@function] VTCompressionSessionEncodeMultiImageFrame Call this function to present a multi-image frame to the compression session. Encoded frames may or may not be output before the function returns. The client should not modify the pixel data after making this call. The session and/or encoder will retain the image buffer as long as necessary.
        Parameters:
        session - The compression session.
        taggedBufferGroup - A CMTaggedBufferGroup containing the multiple images for a video frame to be compressed.
        presentationTimeStamp - The presentation timestamp for this frame, to be attached to the sample buffer. Each presentation timestamp passed to a session must be greater than the previous one.
        duration - The presentation duration for this frame, to be attached to the sample buffer. If you do not have duration information, pass kCMTimeInvalid.
        frameProperties - Contains key/value pairs specifying additional properties for encoding this frame. Note that some session properties may also be changed between frames. Such changes have effect on subsequently encoded frames.
        sourceFrameRefcon - Your reference value for the frame, which will be passed to the output callback function.
        infoFlagsOut - Points to a VTEncodeInfoFlags to receive information about the encode operation. The kVTEncodeInfo_Asynchronous bit may be set if the encode is (or was) running asynchronously. The kVTEncodeInfo_FrameDropped bit may be set if the frame was dropped (synchronously). Pass NULL if you do not want to receive this information. API-Since: 17.0
      • VTCompressionSessionEncodeMultiImageFrameWithOutputHandler

        public static int VTCompressionSessionEncodeMultiImageFrameWithOutputHandler​(@NotNull
                                                                                     @NotNull VTCompressionSessionRef session,
                                                                                     @NotNull
                                                                                     @NotNull CMTaggedBufferGroupRef taggedBufferGroup,
                                                                                     CMTime presentationTimeStamp,
                                                                                     CMTime duration,
                                                                                     @Nullable
                                                                                     @Nullable CFDictionaryRef frameProperties,
                                                                                     @Nullable
                                                                                     @Nullable org.moe.natj.general.ptr.IntPtr infoFlagsOut,
                                                                                     @NotNull
                                                                                     @NotNull VideoToolbox.Block_VTCompressionSessionEncodeMultiImageFrameWithOutputHandler outputHandler)
        [@function] VTCompressionSessionEncodeMultiImageFrameWithOutputHandler Call this function to present a multi-image frame to the compression session. Encoded frames may or may not be output before the function returns. The client should not modify the pixel data after making this call. The session and/or encoder will retain the image buffer as long as necessary. Cannot be called with a session created with a VTCompressionOutputCallback.
        Parameters:
        session - The compression session.
        taggedBufferGroup - A CMTaggedBufferGroup containing the multiple images for a video frame to be compressed.
        presentationTimeStamp - The presentation timestamp for this frame, to be attached to the sample buffer. Each presentation timestamp passed to a session must be greater than the previous one.
        duration - The presentation duration for this frame, to be attached to the sample buffer. If you do not have duration information, pass kCMTimeInvalid.
        frameProperties - Contains key/value pairs specifying additional properties for encoding this frame. Note that some session properties may also be changed between frames. Such changes have effect on subsequently encoded frames.
        infoFlagsOut - Points to a VTEncodeInfoFlags to receive information about the encode operation. The kVTEncodeInfo_Asynchronous bit may be set if the encode is (or was) running asynchronously. The kVTEncodeInfo_FrameDropped bit may be set if the frame was dropped (synchronously). Pass NULL if you do not want to receive this information.
        outputHandler - The block to be called when encoding the frame is completed. This block may be called asynchronously, on a different thread from the one that calls VTCompressionSessionEncodeMultiImageFrameWithOutputHandler. API-Since: 17.0
      • VTIsStereoMVHEVCDecodeSupported

        public static byte VTIsStereoMVHEVCDecodeSupported()
        [@function] VTIsStereoMVHEVCDecodeSupported Indicates whether the current system supports stereo MV-HEVC decode. This call returning true does not guarantee that decode resources will be available at all times. API-Since: 17.0
      • VTDecompressionSessionSetMultiImageCallback

        public static int VTDecompressionSessionSetMultiImageCallback​(@NotNull
                                                                      @NotNull VTDecompressionSessionRef decompressionSession,
                                                                      @NotNull
                                                                      @NotNull VideoToolbox.Function_VTDecompressionSessionSetMultiImageCallback outputMultiImageCallback,
                                                                      @Nullable
                                                                      @Nullable org.moe.natj.general.ptr.VoidPtr outputMultiImageRefcon)
        [@function] VTDecompressionSessionSetMultiImageCallback Provides a callback capable of receiving multiple images for individual DecodeFrame requests. The outputMultiImageCallback will be used when the video decoder outputs CMTaggedBufferGroups. When installed, outputMultiImageCallback will also be used when DecodeFrame operations fail and return a nonzero status. The original single-image callback will only be used in the case where the video decoder outputs a CVImageBuffer instead of a CMTaggedBufferGroup. Terminology note: in multi-image decompression, a single video sample (from one CMSampleBuffer) contains a single frame (with one PTS) that is decoded to produce multiple images. API-Since: 17.0
      • VTDecompressionSessionDecodeFrameWithMultiImageCapableOutputHandler

        public static int VTDecompressionSessionDecodeFrameWithMultiImageCapableOutputHandler​(@NotNull
                                                                                              @NotNull VTDecompressionSessionRef session,
                                                                                              @NotNull
                                                                                              @NotNull CMSampleBufferRef sampleBuffer,
                                                                                              int decodeFlags,
                                                                                              @Nullable
                                                                                              @Nullable org.moe.natj.general.ptr.IntPtr infoFlagsOut,
                                                                                              @NotNull
                                                                                              @NotNull VideoToolbox.Block_VTDecompressionSessionDecodeFrameWithMultiImageCapableOutputHandler multiImageCapableOutputHandler)
        [@function] VTDecompressionSessionDecodeFrameWithMultiImageCapableOutputHandler Decompresses a video frame. Cannot be called with a session created with a VTDecompressionOutputCallbackRecord. If the VTDecompressionSessionDecodeFrameWithOutputHandler call returns an error, the block will not be called.
        Parameters:
        session - The decompression session.
        sampleBuffer - A CMSampleBuffer containing one or more video frames.
        decodeFlags - A bitfield of directives to the decompression session and decoder. The kVTDecodeFrame_EnableAsynchronousDecompression bit indicates whether the video decoder may decompress the frame asynchronously. The kVTDecodeFrame_EnableTemporalProcessing bit indicates whether the decoder may delay calls to the output callback so as to enable processing in temporal (display) order. If both flags are clear, the decompression shall complete and your output callback function will be called before VTDecompressionSessionDecodeFrame returns. If either flag is set, VTDecompressionSessionDecodeFrame may return before the output callback function is called.
        infoFlagsOut - Points to a VTDecodeInfoFlags to receive information about the decode operation. The kVTDecodeInfo_Asynchronous bit may be set if the decode is (or was) running asynchronously. The kVTDecodeInfo_FrameDropped bit may be set if the frame was dropped (synchronously). Pass NULL if you do not want to receive this information.
        multiImageCapableHandler - The block to be called when decoding the frame is completed. If the VTDecompressionSessionDecodeFrameWithMultiImageCapableOutputHandler call returns an error, the block will not be called. API-Since: 17.0
      • kVTCompressionPropertyKey_MVHEVCVideoLayerIDs

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_MVHEVCVideoLayerIDs()
        Read/write, CFArray(CFNumber), Optional API-Since: 17.0
      • kVTCompressionPropertyKey_MVHEVCViewIDs

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_MVHEVCViewIDs()
        Read/write, CFArray(CFNumber), Optional API-Since: 17.0
      • kVTCompressionPropertyKey_MVHEVCLeftAndRightViewIDs

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_MVHEVCLeftAndRightViewIDs()
        Read/write, CFArray[CFNumber(left view ID), CFNumber(right view ID)], Optional API-Since: 17.0
      • kVTCompressionPropertyKey_HeroEye

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_HeroEye()
        CFString, see kCMFormatDescriptionExtension_HeroEye API-Since: 17.0
      • kVTCompressionPropertyKey_StereoCameraBaseline

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_StereoCameraBaseline()
        CFNumber(uint32), see kCMFormatDescriptionExtension_StereoCameraBaseline API-Since: 17.0
      • kVTCompressionPropertyKey_HorizontalDisparityAdjustment

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_HorizontalDisparityAdjustment()
        CFNumber(int32), see kCMFormatDescriptionExtension_HorizontalDisparityAdjustment API-Since: 17.0
      • kVTCompressionPropertyKey_HasLeftStereoEyeView

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_HasLeftStereoEyeView()
        CFBoolean, see kCMFormatDescriptionExtension_HasLeftStereoEyeView API-Since: 17.0
      • kVTCompressionPropertyKey_HasRightStereoEyeView

        @NotNull
        public static @NotNull CFStringRef kVTCompressionPropertyKey_HasRightStereoEyeView()
        CFBoolean, see kCMFormatDescriptionExtension_HasRightStereoEyeView API-Since: 17.0
      • kVTVideoDecoderSpecification_EnableHardwareAcceleratedVideoDecoder

        @NotNull
        public static @NotNull CFStringRef kVTVideoDecoderSpecification_EnableHardwareAcceleratedVideoDecoder()
        CFBoolean, Optional, true by default API-Since: 17.0
      • kVTVideoDecoderSpecification_RequireHardwareAcceleratedVideoDecoder

        @NotNull
        public static @NotNull CFStringRef kVTVideoDecoderSpecification_RequireHardwareAcceleratedVideoDecoder()
        CFBoolean, Optional API-Since: 17.0
      • kVTDecompressionPropertyKey_UsingHardwareAcceleratedVideoDecoder

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionPropertyKey_UsingHardwareAcceleratedVideoDecoder()
        CFBoolean, Read; assumed false by default API-Since: 17.0
      • kVTDecompressionPropertyKey_GeneratePerFrameHDRDisplayMetadata

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionPropertyKey_GeneratePerFrameHDRDisplayMetadata()
        CFBoolean, Read/Write, Optional, kCFBooleanFalse by default API-Since: 17.0
      • kVTDecompressionPropertyKey_RequestedMVHEVCVideoLayerIDs

        @NotNull
        public static @NotNull CFStringRef kVTDecompressionPropertyKey_RequestedMVHEVCVideoLayerIDs()
        Read/write, CFArray(CFNumber), Optional API-Since: 17.0