Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios AVCaptureVideoDataOutput P3颜色空间_Ios_Avfoundation_Avcapturesession_Avcapturedevice_Avcapturephotosettings - Fatal编程技术网

Ios AVCaptureVideoDataOutput P3颜色空间

Ios AVCaptureVideoDataOutput P3颜色空间,ios,avfoundation,avcapturesession,avcapturedevice,avcapturephotosettings,Ios,Avfoundation,Avcapturesession,Avcapturedevice,Avcapturephotosettings,是否可以使用AVCaptureVideoDataOutput(或其他方式)以每秒至少30帧的速度在10位P3颜色空间中获取CMSampleBuffers?我可以将AVCaptureSession配置为使用P3颜色空间,但在AVCaptureVideoDataOutput中,委托无法获得比BGRA或YUV420更好的颜色空间,这两种格式都是8位格式。您是否将颜色空间与像素格式混合在一起?P3颜色空间不指定每个元素的大小。P3颜色空间中每个通道可以有8位输出。如果您想要不同的像素格式签出 AVCap

是否可以使用AVCaptureVideoDataOutput(或其他方式)以每秒至少30帧的速度在10位P3颜色空间中获取CMSampleBuffers?我可以将AVCaptureSession配置为使用P3颜色空间,但在AVCaptureVideoDataOutput中,委托无法获得比BGRA或YUV420更好的颜色空间,这两种格式都是8位格式。

您是否将颜色空间与像素格式混合在一起?P3颜色空间不指定每个元素的大小。P3颜色空间中每个通道可以有8位输出。如果您想要不同的像素格式签出

AVCaptureVideoDataOutput.availableVideoCVPixelFormatTypes. 
这将为您提供视频输出可用像素格式的列表。然后可以按如下方式设置像素格式

AVCaptureVideoDataOutput.videoSettings = [kCVPixelBufferPixelFormatTypeKey: pixelFormat]

上次我检查时,唯一可用的是32位BGRA、420v和420f

您能演示一下如何配置AVCaptureSession吗?您只需将sessionPreset设置为.photo即可激活P3颜色空间,它可以工作。但问题是AVCaptureVideoDataOutput无法接收除BGRA32或YUV420以外的任何内容,这两种格式的深度均为8位。使用照片预设来配置非照片
AVCaptureVideoDataOutput
(或使用预设)对此似乎是错误的。如何将
AVCaptureDevice
上的
activeColorSpace
设置为
P3\u D65
?如果您设置的会话预设不是.photo,则无论设置如何,activeColorSpace都将始终为sRGB。是的,显然我将两者混合使用。但我的问题是,为了让P3颜色空间显示比sRGB更多的颜色,它需要更多的位深度。使用8位格式的P3有什么好处吗?使用P3可以获得比sRGB更大的颜色范围,但谨慎颜色的数量不会增加。好的,明白了。但它仍然不是sRGB的超级集合。这很烦人。事实上,所有谨慎的颜色都在sRGB中…P3的扩展色域让你得到各种粗体、浮华和其他不受欢迎的颜色。好吧,更严重的是:颜色空间和像素格式是离散的、独立的概念,但密切相关。P3比sRGB的空间更广,但如果使用8位组件处理P3颜色,则仍然覆盖相同数量的不同颜色(只是一组不同的颜色)。要真正表达SRGB8-8-8的超集,P3空间像素缓冲区需要更深的像素格式,如10位或半浮点组件。