Class CoreVideo


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

      • CVBufferRetain

        public static CVBufferRef CVBufferRetain​(CVBufferRef buffer)
        [@function] CVBufferRetain Retains a CVBuffer object Like CFRetain CVBufferRetain increments the retain count of a CVBuffer object. In contrast to the CF call it is NULL safe.
        Parameters:
        buffer - A CVBuffer object that you want to retain.
        Returns:
        A CVBuffer object that is the same as the passed in buffer.
      • CVBufferRelease

        public static void CVBufferRelease​(CVBufferRef buffer)
        [@function] CVBufferRelease Release a CVBuffer object Like CFRetain CVBufferRetain decrements the retain count of a CVBuffer object. If that count consequently becomes zero the memory allocated to the object is deallocated and the object is destroyed. In contrast to the CF call it is NULL safe.
        Parameters:
        buffer - A CVBuffer object that you want to release.
      • CVBufferSetAttachment

        public static void CVBufferSetAttachment​(CVBufferRef buffer,
                                                 CFStringRef key,
                                                 org.moe.natj.general.ptr.ConstVoidPtr value,
                                                 int attachmentMode)
        [@function] CVBufferSetAttachment Sets or adds a attachment of a CVBuffer object You can attach any CF object to a CVBuffer object to store additional information. CVBufferGetAttachment stores an attachement identified by a key. If the key doesn't exist, the attachment will be added. If the key does exist, the existing attachment will be replaced. In bouth cases the retain count of the attachment will be incremented. The value can be any CFType but nil has no defined behavior.
        Parameters:
        buffer - Target CVBuffer object.
        key - Key in form of a CFString identifying the desired attachment.
        value - Attachment in form af a CF object.
        attachmentMode - Specifies which attachment mode is desired for this attachment. A particular attachment key may only exist in a single mode at a time.
      • CVBufferGetAttachment

        public static org.moe.natj.general.ptr.ConstVoidPtr CVBufferGetAttachment​(CVBufferRef buffer,
                                                                                  CFStringRef key,
                                                                                  org.moe.natj.general.ptr.IntPtr attachmentMode)
        [@function] CVBufferGetAttachment Returns a specific attachment of a CVBuffer object You can attach any CF object to a CVBuffer object to store additional information. CVBufferGetAttachment retrieves an attachement identified by a key.
        Parameters:
        buffer - Target CVBuffer object.
        key - Key in form of a CFString identifying the desired attachment.
        attachmentMode - . Returns the mode of the attachment, if desired. May be NULL.
        Returns:
        If found the attachment object
      • CVBufferRemoveAttachment

        public static void CVBufferRemoveAttachment​(CVBufferRef buffer,
                                                    CFStringRef key)
        [@function] CVBufferRemoveAttachment Removes a specific attachment of a CVBuffer object CVBufferRemoveAttachment removes an attachement identified by a key. If found the attachement is removed and the retain count decremented.
        Parameters:
        buffer - Target CVBuffer object.
        key - Key in form of a CFString identifying the desired attachment.
      • CVBufferRemoveAllAttachments

        public static void CVBufferRemoveAllAttachments​(CVBufferRef buffer)
        [@function] CVBufferRemoveAllAttachments Removes all attachments of a CVBuffer object While CVBufferRemoveAttachment removes a specific attachement identified by a key CVBufferRemoveAllAttachments removes all attachments of a buffer and decrements their retain counts.
        Parameters:
        buffer - Target CVBuffer object.
      • CVBufferGetAttachments

        public static CFDictionaryRef CVBufferGetAttachments​(CVBufferRef buffer,
                                                             int attachmentMode)
        [@function] CVBufferGetAttachments Returns all attachments of a CVBuffer object CVBufferGetAttachments is a convenience call that returns all attachments with their corresponding keys in a CFDictionary.
        Parameters:
        buffer - Target CVBuffer object.
        Returns:
        A CFDictionary with all buffer attachments identified by there keys. If no attachment is present, the dictionary is empty. Returns NULL for invalid attachment mode.
      • CVBufferSetAttachments

        public static void CVBufferSetAttachments​(CVBufferRef buffer,
                                                  CFDictionaryRef theAttachments,
                                                  int attachmentMode)
        [@function] CVBufferSetAttachments Sets a set of attachments for a CVBuffer CVBufferSetAttachments is a convenience call that in turn calls CVBufferSetAttachment for each key and value in the given dictionary. All key value pairs must be in the root level of the dictionary.
        Parameters:
        buffer - Target CVBuffer object.
      • CVBufferPropagateAttachments

        public static void CVBufferPropagateAttachments​(CVBufferRef sourceBuffer,
                                                        CVBufferRef destinationBuffer)
        [@function] CVBufferPropagateAttachments Copy all propagatable attachments from one buffer to another. CVBufferPropagateAttachments is a convenience call that copies all attachments with a mode of kCVAttachmentMode_ShouldPropagate from one buffer to another.
        Parameters:
        sourceBuffer - CVBuffer to copy attachments from.
        destinationBuffer - CVBuffer to copy attachments to.
      • CVImageBufferGetEncodedSize

        public static CGSize CVImageBufferGetEncodedSize​(CVBufferRef imageBuffer)
        [@function] CVImageBufferGetEncodedSize Returns the full encoded dimensions of a CVImageBuffer. For example, for an NTSC DV frame this would be 720x480
        Parameters:
        imageBuffer - A CVImageBuffer that you wish to retrieve the encoded size from.
        Returns:
        A CGSize returning the full encoded size of the buffer Returns zero size if called with a non-CVImageBufferRef type or NULL.
      • CVImageBufferGetDisplaySize

        public static CGSize CVImageBufferGetDisplaySize​(CVBufferRef imageBuffer)
        [@function] CVImageBufferGetDisplaySize Returns the nominal output display size (in square pixels) of a CVImageBuffer. For example, for an NTSC DV frame this would be 640x480
        Parameters:
        imageBuffer - A CVImageBuffer that you wish to retrieve the display size from.
        Returns:
        A CGSize returning the nominal display size of the buffer Returns zero size if called with a non-CVImageBufferRef type or NULL.
      • CVImageBufferGetCleanRect

        public static CGRect CVImageBufferGetCleanRect​(CVBufferRef imageBuffer)
        [@function] CVImageBufferGetCleanRect Returns the source rectangle of a CVImageBuffer that represents the clean aperture of the buffer in encoded pixels. For example, an NTSC DV frame would return a CGRect with an origin of 8,0 and a size of 704,480. Note that the origin of this rect always the lower left corner. This is the same coordinate system as used by CoreImage.
        Parameters:
        imageBuffer - A CVImageBuffer that you wish to retrieve the display size from.
        Returns:
        A CGSize returning the nominal display size of the buffer Returns zero rect if called with a non-CVImageBufferRef type or NULL.
      • CVImageBufferIsFlipped

        public static byte CVImageBufferIsFlipped​(CVBufferRef imageBuffer)
        [@function] CVImageBufferIsFlipped Returns whether the image is flipped vertically or not.
        Parameters:
        CVImageBuffer - target
        Returns:
        True if 0,0 in the texture is upper left, false if 0,0 is lower left.
      • CVPixelBufferGetTypeID

        public static long CVPixelBufferGetTypeID()
      • CVPixelBufferRetain

        public static CVBufferRef CVPixelBufferRetain​(CVBufferRef texture)
        [@function] CVPixelBufferRetain Retains a CVPixelBuffer object Equivalent to CFRetain, but NULL safe
        Parameters:
        buffer - A CVPixelBuffer object that you want to retain.
        Returns:
        A CVPixelBuffer object that is the same as the passed in buffer.
      • CVPixelBufferRelease

        public static void CVPixelBufferRelease​(CVBufferRef texture)
        [@function] CVPixelBufferRelease Releases a CVPixelBuffer object Equivalent to CFRelease, but NULL safe
        Parameters:
        buffer - A CVPixelBuffer object that you want to release.
      • CVPixelBufferCreateResolvedAttributesDictionary

        public static int CVPixelBufferCreateResolvedAttributesDictionary​(CFAllocatorRef allocator,
                                                                          CFArrayRef attributes,
                                                                          org.moe.natj.general.ptr.Ptr<CFDictionaryRef> resolvedDictionaryOut)
        [@function] CVPixelBufferCreateResolvedAttributesDictionary Takes a CFArray of CFDictionary objects describing various pixel buffer attributes and tries to resolve them into a single dictionary. This is useful when you need to resolve multiple requirements between different potential clients of a buffer.
        Parameters:
        attributes - CFArray of CFDictionaries containing kCVPixelBuffer key/value pairs.
        resolvedDictionaryOut - The resulting dictionary will be placed here.
        Returns:
        Return value that may be useful in discovering why resolution failed.
      • CVPixelBufferCreate

        public static int CVPixelBufferCreate​(CFAllocatorRef allocator,
                                              long width,
                                              long height,
                                              int pixelFormatType,
                                              CFDictionaryRef pixelBufferAttributes,
                                              org.moe.natj.general.ptr.Ptr<CVBufferRef> pixelBufferOut)
        [@function] CVPixelBufferCreate Call to create a single PixelBuffer for a given size and pixelFormatType. Creates a single PixelBuffer for a given size and pixelFormatType. It allocates the necessary memory based on the pixel dimensions, pixelFormatType and extended pixels described in the pixelBufferAttributes. Not all parameters of the pixelBufferAttributes will be used here.
        Parameters:
        width - Width of the PixelBuffer in pixels.
        height - Height of the PixelBuffer in pixels.
        pixelFormatType - Pixel format indentified by its respective OSType.
        pixelBufferAttributes - A dictionary with additional attributes for a pixel buffer. This parameter is optional. See BufferAttributeKeys for more details.
        pixelBufferOut - The new pixel buffer will be returned here
        Returns:
        returns kCVReturnSuccess on success.
      • CVPixelBufferCreateWithBytes

        public static int CVPixelBufferCreateWithBytes​(CFAllocatorRef allocator,
                                                       long width,
                                                       long height,
                                                       int pixelFormatType,
                                                       org.moe.natj.general.ptr.VoidPtr baseAddress,
                                                       long bytesPerRow,
                                                       CoreVideo.Function_CVPixelBufferCreateWithBytes releaseCallback,
                                                       org.moe.natj.general.ptr.VoidPtr releaseRefCon,
                                                       CFDictionaryRef pixelBufferAttributes,
                                                       org.moe.natj.general.ptr.Ptr<CVBufferRef> pixelBufferOut)
        [@function] CVPixelBufferCreateWithBytes Call to create a single PixelBuffer for a given size and pixelFormatType based on a passed in piece of memory. Creates a single PixelBuffer for a given size and pixelFormatType. Not all parameters of the pixelBufferAttributes will be used here. It requires a release callback function that will be called, when the PixelBuffer gets destroyed so that the owner of the pixels can free the memory.
        Parameters:
        width - Width of the PixelBuffer in pixels
        height - Height of the PixelBuffer in pixels
        pixelFormatType - Pixel format indentified by its respective OSType.
        baseAddress - Address of the memory storing the pixels.
        bytesPerRow - Row bytes of the pixel storage memory.
        releaseCallback - CVPixelBufferReleaseBytePointerCallback function that gets called when the PixelBuffer gets destroyed.
        releaseRefCon - User data identifying the PixelBuffer for the release callback.
        pixelBufferAttributes - A dictionary with additional attributes for a a pixel buffer. This parameter is optional. See PixelBufferAttributes for more details.
        pixelBufferOut - The new pixel buffer will be returned here
        Returns:
        returns kCVReturnSuccess on success.
      • CVPixelBufferCreateWithPlanarBytes

        public static int CVPixelBufferCreateWithPlanarBytes​(CFAllocatorRef allocator,
                                                             long width,
                                                             long height,
                                                             int pixelFormatType,
                                                             org.moe.natj.general.ptr.VoidPtr dataPtr,
                                                             long dataSize,
                                                             long numberOfPlanes,
                                                             org.moe.natj.general.ptr.Ptr<org.moe.natj.general.ptr.VoidPtr> planeBaseAddress,
                                                             org.moe.natj.general.ptr.NUIntPtr planeWidth,
                                                             org.moe.natj.general.ptr.NUIntPtr planeHeight,
                                                             org.moe.natj.general.ptr.NUIntPtr planeBytesPerRow,
                                                             CoreVideo.Function_CVPixelBufferCreateWithPlanarBytes releaseCallback,
                                                             org.moe.natj.general.ptr.VoidPtr releaseRefCon,
                                                             CFDictionaryRef pixelBufferAttributes,
                                                             org.moe.natj.general.ptr.Ptr<CVBufferRef> pixelBufferOut)
        [@function] CVPixelBufferCreateWithPlanarBytes Call to create a single PixelBuffer in planar format for a given size and pixelFormatType based on a passed in piece of memory. Creates a single PixelBuffer for a given size and pixelFormatType. Not all parameters of the pixelBufferAttributes will be used here. It requires a release callback function that will be called, when the PixelBuffer gets destroyed so that the owner of the pixels can free the memory.
        Parameters:
        width - Width of the PixelBuffer in pixels
        height - Height of the PixelBuffer in pixels
        pixelFormatType - Pixel format indentified by its respective OSType.
        dataPtr - Pass a pointer to a plane descriptor block, or NULL.
        dataSize - pass size if planes are contiguous, NULL if not.
        numberOfPlanes - Number of planes.
        planeBaseAddress - Array of base addresses for the planes.
        planeWidth - Array of plane widths.
        planeHeight - Array of plane heights.
        planeBytesPerRow - Array of plane bytesPerRow values.
        releaseCallback - CVPixelBufferReleaseBytePointerCallback function that gets called when the PixelBuffer gets destroyed.
        releaseRefCon - User data identifying the PixelBuffer for the release callback.
        pixelBufferAttributes - A dictionary with additional attributes for a a pixel buffer. This parameter is optional. See PixelBufferAttributes for more details.
        pixelBufferOut - The new pixel buffer will be returned here
        Returns:
        returns kCVReturnSuccess on success.
      • CVPixelBufferLockBaseAddress

        public static int CVPixelBufferLockBaseAddress​(CVBufferRef pixelBuffer,
                                                       long lockFlags)
        [@function] CVPixelBufferLockBaseAddress Description Locks the BaseAddress of the PixelBuffer to ensure that the memory is accessible. This API ensures that the CVPixelBuffer is accessible in system memory. This should only be called if the base address is going to be used and the pixel data will be accessed by the CPU.
        Parameters:
        pixelBuffer - Target PixelBuffer.
        lockFlags - See CVPixelBufferLockFlags.
        Returns:
        kCVReturnSuccess if the lock succeeded, or error code on failure
      • CVPixelBufferUnlockBaseAddress

        public static int CVPixelBufferUnlockBaseAddress​(CVBufferRef pixelBuffer,
                                                         long unlockFlags)
        [@function] CVPixelBufferUnlockBaseAddress Description Unlocks the BaseAddress of the PixelBuffer.
        Parameters:
        pixelBuffer - Target PixelBuffer.
        unlockFlags - See CVPixelBufferLockFlags.
        Returns:
        kCVReturnSuccess if the unlock succeeded, or error code on failure
      • CVPixelBufferGetWidth

        public static long CVPixelBufferGetWidth​(CVBufferRef pixelBuffer)
        [@function] CVPixelBufferGetWidth Returns the width of the PixelBuffer.
        Parameters:
        pixelBuffer - Target PixelBuffer.
        Returns:
        Width in pixels.
      • CVPixelBufferGetHeight

        public static long CVPixelBufferGetHeight​(CVBufferRef pixelBuffer)
        [@function] CVPixelBufferGetHeight Returns the height of the PixelBuffer.
        Parameters:
        pixelBuffer - Target PixelBuffer.
        Returns:
        Height in pixels.
      • CVPixelBufferGetPixelFormatType

        public static int CVPixelBufferGetPixelFormatType​(CVBufferRef pixelBuffer)
        [@function] CVPixelBufferGetPixelFormatType Returns the PixelFormatType of the PixelBuffer.
        Parameters:
        pixelBuffer - Target PixelBuffer.
        Returns:
        OSType identifying the pixel format by its type.
      • CVPixelBufferGetBaseAddress

        public static org.moe.natj.general.ptr.VoidPtr CVPixelBufferGetBaseAddress​(CVBufferRef pixelBuffer)
        [@function] CVPixelBufferGetBaseAddress Returns the base address of the PixelBuffer. Retrieving the base address for a PixelBuffer requires that the buffer base address be locked via a successful call to CVPixelBufferLockBaseAddress.
        Parameters:
        pixelBuffer - Target PixelBuffer.
        Returns:
        Base address of the pixels. For chunky buffers, this will return a pointer to the pixel at 0,0 in the buffer For planar buffers this will return a pointer to a PlanarComponentInfo struct (defined in QuickTime).
      • CVPixelBufferGetBytesPerRow

        public static long CVPixelBufferGetBytesPerRow​(CVBufferRef pixelBuffer)
        [@function] CVPixelBufferGetBytesPerRow Returns the rowBytes of the PixelBuffer.
        Parameters:
        pixelBuffer - Target PixelBuffer.
        Returns:
        Bytes per row of the image data. For planar buffers this will return a rowBytes value such that bytesPerRow * height will cover the entire image including all planes.
      • CVPixelBufferGetDataSize

        public static long CVPixelBufferGetDataSize​(CVBufferRef pixelBuffer)
        [@function] CVPixelBufferGetDataSize Returns the data size for contigous planes of the PixelBuffer.
        Parameters:
        pixelBuffer - Target PixelBuffer.
        Returns:
        Data size used in CVPixelBufferCreateWithPlanarBytes.
      • CVPixelBufferIsPlanar

        public static byte CVPixelBufferIsPlanar​(CVBufferRef pixelBuffer)
        [@function] CVPixelBufferIsPlanar Returns if the PixelBuffer is planar.
        Parameters:
        pixelBuffer - Target PixelBuffer.
        Returns:
        True if the PixelBuffer was created using CVPixelBufferCreateWithPlanarBytes.
      • CVPixelBufferGetPlaneCount

        public static long CVPixelBufferGetPlaneCount​(CVBufferRef pixelBuffer)
        [@function] CVPixelBufferGetPlaneCount Returns number of planes of the PixelBuffer.
        Parameters:
        pixelBuffer - Target PixelBuffer.
        Returns:
        Number of planes. Returns 0 for non-planar CVPixelBufferRefs.
      • CVPixelBufferGetWidthOfPlane

        public static long CVPixelBufferGetWidthOfPlane​(CVBufferRef pixelBuffer,
                                                        long planeIndex)
        [@function] CVPixelBufferGetWidthOfPlane Returns the width of the plane at planeIndex in the PixelBuffer. On OSX 10.10 and earlier, or iOS 8 and earlier, calling this function with a non-planar buffer will have undefined behavior.
        Parameters:
        pixelBuffer - Target PixelBuffer.
        planeIndex - Identifying the plane.
        Returns:
        Width in pixels, or 0 for non-planar CVPixelBufferRefs.
      • CVPixelBufferGetHeightOfPlane

        public static long CVPixelBufferGetHeightOfPlane​(CVBufferRef pixelBuffer,
                                                         long planeIndex)
        [@function] CVPixelBufferGetHeightOfPlane Returns the height of the plane at planeIndex in the PixelBuffer. On OSX 10.10 and earlier, or iOS 8 and earlier, calling this function with a non-planar buffer will have undefined behavior.
        Parameters:
        pixelBuffer - Target PixelBuffer.
        planeIndex - Identifying the plane.
        Returns:
        Height in pixels, or 0 for non-planar CVPixelBufferRefs.
      • CVPixelBufferGetBaseAddressOfPlane

        public static org.moe.natj.general.ptr.VoidPtr CVPixelBufferGetBaseAddressOfPlane​(CVBufferRef pixelBuffer,
                                                                                          long planeIndex)
        [@function] CVPixelBufferGetBaseAddressOfPlane Returns the base address of the plane at planeIndex in the PixelBuffer. Retrieving the base address for a PixelBuffer requires that the buffer base address be locked via a successful call to CVPixelBufferLockBaseAddress. On OSX 10.10 and earlier, or iOS 8 and earlier, calling this function with a non-planar buffer will have undefined behavior.
        Parameters:
        pixelBuffer - Target PixelBuffer.
        planeIndex - Identifying the plane.
        Returns:
        Base address of the plane, or NULL for non-planar CVPixelBufferRefs.
      • CVPixelBufferGetBytesPerRowOfPlane

        public static long CVPixelBufferGetBytesPerRowOfPlane​(CVBufferRef pixelBuffer,
                                                              long planeIndex)
        [@function] CVPixelBufferGetBytesPerRowOfPlane Returns the row bytes of the plane at planeIndex in the PixelBuffer. On OSX 10.10 and earlier, or iOS 8 and earlier, calling this function with a non-planar buffer will have undefined behavior.
        Parameters:
        pixelBuffer - Target PixelBuffer.
        planeIndex - Identifying the plane.
        Returns:
        Row bytes of the plane, or NULL for non-planar CVPixelBufferRefs.
      • CVPixelBufferGetExtendedPixels

        public static void CVPixelBufferGetExtendedPixels​(CVBufferRef pixelBuffer,
                                                          org.moe.natj.general.ptr.NUIntPtr extraColumnsOnLeft,
                                                          org.moe.natj.general.ptr.NUIntPtr extraColumnsOnRight,
                                                          org.moe.natj.general.ptr.NUIntPtr extraRowsOnTop,
                                                          org.moe.natj.general.ptr.NUIntPtr extraRowsOnBottom)
        [@function] CVPixelBufferGetExtendedPixels Returns the size of extended pixels of the PixelBuffer. On OSX 10.10 and earlier, or iOS 8 and earlier, calling this function with a non-planar buffer will have undefined behavior.
        Parameters:
        pixelBuffer - Target PixelBuffer.
        extraColumnsOnLeft - Returns the pixel row padding to the left. May be NULL.
        extraRowsOnTop - Returns the pixel row padding to the top. May be NULL.
        extraColumnsOnRight - Returns the pixel row padding to the right. May be NULL.
        extraRowsOnBottom - Returns the pixel row padding to the bottom. May be NULL.
      • CVPixelBufferFillExtendedPixels

        public static int CVPixelBufferFillExtendedPixels​(CVBufferRef pixelBuffer)
        [@function] CVPixelBufferFillExtendedPixels Fills the extended pixels of the PixelBuffer. This function replicates edge pixels to fill the entire extended region of the image.
        Parameters:
        pixelBuffer - Target PixelBuffer.
      • CVPixelBufferPoolGetTypeID

        public static long CVPixelBufferPoolGetTypeID()
      • CVPixelBufferPoolRetain

        public static CVPixelBufferPoolRef CVPixelBufferPoolRetain​(CVPixelBufferPoolRef pixelBufferPool)
        [@function] CVPixelBufferPoolRetain Retains a CVPixelBufferPoolRef object Equivalent to CFRetain, but NULL safe
        Parameters:
        buffer - A CVPixelBufferPoolRef object that you want to retain.
        Returns:
        A CVPixelBufferPoolRef object that is the same as the passed in buffer.
      • CVPixelBufferPoolRelease

        public static void CVPixelBufferPoolRelease​(CVPixelBufferPoolRef pixelBufferPool)
        [@function] CVPixelBufferPoolRelease Releases a CVPixelBufferPoolRef object Equivalent to CFRelease, but NULL safe
        Parameters:
        buffer - A CVPixelBufferPoolRef object that you want to release.
      • CVPixelBufferPoolCreate

        public static int CVPixelBufferPoolCreate​(CFAllocatorRef allocator,
                                                  CFDictionaryRef poolAttributes,
                                                  CFDictionaryRef pixelBufferAttributes,
                                                  org.moe.natj.general.ptr.Ptr<CVPixelBufferPoolRef> poolOut)
        [@function] CVPixelBufferPoolCreate Creates a new Pixel Buffer pool.
        Parameters:
        allocator - The CFAllocatorRef to use for allocating this buffer pool. May be NULL.
        attributes - A CFDictionaryRef containing the attributes to be used for creating new PixelBuffers within the pool.
        poolOut - The newly created pool will be placed here
        Returns:
        Returns kCVReturnSuccess on success
      • CVPixelBufferPoolGetAttributes

        public static CFDictionaryRef CVPixelBufferPoolGetAttributes​(CVPixelBufferPoolRef pool)
        [@function] CVPixelBufferPoolGetAttributes Returns the pool attributes dictionary for a CVPixelBufferPool
        Parameters:
        pool - The CVPixelBufferPoolRef to retrieve the attributes from
        Returns:
        Returns the pool attributes dictionary, or NULL on failure.
      • CVPixelBufferPoolGetPixelBufferAttributes

        public static CFDictionaryRef CVPixelBufferPoolGetPixelBufferAttributes​(CVPixelBufferPoolRef pool)
        [@function] CVPixelBufferPoolGetPixelBufferAttributes Returns the attributes of pixel buffers that will be created from this pool. This function is provided for those cases where you may need to know some information about the buffers that will be created up front.
        Parameters:
        pool - The CVPixelBufferPoolRef to retrieve the attributes from
        Returns:
        Returns the pixel buffer attributes dictionary, or NULL on failure.
      • CVPixelBufferPoolCreatePixelBuffer

        public static int CVPixelBufferPoolCreatePixelBuffer​(CFAllocatorRef allocator,
                                                             CVPixelBufferPoolRef pixelBufferPool,
                                                             org.moe.natj.general.ptr.Ptr<CVBufferRef> pixelBufferOut)
        [@function] CVPixelBufferPoolCreatePixelBuffer Creates a new PixelBuffer object from the pool. The function creates a new (attachment-free) CVPixelBuffer using the pixel buffer attributes specifed during pool creation.
        Parameters:
        allocator - The CFAllocatorRef to use for creating the pixel buffer. May be NULL.
        pool - The CVPixelBufferPool that should create the new CVPixelBuffer.
        pixelBufferOut - The newly created pixel buffer will be placed here
        Returns:
        Returns kCVReturnSuccess on success
      • CVPixelBufferPoolCreatePixelBufferWithAuxAttributes

        public static int CVPixelBufferPoolCreatePixelBufferWithAuxAttributes​(CFAllocatorRef allocator,
                                                                              CVPixelBufferPoolRef pixelBufferPool,
                                                                              CFDictionaryRef auxAttributes,
                                                                              org.moe.natj.general.ptr.Ptr<CVBufferRef> pixelBufferOut)
        [@function] CVPixelBufferPoolCreatePixelBufferWithAuxAttributes Creates a new PixelBuffer object from the pool. This function creates a new CVPixelBuffer using the pixel buffer attributes specified during pool creation and the attributes specified in the auxAttributes parameter.
        Parameters:
        allocator - The CFAllocatorRef to use for creating the pixel buffer. May be NULL.
        pixelBufferPool - The CVPixelBufferPool that should create the new CVPixelBuffer.
        auxAttributes - Attributes describing this specific allocation request. May be NULL.
        pixelBufferOut - The newly created pixel buffer will be placed here
        Returns:
        Returns kCVReturnSuccess on success
      • CVPixelBufferPoolFlush

        public static void CVPixelBufferPoolFlush​(CVPixelBufferPoolRef pool,
                                                  long options)
        [@function] CVPixelBufferPoolFlush Frees as many buffers from the pool as possible. By default, this function will free all aged out buffers. Setting the kCVPixelBufferPoolFlushExcessBuffers flag will cause this call to free all unused buffers regardless of age.
        Parameters:
        pool - The CVPixelBufferPool to be flushed.
        options - Set to kCVPixelBufferPoolFlushExcessBuffers to free all unused buffers regardless of their age.
      • CVOpenGLESTextureGetTypeID

        public static long CVOpenGLESTextureGetTypeID()
      • CVOpenGLESTextureGetTarget

        public static int CVOpenGLESTextureGetTarget​(CVBufferRef image)
        [@function] CVOpenGLESTextureGetTarget Returns the texture target (eg. 2D vs. rect texture extension) of the CVOpenGLESTexture
        Parameters:
        image - Target CVOpenGLESTexture
        Returns:
        OpenGLES texture target
      • CVOpenGLESTextureGetName

        public static int CVOpenGLESTextureGetName​(CVBufferRef image)
        [@function] CVOpenGLESTextureGetName Returns the texture target name of the CVOpenGLESTexture
        Parameters:
        image - Target CVOpenGLESTexture
        Returns:
        OpenGLES texture target name
      • CVOpenGLESTextureIsFlipped

        public static byte CVOpenGLESTextureIsFlipped​(CVBufferRef image)
        [@function] CVOpenGLESTextureIsFlipped Returns whether the image is flipped vertically or not.
        Parameters:
        image - Target CVOpenGLESTexture
        Returns:
        True if 0,0 in the texture is upper left, false if 0,0 is lower left
      • CVOpenGLESTextureCacheGetTypeID

        public static long CVOpenGLESTextureCacheGetTypeID()
        textureAttributes - reserved for future use
      • CVOpenGLESTextureCacheCreate

        public static int CVOpenGLESTextureCacheCreate​(CFAllocatorRef allocator,
                                                       CFDictionaryRef cacheAttributes,
                                                       EAGLContext eaglContext,
                                                       CFDictionaryRef textureAttributes,
                                                       org.moe.natj.general.ptr.Ptr<CVOpenGLESTextureCacheRef> cacheOut)
        [@function] CVOpenGLESTextureCacheCreate Creates a new Texture Cache.
        Parameters:
        allocator - The CFAllocatorRef to use for allocating the cache. May be NULL.
        cacheAttributes - A CFDictionaryRef containing the attributes of the cache itself. May be NULL.
        eaglContext - The OpenGLES 2.0 context into which the texture objects will be created. OpenGLES 1.x contexts are not supported.
        textureAttributes - A CFDictionaryRef containing the attributes to be used for creating the CVOpenGLESTexture objects. May be NULL.
        cacheOut - The newly created texture cache will be placed here
        Returns:
        Returns kCVReturnSuccess on success
      • CVOpenGLESTextureCacheCreateTextureFromImage

        public static int CVOpenGLESTextureCacheCreateTextureFromImage​(CFAllocatorRef allocator,
                                                                       CVOpenGLESTextureCacheRef textureCache,
                                                                       CVBufferRef sourceImage,
                                                                       CFDictionaryRef textureAttributes,
                                                                       int target,
                                                                       int internalFormat,
                                                                       int width,
                                                                       int height,
                                                                       int format,
                                                                       int type,
                                                                       long planeIndex,
                                                                       org.moe.natj.general.ptr.Ptr<CVBufferRef> textureOut)
        [@function] CVOpenGLESTextureCacheCreateTextureFromImage Creates a CVOpenGLESTexture object from an existing CVImageBuffer Creates or returns a cached CVOpenGLESTexture texture object mapped to the CVImageBuffer and associated params. This creates a live binding between the CVImageBuffer and underlying CVOpenGLESTexture texture object. The EAGLContext associated with the cache may be modified, to create, delete, or bind textures. When used as a source texture or GL_COLOR_ATTACHMENT, the CVImageBuffer must be unlocked before rendering. The source or render buffer texture should not be re-used until the rendering has completed. This can be guaranteed by calling glFlush(). Here are some example mappings: Mapping a BGRA buffer as a source texture: CVOpenGLESTextureCacheCreateTextureFromImage(kCFAllocatorDefault, textureCache, pixelBuffer, NULL, GL_TEXTURE_2D, GL_RGBA, width, height, GL_RGBA, GL_UNSIGNED_BYTE, 0, &outTexture); Mapping a BGRA buffer as a renderbuffer: CVOpenGLESTextureCacheCreateTextureFromImage(kCFAllocatorDefault, textureCache, pixelBuffer, NULL, GL_RENDERBUFFER, GL_RGBA8_OES, width, height, GL_RGBA, GL_UNSIGNED_BYTE, 0, &outTexture); Mapping the luma plane of a 420v buffer as a source texture: CVOpenGLESTextureCacheCreateTextureFromImage(kCFAllocatorDefault, textureCache, pixelBuffer, NULL, GL_TEXTURE_2D, GL_LUMINANCE, width, height, GL_LUMINANCE, GL_UNSIGNED_BYTE, 0, &outTexture); Mapping the chroma plane of a 420v buffer as a source texture: CVOpenGLESTextureCacheCreateTextureFromImage(kCFAllocatorDefault, textureCache, pixelBuffer, NULL, GL_TEXTURE_2D, GL_LUMINANCE_ALPHA, width/2, height/2, GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE, 1, &outTexture); Mapping a yuvs buffer as a source texture (note: yuvs/f and 2vuy are unpacked and resampled -- not colorspace converted) CVOpenGLESTextureCacheCreateTextureFromImage(kCFAllocatorDefault, textureCache, pixelBuffer, NULL, GL_TEXTURE_2D, GL_RGB_422_APPLE, width, height, GL_RGB_422_APPLE, GL_UNSIGNED_SHORT_8_8_APPLE, 1, &outTexture);
        Parameters:
        allocator - The CFAllocatorRef to use for allocating the CVOpenGLESTexture object. May be NULL.
        textureCache - The texture cache object that will manage the texture.
        sourceImage - The CVImageBuffer that you want to create a CVOpenGLESTexture from.
        textureAttributes - A CFDictionaryRef containing attributes to be used for creating the CVOpenGLESTexture objects. May be NULL.
        target - Specifies the target texture. GL_TEXTURE_2D and GL_RENDERBUFFER are the only targets currently supported.
        internalFormat - Specifies the number of color components in the texture. Examples are GL_RGBA, GL_LUMINANCE, GL_RGBA8_OES, GL_RG, and GL_RED (NOTE: On GLES3 use GL_R8 instead of GL_RED).
        width - Specifies the width of the texture image.
        height - Specifies the height of the texture image.
        format - Specifies the format of the pixel data. Examples are GL_RGBA and GL_LUMINANCE.
        type - Specifies the data type of the pixel data. Examples are GL_UNSIGNED_BYTE.
        planeIndex - Specifies the plane of the CVImageBuffer to map bind. Ignored for non-planar CVImageBuffers.
        textureOut - The newly created texture object will be placed here.
        Returns:
        Returns kCVReturnSuccess on success
      • CVOpenGLESTextureCacheFlush

        public static void CVOpenGLESTextureCacheFlush​(CVOpenGLESTextureCacheRef textureCache,
                                                       long options)
        [@function] CVOpenGLESTextureCacheFlush Performs internal housekeeping/recycling operations This call must be made periodically to give the texture cache a chance to make OpenGLES calls on the OpenGLES context used to create it in order to do housekeeping operations. The EAGLContext associated with the cache may be used to delete or unbind textures.
        Parameters:
        textureCache - The texture cache object to flush
        options - Currently unused, set to 0.
      • CVPixelFormatDescriptionCreateWithPixelFormatType

        public static CFDictionaryRef CVPixelFormatDescriptionCreateWithPixelFormatType​(CFAllocatorRef allocator,
                                                                                        int pixelFormat)
        Create a description of a pixel format from a provided OSType
      • CVPixelFormatDescriptionArrayCreateWithAllPixelFormatTypes

        public static CFArrayRef CVPixelFormatDescriptionArrayCreateWithAllPixelFormatTypes​(CFAllocatorRef allocator)
        Get a CFArray of CFNumbers containing all known pixel formats as OSTypes
      • CVPixelFormatDescriptionRegisterDescriptionWithPixelFormatType

        public static void CVPixelFormatDescriptionRegisterDescriptionWithPixelFormatType​(CFDictionaryRef description,
                                                                                          int pixelFormat)
        Register a new pixel format with CoreVideo
      • CVMetalTextureGetTypeID

        public static long CVMetalTextureGetTypeID()
      • CVMetalTextureGetTexture

        public static java.lang.Object CVMetalTextureGetTexture​(CVBufferRef image)
        [@function] CVMetalTextureGetTexture Returns the Meta MTLTexture object of the CVMetalTextureRef
        Parameters:
        image - Target CVMetalTexture
        Returns:
        Metal texture
      • CVMetalTextureIsFlipped

        public static byte CVMetalTextureIsFlipped​(CVBufferRef image)
        [@function] CVMetalTextureIsFlipped Returns whether the image is flipped vertically or not.
        Parameters:
        image - Target CVMetalTexture
        Returns:
        True if 0,0 in the texture is upper left, false if 0,0 is lower left
      • CVMetalTextureCacheGetTypeID

        public static long CVMetalTextureCacheGetTypeID()
      • CVMetalTextureCacheCreate

        public static int CVMetalTextureCacheCreate​(CFAllocatorRef allocator,
                                                    CFDictionaryRef cacheAttributes,
                                                    java.lang.Object metalDevice,
                                                    CFDictionaryRef textureAttributes,
                                                    org.moe.natj.general.ptr.Ptr<CVMetalTextureCacheRef> cacheOut)
        [@function] CVMetalTextureCacheCreate Creates a new Texture Cache.
        Parameters:
        allocator - The CFAllocatorRef to use for allocating the cache. May be NULL.
        cacheAttributes - A CFDictionaryRef containing the attributes of the cache itself. May be NULL.
        metalDevice - The Metal device for which the texture objects will be created.
        textureAttributes - A CFDictionaryRef containing the attributes to be used for creating the CVMetalTexture objects. May be NULL.
        cacheOut - The newly created texture cache will be placed here
        Returns:
        Returns kCVReturnSuccess on success
      • CVMetalTextureCacheCreateTextureFromImage

        public static int CVMetalTextureCacheCreateTextureFromImage​(CFAllocatorRef allocator,
                                                                    CVMetalTextureCacheRef textureCache,
                                                                    CVBufferRef sourceImage,
                                                                    CFDictionaryRef textureAttributes,
                                                                    long pixelFormat,
                                                                    long width,
                                                                    long height,
                                                                    long planeIndex,
                                                                    org.moe.natj.general.ptr.Ptr<CVBufferRef> textureOut)
        [@function] CVMetalTextureCacheCreateTextureFromImage Creates a CVMetalTexture object from an existing CVImageBuffer Creates or returns a cached CVMetalTexture texture object mapped to the CVImageBuffer and associated params. This creates a live binding between the CVImageBuffer and underlying CVMetalTexture texture object. Note that CoreVideo does not explicitly declare any pixel format types to be Metal compatible. The assumption is that if the CVPixelBufferMetalCompatibilityKey has been specified, all buffers will be Metal compatible (IOSurface backed), and thus it is the developer's responsibility to choose an appropriate Metal pixel format for the CVPixelBuffers. Here are some example mappings: Mapping a BGRA buffer: CVMetalTextureCacheCreateTextureFromImage(kCFAllocatorDefault, textureCache, pixelBuffer, NULL, MTLPixelFormatBGRA8Unorm, width, height, 0, &outTexture); Mapping the luma plane of a 420v buffer: CVMetalTextureCacheCreateTextureFromImage(kCFAllocatorDefault, textureCache, pixelBuffer, NULL, MTLPixelFormatR8Unorm, width, height, 0, &outTexture); Mapping the chroma plane of a 420v buffer as a source texture: CVMetalTextureCacheCreateTextureFromImage(kCFAllocatorDefault, textureCache, pixelBuffer, NULL, MTLPixelFormatRG8Unorm width/2, height/2, 1, &outTexture); Mapping a yuvs buffer as a source texture (note: yuvs/f and 2vuy are unpacked and resampled -- not colorspace converted) CVMetalTextureCacheCreateTextureFromImage(kCFAllocatorDefault, textureCache, pixelBuffer, NULL, MTLPixelFormatGBGR422, width, height, 1, &outTexture);
        Parameters:
        allocator - The CFAllocatorRef to use for allocating the CVMetalTexture object. May be NULL.
        textureCache - The texture cache object that will manage the texture.
        sourceImage - The CVImageBuffer that you want to create a CVMetalTexture from.
        textureAttributes - A CFDictionaryRef containing attributes to be used for creating the CVMetalTexture objects. May be NULL.
        pixelFormat - Specifies the Metal pixel format.
        width - Specifies the width of the texture image.
        height - Specifies the height of the texture image.
        planeIndex - Specifies the plane of the CVImageBuffer to map bind. Ignored for non-planar CVImageBuffers.
        textureOut - The newly created texture object will be placed here.
        Returns:
        Returns kCVReturnSuccess on success
      • CVMetalTextureCacheFlush

        public static void CVMetalTextureCacheFlush​(CVMetalTextureCacheRef textureCache,
                                                    long options)
        [@function] CVMetalTextureCacheFlush Performs internal housekeeping/recycling operations This call must be made periodically to give the texture cache a chance to do internal housekeeping operations.
        Parameters:
        textureCache - The texture cache object to flush
        options - Currently unused, set to 0.
      • kCVZeroTime

        public static CVTime kCVZeroTime()
      • kCVIndefiniteTime

        public static CVTime kCVIndefiniteTime()
      • kCVBufferPropagatedAttachmentsKey

        public static CFStringRef kCVBufferPropagatedAttachmentsKey()
        The following two keys are useful with the CoreVideo pool and texture cache APIs so that you can specify an initial set of default buffer attachments to automatically be attached to the buffer when it is created.
      • kCVBufferNonPropagatedAttachmentsKey

        public static CFStringRef kCVBufferNonPropagatedAttachmentsKey()
      • kCVBufferMovieTimeKey

        public static CFStringRef kCVBufferMovieTimeKey()
        Generally only available for frames emitted by QuickTime; CFDictionary containing these two keys:
      • kCVBufferTimeValueKey

        public static CFStringRef kCVBufferTimeValueKey()
      • kCVBufferTimeScaleKey

        public static CFStringRef kCVBufferTimeScaleKey()
      • kCVImageBufferCGColorSpaceKey

        public static CFStringRef kCVImageBufferCGColorSpaceKey()
        CGColorSpaceRef
      • kCVImageBufferCleanApertureKey

        public static CFStringRef kCVImageBufferCleanApertureKey()
        CFDictionary containing the following four keys
      • kCVImageBufferCleanApertureWidthKey

        public static CFStringRef kCVImageBufferCleanApertureWidthKey()
        CFNumber
      • kCVImageBufferCleanApertureHeightKey

        public static CFStringRef kCVImageBufferCleanApertureHeightKey()
        CFNumber
      • kCVImageBufferCleanApertureHorizontalOffsetKey

        public static CFStringRef kCVImageBufferCleanApertureHorizontalOffsetKey()
        CFNumber, horizontal offset from center of image buffer
      • kCVImageBufferCleanApertureVerticalOffsetKey

        public static CFStringRef kCVImageBufferCleanApertureVerticalOffsetKey()
        CFNumber, vertical offset from center of image buffer
      • kCVImageBufferPreferredCleanApertureKey

        public static CFStringRef kCVImageBufferPreferredCleanApertureKey()
        CFDictionary containing same keys as kCVImageBufferCleanApertureKey
      • kCVImageBufferFieldCountKey

        public static CFStringRef kCVImageBufferFieldCountKey()
        CFNumber
      • kCVImageBufferFieldDetailKey

        public static CFStringRef kCVImageBufferFieldDetailKey()
        CFString with one of the following four values
      • kCVImageBufferFieldDetailTemporalTopFirst

        public static CFStringRef kCVImageBufferFieldDetailTemporalTopFirst()
        CFString
      • kCVImageBufferFieldDetailTemporalBottomFirst

        public static CFStringRef kCVImageBufferFieldDetailTemporalBottomFirst()
        CFString
      • kCVImageBufferFieldDetailSpatialFirstLineEarly

        public static CFStringRef kCVImageBufferFieldDetailSpatialFirstLineEarly()
        CFString
      • kCVImageBufferFieldDetailSpatialFirstLineLate

        public static CFStringRef kCVImageBufferFieldDetailSpatialFirstLineLate()
        CFString
      • kCVImageBufferPixelAspectRatioKey

        public static CFStringRef kCVImageBufferPixelAspectRatioKey()
        CFDictionary with the following two keys
      • kCVImageBufferPixelAspectRatioHorizontalSpacingKey

        public static CFStringRef kCVImageBufferPixelAspectRatioHorizontalSpacingKey()
        CFNumber
      • kCVImageBufferPixelAspectRatioVerticalSpacingKey

        public static CFStringRef kCVImageBufferPixelAspectRatioVerticalSpacingKey()
        CFNumber
      • kCVImageBufferDisplayDimensionsKey

        public static CFStringRef kCVImageBufferDisplayDimensionsKey()
        CFDictionary with the following two keys
      • kCVImageBufferDisplayWidthKey

        public static CFStringRef kCVImageBufferDisplayWidthKey()
        CFNumber
      • kCVImageBufferDisplayHeightKey

        public static CFStringRef kCVImageBufferDisplayHeightKey()
        CFNumber
      • kCVImageBufferGammaLevelKey

        public static CFStringRef kCVImageBufferGammaLevelKey()
        CFNumber describing the gamma level, used in absence of (or ignorance of) kCVImageBufferTransferFunctionKey
      • kCVImageBufferICCProfileKey

        public static CFStringRef kCVImageBufferICCProfileKey()
        CFData representation of the ICC profile
      • kCVImageBufferYCbCrMatrixKey

        public static CFStringRef kCVImageBufferYCbCrMatrixKey()
        CFString describing the color matrix for YCbCr->RGB. This key can be one of the following values:
      • kCVImageBufferYCbCrMatrix_ITU_R_709_2

        public static CFStringRef kCVImageBufferYCbCrMatrix_ITU_R_709_2()
        CFString
      • kCVImageBufferYCbCrMatrix_ITU_R_601_4

        public static CFStringRef kCVImageBufferYCbCrMatrix_ITU_R_601_4()
        CFString
      • kCVImageBufferYCbCrMatrix_SMPTE_240M_1995

        public static CFStringRef kCVImageBufferYCbCrMatrix_SMPTE_240M_1995()
        CFString
      • kCVImageBufferYCbCrMatrix_DCI_P3

        public static CFStringRef kCVImageBufferYCbCrMatrix_DCI_P3()
        CFString
      • kCVImageBufferYCbCrMatrix_P3_D65

        public static CFStringRef kCVImageBufferYCbCrMatrix_P3_D65()
        CFString
      • kCVImageBufferYCbCrMatrix_ITU_R_2020

        public static CFStringRef kCVImageBufferYCbCrMatrix_ITU_R_2020()
        CFString
      • kCVImageBufferColorPrimariesKey

        public static CFStringRef kCVImageBufferColorPrimariesKey()
        CFString describing the color primaries. This key can be one of the following values
      • kCVImageBufferColorPrimaries_ITU_R_709_2

        public static CFStringRef kCVImageBufferColorPrimaries_ITU_R_709_2()
      • kCVImageBufferColorPrimaries_EBU_3213

        public static CFStringRef kCVImageBufferColorPrimaries_EBU_3213()
      • kCVImageBufferColorPrimaries_SMPTE_C

        public static CFStringRef kCVImageBufferColorPrimaries_SMPTE_C()
      • kCVImageBufferColorPrimaries_P22

        public static CFStringRef kCVImageBufferColorPrimaries_P22()
      • kCVImageBufferColorPrimaries_DCI_P3

        public static CFStringRef kCVImageBufferColorPrimaries_DCI_P3()
      • kCVImageBufferColorPrimaries_P3_D65

        public static CFStringRef kCVImageBufferColorPrimaries_P3_D65()
      • kCVImageBufferColorPrimaries_ITU_R_2020

        public static CFStringRef kCVImageBufferColorPrimaries_ITU_R_2020()
      • kCVImageBufferTransferFunctionKey

        public static CFStringRef kCVImageBufferTransferFunctionKey()
        CFString describing the transfer function. This key can be one of the following values
      • kCVImageBufferTransferFunction_ITU_R_709_2

        public static CFStringRef kCVImageBufferTransferFunction_ITU_R_709_2()
      • kCVImageBufferTransferFunction_SMPTE_240M_1995

        public static CFStringRef kCVImageBufferTransferFunction_SMPTE_240M_1995()
      • kCVImageBufferTransferFunction_UseGamma

        public static CFStringRef kCVImageBufferTransferFunction_UseGamma()
      • kCVImageBufferTransferFunction_ITU_R_2020

        public static CFStringRef kCVImageBufferTransferFunction_ITU_R_2020()
        note: kCVImageBufferTransferFunction_ITU_R_709_2 is equivalent, and preferred
      • kCVImageBufferTransferFunction_SMPTE_ST_428_1

        public static CFStringRef kCVImageBufferTransferFunction_SMPTE_ST_428_1()
      • kCVImageBufferChromaLocationTopFieldKey

        public static CFStringRef kCVImageBufferChromaLocationTopFieldKey()
        CFString with one of the following CFString values
      • kCVImageBufferChromaLocationBottomFieldKey

        public static CFStringRef kCVImageBufferChromaLocationBottomFieldKey()
        CFString with one of the following CFString values
      • kCVImageBufferChromaLocation_Left

        public static CFStringRef kCVImageBufferChromaLocation_Left()
        Chroma sample is horizontally co-sited with the left column of luma samples, but centered vertically.
      • kCVImageBufferChromaLocation_Center

        public static CFStringRef kCVImageBufferChromaLocation_Center()
        Chroma sample is fully centered
      • kCVImageBufferChromaLocation_TopLeft

        public static CFStringRef kCVImageBufferChromaLocation_TopLeft()
        Chroma sample is co-sited with the top-left luma sample.
      • kCVImageBufferChromaLocation_Top

        public static CFStringRef kCVImageBufferChromaLocation_Top()
        Chroma sample is horizontally centered, but co-sited with the top row of luma samples.
      • kCVImageBufferChromaLocation_BottomLeft

        public static CFStringRef kCVImageBufferChromaLocation_BottomLeft()
        Chroma sample is co-sited with the bottom-left luma sample.
      • kCVImageBufferChromaLocation_Bottom

        public static CFStringRef kCVImageBufferChromaLocation_Bottom()
        Chroma sample is horizontally centered, but co-sited with the bottom row of luma samples.
      • kCVImageBufferChromaLocation_DV420

        public static CFStringRef kCVImageBufferChromaLocation_DV420()
        Cr and Cb samples are alternately co-sited with the left luma samples of the same field.
      • kCVImageBufferChromaSubsamplingKey

        public static CFStringRef kCVImageBufferChromaSubsamplingKey()
        CFString/CFNumber with one of the following values
      • kCVImageBufferChromaSubsampling_420

        public static CFStringRef kCVImageBufferChromaSubsampling_420()
      • kCVImageBufferChromaSubsampling_422

        public static CFStringRef kCVImageBufferChromaSubsampling_422()
      • kCVImageBufferChromaSubsampling_411

        public static CFStringRef kCVImageBufferChromaSubsampling_411()
      • kCVImageBufferAlphaChannelIsOpaque

        public static CFStringRef kCVImageBufferAlphaChannelIsOpaque()
        Can be set to kCFBooleanTrue as a hint that the alpha channel is fully opaque. Not used if the pixel format type has no alpha channel.
      • kCVPixelBufferPixelFormatTypeKey

        public static CFStringRef kCVPixelBufferPixelFormatTypeKey()
        A single CFNumber or a CFArray of CFNumbers (OSTypes)
      • kCVPixelBufferMemoryAllocatorKey

        public static CFStringRef kCVPixelBufferMemoryAllocatorKey()
        CFAllocatorRef
      • kCVPixelBufferWidthKey

        public static CFStringRef kCVPixelBufferWidthKey()
        CFNumber
      • kCVPixelBufferHeightKey

        public static CFStringRef kCVPixelBufferHeightKey()
        CFNumber
      • kCVPixelBufferExtendedPixelsLeftKey

        public static CFStringRef kCVPixelBufferExtendedPixelsLeftKey()
        CFNumber
      • kCVPixelBufferExtendedPixelsTopKey

        public static CFStringRef kCVPixelBufferExtendedPixelsTopKey()
        CFNumber
      • kCVPixelBufferExtendedPixelsRightKey

        public static CFStringRef kCVPixelBufferExtendedPixelsRightKey()
        CFNumber
      • kCVPixelBufferExtendedPixelsBottomKey

        public static CFStringRef kCVPixelBufferExtendedPixelsBottomKey()
        CFNumber
      • kCVPixelBufferBytesPerRowAlignmentKey

        public static CFStringRef kCVPixelBufferBytesPerRowAlignmentKey()
        CFNumber
      • kCVPixelBufferCGBitmapContextCompatibilityKey

        public static CFStringRef kCVPixelBufferCGBitmapContextCompatibilityKey()
        CFBoolean
      • kCVPixelBufferCGImageCompatibilityKey

        public static CFStringRef kCVPixelBufferCGImageCompatibilityKey()
        CFBoolean
      • kCVPixelBufferOpenGLCompatibilityKey

        public static CFStringRef kCVPixelBufferOpenGLCompatibilityKey()
        CFBoolean
      • kCVPixelBufferPlaneAlignmentKey

        public static CFStringRef kCVPixelBufferPlaneAlignmentKey()
        CFNumber
      • kCVPixelBufferIOSurfacePropertiesKey

        public static CFStringRef kCVPixelBufferIOSurfacePropertiesKey()
        CFDictionary; presence requests buffer allocation via IOSurface
      • kCVPixelBufferOpenGLESCompatibilityKey

        public static CFStringRef kCVPixelBufferOpenGLESCompatibilityKey()
        CFBoolean
      • kCVPixelBufferMetalCompatibilityKey

        public static CFStringRef kCVPixelBufferMetalCompatibilityKey()
        CFBoolean
      • kCVPixelBufferOpenGLESTextureCacheCompatibilityKey

        public static CFStringRef kCVPixelBufferOpenGLESTextureCacheCompatibilityKey()
      • kCVPixelBufferPoolMinimumBufferCountKey

        public static CFStringRef kCVPixelBufferPoolMinimumBufferCountKey()
        By default, buffers will age out after one second. If required, setting an age of zero will disable the age-out mechanism completely.
      • kCVPixelBufferPoolMaximumBufferAgeKey

        public static CFStringRef kCVPixelBufferPoolMaximumBufferAgeKey()
      • kCVPixelBufferPoolAllocationThresholdKey

        public static CFStringRef kCVPixelBufferPoolAllocationThresholdKey()
        CFNumberRef -- for use only in auxAttributes
      • kCVPixelBufferPoolFreeBufferNotification

        public static CFStringRef kCVPixelBufferPoolFreeBufferNotification()
        kCVPixelBufferPoolFreeBufferNotification is posted if a buffer becomes available after CVPixelBufferPoolCreatePixelBufferWithAuxAttributes has failed due to kCVPixelBufferPoolAllocationThresholdKey. This notification will not be posted by the pool if kCVPixelBufferPoolAllocationThresholdKey has never been passed to CVPixelBufferPoolCreatePixelBufferWithAuxAttributes.
      • kCVOpenGLESTextureCacheMaximumTextureAgeKey

        public static CFStringRef kCVOpenGLESTextureCacheMaximumTextureAgeKey()
        cacheAttributes By default, textures will age out after one second. Setting a maximum texture age of zero will disable the age-out mechanism completely. CVOpenGLESTextureCacheFlush() can be used to force eviction in either case.
      • kCVPixelFormatName

        public static CFStringRef kCVPixelFormatName()
        The canonical name for the format. This should bethe same as the codec name you'd use in QT
      • kCVPixelFormatConstant

        public static CFStringRef kCVPixelFormatConstant()
        QuickTime/QuickDraw Pixel Format Type constant (OSType)
      • kCVPixelFormatCodecType

        public static CFStringRef kCVPixelFormatCodecType()
        This is the codec type constant, i.e. '2vuy' or k422YpCbCr8CodecType
      • kCVPixelFormatFourCC

        public static CFStringRef kCVPixelFormatFourCC()
        This is the equivalent Microsoft FourCC code for this pixel format
      • kCVPixelFormatContainsAlpha

        public static CFStringRef kCVPixelFormatContainsAlpha()
        kCFBooleanTrue indicates that the format contains alpha and some images may be considered transparent; kCFBooleanFalse indicates that there is no alpha and images are always opaque.
      • kCVPixelFormatContainsYCbCr

        public static CFStringRef kCVPixelFormatContainsYCbCr()
        kCFBooleanTrue indicates that the format contains YCbCr data;
      • kCVPixelFormatContainsRGB

        public static CFStringRef kCVPixelFormatContainsRGB()
        kCFBooleanTrue indicates that the format contains RGB data;
      • kCVPixelFormatComponentRange

        public static CFStringRef kCVPixelFormatComponentRange()
      • kCVPixelFormatComponentRange_VideoRange

        public static CFStringRef kCVPixelFormatComponentRange_VideoRange()
      • kCVPixelFormatComponentRange_FullRange

        public static CFStringRef kCVPixelFormatComponentRange_FullRange()
      • kCVPixelFormatComponentRange_WideRange

        public static CFStringRef kCVPixelFormatComponentRange_WideRange()
      • kCVPixelFormatPlanes

        public static CFStringRef kCVPixelFormatPlanes()
        All buffers have one or more image planes. Each plane may contain a single or an interleaved set of components For simplicity sake, pixel formats that are not planar may place the required format keys at the top level dictionary.
      • kCVPixelFormatBlockWidth

        public static CFStringRef kCVPixelFormatBlockWidth()
        Used to assist with allocating memory for pixel formats that don't have an integer value for bytes per pixel Block width is essentially the width in pixels of the smallest "byte addressable" group of pixels This works in close conjunction with BitsPerBlock Examples: 8-bit luminance only, BlockWidth would be 1, BitsPerBlock would be 8 16-bit 1555 RGB, BlockWidth would be 1, BitsPerBlock would be 16 32-bit 8888 ARGB, BlockWidth would be 1, BitsPerBlock would be 32 2vuy (CbYCrY), BlockWidth would be 2, BitsPerBlock would be 32 1-bit bitmap, BlockWidth would be 8, BitsPerBlock would be 8 v210, BlockWidth would be 6, BitsPerBlock would be 128 Values assumed to 1 be one if not present
      • kCVPixelFormatBlockHeight

        public static CFStringRef kCVPixelFormatBlockHeight()
      • kCVPixelFormatBitsPerBlock

        public static CFStringRef kCVPixelFormatBitsPerBlock()
        This value must be present. For simple pixel formats this will be equivalent to the traditional bitsPerPixel value.
      • kCVPixelFormatBlockHorizontalAlignment

        public static CFStringRef kCVPixelFormatBlockHorizontalAlignment()
        Used to state requirements on block multiples. v210 would be '8' here for the horizontal case, to match the standard v210 row alignment value of 48. These may be assumed as 1 if not present.
      • kCVPixelFormatBlockVerticalAlignment

        public static CFStringRef kCVPixelFormatBlockVerticalAlignment()
      • kCVPixelFormatBlackBlock

        public static CFStringRef kCVPixelFormatBlackBlock()
        CFData containing the bit pattern for a block of black pixels. If absent, black is assumed to be all zeros. If present, this should be bitsPerPixel bits long -- if bitsPerPixel is less than a byte, repeat the bit pattern for the full byte.
      • kCVPixelFormatHorizontalSubsampling

        public static CFStringRef kCVPixelFormatHorizontalSubsampling()
        Subsampling information for this plane. Assumed to be '1' if not present.
      • kCVPixelFormatVerticalSubsampling

        public static CFStringRef kCVPixelFormatVerticalSubsampling()
      • kCVPixelFormatOpenGLFormat

        public static CFStringRef kCVPixelFormatOpenGLFormat()
        If present, these two keys describe the OpenGL format and type enums you would use to describe this image plane to OpenGL
      • kCVPixelFormatOpenGLType

        public static CFStringRef kCVPixelFormatOpenGLType()
      • kCVPixelFormatOpenGLInternalFormat

        public static CFStringRef kCVPixelFormatOpenGLInternalFormat()
      • kCVPixelFormatCGBitmapInfo

        public static CFStringRef kCVPixelFormatCGBitmapInfo()
        CGBitmapInfo value, if required
      • kCVPixelFormatQDCompatibility

        public static CFStringRef kCVPixelFormatQDCompatibility()
        Pixel format compatibility flags
      • kCVPixelFormatCGBitmapContextCompatibility

        public static CFStringRef kCVPixelFormatCGBitmapContextCompatibility()
      • kCVPixelFormatCGImageCompatibility

        public static CFStringRef kCVPixelFormatCGImageCompatibility()
      • kCVPixelFormatOpenGLCompatibility

        public static CFStringRef kCVPixelFormatOpenGLCompatibility()
      • kCVPixelFormatOpenGLESCompatibility

        public static CFStringRef kCVPixelFormatOpenGLESCompatibility()
      • kCVPixelFormatFillExtendedPixelsCallback

        public static CFStringRef kCVPixelFormatFillExtendedPixelsCallback()
        The value for this key is a CFData containing a CVFillExtendedPixelsCallBackData struct
      • kCVMetalTextureCacheMaximumTextureAgeKey

        public static CFStringRef kCVMetalTextureCacheMaximumTextureAgeKey()
        cacheAttributes By default, textures will age out after one second. Setting a maximum texture age of zero will disable the age-out mechanism completely. CVMetalTextureCacheFlush() can be used to force eviction in either case.
      • CVYCbCrMatrixGetIntegerCodePointForString

        public static int CVYCbCrMatrixGetIntegerCodePointForString​(CFStringRef yCbCrMatrixString)
        Returns the standard integer code point corresponding to a given CoreVideo YCbCrMatrix constant string (in the kCVImageBufferYCbCrMatrix_... family). Returns 2 (the code point for "unknown") if the string is NULL or not recognized.
      • CVColorPrimariesGetIntegerCodePointForString

        public static int CVColorPrimariesGetIntegerCodePointForString​(CFStringRef colorPrimariesString)
        Returns the standard integer code point corresponding to a given CoreVideo ColorPrimaries constant string (in the kCVImageBufferColorPrimaries_... family). Returns 2 (the code point for "unknown") if the string is NULL or not recognized.
      • CVTransferFunctionGetIntegerCodePointForString

        public static int CVTransferFunctionGetIntegerCodePointForString​(CFStringRef transferFunctionString)
        Returns the standard integer code point corresponding to a given CoreVideo TransferFunction constant string (in the kCVImageBufferTransferFunction_... family). Returns 2 (the code point for "unknown") if the string is NULL or not recognized.
      • CVYCbCrMatrixGetStringForIntegerCodePoint

        public static CFStringRef CVYCbCrMatrixGetStringForIntegerCodePoint​(int yCbCrMatrixCodePoint)
        Returns the CoreVideo YCbCrMatrix constant string (in the kCVImageBufferYCbCrMatrix_... family) corresponding to a given standard integer code point. Returns NULL if the code point is not recognized, or if it is 2 (the code point for "unknown").
      • CVColorPrimariesGetStringForIntegerCodePoint

        public static CFStringRef CVColorPrimariesGetStringForIntegerCodePoint​(int colorPrimariesCodePoint)
        Returns the CoreVideo ColorPrimaries constant string (in the kCVImageBufferColorPrimaries_... family) corresponding to a given standard integer code point. Returns NULL if the code point is not recognized, or if it is 2 (the code point for "unknown").
      • CVTransferFunctionGetStringForIntegerCodePoint

        public static CFStringRef CVTransferFunctionGetStringForIntegerCodePoint​(int transferFunctionCodePoint)
        Returns the CoreVideo TransferFunction constant string (in the kCVImageBufferTransferFunction_... family) corresponding to a given standard integer code point. Returns NULL if the code point is not recognized, or if it is 2 (the code point for "unknown").
      • CVImageBufferCreateColorSpaceFromAttachments

        public static CGColorSpaceRef CVImageBufferCreateColorSpaceFromAttachments​(CFDictionaryRef attachments)
        [@function] CVImageBufferCreateColorSpaceFromAttachments Attempts to synthesize a CGColorSpace from an image buffer's attachments. To generate a CGColorSpace, the attachments dictionary should include values for either: 1. kCVImageBufferICCProfile 2. kCVImageBufferColorPrimariesKey, kCVImageBufferTransferFunctionKey, and kCVImageBufferYCbCrMatrixKey (and possibly kCVImageBufferGammaLevelKey) The client is responsible for releasing the CGColorSpaceRef when it is done with it (CGColorSpaceRelease() or CFRelease())
        Parameters:
        attachments - A CFDictionary of attachments for an image buffer, obtained using CVBufferGetAttachments().
        Returns:
        A CGColorSpaceRef representing the color space of the buffer. Returns NULL if the attachments dictionary does not contain the information required to synthesize a CGColorSpace.
      • CVPixelBufferGetIOSurface

        public static IOSurfaceRef CVPixelBufferGetIOSurface​(CVBufferRef pixelBuffer)
        [@function] CVPixelBufferGetIOSurface Returns the IOSurface backing the pixel buffer, or NULL if it is not backed by an IOSurface.
        Parameters:
        pixelBuffer - Target PixelBuffer.
      • CVPixelBufferCreateWithIOSurface

        public static int CVPixelBufferCreateWithIOSurface​(CFAllocatorRef allocator,
                                                           IOSurfaceRef surface,
                                                           CFDictionaryRef pixelBufferAttributes,
                                                           org.moe.natj.general.ptr.Ptr<CVBufferRef> pixelBufferOut)
        [@function] CVPixelBufferCreateWithIOSurface Call to create a single CVPixelBuffer for a passed-in IOSurface. The CVPixelBuffer will retain the IOSurface. IMPORTANT NOTE: If you are using IOSurface to share CVPixelBuffers between processes and those CVPixelBuffers are allocated via a CVPixelBufferPool, it is important that the CVPixelBufferPool does not reuse CVPixelBuffers whose IOSurfaces are still in use in other processes. CoreVideo and IOSurface will take care of this for if you use IOSurfaceCreateMachPort and IOSurfaceLookupFromMachPort, but NOT if you pass IOSurfaceIDs.
        Parameters:
        surface - The IOSurface to wrap.
        pixelBufferAttributes - A dictionary with additional attributes for a a pixel buffer. This parameter is optional. See PixelBufferAttributes for more details.
        pixelBufferOut - The new pixel buffer will be returned here
        Returns:
        returns kCVReturnSuccess on success.
      • kCVImageBufferTransferFunction_sRGB

        public static CFStringRef kCVImageBufferTransferFunction_sRGB()
        IEC 61966-2-1 sRGB or sYCC
      • kCVImageBufferTransferFunction_SMPTE_ST_2084_PQ

        public static CFStringRef kCVImageBufferTransferFunction_SMPTE_ST_2084_PQ()
      • kCVImageBufferTransferFunction_ITU_R_2100_HLG

        public static CFStringRef kCVImageBufferTransferFunction_ITU_R_2100_HLG()
      • kCVImageBufferMasteringDisplayColorVolumeKey

        public static CFStringRef kCVImageBufferMasteringDisplayColorVolumeKey()
        CFData (24 bytes) containing big-endian data matching payload of ISO/IEC 23008-2:2015(E), D.2.28 Mastering display colour volume SEI message
      • kCVImageBufferContentLightLevelInfoKey

        public static CFStringRef kCVImageBufferContentLightLevelInfoKey()
        CFData (4 bytes) containing big-endian data matching payload of Content Light Level Information SEI message
      • kCVPixelBufferIOSurfaceCoreAnimationCompatibilityKey

        public static CFStringRef kCVPixelBufferIOSurfaceCoreAnimationCompatibilityKey()
        CFBoolean
      • kCVPixelBufferIOSurfaceOpenGLESTextureCompatibilityKey

        public static CFStringRef kCVPixelBufferIOSurfaceOpenGLESTextureCompatibilityKey()
        CFBoolean
      • kCVPixelBufferIOSurfaceOpenGLESFBOCompatibilityKey

        public static CFStringRef kCVPixelBufferIOSurfaceOpenGLESFBOCompatibilityKey()
        CFBoolean
      • kCVMetalTextureUsage

        public static CFStringRef kCVMetalTextureUsage()
        kCVMetalTextureUsage is a property that can be placed on a CVMetalTextureCache to instruct the MTLTextureUsage of the created MTLTexture. Values for this can can be read from MTLTexture.h
      • kCVImageBufferTransferFunction_Linear

        public static CFStringRef kCVImageBufferTransferFunction_Linear()
      • kCVImageBufferAlphaChannelModeKey

        public static CFStringRef kCVImageBufferAlphaChannelModeKey()
      • kCVImageBufferAlphaChannelMode_StraightAlpha

        public static CFStringRef kCVImageBufferAlphaChannelMode_StraightAlpha()
      • kCVImageBufferAlphaChannelMode_PremultipliedAlpha

        public static CFStringRef kCVImageBufferAlphaChannelMode_PremultipliedAlpha()
      • kCVPixelFormatContainsGrayscale

        public static CFStringRef kCVPixelFormatContainsGrayscale()
        kCFBooleanTrue indicates that the format contains Grayscale data;
      • kCVMetalTextureStorageMode

        public static CFStringRef kCVMetalTextureStorageMode()
        kCVMetalTextureStorageMode is a property that can be placed on a CVMetalTextureCache to instruct the MTLTextureStorageMode of the created MTLTexture. Values for this can can be read from MTLTexture.h
      • kCVPixelBufferVersatileBayerKey_BayerPattern

        public static CFStringRef kCVPixelBufferVersatileBayerKey_BayerPattern()
        [@const] kCVPixelBufferVersatileBayerKey_BayerPattern Buffer attachment key for code indicating Bayer pattern (sensel arrangement). Associated attachment is a CFNumber of type kCFNumberSInt32Type. The value follows the semantics of the ProRes RAW bayer_pattern bitstream syntax element, namely 0, 1, 2, or 3, where 0 means the top-left sensel of the frame is red-filtered ("RGGB"); 1 means the top-left sensel of the frame is green-filtered, with the top row alternating between green- and red-filtered sensels ("GRBG"); 2 means the top-left sensel of the frame is green- filtered, with the top row alternating between green- and blue-filtered sensels ("GBRG"); and 3 means the top-left sensel of the frame is blue-filtered ("BGGR"). This attachment applies only to buffers with VersatileBayer formats.
      • kCVPixelBufferProResRAWKey_SenselSitingOffsets

        public static CFStringRef kCVPixelBufferProResRAWKey_SenselSitingOffsets()
        [@const] kCVPixelBufferProResRAWKey_SenselSitingOffsets Buffer attachment key for siting offsets, relative to pixel center, of individual sensels/components constituting each pixel. Associated attachment is CFData containing an array of 8 32-bit floats. The eight CFData array elements specify, in order, the following sensel/component offsets from pixel center: red horizontal offset, red vertical offset, green horizontal offset, green vertical offset, blue horizontal offset, blue vertical offset, alpha horizontal offset, and alpha vertical offset. A positive offset value indicates that the sensel/component lies to the right of or below the center of its pixel, while a negative value indicates that the sensel/component lies to the left of or above the center of its pixel. Horizontal and vertical offset magnitudes are respectively in terms of the spacing between horizontally- and vertically-adjacent pixel centers. This attachment applies only to buffers with the bp64 format, and is optional for those buffers; if not present, all offsets are considered to be 0.
      • kCVPixelBufferProResRAWKey_BlackLevel

        public static CFStringRef kCVPixelBufferProResRAWKey_BlackLevel()
        [@const] kCVPixelBufferProResRAWKey_BlackLevel Buffer attachment key for sensel black level. Associated attachment is a CFNumber of type kCFNumberSInt32Type. The value is the sensel level corresponding to no light exposure. This attachment is required for buffers with either the bp16 or bp64 format.
      • kCVPixelBufferProResRAWKey_WhiteLevel

        public static CFStringRef kCVPixelBufferProResRAWKey_WhiteLevel()
        [@const] kCVPixelBufferProResRAWKey_WhiteLevel Buffer attachment key for sensel white level. Associated attachment is a CFNumber of type kCFNumberSInt32Type. The value is the sensel level corresponding to sensor (or camera A-to-D converter) saturation. This attachment is required for buffers with either the bp16 or bp64 format.
      • kCVPixelBufferProResRAWKey_WhiteBalanceCCT

        public static CFStringRef kCVPixelBufferProResRAWKey_WhiteBalanceCCT()
        [@const] kCVPixelBufferProResRAWKey_WhiteBalanceCCT Buffer attachment key for illuminant correlated color temperature. Associated attachment is a CFNumber of type kCFNumberSInt32Type. The value is the illuminant correlated color temperature (CCT), in kelvins, selected at the time of capture. May be 0, indicating that the CCT is unknown or unspecified. This attachment is optional for buffers with either the bp16 or bp64 format; if not present, the CCT is considered unknown or unspecified.
      • kCVPixelBufferProResRAWKey_WhiteBalanceRedFactor

        public static CFStringRef kCVPixelBufferProResRAWKey_WhiteBalanceRedFactor()
        [@const] kCVPixelBufferProResRAWKey_WhiteBalanceRedFactor Buffer attachment key for white balance red factor. Associated attachment is a CFNumber of type kCFNumberFloat32Type. The value is the white balance multiplication factor for red-filtered sensels. This attachment is required for buffers with either the bp16 or bp64 format.
      • kCVPixelBufferProResRAWKey_WhiteBalanceBlueFactor

        public static CFStringRef kCVPixelBufferProResRAWKey_WhiteBalanceBlueFactor()
        [@const] kCVPixelBufferProResRAWKey_WhiteBalanceBlueFactor Buffer attachment key for white balance blue factor. Associated attachment is a CFNumber of type kCFNumberFloat32Type. The value is the white balance multiplication factor for blue-filtered sensels. This attachment is required for buffers with either the bp16 or bp64 format.
      • kCVPixelBufferProResRAWKey_ColorMatrix

        public static CFStringRef kCVPixelBufferProResRAWKey_ColorMatrix()
        [@const] kCVPixelBufferProResRAWKey_ColorMatrix Buffer attachment key for color translation matrix. Associated attachment is CFData containing an array of 9 32-bit floats. The value is a 3x3 matrix which transforms linear RGB pixel values in the camera native color space to CIE 1931 XYZ values relative to the D65 illuminant, where the matrix entries are stored in the CFData in row-major order. This attachment is required for buffers with either the bp16 or bp64 format.
      • kCVPixelBufferProResRAWKey_GainFactor

        public static CFStringRef kCVPixelBufferProResRAWKey_GainFactor()
        [@const] kCVPixelBufferProResRAWKey_GainFactor Buffer attachment key for gain factor. Associated attachment is a CFNumber of type kCFNumberFloat32Type. The value is the overall gain factor for raw conversion. This attachment is required for buffers with either the bp16 or bp64 format.
      • kCVPixelBufferProResRAWKey_RecommendedCrop

        public static CFStringRef kCVPixelBufferProResRAWKey_RecommendedCrop()
        [@const] kCVPixelBufferProResRAWKey_RecommendedCrop Buffer attachment key for recommended number of pixels/rows to discard from the sides of the image after raw conversion. Associated attachment is CFData containing an array of 4 32-bit floats. The four CFData array elements specify, in order, the recommended number of: pixels to discard from the start (left) of each row of the image; pixels to discard from the end (right) of each row of the image; rows of pixels to discard from the top of the image; and rows of pixels to discard from the bottom of the image. (Pixels/rows are discarded after raw conversion.) This attachment is optional for buffers with either the bp16 or bp64 format; if not present, the recommended crop values are considered to be 0. For buffers with the bp64 format, the values may be nonintegral due to downscaling, in which case the handling of fractional parts is implementation-dependent.