Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Системная ссылка платформы ссылка CVPixelBuffer

Опции
Развертывание Target:

На этой странице
Язык:

Ссылка CVPixelBuffer

Базовый Видео пиксельный буфер является буфером изображения, содержащим пиксели в оперативной памяти. Приложения, генерирующие кадры, сжимаясь или распаковывая видео, или с помощью Базового Изображения, могут все использовать Базовые Видео пиксельные буферы.

Функции

  • Создает единственный пиксельный буфер для данного размера и формата пикселя.

    Объявление

    Swift

    func CVPixelBufferCreate(_ allocator: CFAllocator!, _ width: UInt, _ height: UInt, _ pixelFormatType: OSType, _ pixelBufferAttributes: CFDictionary!, _ pixelBufferOut: UnsafeMutablePointer<Unmanaged<CVPixelBuffer>?>) -> CVReturn

    Objective C

    CVReturn CVPixelBufferCreate ( CFAllocatorRef allocator, size_t width, size_t height, OSType pixelFormatType, CFDictionaryRef pixelBufferAttributes, CVPixelBufferRef *pixelBufferOut );

    Параметры

    allocator

    Средство выделения для использования для создания пиксельного буфера. Передача NULL указать средство выделения по умолчанию.

    width

    Ширина пиксельного буфера, в пикселях.

    height

    Высота пиксельного буфера, в пикселях.

    pixelFormatType

    Формат пикселя, идентифицированный его соответствующим четырьмя кодами символа (тип OSType).

    pixelBufferAttributes

    Словарь с дополнительными атрибутами для пиксельного буфера. Этот параметр является дополнительным. Дополнительную информацию см. в Пиксельных Буферных Ключах Атрибута.

    pixelBufferOut

    На выводе, недавно создаваемом пиксельном буфере. Владение соблюдает Создать Правило.

    Возвращаемое значение

    Базовое Видео заканчивается код. Посмотрите Базовую Видео Ссылку Констант для возможных значений.

    Обсуждение

    Эта функция выделяет необходимую память на основе пиксельных размерностей, формата и расширенных пикселей, описанных в пиксельных атрибутах буфера.

    Некоторые параметры, указанные в этом вызове, переопределяют эквивалентные пиксельные буферные атрибуты. Например, если Вы определяете kCVPixelBufferWidth и kCVPixelBufferHeight ключи в пикселе буферизуют параметр атрибутов (pixelBufferAttributes), эти значения переопределяются width и height параметры.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

  • Разрешает массив CFDictionary объекты, описывающие различный пиксель, буферизуют атрибуты в единственный словарь.

    Объявление

    Swift

    func CVPixelBufferCreateResolvedAttributesDictionary(_ allocator: CFAllocator!, _ attributes: CFArray!, _ resolvedDictionaryOut: UnsafeMutablePointer<Unmanaged<CFDictionary>?>) -> CVReturn

    Objective C

    CVReturn CVPixelBufferCreateResolvedAttributesDictionary ( CFAllocatorRef allocator, CFArrayRef attributes, CFDictionaryRef *resolvedDictionaryOut );

    Параметры

    allocator

    Средство выделения для использования для создания пиксельного буфера. Передача NULL указать средство выделения по умолчанию.

    attributes

    Массив Базовых словарей Основы, содержащих пиксельный буфер, приписывает пары ключ/значение.

    resolvedDictionaryOut

    На выводе, объединенном словаре. Владение соблюдает Создать Правило.

    Возвращаемое значение

    Базовое Видео заканчивается код. Посмотрите Базовую Видео Ссылку Констант для возможных значений.

    Обсуждение

    Когда необходимо разрешить требования между несколькими потенциальными клиентами буфера, этот вызов полезен.

    Если два или больше словаря содержат те же ключевые, но различные значения, эта функция корректирует значения, где возможный так, чтобы выходной словарь содержал взаимно совместимый набор значений. Например, если attributes параметр содержит словари, атрибуты байтов на строку которых отличаются, rowBytes значение в выходном словаре является наименьшим общим кратным входных значений.

    Некоторые несогласованные атрибуты не могут быть разрешены. Если ширины, высоты, средства выделения формата пикселя или обратные вызовы во входных словарях не соответствуют, вызывание этой функции приводит к ошибке.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

  • Создает пиксельный буфер для данного размера и формата пикселя, содержащего данные, указанные ячейкой памяти.

    Объявление

    Swift

    func CVPixelBufferCreateWithBytes(_ allocator: CFAllocator!, _ width: UInt, _ height: UInt, _ pixelFormatType: OSType, _ baseAddress: UnsafeMutablePointer<Void>, _ bytesPerRow: UInt, _ releaseCallback: CVPixelBufferReleaseBytesCallback, _ releaseRefCon: UnsafeMutablePointer<Void>, _ pixelBufferAttributes: CFDictionary!, _ pixelBufferOut: UnsafeMutablePointer<Unmanaged<CVPixelBuffer>?>) -> CVReturn

    Objective C

    CVReturn CVPixelBufferCreateWithBytes ( CFAllocatorRef allocator, size_t width, size_t height, OSType pixelFormatType, void *baseAddress, size_t bytesPerRow, CVPixelBufferReleaseBytesCallback releaseCallback, void *releaseRefCon, CFDictionaryRef pixelBufferAttributes, CVPixelBufferRef *pixelBufferOut );

    Параметры

    allocator

    Средство выделения для использования для создания этого буфера. Передача NULL указать средство выделения по умолчанию.

    width

    Ширина пиксельного буфера, в пикселях.

    height

    Высота пиксельного буфера, в пикселях.

    pixelFormatType

    Формат пикселя, идентифицированный его соответствующими четырьмя кодами символа (тип OSType).

    baseAddress

    Указатель на базовый адрес памяти, хранящей пиксели.

    bytesPerRow

    Байты строки пиксельной памяти хранения.

    releaseCallback

    Функция обратного вызова, которую вызовут, когда уничтожается пиксельный буфер. Этот обратный вызов позволяет владельцу пикселей освобождать память. Посмотрите CVPixelBufferReleaseBytesCallback для получения дополнительной информации.

    releaseRefCon

    Пользовательские данные, идентифицирующие пиксельный буфер. Это значение передается Вашему пиксельному буферному обратному вызову выпуска.

    pixelBufferAttributes

    Базовый словарь Основы с дополнительными атрибутами для пиксельный буфер. Этот параметр является дополнительным. Дополнительную информацию см. в Пиксельных Буферных Ключах Атрибута.

    pixelBufferOut

    На выводе, недавно создаваемом пиксельном буфере. Владение соблюдает Создать Правило.

    Возвращаемое значение

    Базовое Видео заканчивается код. Посмотрите Базовую Видео Ссылку Констант для возможных значений.

    Обсуждение

    Некоторые параметры, указанные в этом вызове, переопределяют эквивалентные пиксельные буферные атрибуты. Например, если Вы определяете kCVPixelBufferWidth и kCVPixelBufferHeight ключи в пикселе буферизуют параметр атрибутов (pixelBufferAttributes), эти значения переопределяются width и height параметры.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

  • Создает единственный пиксельный буфер в планарном формате для данного размера и формата пикселя, содержащего данные, указанные ячейкой памяти.

    Объявление

    Swift

    func CVPixelBufferCreateWithPlanarBytes(_ allocator: CFAllocator!, _ width: UInt, _ height: UInt, _ pixelFormatType: OSType, _ dataPtr: UnsafeMutablePointer<Void>, _ dataSize: UInt, _ numberOfPlanes: UInt, _ planeBaseAddress: UnsafeMutablePointer<UnsafeMutablePointer<Void>>, _ planeWidth: UnsafeMutablePointer<UInt>, _ planeHeight: UnsafeMutablePointer<UInt>, _ planeBytesPerRow: UnsafeMutablePointer<UInt>, _ releaseCallback: CVPixelBufferReleasePlanarBytesCallback, _ releaseRefCon: UnsafeMutablePointer<Void>, _ pixelBufferAttributes: CFDictionary!, _ pixelBufferOut: UnsafeMutablePointer<Unmanaged<CVPixelBuffer>?>) -> CVReturn

    Objective C

    CVReturn CVPixelBufferCreateWithPlanarBytes ( CFAllocatorRef allocator, size_t width, size_t height, OSType pixelFormatType, void *dataPtr, size_t dataSize, size_t numberOfPlanes, void *planeBaseAddress[], size_t planeWidth[], size_t planeHeight[], size_t planeBytesPerRow[], CVPixelBufferReleasePlanarBytesCallback releaseCallback, void *releaseRefCon, CFDictionaryRef pixelBufferAttributes, CVPixelBufferRef *pixelBufferOut );

    Параметры

    allocator

    Средство выделения для использования для создания этого буфера. Передача NULL указать средство выделения по умолчанию.

    width

    Ширина пиксельного буфера, в пикселях.

    height

    Высота пиксельного буфера, в пикселях.

    pixelFormatType

    Формат пикселя, идентифицированный его соответствующим четырьмя кодами символа (тип OSType).

    dataPtr

    Указатель на плоский дескриптор блокирует если применимо, или NULL если это не.

    dataSize

    Размер памяти, если плоскости непрерывны, или NULL если это не.

    numberOfPlanes

    Число плоскостей.

    planeBaseAddress

    Массив базовых адресов для плоскостей.

    planeWidth

    Массив плоских ширин.

    planeHeight

    Массив плоских высот.

    planeBytesPerRow

    Массив плоских значений байтов на строку.

    releaseCallback

    Функция обратного вызова, которую вызывают, когда уничтожается пиксельный буфер. Этот обратный вызов позволяет владельцу пикселей освобождать память. Посмотрите CVPixelBufferReleaseBytesCallback для получения дополнительной информации.

    releaseRefCon

    Указатель на пользовательские данные, идентифицирующие пиксельный буфер. Это значение передается Вашему пиксельному буферному обратному вызову выпуска.

    pixelBufferAttributes

    Словарь с дополнительными атрибутами для пиксельный буфер. Этот параметр является дополнительным. Дополнительную информацию см. в Пиксельных Буферных Ключах Атрибута.

    pixelBufferOut

    На выводе, недавно создаваемом пиксельном буфере. Владение соблюдает Создать Правило.

    Возвращаемое значение

    Базовое Видео заканчивается код. Посмотрите Базовую Видео Ссылку Констант для возможных значений.

    Обсуждение

    Некоторые параметры, указанные в этом вызове, переопределяют эквивалентные пиксельные буферные атрибуты. Например, если Вы определяете kCVPixelBufferWidth и kCVPixelBufferHeight ключи в пикселе буферизуют параметр атрибутов (pixelBufferAttributes), эти значения переопределяются width и height параметры.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

  • Заполняет расширенные пиксели пиксельного буфера.

    Объявление

    Swift

    func CVPixelBufferFillExtendedPixels(_ pixelBuffer: CVPixelBuffer!) -> CVReturn

    Objective C

    CVReturn CVPixelBufferFillExtendedPixels ( CVPixelBufferRef pixelBuffer );

    Параметры

    pixelBuffer

    Пиксельный буфер, расширенные пиксели которого Вы хотите заполнить.

    Возвращаемое значение

    Базовое Видео заканчивается код. Посмотрите Базовую Видео Ссылку Констант для возможных значений.

    Обсуждение

    Эта функция тиражирует краевые пиксели для заполнения всей расширенной области изображения.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

  • Возвращает базовый адрес пиксельного буфера.

    Объявление

    Swift

    func CVPixelBufferGetBaseAddress(_ pixelBuffer: CVPixelBuffer!) -> UnsafeMutablePointer<Void>

    Objective C

    void * CVPixelBufferGetBaseAddress ( CVPixelBufferRef pixelBuffer );

    Параметры

    pixelBuffer

    Пиксельный буфер, базовый адрес которого Вы хотите получить.

    Возвращаемое значение

    Базовый адрес пиксельного буфера.

    Обсуждение

    Указатель, возвращенный этой функцией, зависит от типа буфера и условий, при которых это создавалось.

    • Для коротких буферов, возвращает указатель на пиксель в (0,0) в буфере.

    • Для планарных буферов, возвращает указатель на a CVPlanarComponentInfo структура, или NULL если не присутствует никакая такая структура.

    Поскольку возвращается эта функция NULL для некоторых планарных буферов необходимо вызвать CVPixelBufferGetBaseAddressOfPlane и CVPixelBufferGetBytesPerRowOfPlane получить информацию о планарном буфере.

    Получение базового адреса для пиксельного буфера требует, чтобы буферный базовый адрес был заблокирован с помощью CVPixelBufferLockBaseAddress функция.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

  • Возвращает базовый адрес плоскости в указанном плоском индексе.

    Объявление

    Swift

    func CVPixelBufferGetBaseAddressOfPlane(_ pixelBuffer: CVPixelBuffer!, _ planeIndex: UInt) -> UnsafeMutablePointer<Void>

    Objective C

    void * CVPixelBufferGetBaseAddressOfPlane ( CVPixelBufferRef pixelBuffer, size_t planeIndex );

    Параметры

    pixelBuffer

    Пиксельный буфер, содержащий плоскость, базовый адрес которой Вы хотите получить.

    planeIndex

    Индекс плоскости.

    Возвращаемое значение

    Базовый адрес плоскости, или NULL для непланарных пиксельных буферов.

    Обсуждение

    Получение базового адреса для пиксельного буфера требует, чтобы буферный базовый адрес был заблокирован с помощью CVPixelBufferLockBaseAddress функция.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

  • Возвращает число байтов на строку пиксельного буфера.

    Объявление

    Swift

    func CVPixelBufferGetBytesPerRow(_ pixelBuffer: CVPixelBuffer!) -> UInt

    Objective C

    size_t CVPixelBufferGetBytesPerRow ( CVPixelBufferRef pixelBuffer );

    Параметры

    pixelBuffer

    Пиксельный буфер, значение байтов на строку которого Вы хотите получить.

    Возвращаемое значение

    Число байтов на строку данных изображения. Для планарных буферов эта функция возвращает a rowBytes оцените таким образом что bytesPerRow * height покрывает все изображение, включая все плоскости.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

  • Возвращает число байтов на строку для плоскости в указанном индексе в пиксельном буфере.

    Объявление

    Swift

    func CVPixelBufferGetBytesPerRowOfPlane(_ pixelBuffer: CVPixelBuffer!, _ planeIndex: UInt) -> UInt

    Objective C

    size_t CVPixelBufferGetBytesPerRowOfPlane ( CVPixelBufferRef pixelBuffer, size_t planeIndex );

    Параметры

    pixelBuffer

    Пиксельный буфер, содержащий плоскость.

    planeIndex

    Индекс плоскости, значение байтов на строку которой Вы хотите получить.

    Возвращаемое значение

    Число байтов на строку для плоскости, или NULL для непланарных пиксельных буферов.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

  • Возвращает размер данных для непрерывных плоскостей пиксельного буфера.

    Объявление

    Swift

    func CVPixelBufferGetDataSize(_ pixelBuffer: CVPixelBuffer!) -> UInt

    Objective C

    size_t CVPixelBufferGetDataSize ( CVPixelBufferRef pixelBuffer );

    Параметры

    pixelBuffer

    Пиксельный буфер, размер данных которого Вы хотите получить.

    Возвращаемое значение

    Размер памяти, если плоскости непрерывны, или NULL если это не.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

  • Возвращает сумму расширенного пиксельного дополнения в пиксельном буфере.

    Объявление

    Swift

    func CVPixelBufferGetExtendedPixels(_ pixelBuffer: CVPixelBuffer!, _ extraColumnsOnLeft: UnsafeMutablePointer<UInt>, _ extraColumnsOnRight: UnsafeMutablePointer<UInt>, _ extraRowsOnTop: UnsafeMutablePointer<UInt>, _ extraRowsOnBottom: UnsafeMutablePointer<UInt>)

    Objective C

    void CVPixelBufferGetExtendedPixels ( CVPixelBufferRef pixelBuffer, size_t *extraColumnsOnLeft, size_t *extraColumnsOnRight, size_t *extraRowsOnTop, size_t *extraRowsOnBottom );

    Параметры

    pixelBuffer

    Пиксельный буфер, расширенный размер пикселя которого Вы хотите получить.

    extraColumnsOnLeft

    На выводе, пиксельная строка, дополняющая налево. Передача NULL если Вы не хотите эту информацию.

    extraColumnsOnRight

    На выводе, пиксельная строка, дополняющая вправо. Передача NULL если Вы не хотите эту информацию.

    extraRowsOnTop

    На выводе, пиксельном дополнении строки к вершине. Передача NULL если Вы не хотите эту информацию.

    extraRowsOnBottom

    На выводе, пиксельном дополнении строки к нижней части. Передача NULL если Вы не хотите эту информацию.

    Обсуждение

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

  • Возвращает высоту пиксельного буфера.

    Объявление

    Swift

    func CVPixelBufferGetHeight(_ pixelBuffer: CVPixelBuffer!) -> UInt

    Objective C

    size_t CVPixelBufferGetHeight ( CVPixelBufferRef pixelBuffer );

    Параметры

    pixelBuffer

    Пиксельный буфер, высоту которого Вы хотите получить.

    Возвращаемое значение

    Буферная высота, в пикселях.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

  • Возвращает высоту плоскости в planeIndex в пиксельном буфере.

    Объявление

    Swift

    func CVPixelBufferGetHeightOfPlane(_ pixelBuffer: CVPixelBuffer!, _ planeIndex: UInt) -> UInt

    Objective C

    size_t CVPixelBufferGetHeightOfPlane ( CVPixelBufferRef pixelBuffer, size_t planeIndex );

    Параметры

    pixelBuffer

    Пиксельный буфер, плоскую высоту которого Вы хотите получить.

    planeIndex

    Индекс плоскости.

    Возвращаемое значение

    Высота буфера, в пикселях, или 0 для непланарных пиксельных буферов.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

  • Возвращает тип формата пикселя пиксельного буфера.

    Объявление

    Swift

    func CVPixelBufferGetPixelFormatType(_ pixelBuffer: CVPixelBuffer!) -> OSType

    Objective C

    OSType CVPixelBufferGetPixelFormatType ( CVPixelBufferRef pixelBuffer );

    Параметры

    pixelBuffer

    Пиксельный буфер, тип формата которого Вы хотите получить.

    Возвращаемое значение

    Четыре кода символа OSType идентификатор для формата пикселя.

    Обсуждение

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

  • Число возвратов плоскостей пиксельного буфера.

    Объявление

    Swift

    func CVPixelBufferGetPlaneCount(_ pixelBuffer: CVPixelBuffer!) -> UInt

    Objective C

    size_t CVPixelBufferGetPlaneCount ( CVPixelBufferRef pixelBuffer );

    Параметры

    pixelBuffer

    Пиксельный буфер, плоское количество которого Вы хотите получить.

    Возвращаемое значение

    Число плоскостей. Возвраты 0 для непланарных пиксельных буферов.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

  • Возвращает Базовый идентификатор типа Основы пиксельного буферного типа.

    Объявление

    Swift

    func CVPixelBufferGetTypeID() -> CFTypeID

    Objective C

    CFTypeID CVPixelBufferGetTypeID ( void );

    Возвращаемое значение

    Базовый идентификатор типа Основы для этого типа.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

  • Возвращает ширину пиксельного буфера.

    Объявление

    Swift

    func CVPixelBufferGetWidth(_ pixelBuffer: CVPixelBuffer!) -> UInt

    Objective C

    size_t CVPixelBufferGetWidth ( CVPixelBufferRef pixelBuffer );

    Параметры

    pixelBuffer

    Пиксельный буфер, ширину которого Вы хотите получить.

    Возвращаемое значение

    Ширина буфера, в пикселях.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

  • Возвращает ширину плоскости в данном индексе в пиксельном буфере.

    Объявление

    Swift

    func CVPixelBufferGetWidthOfPlane(_ pixelBuffer: CVPixelBuffer!, _ planeIndex: UInt) -> UInt

    Objective C

    size_t CVPixelBufferGetWidthOfPlane ( CVPixelBufferRef pixelBuffer, size_t planeIndex );

    Параметры

    pixelBuffer

    Пиксельный буфер, плоскую ширину которого Вы хотите получить.

    planeIndex

    Плоский индекс, содержащий значение ширины плоскости.

    Возвращаемое значение

    Ширина плоскости, в пикселях, или 0 для непланарных пиксельных буферов.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

  • Определяет, является ли пиксельный буфер планарным.

    Объявление

    Swift

    func CVPixelBufferIsPlanar(_ pixelBuffer: CVPixelBuffer!) -> Boolean

    Objective C

    Boolean CVPixelBufferIsPlanar ( CVPixelBufferRef pixelBuffer );

    Параметры

    pixelBuffer

    Пиксельный буфер для проверки.

    Возвращаемое значение

    true если пиксельный буфер является планарным; иначе, false.

    Обсуждение

    Планарные буферы могут быть созданы с помощью CVPixelBufferCreateWithPlanarBytes функция.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

  • Блокирует базовый адрес пиксельного буфера.

    Объявление

    Swift

    func CVPixelBufferLockBaseAddress(_ pixelBuffer: CVPixelBuffer!, _ lockFlags: CVOptionFlags) -> CVReturn

    Objective C

    CVReturn CVPixelBufferLockBaseAddress ( CVPixelBufferRef pixelBuffer, CVOptionFlags lockFlags );

    Параметры

    pixelBuffer

    Пиксельный буфер, базовый адрес которого Вы хотите заблокировать.

    lockFlags

    Также kCVPixelBufferLock_ReadOnly или 0; посмотрите Pixel Buffer Locking Flags для обсуждения.

    Возвращаемое значение

    Базовое Видео заканчивается код. Посмотрите Базовую Видео Ссылку Констант для возможных значений.

    Обсуждение

    Необходимо вызвать CVPixelBufferLockBaseAddress функция прежде, чем получить доступ к пиксельным данным с CPU и вызову CVPixelBufferUnlockBaseAddress функция позже. Если Вы включаете kCVPixelBufferLock_ReadOnly значение в lockFlags параметр при блокировке буфера, необходимо также включать его при разблокировании буфера.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

  • Выпускает пиксельный буфер.

    Объявление

    Objective C

    void CVPixelBufferRelease ( CVPixelBufferRef texture );

    Параметры

    buffer

    Пиксельный буфер, который Вы хотите выпустить.

    Обсуждение

    Эта функция эквивалентна CFRelease, но NULL безопасный.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Доступность

    Доступный в OS X v10.4 и позже.

  • Сохраняет пиксельный буфер.

    Объявление

    Objective C

    CVPixelBufferRef CVPixelBufferRetain ( CVPixelBufferRef texture );

    Параметры

    buffer

    Пиксельный буфер, который Вы хотите сохранить.

    Возвращаемое значение

    Для удобства тот же пиксельный буфер Вы хотите сохранить.

    Обсуждение

    Эта функция эквивалентна CFRetain, но NULL безопасный.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Доступность

    Доступный в OS X v10.4 и позже.

  • Разблокировал базовый адрес пиксельного буфера.

    Объявление

    Swift

    func CVPixelBufferUnlockBaseAddress(_ pixelBuffer: CVPixelBuffer!, _ unlockFlags: CVOptionFlags) -> CVReturn

    Objective C

    CVReturn CVPixelBufferUnlockBaseAddress ( CVPixelBufferRef pixelBuffer, CVOptionFlags unlockFlags );

    Параметры

    pixelBuffer

    Пиксельный буфер, базовый адрес которого Вы хотите разблокировать.

    unlockFlags

    Также kCVPixelBufferLock_ReadOnly или 0; посмотрите Pixel Buffer Locking Flags для обсуждения.

    Возвращаемое значение

    Базовое Видео заканчивается код. Посмотрите Базовую Видео Ссылку Констант для возможных значений.

    Обсуждение

    Необходимо вызвать CVPixelBufferLockBaseAddress функция прежде, чем получить доступ к пиксельным данным с CPU и вызову CVPixelBufferUnlockBaseAddress функция позже. Если Вы включаете kCVPixelBufferLock_ReadOnly значение в lockFlags параметр при блокировке буфера, необходимо также включать его при разблокировании буфера.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.4 и позже.

