Ссылка CVPixelBuffer
Базовый Видео пиксельный буфер является буфером изображения, содержащим пиксели в оперативной памяти. Приложения, генерирующие кадры, сжимаясь или распаковывая видео, или с помощью Базового Изображения, могут все использовать Базовые Видео пиксельные буферы.
-
Создает единственный пиксельный буфер для данного размера и формата пикселя.
Объявление
Swift
func CVPixelBufferCreate(_
allocator
: CFAllocator!, _width
: UInt, _height
: UInt, _pixelFormatType
: OSType, _pixelBufferAttributes
: CFDictionary!, _pixelBufferOut
: UnsafeMutablePointer<Unmanaged<CVPixelBuffer>?>) -> CVReturnObjective 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 и позже.
-
CVPixelBufferCreateResolvedAttributesDictionary (_: _: _:) CVPixelBufferCreateResolvedAttributesDictionary
Разрешает массив
CFDictionary
объекты, описывающие различный пиксель, буферизуют атрибуты в единственный словарь.Объявление
Swift
func CVPixelBufferCreateResolvedAttributesDictionary(_
allocator
: CFAllocator!, _attributes
: CFArray!, _resolvedDictionaryOut
: UnsafeMutablePointer<Unmanaged<CFDictionary>?>) -> CVReturnObjective 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>?>) -> CVReturnObjective 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 и позже.
-
CVPixelBufferCreateWithPlanarBytes (_: _: _: _: _: _: _: _: _: _: _: _: _: _: _:) CVPixelBufferCreateWithPlanarBytes
Создает единственный пиксельный буфер в планарном формате для данного размера и формата пикселя, содержащего данные, указанные ячейкой памяти.
Объявление
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>?>) -> CVReturnObjective 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!) -> CVReturnObjective 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!) -> UIntObjective 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) -> UIntObjective 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!) -> UIntObjective 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!) -> UIntObjective 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) -> UIntObjective 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!) -> OSTypeObjective C
OSType CVPixelBufferGetPixelFormatType ( CVPixelBufferRef pixelBuffer );
Параметры
pixelBuffer
Пиксельный буфер, тип формата которого Вы хотите получить.
Возвращаемое значение
Четыре кода символа
OSType
идентификатор для формата пикселя.Обсуждение
Оператор импорта
Objective C
@import CoreVideo;
Swift
import CoreVideo
Доступность
Доступный в OS X v10.4 и позже.
-
Число возвратов плоскостей пиксельного буфера.
Объявление
Swift
func CVPixelBufferGetPlaneCount(_
pixelBuffer
: CVPixelBuffer!) -> UIntObjective 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!) -> UIntObjective 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) -> UIntObjective 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!) -> BooleanObjective 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) -> CVReturnObjective 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) -> CVReturnObjective 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
может использоваться для нахождения общего пиксельного буферного словаря атрибутов, который совместим с пиксельными буферными словарями атрибутов всех клиентов. -