Получение QTKit - установка атрибутов DecompressedVideoOutput CVPixelBuffer
Q: Как может я изменять размеры CVImageBufferя становлюсь переданным при использовании метода делегата QTCaptureDecompressedVideoOutput captureOutput:didOutputVideoFrame:withSampleBuffer:fromConnection:?
A: Как может я изменять размеры CVImageBufferя становлюсь переданным при использовании метода делегата QTCaptureDecompressedVideoOutput captureOutput:didOutputVideoFrame:withSampleBuffer:fromConnection:?
Можно попросить, чтобы QTCaptureDecompressedVideoOutput предоставил Вам a CVImageBuffer из определенного размера и формата пикселя с помощью setPixelBufferAttributes: передача метода в NSDictionary с надлежащим kCVPixelBuffer атрибуты определяются.
Если Ваше приложение потребовало 320x240, пиксель ARGB буферизует из QTCaptureDecompressedVideoOutput, Вы могли бы установить атрибуты как показано в следующем примере.
Установка перечисления 1 пиксель QTCaptureDecompressedVideoOutput буферизует атрибуты.
static void SetOutputPixelBufferAttributes(QTCaptureDecompressedVideoOutput *inDecompressedVideoOutput)
{
NSDictionary *attributes = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithDouble:320.0], (id)kCVPixelBufferWidthKey,
[NSNumber numberWithDouble:240.0], (id)kCVPixelBufferHeightKey,
// k32ARGBPixelFormat may be used on Mac OS X 10.4.x
[NSNumber numberWitUnsignedInt:kCVPixelFormatType_32ARGB],
(id)kCVPixelBufferPixelFormatTypeKey,
nil];
[inDecompressedVideoOutput setPixelBufferAttributes:attributes];
} |
Указание пиксельных буферных атрибутов может заставить подключенное устройство захвата изображения автоматически быть реконфигурированным для лучшего соответствия требуемого выходного формата. Преобразования могут также быть необходимыми. Например, преобразование формата пикселя требовалось бы, если устройство захвата изображения еще не имеет режима RGB, данные RGB были запрошены. QTCapture сделает все преобразования для Вас и выберет самый оптимальный видео конвейер для требуемого выходного формата.
Поскольку оптимальная производительность перемещает любое время интенсивные задачи в другой поток, если необходимое резервирование метода делегата распараллеливает для стояния в очереди кадров для обработки и отбрасывания их как требуется.
Ссылки:
История версии документа
| Дата | Примечания |
|---|---|
| 06.03.2008 | Передовая статья |
| 22.01.2008 | Новый документ, описывающий, как сконфигурировать DecompressedVideoOutput, возражает атрибутам CVPixelBuffer. |