Обратные вызовы

  • Определяет указатель на пиксельную буферную функцию обратного вызова выпуска, которую вызывают когда пиксельный буфер, создаваемый CVPixelBufferCreateWithBytes выпущен.

    Объявление

    Swift

    typealias CVPixelBufferReleaseBytesCallback = CFunctionPointer<((UnsafeMutablePointer<Void>, UnsafePointer<Void>) -> Void)>

    Objective C

    typedef void (*CVPixelBufferReleaseBytesCallback)( void *releaseRefCon, const void *baseAddress );

    Параметры

    releaseRefCon

    Указатель на определенные с помощью приложения данные. Этот указатель совпадает с, который передал в releaseRefCon параметр CVPixelBufferCreateWithBytes.

    baseAddress

    Указатель на базовый адрес памяти, содержащей пиксели. Этот указатель совпадает с, который передал в baseAddress параметр CVPixelBufferCreateWithBytes.

    Обсуждение

    Когда пиксельный буфер выпущен, Вы используете этот обратный вызов, чтобы выпустить пиксели и выполнить любую другую очистку.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.3 и позже.

  • Определяет указатель на пиксельную буферную функцию обратного вызова выпуска, которую вызывают когда пиксельный буфер, создаваемый CVPixelBufferCreateWithPlanarBytes выпущен.

    Объявление

    Swift

    typealias CVPixelBufferReleasePlanarBytesCallback = CFunctionPointer<((UnsafeMutablePointer<Void>, UnsafePointer<Void>, UInt, UInt, UnsafeMutablePointer<UnsafePointer<Void>>) -> Void)>

    Objective C

    typedef void (*CVPixelBufferReleasePlanarBytesCallback)( void *releaseRefCon, const void *dataPtr, size_t dataSize, size_t numberOfPlanes, const void *planeAddresses[] );

    Параметры

    releaseRefCon

    Указатель на определенные с помощью приложения данные. Этот указатель совпадает с, который передал в releaseRefCon параметр CVPixelBufferCreateWithPlanarBytes.

    dataPtr

    Указатель на плоский блок дескриптора. Это - тот же указатель, которому Вы передали CVPixelBufferCreateWithPlanarBytes в dataPtr параметр.

    dataSize

    Значение размера Вы передали CVPixelBufferCreateWithPlanarBytes в dataSize параметр.

    numberOfPlanes

    Число плоскостей оценивает Вас, передал CVPixelBufferCreateWithPlanarBytes в numberOfPlanes параметр.

    planeAddresses

    Указатель на основную плоскость адресует Вас, передал CVPixelBufferCreateWithPlanarBytes в basePlaneAddress параметр.

    Обсуждение

    Когда пиксельный буфер выпущен, Вы используете этот обратный вызов, чтобы выпустить пиксели и выполнить любую другую очистку.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.3 и позже.

Типы данных

  • Ссылка на Базовый Видео пиксель буферизует объект.

    Объявление

    Swift

    typealias CVPixelBufferRef = CVPixelBuffer

    Objective C

    typedef CVImageBufferRef CVPixelBufferRef;

    Обсуждение

    Пиксельная буферная память изображение в оперативной памяти.

    Оператор импорта

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

    Доступный в OS X v10.3 и позже.

  • Структура для описания планарных компонентов.

    Объявление

    Swift

    struct CVPlanarComponentInfo { var offset: Int32 var rowBytes: UInt32 }

    Objective C

    struct CVPlanarComponentInfo { int32_t offset; uint32_t rowBytes; }; typedef struct CVPlanarComponentInfo CVPlanarComponentInfo;

    Поля

    offset

    Смещение от основного базового адреса до базового адреса этой плоскости. (обратный порядок байтов)

    rowBytes

    Число байтов на строку этой плоскости. (обратный порядок байтов)

    Обсуждение

    В зависимости от того, как они создавались, планарные пиксельные буферы могут или могут не иметь этого дескриптора в своем базовом адресе. Поэтому необходимо использовать CVPixelBufferGetBaseAddressOfPlane и CVPixelBufferGetBytesPerRowOfPlane получить информацию о планарном пиксельном буфере.

    Доступность

    Доступный в OS X v10.5 и позже.

  • Структура для описания планарных буферов.

    Объявление

    Swift

    struct CVPlanarPixelBufferInfo { var componentInfo: (CVPlanarComponentInfo) }

    Objective C

    struct CVPlanarPixelBufferInfo { CVPlanarComponentInfo componentInfo[1]; }; typedef struct CVPlanarPixelBufferInfo CVPlanarPixelBufferInfo;

    Поля

    componentInfo

    Массив, содержащий a CVPlanarComponentInfo структура для каждой плоскости буфера.

    Доступность

    Доступный в OS X v10.5 и позже.

  • Структура для описания YCbCr планарные буферы.

    Объявление

    Swift

    struct CVPlanarPixelBufferInfo_YCbCrPlanar { var componentInfoY: CVPlanarComponentInfo var componentInfoCb: CVPlanarComponentInfo var componentInfoCr: CVPlanarComponentInfo }

    Objective C

    struct CVPlanarPixelBufferInfo_YCbCrPlanar { CVPlanarComponentInfo componentInfoY; CVPlanarComponentInfo componentInfoCb; CVPlanarComponentInfo componentInfoCr; }; typedef struct CVPlanarPixelBufferInfo_YCbCrPlanar CVPlanarPixelBufferInfo_YCbCrPlanar;

    Поля

    componentInfoY

    A CVPlanarComponentInfo структура, содержащая информацию о компоненте Y буфера.

    componentInfoCb

    A CVPlanarComponentInfo структура, содержащая информацию о компоненте Cb буфера.

    componentInfoCr

    A CVPlanarComponentInfo структура, содержащая информацию о компоненте Cr буфера.

    Доступность

    Доступный в OS X v10.5 и позже.

  • Структура для описания YCbCr бипланарные буферы.

    Объявление

    Swift

    struct CVPlanarPixelBufferInfo_YCbCrBiPlanar { var componentInfoY: CVPlanarComponentInfo var componentInfoCbCr: CVPlanarComponentInfo }

    Objective C

    struct CVPlanarPixelBufferInfo_YCbCrBiPlanar { CVPlanarComponentInfo componentInfoY; CVPlanarComponentInfo componentInfoCbCr; }; typedef struct CVPlanarPixelBufferInfo_YCbCrBiPlanar CVPlanarPixelBufferInfo_YCbCrBiPlanar;

    Поля

    componentInfoY

    A CVPlanarComponentInfo структура, содержащая информацию о компоненте Y буфера.

    componentInfoCbCr

    A CVPlanarComponentInfo структура, содержащая информацию о компоненте Cb/Cr буфера.

    Доступность

    Доступный в OS X v10.7 и позже.

