在Android上,可以让相机直接将其输出写入OpenGL纹理(GL_TEXTURE_EXTERNAL_OES类型),从而避免CPU上的缓冲区。
iOS上有这样的事吗?
答案 0 :(得分:3)
您在iOS中从相机获得的输出为CMSampleBufferRef
,内部为CVPixelBufferRef
。 (参见文献here)。版本5的iOS在CoreVideo框架中有CVOpenGLESTextureCache
,允许您使用CVPixelBufferRef
创建OpenGL ES纹理,避免任何副本。
检查Apple开发者网站上的RosyWriter示例,它就在那里。