Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.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 CVPixelBuffer到NSData并返回_Ios_Objective C_Opengl Es_Avfoundation - Fatal编程技术网

Ios CVPixelBuffer到NSData并返回

Ios CVPixelBuffer到NSData并返回,ios,objective-c,opengl-es,avfoundation,Ios,Objective C,Opengl Es,Avfoundation,刚开始视频处理,我在这里呆了几天 我有一个YUV(YCbCr 4:2:0)格式的CVPixelBufferRef。我使用CVPixelBufferGetBaseAddress获取基址 如何获取基址处的字节并创建一个新的CVPixelBufferRef,一个同样采用YUV格式的CVPixelBufferRef 我试过: CVPixelBufferCreateWithBytes(CFAllocatorGetDefault(),1440900,kCVPixelFormatType_420YPCBCRC

刚开始视频处理,我在这里呆了几天

我有一个YUV(YCbCr 4:2:0)格式的CVPixelBufferRef。我使用CVPixelBufferGetBaseAddress获取基址

如何获取基址处的字节并创建一个新的CVPixelBufferRef,一个同样采用YUV格式的CVPixelBufferRef

我试过:

CVPixelBufferCreateWithBytes(CFAllocatorGetDefault(),1440900,kCVPixelFormatType_420YPCBCRC8biplanarFullRange,currentFrame,2208,NULL,NULL,(pixelBufferAttributes),&imageBuffer)

它创建了一个CVPixelBufferRef,但我不能用它做任何事情(例如,将它转换为CIImage,渲染它,等等)

最终,我的目标是获取从基址调用接收到的字节,并将它们显示在屏幕上。我知道我可以不使用基址调用直接执行此操作,但我有一个限制,仅允许我接收基址字节。

仅供参考

我无法从CVPixelBuffer获取CIImage的原因是它没有iSurface支持。为确保其支持IOSurface,请使用CVPixelBufferCreate,然后使用CVPixelBufferGetBaseAddress(如果是平面数据,则使用CVPixelBufferGetBaseAddressOfPlane)并将字节存储到该地址中


希望这对将来的人有所帮助。

如果您添加示例代码,它将帮助更多:)