Ссылка CVPixelBufferPool
Пиксельный пул буферов является вспомогательным объектом для управления рядом пиксельных буферных объектов для повторного использования. Пиксельные пулы буферов выделяют много буферов в оперативной памяти, которая может быть снова использована по мере необходимости, избежав повторенных выделений и освобождения, повреждающего производительность.
-
Создает пиксельный пул буферов.
Объявление
Swift
func CVPixelBufferPoolCreate(_allocator: CFAllocator!, _poolAttributes: CFDictionary!, _pixelBufferAttributes: CFDictionary!, _poolOut: UnsafeMutablePointer<Unmanaged<CVPixelBufferPool>?>) -> CVReturnObjective C
CVReturn CVPixelBufferPoolCreate ( CFAllocatorRef allocator, CFDictionaryRef poolAttributes, CFDictionaryRef pixelBufferAttributes, CVPixelBufferPoolRef *poolOut );Параметры
allocatorСредство выделения для использования для выделения этого пула буферов. Передача
NULLуказать средство выделения по умолчанию.poolAttributesБазовый словарь Основы, содержащий атрибуты для этого пиксельного пула буферов. (См.
“Pixel Buffer Pool Attribute Keys”.)pixelBufferAttributesБазовый словарь Основы, содержащий атрибуты, которые будут использоваться для создания нового пикселя, буферизует в пуле. (См.
Pixel Buffer Attribute Keys.)poolOutНа выводе, недавно создаваемом пиксельном пуле буферов. Владение соблюдает Создать Правило.
Возвращаемое значение
Базовое Видео заканчивается код. Посмотрите Базовую Видео Ссылку Констант для возможных значений.
Оператор импорта
Objective C
@import CoreVideo;Swift
import CoreVideoДоступность
Доступный в OS X v10.4 и позже.
-
Создает пиксельный буфер из пиксельного пула буферов.
Объявление
Swift
func CVPixelBufferPoolCreatePixelBuffer(_allocator: CFAllocator!, _pixelBufferPool: CVPixelBufferPool!, _pixelBufferOut: UnsafeMutablePointer<Unmanaged<CVPixelBuffer>?>) -> CVReturnObjective C
CVReturn CVPixelBufferPoolCreatePixelBuffer ( CFAllocatorRef allocator, CVPixelBufferPoolRef pixelBufferPool, CVPixelBufferRef *pixelBufferOut );Параметры
allocatorСредство выделения для использования для создания пиксельного буфера. Передача
NULLуказать средство выделения по умолчанию.pixelBufferPoolПиксельный пул буферов для создания нового пиксельного буфера.
pixelBufferOutНа выводе, недавно создаваемом пиксельном буфере. Владение соблюдает Создать Правило.
Возвращаемое значение
Базовое Видео заканчивается код. Посмотрите Базовую Видео Ссылку Констант для возможных значений.
Обсуждение
Эта функция создает новый пиксельный буфер использование пиксельных буферных атрибутов, указанных во время создания пула. Этот буфер имеет присоединения по умолчанию, как указано в
pixelBufferAttributesпараметрCVPixelBufferPoolCreate(использующий любогоkCVBufferPropagatedAttachmentsKeyилиkCVBufferNonPropagatedAttachmentsKeyатрибуты).Оператор импорта
Objective C
@import CoreVideo;Swift
import CoreVideoДоступность
Доступный в OS X v10.4 и позже.
-
CVPixelBufferPoolCreatePixelBufferWithAuxAttributes (_: _: _: _:) CVPixelBufferPoolCreatePixelBufferWithAuxAttributesСоздает новый пиксельный буфер с некоторыми вспомогательными атрибутами от пула.
Объявление
Swift
func CVPixelBufferPoolCreatePixelBufferWithAuxAttributes(_allocator: CFAllocator!, _pixelBufferPool: CVPixelBufferPool!, _auxAttributes: CFDictionary!, _pixelBufferOut: UnsafeMutablePointer<Unmanaged<CVPixelBuffer>?>) -> CVReturnObjective C
CVReturn CVPixelBufferPoolCreatePixelBufferWithAuxAttributes ( CFAllocatorRef allocator, CVPixelBufferPoolRef pixelBufferPool, CFDictionaryRef auxAttributes, CVPixelBufferRef *pixelBufferOut );Параметры
allocatorCFAllocatorRefиспользовать для создания нового пиксельного буфера. Этот параметр может бытьNULL.pixelBufferPoolCVPixelBufferPoolэто должно создать новоеCVPixelBufferRefобъект.auxAttributesСловарь вспомогательных атрибутов, описывающих этот определенный запрос выделения. Этот параметр может быть
NULL. Для списка возможных ключей посмотрите Пиксельный Пул буферов Вспомогательные Ключи Атрибута.pixelBufferOutСсылка на a
CVPixelBufferRefкуда будет помещен недавно создаваемый пиксельный буфер.Возвращаемое значение
Базовое Видео заканчивается код. Посмотрите Базовую Видео Ссылку Констант для возможных значений.
Обсуждение
Эта функция создает новое
CVPixelBufferRefобъект с помощью пикселя буферизует атрибуты, указанные во время создания пула и атрибутов, указанных вauxAttributesпараметр.Оператор импорта
Objective C
@import CoreVideo;Swift
import CoreVideoДоступность
Доступный в OS X v10.7 и позже.
-
Возвращается пул приписывает словарь для пиксельного пула буферов.
Объявление
Swift
func CVPixelBufferPoolGetAttributes(_pool: CVPixelBufferPool!) -> Unmanaged<CFDictionary>!Objective C
CFDictionaryRef CVPixelBufferPoolGetAttributes ( CVPixelBufferPoolRef pool );Параметры
poolПиксельный пул буферов, атрибуты которого должны быть получены.
Возвращаемое значение
Базовый словарь Основы, содержащий атрибуты пула, или
NULLпри отказе.Оператор импорта
Objective C
@import CoreVideo;Swift
import CoreVideoДоступность
Доступный в OS X v10.4 и позже.
-
Возвращает атрибуты пиксельных буферов, которые будут создаваться из этого пула.
Объявление
Swift
func CVPixelBufferPoolGetPixelBufferAttributes(_pool: CVPixelBufferPool!) -> Unmanaged<CFDictionary>!Objective C
CFDictionaryRef CVPixelBufferPoolGetPixelBufferAttributes ( CVPixelBufferPoolRef pool );Параметры
poolПиксельный пул буферов, атрибуты которого должны быть получены.
Возвращаемое значение
Базовый словарь Основы, содержащий пиксель, буферизует атрибуты, или
NULLпри отказе.Обсуждение
Используйте эту функцию для получения информации о буферах, которые будут создаваться для Вас.
Оператор импорта
Objective C
@import CoreVideo;Swift
import CoreVideoДоступность
Доступный в OS X v10.4 и позже.
-
Возвращает Базовый идентификатор типа Основы пиксельного типа пула буферов.
Объявление
Swift
func CVPixelBufferPoolGetTypeID() -> CFTypeIDObjective C
CFTypeID CVPixelBufferPoolGetTypeID ( void );Возвращаемое значение
Базовый идентификатор типа Основы для этого типа.
Оператор импорта
Objective C
@import CoreVideo;Swift
import CoreVideoДоступность
Доступный в OS X v10.4 и позже.
-
Выпускает пиксельный пул буферов.
Объявление
Objective C
void CVPixelBufferPoolRelease ( CVPixelBufferPoolRef pixelBufferPool );Параметры
pixelBufferPoolПиксельный пул буферов, который Вы хотите выпустить.
Обсуждение
Эта функция эквивалентна
CFRelease, ноNULLбезопасный.Оператор импорта
Objective C
@import CoreVideo;Доступность
Доступный в OS X v10.4 и позже.
-
Сохраняет пиксельный пул буферов.
Объявление
Objective C
CVPixelBufferPoolRef CVPixelBufferPoolRetain ( CVPixelBufferPoolRef pixelBufferPool );Параметры
bufferПиксельный пул буферов, который Вы хотите сохранить.
Возвращаемое значение
Для удобства, тот же пиксельный пул буферов, который Вы хотели сохранить.
Обсуждение
Эта функция эквивалентна
CFRetain, ноNULLбезопасный.Оператор импорта
Objective C
@import CoreVideo;Доступность
Доступный в OS X v10.4 и позже.
-
Ссылка на пиксельный объект пула буферов.
Объявление
Swift
typealias CVPixelBufferPoolRef = CVPixelBufferPoolObjective C
typedef struct _CVPixelBufferPool *CVPixelBufferPoolRef;Оператор импорта
Objective C
@import CoreVideo;Swift
import CoreVideoДоступность
Доступный в OS X v10.3 и позже.
-
Атрибуты связались с пиксельным пулом буферов.
Объявление
Swift
let kCVPixelBufferPoolMinimumBufferCountKey: CFString! let kCVPixelBufferPoolMaximumBufferAgeKey: CFString!Objective C
const CFStringRef kCVPixelBufferPoolMinimumBufferCountKey; const CFStringRef kCVPixelBufferPoolMaximumBufferAgeKey;Константы
-
kCVPixelBufferPoolMinimumBufferCountKeykCVPixelBufferPoolMinimumBufferCountKeyМинимальное число буферов, позволенных в пиксельном пуле буферов (тип
CFNumber).Доступный в OS X v10.4 и позже.
-
kCVPixelBufferPoolMaximumBufferAgeKeykCVPixelBufferPoolMaximumBufferAgeKeyМаксимальный допустимый возраст для буфера в пиксельном пуле буферов (тип
CFAbsoluteTime).Доступный в OS X v10.4 и позже.
Обсуждение
Вы указываете эти ключи в Базовом словаре Основы при вызывании функций такой как
CVPixelBufferPoolCreate. -
-
Вспомогательные атрибуты, используемые при выделении новых пиксельных буферов с помощью
CVPixelBufferPoolCreatePixelBufferWithAuxAttributesфункция.Объявление
Swift
let kCVPixelBufferPoolAllocationThresholdKey: CFString!Objective C
const CFStringRef kCVPixelBufferPoolAllocationThresholdKey;Константы
-
kCVPixelBufferPoolAllocationThresholdKeykCVPixelBufferPoolAllocationThresholdKeyКогда установлено, значение, связанное с этим ключом, указывает, что новый пиксельный буфер не должен быть выделен, если пул уже имеет это многие или больше пиксельных выделенных буферов. Это не предотвращает буферы, уже выделенные от того, чтобы быть переработанным. Если этот ключ вызывает
CVPixelBufferPoolCreatePixelBufferWithAuxAttributesдля сбоя это возвратитсяkCVReturnWouldExceedAllocationThreshold. (введитеCFNumberRef)Доступный в OS X v10.7 и позже.
-
-
Уведомления отправляются пиксельными пулами буферов.
Объявление
Swift
let kCVPixelBufferPoolFreeBufferNotification: CFString!Objective C
const CFStringRef kCVPixelBufferPoolFreeBufferNotification;Константы
-
kCVPixelBufferPoolFreeBufferNotificationkCVPixelBufferPoolFreeBufferNotificationЕсли буфер становится доступным после, это уведомление отправляется
CVPixelBufferPoolCreatePixelBufferWithAuxAttributesфункция перестала работать вследствие значенияkCVPixelBufferPoolAllocationThresholdKeyключ. Это уведомление не будет отправлено пулом если значение дляkCVPixelBufferPoolAllocationThresholdKeyключ никогда не передавалсяCVPixelBufferPoolCreatePixelBufferWithAuxAttributesфункция.Доступный в OS X v10.7 и позже.
-
