AVCaptureVideoDataOutput中的`kCVPixelFormatType_128RGBAFloat`不起作用

时间:2015-09-24 06:14:10

标签: ios swift avfoundation

根据this documentationAVCaptureVideoDataOutput应允许通过像素格式选项kCVPixelFormatType_128RGBAFloat将图像捕获为float32 RGBA(总共128位)。

文档说明这可以从iOS 6开始,但它似乎不适用于iOS 9。

let output = AVCaptureVideoDataOutput()
var settings = [kCVPixelBufferPixelFormatTypeKey as NSString:kCVPixelFormatType_128RGBAFloat]
output.videoSettings = settings
output.alwaysDiscardsLateVideoFrames = true

返回

RGfA (1380410945) is not a supported pixel format type.  See AVCaptureOutput.h for a list of supported formats.  Available pixel format types on this platform are (
    420v,
    420f,
    BGRA
).'

This site讨论了一种解决方法,但我无法让此代码在swift 2.0中正常运行。我有一个单独的帖子here尝试更正此代码。

有没有人设法让kCVPixelFormatType_128RGBAFloat在iOS上工作?

1 个答案:

答案 0 :(得分:0)

很可能是未来的格式,目前不受支持。 或者,即使在相机的情况下,它很可能是RGBA 8888表示,其缩放以适合[0..1]范围。

至少当前的相机传感器类型(根据规格表)不支持每通道8位以上作为输出数据。