首先;我不想通过使用 上下文 ;是CIContext,CGContext等。原因是这些方法是内存密集型的,它会导致app扩展的任意内存上限。
已验证方法中返回的缓冲区:
override func processSampleBuffer(_ sampleBuffer: CMSampleBuffer, with
sampleBufferType: RPSampleBufferType) {
类型:
kCVPixelFormatType_420YpCbCr8BiPlanarFullRange
然而,当试图将双平面数据转换为可用图像时,它会变得严重失真或颜色被褪色。
尝试使用libyuv
尝试进行某些转换,但由于缺少文档而感到困惑。尝试创建 I420 缓冲区或 NV12 缓冲区以尝试将其转换为图像但不确定我是否正确执行此操作。
尝试过使用 Metal Framework和vImage 方法,但我还是没有运气。所以寻找一个例子;向正确的方向轻推。