Константы

  • Атрибуты связались с пиксельным буфером.

    Объявление

    Swift

    let kCVPixelBufferPixelFormatTypeKey: CFString! let kCVPixelBufferMemoryAllocatorKey: CFString! let kCVPixelBufferWidthKey: CFString! let kCVPixelBufferHeightKey: CFString! let kCVPixelBufferExtendedPixelsLeftKey: CFString! let kCVPixelBufferExtendedPixelsTopKey: CFString! let kCVPixelBufferExtendedPixelsRightKey: CFString! let kCVPixelBufferExtendedPixelsBottomKey: CFString! let kCVPixelBufferBytesPerRowAlignmentKey: CFString! let kCVPixelBufferCGBitmapContextCompatibilityKey: CFString! let kCVPixelBufferCGImageCompatibilityKey: CFString! let kCVPixelBufferOpenGLCompatibilityKey: CFString! let kCVPixelBufferPlaneAlignmentKey: CFString! let kCVPixelBufferIOSurfacePropertiesKey: CFString!

    Objective C

    const CFStringRef kCVPixelBufferPixelFormatTypeKey; const CFStringRef kCVPixelBufferMemoryAllocatorKey; const CFStringRef kCVPixelBufferWidthKey; const CFStringRef kCVPixelBufferHeightKey; const CFStringRef kCVPixelBufferExtendedPixelsLeftKey; const CFStringRef kCVPixelBufferExtendedPixelsTopKey; const CFStringRef kCVPixelBufferExtendedPixelsRightKey; const CFStringRef kCVPixelBufferExtendedPixelsBottomKey; const CFStringRef kCVPixelBufferBytesPerRowAlignmentKey; const CFStringRef kCVPixelBufferCGBitmapContextCompatibilityKey; const CFStringRef kCVPixelBufferCGImageCompatibilityKey; const CFStringRef kCVPixelBufferOpenGLCompatibilityKey; const CFStringRef kCVPixelBufferPlaneAlignmentKey; const CFStringRef kCVPixelBufferIOSurfacePropertiesKey;

    Константы

    • kCVPixelBufferPixelFormatTypeKey

      kCVPixelBufferPixelFormatTypeKey

      Один или более типов формата пикселя используются для этого буфера. Значение для этого ключа может быть синглом CFNumber значение или массив (CFArray) содержа многократный CFNumber значения.

      Для списка общих форматов пикселя посмотрите Pixel Format Types.

      Доступный в OS X v10.4 и позже.

    • kCVPixelBufferMemoryAllocatorKey

      kCVPixelBufferMemoryAllocatorKey

      Средство выделения, используемое с этим буфером (тип CFAllocatorRef).

      Доступный в OS X v10.4 и позже.

    • kCVPixelBufferWidthKey

      kCVPixelBufferWidthKey

      Ширина пиксельного буфера (тип CFNumber).

      Доступный в OS X v10.4 и позже.

    • kCVPixelBufferHeightKey

      kCVPixelBufferHeightKey

      Высота пиксельного буфера (тип CFNumber).

      Доступный в OS X v10.4 и позже.

    • kCVPixelBufferExtendedPixelsLeftKey

      kCVPixelBufferExtendedPixelsLeftKey

      Число пикселей, дополняющих левых изображения (тип CFNumber).

      Доступный в OS X v10.4 и позже.

    • kCVPixelBufferExtendedPixelsTopKey

      kCVPixelBufferExtendedPixelsTopKey

      Число пикселей, дополняющих вершину изображения (тип CFNumber).

      Доступный в OS X v10.4 и позже.

    • kCVPixelBufferExtendedPixelsRightKey

      kCVPixelBufferExtendedPixelsRightKey

      Число пикселей, дополняющих право на изображение (тип CFNumber).

      Доступный в OS X v10.4 и позже.

    • kCVPixelBufferExtendedPixelsBottomKey

      kCVPixelBufferExtendedPixelsBottomKey

      Число пикселей, дополняющих нижнюю часть изображения (тип CFNumber).

      Доступный в OS X v10.4 и позже.

    • kCVPixelBufferBytesPerRowAlignmentKey

      kCVPixelBufferBytesPerRowAlignmentKey

      Число, указывающее выравнивание числа байтов на строку в пиксельном буфере (тип CFNumber).

      Пиксельное число буфера байтов на строку должно быть кратным числом этого числа.

      Доступный в OS X v10.4 и позже.

    • kCVPixelBufferCGBitmapContextCompatibilityKey

      kCVPixelBufferCGBitmapContextCompatibilityKey

      Булево значение, указывающее, совместим ли пиксельный буфер с Базовыми Графическими растровыми контекстами (тип CFBoolean).

      Доступный в OS X v10.4 и позже.

    • kCVPixelBufferCGImageCompatibilityKey

      kCVPixelBufferCGImageCompatibilityKey

      Булево значение, указывающее, совместим ли пиксельный буфер с CGImage типы (тип CFBoolean).

      Доступный в OS X v10.4 и позже.

    • kCVPixelBufferOpenGLCompatibilityKey

      kCVPixelBufferOpenGLCompatibilityKey

      Булево значение, указывающее, совместим ли пиксельный буфер с контекстами OpenGL (тип CFBoolean).

      Доступный в OS X v10.4 и позже.

    • kCVPixelBufferPlaneAlignmentKey

      kCVPixelBufferPlaneAlignmentKey

      Число, указывающее выравнивание плоскостей в пиксельном буфере (тип CFNumber).

      Плоскости запускаются на числе байта, которое является кратным числом этого значения.

      Доступный в OS X v10.6 и позже.

    • kCVPixelBufferIOSurfacePropertiesKey

      kCVPixelBufferIOSurfacePropertiesKey

      Словарь, содержащий дополнительные свойства для использования платформой IOSurface (тип CFDictionary).

      Обеспечьте значение для этого ключа, если Вы хотите, чтобы Базовое Видео использовало платформу IOSurface для выделения пиксельного буфера. (См. Ссылку Платформы IOSurface.) Обеспечивают пустой словарь для использования опций IOSurface по умолчанию.

      Доступный в OS X v10.6 и позже.

    Обсуждение

    Пиксельный буферный словарь атрибутов является Базовым словарем Основы, содержащим нуль или больше этих ключей и надлежащих значений. Базовое Видео функционирует такой как CVPixelBufferCreate и CVPixelBufferPoolCreate признайте, что пиксельный буфер приписывает словари, чтобы описать, как выделить пиксельные буферы для совместимости с требованиями клиентов. Где многократные клиенты CoreVideo стремятся обмениваться пиксельными буферами, CVPixelBufferCreateResolvedAttributesDictionary может использоваться для нахождения общего пиксельного буферного словаря атрибутов, который совместим с пиксельными буферными словарями атрибутов всех клиентов.