我正在尝试使用两者CVPixelBufferCreateWithIOSurface
以及通过读取像素来捕获 IOSurface IOSurfaceGetBaseAddressOfPlane
。
但是,在较新的设备(iPhone XS)上,我得到了一个未知的像素格式&wq2
(同样,同时使用IOSurfaceGetPixelFormat
和CVPixelBufferGetPixelFormatType
)。
CVPixelFormatDescriptionCreateWithPixelFormatType
返回以下内容:
@"{\n BitsPerComponent = 10;\n ComponentRange = FullRange;\n ContainsAlpha = 1;\n ContainsGrayscale = 0;\n ContainsRGB = 1;\n ContainsYCbCr = 0;\n PixelFormat = 645346401;\n Planes = (\n {\n BitsPerBlock = 64;\n CompressionType = 2;\n TileHeight = 16;\n TileWidth = 16;\n }\n );\n}"
我的代码在旧设备上完美运行(它BGRA
以像素格式返回),但在我认为是较新设备的情况下分解。如何从这种未记录的格式中解组像素。