Ссылка 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() -> CFTypeIDObjective 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 = CVPixelBufferObjective 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;Поля
componentInfoYA
CVPlanarComponentInfoструктура, содержащая информацию о компоненте Y буфера.componentInfoCbA
CVPlanarComponentInfoструктура, содержащая информацию о компоненте Cb буфера.componentInfoCrA
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;Поля
componentInfoYA
CVPlanarComponentInfoструктура, содержащая информацию о компоненте Y буфера.componentInfoCbCrA
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;Константы
-
kCVPixelBufferPixelFormatTypeKeykCVPixelBufferPixelFormatTypeKeyОдин или более типов формата пикселя используются для этого буфера. Значение для этого ключа может быть синглом
CFNumberзначение или массив (CFArray) содержа многократныйCFNumberзначения.Для списка общих форматов пикселя посмотрите
Pixel Format Types.Доступный в OS X v10.4 и позже.
-
kCVPixelBufferMemoryAllocatorKeykCVPixelBufferMemoryAllocatorKeyСредство выделения, используемое с этим буфером (тип
CFAllocatorRef).Доступный в OS X v10.4 и позже.
-
kCVPixelBufferWidthKeykCVPixelBufferWidthKeyШирина пиксельного буфера (тип
CFNumber).Доступный в OS X v10.4 и позже.
-
kCVPixelBufferHeightKeykCVPixelBufferHeightKeyВысота пиксельного буфера (тип
CFNumber).Доступный в OS X v10.4 и позже.
-
kCVPixelBufferExtendedPixelsLeftKeykCVPixelBufferExtendedPixelsLeftKeyЧисло пикселей, дополняющих левых изображения (тип
CFNumber).Доступный в OS X v10.4 и позже.
-
kCVPixelBufferExtendedPixelsTopKeykCVPixelBufferExtendedPixelsTopKeyЧисло пикселей, дополняющих вершину изображения (тип
CFNumber).Доступный в OS X v10.4 и позже.
-
kCVPixelBufferExtendedPixelsRightKeykCVPixelBufferExtendedPixelsRightKeyЧисло пикселей, дополняющих право на изображение (тип
CFNumber).Доступный в OS X v10.4 и позже.
-
kCVPixelBufferExtendedPixelsBottomKeykCVPixelBufferExtendedPixelsBottomKeyЧисло пикселей, дополняющих нижнюю часть изображения (тип
CFNumber).Доступный в OS X v10.4 и позже.
-
kCVPixelBufferBytesPerRowAlignmentKeykCVPixelBufferBytesPerRowAlignmentKeyЧисло, указывающее выравнивание числа байтов на строку в пиксельном буфере (тип
CFNumber).Пиксельное число буфера байтов на строку должно быть кратным числом этого числа.
Доступный в OS X v10.4 и позже.
-
kCVPixelBufferCGBitmapContextCompatibilityKeykCVPixelBufferCGBitmapContextCompatibilityKeyБулево значение, указывающее, совместим ли пиксельный буфер с Базовыми Графическими растровыми контекстами (тип
CFBoolean).Доступный в OS X v10.4 и позже.
-
kCVPixelBufferCGImageCompatibilityKeykCVPixelBufferCGImageCompatibilityKeyБулево значение, указывающее, совместим ли пиксельный буфер с
CGImageтипы (типCFBoolean).Доступный в OS X v10.4 и позже.
-
kCVPixelBufferOpenGLCompatibilityKeykCVPixelBufferOpenGLCompatibilityKeyБулево значение, указывающее, совместим ли пиксельный буфер с контекстами OpenGL (тип
CFBoolean).Доступный в OS X v10.4 и позже.
-
kCVPixelBufferPlaneAlignmentKeykCVPixelBufferPlaneAlignmentKeyЧисло, указывающее выравнивание плоскостей в пиксельном буфере (тип
CFNumber).Плоскости запускаются на числе байта, которое является кратным числом этого значения.
Доступный в OS X v10.6 и позже.
-
kCVPixelBufferIOSurfacePropertiesKeykCVPixelBufferIOSurfacePropertiesKeyСловарь, содержащий дополнительные свойства для использования платформой IOSurface (тип
CFDictionary).Обеспечьте значение для этого ключа, если Вы хотите, чтобы Базовое Видео использовало платформу IOSurface для выделения пиксельного буфера. (См. Ссылку Платформы IOSurface.) Обеспечивают пустой словарь для использования опций IOSurface по умолчанию.
Доступный в OS X v10.6 и позже.
Обсуждение
Пиксельный буферный словарь атрибутов является Базовым словарем Основы, содержащим нуль или больше этих ключей и надлежащих значений. Базовое Видео функционирует такой как
CVPixelBufferCreateиCVPixelBufferPoolCreateпризнайте, что пиксельный буфер приписывает словари, чтобы описать, как выделить пиксельные буферы для совместимости с требованиями клиентов. Где многократные клиенты CoreVideo стремятся обмениваться пиксельными буферами,CVPixelBufferCreateResolvedAttributesDictionaryможет использоваться для нахождения общего пиксельного буферного словаря атрибутов, который совместим с пиксельными буферными словарями атрибутов всех клиентов. -
