Параметры CIContext для отображения HDR ⇐ IOS
Параметры CIContext для отображения HDR
У меня есть два CIContext, настроенные со следующими параметрами:
let options1:[CIContextOption:Any] = [CIContextOption.cacheIntermediates: false, CIContextOption.outputColorSpace: NSNull(), CIContextOption.workingColorSpace: NSNull()]; let options2:[CIContextOption:Any] = [CIContextOption.cacheIntermediates: false]; И MTKView с CAMetalLayer, настроенным для вывода HDR.
metalLayer = self.layer как? CAMetalLayer MetalLayer?.wantsExtendedDynamicRangeContent = true metalLayer.colorspace = CGColorSpace(имя: CGColorSpace.itur_2100_HLG) цветПиксельФормат = .bgr10a2Unorm Два параметра контекста выдают разные выходные данные, когда входные данные находятся в буферах пикселей BT.2020. Но я считаю, что результаты не должны отличаться. Потому что первый вариант просто отключает управление цветом. Второй выполняет вычисления промежуточного буфера в расширенном линейном цветовом пространстве sRGB, а затем преобразует эти буферы в цветовое пространство BT.2020 на выходе. Отличаются ли результаты из-за потери информации на промежуточном этапе?
Наконец, какой из вариантов является правильным при отображении буферов образцов HDR?
У меня есть два CIContext, настроенные со следующими параметрами:
let options1:[CIContextOption:Any] = [CIContextOption.cacheIntermediates: false, CIContextOption.outputColorSpace: NSNull(), CIContextOption.workingColorSpace: NSNull()]; let options2:[CIContextOption:Any] = [CIContextOption.cacheIntermediates: false]; И MTKView с CAMetalLayer, настроенным для вывода HDR.
metalLayer = self.layer как? CAMetalLayer MetalLayer?.wantsExtendedDynamicRangeContent = true metalLayer.colorspace = CGColorSpace(имя: CGColorSpace.itur_2100_HLG) цветПиксельФормат = .bgr10a2Unorm Два параметра контекста выдают разные выходные данные, когда входные данные находятся в буферах пикселей BT.2020. Но я считаю, что результаты не должны отличаться. Потому что первый вариант просто отключает управление цветом. Второй выполняет вычисления промежуточного буфера в расширенном линейном цветовом пространстве sRGB, а затем преобразует эти буферы в цветовое пространство BT.2020 на выходе. Отличаются ли результаты из-за потери информации на промежуточном этапе?
Наконец, какой из вариантов является правильным при отображении буферов образцов HDR?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение