Цветовое пространство AVCaptureVideoDataOutput P3

Можно ли каким-либо образом получить CMSampleBuffers в 10-битном цветовом пространстве P3 с использованием AVCaptureVideoDataOutput (или как-то иначе?) со скоростью не менее 30 кадров в секунду? Я могу настроить AVCaptureSession для использования цветового пространства P3, но делегат AVCaptureVideoDataOutput не может получить ничего лучше, чем BGRA или YUV420, оба из которых являются 8-битными форматами.


person Deepak Sharma    schedule 18.04.2018    source источник
comment
Можете ли вы показать, как вы настраиваете AVCaptureSession?   -  person Rhythmic Fistman    schedule 19.04.2018
comment
Вам просто нужно установить sessionPreset на .photo, чтобы активировать цветовое пространство P3, это работает. Но проблема в том, что AVCaptureVideoDataOutput не может получить ничего, кроме BGRA32 или YUV420, оба из которых имеют 8-битную глубину.   -  person Deepak Sharma    schedule 19.04.2018
comment
Использование предустановки фотографии для настройки не-фото AVCaptureVideoDataOutput (или вообще использование предустановки) кажется неправильным для этого. Как насчет установки activeColorSpace на AVCaptureDevice на P3_D65?   -  person Rhythmic Fistman    schedule 20.04.2018
comment
Если вы установите sessionPreset, отличный от .photo, activeColorSpace всегда будет sRGB, независимо от настройки.   -  person Deepak Sharma    schedule 20.04.2018


Ответы (1)


Вы смешиваете цветовые пространства с форматами пикселей? Цветовое пространство P3 не определяет размер каждого элемента. Вы можете иметь 8-битный вывод на канал в цветовом пространстве P3. Если вы хотите оформить заказ в другом формате пикселей

AVCaptureVideoDataOutput.availableVideoCVPixelFormatTypes. 

Это даст вам список доступных форматов пикселей для вывода видео. Затем вы можете установить формат пикселей следующим образом

AVCaptureVideoDataOutput.videoSettings = [kCVPixelBufferPixelFormatTypeKey: pixelFormat]

В прошлый раз, когда я проверял, доступны только 32-битные BGRA, 420v и 420f.

person adamfowlerphoto    schedule 20.04.2018
comment
Да, видимо, я смешиваю два. Но мой вопрос заключается в том, что для того, чтобы цветовое пространство P3 отображало больше цветов, чем sRGB, ему нужна большая битовая глубина. Есть ли какая-то польза от работы в P3 с 8-битным форматом? - person Deepak Sharma; 20.04.2018
comment
Вы получите более широкий цветовой диапазон с P3 по сравнению с sRGB, но количество дискретных цветов не увеличится. - person adamfowlerphoto; 20.04.2018
comment
Хорошо понял. Но все же это не супер набор sRGB. Это раздражает. - person Deepak Sharma; 20.04.2018
comment
Действительно, все сдержанные цвета находятся в sRGB… расширенная гамма P3 дает вам всевозможные смелые, кричащие и в остальном невыразительные цвета. - person rickster; 20.04.2018
comment
Хорошо, а если серьезно: цветовое пространство и формат пикселей являются дискретными, независимыми понятиями, но тесно связанными между собой. P3 — это более широкое пространство, чем sRGB, но если вы обращаетесь к цветам P3 с 8-битными компонентами, вы по-прежнему охватываете такое же количество различных цветов (это просто другой набор цветов). Чтобы по-настоящему выразить расширенный набор sRGB 8-8-8, вам нужен более глубокий формат пикселей для вашего пиксельного буфера в пространстве P3, например, 10-битные или полуплавающие компоненты. - person rickster; 20.04.2018