Ссылка 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 );
Параметры
allocator
CFAllocatorRef
использовать для создания нового пиксельного буфера. Этот параметр может бытьNULL
.pixelBufferPool
CVPixelBufferPool
это должно создать новое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() -> CFTypeID
Objective 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 = CVPixelBufferPool
Objective 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;
Константы
-
kCVPixelBufferPoolMinimumBufferCountKey
kCVPixelBufferPoolMinimumBufferCountKey
Минимальное число буферов, позволенных в пиксельном пуле буферов (тип
CFNumber
).Доступный в OS X v10.4 и позже.
-
kCVPixelBufferPoolMaximumBufferAgeKey
kCVPixelBufferPoolMaximumBufferAgeKey
Максимальный допустимый возраст для буфера в пиксельном пуле буферов (тип
CFAbsoluteTime
).Доступный в OS X v10.4 и позже.
Обсуждение
Вы указываете эти ключи в Базовом словаре Основы при вызывании функций такой как
CVPixelBufferPoolCreate
. -
-
Вспомогательные атрибуты, используемые при выделении новых пиксельных буферов с помощью
CVPixelBufferPoolCreatePixelBufferWithAuxAttributes
функция.Объявление
Swift
let kCVPixelBufferPoolAllocationThresholdKey: CFString!
Objective C
const CFStringRef kCVPixelBufferPoolAllocationThresholdKey;
Константы
-
kCVPixelBufferPoolAllocationThresholdKey
kCVPixelBufferPoolAllocationThresholdKey
Когда установлено, значение, связанное с этим ключом, указывает, что новый пиксельный буфер не должен быть выделен, если пул уже имеет это многие или больше пиксельных выделенных буферов. Это не предотвращает буферы, уже выделенные от того, чтобы быть переработанным. Если этот ключ вызывает
CVPixelBufferPoolCreatePixelBufferWithAuxAttributes
для сбоя это возвратитсяkCVReturnWouldExceedAllocationThreshold
. (введитеCFNumberRef
)Доступный в OS X v10.7 и позже.
-
-
Уведомления отправляются пиксельными пулами буферов.
Объявление
Swift
let kCVPixelBufferPoolFreeBufferNotification: CFString!
Objective C
const CFStringRef kCVPixelBufferPoolFreeBufferNotification;
Константы
-
kCVPixelBufferPoolFreeBufferNotification
kCVPixelBufferPoolFreeBufferNotification
Если буфер становится доступным после, это уведомление отправляется
CVPixelBufferPoolCreatePixelBufferWithAuxAttributes
функция перестала работать вследствие значенияkCVPixelBufferPoolAllocationThresholdKey
ключ. Это уведомление не будет отправлено пулом если значение дляkCVPixelBufferPoolAllocationThresholdKey
ключ никогда не передавалсяCVPixelBufferPoolCreatePixelBufferWithAuxAttributes
функция.Доступный в OS X v10.7 и позже.
-